Skip to content

Commit 7192cde

Browse files
authored
v0.2.13: fix + improvement + feat
v0.2.13: fix + improvement + feat
2 parents 38f5aae + 8a9bc4e commit 7192cde

File tree

300 files changed

+8064
-5748
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

300 files changed

+8064
-5748
lines changed

.github/CONTRIBUTING.md

Lines changed: 66 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ Thank you for your interest in contributing to Sim Studio! Our goal is to provid
1515
- [Commit Message Guidelines](#commit-message-guidelines)
1616
- [Local Development Setup](#local-development-setup)
1717
- [Adding New Blocks and Tools](#adding-new-blocks-and-tools)
18-
- [Local Storage Mode](#local-storage-mode)
19-
- [Standalone Build](#standalone-build)
2018
- [License](#license)
2119
- [Contributor License Agreement (CLA)](#contributor-license-agreement-cla)
2220

@@ -57,7 +55,7 @@ We strive to keep our workflow as simple as possible. To contribute:
5755
```
5856

5957
7. **Create a Pull Request**
60-
Open a pull request against the `main` branch on GitHub. Please provide a clear description of the changes and reference any relevant issues (e.g., `fixes #123`).
58+
Open a pull request against the `staging` branch on GitHub. Please provide a clear description of the changes and reference any relevant issues (e.g., `fixes #123`).
6159

6260
---
6361

@@ -85,7 +83,7 @@ If you discover a bug or have a feature request, please open an issue in our Git
8583
Before creating a pull request:
8684

8785
- **Ensure Your Branch Is Up-to-Date:**
88-
Rebase your branch onto the latest `main` branch to prevent merge conflicts.
86+
Rebase your branch onto the latest `staging` branch to prevent merge conflicts.
8987
- **Follow the Guidelines:**
9088
Make sure your changes are well-tested, follow our coding standards, and include relevant documentation if necessary.
9189

@@ -209,13 +207,14 @@ Dev Containers provide a consistent and easy-to-use development environment:
209207
210208
3. **Start Developing:**
211209
212-
- Run `bun run dev` in the terminal or use the `sim-start` alias
210+
- Run `bun run dev:full` in the terminal or use the `sim-start` alias
211+
- This starts both the main application and the realtime socket server
213212
- All dependencies and configurations are automatically set up
214213
- Your changes will be automatically hot-reloaded
215214
216215
4. **GitHub Codespaces:**
217216
- This setup also works with GitHub Codespaces if you prefer development in the browser
218-
- Just click "Code""Codespaces""Create codespace on main"
217+
- Just click "Code""Codespaces""Create codespace on staging"
219218
220219
### Option 4: Manual Setup
221220
@@ -246,9 +245,11 @@ If you prefer not to use Docker or Dev Containers:
246245
4. **Run the Development Server:**
247246
248247
```bash
249-
bun run dev
248+
bun run dev:full
250249
```
251250
251+
This command starts both the main application and the realtime socket server required for full functionality.
252+
252253
5. **Make Your Changes and Test Locally.**
253254
254255
### Email Template Development
@@ -379,7 +380,18 @@ In addition, you will need to update the registries:
379380
provider: 'pinecone', // ID of the OAuth provider
380381
381382
params: {
382-
// Tool parameters
383+
parameterName: {
384+
type: 'string',
385+
required: true,
386+
visibility: 'user-or-llm', // Controls parameter visibility
387+
description: 'Description of the parameter',
388+
},
389+
optionalParam: {
390+
type: 'string',
391+
required: false,
392+
visibility: 'user-only',
393+
description: 'Optional parameter only user can set',
394+
},
383395
},
384396
request: {
385397
// Request configuration
@@ -429,11 +441,57 @@ Maintaining consistent naming across the codebase is critical for auto-generatio
429441
- **Tool Exports:** Should be named `{toolName}Tool` (e.g., `fetchTool`)
430442
- **Tool IDs:** Should follow the format `{provider}_{tool_name}` (e.g., `pinecone_fetch`)
431443
444+
### Parameter Visibility System
445+
446+
Sim Studio implements a sophisticated parameter visibility system that controls how parameters are exposed to users and LLMs in agent workflows. Each parameter can have one of four visibility levels:
447+
448+
| Visibility | User Sees | LLM Sees | How It Gets Set |
449+
|-------------|-----------|----------|--------------------------------|
450+
| `user-only` | ✅ Yes | ❌ No | User provides in UI |
451+
| `user-or-llm` | ✅ Yes | ✅ Yes | User provides OR LLM generates |
452+
| `llm-only` | ❌ No | ✅ Yes | LLM generates only |
453+
| `hidden` | ❌ No | ❌ No | Application injects at runtime |
454+
455+
#### Visibility Guidelines
456+
457+
- **`user-or-llm`**: Use for core parameters that can be provided by users or intelligently filled by the LLM (e.g., search queries, email subjects)
458+
- **`user-only`**: Use for configuration parameters, API keys, and settings that only users should control (e.g., number of results, authentication credentials)
459+
- **`llm-only`**: Use for computed values that the LLM should handle internally (e.g., dynamic calculations, contextual data)
460+
- **`hidden`**: Use for system-level parameters injected at runtime (e.g., OAuth tokens, internal identifiers)
461+
462+
#### Example Implementation
463+
464+
```typescript
465+
params: {
466+
query: {
467+
type: 'string',
468+
required: true,
469+
visibility: 'user-or-llm', // User can provide or LLM can generate
470+
description: 'Search query to execute',
471+
},
472+
apiKey: {
473+
type: 'string',
474+
required: true,
475+
visibility: 'user-only', // Only user provides this
476+
description: 'API key for authentication',
477+
},
478+
internalId: {
479+
type: 'string',
480+
required: false,
481+
visibility: 'hidden', // System provides this at runtime
482+
description: 'Internal tracking identifier',
483+
},
484+
}
485+
```
486+
487+
This visibility system ensures clean user interfaces while maintaining full flexibility for LLM-driven workflows.
488+
432489
### Guidelines & Best Practices
433490
434491
- **Code Style:** Follow the project's ESLint and Prettier configurations. Use meaningful variable names and small, focused functions.
435492
- **Documentation:** Clearly document the purpose, inputs, outputs, and any special behavior for your block/tool.
436493
- **Error Handling:** Implement robust error handling and provide user-friendly error messages.
494+
- **Parameter Visibility:** Always specify the appropriate visibility level for each parameter to ensure proper UI behavior and LLM integration.
437495
- **Testing:** Add unit or integration tests to verify your changes when possible.
438496
- **Commit Changes:** Update all related components and registries, and describe your changes in your pull request.
439497

README.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ docker compose -f docker-compose.prod.yml up -d
8787
1. Open VS Code with the [Remote - Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
8888
2. Open the project and click "Reopen in Container" when prompted
8989
3. Run `bun run dev:full` in the terminal or use the `sim-start` alias
90+
- This starts both the main application and the realtime socket server
9091

9192
### Option 4: Manual Setup
9293

@@ -113,22 +114,25 @@ bunx drizzle-kit push
113114

114115
4. Start the development servers:
115116

116-
Next.js app:
117+
**Recommended approach - run both servers together (from project root):**
117118

118119
```bash
119-
bun run dev
120+
bun run dev:full
120121
```
121122

122-
Start the realtime server:
123+
This starts both the main Next.js application and the realtime socket server required for full functionality.
124+
125+
**Alternative - run servers separately:**
123126

127+
Next.js app (from project root):
124128
```bash
125-
bun run dev:sockets
129+
bun run dev
126130
```
127131

128-
Run both together (recommended):
129-
132+
Realtime socket server (from `apps/sim` directory in a separate terminal):
130133
```bash
131-
bun run dev:full
134+
cd apps/sim
135+
bun run dev:sockets
132136
```
133137

134138
## Tech Stack

apps/docs/content/docs/tools/autoblocks.mdx

Lines changed: 0 additions & 186 deletions
This file was deleted.

apps/docs/content/docs/tools/clay.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ Populate Clay with data from a JSON file. Enables direct communication and notif
214214
| --------- | ---- | -------- | ----------- |
215215
| `webhookURL` | string | Yes | The webhook URL to populate |
216216
| `data` | json | Yes | The data to populate |
217-
| `authToken` | string | No | Optional auth token for WebhookURL |
217+
| `authToken` | string | Yes | Auth token for Clay webhook authentication |
218218

219219
#### Output
220220

apps/docs/content/docs/tools/elevenlabs.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@ Convert TTS using ElevenLabs voices
5353

5454
| Parameter | Type | Required | Description |
5555
| --------- | ---- | -------- | ----------- |
56-
| `apiKey` | string | Yes | Your ElevenLabs API key |
5756
| `text` | string | Yes | The text to convert to speech |
5857
| `voiceId` | string | Yes | The ID of the voice to use |
5958
| `modelId` | string | No | The ID of the model to use \(defaults to eleven_monolingual_v1\) |
59+
| `apiKey` | string | Yes | Your ElevenLabs API key |
6060

6161
#### Output
6262

0 commit comments

Comments
 (0)