Skip to content

Commit a830552

Browse files
committed
same-workspace import keeps or warns about workspace bindings; generic required-field lint; folder moves to the root; empty-graph and no-entry lint notes; span durationMs; MCP tools reported on undeploy and listed inactive; paged connector types and workspaces; grep --in refuses unknown selectors; run_function names exported files; run tools surface the failing block's error
Export takes includeWorkspaceBindings for same-workspace round trips and import answers with warnings naming every block whose required binding was stripped. Lint reports a missing required field for every block type (the knowledge base id was skipped), notes an empty graph and a graph with no entry block, and the trace spans carry durationMs. Undeploy answers with the MCP tools it archived and the tools list shows them inactive. connector-types list is paged (25, summary projection, detail=full) and workspaces list defaults to 25. The agent CLI's grep refuses a prefix or unknown --in selector with the accepted forms; a run_function that exported files and wrote a table says both; a run tool whose executor result carries no message uses the failing block's own error.
1 parent 9a748c3 commit a830552

68 files changed

Lines changed: 2112 additions & 214 deletions

File tree

Some content is hidden

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

apps/docs/content/docs/cli/connector-types.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,7 @@ sim connector-types list [options]
2020
| Option | Required | Description |
2121
| --- | --- | --- |
2222
| `--search <value>` | No | Case-insensitive substring match against the connector name. |
23+
| `--detail <value>` | No | Projection of each item. `summary` (the default) carries the identifier, name, description, and auth mode; `full` adds the version, the complete auth settings, the `sourceConfig` field schema, incremental-sync support, and tag definitions. Accepted values: `summary`, `full`. |
24+
| `--limit <n>` | No | Maximum items to return (0 for everything). Defaults to `100`. |
2325

2426
</CommandTable>

apps/docs/content/docs/cli/logs.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ sim logs stats [options]
5353
| `--level <value>` | No | Severity level to include. Accepted values: `info`, `error`. |
5454
| `--start-date <value>` | No | Only include runs started at or after this UTC ISO 8601 timestamp, e.g. `2026-08-06T00:00:00Z`. A date without a time, or a timestamp carrying a UTC offset instead of `Z`, is rejected, as is year `0000`, which names no storable instant. |
5555
| `--end-date <value>` | No | Only include runs started at or before this UTC ISO 8601 timestamp, e.g. `2026-08-06T00:00:00Z`. A date without a time, or a timestamp carrying a UTC offset instead of `Z`, is rejected, as is year `0000`, which names no storable instant. |
56-
| `--segment-count <value>` | No | Number of equal time buckets to divide the window into, from 1 to 500. Exactly this many buckets are always returned. Buckets are never narrower than one minute, so on a short window the series extends past the end of the window rather than being compressed, and the trailing buckets are empty. |
56+
| `--segment-count <value>` | No | Number of equal time buckets to divide the window into, from 1 to 500. It is the ceiling on how many buckets a series carries: with `includeEmpty=true` exactly this many are returned, otherwise only the buckets holding at least one run. Buckets are never narrower than one minute, so on a short window the series extends past the end of the window rather than being compressed, and the trailing buckets are empty. |
57+
| `--include-empty <value>` | No | Whether buckets with no runs are included in every series. Off by default, so each series carries only the buckets that hold at least one run; set it to publish exactly `segmentCount` buckets per series, empty ones included. The listed spellings are the whole accepted vocabulary and are case-sensitive; any other value is rejected. Accepted values: `true`, `1`, `yes`, `on`, `y`, `enabled`, `false`, `0`, `no`, `off`, `n`, `disabled`. |
5758

5859
</CommandTable>
5960

apps/docs/content/docs/cli/reference.mdx

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,8 @@ sim connector-types list [options]
358358
| Option | Required | Description |
359359
| --- | --- | --- |
360360
| `--search <value>` | No | Case-insensitive substring match against the connector name. |
361+
| `--detail <value>` | No | Projection of each item. `summary` (the default) carries the identifier, name, description, and auth mode; `full` adds the version, the complete auth settings, the `sourceConfig` field schema, incremental-sync support, and tag definitions. Accepted values: `summary`, `full`. |
362+
| `--limit <n>` | No | Maximum items to return (0 for everything). Defaults to `100`. |
361363

