sim 2.1.0-preview.37.1 → 2.1.1-preview.39.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +1894 -265
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -6422,10 +6422,10 @@ var V2_OPERATIONS = {
6422
6422
  },
6423
6423
  abortKnowledgeDocumentUpload: {
6424
6424
  method: "DELETE",
6425
- path: "/api/v2/knowledge/[id]/documents/uploads/[uploadId]",
6426
- pathParams: ["id", "uploadId"],
6425
+ path: "/api/v2/knowledge/[knowledgeBaseId]/documents/uploads/[uploadId]",
6426
+ pathParams: ["knowledgeBaseId", "uploadId"],
6427
6427
  pathParamDocs: {
6428
- id: "Unique knowledge base identifier.",
6428
+ knowledgeBaseId: "Unique knowledge base identifier.",
6429
6429
  uploadId: "Upload session identifier returned when the upload was created."
6430
6430
  },
6431
6431
  responseMode: "json",
@@ -6438,6 +6438,17 @@ var V2_OPERATIONS = {
6438
6438
  }
6439
6439
  }
6440
6440
  },
6441
+ activateWorkflowVersion: {
6442
+ method: "POST",
6443
+ path: "/api/v2/workflows/[workflowId]/versions/[version]/activate",
6444
+ pathParams: ["workflowId", "version"],
6445
+ pathParamDocs: {
6446
+ workflowId: "Unique workflow identifier.",
6447
+ version: "Numeric deployment version."
6448
+ },
6449
+ responseMode: "json",
6450
+ summary: "Activate Workflow Version"
6451
+ },
6441
6452
  addTableColumn: {
6442
6453
  method: "POST",
6443
6454
  path: "/api/v2/tables/[tableId]/columns",
@@ -6476,6 +6487,73 @@ var V2_OPERATIONS = {
6476
6487
  }
6477
6488
  }
6478
6489
  },
6490
+ addWorkspaceFilesToKnowledgeBase: {
6491
+ method: "POST",
6492
+ path: "/api/v2/knowledge/[knowledgeBaseId]/documents/from-workspace-files",
6493
+ pathParams: ["knowledgeBaseId"],
6494
+ pathParamDocs: { knowledgeBaseId: "Unique knowledge base identifier." },
6495
+ responseMode: "json",
6496
+ summary: "Index Workspace Files",
6497
+ body: {
6498
+ workspaceId: {
6499
+ kind: "string",
6500
+ required: true,
6501
+ describe: "Workspace that owns both the files and the base."
6502
+ },
6503
+ fileReferences: {
6504
+ kind: "array",
6505
+ required: true,
6506
+ describe: "Workspace file identifiers or storage keys to index. Duplicates resolving to the same file are indexed once."
6507
+ }
6508
+ }
6509
+ },
6510
+ applyWorkflowOperations: {
6511
+ method: "POST",
6512
+ path: "/api/v2/workflows/[workflowId]/operations",
6513
+ pathParams: ["workflowId"],
6514
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
6515
+ responseMode: "json",
6516
+ summary: "Apply Workflow Operations",
6517
+ query: {
6518
+ dryRun: {
6519
+ kind: "boolean",
6520
+ describe: "Validate and lint without persisting. The response is identical to the committed write of the same body, so a caller can inspect `lint` and then re-send the request for real. Nothing is written, no audit entry is recorded, and collaborators are not notified."
6521
+ }
6522
+ },
6523
+ body: {
6524
+ operations: { kind: "array", required: true, describe: "Edits to apply, in a single batch." },
6525
+ atomic: {
6526
+ kind: "boolean",
6527
+ default: false,
6528
+ describe: "Fail the whole batch when any operation is declined or any block input would be dropped. The default applies what it can and reports the rest in `skipped` and `inputValidationErrors`; `true` writes nothing and answers `409` instead."
6529
+ },
6530
+ layout: {
6531
+ kind: "enum",
6532
+ values: ["targeted", "none"],
6533
+ default: "targeted",
6534
+ describe: "Whether to reposition blocks the batch touched. `targeted` (default) nudges only the affected subgraph; `none` leaves every position exactly as supplied."
6535
+ },
6536
+ setBlockEnabled: {
6537
+ kind: "array",
6538
+ describe: "Blocks to enable or disable, applied after `operations`. Disabling a loop or parallel cascades to its unlocked descendants; enabling a block whose container is disabled is declined."
6539
+ }
6540
+ }
6541
+ },
6542
+ applyWorkflowVariables: {
6543
+ method: "PATCH",
6544
+ path: "/api/v2/workflows/[workflowId]/variables",
6545
+ pathParams: ["workflowId"],
6546
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
6547
+ responseMode: "json",
6548
+ summary: "Update Workflow Variables",
6549
+ body: {
6550
+ operations: {
6551
+ kind: "array",
6552
+ required: true,
6553
+ describe: "Variable changes to apply, in order."
6554
+ }
6555
+ }
6556
+ },
6479
6557
  bulkDeleteFiles: {
6480
6558
  method: "POST",
6481
6559
  path: "/api/v2/files/bulk-delete",
@@ -6487,11 +6565,101 @@ var V2_OPERATIONS = {
6487
6565
  fileIds: { kind: "array", required: true, describe: "File identifiers to update." }
6488
6566
  }
6489
6567
  },
6568
+ bulkDeleteTables: {
6569
+ method: "POST",
6570
+ path: "/api/v2/tables/bulk-delete",
6571
+ pathParams: [],
6572
+ responseMode: "json",
6573
+ summary: "Bulk Delete Tables and Folders",
6574
+ body: {
6575
+ workspaceId: {
6576
+ kind: "string",
6577
+ required: true,
6578
+ describe: "Workspace that owns every selected item."
6579
+ },
6580
+ tableIds: { kind: "array", default: [], describe: "Tables to archive, by identifier." },
6581
+ folderPaths: {
6582
+ kind: "array",
6583
+ describe: "Table folders to delete, by canonical path. Each cascades to everything inside it."
6584
+ }
6585
+ }
6586
+ },
6587
+ bulkDownloadFiles: {
6588
+ method: "GET",
6589
+ path: "/api/v2/files/bulk-download",
6590
+ pathParams: [],
6591
+ responseMode: "binary",
6592
+ summary: "Bulk Download Files",
6593
+ query: {
6594
+ workspaceId: {
6595
+ kind: "string",
6596
+ required: true,
6597
+ describe: "Workspace containing the selection."
6598
+ },
6599
+ fileIds: {
6600
+ kind: "string",
6601
+ describe: "File identifiers to include, comma-separated. At most 100 entries."
6602
+ },
6603
+ folderPaths: {
6604
+ kind: "string",
6605
+ describe: "Folder paths to include with all their descendants, comma-separated. At most 100 entries, and the files they resolve to count against the same 100-file download ceiling. A path that matches no folder is rejected rather than ignored."
6606
+ }
6607
+ }
6608
+ },
6609
+ bulkSaveKnowledgeTagDefinitions: {
6610
+ method: "PUT",
6611
+ path: "/api/v2/knowledge/[knowledgeBaseId]/tags",
6612
+ pathParams: ["knowledgeBaseId"],
6613
+ pathParamDocs: { knowledgeBaseId: "Unique knowledge base identifier." },
6614
+ responseMode: "json",
6615
+ summary: "Bulk Save Tag Definitions",
6616
+ body: {
6617
+ workspaceId: {
6618
+ kind: "string",
6619
+ required: true,
6620
+ describe: "Workspace that owns the knowledge base."
6621
+ },
6622
+ definitions: {
6623
+ kind: "array",
6624
+ required: true,
6625
+ describe: "Tag definitions to create or update on the knowledge base."
6626
+ }
6627
+ }
6628
+ },
6629
+ bulkUpdateKnowledgeChunks: {
6630
+ method: "PATCH",
6631
+ path: "/api/v2/knowledge/[knowledgeBaseId]/documents/[documentId]/chunks",
6632
+ pathParams: ["knowledgeBaseId", "documentId"],
6633
+ pathParamDocs: {
6634
+ knowledgeBaseId: "Unique knowledge base identifier.",
6635
+ documentId: "Unique knowledge document identifier."
6636
+ },
6637
+ responseMode: "json",
6638
+ summary: "Bulk Update Chunks",
6639
+ body: {
6640
+ workspaceId: {
6641
+ kind: "string",
6642
+ required: true,
6643
+ describe: "Workspace that owns the knowledge base."
6644
+ },
6645
+ operation: {
6646
+ kind: "enum",
6647
+ required: true,
6648
+ values: ["enable", "disable", "delete"],
6649
+ describe: "What to do with the selected chunks."
6650
+ },
6651
+ chunkIds: {
6652
+ kind: "array",
6653
+ required: true,
6654
+ describe: "Chunks to operate on, by identifier. Ids outside the document are ignored."
6655
+ }
6656
+ }
6657
+ },
6490
6658
  bulkUpdateKnowledgeDocuments: {
6491
6659
  method: "PATCH",
6492
- path: "/api/v2/knowledge/[id]/documents",
6493
- pathParams: ["id"],
6494
- pathParamDocs: { id: "Unique knowledge base identifier." },
6660
+ path: "/api/v2/knowledge/[knowledgeBaseId]/documents",
6661
+ pathParams: ["knowledgeBaseId"],
6662
+ pathParamDocs: { knowledgeBaseId: "Unique knowledge base identifier." },
6495
6663
  responseMode: "json",
6496
6664
  summary: "Bulk Enable or Disable Documents",
6497
6665
  body: {
@@ -6518,11 +6686,48 @@ var V2_OPERATIONS = {
6518
6686
  }
6519
6687
  }
6520
6688
  },