362364
</CommandTable>
363365

@@ -2441,7 +2443,8 @@ sim logs stats [options]
24412443
| `--level <value>` | No | Severity level to include. Accepted values: `info`, `error`. |
24422444
| `--start-date <value>` | No | Only include runs started at or after this UTC ISO 8601 timestamp, e.g. `2026-08-06T00:00:00Z`. A date without a time, or a timestamp carrying a UTC offset instead of `Z`, is rejected, as is year `0000`, which names no storable instant. |
24432445
| `--end-date <value>` | No | Only include runs started at or before this UTC ISO 8601 timestamp, e.g. `2026-08-06T00:00:00Z`. A date without a time, or a timestamp carrying a UTC offset instead of `Z`, is rejected, as is year `0000`, which names no storable instant. |
2444-
| `--segment-count <value>` | No | Number of equal time buckets to divide the window into, from 1 to 500. Exactly this many buckets are always returned. Buckets are never narrower than one minute, so on a short window the series extends past the end of the window rather than being compressed, and the trailing buckets are empty. |
2446+
| `--segment-count <value>` | No | Number of equal time buckets to divide the window into, from 1 to 500. It is the ceiling on how many buckets a series carries: with `includeEmpty=true` exactly this many are returned, otherwise only the buckets holding at least one run. Buckets are never narrower than one minute, so on a short window the series extends past the end of the window rather than being compressed, and the trailing buckets are empty. |
2447+
| `--include-empty <value>` | No | Whether buckets with no runs are included in every series. Off by default, so each series carries only the buckets that hold at least one run; set it to publish exactly `segmentCount` buckets per series, empty ones included. The listed spellings are the whole accepted vocabulary and are case-sensitive; any other value is rejected. Accepted values: `true`, `1`, `yes`, `on`, `y`, `enabled`, `false`, `0`, `no`, `off`, `n`, `disabled`. |
24452448

24462449
</CommandTable>
24472450

@@ -4757,7 +4760,7 @@ sim workflows runs get <runId> [options]
47574760
| --- | --- | --- |
47584761
| `--workflow <workflowId>` | Yes | Workflow ID. |
47594762
| `--include-output` | No | Include the final output in JSON or YAML output. |
4760-
| `--select-output <value...>` | No | Include blockId or blockId.path values in JSON or YAML output; block names are not resolved on a finished run (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
4763+
| `--select-output <value...>` | No | Include blockName.path or blockId.path values (e.g. agent_1.content) in JSON or YAML output; names resolve against the workflow’s current blocks, and missing paths are omitted (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
47614764
| `--include-file-base64` | No | Inline each produced file's bytes as base64. Requires `includeOutput`. A file above the inline ceiling answers `413` naming its download path; fetch large files from `downloadPath` instead. |
47624765
| `--no-include-file-base64` | No | Send --include-file-base64 as false. |
47634766
| `--base64-max-bytes <value>` | No | Per-file inline ceiling, lowering but never raising the server limit of 16 MiB. |
@@ -5178,7 +5181,7 @@ sim workflows run <workflowId> [options]
51785181
Print a workflow as a portable JSON document
51795182

51805183
```bash
5181-
sim workflows export <workflowId>
5184+
sim workflows export <workflowId> [options]
51825185
```
51835186

51845187
**Arguments**
@@ -5191,6 +5194,17 @@ sim workflows export <workflowId>
51915194

51925195
</CommandTable>
51935196

5197+
**Options**
5198+
5199+
<CommandTable>
5200+
5201+
| Option | Required | Description |
5202+
| --- | --- | --- |
5203+
| `--include-workspace-bindings` | No | Whether to keep workspace-scoped bindings — table, knowledge base, document, folder, channel, and other resource selectors — in the exported state. Defaults to false, the sharing-safe export in which those ids are cleared because they resolve nowhere else. Send true for a same-workspace round trip so the re-imported workflow can run without re-selecting them. Credentials, passwords, and table sub-block values are cleared either way. |
5204+
| `--no-include-workspace-bindings` | No | Send --include-workspace-bindings as false. |
5205+
5206+
</CommandTable>
5207+
51945208
### sim workflows get
51955209

51965210
Get Workflow

apps/docs/content/docs/cli/workflows.mdx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ Show run status (requested outputs are included in JSON or YAML output)
152152
| --- | --- | --- |
153153
| `--workflow <workflowId>` | Yes | Workflow ID. |
154154
| `--include-output` | No | Include the final output in JSON or YAML output. |
155-
| `--select-output <value...>` | No | Include blockId or blockId.path values in JSON or YAML output; block names are not resolved on a finished run (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
155+
| `--select-output <value...>` | No | Include blockName.path or blockId.path values (e.g. agent_1.content) in JSON or YAML output; names resolve against the workflow’s current blocks, and missing paths are omitted (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
156156
| `--include-file-base64` | No | Inline each produced file's bytes as base64. Requires `includeOutput`. A file above the inline ceiling answers `413` naming its download path; fetch large files from `downloadPath` instead. |
157157
| `--no-include-file-base64` | No | Send --include-file-base64 as false. |
158158
| `--base64-max-bytes <value>` | No | Per-file inline ceiling, lowering but never raising the server limit of 16 MiB. |
@@ -551,7 +551,7 @@ sim workflows run <workflowId> [options]
551551
## Print a workflow as a portable JSON document
552552

553553
```bash
554-
sim workflows export <workflowId>
554+
sim workflows export <workflowId> [options]
555555
```
556556

557557
**Arguments**
@@ -564,6 +564,17 @@ sim workflows export <workflowId>
564564

565565
</CommandTable>
566566

567+
**Options**
568+
569+
<CommandTable>
570+
571+
| Option | Required | Description |
572+
| --- | --- | --- |
573+
| `--include-workspace-bindings` | No | Whether to keep workspace-scoped bindings — table, knowledge base, document, folder, channel, and other resource selectors — in the exported state. Defaults to false, the sharing-safe export in which those ids are cleared because they resolve nowhere else. Send true for a same-workspace round trip so the re-imported workflow can run without re-selecting them. Credentials, passwords, and table sub-block values are cleared either way. |
574+
| `--no-include-workspace-bindings` | No | Send --include-workspace-bindings as false. |
575+
576+
</CommandTable>
577+
567578
## Get workflow
568579

569580
```bash

apps/docs/openapi-v2-files-audit.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4485,8 +4485,8 @@
44854485
"$ref": "#/components/schemas/NonRootFolderPathInput"
44864486
},
44874487
"destinationPath": {
4488-
"description": "New full path for the folder and its descendants.",
4489-
"$ref": "#/components/schemas/NonRootFolderPathInput"
4488+
"description": "Where the folder lands, with `mv` semantics. A path naming an existing folder receives the source as a child under its current name; `/` moves it to the workspace root under its current name; any other path becomes the folder’s new full path (a rename, a relocation, or both).",
4489+
"$ref": "#/components/schemas/FolderPathInput"
44904490
}
44914491
},
44924492
"required": ["workspaceId", "path", "destinationPath"],

apps/docs/openapi-v2-knowledge.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7450,8 +7450,8 @@
74507450
"$ref": "#/components/schemas/NonRootFolderPathInput"
74517451
},
74527452
"destinationPath": {
7453-
"description": "New full path for the folder and its descendants.",
7454-
"$ref": "#/components/schemas/NonRootFolderPathInput"
7453+
"description": "Where the folder lands, with `mv` semantics. A path naming an existing folder receives the source as a child under its current name; `/` moves it to the workspace root under its current name; any other path becomes the folder’s new full path (a rename, a relocation, or both).",
7454+
"$ref": "#/components/schemas/FolderPathInput"
74557455
}
74567456
},
74577457
"required": ["workspaceId", "path", "destinationPath"],

0 commit comments

Comments
 (0)