6689
+ bulkUpdateTableRows: {
6690
+ method: "POST",
6691
+ path: "/api/v2/tables/[tableId]/rows/bulk-update",
6692
+ pathParams: ["tableId"],
6693
+ pathParamDocs: { tableId: "Unique table identifier." },
6694
+ responseMode: "json",
6695
+ summary: "Bulk Update Rows",
6696
+ body: {
6697
+ workspaceId: { kind: "string", required: true, describe: "Workspace that owns the table." },
6698
+ updates: {
6699
+ kind: "array",
6700
+ required: true,
6701
+ describe: "One merge patch per row. Each row identifier may appear at most once."
6702
+ }
6703
+ }
6704
+ },
6705
+ cancelTableDispatch: {
6706
+ method: "DELETE",
6707
+ path: "/api/v2/tables/[tableId]/dispatches/[dispatchId]",
6708
+ pathParams: ["tableId", "dispatchId"],
6709
+ pathParamDocs: {
6710
+ tableId: "Unique table identifier.",
6711
+ dispatchId: "Unique table run-dispatch identifier."
6712
+ },
6713
+ responseMode: "json",
6714
+ summary: "Cancel Run Dispatch",
6715
+ query: {
6716
+ workspaceId: {
6717
+ kind: "string",
6718
+ required: true,
6719
+ describe: "Workspace that owns the transfer resource."
6720
+ }
6721
+ }
6722
+ },
6521
6723
  cancelTableExport: {
6522
6724
  method: "DELETE",
6523
- path: "/api/v2/tables/exports/[exportId]",
6524
- pathParams: ["exportId"],
6525
- pathParamDocs: { exportId: "Unique table-export identifier." },
6725
+ path: "/api/v2/tables/[tableId]/exports/[exportId]",
6726
+ pathParams: ["tableId", "exportId"],
6727
+ pathParamDocs: {
6728
+ tableId: "Unique table identifier.",
6729
+ exportId: "Unique table-export identifier."
6730
+ },
6526
6731
  responseMode: "json",
6527
6732
  summary: "Cancel Table Export",
6528
6733
  query: {
@@ -6573,9 +6778,12 @@ var V2_OPERATIONS = {
6573
6778
  },
6574
6779
  cancelWorkflowRun: {
6575
6780
  method: "POST",
6576
- path: "/api/v2/workflows/[id]/runs/[runId]/cancel",
6577
- pathParams: ["id", "runId"],
6578
- pathParamDocs: { id: "Unique workflow identifier.", runId: "Unique workflow run identifier." },
6781
+ path: "/api/v2/workflows/[workflowId]/runs/[runId]/cancel",
6782
+ pathParams: ["workflowId", "runId"],
6783
+ pathParamDocs: {
6784
+ workflowId: "Unique workflow identifier.",
6785
+ runId: "Unique workflow run identifier."
6786
+ },
6579
6787
  responseMode: "json",
6580
6788
  summary: "Cancel Workflow Run"
6581
6789
  },
@@ -6614,10 +6822,10 @@ var V2_OPERATIONS = {
6614
6822
  },
6615
6823
  completeKnowledgeDocumentUpload: {
6616
6824
  method: "POST",
6617
- path: "/api/v2/knowledge/[id]/documents/uploads/[uploadId]/complete",
6618
- pathParams: ["id", "uploadId"],
6825
+ path: "/api/v2/knowledge/[knowledgeBaseId]/documents/uploads/[uploadId]/complete",
6826
+ pathParams: ["knowledgeBaseId", "uploadId"],
6619
6827
  pathParamDocs: {
6620
- id: "Unique knowledge base identifier.",
6828
+ knowledgeBaseId: "Unique knowledge base identifier.",
6621
6829
  uploadId: "Upload session identifier returned when the upload was created."
6622
6830
  },
6623
6831
  responseMode: "json",
@@ -6809,11 +7017,39 @@ var V2_OPERATIONS = {
6809
7017
  }
6810
7018
  }
6811
7019
  },
7020
+ createKnowledgeChunk: {
7021
+ method: "POST",
7022
+ path: "/api/v2/knowledge/[knowledgeBaseId]/documents/[documentId]/chunks",
7023
+ pathParams: ["knowledgeBaseId", "documentId"],
7024
+ pathParamDocs: {
7025
+ knowledgeBaseId: "Unique knowledge base identifier.",
7026
+ documentId: "Unique knowledge document identifier."
7027
+ },
7028
+ responseMode: "json",
7029
+ summary: "Create Chunk",
7030
+ body: {
7031
+ workspaceId: {
7032
+ kind: "string",
7033
+ required: true,
7034
+ describe: "Workspace that owns the knowledge base."
7035
+ },
7036
+ content: {
7037
+ kind: "string",
7038
+ required: true,
7039
+ describe: "Text to embed. It is embedded on write, so the chunk is searchable immediately."
7040
+ },
7041
+ enabled: {
7042
+ kind: "boolean",
7043
+ default: true,
7044
+ describe: "Whether the new chunk participates in search."
7045
+ }
7046
+ }
7047
+ },
6812
7048
  createKnowledgeConnector: {
6813
7049
  method: "POST",
6814
- path: "/api/v2/knowledge/[id]/connectors",
6815
- pathParams: ["id"],
6816
- pathParamDocs: { id: "Unique knowledge base identifier." },
7050
+ path: "/api/v2/knowledge/[knowledgeBaseId]/connectors",
7051
+ pathParams: ["knowledgeBaseId"],
7052
+ pathParamDocs: { knowledgeBaseId: "Unique knowledge base identifier." },
6817
7053
  responseMode: "json",
6818
7054
  summary: "Create Knowledge Connector",
6819
7055
  body: {
@@ -6845,9 +7081,9 @@ var V2_OPERATIONS = {
6845
7081
  },
6846
7082
  createKnowledgeDocumentUpload: {
6847
7083
  method: "POST",
6848
- path: "/api/v2/knowledge/[id]/documents/uploads",
6849
- pathParams: ["id"],
6850
- pathParamDocs: { id: "Unique knowledge base identifier." },
7084
+ path: "/api/v2/knowledge/[knowledgeBaseId]/documents/uploads",
7085
+ pathParams: ["knowledgeBaseId"],
7086
+ pathParamDocs: { knowledgeBaseId: "Unique knowledge base identifier." },
6851
7087
  responseMode: "json",
6852
7088
  summary: "Create Document Upload",
6853
7089
  body: {
@@ -6879,10 +7115,10 @@ var V2_OPERATIONS = {
6879
7115
  },
6880
7116
  createKnowledgeDocumentUploadPartUrls: {
6881
7117
  method: "POST",
6882
- path: "/api/v2/knowledge/[id]/documents/uploads/[uploadId]/parts",
6883
- pathParams: ["id", "uploadId"],
7118
+ path: "/api/v2/knowledge/[knowledgeBaseId]/documents/uploads/[uploadId]/parts",
7119
+ pathParams: ["knowledgeBaseId", "uploadId"],
6884
7120
  pathParamDocs: {
6885
- id: "Unique knowledge base identifier.",
7121
+ knowledgeBaseId: "Unique knowledge base identifier.",
6886
7122
  uploadId: "Upload session identifier returned when the upload was created."
6887
7123
  },
6888
7124
  responseMode: "json",
@@ -6917,6 +7153,55 @@ var V2_OPERATIONS = {
6917
7153
  path: { kind: "string", required: true, describe: "Path of the folder to create." }
6918
7154
  }
6919
7155
  },
7156
+ createKnowledgeTag: {
7157
+ method: "POST",
7158
+ path: "/api/v2/knowledge/[knowledgeBaseId]/tags",
7159
+ pathParams: ["knowledgeBaseId"],
7160
+ pathParamDocs: { knowledgeBaseId: "Unique knowledge base identifier." },
7161
+ responseMode: "json",
7162
+ summary: "Create Tag",
7163
+ body: {
7164
+ workspaceId: {
7165
+ kind: "string",
7166
+ required: true,
7167
+ describe: "Workspace that owns the knowledge base."
7168
+ },
7169
+ displayName: {
7170
+ kind: "string",
7171
+ required: true,
7172
+ describe: "Name tag filters and document reads use for this tag."
7173
+ },
7174
+ fieldType: {
7175
+ kind: "enum",
7176
+ values: ["text", "number", "date", "boolean"],
7177
+ default: "text",
7178
+ describe: "Value type stored in the slot; it decides which slots are usable and which filter operators apply. Slot capacity per type: text 7, number 5, date 2, boolean 3."
7179
+ },
7180
+ tagSlot: {
7181
+ kind: "enum",
7182
+ values: [
7183
+ "tag1",
7184
+ "tag2",
7185
+ "tag3",
7186
+ "tag4",
7187
+ "tag5",
7188
+ "tag6",
7189
+ "tag7",
7190
+ "number1",
7191
+ "number2",
7192
+ "number3",
7193
+ "number4",
7194
+ "number5",
7195
+ "date1",
7196
+ "date2",
7197
+ "boolean1",
7198
+ "boolean2",
7199
+ "boolean3"
7200
+ ],
7201
+ describe: "Slot to store the tag in. Omit to take the next free slot for the field type; a slot that does not belong to the field type, or one already in use, is rejected."
7202
+ }
7203
+ }
7204
+ },
6920
7205
  createMcpServer: {
6921
7206
  method: "POST",
6922
7207
  path: "/api/v2/mcp-servers",
@@ -7057,6 +7342,35 @@ var V2_OPERATIONS = {
7057
7342
  folderPath: { kind: "string", describe: "Folder in which to create the table." }
7058
7343
  }
7059
7344
  },
7345
+ createTableDispatch: {
7346
+ method: "POST",
7347
+ path: "/api/v2/tables/[tableId]/dispatches",
7348
+ pathParams: ["tableId"],
7349
+ pathParamDocs: { tableId: "Unique table identifier." },
7350
+ responseMode: "json",
7351
+ summary: "Create Run Dispatch",
7352
+ body: {
7353
+ workspaceId: { kind: "string", required: true, describe: "Unique workspace identifier." },
7354
+ groupIds: {
7355
+ kind: "array",
7356
+ required: true,
7357
+ describe: "Workflow or enrichment groups to run."
7358
+ },
7359
+ runMode: {
7360
+ kind: "enum",
7361
+ values: ["all", "incomplete"],
7362
+ default: "all",
7363
+ describe: "Whether to run all or only incomplete cells."
7364
+ },
7365
+ rowIds: { kind: "array", describe: "Explicit row subset to run." },
7366
+ filter: {
7367
+ kind: "unknown",
7368
+ describe: 'Recursive predicate tree. Each group node is exactly one non-empty `all` or `any` array whose members are further groups or `{ field, op, value }` conditions; the root must be a group, not a bare condition. At most 100 members per group, 10 levels of nesting, and 500 nodes in total. The negating operators include nulls: `ne`, `nin`, `ncontains`, `nlike`, and `nilike` match rows whose column is null or absent, so "not X" is not the complement of "X" over a nullable column. That holds for every column type, multi-select included. To exclude nulls, `all`-combine the negation with `isNotEmpty` (multi-select) or `isNotNull`. Comparison: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`. Membership: `in`, `nin` (array operand). Emptiness: `isEmpty`, `isNotEmpty`, `isNull`, `isNotNull` (no operand). Substring, always case-insensitive, operand matched literally: `contains`, `ncontains`, `startsWith`, `endsWith`. Pattern: `like`/`nlike` (case-sensitive), `ilike`/`nilike` (case-insensitive). **`*` is the only wildcard** and stands for any run of characters; `%`, `_`, and backslash match themselves. Use `like: "Hi*"`, not `like: "Hi%"`. A `select` column compares by option id and restricts its operators: single-select accepts `eq`, `ne`, `in`, `nin`; multi-select accepts `contains`, `ncontains`. Option names are accepted as operands and resolved to ids.'
7369
+ },
7370
+ excludeRowIds: { kind: "array", describe: "Rows excluded from a select-all run scope." },
7371
+ limit: { kind: "object", describe: "Optional cap on eligible rows to run." }
7372
+ }
7373
+ },
7060
7374
  createTableExport: {
7061
7375
  method: "POST",
7062
7376
  path: "/api/v2/tables/[tableId]/exports",
@@ -7193,11 +7507,40 @@ var V2_OPERATIONS = {
7193
7507
  path: { kind: "string", required: true, describe: "Path of the folder to create." }
7194
7508
  }
7195
7509
  },
7510
+ createWorkflowMcpServer: {
7511
+ method: "POST",
7512
+ path: "/api/v2/workflow-mcp-servers",
7513
+ pathParams: [],
7514
+ responseMode: "json",
7515
+ summary: "Create Workflow MCP Server",
7516
+ body: {
7517
+ workspaceId: {
7518
+ kind: "string",
7519
+ required: true,
7520
+ describe: "Workspace in which to publish the server."
7521
+ },
7522
+ name: {
7523
+ kind: "string",
7524
+ required: true,
7525
+ describe: "Server display name, shown to connecting MCP clients."
7526
+ },
7527
+ description: { kind: "string", describe: "Optional server description." },
7528
+ isPublic: {
7529
+ kind: "boolean",
7530
+ default: false,
7531
+ describe: "Whether the server answers MCP clients without a Sim API key. Defaults to false — a public server executes the workflows it publishes for anyone holding its URL."
7532
+ },
7533
+ workflowIds: {
7534
+ kind: "array",
7535
+ describe: "Deployed workflows to publish as tools on the new server."
7536
+ }
7537
+ }
7538
+ },
7196
7539
  deleteCredential: {
7197
7540
  method: "DELETE",
7198
7541
  path: "/api/v2/credentials/[credentialId]",
7199
7542
  pathParams: ["credentialId"],
7200
- pathParamDocs: { credentialId: "Credential to disconnect." },
7543
+ pathParamDocs: { credentialId: "Credential to update or disconnect." },
7201
7544
  responseMode: "json",
7202
7545
  summary: "Disconnect Credential",
7203
7546
  query: {
@@ -7210,9 +7553,9 @@ var V2_OPERATIONS = {
7210
7553
  },
7211
7554
  deleteCustomTool: {
7212
7555
  method: "DELETE",
7213
- path: "/api/v2/custom-tools/[id]",
7214
- pathParams: ["id"],
7215
- pathParamDocs: { id: "Unique custom tool identifier." },
7556
+ path: "/api/v2/custom-tools/[customToolId]",
7557
+ pathParams: ["customToolId"],
7558
+ pathParamDocs: { customToolId: "Unique custom tool identifier." },
7216
7559
  responseMode: "json",
7217
7560
  summary: "Delete Custom Tool",
7218
7561
  query: {
@@ -7266,9 +7609,9 @@ var V2_OPERATIONS = {
7266
7609
  },
7267
7610
  deleteKnowledgeBase: {
7268
7611
  method: "DELETE",
7269
- path: "/api/v2/knowledge/[id]",
7270
- pathParams: ["id"],
7271
- pathParamDocs: { id: "Unique knowledge base identifier." },
7612
+ path: "/api/v2/knowledge/[knowledgeBaseId]",
7613
+ pathParams: ["knowledgeBaseId"],
7614
+ pathParamDocs: { knowledgeBaseId: "Unique knowledge base identifier." },
7272
7615
  responseMode: "json",
7273
7616
  summary: "Delete Knowledge Base",
7274
7617
  query: {
@@ -7279,12 +7622,31 @@ var V2_OPERATIONS = {
7279
7622
  }
7280
7623
  }
7281
7624
  },
7625
+ deleteKnowledgeChunk: {
7626
+ method: "DELETE",
7627
+ path: "/api/v2/knowledge/[knowledgeBaseId]/documents/[documentId]/chunks/[chunkId]",
7628
+ pathParams: ["knowledgeBaseId", "documentId", "chunkId"],
7629
+ pathParamDocs: {
7630
+ knowledgeBaseId: "Unique knowledge base identifier.",
7631
+ documentId: "Unique knowledge document identifier.",
7632
+ chunkId: "Unique chunk identifier."
7633
+ },
7634
+ responseMode: "json",
7635
+ summary: "Delete Chunk",
7636
+ query: {
7637
+ workspaceId: {
7638
+ kind: "string",
7639
+ required: true,
7640
+ describe: "Workspace that owns the knowledge base."
7641
+ }
7642
+ }
7643
+ },
7282
7644
  deleteKnowledgeConnector: {
7283
7645
  method: "DELETE",
7284
- path: "/api/v2/knowledge/[id]/connectors/[connectorId]",
7285
- pathParams: ["id", "connectorId"],
7646
+ path: "/api/v2/knowledge/[knowledgeBaseId]/connectors/[connectorId]",
7647
+ pathParams: ["knowledgeBaseId", "connectorId"],
7286
7648
  pathParamDocs: {
7287
- id: "Knowledge base that owns the connector.",
7649
+ knowledgeBaseId: "Knowledge base that owns the connector.",
7288
7650
  connectorId: "Connector selected for the operation."
7289
7651
  },
7290
7652
  responseMode: "json",
@@ -7303,10 +7665,10 @@ var V2_OPERATIONS = {
7303
7665
  },
7304
7666
  deleteKnowledgeDocument: {
7305
7667
  method: "DELETE",
7306
- path: "/api/v2/knowledge/[id]/documents/[documentId]",
7307
- pathParams: ["id", "documentId"],
7668
+ path: "/api/v2/knowledge/[knowledgeBaseId]/documents/[documentId]",
7669
+ pathParams: ["knowledgeBaseId", "documentId"],
7308
7670
  pathParamDocs: {
7309
- id: "Unique knowledge base identifier.",
7671
+ knowledgeBaseId: "Unique knowledge base identifier.",
7310
7672
  documentId: "Unique knowledge document identifier."
7311
7673
  },
7312
7674
  responseMode: "json",
@@ -7349,11 +7711,48 @@ var V2_OPERATIONS = {
7349
7711
  }
7350
7712
  }
7351
7713
  },
7714
+ deleteKnowledgeTag: {
7715
+ method: "DELETE",
7716
+ path: "/api/v2/knowledge/[knowledgeBaseId]/tags/[tagId]",
7717
+ pathParams: ["knowledgeBaseId", "tagId"],
7718
+ pathParamDocs: {
7719
+ knowledgeBaseId: "Unique knowledge base identifier.",
7720
+ tagId: "Unique tag definition identifier."
7721
+ },
7722
+ responseMode: "json",
7723
+ summary: "Delete Tag",
7724
+ query: {
7725
+ workspaceId: {
7726
+ kind: "string",
7727
+ required: true,
7728
+ describe: "Workspace that owns the knowledge base."
7729
+ }
7730
+ }
7731
+ },
7732
+ deleteKnowledgeTagDefinitions: {
7733
+ method: "DELETE",
7734
+ path: "/api/v2/knowledge/[knowledgeBaseId]/tags",
7735
+ pathParams: ["knowledgeBaseId"],
7736
+ pathParamDocs: { knowledgeBaseId: "Unique knowledge base identifier." },
7737
+ responseMode: "json",
7738
+ summary: "Delete Tag Definitions",
7739
+ query: {
7740
+ workspaceId: {
7741
+ kind: "string",
7742
+ required: true,
7743
+ describe: "Workspace that owns the knowledge base."
7744
+ },
7745
+ unused: {
7746
+ kind: "boolean",
7747
+ describe: "Whether to remove only the tag definitions no document in the knowledge base still carries a value for. Defaults to true. Pass `unused=false` to delete every definition on the knowledge base, which also clears its slot on every document and chunk and is not recoverable."
7748
+ }
7749
+ }
7750
+ },
7352
7751
  deleteMcpServer: {
7353
7752
  method: "DELETE",
7354
- path: "/api/v2/mcp-servers/[id]",
7355
- pathParams: ["id"],
7356
- pathParamDocs: { id: "Unique MCP server identifier." },
7753
+ path: "/api/v2/mcp-servers/[mcpServerId]",
7754
+ pathParams: ["mcpServerId"],
7755
+ pathParamDocs: { mcpServerId: "Unique MCP server identifier." },
7357
7756
  responseMode: "json",
7358
7757
  summary: "Delete MCP Server",
7359
7758
  query: {
@@ -7387,10 +7786,10 @@ var V2_OPERATIONS = {
7387
7786
  },
7388
7787
  deleteSkill: {
7389
7788
  method: "DELETE",
7390
- path: "/api/v2/skills/[id]",
7391
- pathParams: ["id"],
7789
+ path: "/api/v2/skills/[skillId]",
7790
+ pathParams: ["skillId"],
7392
7791
  pathParamDocs: {
7393
- id: "Unique skill identifier. A built-in skill is `builtin-` followed by its name, for example `builtin-research`."
7792
+ skillId: "Unique skill identifier. A built-in skill is `builtin-` followed by its name, for example `builtin-research`."
7394
7793
  },
7395
7794
  responseMode: "json",
7396
7795
  summary: "Delete Skill",
@@ -7492,13 +7891,21 @@ var V2_OPERATIONS = {
7492
7891
  },
7493
7892
  deleteWorkflow: {
7494
7893
  method: "DELETE",
7495
- path: "/api/v2/workflows/[id]",
7496
- pathParams: ["id"],
7497
- pathParamDocs: { id: "Unique workflow identifier." },
7894
+ path: "/api/v2/workflows/[workflowId]",
7895
+ pathParams: ["workflowId"],
7896
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
7498
7897
  responseMode: "json",
7499
7898
  summary: "Delete Workflow"
7500
7899
  },
7501
- deleteWorkflowFolder: {
7900
+ deleteWorkflowChatDeployment: {
7901
+ method: "DELETE",
7902
+ path: "/api/v2/workflows/[workflowId]/deployments/chat",
7903
+ pathParams: ["workflowId"],
7904
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
7905
+ responseMode: "json",
7906
+ summary: "Delete Workflow Chat Deployment"
7907
+ },
7908
+ deleteWorkflowFolder: {
7502
7909
  method: "DELETE",
7503
7910
  path: "/api/v2/workflows/folders",
7504
7911
  pathParams: [],
@@ -7540,11 +7947,19 @@ var V2_OPERATIONS = {
7540
7947
  groupId: { kind: "string", required: true, describe: "Workflow group to delete." }
7541
7948
  }
7542
7949
  },
7950
+ deleteWorkflowMcpServer: {
7951
+ method: "DELETE",
7952
+ path: "/api/v2/workflow-mcp-servers/[serverId]",
7953
+ pathParams: ["serverId"],
7954
+ pathParamDocs: { serverId: "Unique workflow-MCP server identifier." },
7955
+ responseMode: "json",
7956
+ summary: "Delete Workflow MCP Server"
7957
+ },
7543
7958
  deployWorkflow: {
7544
7959
  method: "POST",
7545
- path: "/api/v2/workflows/[id]/deploy",
7546
- pathParams: ["id"],
7547
- pathParamDocs: { id: "Unique workflow identifier." },
7960
+ path: "/api/v2/workflows/[workflowId]/deploy",
7961
+ pathParams: ["workflowId"],
7962
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
7548
7963
  responseMode: "json",
7549
7964
  summary: "Deploy Workflow",
7550
7965
  body: {
@@ -7555,6 +7970,33 @@ var V2_OPERATIONS = {
7555
7970
  }
7556
7971
  }
7557
7972
  },
7973
+ deployWorkflowMcpTool: {
7974
+ method: "POST",
7975
+ path: "/api/v2/workflow-mcp-servers/[serverId]/tools",
7976
+ pathParams: ["serverId"],
7977
+ pathParamDocs: { serverId: "Unique workflow-MCP server identifier." },
7978
+ responseMode: "json",
7979
+ summary: "Publish Workflow As MCP Tool",
7980
+ body: {
7981
+ workflowId: {
7982
+ kind: "string",
7983
+ required: true,
7984
+ describe: "Deployed workflow to publish. The workflow must already be deployed."
7985
+ },
7986
+ toolName: {
7987
+ kind: "string",
7988
+ describe: "Name MCP clients call. Normalized to the MCP tool-name grammar, and derived from the workflow name when omitted."
7989
+ },
7990
+ toolDescription: {
7991
+ kind: "string",
7992
+ describe: "Description shown to MCP clients. Derived from the workflow name when omitted."
7993
+ },
7994
+ parameterDescriptions: {
7995
+ kind: "array",
7996
+ describe: "Per-field description overrides applied to the schema generated from the deployed workflow inputs. A name matching no input field is ignored."
7997
+ }
7998
+ }
7999
+ },
7558
8000
  downloadFile: {
7559
8001
  method: "GET",
7560
8002
  path: "/api/v2/files/[fileId]",
@@ -7566,17 +8008,51 @@ var V2_OPERATIONS = {
7566
8008
  workspaceId: { kind: "string", required: true, describe: "Workspace that owns the file." }
7567
8009
  }
7568
8010
  },
8011
+ downloadRunFile: {
8012
+ method: "GET",
8013
+ path: "/api/v2/workflows/[workflowId]/runs/[runId]/files/[fileId]",
8014
+ pathParams: ["workflowId", "runId", "fileId"],
8015
+ pathParamDocs: {
8016
+ workflowId: "Unique workflow identifier.",
8017
+ runId: "Unique workflow run identifier.",
8018
+ fileId: "Identifier of a file the run produced, as reported by the run resource."
8019
+ },
8020
+ responseMode: "binary",
8021
+ summary: "Download Workflow Run File"
8022
+ },
8023
+ duplicateWorkflow: {
8024
+ method: "POST",
8025
+ path: "/api/v2/workflows/[workflowId]/duplicate",
8026
+ pathParams: ["workflowId"],
8027
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
8028
+ responseMode: "json",
8029
+ summary: "Duplicate Workflow",
8030
+ body: {
8031
+ name: {
8032
+ kind: "string",
8033
+ describe: "Name for the copy. Defaults to the source name, deduplicated within the folder."
8034
+ },
8035
+ folderPath: {
8036
+ kind: "string",
8037
+ describe: "Destination folder path. Defaults to the source workflow's folder."
8038
+ }
8039
+ }
8040
+ },
7569
8041
  executeWorkflow: {
7570
8042
  method: "POST",
7571
- path: "/api/v2/workflows/[id]/execute",
7572
- pathParams: ["id"],
7573
- pathParamDocs: { id: "Unique workflow identifier." },
8043
+ path: "/api/v2/workflows/[workflowId]/execute",
8044
+ pathParams: ["workflowId"],
8045
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
7574
8046
  responseMode: "json",
7575
8047
  summary: "Execute Workflow",
7576
8048
  body: {
7577
8049
  input: {
7578
8050
  kind: "object",
7579
- describe: "Workflow input keyed by deployed trigger input-field name."
8051
+ describe: "Workflow input keyed by the selected trigger input-field name."
8052
+ },
8053
+ run: {
8054
+ kind: "unknown",
8055
+ describe: "Workflow state and entry point to execute. Omit for the active deployment. Manual execution requires a personal API key with write access and supports synchronous or streamed runs only."
7580
8056
  },
7581
8057
  async: {
7582
8058
  kind: "boolean",
@@ -7612,40 +8088,23 @@ var V2_OPERATIONS = {
7612
8088
  },
7613
8089
  base64MaxBytes: {
7614
8090
  kind: "integer",
7615
- describe: "Maximum total bytes of file content to inline as base64. Rejected when `async` is true."
8091
+ describe: "Maximum total bytes of file content to inline as base64, lowering but never raising the server limit of 16 MiB. Rejected when `async` is true."
7616
8092
  }
7617
8093
  }
7618
8094
  },
7619
8095
  exportWorkflow: {
7620
8096
  method: "GET",
7621
- path: "/api/v2/workflows/[id]/export",
7622
- pathParams: ["id"],
7623
- pathParamDocs: { id: "Unique workflow identifier." },
8097
+ path: "/api/v2/workflows/[workflowId]/export",
8098
+ pathParams: ["workflowId"],
8099
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
7624
8100
  responseMode: "json",
7625
8101
  summary: "Export Workflow"
7626
8102
  },
7627
- findTableRows: {
7628
- method: "POST",
7629
- path: "/api/v2/tables/[tableId]/rows/find",
7630
- pathParams: ["tableId"],
7631
- pathParamDocs: { tableId: "Unique table identifier." },
7632
- responseMode: "json",
7633
- summary: "Find Rows",
7634
- body: {
7635
- workspaceId: { kind: "string", required: true, describe: "Unique workspace identifier." },
7636
- q: { kind: "string", required: true, describe: "Case-insensitive cell substring to find." },
7637
- predicate: {
7638
- kind: "unknown",
7639
- describe: 'Recursive predicate tree. Each group node is exactly one non-empty `all` or `any` array whose members are further groups or `{ field, op, value }` conditions; the root must be a group, not a bare condition. At most 100 members per group, 10 levels of nesting, and 500 nodes in total. The negating operators include nulls: `ne`, `nin`, `ncontains`, `nlike`, and `nilike` match rows whose column is null or absent, so "not X" is not the complement of "X" over a nullable column. That holds for every column type, multi-select included. To exclude nulls, `all`-combine the negation with `isNotEmpty` (multi-select) or `isNotNull`. Comparison: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`. Membership: `in`, `nin` (array operand). Emptiness: `isEmpty`, `isNotEmpty`, `isNull`, `isNotNull` (no operand). Substring, always case-insensitive, operand matched literally: `contains`, `ncontains`, `startsWith`, `endsWith`. Pattern: `like`/`nlike` (case-sensitive), `ilike`/`nilike` (case-insensitive). **`*` is the only wildcard** and stands for any run of characters; `%`, `_`, and backslash match themselves. Use `like: "Hi*"`, not `like: "Hi%"`. A `select` column compares by option id and restricts its operators: single-select accepts `eq`, `ne`, `in`, `nin`; multi-select accepts `contains`, `ncontains`. Option names are accepted as operands and resolved to ids.'
7640
- },
7641
- sort: { kind: "array", describe: "Ordered table-row sort specification." }
7642
- }
7643
- },
7644
8103
  getAuditLog: {
7645
8104
  method: "GET",
7646
- path: "/api/v2/audit-logs/[id]",
7647
- pathParams: ["id"],
7648
- pathParamDocs: { id: "Audit-log entry identifier." },
8105
+ path: "/api/v2/audit-logs/[auditLogId]",
8106
+ pathParams: ["auditLogId"],
8107
+ pathParamDocs: { auditLogId: "Audit-log entry identifier." },
7649
8108
  responseMode: "json",
7650
8109
  summary: "Get Audit Log",
7651
8110
  query: {
@@ -7665,15 +8124,32 @@ var V2_OPERATIONS = {
7665
8124
  query: {
7666
8125
  workspaceId: {
7667
8126
  kind: "string",
7668
- describe: "Workspace whose payer should be resolved. Workspace API keys are pinned to their own workspace."
8127
+ describe: "Workspace whose payer should be resolved. A workspace API key is pinned to its own workspace: any other id answers `404 Workspace not found`, which is also what an id that does not exist answers."
8128
+ }
8129
+ }
8130
+ },
8131
+ getBlock: {
8132
+ method: "GET",
8133
+ path: "/api/v2/blocks/[blockId]",
8134
+ pathParams: ["blockId"],
8135
+ pathParamDocs: {
8136
+ blockId: "Block type identifier. An unversioned base type resolves to the newest version, and the response echoes the resolved id."
8137
+ },
8138
+ responseMode: "json",
8139
+ summary: "Get Block",
8140
+ query: {
8141
+ workspaceId: {
8142
+ kind: "string",
8143
+ required: true,
8144
+ describe: "Workspace whose integration allowlist, revealed preview blocks, and deployed custom blocks decide what this catalog contains."
7669
8145
  }
7670
8146
  }
7671
8147
  },
7672
8148
  getCustomTool: {
7673
8149
  method: "GET",
7674
- path: "/api/v2/custom-tools/[id]",
7675
- pathParams: ["id"],
7676
- pathParamDocs: { id: "Unique custom tool identifier." },
8150
+ path: "/api/v2/custom-tools/[customToolId]",
8151
+ pathParams: ["customToolId"],
8152
+ pathParamDocs: { customToolId: "Unique custom tool identifier." },
7677
8153
  responseMode: "json",
7678
8154
  summary: "Get Custom Tool",
7679
8155
  query: {
@@ -7712,11 +8188,26 @@ var V2_OPERATIONS = {
7712
8188
  workspaceId: { kind: "string", required: true, describe: "Workspace that owns the file." }
7713
8189
  }
7714
8190
  },
8191
+ getFileUpload: {
8192
+ method: "GET",
8193
+ path: "/api/v2/files/uploads/[uploadId]",
8194
+ pathParams: ["uploadId"],
8195
+ pathParamDocs: { uploadId: "Upload session identifier." },
8196
+ responseMode: "json",
8197
+ summary: "Get File Upload",
8198
+ query: {
8199
+ workspaceId: {
8200
+ kind: "string",
8201
+ required: true,
8202
+ describe: "Workspace that owns the upload session."
8203
+ }
8204
+ }
8205
+ },
7715
8206
  getKnowledgeBase: {
7716
8207
  method: "GET",
7717
- path: "/api/v2/knowledge/[id]",
7718
- pathParams: ["id"],
7719
- pathParamDocs: { id: "Unique knowledge base identifier." },
8208
+ path: "/api/v2/knowledge/[knowledgeBaseId]",
8209
+ pathParams: ["knowledgeBaseId"],
8210
+ pathParamDocs: { knowledgeBaseId: "Unique knowledge base identifier." },
7720
8211
  responseMode: "json",
7721
8212
  summary: "Get Knowledge Base",
7722
8213
  query: {
@@ -7727,12 +8218,31 @@ var V2_OPERATIONS = {
7727
8218
  }
7728
8219
  }
7729
8220
  },
8221
+ getKnowledgeChunk: {
8222
+ method: "GET",
8223
+ path: "/api/v2/knowledge/[knowledgeBaseId]/documents/[documentId]/chunks/[chunkId]",
8224
+ pathParams: ["knowledgeBaseId", "documentId", "chunkId"],
8225
+ pathParamDocs: {
8226
+ knowledgeBaseId: "Unique knowledge base identifier.",
8227
+ documentId: "Unique knowledge document identifier.",
8228
+ chunkId: "Unique chunk identifier."
8229
+ },
8230
+ responseMode: "json",
8231
+ summary: "Get Chunk",
8232
+ query: {
8233
+ workspaceId: {
8234
+ kind: "string",
8235
+ required: true,
8236
+ describe: "Workspace that owns the knowledge base."
8237
+ }
8238
+ }
8239
+ },
7730
8240
  getKnowledgeConnector: {
7731
8241
  method: "GET",
7732
- path: "/api/v2/knowledge/[id]/connectors/[connectorId]",
7733
- pathParams: ["id", "connectorId"],
8242
+ path: "/api/v2/knowledge/[knowledgeBaseId]/connectors/[connectorId]",
8243
+ pathParams: ["knowledgeBaseId", "connectorId"],
7734
8244
  pathParamDocs: {
7735
- id: "Knowledge base that owns the connector.",
8245
+ knowledgeBaseId: "Knowledge base that owns the connector.",
7736
8246
  connectorId: "Connector selected for the operation."
7737
8247
  },
7738
8248
  responseMode: "json",
@@ -7747,10 +8257,10 @@ var V2_OPERATIONS = {
7747
8257
  },
7748
8258
  getKnowledgeDocument: {
7749
8259
  method: "GET",
7750
- path: "/api/v2/knowledge/[id]/documents/[documentId]",
7751
- pathParams: ["id", "documentId"],
8260
+ path: "/api/v2/knowledge/[knowledgeBaseId]/documents/[documentId]",
8261
+ pathParams: ["knowledgeBaseId", "documentId"],
7752
8262
  pathParamDocs: {
7753
- id: "Unique knowledge base identifier.",
8263
+ knowledgeBaseId: "Unique knowledge base identifier.",
7754
8264
  documentId: "Unique knowledge document identifier."
7755
8265
  },
7756
8266
  responseMode: "json",
@@ -7771,11 +8281,55 @@ var V2_OPERATIONS = {
7771
8281
  responseMode: "json",
7772
8282
  summary: "Get Log"
7773
8283
  },
8284
+ getLogStats: {
8285
+ method: "GET",
8286
+ path: "/api/v2/logs/stats",
8287
+ pathParams: [],
8288
+ responseMode: "json",
8289
+ summary: "Get Log Statistics",
8290
+ query: {
8291
+ workspaceId: {
8292
+ kind: "string",
8293
+ required: true,
8294
+ describe: "Workspace whose execution statistics to summarize."
8295
+ },
8296
+ workflowIds: {
8297
+ kind: "string",
8298
+ describe: "Comma-separated workflow identifiers to include. At most 200 entries. An empty entry is rejected."
8299
+ },
8300
+ folderPaths: {
8301
+ kind: "string",
8302
+ describe: "Comma-separated workflow folder paths to include. At most 100 entries. A path covers its whole subtree. A path that names no folder narrows the result to nothing, so the response is an empty page rather than an error."
8303
+ },
8304
+ triggers: {
8305
+ kind: "string",
8306
+ describe: "Comma-separated trigger types to include. An empty entry is rejected. The vocabulary is open, so an unrecognized member selects no runs; the literal `all` disables this filter."
8307
+ },
8308
+ level: {
8309
+ kind: "enum",
8310
+ values: ["info", "error"],
8311
+ describe: "Severity level to include."
8312
+ },
8313
+ startDate: {
8314
+ kind: "string",
8315
+ describe: "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."
8316
+ },
8317
+ endDate: {
8318
+ kind: "string",
8319
+ describe: "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."
8320
+ },
8321
+ segmentCount: {
8322
+ kind: "integer",
8323
+ default: 72,
8324
+ describe: "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."
8325
+ }
8326
+ }
8327
+ },
7774
8328
  getMcpServer: {
7775
8329
  method: "GET",
7776
- path: "/api/v2/mcp-servers/[id]",
7777
- pathParams: ["id"],
7778
- pathParamDocs: { id: "Unique MCP server identifier." },
8330
+ path: "/api/v2/mcp-servers/[mcpServerId]",
8331
+ pathParams: ["mcpServerId"],
8332
+ pathParamDocs: { mcpServerId: "Unique MCP server identifier." },
7779
8333
  responseMode: "json",
7780
8334
  summary: "Get MCP Server",
7781
8335
  query: {
@@ -7786,12 +8340,55 @@ var V2_OPERATIONS = {
7786
8340
  }
7787
8341
  }
7788
8342
  },
8343
+ getMeta: {
8344
+ method: "GET",
8345
+ path: "/api/v2/meta",
8346
+ pathParams: [],
8347
+ responseMode: "json",
8348
+ summary: "Get API Capabilities"
8349
+ },
8350
+ getNextKnowledgeTagSlot: {
8351
+ method: "GET",
8352
+ path: "/api/v2/knowledge/[knowledgeBaseId]/tags/next-slot",
8353
+ pathParams: ["knowledgeBaseId"],
8354
+ pathParamDocs: { knowledgeBaseId: "Unique knowledge base identifier." },
8355
+ responseMode: "json",
8356
+ summary: "Get Next Tag Slot",
8357
+ query: {
8358
+ workspaceId: {
8359
+ kind: "string",
8360
+ required: true,
8361
+ describe: "Workspace that owns the knowledge base."
8362
+ },
8363
+ fieldType: {
8364
+ kind: "enum",
8365
+ required: true,
8366
+ values: ["text", "number", "date", "boolean"],
8367
+ describe: "Value type stored in the slot; it decides which slots are usable and which filter operators apply. Slot capacity per type: text 7, number 5, date 2, boolean 3."
8368
+ }
8369
+ }
8370
+ },
8371
+ getRowEnrichment: {
8372
+ method: "GET",
8373
+ path: "/api/v2/tables/[tableId]/rows/[rowId]/enrichment/[groupId]",
8374
+ pathParams: ["tableId", "rowId", "groupId"],
8375
+ pathParamDocs: {
8376
+ tableId: "Unique table identifier.",
8377
+ rowId: "Unique table row identifier.",
8378
+ groupId: "Workflow or enrichment group to run."
8379
+ },
8380
+ responseMode: "json",
8381
+ summary: "Get Enrichment Run Detail",
8382
+ query: {
8383
+ workspaceId: { kind: "string", required: true, describe: "Workspace that owns the table." }
8384
+ }
8385
+ },
7789
8386
  getSkill: {
7790
8387
  method: "GET",
7791
- path: "/api/v2/skills/[id]",
7792
- pathParams: ["id"],
8388
+ path: "/api/v2/skills/[skillId]",
8389
+ pathParams: ["skillId"],
7793
8390
  pathParamDocs: {
7794
- id: "Unique skill identifier. A built-in skill is `builtin-` followed by its name, for example `builtin-research`."
8391
+ skillId: "Unique skill identifier. A built-in skill is `builtin-` followed by its name, for example `builtin-research`."
7795
8392
  },
7796
8393
  responseMode: "json",
7797
8394
  summary: "Get Skill",
@@ -7810,11 +8407,32 @@ var V2_OPERATIONS = {
7810
8407
  workspaceId: { kind: "string", required: true, describe: "Workspace that owns the table." }
7811
8408
  }
7812
8409
  },
8410
+ getTableDispatch: {
8411
+ method: "GET",
8412
+ path: "/api/v2/tables/[tableId]/dispatches/[dispatchId]",
8413
+ pathParams: ["tableId", "dispatchId"],
8414
+ pathParamDocs: {
8415
+ tableId: "Unique table identifier.",
8416
+ dispatchId: "Unique table run-dispatch identifier."
8417
+ },
8418
+ responseMode: "json",
8419
+ summary: "Get Run Dispatch",
8420
+ query: {
8421
+ workspaceId: {
8422
+ kind: "string",
8423
+ required: true,
8424
+ describe: "Workspace that owns the transfer resource."
8425
+ }
8426
+ }
8427
+ },
7813
8428
  getTableExport: {
7814
8429
  method: "GET",
7815
- path: "/api/v2/tables/exports/[exportId]",
7816
- pathParams: ["exportId"],
7817
- pathParamDocs: { exportId: "Unique table-export identifier." },
8430
+ path: "/api/v2/tables/[tableId]/exports/[exportId]",
8431
+ pathParams: ["tableId", "exportId"],
8432
+ pathParamDocs: {
8433
+ tableId: "Unique table identifier.",
8434
+ exportId: "Unique table-export identifier."
8435
+ },
7818
8436
  responseMode: "json",
7819
8437
  summary: "Get Table Export",
7820
8438
  query: {
@@ -7848,7 +8466,11 @@ var V2_OPERATIONS = {
7848
8466
  responseMode: "json",
7849
8467
  summary: "Get Row",
7850
8468
  query: {
7851
- workspaceId: { kind: "string", required: true, describe: "Workspace that owns the table." }
8469
+ workspaceId: { kind: "string", required: true, describe: "Workspace that owns the table." },
8470
+ includeRunState: {
8471
+ kind: "boolean",
8472
+ describe: "Include per-workflow-group run state on the returned row. Off by default."
8473
+ }
7852
8474
  }
7853
8475
  },
7854
8476
  getTableView: {
@@ -7862,27 +8484,63 @@ var V2_OPERATIONS = {
7862
8484
  workspaceId: { kind: "string", required: true, describe: "Workspace that owns the table." }
7863
8485
  }
7864
8486
  },
8487
+ getTool: {
8488
+ method: "GET",
8489
+ path: "/api/v2/tools/[toolId]",
8490
+ pathParams: ["toolId"],
8491
+ pathParamDocs: {
8492
+ toolId: "Tool identifier. An unversioned name resolves to the newest version, and the response echoes the resolved id."
8493
+ },
8494
+ responseMode: "json",
8495
+ summary: "Get Tool",
8496
+ query: {
8497
+ workspaceId: {
8498
+ kind: "string",
8499
+ required: true,
8500
+ describe: "Workspace whose integration allowlist, revealed preview blocks, and deployed custom blocks decide what this catalog contains."
8501
+ }
8502
+ }
8503
+ },
7865
8504
  getWorkflow: {
7866
8505
  method: "GET",
7867
- path: "/api/v2/workflows/[id]",
7868
- pathParams: ["id"],
7869
- pathParamDocs: { id: "Unique workflow identifier." },
8506
+ path: "/api/v2/workflows/[workflowId]",
8507
+ pathParams: ["workflowId"],
8508
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
7870
8509
  responseMode: "json",
7871
8510
  summary: "Get Workflow"
7872
8511
  },
8512
+ getWorkflowChatDeployment: {
8513
+ method: "GET",
8514
+ path: "/api/v2/workflows/[workflowId]/deployments/chat",
8515
+ pathParams: ["workflowId"],
8516
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
8517
+ responseMode: "json",
8518
+ summary: "Get Workflow Chat Deployment"
8519
+ },
7873
8520
  getWorkflowDeployment: {
7874
8521
  method: "GET",
7875
- path: "/api/v2/workflows/[id]/deployment",
7876
- pathParams: ["id"],
7877
- pathParamDocs: { id: "Unique workflow identifier." },
8522
+ path: "/api/v2/workflows/[workflowId]/deployment",
8523
+ pathParams: ["workflowId"],
8524
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
7878
8525
  responseMode: "json",
7879
8526
  summary: "Get Workflow Deployment"
7880
8527
  },
8528
+ getWorkflowMcpServer: {
8529
+ method: "GET",
8530
+ path: "/api/v2/workflow-mcp-servers/[serverId]",
8531
+ pathParams: ["serverId"],
8532
+ pathParamDocs: { serverId: "Unique workflow-MCP server identifier." },
8533
+ responseMode: "json",
8534
+ summary: "Get Workflow MCP Server"
8535
+ },
7881
8536
  getWorkflowRun: {
7882
8537
  method: "GET",
7883
- path: "/api/v2/workflows/[id]/runs/[runId]",
7884
- pathParams: ["id", "runId"],
7885
- pathParamDocs: { id: "Unique workflow identifier.", runId: "Unique workflow run identifier." },
8538
+ path: "/api/v2/workflows/[workflowId]/runs/[runId]",
8539
+ pathParams: ["workflowId", "runId"],
8540
+ pathParamDocs: {
8541
+ workflowId: "Unique workflow identifier.",
8542
+ runId: "Unique workflow run identifier."
8543
+ },
7886
8544
  responseMode: "json",
7887
8545
  summary: "Get Workflow Run",
7888
8546
  query: {
@@ -7893,14 +8551,33 @@ var V2_OPERATIONS = {
7893
8551
  selectedOutputs: {
7894
8552
  kind: "string",
7895
8553
  describe: "Comma-separated block output references to include, as `blockId` or `blockId.path`. Block *names* are not resolved here — unlike the execute request, this resource reads a recorded run and matches ids only, so a name selects nothing and yields an empty `blockOutputs`."
8554
+ },
8555
+ includeFileBase64: {
8556
+ kind: "boolean",
8557
+ describe: "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."
8558
+ },
8559
+ base64MaxBytes: {
8560
+ kind: "integer",
8561
+ describe: "Per-file inline ceiling, lowering but never raising the server limit of 16 MiB."
7896
8562
  }
7897
8563
  }
7898
8564
  },
8565
+ getWorkflowState: {
8566
+ method: "GET",
8567
+ path: "/api/v2/workflows/[workflowId]/state",
8568
+ pathParams: ["workflowId"],
8569
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
8570
+ responseMode: "json",
8571
+ summary: "Get Workflow State"
8572
+ },
7899
8573
  getWorkflowVersion: {
7900
8574
  method: "GET",
7901
- path: "/api/v2/workflows/[id]/versions/[version]",
7902
- pathParams: ["id", "version"],
7903
- pathParamDocs: { id: "Unique workflow identifier.", version: "Numeric deployment version." },
8575
+ path: "/api/v2/workflows/[workflowId]/versions/[version]",
8576
+ pathParams: ["workflowId", "version"],
8577
+ pathParamDocs: {
8578
+ workflowId: "Unique workflow identifier.",
8579
+ version: "Numeric deployment version."
8580
+ },
7904
8581
  responseMode: "json",
7905
8582
  summary: "Get Workflow Version"
7906
8583
  },
@@ -7914,10 +8591,10 @@ var V2_OPERATIONS = {
7914
8591
  },
7915
8592
  grantSkillEditor: {
7916
8593
  method: "POST",
7917
- path: "/api/v2/skills/[id]/editors",
7918
- pathParams: ["id"],
8594
+ path: "/api/v2/skills/[skillId]/editors",
8595
+ pathParams: ["skillId"],
7919
8596
  pathParamDocs: {
7920
- id: "Unique skill identifier. A built-in skill is `builtin-` followed by its name, for example `builtin-research`."
8597
+ skillId: "Unique skill identifier. A built-in skill is `builtin-` followed by its name, for example `builtin-research`."
7921
8598
  },
7922
8599
  responseMode: "json",
7923
8600
  summary: "Grant Skill Editor",
@@ -8049,6 +8726,115 @@ var V2_OPERATIONS = {
8049
8726
  }
8050
8727
  }
8051
8728
  },
8729
+ listBlocks: {
8730
+ method: "GET",
8731
+ path: "/api/v2/blocks",
8732
+ pathParams: [],
8733
+ responseMode: "json",
8734
+ summary: "List Blocks",
8735
+ query: {
8736
+ workspaceId: {
8737
+ kind: "string",
8738
+ required: true,
8739
+ describe: "Workspace whose integration allowlist, revealed preview blocks, and deployed custom blocks decide what this catalog contains."
8740
+ },
8741
+ search: {
8742
+ kind: "string",
8743
+ describe: "Case-insensitive substring match against the block id, name, and description."
8744
+ },
8745
+ category: {
8746
+ kind: "enum",
8747
+ values: ["blocks", "tools", "triggers"],
8748
+ describe: "Restrict to one toolbar category."
8749
+ },
8750
+ capability: {
8751
+ kind: "enum",
8752
+ values: ["trigger"],
8753
+ describe: "Restrict to blocks that can start a workflow — the `triggers` category, blocks declaring `triggerAllowed`, and blocks with trigger-mode fields."
8754
+ },
8755
+ source: {
8756
+ kind: "enum",
8757
+ values: ["builtin", "custom"],
8758
+ describe: "Restrict to shipped blocks or to this workspace’s deployed custom blocks."
8759
+ },
8760
+ sortBy: {
8761
+ kind: "enum",
8762
+ values: ["id", "name", "category"],
8763
+ default: "id",
8764
+ describe: "Field used to sort the result. Sorting by `name` is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order."
8765
+ },
8766
+ sortOrder: {
8767
+ kind: "enum",
8768
+ values: ["asc", "desc"],
8769
+ default: "asc",
8770
+ describe: "Sort direction."
8771
+ },
8772
+ limit: {
8773
+ kind: "integer",
8774
+ default: 50,
8775
+ describe: "Maximum blocks to return per page. Must be a whole number from 1 to 100. Defaults to 50."
8776
+ },
8777
+ cursor: {
8778
+ kind: "string",
8779
+ describe: "Opaque cursor from the previous page. Send it back with the same sort and filters; only `limit` may change. Change anything else and pagination must restart without a cursor."
8780
+ }
8781
+ }
8782
+ },
8783
+ listChatDeployments: {
8784
+ method: "GET",
8785
+ path: "/api/v2/chat-deployments",
8786
+ pathParams: [],
8787
+ responseMode: "json",
8788
+ summary: "List Chat Deployments",
8789
+ query: {
8790
+ workspaceId: {
8791
+ kind: "string",
8792
+ required: true,
8793
+ describe: "Workspace whose chat deployments to list."
8794
+ },
8795
+ workflowId: { kind: "string", describe: "Restrict to deployments of one workflow." },
8796
+ isActive: { kind: "boolean", describe: "Restrict to active or inactive deployments." },
8797
+ sortBy: {
8798
+ kind: "enum",
8799
+ values: ["identifier", "createdAt", "updatedAt"],
8800
+ default: "createdAt",
8801
+ describe: "Field used to sort the result."
8802
+ },
8803
+ sortOrder: {
8804
+ kind: "enum",
8805
+ values: ["asc", "desc"],
8806
+ default: "desc",
8807
+ describe: "Sort direction."
8808
+ },
8809
+ limit: {
8810
+ kind: "integer",
8811
+ default: 50,
8812
+ describe: "Maximum chat deployments to return per page. Must be a whole number from 1 to 100. Defaults to 50."
8813
+ },
8814
+ cursor: {
8815
+ kind: "string",
8816
+ describe: "Opaque cursor from the previous page. Send it back with the same sort and filters; only `limit` may change. Change anything else and pagination must restart without a cursor."
8817
+ }
8818
+ }
8819
+ },
8820
+ listConnectorTypes: {
8821
+ method: "GET",
8822
+ path: "/api/v2/connector-types",
8823
+ pathParams: [],
8824
+ responseMode: "json",
8825
+ summary: "List Connector Types",
8826
+ query: {
8827
+ workspaceId: {
8828
+ kind: "string",
8829
+ required: true,
8830
+ describe: "Workspace whose integration allowlist, revealed preview blocks, and deployed custom blocks decide what this catalog contains."
8831
+ },
8832
+ search: {
8833
+ kind: "string",
8834
+ describe: "Case-insensitive substring match against the connector name."
8835
+ }
8836
+ }
8837
+ },
8052
8838
  listCredentialProviders: {
8053
8839
  method: "GET",
8054
8840
  path: "/api/v2/credentials/providers",
@@ -8185,6 +8971,12 @@ var V2_OPERATIONS = {
8185
8971
  values: ["asc", "desc"],
8186
8972
  default: "asc",
8187
8973
  describe: "Sort direction."
8974
+ },
8975
+ scope: {
8976
+ kind: "enum",
8977
+ values: ["active", "archived"],
8978
+ default: "active",
8979
+ describe: "Which lifecycle set to list: `active` (default) returns live folders only; `archived` returns folders a recursive `DELETE` soft-deleted, which is how a caller finds a path to hand to `POST /api/v2/files/folders/restore`. Authorization is identical for both."
8188
8980
  }
8189
8981
  }
8190
8982
  },
@@ -8267,6 +9059,12 @@ var V2_OPERATIONS = {
8267
9059
  required: true,
8268
9060
  describe: "Workspace whose knowledge bases should be listed."
8269
9061
  },
9062
+ scope: {
9063
+ kind: "enum",
9064
+ values: ["active", "archived"],
9065
+ default: "active",
9066
+ describe: "Which lifecycle set to list: `active` (default) for live knowledge bases, `archived` for knowledge bases a `DELETE` archived and `POST /knowledge/{knowledgeBaseId}/restore` can bring back. `folderPath` resolves against active folders only, so pairing it with `scope=archived` returns an empty page when the containing folder was archived too."
9067
+ },
8270
9068
  folderPath: {
8271
9069
  kind: "string",
8272
9070
  describe: "Restrict results to knowledge bases in this folder. A path that names no folder narrows the result to nothing, so the response is an empty page rather than an error."
@@ -8298,12 +9096,61 @@ var V2_OPERATIONS = {
8298
9096
  }
8299
9097
  }
8300
9098
  },
9099
+ listKnowledgeChunks: {
9100
+ method: "GET",
9101
+ path: "/api/v2/knowledge/[knowledgeBaseId]/documents/[documentId]/chunks",
9102
+ pathParams: ["knowledgeBaseId", "documentId"],
9103
+ pathParamDocs: {
9104
+ knowledgeBaseId: "Unique knowledge base identifier.",
9105
+ documentId: "Unique knowledge document identifier."
9106
+ },
9107
+ responseMode: "json",
9108
+ summary: "List Chunks",
9109
+ query: {
9110
+ workspaceId: {
9111
+ kind: "string",
9112
+ required: true,
9113
+ describe: "Workspace that owns the knowledge base."
9114
+ },
9115
+ search: {
9116
+ kind: "string",
9117
+ describe: "Case-insensitive substring match against chunk content."
9118
+ },
9119
+ enabled: {
9120
+ kind: "enum",
9121
+ values: ["true", "false", "all"],
9122
+ default: "all",
9123
+ describe: "Restrict to enabled or disabled chunks. `all` returns both."
9124
+ },
9125
+ sortBy: {
9126
+ kind: "enum",
9127
+ values: ["chunkIndex", "tokenCount", "enabled"],
9128
+ default: "chunkIndex",
9129
+ describe: "Field used to sort the result."
9130
+ },
9131
+ sortOrder: {
9132
+ kind: "enum",
9133
+ values: ["asc", "desc"],
9134
+ default: "asc",
9135
+ describe: "Sort direction."
9136
+ },
9137
+ limit: {
9138
+ kind: "integer",
9139
+ default: 50,
9140
+ describe: "Maximum chunks to return per page. Must be a whole number from 1 to 100. Defaults to 50."
9141
+ },
9142
+ cursor: {
9143
+ kind: "string",
9144
+ describe: "Opaque cursor from the previous page. Send it back with the same sort and filters; only `limit` may change. Change anything else and pagination must restart without a cursor."
9145
+ }
9146
+ }
9147
+ },
8301
9148
  listKnowledgeConnectorDocuments: {
8302
9149
  method: "GET",
8303
- path: "/api/v2/knowledge/[id]/connectors/[connectorId]/documents",
8304
- pathParams: ["id", "connectorId"],
9150
+ path: "/api/v2/knowledge/[knowledgeBaseId]/connectors/[connectorId]/documents",
9151
+ pathParams: ["knowledgeBaseId", "connectorId"],
8305
9152
  pathParamDocs: {
8306
- id: "Knowledge base that owns the connector.",
9153
+ knowledgeBaseId: "Knowledge base that owns the connector.",
8307
9154
  connectorId: "Connector selected for the operation."
8308
9155
  },
8309
9156
  responseMode: "json",
@@ -8331,9 +9178,9 @@ var V2_OPERATIONS = {
8331
9178
  },
8332
9179
  listKnowledgeConnectors: {
8333
9180
  method: "GET",
8334
- path: "/api/v2/knowledge/[id]/connectors",
8335
- pathParams: ["id"],
8336
- pathParamDocs: { id: "Unique knowledge base identifier." },
9181
+ path: "/api/v2/knowledge/[knowledgeBaseId]/connectors",
9182
+ pathParams: ["knowledgeBaseId"],
9183
+ pathParamDocs: { knowledgeBaseId: "Unique knowledge base identifier." },
8337
9184
  responseMode: "json",
8338
9185
  summary: "List Knowledge Connectors",
8339
9186
  query: {
@@ -8367,9 +9214,9 @@ var V2_OPERATIONS = {
8367
9214
  },
8368
9215
  listKnowledgeDocuments: {
8369
9216
  method: "GET",
8370
- path: "/api/v2/knowledge/[id]/documents",
8371
- pathParams: ["id"],
8372
- pathParamDocs: { id: "Unique knowledge base identifier." },
9217
+ path: "/api/v2/knowledge/[knowledgeBaseId]/documents",
9218
+ pathParams: ["knowledgeBaseId"],
9219
+ pathParamDocs: { knowledgeBaseId: "Unique knowledge base identifier." },
8373
9220
  responseMode: "json",
8374
9221
  summary: "List Documents",
8375
9222
  query: {
@@ -8457,13 +9304,28 @@ var V2_OPERATIONS = {
8457
9304
  }
8458
9305
  }
8459
9306
  },
8460
- listKnowledgeTags: {
9307
+ listKnowledgeTags: {
9308
+ method: "GET",
9309
+ path: "/api/v2/knowledge/[knowledgeBaseId]/tags",
9310
+ pathParams: ["knowledgeBaseId"],
9311
+ pathParamDocs: { knowledgeBaseId: "Unique knowledge base identifier." },
9312
+ responseMode: "json",
9313
+ summary: "List Tags",
9314
+ query: {
9315
+ workspaceId: {
9316
+ kind: "string",
9317
+ required: true,
9318
+ describe: "Workspace that owns the knowledge base."
9319
+ }
9320
+ }
9321
+ },
9322
+ listKnowledgeTagUsage: {
8461
9323
  method: "GET",
8462
- path: "/api/v2/knowledge/[id]/tags",
8463
- pathParams: ["id"],
8464
- pathParamDocs: { id: "Unique knowledge base identifier." },
9324
+ path: "/api/v2/knowledge/[knowledgeBaseId]/tags/usage",
9325
+ pathParams: ["knowledgeBaseId"],
9326
+ pathParamDocs: { knowledgeBaseId: "Unique knowledge base identifier." },
8465
9327
  responseMode: "json",
8466
- summary: "List Tags",
9328
+ summary: "List Tag Usage",
8467
9329
  query: {
8468
9330
  workspaceId: {
8469
9331
  kind: "string",
@@ -8486,11 +9348,11 @@ var V2_OPERATIONS = {
8486
9348
  },
8487
9349
  workflowIds: {
8488
9350
  kind: "string",
8489
- describe: "Comma-separated workflow identifiers to include. An empty entry is rejected."
9351
+ describe: "Comma-separated workflow identifiers to include. An empty entry is rejected. At most 200 entries."
8490
9352
  },
8491
9353
  triggers: {
8492
9354
  kind: "string",
8493
- describe: "Comma-separated trigger types to include. An empty entry is rejected. Values are matched exactly and are case-sensitive — every recorded trigger is lowercase, so `API` matches nothing while `api` matches. The vocabulary is open: it covers the core trigger types (`manual`, `api`, `schedule`, `chat`, `webhook`, `mcp`, `copilot`, `workflow`, `custom_block`) and the provider id of any webhook trigger (`slack`, `gmail`, `github`, …), so an unrecognized member is not rejected — it selects no runs. The literal value `all` is a sentinel that disables this filter entirely, so a list containing it returns runs of every trigger type; no real trigger type is named `all`."
9355
+ describe: "Comma-separated trigger types to include. An empty entry is rejected. Values are matched exactly and are case-sensitive — every recorded trigger is lowercase, so `API` matches nothing while `api` matches. The vocabulary is open: it covers the core trigger types (`manual`, `api`, `schedule`, `chat`, `webhook`, `mcp`, `copilot`, `workflow`, `custom_block`) and the provider id of any webhook trigger (`slack`, `gmail`, `github`, …), so an unrecognized member is not rejected — it selects no runs. The literal value `all` is a sentinel that disables this filter entirely, so a list containing it returns runs of every trigger type; no real trigger type is named `all`. At most 100 entries."
8494
9356
  },
8495
9357
  level: {
8496
9358
  kind: "enum",
@@ -8526,7 +9388,7 @@ var V2_OPERATIONS = {
8526
9388
  kind: "enum",
8527
9389
  values: ["basic", "full"],
8528
9390
  default: "basic",
8529
- describe: "Response detail level. `full` adds the `workflow` summary to every item. `includeTraceSpans=true` and `includeFinalOutput=true` each imply `full`, so either one adds `workflow` even when `details=basic` is sent explicitly."
9391
+ describe: "Response detail level. `full` adds the `workflow` summary to every workflow run; a job run never carries one, whatever this is set to. `includeTraceSpans=true` and `includeFinalOutput=true` each imply `full`, so either one adds `workflow` even when `details=basic` is sent explicitly."
8530
9392
  },
8531
9393
  includeTraceSpans: {
8532
9394
  kind: "boolean",
@@ -8545,16 +9407,34 @@ var V2_OPERATIONS = {
8545
9407
  kind: "string",
8546
9408
  describe: "Opaque cursor from the previous page. Send it back with the same sort and filters; only `limit` may change. Change anything else and pagination must restart without a cursor."
8547
9409
  },
8548
- order: {
9410
+ status: {
9411
+ kind: "string",
9412
+ describe: "Comma-separated execution statuses to include, from `pending` | `running` | `paused` | `redacting` | `completed` | `failed` | `cancelled`. An empty entry is rejected. ANDed with `level`, which reports severity rather than lifecycle."
9413
+ },
9414
+ workflowName: {
9415
+ kind: "string",
9416
+ describe: "Case-insensitive substring match against the run's workflow name. Runs whose workflow has been deleted match nothing, because the name is no longer joinable."
9417
+ },
9418
+ includeJobRuns: {
9419
+ kind: "boolean",
9420
+ describe: 'Whether Chat and Sim-agent job runs join the sequence alongside workflow runs. Job runs report `kind: "job"`, carry no `workflow` summary, and never carry a cost ledger. They are dropped entirely — not partially matched — whenever a filter they cannot answer is set (`workflowIds`, `workflowName`, `folderPaths`, `model`, or `status`), so a filter never means two different things across the union. Accepted only under `sortBy=startedAt`: job runs record cost as a document and no comparable status, so they cannot participate in the other orderings.'
9421
+ },
9422
+ runId: { kind: "string", describe: "Exact run identifier to match." },
9423
+ sortBy: {
9424
+ kind: "enum",
9425
+ values: ["startedAt", "durationMs", "cost", "status"],
9426
+ default: "startedAt",
9427
+ describe: "Field used to sort the result. `durationMs` and `cost` are null until a run settles; those runs order as though the value were below every recorded one, so they trail an ascending page and lead a descending one. Only `startedAt` can order Chat and Sim-agent job runs, so any other value is rejected together with `includeJobRuns=true`."
9428
+ },
9429
+ sortOrder: {
8549
9430
  kind: "enum",
8550
9431
  values: ["asc", "desc"],
8551
9432
  default: "desc",
8552
- describe: "Sort direction by execution start time. This list is sortable only by execution start time, so it takes `order` in place of `sortBy`/`sortOrder`, which it rejects."
9433
+ describe: "Sort direction."
8553
9434
  },
8554
- runId: { kind: "string", describe: "Exact run identifier to match." },
8555
9435
  folderPaths: {
8556
9436
  kind: "string",
8557
- describe: "Comma-separated workflow folder paths to include. A path that names no folder narrows the result to nothing, so the response is an empty page rather than an error."
9437
+ describe: "Comma-separated workflow folder paths to include. At most 100 entries. A path covers its whole subtree, so `/prod` also selects runs in `/prod/nested`. A path that names no folder narrows the result to nothing, so the response is an empty page rather than an error."
8558
9438
  }
8559
9439
  }
8560
9440
  },
@@ -8599,9 +9479,9 @@ var V2_OPERATIONS = {
8599
9479
  },
8600
9480
  listMcpServerTools: {
8601
9481
  method: "GET",
8602
- path: "/api/v2/mcp-servers/[id]/tools",
8603
- pathParams: ["id"],
8604
- pathParamDocs: { id: "Unique MCP server identifier." },
9482
+ path: "/api/v2/mcp-servers/[mcpServerId]/tools",
9483
+ pathParams: ["mcpServerId"],
9484
+ pathParamDocs: { mcpServerId: "Unique MCP server identifier." },
8605
9485
  responseMode: "json",
8606
9486
  summary: "List MCP Server Tools",
8607
9487
  query: {
@@ -8662,10 +9542,10 @@ var V2_OPERATIONS = {
8662
9542
  },
8663
9543
  listSkillEditors: {
8664
9544
  method: "GET",
8665
- path: "/api/v2/skills/[id]/editors",
8666
- pathParams: ["id"],
9545
+ path: "/api/v2/skills/[skillId]/editors",
9546
+ pathParams: ["skillId"],
8667
9547
  pathParamDocs: {
8668
- id: "Unique skill identifier. A built-in skill is `builtin-` followed by its name, for example `builtin-research`."
9548
+ skillId: "Unique skill identifier. A built-in skill is `builtin-` followed by its name, for example `builtin-research`."
8669
9549
  },
8670
9550
  responseMode: "json",
8671
9551
  summary: "List Skill Editors",
@@ -8729,6 +9609,17 @@ var V2_OPERATIONS = {
8729
9609
  }
8730
9610
  }
8731
9611
  },
9612
+ listTableDispatches: {
9613
+ method: "GET",
9614
+ path: "/api/v2/tables/[tableId]/dispatches",
9615
+ pathParams: ["tableId"],
9616
+ pathParamDocs: { tableId: "Unique table identifier." },
9617
+ responseMode: "json",
9618
+ summary: "List Active Run Dispatches",
9619
+ query: {
9620
+ workspaceId: { kind: "string", required: true, describe: "Workspace that owns the table." }
9621
+ }
9622
+ },
8732
9623
  listTableFolders: {
8733
9624
  method: "GET",
8734
9625
  path: "/api/v2/tables/folders",
@@ -8780,6 +9671,10 @@ var V2_OPERATIONS = {
8780
9671
  cursor: {
8781
9672
  kind: "string",
8782
9673
  describe: "Opaque cursor from the previous page. Send it back with the same sort and filters; only `limit` may change. Change anything else and pagination must restart without a cursor."
9674
+ },
9675
+ includeRunState: {
9676
+ kind: "boolean",
9677
+ describe: "Include per-workflow-group run state on every returned row. Off by default: run state is a separate sidecar read and its `blockErrors` are unbounded, so a full page carries it only when asked. Caps `limit` at 200."
8783
9678
  }
8784
9679
  }
8785
9680
  },
@@ -8795,6 +9690,12 @@ var V2_OPERATIONS = {
8795
9690
  required: true,
8796
9691
  describe: "Workspace whose tables should be listed."
8797
9692
  },
9693
+ scope: {
9694
+ kind: "enum",
9695
+ values: ["active", "archived"],
9696
+ default: "active",
9697
+ describe: "Which lifecycle set to list: `active` (default) for live tables, `archived` for tables a `DELETE` archived and `POST /tables/{tableId}/restore` can bring back. `folderPath` resolves against active folders only, so pairing it with `scope=archived` returns an empty page when the containing folder was archived too."
9698
+ },
8798
9699
  folderPath: {
8799
9700
  kind: "string",
8800
9701
  describe: "Restrict results to tables in this folder. A path that names no folder narrows the result to nothing, so the response is an empty page rather than an error."
@@ -8837,6 +9738,54 @@ var V2_OPERATIONS = {
8837
9738
  workspaceId: { kind: "string", required: true, describe: "Workspace that owns the table." }
8838
9739
  }
8839
9740
  },
9741
+ listTools: {
9742
+ method: "GET",
9743
+ path: "/api/v2/tools",
9744
+ pathParams: [],
9745
+ responseMode: "json",
9746
+ summary: "List Tools",
9747
+ query: {
9748
+ workspaceId: {
9749
+ kind: "string",
9750
+ required: true,
9751
+ describe: "Workspace whose integration allowlist, revealed preview blocks, and deployed custom blocks decide what this catalog contains."
9752
+ },
9753
+ search: {
9754
+ kind: "string",
9755
+ describe: "Case-insensitive substring match against the tool id, name, and description."
9756
+ },
9757
+ hostedApiKey: {
9758
+ kind: "enum",
9759
+ values: ["always", "conditional", "none"],
9760
+ describe: "Restrict to tools by how their API key is supplied."
9761
+ },
9762
+ oauthProvider: {
9763
+ kind: "string",
9764
+ describe: "Restrict to tools that authenticate against this OAuth service."
9765
+ },
9766
+ sortBy: {
9767
+ kind: "enum",
9768
+ values: ["id", "name"],
9769
+ default: "id",
9770
+ describe: "Field used to sort the result. Sorting by `name` is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order."
9771
+ },
9772
+ sortOrder: {
9773
+ kind: "enum",
9774
+ values: ["asc", "desc"],
9775
+ default: "asc",
9776
+ describe: "Sort direction."
9777
+ },
9778
+ limit: {
9779
+ kind: "integer",
9780
+ default: 50,
9781
+ describe: "Maximum tools to return per page. Must be a whole number from 1 to 100. Defaults to 50."
9782
+ },
9783
+ cursor: {
9784
+ kind: "string",
9785
+ describe: "Opaque cursor from the previous page. Send it back with the same sort and filters; only `limit` may change. Change anything else and pagination must restart without a cursor."
9786
+ }
9787
+ }
9788
+ },
8840
9789
  listWorkflowFolders: {
8841
9790
  method: "GET",
8842
9791
  path: "/api/v2/workflows/folders",
@@ -8882,11 +9831,54 @@ var V2_OPERATIONS = {
8882
9831
  workspaceId: { kind: "string", required: true, describe: "Workspace that owns the table." }
8883
9832
  }
8884
9833
  },
9834
+ listWorkflowMcpServers: {
9835
+ method: "GET",
9836
+ path: "/api/v2/workflow-mcp-servers",
9837
+ pathParams: [],
9838
+ responseMode: "json",
9839
+ summary: "List Workflow MCP Servers",
9840
+ query: {
9841
+ workspaceId: {
9842
+ kind: "string",
9843
+ required: true,
9844
+ describe: "Workspace whose published MCP servers to list."
9845
+ },
9846
+ sortBy: {
9847
+ kind: "enum",
9848
+ values: ["name", "createdAt", "updatedAt"],
9849
+ default: "createdAt",
9850
+ describe: "Field used to sort the result. Sorting by `name` is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order."
9851
+ },
9852
+ sortOrder: {
9853
+ kind: "enum",
9854
+ values: ["asc", "desc"],
9855
+ default: "desc",
9856
+ describe: "Sort direction."
9857
+ },
9858
+ limit: {
9859
+ kind: "integer",
9860
+ default: 50,
9861
+ describe: "Maximum workflow-MCP servers to return per page. Must be a whole number from 1 to 100. Defaults to 50."
9862
+ },
9863
+ cursor: {
9864
+ kind: "string",
9865
+ describe: "Opaque cursor from the previous page. Send it back with the same sort and filters; only `limit` may change. Change anything else and pagination must restart without a cursor."
9866
+ }
9867
+ }
9868
+ },
9869
+ listWorkflowMcpTools: {
9870
+ method: "GET",
9871
+ path: "/api/v2/workflow-mcp-servers/[serverId]/tools",
9872
+ pathParams: ["serverId"],
9873
+ pathParamDocs: { serverId: "Unique workflow-MCP server identifier." },
9874
+ responseMode: "json",
9875
+ summary: "List Workflow MCP Tools"
9876
+ },
8885
9877
  listWorkflowRuns: {
8886
9878
  method: "GET",
8887
- path: "/api/v2/workflows/[id]/runs",
8888
- pathParams: ["id"],
8889
- pathParamDocs: { id: "Unique workflow identifier." },
9879
+ path: "/api/v2/workflows/[workflowId]/runs",
9880
+ pathParams: ["workflowId"],
9881
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
8890
9882
  responseMode: "json",
8891
9883
  summary: "List Workflow Runs",
8892
9884
  query: {
@@ -8933,6 +9925,12 @@ var V2_OPERATIONS = {
8933
9925
  required: true,
8934
9926
  describe: "Workspace whose workflows should be listed."
8935
9927
  },
9928
+ scope: {
9929
+ kind: "enum",
9930
+ values: ["active", "archived"],
9931
+ default: "active",
9932
+ describe: "Which lifecycle set to list: `active` (default) for live workflows, `archived` for workflows a `DELETE` archived. `folderPath` resolves against active folders only, so pairing it with `scope=archived` returns an empty page when the containing folder was archived too."
9933
+ },
8936
9934
  folderPath: {
8937
9935
  kind: "string",
8938
9936
  describe: "Restrict results to workflows in this folder path. A path that names no folder narrows the result to nothing, so the response is an empty page rather than an error."
@@ -8970,9 +9968,9 @@ var V2_OPERATIONS = {
8970
9968
  },
8971
9969
  listWorkflowVersions: {
8972
9970
  method: "GET",
8973
- path: "/api/v2/workflows/[id]/versions",
8974
- pathParams: ["id"],
8975
- pathParamDocs: { id: "Unique workflow identifier." },
9971
+ path: "/api/v2/workflows/[workflowId]/versions",
9972
+ pathParams: ["workflowId"],
9973
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
8976
9974
  responseMode: "json",
8977
9975
  summary: "List Workflow Versions",
8978
9976
  query: {
@@ -9051,6 +10049,50 @@ var V2_OPERATIONS = {
9051
10049
  }
9052
10050
  }
9053
10051
  },
10052
+ moveTables: {
10053
+ method: "POST",
10054
+ path: "/api/v2/tables/move",
10055
+ pathParams: [],
10056
+ responseMode: "json",
10057
+ summary: "Move Tables and Folders",
10058
+ body: {
10059
+ workspaceId: {
10060
+ kind: "string",
10061
+ required: true,
10062
+ describe: "Workspace that owns every selected item."
10063
+ },
10064
+ tableIds: { kind: "array", default: [], describe: "Tables to move, by identifier." },
10065
+ folderPaths: { kind: "array", describe: "Table folders to re-parent, by canonical path." },
10066
+ targetFolderPath: {
10067
+ kind: "string",
10068
+ describe: "Destination folder path. Omit to move the selection to the workspace root."
10069
+ }
10070
+ }
10071
+ },
10072
+ moveWorkflows: {
10073
+ method: "POST",
10074
+ path: "/api/v2/workflows/move",
10075
+ pathParams: [],
10076
+ responseMode: "json",
10077
+ summary: "Move Workflows",
10078
+ body: {
10079
+ workspaceId: {
10080
+ kind: "string",
10081
+ required: true,
10082
+ describe: "Workspace holding every workflow in the batch."
10083
+ },
10084
+ workflowIds: {
10085
+ kind: "array",
10086
+ required: true,
10087
+ describe: "Workflows to move. Duplicates are collapsed."
10088
+ },
10089
+ folderPath: {
10090
+ kind: "string",
10091
+ required: true,
10092
+ describe: "Destination folder path; `/` moves the workflows to the workspace root."
10093
+ }
10094
+ }
10095
+ },
9054
10096
  queryRows: {
9055
10097
  method: "POST",
9056
10098
  path: "/api/v2/tables/[tableId]/query",
@@ -9069,7 +10111,12 @@ var V2_OPERATIONS = {
9069
10111
  kind: "integer",
9070
10112
  describe: "Maximum rows to return; zero requests an unbounded result."
9071
10113
  },
9072
- cursor: { kind: "string", describe: "Opaque cursor returned by the previous query page." }
10114
+ cursor: { kind: "string", describe: "Opaque cursor returned by the previous query page." },
10115
+ includeRunState: {
10116
+ kind: "boolean",
10117
+ default: false,
10118
+ describe: "Include per-workflow-group run state on every returned row. Off by default: run state is a separate sidecar read and its `blockErrors` are unbounded, so a full page carries it only when asked. Incompatible with `limit: 0`, and caps `limit` at 200."
10119
+ }
9073
10120
  }
9074
10121
  },
9075
10122
  queryRowsCount: {
@@ -9087,6 +10134,21 @@ var V2_OPERATIONS = {
9087
10134
  }
9088
10135
  }
9089
10136
  },
10137
+ readFileText: {
10138
+ method: "GET",
10139
+ path: "/api/v2/files/[fileId]/text",
10140
+ pathParams: ["fileId"],
10141
+ pathParamDocs: { fileId: "File identifier." },
10142
+ responseMode: "json",
10143
+ summary: "Read File Text",
10144
+ query: {
10145
+ workspaceId: { kind: "string", required: true, describe: "Workspace that owns the file." },
10146
+ maxBytes: {
10147
+ kind: "integer",
10148
+ describe: "Optional ceiling on the source bytes fed to the parser, lowering but never raising the server limit."
10149
+ }
10150
+ }
10151
+ },
9090
10152
  relocateFileFolder: {
9091
10153
  method: "PATCH",
9092
10154
  path: "/api/v2/files/folders",
@@ -9140,49 +10202,206 @@ var V2_OPERATIONS = {
9140
10202
  path: "/api/v2/workflows/folders",
9141
10203
  pathParams: [],
9142
10204
  responseMode: "json",
9143
- summary: "Rename or Move Workflow Folder",
10205
+ summary: "Rename or Move Workflow Folder",
10206
+ body: {
10207
+ workspaceId: { kind: "string", required: true, describe: "Workspace containing the folder." },
10208
+ path: { kind: "string", required: true, describe: "Current folder path." },
10209
+ destinationPath: {
10210
+ kind: "string",
10211
+ required: true,
10212
+ describe: "New full path for the folder and its descendants."
10213
+ }
10214
+ }
10215
+ },
10216
+ renameFile: {
10217
+ method: "PATCH",
10218
+ path: "/api/v2/files/[fileId]",
10219
+ pathParams: ["fileId"],
10220
+ pathParamDocs: { fileId: "File identifier." },
10221
+ responseMode: "json",
10222
+ summary: "Rename File",
10223
+ body: {
10224
+ workspaceId: { kind: "string", required: true, describe: "Workspace that owns the file." },
10225
+ name: { kind: "string", required: true, describe: "New file name, including its extension." }
10226
+ }
10227
+ },
10228
+ replaceWorkflowChatDeployment: {
10229
+ method: "PUT",
10230
+ path: "/api/v2/workflows/[workflowId]/deployments/chat",
10231
+ pathParams: ["workflowId"],
10232
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
10233
+ responseMode: "json",
10234
+ summary: "Create or Replace Workflow Chat Deployment",
10235
+ body: {
10236
+ identifier: {
10237
+ kind: "string",
10238
+ required: true,
10239
+ describe: "URL slug the deployed chat answers on. Must be free across live deployments."
10240
+ },
10241
+ title: { kind: "string", required: true, describe: "Title shown to visitors." },
10242
+ description: {
10243
+ kind: "string",
10244
+ describe: "Description shown to visitors. Omitted clears it."
10245
+ },
10246
+ customizations: {
10247
+ kind: "object",
10248
+ describe: "Presentation overrides. Omitted fields take platform defaults."
10249
+ },
10250
+ authType: {
10251
+ kind: "enum",
10252
+ values: ["public", "password", "email", "sso"],
10253
+ default: "public",
10254
+ describe: "How visitors are gated. `public` leaves the chat open to anyone holding the URL."
10255
+ },
10256
+ password: {
10257
+ kind: "string",
10258
+ describe: "Write-only password. Required whenever `authType` is `password`, and rejected otherwise. Never readable back."
10259
+ },
10260
+ allowedEmails: {
10261
+ kind: "array",
10262
+ describe: "Email addresses or domains admitted under `email` and `sso` gating. At least one is required for those modes."
10263
+ },
10264
+ outputConfigs: {
10265
+ kind: "array",
10266
+ describe: "Block outputs to surface to visitors. Omitted surfaces none."
10267
+ },
10268
+ includeThinking: {
10269
+ kind: "boolean",
10270
+ default: false,
10271
+ describe: "Allow visitors to receive provider thinking events."
10272
+ },
10273
+ includeToolCalls: {
10274
+ kind: "boolean",
10275
+ default: false,
10276
+ describe: "Allow visitors to receive tool lifecycle events."
10277
+ }
10278
+ }
10279
+ },
10280
+ replaceWorkflowState: {
10281
+ method: "PUT",
10282
+ path: "/api/v2/workflows/[workflowId]/state",
10283
+ pathParams: ["workflowId"],
10284
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
10285
+ responseMode: "json",
10286
+ summary: "Replace Workflow State",
10287
+ query: {
10288
+ dryRun: {
10289
+ kind: "boolean",
10290
+ describe: "Validate and lint without persisting. The response is identical to the committed write of the same body, so a caller can inspect `lint` and then re-send the request for real. Nothing is written, no audit entry is recorded, and collaborators are not notified."
10291
+ }
10292
+ },
10293
+ body: {
10294
+ blocks: { kind: "object", required: true, describe: "Blocks keyed by block id." },
10295
+ edges: { kind: "array", required: true, describe: "Directed connections between blocks." },
10296
+ loops: {
10297
+ kind: "object",
10298
+ describe: "Ignored on write: loop containers are recomputed from `blocks`."
10299
+ },
10300
+ parallels: {
10301
+ kind: "object",
10302
+ describe: "Ignored on write: parallel containers are recomputed from `blocks`."
10303
+ },
10304
+ variables: {
10305
+ kind: "object",
10306
+ describe: "Replacement variable set. Omit to leave the stored variables untouched."
10307
+ }
10308
+ }
10309
+ },
10310
+ restoreFile: {
10311
+ method: "POST",
10312
+ path: "/api/v2/files/[fileId]/restore",
10313
+ pathParams: ["fileId"],
10314
+ pathParamDocs: { fileId: "File identifier." },
10315
+ responseMode: "json",
10316
+ summary: "Restore File",
10317
+ body: {
10318
+ workspaceId: {
10319
+ kind: "string",
10320
+ required: true,
10321
+ describe: "Workspace that owns the archived file."
10322
+ }
10323
+ }
10324
+ },
10325
+ restoreFileFolder: {
10326
+ method: "POST",
10327
+ path: "/api/v2/files/folders/restore",
10328
+ pathParams: [],
10329
+ responseMode: "json",
10330
+ summary: "Restore Folder",
10331
+ body: {
10332
+ workspaceId: {
10333
+ kind: "string",
10334
+ required: true,
10335
+ describe: "Workspace that owns the archived folder."
10336
+ },
10337
+ path: {
10338
+ kind: "string",
10339
+ required: true,
10340
+ describe: "Path of the archived folder to restore, as reported by `GET /api/v2/files/folders?scope=archived`."
10341
+ }
10342
+ }
10343
+ },
10344
+ restoreKnowledgeBase: {
10345
+ method: "POST",
10346
+ path: "/api/v2/knowledge/[knowledgeBaseId]/restore",
10347
+ pathParams: ["knowledgeBaseId"],
10348
+ pathParamDocs: { knowledgeBaseId: "Unique knowledge base identifier." },
10349
+ responseMode: "json",
10350
+ summary: "Restore Knowledge Base",
9144
10351
  body: {
9145
- workspaceId: { kind: "string", required: true, describe: "Workspace containing the folder." },
9146
- path: { kind: "string", required: true, describe: "Current folder path." },
9147
- destinationPath: {
10352
+ workspaceId: {
9148
10353
  kind: "string",
9149
10354
  required: true,
9150
- describe: "New full path for the folder and its descendants."
10355
+ describe: "Workspace that owns the knowledge base."
9151
10356
  }
9152
10357
  }
9153
10358
  },
9154
- renameFile: {
9155
- method: "PATCH",
9156
- path: "/api/v2/files/[fileId]",
9157
- pathParams: ["fileId"],
9158
- pathParamDocs: { fileId: "File identifier." },
10359
+ restoreTable: {
10360
+ method: "POST",
10361
+ path: "/api/v2/tables/[tableId]/restore",
10362
+ pathParams: ["tableId"],
10363
+ pathParamDocs: { tableId: "Unique table identifier." },
9159
10364
  responseMode: "json",
9160
- summary: "Rename File",
10365
+ summary: "Restore Table",
9161
10366
  body: {
9162
- workspaceId: { kind: "string", required: true, describe: "Workspace that owns the file." },
9163
- name: { kind: "string", required: true, describe: "New file name, including its extension." }
10367
+ workspaceId: { kind: "string", required: true, describe: "Unique workspace identifier." }
9164
10368
  }
9165
10369
  },
9166
- restoreFile: {
10370
+ restoreTableFolder: {
9167
10371
  method: "POST",
9168
- path: "/api/v2/files/[fileId]/restore",
9169
- pathParams: ["fileId"],
9170
- pathParamDocs: { fileId: "File identifier." },
10372
+ path: "/api/v2/tables/folders/restore",
10373
+ pathParams: [],
9171
10374
  responseMode: "json",
9172
- summary: "Restore File",
10375
+ summary: "Restore Folder",
9173
10376
  body: {
9174
10377
  workspaceId: {
9175
10378
  kind: "string",
9176
10379
  required: true,
9177
- describe: "Workspace that owns the archived file."
10380
+ describe: "Workspace that owns the archived folder."
10381
+ },
10382
+ path: {
10383
+ kind: "string",
10384
+ required: true,
10385
+ describe: "Path the folder held when `DELETE /api/v2/tables/folders` archived it."
9178
10386
  }
9179
10387
  }
9180
10388
  },
10389
+ restoreWorkflow: {
10390
+ method: "POST",
10391
+ path: "/api/v2/workflows/[workflowId]/restore",
10392
+ pathParams: ["workflowId"],
10393
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
10394
+ responseMode: "json",
10395
+ summary: "Restore Workflow"
10396
+ },
9181
10397
  resumeWorkflow: {
9182
10398
  method: "POST",
9183
- path: "/api/v2/workflows/[id]/runs/[runId]/resume",
9184
- pathParams: ["id", "runId"],
9185
- pathParamDocs: { id: "Unique workflow identifier.", runId: "Unique workflow run identifier." },
10399
+ path: "/api/v2/workflows/[workflowId]/runs/[runId]/resume",
10400
+ pathParams: ["workflowId", "runId"],
10401
+ pathParamDocs: {
10402
+ workflowId: "Unique workflow identifier.",
10403
+ runId: "Unique workflow run identifier."
10404
+ },
9186
10405
  responseMode: "json",
9187
10406
  summary: "Resume Workflow Run",
9188
10407
  body: {
@@ -9194,12 +10413,23 @@ var V2_OPERATIONS = {
9194
10413
  input: { kind: "unknown", describe: "Input supplied to the paused workflow block." }
9195
10414
  }
9196
10415
  },
10416
+ revertWorkflowVersion: {
10417
+ method: "POST",
10418
+ path: "/api/v2/workflows/[workflowId]/versions/[version]/revert",
10419
+ pathParams: ["workflowId", "version"],
10420
+ pathParamDocs: {
10421
+ workflowId: "Unique workflow identifier.",
10422
+ version: "Numeric deployment version, or `active` for the currently live version."
10423
+ },
10424
+ responseMode: "json",
10425
+ summary: "Revert Workflow To Version"
10426
+ },
9197
10427
  revokeSkillEditor: {
9198
10428
  method: "DELETE",
9199
- path: "/api/v2/skills/[id]/editors",
9200
- pathParams: ["id"],
10429
+ path: "/api/v2/skills/[skillId]/editors",
10430
+ pathParams: ["skillId"],
9201
10431
  pathParamDocs: {
9202
- id: "Unique skill identifier. A built-in skill is `builtin-` followed by its name, for example `builtin-research`."
10432
+ skillId: "Unique skill identifier. A built-in skill is `builtin-` followed by its name, for example `builtin-research`."
9203
10433
  },
9204
10434
  responseMode: "json",
9205
10435
  summary: "Revoke Skill Editor",
@@ -9214,9 +10444,9 @@ var V2_OPERATIONS = {
9214
10444
  },
9215
10445
  rollbackWorkflow: {
9216
10446
  method: "POST",
9217
- path: "/api/v2/workflows/[id]/rollback",
9218
- pathParams: ["id"],
9219
- pathParamDocs: { id: "Unique workflow identifier." },
10447
+ path: "/api/v2/workflows/[workflowId]/rollback",
10448
+ pathParams: ["workflowId"],
10449
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
9220
10450
  responseMode: "json",
9221
10451
  summary: "Rollback Workflow",
9222
10452
  body: {
@@ -9241,35 +10471,6 @@ var V2_OPERATIONS = {
9241
10471
  workspaceId: { kind: "string", required: true, describe: "Unique workspace identifier." }
9242
10472
  }
9243
10473
  },
9244
- runTableColumn: {
9245
- method: "POST",
9246
- path: "/api/v2/tables/[tableId]/columns/run",
9247
- pathParams: ["tableId"],
9248
- pathParamDocs: { tableId: "Unique table identifier." },
9249
- responseMode: "json",
9250
- summary: "Run Column Groups",
9251
- body: {
9252
- workspaceId: { kind: "string", required: true, describe: "Unique workspace identifier." },
9253
- groupIds: {
9254
- kind: "array",
9255
- required: true,
9256
- describe: "Workflow or enrichment groups to run."
9257
- },
9258
- runMode: {
9259
- kind: "enum",
9260
- values: ["all", "incomplete"],
9261
- default: "all",
9262
- describe: "Whether to run all or only incomplete cells."
9263
- },
9264
- rowIds: { kind: "array", describe: "Explicit row subset to run." },
9265
- filter: {
9266
- kind: "unknown",
9267
- describe: 'Recursive predicate tree. Each group node is exactly one non-empty `all` or `any` array whose members are further groups or `{ field, op, value }` conditions; the root must be a group, not a bare condition. At most 100 members per group, 10 levels of nesting, and 500 nodes in total. The negating operators include nulls: `ne`, `nin`, `ncontains`, `nlike`, and `nilike` match rows whose column is null or absent, so "not X" is not the complement of "X" over a nullable column. That holds for every column type, multi-select included. To exclude nulls, `all`-combine the negation with `isNotEmpty` (multi-select) or `isNotNull`. Comparison: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`. Membership: `in`, `nin` (array operand). Emptiness: `isEmpty`, `isNotEmpty`, `isNull`, `isNotNull` (no operand). Substring, always case-insensitive, operand matched literally: `contains`, `ncontains`, `startsWith`, `endsWith`. Pattern: `like`/`nlike` (case-sensitive), `ilike`/`nilike` (case-insensitive). **`*` is the only wildcard** and stands for any run of characters; `%`, `_`, and backslash match themselves. Use `like: "Hi*"`, not `like: "Hi%"`. A `select` column compares by option id and restricts its operators: single-select accepts `eq`, `ne`, `in`, `nin`; multi-select accepts `contains`, `ncontains`. Option names are accepted as operands and resolved to ids.'
9268
- },
9269
- excludeRowIds: { kind: "array", describe: "Rows excluded from a select-all run scope." },
9270
- limit: { kind: "object", describe: "Optional cap on eligible rows to run." }
9271
- }
9272
- },
9273
10474
  searchKnowledge: {
9274
10475
  method: "POST",
9275
10476
  path: "/api/v2/knowledge/search",
@@ -9298,7 +10499,7 @@ var V2_OPERATIONS = {
9298
10499
  },
9299
10500
  tagFilters: {
9300
10501
  kind: "array",
9301
- describe: "Structured tag filters, at most 10 of them. Every filter must hold, including two that name the same tag: repeating one tag narrows the result rather than widening it, matching `GET /api/v2/knowledge/{id}/documents`. To match either of two values for one tag, issue a search per value. Each filtered tag must resolve to the same slot and field type in every knowledge base selected; one missing from any of them, or defined inconsistently across them, is rejected rather than ignored, and those knowledge bases must be searched separately. List the available names with `GET /api/v2/knowledge/{id}/tags`."
10502
+ describe: "Structured tag filters, at most 10 of them. Every filter must hold, including two that name the same tag: repeating one tag narrows the result rather than widening it, matching `GET /api/v2/knowledge/{knowledgeBaseId}/documents`. To match either of two values for one tag, issue a search per value. Each filtered tag must resolve to the same slot and field type in every knowledge base selected; one missing from any of them, or defined inconsistently across them, is rejected rather than ignored, and those knowledge bases must be searched separately. List the available names with `GET /api/v2/knowledge/{knowledgeBaseId}/tags`."
9302
10503
  },
9303
10504
  searchMode: {
9304
10505
  kind: "enum",
@@ -9321,6 +10522,23 @@ var V2_OPERATIONS = {
9321
10522
  }
9322
10523
  }
9323
10524
  },
10525
+ searchTableRows: {
10526
+ method: "POST",
10527
+ path: "/api/v2/tables/[tableId]/rows/search",
10528
+ pathParams: ["tableId"],
10529
+ pathParamDocs: { tableId: "Unique table identifier." },
10530
+ responseMode: "json",
10531
+ summary: "Search Rows",
10532
+ body: {
10533
+ workspaceId: { kind: "string", required: true, describe: "Unique workspace identifier." },
10534
+ q: { kind: "string", required: true, describe: "Case-insensitive cell substring to find." },
10535
+ predicate: {
10536
+ kind: "unknown",
10537
+ describe: 'Recursive predicate tree. Each group node is exactly one non-empty `all` or `any` array whose members are further groups or `{ field, op, value }` conditions; the root must be a group, not a bare condition. At most 100 members per group, 10 levels of nesting, and 500 nodes in total. The negating operators include nulls: `ne`, `nin`, `ncontains`, `nlike`, and `nilike` match rows whose column is null or absent, so "not X" is not the complement of "X" over a nullable column. That holds for every column type, multi-select included. To exclude nulls, `all`-combine the negation with `isNotEmpty` (multi-select) or `isNotNull`. Comparison: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`. Membership: `in`, `nin` (array operand). Emptiness: `isEmpty`, `isNotEmpty`, `isNull`, `isNotNull` (no operand). Substring, always case-insensitive, operand matched literally: `contains`, `ncontains`, `startsWith`, `endsWith`. Pattern: `like`/`nlike` (case-sensitive), `ilike`/`nilike` (case-insensitive). **`*` is the only wildcard** and stands for any run of characters; `%`, `_`, and backslash match themselves. Use `like: "Hi*"`, not `like: "Hi%"`. A `select` column compares by option id and restricts its operators: single-select accepts `eq`, `ne`, `in`, `nin`; multi-select accepts `contains`, `ncontains`. Option names are accepted as operands and resolved to ids.'
10538
+ },
10539
+ sort: { kind: "array", describe: "Ordered table-row sort specification." }
10540
+ }
10541
+ },
9324
10542
  setSecret: {
9325
10543
  method: "PUT",
9326
10544
  path: "/api/v2/secrets/[name]",
@@ -9357,10 +10575,10 @@ var V2_OPERATIONS = {
9357
10575
  },
9358
10576
  syncKnowledgeConnector: {
9359
10577
  method: "POST",
9360
- path: "/api/v2/knowledge/[id]/connectors/[connectorId]/sync",
9361
- pathParams: ["id", "connectorId"],
10578
+ path: "/api/v2/knowledge/[knowledgeBaseId]/connectors/[connectorId]/sync",
10579
+ pathParams: ["knowledgeBaseId", "connectorId"],
9362
10580
  pathParamDocs: {
9363
- id: "Knowledge base that owns the connector.",
10581
+ knowledgeBaseId: "Knowledge base that owns the connector.",
9364
10582
  connectorId: "Connector selected for the operation."
9365
10583
  },
9366
10584
  responseMode: "json",
@@ -9380,9 +10598,12 @@ var V2_OPERATIONS = {
9380
10598
  },
9381
10599
  tableExportDownload: {
9382
10600
  method: "GET",
9383
- path: "/api/v2/tables/exports/[exportId]/download",
9384
- pathParams: ["exportId"],
9385
- pathParamDocs: { exportId: "Unique table-export identifier." },
10601
+ path: "/api/v2/tables/[tableId]/exports/[exportId]/download",
10602
+ pathParams: ["tableId", "exportId"],
10603
+ pathParamDocs: {
10604
+ tableId: "Unique table identifier.",
10605
+ exportId: "Unique table-export identifier."
10606
+ },
9386
10607
  responseMode: "json",
9387
10608
  summary: "Download Table Export",
9388
10609
  query: {
@@ -9395,17 +10616,77 @@ var V2_OPERATIONS = {
9395
10616
  },
9396
10617
  undeployWorkflow: {
9397
10618
  method: "DELETE",
9398
- path: "/api/v2/workflows/[id]/deploy",
9399
- pathParams: ["id"],
9400
- pathParamDocs: { id: "Unique workflow identifier." },
10619
+ path: "/api/v2/workflows/[workflowId]/deploy",
10620
+ pathParams: ["workflowId"],
10621
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
9401
10622
  responseMode: "json",
9402
10623
  summary: "Undeploy Workflow"
9403
10624
  },
10625
+ undeployWorkflowMcpTool: {
10626
+ method: "DELETE",
10627
+ path: "/api/v2/workflow-mcp-servers/[serverId]/tools/[workflowId]",
10628
+ pathParams: ["serverId", "workflowId"],
10629
+ pathParamDocs: {
10630
+ serverId: "Unique workflow-MCP server identifier.",
10631
+ workflowId: "Workflow published as a tool on this server."
10632
+ },
10633
+ responseMode: "json",
10634
+ summary: "Unpublish Workflow MCP Tool"
10635
+ },
10636
+ unzipFile: {
10637
+ method: "POST",
10638
+ path: "/api/v2/files/[fileId]/unzip",
10639
+ pathParams: ["fileId"],
10640
+ pathParamDocs: { fileId: "File identifier." },
10641
+ responseMode: "json",
10642
+ summary: "Unzip File",
10643
+ body: {
10644
+ workspaceId: { kind: "string", required: true, describe: "Workspace that owns the archive." }
10645
+ }
10646
+ },
10647
+ updateCredential: {
10648
+ method: "PATCH",
10649
+ path: "/api/v2/credentials/[credentialId]",
10650
+ pathParams: ["credentialId"],
10651
+ pathParamDocs: { credentialId: "Credential to update or disconnect." },
10652
+ responseMode: "json",
10653
+ summary: "Update Credential",
10654
+ query: {
10655
+ workspaceId: {
10656
+ kind: "string",
10657
+ required: true,
10658
+ describe: "Workspace expected to own the credential."
10659
+ }
10660
+ },
10661
+ body: {
10662
+ displayName: { kind: "string", describe: "New name shown for the credential in Sim." },
10663
+ description: {
10664
+ kind: "string",
10665
+ describe: "New credential description. Send null to clear the stored one."
10666
+ },
10667
+ serviceAccountJson: {
10668
+ kind: "string",
10669
+ describe: "Write-only Google service-account JSON key."
10670
+ },
10671
+ apiToken: { kind: "string", describe: "Write-only provider API token." },
10672
+ domain: { kind: "string", describe: "Provider account domain." },
10673
+ signingSecret: { kind: "string", describe: "Write-only webhook signing secret." },
10674
+ botToken: { kind: "string", describe: "Write-only bot token." },
10675
+ clientId: { kind: "string", describe: "OAuth client identifier." },
10676
+ clientSecret: { kind: "string", describe: "Write-only OAuth client secret." },
10677
+ certificateId: { kind: "string", describe: "Provider certificate mapping identifier." },
10678
+ orgId: { kind: "string", describe: "Provider organization ID." },
10679
+ dataCenter: { kind: "string", describe: "Provider data center." },
10680
+ authMethod: { kind: "string", describe: "Provider authentication method." },
10681
+ privateKey: { kind: "string", describe: "Write-only PEM private key." },
10682
+ username: { kind: "string", describe: "Provider run-as username." }
10683
+ }
10684
+ },
9404
10685
  updateCustomTool: {
9405
10686
  method: "PATCH",
9406
- path: "/api/v2/custom-tools/[id]",
9407
- pathParams: ["id"],
9408
- pathParamDocs: { id: "Unique custom tool identifier." },
10687
+ path: "/api/v2/custom-tools/[customToolId]",
10688
+ pathParams: ["customToolId"],
10689
+ pathParamDocs: { customToolId: "Unique custom tool identifier." },
9409
10690
  responseMode: "json",
9410
10691
  summary: "Update Custom Tool",
9411
10692
  body: {
@@ -9443,9 +10724,9 @@ var V2_OPERATIONS = {
9443
10724
  },
9444
10725
  updateKnowledgeBase: {
9445
10726
  method: "PATCH",
9446
- path: "/api/v2/knowledge/[id]",
9447
- pathParams: ["id"],
9448
- pathParamDocs: { id: "Unique knowledge base identifier." },
10727
+ path: "/api/v2/knowledge/[knowledgeBaseId]",
10728
+ pathParams: ["knowledgeBaseId"],
10729
+ pathParamDocs: { knowledgeBaseId: "Unique knowledge base identifier." },
9449
10730
  responseMode: "json",
9450
10731
  summary: "Update Knowledge Base",
9451
10732
  body: {
@@ -9460,12 +10741,39 @@ var V2_OPERATIONS = {
9460
10741
  folderPath: { kind: "string", describe: "New containing-folder path." }
9461
10742
  }
9462
10743
  },
10744
+ updateKnowledgeChunk: {
10745
+ method: "PATCH",
10746
+ path: "/api/v2/knowledge/[knowledgeBaseId]/documents/[documentId]/chunks/[chunkId]",
10747
+ pathParams: ["knowledgeBaseId", "documentId", "chunkId"],
10748
+ pathParamDocs: {
10749
+ knowledgeBaseId: "Unique knowledge base identifier.",
10750
+ documentId: "Unique knowledge document identifier.",
10751
+ chunkId: "Unique chunk identifier."
10752
+ },
10753
+ responseMode: "json",
10754
+ summary: "Update Chunk",
10755
+ body: {
10756
+ workspaceId: {
10757
+ kind: "string",
10758
+ required: true,
10759
+ describe: "Workspace that owns the knowledge base."
10760
+ },
10761
+ content: {
10762
+ kind: "string",
10763
+ describe: "Replacement text. Changing it re-embeds the chunk and re-derives its token and character counts."
10764
+ },
10765
+ enabled: {
10766
+ kind: "boolean",
10767
+ describe: "Whether the chunk participates in search. Disabling keeps it indexed."
10768
+ }
10769
+ }
10770
+ },
9463
10771
  updateKnowledgeConnector: {
9464
10772
  method: "PATCH",
9465
- path: "/api/v2/knowledge/[id]/connectors/[connectorId]",
9466
- pathParams: ["id", "connectorId"],
10773
+ path: "/api/v2/knowledge/[knowledgeBaseId]/connectors/[connectorId]",
10774
+ pathParams: ["knowledgeBaseId", "connectorId"],
9467
10775
  pathParamDocs: {
9468
- id: "Knowledge base that owns the connector.",
10776
+ knowledgeBaseId: "Knowledge base that owns the connector.",
9469
10777
  connectorId: "Connector selected for the operation."
9470
10778
  },
9471
10779
  responseMode: "json",
@@ -9493,10 +10801,10 @@ var V2_OPERATIONS = {
9493
10801
  },
9494
10802
  updateKnowledgeConnectorDocuments: {
9495
10803
  method: "PATCH",
9496
- path: "/api/v2/knowledge/[id]/connectors/[connectorId]/documents",
9497
- pathParams: ["id", "connectorId"],
10804
+ path: "/api/v2/knowledge/[knowledgeBaseId]/connectors/[connectorId]/documents",
10805
+ pathParams: ["knowledgeBaseId", "connectorId"],
9498
10806
  pathParamDocs: {
9499
- id: "Knowledge base that owns the connector.",
10807
+ knowledgeBaseId: "Knowledge base that owns the connector.",
9500
10808
  connectorId: "Connector selected for the operation."
9501
10809
  },
9502
10810
  responseMode: "json",
@@ -9522,10 +10830,10 @@ var V2_OPERATIONS = {
9522
10830
  },
9523
10831
  updateKnowledgeDocument: {
9524
10832
  method: "PATCH",
9525
- path: "/api/v2/knowledge/[id]/documents/[documentId]",
9526
- pathParams: ["id", "documentId"],
10833
+ path: "/api/v2/knowledge/[knowledgeBaseId]/documents/[documentId]",
10834
+ pathParams: ["knowledgeBaseId", "documentId"],
9527
10835
  pathParamDocs: {
9528
- id: "Unique knowledge base identifier.",
10836
+ knowledgeBaseId: "Unique knowledge base identifier.",
9529
10837
  documentId: "Unique knowledge document identifier."
9530
10838
  },
9531
10839
  responseMode: "json",
@@ -9564,11 +10872,35 @@ var V2_OPERATIONS = {
9564
10872
  }
9565
10873
  }
9566
10874
  },
10875
+ updateKnowledgeTag: {
10876
+ method: "PATCH",
10877
+ path: "/api/v2/knowledge/[knowledgeBaseId]/tags/[tagId]",
10878
+ pathParams: ["knowledgeBaseId", "tagId"],
10879
+ pathParamDocs: {
10880
+ knowledgeBaseId: "Unique knowledge base identifier.",
10881
+ tagId: "Unique tag definition identifier."
10882
+ },
10883
+ responseMode: "json",
10884
+ summary: "Update Tag",
10885
+ body: {
10886
+ workspaceId: {
10887
+ kind: "string",
10888
+ required: true,
10889
+ describe: "Workspace that owns the knowledge base."
10890
+ },
10891
+ displayName: { kind: "string", describe: "New tag display name." },
10892
+ fieldType: {
10893
+ kind: "enum",
10894
+ values: ["text", "number", "date", "boolean"],
10895
+ describe: "New value type for the tag."
10896
+ }
10897
+ }
10898
+ },
9567
10899
  updateMcpServer: {
9568
10900
  method: "PATCH",
9569
- path: "/api/v2/mcp-servers/[id]",
9570
- pathParams: ["id"],
9571
- pathParamDocs: { id: "Unique MCP server identifier." },
10901
+ path: "/api/v2/mcp-servers/[mcpServerId]",
10902
+ pathParams: ["mcpServerId"],
10903
+ pathParamDocs: { mcpServerId: "Unique MCP server identifier." },
9572
10904
  responseMode: "json",
9573
10905
  summary: "Update MCP Server",
9574
10906
  body: {
@@ -9647,10 +10979,10 @@ var V2_OPERATIONS = {
9647
10979
  },
9648
10980
  updateSkill: {
9649
10981
  method: "PATCH",
9650
- path: "/api/v2/skills/[id]",
9651
- pathParams: ["id"],
10982
+ path: "/api/v2/skills/[skillId]",
10983
+ pathParams: ["skillId"],
9652
10984
  pathParamDocs: {
9653
- id: "Unique skill identifier. A built-in skill is `builtin-` followed by its name, for example `builtin-research`."
10985
+ skillId: "Unique skill identifier. A built-in skill is `builtin-` followed by its name, for example `builtin-research`."
9654
10986
  },
9655
10987
  responseMode: "json",
9656
10988
  summary: "Update Skill",
@@ -9737,9 +11069,9 @@ var V2_OPERATIONS = {
9737
11069
  },
9738
11070
  updateWorkflow: {
9739
11071
  method: "PATCH",
9740
- path: "/api/v2/workflows/[id]",
9741
- pathParams: ["id"],
9742
- pathParamDocs: { id: "Unique workflow identifier." },
11072
+ path: "/api/v2/workflows/[workflowId]",
11073
+ pathParams: ["workflowId"],
11074
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
9743
11075
  responseMode: "json",
9744
11076
  summary: "Update Workflow",
9745
11077
  body: {
@@ -9784,11 +11116,60 @@ var V2_OPERATIONS = {
9784
11116
  autoRun: { kind: "boolean", describe: "Replacement automatic-run setting." }
9785
11117
  }
9786
11118
  },
11119
+ updateWorkflowMcpServer: {
11120
+ method: "PATCH",
11121
+ path: "/api/v2/workflow-mcp-servers/[serverId]",
11122
+ pathParams: ["serverId"],
11123
+ pathParamDocs: { serverId: "Unique workflow-MCP server identifier." },
11124
+ responseMode: "json",
11125
+ summary: "Update Workflow MCP Server",
11126
+ body: {
11127
+ name: { kind: "string", describe: "Server display name, shown to connecting MCP clients." },
11128
+ description: { kind: "string", describe: "New server description, or null to clear it." },
11129
+ isPublic: {
11130
+ kind: "boolean",
11131
+ describe: "Whether the server answers MCP clients without a Sim API key."
11132
+ }
11133
+ }
11134
+ },
11135
+ updateWorkflowPublicApi: {
11136
+ method: "PATCH",
11137
+ path: "/api/v2/workflows/[workflowId]/deployment",
11138
+ pathParams: ["workflowId"],
11139
+ pathParamDocs: { workflowId: "Unique workflow identifier." },
11140
+ responseMode: "json",
11141
+ summary: "Update Workflow Public API Access",
11142
+ body: {
11143
+ isPublicApi: {
11144
+ kind: "boolean",
11145
+ required: true,
11146
+ describe: "Whether the deployed workflow should accept unauthenticated public API execution."
11147
+ }
11148
+ }
11149
+ },
11150
+ updateWorkflowVersion: {
11151
+ method: "PATCH",
11152
+ path: "/api/v2/workflows/[workflowId]/versions/[version]",
11153
+ pathParams: ["workflowId", "version"],
11154
+ pathParamDocs: {
11155
+ workflowId: "Unique workflow identifier.",
11156
+ version: "Numeric deployment version."
11157
+ },
11158
+ responseMode: "json",
11159
+ summary: "Update Workflow Version",
11160
+ body: {
11161
+ name: { kind: "string", describe: "New label for the deployment version." },
11162
+ description: {
11163
+ kind: "string",
11164
+ describe: "New release note for the deployment version, or null to clear it."
11165
+ }
11166
+ }
11167
+ },
9787
11168
  uploadKnowledgeDocument: {
9788
11169
  method: "POST",
9789
- path: "/api/v2/knowledge/[id]/documents",
9790
- pathParams: ["id"],
9791
- pathParamDocs: { id: "Unique knowledge base identifier." },
11170
+ path: "/api/v2/knowledge/[knowledgeBaseId]/documents",
11171
+ pathParams: ["knowledgeBaseId"],
11172
+ pathParamDocs: { knowledgeBaseId: "Unique knowledge base identifier." },
9792
11173
  responseMode: "json",
9793
11174
  summary: "Upload Document",
9794
11175
  query: {
@@ -10217,6 +11598,7 @@ var TABLE_NAME_HELP = "Identifier: letters, numbers, and underscores; cannot sta
10217
11598
  var TABLE_FILTER_HELP = 'Predicate: {"all":[{"field":"status","op":"eq","value":"active"}]}; groups use all/any. Operators: eq, ne, gt, gte, lt, lte, in, nin, contains, ncontains, startsWith, endsWith, like, ilike, nlike, nilike, isEmpty, isNotEmpty, isNull, isNotNull';
10218
11599
  var TABLE_READ_FILTER_HELP = 'Condition: {"field":"status","op":"eq","value":"active"}. Groups: {"all":[{"field":"status","op":"eq","value":"active"}]} or {"any":[{"field":"status","op":"eq","value":"active"}]}; group entries may also be nested groups. Operators: eq, ne, gt, gte, lt, lte, in, nin, contains, ncontains, startsWith, endsWith, like, ilike, nlike, nilike, isEmpty, isNotEmpty, isNull, isNotNull';
10219
11600
  var TABLE_SORT_HELP = 'Ordered sort keys: [{"field":"createdAt","direction":"desc"}] (direction: asc or desc)';
11601
+ var KNOWLEDGE_TAG_DEFINITIONS_HELP = 'Tag definitions: [{"tagSlot":"tag1","displayName":"category","fieldType":"text"}]';
10220
11602
  var CUSTOM_TOOL_SCHEMA_HELP = 'OpenAI function schema: {"type":"function","function":{"name":"...","parameters":{"type":"object","properties":{}}}}';
10221
11603
  var FOLDER_PATH_INPUT = {
10222
11604
  describe: "Folder path as shown in the app; the leading / is optional",
@@ -10230,14 +11612,25 @@ var FOLDER_DELETE_FLAGS = {
10230
11612
  path: FOLDER_PATH_INPUT,
10231
11613
  recursive: { boolean: true, describe: "Delete the folder and its descendants" }
10232
11614
  };
10233
- var KNOWLEDGE_BASE_PATH_ARGUMENT = { id: "knowledgeBaseId" };
11615
+ var KNOWLEDGE_BASE_PATH_ARGUMENT = { knowledgeBaseId: "knowledgeBaseId" };
10234
11616
  var WORKFLOW_RUN_SCOPE = {
10235
- id: {
11617
+ workflowId: {
10236
11618
  name: "workflow",
10237
11619
  placeholder: "workflowId",
10238
11620
  describe: "Workflow ID"
10239
11621
  }
10240
11622
  };
11623
+ var FOLDER_PATHS_FLAG = { ...FOLDER_PATH_FLAG, list: true };
11624
+ var TARGET_FOLDER_PATH_FLAG = {
11625
+ ...FOLDER_PATH_INPUT,
11626
+ name: "to",
11627
+ describe: "Destination folder path; omit for root"
11628
+ };
11629
+ var LOG_LIST_FILTER_FLAGS = {
11630
+ workflowIds: { name: "workflow", list: true },
11631
+ folderPaths: FOLDER_PATHS_FLAG,
11632
+ triggers: { name: "trigger", list: true }
11633
+ };
10241
11634
  var FOLDER_COLUMN = { header: "folder", path: "folderPath", format: "folder-path" };
10242
11635
  var FOLDER_LIST_COLUMNS = [
10243
11636
  { header: "path", format: "folder-path" },
@@ -10319,6 +11712,15 @@ var CLI_CONTRACT = {
10319
11712
  selectAll: { boolean: true, describe: "Apply to every document in the knowledge base" }
10320
11713
  }
10321
11714
  },
11715
+ bulkUpdateKnowledgeChunks: {
11716
+ command: "knowledge chunks batch-update",
11717
+ describe: "Enable, disable, or delete many chunks at once",
11718
+ pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT,
11719
+ flags: {
11720
+ chunkIds: { name: "chunk", list: true }
11721
+ },
11722
+ confirm: "This can delete every named chunk and its embedding, and cannot be undone."
11723
+ },
10322
11724
  createKnowledgeConnector: {
10323
11725
  pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT
10324
11726
  },
@@ -10399,9 +11801,7 @@ var CLI_CONTRACT = {
10399
11801
  },
10400
11802
  listLogs: {
10401
11803
  flags: {
10402
- workflowIds: { name: "workflow", list: true },
10403
- folderPaths: { ...FOLDER_PATH_FLAG, list: true },
10404
- triggers: { name: "trigger", list: true },
11804
+ ...LOG_LIST_FILTER_FLAGS,
10405
11805
  details: {
10406
11806
  requestDefault: "full",
10407
11807
  describe: "Response detail level; full is requested by default to name each run’s workflow"
@@ -10443,6 +11843,73 @@ var CLI_CONTRACT = {
10443
11843
  { header: "trace", path: "traceSpans", format: "trace-count" }
10444
11844
  ]
10445
11845
  },
11846
+ getMeta: {
11847
+ command: "meta status",
11848
+ describe: "Show what this API supports and which limits apply"
11849
+ },
11850
+ getWorkflowChatDeployment: {
11851
+ command: "workflows chat status",
11852
+ describe: "Show a workflow’s chat deployment"
11853
+ },
11854
+ getLogStats: {
11855
+ command: "logs stats",
11856
+ describe: "Summarize run counts, failures, and cost over a window",
11857
+ flags: LOG_LIST_FILTER_FLAGS
11858
+ },
11859
+ readFileText: {
11860
+ command: "files read",
11861
+ describe: "Read a file’s text content"
11862
+ },
11863
+ createWorkflowMcpServer: {
11864
+ flags: { workflowIds: { name: "workflow", list: true } }
11865
+ },
11866
+ deleteWorkflowMcpServer: {
11867
+ confirm: "This deletes the MCP server, and any agent calling its tools loses access."
11868
+ },
11869
+ undeployWorkflowMcpTool: {
11870
+ confirm: "This withdraws the tool, and any agent calling it loses access."
11871
+ },
11872
+ duplicateWorkflow: {
11873
+ flags: { folderPath: FOLDER_PATH_FLAG }
11874
+ },
11875
+ getWorkflowState: { command: "workflows state get" },
11876
+ replaceWorkflowState: {
11877
+ command: "workflows state replace",
11878
+ confirm: "This replaces the entire draft graph and cannot be undone."
11879
+ },
11880
+ applyWorkflowOperations: {
11881
+ command: "workflows operations apply",
11882
+ confirm: "This edits the draft graph, and a delete operation removes blocks and their edges."
11883
+ },
11884
+ applyWorkflowVariables: {
11885
+ confirm: "This replaces the workflow’s variables and cannot be undone."
11886
+ },
11887
+ revertWorkflowVersion: {
11888
+ confirm: "This overwrites the draft graph with the selected version and cannot be undone."
11889
+ },
11890
+ moveWorkflows: {
11891
+ command: "workflows move",
11892
+ flags: {
11893
+ workflowIds: { name: "workflow", list: true },
11894
+ folderPath: FOLDER_PATH_FLAG
11895
+ }
11896
+ },
11897
+ moveTables: {
11898
+ command: "tables move",
11899
+ flags: {
11900
+ folderPaths: FOLDER_PATHS_FLAG,
11901
+ targetFolderPath: TARGET_FOLDER_PATH_FLAG
11902
+ }
11903
+ },
11904
+ bulkUpdateTableRows: {
11905
+ command: "tables rows update-each",
11906
+ describe: "Apply a distinct patch to each listed row"
11907
+ },
11908
+ bulkDeleteTables: {
11909
+ command: "tables batch-delete",
11910
+ flags: { folderPaths: FOLDER_PATHS_FLAG },
11911
+ confirm: "This deletes every listed table and all of their rows."
11912
+ },
10446
11913
  searchKnowledge: {
10447
11914
  flags: {
10448
11915
  knowledgeBaseIds: { name: "kb", list: true, describe: "Knowledge base ID (repeatable)" },
@@ -10575,6 +12042,49 @@ var CLI_CONTRACT = {
10575
12042
  getKnowledgeDocument: { pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT },
10576
12043
  updateKnowledgeDocument: { pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT },
10577
12044
  listKnowledgeTags: { pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT },
12045
+ createKnowledgeTag: { pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT },
12046
+ updateKnowledgeTag: { pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT },
12047
+ deleteKnowledgeTag: {
12048
+ pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT,
12049
+ confirm: "This deletes the tag and clears its values on every document and chunk."
12050
+ },
12051
+ getNextKnowledgeTagSlot: {
12052
+ command: "knowledge tags next-slot",
12053
+ describe: "Show which tag slot a create would take for a field type",
12054
+ pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT
12055
+ },
12056
+ listKnowledgeTagUsage: {
12057
+ command: "knowledge tags usage",
12058
+ describe: "Show how many documents and chunks carry each tag",
12059
+ pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT
12060
+ },
12061
+ addWorkspaceFilesToKnowledgeBase: {
12062
+ pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT,
12063
+ describe: "Index files the workspace already stores",
12064
+ flags: {
12065
+ fileReferences: {
12066
+ name: "file",
12067
+ list: true,
12068
+ describe: "Workspace file ID or key (repeatable)"
12069
+ }
12070
+ }
12071
+ },
12072
+ listKnowledgeChunks: {
12073
+ pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT,
12074
+ columns: [
12075
+ { header: "id" },
12076
+ { header: "index", path: "chunkIndex" },
12077
+ { header: "tokens", path: "tokenCount" },
12078
+ { header: "enabled" }
12079
+ ]
12080
+ },
12081
+ createKnowledgeChunk: { pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT },
12082
+ getKnowledgeChunk: { pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT },
12083
+ updateKnowledgeChunk: { pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT },
12084
+ deleteKnowledgeChunk: {
12085
+ pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT,
12086
+ confirm: "This deletes the chunk and its embedding."
12087
+ },
10578
12088
  listKnowledgeDocuments: {
10579
12089
  pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT,
10580
12090
  columns: [
@@ -10700,6 +12210,7 @@ var CLI_CONTRACT = {
10700
12210
  describe: "Show file metadata and sharing status",
10701
12211
  fields: [
10702
12212
  { header: "id" },
12213
+ { header: "web URL", path: "webUrl" },
10703
12214
  { header: "name" },
10704
12215
  { header: "size", format: "bytes" },
10705
12216
  { header: "type" },
@@ -10719,11 +12230,7 @@ var CLI_CONTRACT = {
10719
12230
  describe: "Move files into another folder",
10720
12231
  flags: {
10721
12232
  fileIds: { list: true },
10722
- targetFolderPath: {
10723
- ...FOLDER_PATH_INPUT,
10724
- name: "to",
10725
- describe: "Destination folder path; omit for root"
10726
- }
12233
+ targetFolderPath: TARGET_FOLDER_PATH_FLAG
10727
12234
  }
10728
12235
  },
10729
12236
  renameFile: {
@@ -10735,6 +12242,72 @@ var CLI_CONTRACT = {
10735
12242
  renamedFrom: ["files restore create"],
10736
12243
  describe: "Restore an archived file"
10737
12244
  },
12245
+ restoreFileFolder: {
12246
+ command: "files folders restore",
12247
+ positionals: ["path"],
12248
+ flags: { path: FOLDER_PATH_INPUT },
12249
+ describe: "Restore an archived file folder"
12250
+ },
12251
+ restoreTable: {
12252
+ command: "tables restore",
12253
+ describe: "Restore an archived table"
12254
+ },
12255
+ restoreTableFolder: {
12256
+ command: "tables folders restore",
12257
+ positionals: ["path"],
12258
+ flags: { path: FOLDER_PATH_INPUT },
12259
+ describe: "Restore an archived table folder"
12260
+ },
12261
+ restoreKnowledgeBase: {
12262
+ command: "knowledge restore",
12263
+ describe: "Restore an archived knowledge base"
12264
+ },
12265
+ restoreWorkflow: {
12266
+ command: "workflows restore",
12267
+ describe: "Restore an archived workflow"
12268
+ },
12269
+ cancelTableDispatch: {
12270
+ command: "tables dispatches cancel",
12271
+ describe: "Cancel a running dispatch",
12272
+ confirm: "This stops the dispatch. Cells already handed to the queue keep running — use `tables cancel-runs` to stop those."
12273
+ },
12274
+ replaceWorkflowChatDeployment: {
12275
+ command: "workflows chat publish",
12276
+ describe: "Publish or replace a workflow’s chat deployment",
12277
+ confirm: "This replaces the chat deployment wholesale. Any field you omit returns to its default, including a stored password or allow-list."
12278
+ },
12279
+ deleteWorkflowChatDeployment: {
12280
+ command: "workflows chat unpublish",
12281
+ describe: "Take a workflow’s chat deployment offline",
12282
+ confirm: "This takes the chat offline and frees its identifier. The workflow itself stays deployed and executable."
12283
+ },
12284
+ bulkSaveKnowledgeTagDefinitions: {
12285
+ command: "knowledge tags save",
12286
+ describe: "Declare the tag definitions a knowledge base needs",
12287
+ pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT,
12288
+ flags: {
12289
+ definitions: { json: true, describe: KNOWLEDGE_TAG_DEFINITIONS_HELP }
12290
+ }
12291
+ },
12292
+ deleteKnowledgeTagDefinitions: {
12293
+ command: "knowledge tags cleanup",
12294
+ pathArgumentNames: KNOWLEDGE_BASE_PATH_ARGUMENT,
12295
+ describe: "Remove tag definitions no document still uses",
12296
+ confirm: "This deletes every tag definition no document still uses. Their slots become free for a different field."
12297
+ },
12298
+ unzipFile: {
12299
+ command: "files unzip",
12300
+ describe: "Unzip an archive into a new folder beside it",
12301
+ confirm: "This writes every file in the archive into the workspace."
12302
+ },
12303
+ bulkDownloadFiles: {
12304
+ command: "files bulk-download",
12305
+ describe: "Download files and folders as a zip archive",
12306
+ flags: {
12307
+ fileIds: { list: true },
12308
+ folderPaths: FOLDER_PATHS_FLAG
12309
+ }
12310
+ },
10738
12311
  updateFileContent: {
10739
12312
  command: "files set-content",
10740
12313
  describe: "Replace a file’s contents",
@@ -10883,11 +12456,12 @@ var CLI_CONTRACT = {
10883
12456
  filter: { json: true, describe: TABLE_FILTER_HELP }
10884
12457
  }
10885
12458
  },
10886
- findTableRows: {
10887
- command: "tables rows find",
10888
- describe: "Find rows matching a predicate",
12459
+ searchTableRows: {
12460
+ command: "tables rows search",
12461
+ renamedFrom: ["tables rows find"],
12462
+ describe: "Search cells for a value and return their coordinates",
10889
12463
  flags: {
10890
- q: { name: "query", renamedFrom: ["q"], describe: "Value to find" },
12464
+ q: { name: "query", renamedFrom: ["q"], describe: "Value to search for" },
10891
12465
  predicate: { name: "filter", json: true, describe: TABLE_FILTER_HELP },
10892
12466
  sort: { json: true, describe: TABLE_SORT_HELP }
10893
12467
  },
@@ -10907,9 +12481,10 @@ var CLI_CONTRACT = {
10907
12481
  }
10908
12482
  }
10909
12483
  },
10910
- runTableColumn: {
10911
- command: "tables columns run",
10912
- describe: "Run a column’s workflow",
12484
+ createTableDispatch: {
12485
+ command: "tables dispatches create",
12486
+ renamedFrom: ["tables columns run"],
12487
+ describe: "Start a column or enrichment run",
10913
12488
  flags: {
10914
12489
  groupIds: { list: true },
10915
12490
  rowIds: { list: true },
@@ -10936,10 +12511,14 @@ var CLI_CONTRACT = {
10936
12511
  },
10937
12512
  executeWorkflow: {
10938
12513
  command: "workflows run",
10939
- describe: "Run a deployed workflow",
12514
+ describe: "Run a deployed workflow or execute saved state manually",
10940
12515
  flags: {
10941
12516
  async: { boolean: true, describe: "Queue the run and return immediately" },
10942
12517
  input: { json: true, describe: "Trigger input as JSON" },
12518
+ run: {
12519
+ hidden: true,
12520
+ describe: "Low-level workflow state and entry-point selection"
12521
+ },
10943
12522
  selectedOutputs: {
10944
12523
  name: "select-output",
10945
12524
  list: true,
@@ -12483,6 +14062,8 @@ function addFieldOption(command, operation, field, descriptor) {
12483
14062
  const describe = `${documented}${takesList ? " (space-separated, or @path / @- with one value per line)" : wantsJson ? " (JSON, or @path / @- to read a file or stdin)" : ""}${descriptor.required ? " (required)" : ""}`;
12484
14063
  const renamedFrom = flag.renamedFrom ?? [];
12485
14064
  const option = new Option(`${short}--${name} ${placeholder}`, describe);
14065
+ if (flag.hidden)
14066
+ option.hideHelp();
12486
14067
  if (choices && !takesList)
12487
14068
  option.choices([...choices]);
12488
14069
  if (descriptor.default !== undefined && field !== "limit") {
@@ -12583,6 +14164,7 @@ function entriesFor(config, folders, resources) {
12583
14164
  kind: config.kind,
12584
14165
  name: resource.name,
12585
14166
  ref: resource.id,
14167
+ webUrl: resource.webUrl,
12586
14168
  folderPath: resource.folderPath,
12587
14169
  updatedAt: resource.updatedAt
12588
14170
  }))
@@ -12794,7 +14376,7 @@ async function executeOperation(operation, commandSpec, operationSpec, invocatio
12794
14376
  requestFlags[camel(flagNameFor(operation, field))] = invocation[pathPositionalCount + index];
12795
14377
  }
12796
14378
  foldRenamedFlags(operation, commandSpec, requestFlags);
12797
- if (commandSpec.confirm && !requestFlags.yes) {
14379
+ if (commandSpec.confirm && !requestFlags.yes && requestFlags.dryRun !== true) {
12798
14380
  throw new SimApiError(`${commandSpec.confirm} Re-run with --yes to confirm.`, 0);
12799
14381
  }
12800
14382
  if (commandSpec.allWorkspaces && requestFlags.allWorkspaces && requestFlags.workspace) {
@@ -12848,6 +14430,49 @@ async function executeOperation(operation, commandSpec, operationSpec, invocatio
12848
14430
  var AGENT_STREAM_PROTOCOL_HEADER = "x-sim-stream-protocol";
12849
14431
  var AGENT_STREAM_PROTOCOL_V1 = "agent-events-v1";
12850
14432
  var DONE_SENTINEL = "[DONE]";
14433
+ function resolveWorkflowRunSelection(flags) {
14434
+ const manual = flags.manual === true;
14435
+ const trigger = typeof flags.trigger === "string" ? flags.trigger : undefined;
14436
+ const useMockPayload = flags.mockPayload === true;
14437
+ const fromBlock = typeof flags.fromBlock === "string" ? flags.fromBlock : undefined;
14438
+ const sourceRun = typeof flags.sourceRun === "string" ? flags.sourceRun : undefined;
14439
+ if ((trigger || useMockPayload) && !manual) {
14440
+ throw new SimApiError("--trigger and --mock-payload require --manual", 0);
14441
+ }
14442
+ if (fromBlock && (trigger || useMockPayload)) {
14443
+ throw new SimApiError("--from-block cannot be combined with --trigger or --mock-payload", 0);
14444
+ }
14445
+ if (fromBlock && !sourceRun) {
14446
+ throw new SimApiError("--from-block requires --source-run <runId>", 0);
14447
+ }
14448
+ if (sourceRun && !fromBlock) {
14449
+ throw new SimApiError("--source-run requires --from-block <blockId>", 0);
14450
+ }
14451
+ if ((manual || fromBlock) && flags.async === true) {
14452
+ throw new SimApiError("Manual execution does not support --async", 0);
14453
+ }
14454
+ if (useMockPayload && flags.input !== undefined) {
14455
+ throw new SimApiError("--mock-payload cannot be combined with --input", 0);
14456
+ }
14457
+ if (fromBlock && sourceRun) {
14458
+ return {
14459
+ source: "manual",
14460
+ entry: { type: "block", blockId: fromBlock, sourceRunId: sourceRun }
14461
+ };
14462
+ }
14463
+ if (!manual)
14464
+ return;
14465
+ if (!trigger && !useMockPayload)
14466
+ return { source: "manual" };
14467
+ return {
14468
+ source: "manual",
14469
+ entry: {
14470
+ type: "trigger",
14471
+ ...trigger ? { blockId: trigger } : {},
14472
+ ...useMockPayload ? { useMockPayload: true } : {}
14473
+ }
14474
+ };
14475
+ }
12851
14476
  function isRecord(value) {
12852
14477
  return typeof value === "object" && value !== null && !Array.isArray(value);
12853
14478
  }
@@ -13014,6 +14639,10 @@ async function followRun(workflowId, command) {
13014
14639
  }
13015
14640
  function followOrDelegate(previous) {
13016
14641
  return async (workflowId, _options, command) => {
14642
+ const initialFlags = command.optsWithGlobals();
14643
+ const selection = resolveWorkflowRunSelection(initialFlags);
14644
+ if (selection)
14645
+ command.setOptionValue("run", selection);
13017
14646
  const flags = command.optsWithGlobals();
13018
14647
  if (flags.follow !== true) {
13019
14648
  if (flags.includeThinking === true || flags.includeToolCalls === true) {
@@ -13036,7 +14665,7 @@ function attachWorkflowRunFollow(workflows) {
13036
14665
  }
13037
14666
  const held = run._actionHandler;
13038
14667
  const previous = typeof held === "function" ? held : null;
13039
- run.option("--follow", "Stream the run as it happens; progress on stderr, result on stdout. The stream reports only success and output, so the result omits the run id and timings a non-streaming run returns").option("--include-thinking", "Show model reasoning while following (requires --follow)").option("--include-tool-calls", "Show tool calls while following (requires --follow)").action(followOrDelegate(previous));
14668
+ run.option("--manual", "Run the current saved workflow state instead of the active deployment").option("--trigger <blockId>", "Enter a manual run through this runnable trigger (requires --manual)").option("--mock-payload", "Use the selected trigger's server-derived mock payload (requires --manual)").option("--from-block <blockId>", "Run manually from this saved workflow block").option("--source-run <runId>", "Prior run whose persisted state supplies upstream outputs (requires --from-block)").option("--follow", "Stream the run as it happens; progress on stderr, result on stdout. The stream reports only success and output, so the result omits the run id and timings a non-streaming run returns").option("--include-thinking", "Show model reasoning while following (requires --follow)").option("--include-tool-calls", "Show tool calls while following (requires --follow)").action(followOrDelegate(previous));
13040
14669
  }
13041
14670
 
13042
14671
  // src/commands/protocol/workflow-run-wait.ts
@@ -13121,7 +14750,7 @@ function attachWorkflowRunWait(runs) {
13121
14750
  const timeoutSeconds = options.waitTimeout === undefined ? DEFAULT_WAIT_TIMEOUT_SECONDS : parseWaitTimeout(options.waitTimeout);
13122
14751
  const { client, profile } = clientFrom(command);
13123
14752
  const operation = V2_OPERATIONS.getWorkflowRun;
13124
- const path = resolvePath(operation.path, { id: options.workflow, runId });
14753
+ const path = resolvePath(operation.path, { workflowId: options.workflow, runId });
13125
14754
  const startedAt = Date.now();
13126
14755
  const deadline = timeoutSeconds === 0 ? Number.POSITIVE_INFINITY : startedAt + timeoutSeconds * 1000;
13127
14756
  const progress = waitProgress();