@soat/cli 0.15.10 → 0.15.12

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.mjs +764 -6
  2. package/package.json +2 -2
package/dist/index.mjs CHANGED
@@ -13,7 +13,7 @@ import { load } from "js-yaml";
13
13
  import * as os from "node:os";
14
14
 
15
15
  //#region package.json
16
- var version = "0.15.10";
16
+ var version = "0.15.12";
17
17
 
18
18
  //#endregion
19
19
  //#region src/cli-wrappers/wrappers/formations.ts
@@ -343,6 +343,7 @@ var routes = {
343
343
  operationId: "listActors",
344
344
  description: "Returns all actors the caller has access to. If projectId is provided, returns only actors in that project. project keys are scoped to a single project automatically. JWT users without projectId receive actors across all their accessible projects.",
345
345
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/actors",
346
+ httpMethod: "get",
346
347
  pathParams: [],
347
348
  queryParams: ["project_id", "external_id", "agent_id", "chat_id", "conversation_id", "limit", "offset"],
348
349
  flags: [{
@@ -394,6 +395,7 @@ var routes = {
394
395
  operationId: "createActor",
395
396
  description: "Creates a new actor. project keys automatically infer the project from the key's scope; JWT callers must supply projectId.",
396
397
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/actors",
398
+ httpMethod: "post",
397
399
  pathParams: [],
398
400
  queryParams: [],
399
401
  flags: [{
@@ -451,6 +453,7 @@ var routes = {
451
453
  operationId: "getActor",
452
454
  description: "Returns an actor by its ID",
453
455
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/actors",
456
+ httpMethod: "get",
454
457
  pathParams: ["actor_id"],
455
458
  queryParams: [],
456
459
  flags: [{
@@ -466,6 +469,7 @@ var routes = {
466
469
  operationId: "updateActor",
467
470
  description: "Updates an actor's properties",
468
471
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/actors",
472
+ httpMethod: "patch",
469
473
  pathParams: ["actor_id"],
470
474
  queryParams: [],
471
475
  flags: [{
@@ -523,6 +527,7 @@ var routes = {
523
527
  operationId: "deleteActor",
524
528
  description: "Deletes an actor by its ID",
525
529
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/actors",
530
+ httpMethod: "delete",
526
531
  pathParams: ["actor_id"],
527
532
  queryParams: [],
528
533
  flags: [{
@@ -538,6 +543,7 @@ var routes = {
538
543
  operationId: "getActorTags",
539
544
  description: "Returns all tags attached to the actor",
540
545
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/actors",
546
+ httpMethod: "get",
541
547
  pathParams: ["actor_id"],
542
548
  queryParams: [],
543
549
  flags: [{
@@ -553,6 +559,7 @@ var routes = {
553
559
  operationId: "replaceActorTags",
554
560
  description: "Replaces all tags on the actor with the provided tags (not merged)",
555
561
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/actors",
562
+ httpMethod: "put",
556
563
  pathParams: ["actor_id"],
557
564
  queryParams: [],
558
565
  flags: [{
@@ -568,6 +575,7 @@ var routes = {
568
575
  operationId: "mergeActorTags",
569
576
  description: "Merges provided tags with existing tags (existing tags are preserved unless overridden)",
570
577
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/actors",
578
+ httpMethod: "patch",
571
579
  pathParams: ["actor_id"],
572
580
  queryParams: [],
573
581
  flags: [{
@@ -583,6 +591,7 @@ var routes = {
583
591
  operationId: "listAgents",
584
592
  description: "Returns all agents in the project.",
585
593
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
594
+ httpMethod: "get",
586
595
  pathParams: [],
587
596
  queryParams: ["project_id"],
588
597
  flags: [{
@@ -598,6 +607,7 @@ var routes = {
598
607
  operationId: "createAgent",
599
608
  description: "Creates a new agent bound to an AI provider.",
600
609
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
610
+ httpMethod: "post",
601
611
  pathParams: [],
602
612
  queryParams: [],
603
613
  flags: [{
@@ -672,6 +682,12 @@ var routes = {
672
682
  "required": false,
673
683
  "type": "array",
674
684
  "in": "body"
685
+ }, {
686
+ "name": "guardrail_ids",
687
+ "description": "Guardrails attached at the agent scope.",
688
+ "required": false,
689
+ "type": "array",
690
+ "in": "body"
675
691
  }, {
676
692
  "name": "step_rules",
677
693
  "description": "",
@@ -721,6 +737,7 @@ var routes = {
721
737
  operationId: "getAgent",
722
738
  description: "Returns a single agent by ID.",
723
739
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
740
+ httpMethod: "get",
724
741
  pathParams: ["agent_id"],
725
742
  queryParams: [],
726
743
  flags: [{
@@ -736,6 +753,7 @@ var routes = {
736
753
  operationId: "updateAgent",
737
754
  description: "Updates an existing agent. Identical to PATCH — both perform partial updates.",
738
755
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
756
+ httpMethod: "put",
739
757
  pathParams: ["agent_id"],
740
758
  queryParams: [],
741
759
  flags: [{
@@ -776,7 +794,7 @@ var routes = {
776
794
  "in": "body"
777
795
  }, {
778
796
  "name": "tool_ids",
779
- "description": "Deprecated shorthand — replaces only the reference (`tool_id`) bindings, rewriting them bare (any `approval_policy` on them is dropped). Use `tool_bindings` instead.",
797
+ "description": "Deprecated shorthand — replaces only the reference (`tool_id`) bindings, rewriting them bare. Use `tool_bindings` instead.",
780
798
  "required": false,
781
799
  "type": "array",
782
800
  "in": "body"
@@ -810,6 +828,12 @@ var routes = {
810
828
  "required": false,
811
829
  "type": "array",
812
830
  "in": "body"
831
+ }, {
832
+ "name": "guardrail_ids",
833
+ "description": "Guardrails attached at the agent scope.",
834
+ "required": false,
835
+ "type": "array",
836
+ "in": "body"
813
837
  }, {
814
838
  "name": "step_rules",
815
839
  "description": "",
@@ -859,6 +883,7 @@ var routes = {
859
883
  operationId: "patchAgent",
860
884
  description: "Partially updates an existing agent. Identical to PUT — both perform partial updates.",
861
885
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
886
+ httpMethod: "patch",
862
887
  pathParams: ["agent_id"],
863
888
  queryParams: [],
864
889
  flags: [{
@@ -899,7 +924,7 @@ var routes = {
899
924
  "in": "body"
900
925
  }, {
901
926
  "name": "tool_ids",
902
- "description": "Deprecated shorthand — replaces only the reference (`tool_id`) bindings, rewriting them bare (any `approval_policy` on them is dropped). Use `tool_bindings` instead.",
927
+ "description": "Deprecated shorthand — replaces only the reference (`tool_id`) bindings, rewriting them bare. Use `tool_bindings` instead.",
903
928
  "required": false,
904
929
  "type": "array",
905
930
  "in": "body"
@@ -933,6 +958,12 @@ var routes = {
933
958
  "required": false,
934
959
  "type": "array",
935
960
  "in": "body"
961
+ }, {
962
+ "name": "guardrail_ids",
963
+ "description": "Guardrails attached at the agent scope.",
964
+ "required": false,
965
+ "type": "array",
966
+ "in": "body"
936
967
  }, {
937
968
  "name": "step_rules",
938
969
  "description": "",
@@ -982,6 +1013,7 @@ var routes = {
982
1013
  operationId: "deleteAgent",
983
1014
  description: "Deletes an agent by ID. Fails with `409` if the agent has dependent generations or traces, unless `force=true` is passed, in which case those generations and traces are deleted along with the agent.",
984
1015
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
1016
+ httpMethod: "delete",
985
1017
  pathParams: ["agent_id"],
986
1018
  queryParams: ["force"],
987
1019
  flags: [{
@@ -1003,6 +1035,7 @@ var routes = {
1003
1035
  operationId: "createAgentGeneration",
1004
1036
  description: "Sends messages to the agent, resolves its tools, and runs the AI model loop. Supports streaming via `stream: true`. Client tools pause the generation and return `requires_action`.",
1005
1037
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
1038
+ httpMethod: "post",
1006
1039
  pathParams: ["agent_id"],
1007
1040
  queryParams: [],
1008
1041
  flags: [{
@@ -1059,6 +1092,12 @@ var routes = {
1059
1092
  "required": false,
1060
1093
  "type": "string",
1061
1094
  "in": "body"
1095
+ }, {
1096
+ "name": "guardrail_context",
1097
+ "description": "Caller-supplied guardrail context (the `context.*` namespace guard and class expressions read at tool-dispatch time). Free-form and never interpreted by the platform; a guardrail may combine it with a `context_tool` per its `context_mode`. See the guardrails module.",
1098
+ "required": false,
1099
+ "type": "object",
1100
+ "in": "body"
1062
1101
  }, {
1063
1102
  "name": "metadata",
1064
1103
  "description": "Caller-supplied key/value metadata attached to the generation record for per-run audit attribution (e.g. the knowledge-corpus version that produced this action). Round-trips when the generation is fetched via the generations API. Reserved server-owned keys (`action_id`, `trigger_id`, `run_id`, `node_id`, `extraction`, and internal recovery state) cannot be set here and are rejected with 400.",
@@ -1084,6 +1123,7 @@ var routes = {
1084
1123
  operationId: "submitAgentToolOutputs",
1085
1124
  description: "Resumes a generation that was paused due to client tool calls. Provide tool outputs for each pending tool call.",
1086
1125
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
1126
+ httpMethod: "post",
1087
1127
  pathParams: ["agent_id", "generation_id"],
1088
1128
  queryParams: [],
1089
1129
  flags: [{
@@ -1111,6 +1151,7 @@ var routes = {
1111
1151
  operationId: "listAiProviders",
1112
1152
  description: "Returns a list of AI provider configurations for a project",
1113
1153
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
1154
+ httpMethod: "get",
1114
1155
  pathParams: [],
1115
1156
  queryParams: ["project_id", "limit", "offset"],
1116
1157
  flags: [{
@@ -1138,6 +1179,7 @@ var routes = {
1138
1179
  operationId: "createAiProvider",
1139
1180
  description: "Creates a new LLM provider configuration",
1140
1181
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
1182
+ httpMethod: "post",
1141
1183
  pathParams: [],
1142
1184
  queryParams: [],
1143
1185
  flags: [{
@@ -1189,6 +1231,7 @@ var routes = {
1189
1231
  operationId: "getAiProvider",
1190
1232
  description: "Returns a specific AI provider configuration",
1191
1233
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
1234
+ httpMethod: "get",
1192
1235
  pathParams: ["ai_provider_id"],
1193
1236
  queryParams: [],
1194
1237
  flags: [{
@@ -1204,6 +1247,7 @@ var routes = {
1204
1247
  operationId: "updateAiProvider",
1205
1248
  description: "Updates an AI provider configuration",
1206
1249
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
1250
+ httpMethod: "patch",
1207
1251
  pathParams: ["ai_provider_id"],
1208
1252
  queryParams: [],
1209
1253
  flags: [{
@@ -1255,6 +1299,7 @@ var routes = {
1255
1299
  operationId: "deleteAiProvider",
1256
1300
  description: "Deletes an AI provider configuration. Live references — chats, agents, and discussions that use this provider — always block deletion with `409 AI_PROVIDER_HAS_DEPENDENTS`; `force` does not override them, so delete or repoint those resources first. Soft dependents — price overrides, usage/generation records, and discussion participants — also block with `409` unless `force=true`, which deletes the provider's price overrides and unlinks (nulls) its usage and participant history, preserving those rows. The `409` body's `error.meta` reports the counts, a sample of offending IDs, and a `forcible` flag that is `true` when a `force=true` retry would succeed.",
1257
1301
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
1302
+ httpMethod: "delete",
1258
1303
  pathParams: ["ai_provider_id"],
1259
1304
  queryParams: ["force"],
1260
1305
  flags: [{
@@ -1276,6 +1321,7 @@ var routes = {
1276
1321
  operationId: "getAiProviderPrices",
1277
1322
  description: "Returns the per-provider price overrides for this AI provider instance. An override prices this specific provider (e.g. an enterprise-negotiated rate or a gateway with markup) and wins over the global default at cost time. Authorized by the caller's access to the provider's project — so, unlike the global price book, a project's own overrides are visible here.",
1278
1323
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
1324
+ httpMethod: "get",
1279
1325
  pathParams: ["ai_provider_id"],
1280
1326
  queryParams: [],
1281
1327
  flags: [{
@@ -1291,6 +1337,7 @@ var routes = {
1291
1337
  operationId: "updateAiProviderPrices",
1292
1338
  description: "Upserts price overrides for this AI provider instance, keyed on (model, effective_from). The provider slug is taken from the AI provider itself, so only the model, rates, and effective_from are supplied. Authorized by the caller's access to the provider's project. `effective_from` must be in the future — past prices are immutable, so ship corrections as new future-dated rows.",
1293
1339
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
1340
+ httpMethod: "put",
1294
1341
  pathParams: ["ai_provider_id"],
1295
1342
  queryParams: [],
1296
1343
  flags: [{
@@ -1312,6 +1359,7 @@ var routes = {
1312
1359
  operationId: "listApiKeys",
1313
1360
  description: "Lists API keys accessible to the caller. - JWT admin: returns all API keys. - JWT regular user: returns only the user's own API keys. - API key: returns only API keys scoped to the key's project.",
1314
1361
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
1362
+ httpMethod: "get",
1315
1363
  pathParams: [],
1316
1364
  queryParams: [],
1317
1365
  flags: []
@@ -1321,6 +1369,7 @@ var routes = {
1321
1369
  operationId: "createApiKey",
1322
1370
  description: "Creates a new API key for the authenticated user. - `project_id` is optional. When set, the key is scoped to that single project. When omitted or null, the key is **unscoped** and spans every project its owner can reach. - If `policy_ids` is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - Otherwise the key inherits the user's permissions (confined to the key's project when scoped).",
1323
1371
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
1372
+ httpMethod: "post",
1324
1373
  pathParams: [],
1325
1374
  queryParams: [],
1326
1375
  flags: [{
@@ -1348,6 +1397,7 @@ var routes = {
1348
1397
  operationId: "getApiKey",
1349
1398
  description: "Returns details of an API key. Only the owner or an admin can access it.",
1350
1399
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
1400
+ httpMethod: "get",
1351
1401
  pathParams: ["api_key_id"],
1352
1402
  queryParams: [],
1353
1403
  flags: [{
@@ -1363,6 +1413,7 @@ var routes = {
1363
1413
  operationId: "updateApiKey",
1364
1414
  description: "Updates an API key's name, project scope, or policies. The project scope can be changed to another project, set (scoping a previously unscoped key), or cleared with null (unscoping the key). Only the owner or an admin can update it.",
1365
1415
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
1416
+ httpMethod: "put",
1366
1417
  pathParams: ["api_key_id"],
1367
1418
  queryParams: [],
1368
1419
  flags: [{
@@ -1396,6 +1447,7 @@ var routes = {
1396
1447
  operationId: "deleteApiKey",
1397
1448
  description: "Deletes an API key. Only the owner or an admin can delete it.",
1398
1449
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
1450
+ httpMethod: "delete",
1399
1451
  pathParams: ["api_key_id"],
1400
1452
  queryParams: [],
1401
1453
  flags: [{
@@ -1411,6 +1463,7 @@ var routes = {
1411
1463
  operationId: "listApprovals",
1412
1464
  description: "Returns approval items for a project, filterable by status, origin, and expiry.",
1413
1465
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/approvals",
1466
+ httpMethod: "get",
1414
1467
  pathParams: [],
1415
1468
  queryParams: ["project_id", "status", "origin", "expires_before"],
1416
1469
  flags: [{
@@ -1444,6 +1497,7 @@ var routes = {
1444
1497
  operationId: "getApproval",
1445
1498
  description: "Returns a single approval item with its full evidence.",
1446
1499
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/approvals",
1500
+ httpMethod: "get",
1447
1501
  pathParams: ["approval_id"],
1448
1502
  queryParams: [],
1449
1503
  flags: [{
@@ -1459,6 +1513,7 @@ var routes = {
1459
1513
  operationId: "approveApproval",
1460
1514
  description: "Approves the item. Optionally supply edited `arguments` to replace the proposed arguments (edit-then-approve); the original is preserved on the item. Expiry is re-checked at decision time — an expired item can never be approved.",
1461
1515
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/approvals",
1516
+ httpMethod: "post",
1462
1517
  pathParams: ["approval_id"],
1463
1518
  queryParams: [],
1464
1519
  flags: [{
@@ -1480,6 +1535,7 @@ var routes = {
1480
1535
  operationId: "rejectApproval",
1481
1536
  description: "Rejects the item. A reason is required and preserved on the item.",
1482
1537
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/approvals",
1538
+ httpMethod: "post",
1483
1539
  pathParams: ["approval_id"],
1484
1540
  queryParams: [],
1485
1541
  flags: [{
@@ -1496,11 +1552,92 @@ var routes = {
1496
1552
  "in": "body"
1497
1553
  }]
1498
1554
  },
1555
+ "list-audit-entries": {
1556
+ serviceClass: "AuditLog",
1557
+ operationId: "listAuditEntries",
1558
+ description: "Returns audit-log entries visible to the caller, newest first. All filters are optional and combine with AND. `resource_srn` is a prefix match (e.g. `soat:{project}:secret:` matches every secret action); every other filter is exact.",
1559
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/audit-log",
1560
+ httpMethod: "get",
1561
+ pathParams: [],
1562
+ queryParams: ["project_id", "action", "actor_id", "resource_public_id", "resource_srn", "from", "to", "limit", "offset"],
1563
+ flags: [{
1564
+ "name": "project_id",
1565
+ "description": "Project ID (scopes results; required if not using project key auth for a specific project)",
1566
+ "required": false,
1567
+ "type": "string",
1568
+ "in": "query"
1569
+ }, {
1570
+ "name": "action",
1571
+ "description": "Exact permission-action string, e.g. `secrets:DeleteSecret`",
1572
+ "required": false,
1573
+ "type": "string",
1574
+ "in": "query"
1575
+ }, {
1576
+ "name": "actor_id",
1577
+ "description": "Public id of the principal (`user_…` or `key_…`)",
1578
+ "required": false,
1579
+ "type": "string",
1580
+ "in": "query"
1581
+ }, {
1582
+ "name": "resource_public_id",
1583
+ "description": "Exact target resource public id, e.g. `sec_…`",
1584
+ "required": false,
1585
+ "type": "string",
1586
+ "in": "query"
1587
+ }, {
1588
+ "name": "resource_srn",
1589
+ "description": "SRN prefix match, e.g. `soat:{project}:secret:`",
1590
+ "required": false,
1591
+ "type": "string",
1592
+ "in": "query"
1593
+ }, {
1594
+ "name": "from",
1595
+ "description": "Only entries created at or after this timestamp (ISO 8601)",
1596
+ "required": false,
1597
+ "type": "string",
1598
+ "in": "query"
1599
+ }, {
1600
+ "name": "to",
1601
+ "description": "Only entries created at or before this timestamp (ISO 8601)",
1602
+ "required": false,
1603
+ "type": "string",
1604
+ "in": "query"
1605
+ }, {
1606
+ "name": "limit",
1607
+ "description": "Number of results per page (1–200, default 25)",
1608
+ "required": false,
1609
+ "type": "integer",
1610
+ "in": "query"
1611
+ }, {
1612
+ "name": "offset",
1613
+ "description": "Number of results to skip",
1614
+ "required": false,
1615
+ "type": "integer",
1616
+ "in": "query"
1617
+ }]
1618
+ },
1619
+ "get-audit-entry": {
1620
+ serviceClass: "AuditLog",
1621
+ operationId: "getAuditEntry",
1622
+ description: "Returns a single audit-log entry, including its `detail` payload",
1623
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/audit-log",
1624
+ httpMethod: "get",
1625
+ pathParams: ["entry_id"],
1626
+ queryParams: [],
1627
+ flags: [{
1628
+ "name": "entry_id",
1629
+ "description": "Audit entry ID",
1630
+ "required": true,
1631
+ "type": "string",
1632
+ "in": "path"
1633
+ }]
1634
+ },
1499
1635
  "list-chats": {
1500
1636
  serviceClass: "Chats",
1501
1637
  operationId: "listChats",
1502
1638
  description: "Returns all chats in the project.",
1503
1639
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
1640
+ httpMethod: "get",
1504
1641
  pathParams: [],
1505
1642
  queryParams: ["project_id"],
1506
1643
  flags: [{
@@ -1516,6 +1653,7 @@ var routes = {
1516
1653
  operationId: "createChat",
1517
1654
  description: "Creates a new chat resource bound to an AI provider.",
1518
1655
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
1656
+ httpMethod: "post",
1519
1657
  pathParams: [],
1520
1658
  queryParams: [],
1521
1659
  flags: [{
@@ -1555,6 +1693,7 @@ var routes = {
1555
1693
  operationId: "getChat",
1556
1694
  description: "Returns a single chat by ID.",
1557
1695
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
1696
+ httpMethod: "get",
1558
1697
  pathParams: ["chat_id"],
1559
1698
  queryParams: [],
1560
1699
  flags: [{
@@ -1570,6 +1709,7 @@ var routes = {
1570
1709
  operationId: "deleteChat",
1571
1710
  description: "Deletes a chat by ID.",
1572
1711
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
1712
+ httpMethod: "delete",
1573
1713
  pathParams: ["chat_id"],
1574
1714
  queryParams: [],
1575
1715
  flags: [{
@@ -1585,6 +1725,7 @@ var routes = {
1585
1725
  operationId: "createChatCompletionForChat",
1586
1726
  description: "Runs a completion using the AI provider and settings stored in the chat. Pass `stream: true` for SSE streaming. A system message in `messages` overrides the chat's stored system message for this call only. Messages may use `documentId` instead of `content`.",
1587
1727
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
1728
+ httpMethod: "post",
1588
1729
  pathParams: ["chat_id"],
1589
1730
  queryParams: [],
1590
1731
  flags: [{
@@ -1618,6 +1759,7 @@ var routes = {
1618
1759
  operationId: "createChatCompletion",
1619
1760
  description: "OpenAI Chat Completions-compatible endpoint. Mirrors OpenAI's `POST /v1/chat/completions` path so an OpenAI SDK can target it by base URL alone. Resolves the AI provider from `ai_provider_id`, decrypts its secret, and calls the appropriate Vercel AI SDK provider. `ai_provider_id` is required — there is no server-side model fallback.",
1620
1761
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
1762
+ httpMethod: "post",
1621
1763
  pathParams: [],
1622
1764
  queryParams: [],
1623
1765
  flags: [{
@@ -1651,6 +1793,7 @@ var routes = {
1651
1793
  operationId: "listConversations",
1652
1794
  description: "Returns all conversations the caller has access to. If projectId is provided, returns only conversations in that project. project keys are scoped to a single project automatically.",
1653
1795
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1796
+ httpMethod: "get",
1654
1797
  pathParams: [],
1655
1798
  queryParams: ["project_id", "actor_id", "limit", "offset"],
1656
1799
  flags: [{
@@ -1684,6 +1827,7 @@ var routes = {
1684
1827
  operationId: "createConversation",
1685
1828
  description: "Creates a new conversation. project keys automatically infer the project from the key's scope; JWT callers must supply projectId.",
1686
1829
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1830
+ httpMethod: "post",
1687
1831
  pathParams: [],
1688
1832
  queryParams: [],
1689
1833
  flags: [{
@@ -1717,6 +1861,7 @@ var routes = {
1717
1861
  operationId: "getConversation",
1718
1862
  description: "Returns a conversation by its ID",
1719
1863
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1864
+ httpMethod: "get",
1720
1865
  pathParams: ["conversation_id"],
1721
1866
  queryParams: [],
1722
1867
  flags: [{
@@ -1732,6 +1877,7 @@ var routes = {
1732
1877
  operationId: "updateConversation",
1733
1878
  description: "Updates the status of a conversation",
1734
1879
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1880
+ httpMethod: "patch",
1735
1881
  pathParams: ["conversation_id"],
1736
1882
  queryParams: [],
1737
1883
  flags: [{
@@ -1759,6 +1905,7 @@ var routes = {
1759
1905
  operationId: "deleteConversation",
1760
1906
  description: "Deletes a conversation by its ID",
1761
1907
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1908
+ httpMethod: "delete",
1762
1909
  pathParams: ["conversation_id"],
1763
1910
  queryParams: [],
1764
1911
  flags: [{
@@ -1774,6 +1921,7 @@ var routes = {
1774
1921
  operationId: "listConversationMessages",
1775
1922
  description: "Returns all messages (documents) attached to a conversation, ordered by position",
1776
1923
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1924
+ httpMethod: "get",
1777
1925
  pathParams: ["conversation_id"],
1778
1926
  queryParams: ["limit", "offset"],
1779
1927
  flags: [{
@@ -1801,6 +1949,7 @@ var routes = {
1801
1949
  operationId: "addConversationMessage",
1802
1950
  description: "Creates a document from the message text and attaches it to the conversation at the given position. If position is omitted, it is appended at the end.",
1803
1951
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1952
+ httpMethod: "post",
1804
1953
  pathParams: ["conversation_id"],
1805
1954
  queryParams: [],
1806
1955
  flags: [{
@@ -1846,6 +1995,7 @@ var routes = {
1846
1995
  operationId: "generateConversationMessage",
1847
1996
  description: "Generates the next message using the specified actor's linked agent or chat. On `completed`, the reply is persisted as a new ConversationMessage authored by that actor. On `requires_action`, nothing is persisted; the caller must submit tool outputs via the Agents module and re-invoke generate.",
1848
1997
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1998
+ httpMethod: "post",
1849
1999
  pathParams: ["conversation_id"],
1850
2000
  queryParams: [],
1851
2001
  flags: [{
@@ -1885,6 +2035,7 @@ var routes = {
1885
2035
  operationId: "removeConversationMessage",
1886
2036
  description: "Removes a document from a conversation",
1887
2037
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
2038
+ httpMethod: "delete",
1888
2039
  pathParams: ["conversation_id", "document_id"],
1889
2040
  queryParams: [],
1890
2041
  flags: [{
@@ -1906,6 +2057,7 @@ var routes = {
1906
2057
  operationId: "getConversationTags",
1907
2058
  description: "Returns all tags attached to the conversation",
1908
2059
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
2060
+ httpMethod: "get",
1909
2061
  pathParams: ["conversation_id"],
1910
2062
  queryParams: [],
1911
2063
  flags: [{
@@ -1921,6 +2073,7 @@ var routes = {
1921
2073
  operationId: "replaceConversationTags",
1922
2074
  description: "Replaces all tags on the conversation with the provided tags",
1923
2075
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
2076
+ httpMethod: "put",
1924
2077
  pathParams: ["conversation_id"],
1925
2078
  queryParams: [],
1926
2079
  flags: [{
@@ -1936,6 +2089,7 @@ var routes = {
1936
2089
  operationId: "mergeConversationTags",
1937
2090
  description: "Merges provided tags with existing tags",
1938
2091
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
2092
+ httpMethod: "patch",
1939
2093
  pathParams: ["conversation_id"],
1940
2094
  queryParams: [],
1941
2095
  flags: [{
@@ -1951,6 +2105,7 @@ var routes = {
1951
2105
  operationId: "listDiscussions",
1952
2106
  description: "Returns all discussions the caller has access to. If project_id is provided, returns only discussions in that project.",
1953
2107
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2108
+ httpMethod: "get",
1954
2109
  pathParams: [],
1955
2110
  queryParams: ["project_id", "limit", "offset"],
1956
2111
  flags: [{
@@ -1978,6 +2133,7 @@ var routes = {
1978
2133
  operationId: "createDiscussion",
1979
2134
  description: "Creates a new discussion config. project keys infer the project from the key's scope; JWT callers must supply project_id.",
1980
2135
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2136
+ httpMethod: "post",
1981
2137
  pathParams: [],
1982
2138
  queryParams: [],
1983
2139
  flags: [{
@@ -2041,6 +2197,7 @@ var routes = {
2041
2197
  operationId: "getDiscussionRun",
2042
2198
  description: "Returns a single discussion run, including its outcome, transcript conversation, and outcome document.",
2043
2199
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2200
+ httpMethod: "get",
2044
2201
  pathParams: ["run_id"],
2045
2202
  queryParams: [],
2046
2203
  flags: [{
@@ -2056,6 +2213,7 @@ var routes = {
2056
2213
  operationId: "getDiscussion",
2057
2214
  description: "Returns a discussion config with its participants.",
2058
2215
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2216
+ httpMethod: "get",
2059
2217
  pathParams: ["discussion_id"],
2060
2218
  queryParams: [],
2061
2219
  flags: [{
@@ -2071,6 +2229,7 @@ var routes = {
2071
2229
  operationId: "updateDiscussion",
2072
2230
  description: "Updates a discussion. Providing participants replaces the full set (not merged).",
2073
2231
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2232
+ httpMethod: "patch",
2074
2233
  pathParams: ["discussion_id"],
2075
2234
  queryParams: [],
2076
2235
  flags: [{
@@ -2134,6 +2293,7 @@ var routes = {
2134
2293
  operationId: "deleteDiscussion",
2135
2294
  description: "Deletes a discussion config and its participants.",
2136
2295
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2296
+ httpMethod: "delete",
2137
2297
  pathParams: ["discussion_id"],
2138
2298
  queryParams: [],
2139
2299
  flags: [{
@@ -2149,6 +2309,7 @@ var routes = {
2149
2309
  operationId: "listDiscussionRuns",
2150
2310
  description: "Returns the run history of a discussion, most recent first.",
2151
2311
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2312
+ httpMethod: "get",
2152
2313
  pathParams: ["discussion_id"],
2153
2314
  queryParams: ["limit", "offset"],
2154
2315
  flags: [{
@@ -2176,6 +2337,7 @@ var routes = {
2176
2337
  operationId: "createDiscussionRun",
2177
2338
  description: "Runs the discussion synchronously over the given topic and returns the completed run, whose outcome inlines the synthesized text. The run's transcript is persisted as a conversation and the outcome as a document.",
2178
2339
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2340
+ httpMethod: "post",
2179
2341
  pathParams: ["discussion_id"],
2180
2342
  queryParams: [],
2181
2343
  flags: [{
@@ -2197,6 +2359,7 @@ var routes = {
2197
2359
  operationId: "listDocuments",
2198
2360
  description: "Returns all documents the caller has access to. If projectId is provided, returns only documents in that project. project keys are scoped to a single project automatically. JWT users without projectId receive documents across all their accessible projects.",
2199
2361
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2362
+ httpMethod: "get",
2200
2363
  pathParams: [],
2201
2364
  queryParams: ["project_id", "limit", "offset"],
2202
2365
  flags: [{
@@ -2224,6 +2387,7 @@ var routes = {
2224
2387
  operationId: "createDocument",
2225
2388
  description: "Creates a new text document and generates an embedding vector for semantic search. project keys automatically infer the project from the key's scope; JWT callers must supply projectId.",
2226
2389
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2390
+ httpMethod: "post",
2227
2391
  pathParams: [],
2228
2392
  queryParams: [],
2229
2393
  flags: [{
@@ -2293,6 +2457,7 @@ var routes = {
2293
2457
  operationId: "ingestDocument",
2294
2458
  description: "Parses an already-uploaded file and creates one Document split into one or more embedded chunks. The source format is detected from the file's content type: PDFs are parsed page-by-page; `text/plain` and `text/markdown` files are read as a single source. How the source is chunked is controlled by `chunk_strategy`.",
2295
2459
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2460
+ httpMethod: "post",
2296
2461
  pathParams: [],
2297
2462
  queryParams: ["async"],
2298
2463
  flags: [{
@@ -2350,6 +2515,7 @@ var routes = {
2350
2515
  operationId: "getDocument",
2351
2516
  description: "Returns a document with its text content",
2352
2517
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2518
+ httpMethod: "get",
2353
2519
  pathParams: ["document_id"],
2354
2520
  queryParams: [],
2355
2521
  flags: [{
@@ -2365,6 +2531,7 @@ var routes = {
2365
2531
  operationId: "updateDocument",
2366
2532
  description: "Updates document content, title, path, metadata, or tags. Supplying `path` moves the document to a new logical path within the project.",
2367
2533
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2534
+ httpMethod: "patch",
2368
2535
  pathParams: ["document_id"],
2369
2536
  queryParams: [],
2370
2537
  flags: [{
@@ -2410,6 +2577,7 @@ var routes = {
2410
2577
  operationId: "deleteDocument",
2411
2578
  description: "Deletes a document and its underlying file",
2412
2579
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2580
+ httpMethod: "delete",
2413
2581
  pathParams: ["document_id"],
2414
2582
  queryParams: [],
2415
2583
  flags: [{
@@ -2425,6 +2593,7 @@ var routes = {
2425
2593
  operationId: "getDocumentStatus",
2426
2594
  description: "Returns a lightweight ingestion status payload for polling — `status`, `chunk_count`, `total_pages`, and (when failed) `error`. Unlike `GET /documents/{document_id}`, it never returns the assembled chunk content, so it is cheap to poll on large documents. A document whose ingestion has stalled (no progress past the configured timeout) is transitioned to `failed` with `error=INGESTION_TIMEOUT` on read.",
2427
2595
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2596
+ httpMethod: "get",
2428
2597
  pathParams: ["document_id"],
2429
2598
  queryParams: [],
2430
2599
  flags: [{
@@ -2440,6 +2609,7 @@ var routes = {
2440
2609
  operationId: "reingestDocument",
2441
2610
  description: "Re-runs ingestion for an existing document against its already-stored source file. Existing chunks are discarded and the document is reset to `status=pending` before re-processing. Use this to recover a document stuck in `processing`/`failed` or to re-chunk with a different strategy without re-uploading the file. Async by default (`202`); pass `?async=false` to run synchronously (`201`).",
2442
2611
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2612
+ httpMethod: "post",
2443
2613
  pathParams: ["document_id"],
2444
2614
  queryParams: ["async"],
2445
2615
  flags: [{
@@ -2479,6 +2649,7 @@ var routes = {
2479
2649
  operationId: "completeIngestionCallback",
2480
2650
  description: "Token-authed callback for a tool converter that deferred conversion by returning `{ \"status\": \"pending\" }` (see the Ingestion Rules module docs). Not IAM-gated — the external converter is not a SOAT principal, so it authenticates with the single-use token minted for this document and ingestion attempt (delivered as `callback.token` / embedded in `callback.url` in the original converter invocation). Accepted only while the document is still awaiting that exact attempt; rejected with `409` if the attempt already completed, timed out, or was superseded by a re-ingest.",
2481
2651
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2652
+ httpMethod: "post",
2482
2653
  pathParams: ["document_id"],
2483
2654
  queryParams: ["token"],
2484
2655
  flags: [{
@@ -2512,6 +2683,7 @@ var routes = {
2512
2683
  operationId: "getDocumentTags",
2513
2684
  description: "Returns all tags attached to the document",
2514
2685
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2686
+ httpMethod: "get",
2515
2687
  pathParams: ["document_id"],
2516
2688
  queryParams: [],
2517
2689
  flags: [{
@@ -2527,6 +2699,7 @@ var routes = {
2527
2699
  operationId: "replaceDocumentTags",
2528
2700
  description: "Replaces all tags on the document with the provided tags (not merged)",
2529
2701
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2702
+ httpMethod: "put",
2530
2703
  pathParams: ["document_id"],
2531
2704
  queryParams: [],
2532
2705
  flags: [{
@@ -2542,6 +2715,7 @@ var routes = {
2542
2715
  operationId: "mergeDocumentTags",
2543
2716
  description: "Merges provided tags with existing tags (existing tags are preserved unless overridden)",
2544
2717
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2718
+ httpMethod: "patch",
2545
2719
  pathParams: ["document_id"],
2546
2720
  queryParams: [],
2547
2721
  flags: [{
@@ -2557,6 +2731,7 @@ var routes = {
2557
2731
  operationId: "createEmbeddings",
2558
2732
  description: "Generates embedding vectors for one or more text inputs using the server's configured embedding model. Provide `input` for a single text or `inputs` for a batch. At least one is required. Returns `embedding` when `input` is used, and `embeddings` when `inputs` is used.",
2559
2733
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/embeddings",
2734
+ httpMethod: "post",
2560
2735
  pathParams: [],
2561
2736
  queryParams: [],
2562
2737
  flags: [{
@@ -2573,11 +2748,100 @@ var routes = {
2573
2748
  "in": "body"
2574
2749
  }]
2575
2750
  },
2751
+ "list-exceptions": {
2752
+ serviceClass: "Exceptions",
2753
+ operationId: "listExceptions",
2754
+ description: "Returns exception items for a project, filterable by status, severity, and kind.",
2755
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/exceptions",
2756
+ httpMethod: "get",
2757
+ pathParams: [],
2758
+ queryParams: ["project_id", "status", "severity", "kind"],
2759
+ flags: [{
2760
+ "name": "project_id",
2761
+ "description": "Project ID (required if not using project key auth)",
2762
+ "required": false,
2763
+ "type": "string",
2764
+ "in": "query"
2765
+ }, {
2766
+ "name": "status",
2767
+ "description": "Filter by triage status",
2768
+ "required": false,
2769
+ "type": "string",
2770
+ "in": "query"
2771
+ }, {
2772
+ "name": "severity",
2773
+ "description": "Filter by severity",
2774
+ "required": false,
2775
+ "type": "string",
2776
+ "in": "query"
2777
+ }, {
2778
+ "name": "kind",
2779
+ "description": "Filter by how the exception was filed",
2780
+ "required": false,
2781
+ "type": "string",
2782
+ "in": "query"
2783
+ }]
2784
+ },
2785
+ "get-exception": {
2786
+ serviceClass: "Exceptions",
2787
+ operationId: "getException",
2788
+ description: "Returns a single exception item with its full detail.",
2789
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/exceptions",
2790
+ httpMethod: "get",
2791
+ pathParams: ["exception_id"],
2792
+ queryParams: [],
2793
+ flags: [{
2794
+ "name": "exception_id",
2795
+ "description": "Exception item ID",
2796
+ "required": true,
2797
+ "type": "string",
2798
+ "in": "path"
2799
+ }]
2800
+ },
2801
+ "acknowledge-exception": {
2802
+ serviceClass: "Exceptions",
2803
+ operationId: "acknowledgeException",
2804
+ description: "Moves the item to `acknowledged` (\"someone is on it\"), recording who. A no-op that returns the item unchanged when already acknowledged; rejected when already resolved.",
2805
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/exceptions",
2806
+ httpMethod: "post",
2807
+ pathParams: ["exception_id"],
2808
+ queryParams: [],
2809
+ flags: [{
2810
+ "name": "exception_id",
2811
+ "description": "Exception item ID",
2812
+ "required": true,
2813
+ "type": "string",
2814
+ "in": "path"
2815
+ }]
2816
+ },
2817
+ "resolve-exception": {
2818
+ serviceClass: "Exceptions",
2819
+ operationId: "resolveException",
2820
+ description: "Moves the item to `resolved` (\"fixed\"), recording who and an optional note.",
2821
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/exceptions",
2822
+ httpMethod: "post",
2823
+ pathParams: ["exception_id"],
2824
+ queryParams: [],
2825
+ flags: [{
2826
+ "name": "exception_id",
2827
+ "description": "Exception item ID",
2828
+ "required": true,
2829
+ "type": "string",
2830
+ "in": "path"
2831
+ }, {
2832
+ "name": "note",
2833
+ "description": "Optional resolution note",
2834
+ "required": false,
2835
+ "type": "string",
2836
+ "in": "body"
2837
+ }]
2838
+ },
2576
2839
  "list-files": {
2577
2840
  serviceClass: "Files",
2578
2841
  operationId: "listFiles",
2579
2842
  description: "Returns a list of all stored files",
2580
2843
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2844
+ httpMethod: "get",
2581
2845
  pathParams: [],
2582
2846
  queryParams: ["project_id", "limit", "offset"],
2583
2847
  flags: [{
@@ -2605,6 +2869,7 @@ var routes = {
2605
2869
  operationId: "createFile",
2606
2870
  description: "Creates a new file record in the system",
2607
2871
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2872
+ httpMethod: "post",
2608
2873
  pathParams: [],
2609
2874
  queryParams: [],
2610
2875
  flags: [{
@@ -2650,6 +2915,7 @@ var routes = {
2650
2915
  operationId: "uploadFile",
2651
2916
  description: "Uploads a file to the server and stores it in the configured storage directory",
2652
2917
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2918
+ httpMethod: "post",
2653
2919
  pathParams: [],
2654
2920
  queryParams: [],
2655
2921
  flags: []
@@ -2659,6 +2925,7 @@ var routes = {
2659
2925
  operationId: "uploadFileBase64",
2660
2926
  description: "Uploads a file to the server using base64-encoded content",
2661
2927
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2928
+ httpMethod: "post",
2662
2929
  pathParams: [],
2663
2930
  queryParams: [],
2664
2931
  flags: [{
@@ -2704,6 +2971,7 @@ var routes = {
2704
2971
  operationId: "createPresignedUrl",
2705
2972
  description: "Creates a short-lived, single-use presigned upload URL — the local-storage equivalent of an S3 presigned URL. The client then uploads the file content directly to the returned `upload_url` via `POST /api/v1/files/upload/{token}`, bypassing MCP payload size limits. When the server is configured with `SOAT_BASE_URL`, `upload_url` is a fully-qualified absolute URL so MCP agents and other clients can POST to it without knowing the server base URL in advance.",
2706
2973
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2974
+ httpMethod: "post",
2707
2975
  pathParams: [],
2708
2976
  queryParams: [],
2709
2977
  flags: [{
@@ -2737,6 +3005,7 @@ var routes = {
2737
3005
  operationId: "uploadFileWithToken",
2738
3006
  description: "Uploads file content authorized by a single-use token from `POST /api/v1/files/presigned-url`. No bearer credential is required — the token is the credential. Accepts either multipart/form-data (field `file`) or JSON with a base64-encoded `content` field.",
2739
3007
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
3008
+ httpMethod: "post",
2740
3009
  pathParams: ["token"],
2741
3010
  queryParams: [],
2742
3011
  flags: [{
@@ -2776,6 +3045,7 @@ var routes = {
2776
3045
  operationId: "getFile",
2777
3046
  description: "Returns the data and metadata of a specific file",
2778
3047
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
3048
+ httpMethod: "get",
2779
3049
  pathParams: ["file_id"],
2780
3050
  queryParams: [],
2781
3051
  flags: [{
@@ -2791,6 +3061,7 @@ var routes = {
2791
3061
  operationId: "deleteFile",
2792
3062
  description: "Removes a file from the system by ID",
2793
3063
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
3064
+ httpMethod: "delete",
2794
3065
  pathParams: ["file_id"],
2795
3066
  queryParams: [],
2796
3067
  flags: [{
@@ -2806,6 +3077,7 @@ var routes = {
2806
3077
  operationId: "downloadFile",
2807
3078
  description: "Streams the file content to the client",
2808
3079
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
3080
+ httpMethod: "get",
2809
3081
  pathParams: ["file_id"],
2810
3082
  queryParams: [],
2811
3083
  flags: [{
@@ -2821,6 +3093,7 @@ var routes = {
2821
3093
  operationId: "updateFileMetadata",
2822
3094
  description: "Updates the metadata field of a file",
2823
3095
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
3096
+ httpMethod: "patch",
2824
3097
  pathParams: ["file_id"],
2825
3098
  queryParams: [],
2826
3099
  flags: [{
@@ -2854,6 +3127,7 @@ var routes = {
2854
3127
  operationId: "downloadFileBase64",
2855
3128
  description: "Returns the file content encoded as base64",
2856
3129
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
3130
+ httpMethod: "get",
2857
3131
  pathParams: ["file_id"],
2858
3132
  queryParams: [],
2859
3133
  flags: [{
@@ -2869,6 +3143,7 @@ var routes = {
2869
3143
  operationId: "getFileTags",
2870
3144
  description: "Returns all tags attached to the file",
2871
3145
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
3146
+ httpMethod: "get",
2872
3147
  pathParams: ["file_id"],
2873
3148
  queryParams: [],
2874
3149
  flags: [{
@@ -2884,6 +3159,7 @@ var routes = {
2884
3159
  operationId: "replaceFileTags",
2885
3160
  description: "Replaces all tags on the file with the provided tags",
2886
3161
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
3162
+ httpMethod: "put",
2887
3163
  pathParams: ["file_id"],
2888
3164
  queryParams: [],
2889
3165
  flags: [{
@@ -2899,6 +3175,7 @@ var routes = {
2899
3175
  operationId: "mergeFileTags",
2900
3176
  description: "Merges provided tags with existing tags",
2901
3177
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
3178
+ httpMethod: "patch",
2902
3179
  pathParams: ["file_id"],
2903
3180
  queryParams: [],
2904
3181
  flags: [{
@@ -2914,6 +3191,7 @@ var routes = {
2914
3191
  operationId: "validateFormation",
2915
3192
  description: "Validates a formation template without creating any resources. Returns a list of errors and warnings. Accepts the template as a JSON object or as a YAML/JSON string.",
2916
3193
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3194
+ httpMethod: "post",
2917
3195
  pathParams: [],
2918
3196
  queryParams: [],
2919
3197
  flags: [{
@@ -2935,6 +3213,7 @@ var routes = {
2935
3213
  operationId: "planFormation",
2936
3214
  description: "Computes a diff between the desired template and the current stack state without making any changes. Returns the list of planned actions.",
2937
3215
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3216
+ httpMethod: "post",
2938
3217
  pathParams: [],
2939
3218
  queryParams: [],
2940
3219
  flags: [{
@@ -2968,6 +3247,7 @@ var routes = {
2968
3247
  operationId: "listFormations",
2969
3248
  description: "Returns all formation stacks for a project",
2970
3249
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3250
+ httpMethod: "get",
2971
3251
  pathParams: [],
2972
3252
  queryParams: ["project_id"],
2973
3253
  flags: [{
@@ -2983,6 +3263,7 @@ var routes = {
2983
3263
  operationId: "createFormation",
2984
3264
  description: "Validates the template, creates the formation record, then provisions all declared resources in dependency order.",
2985
3265
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3266
+ httpMethod: "post",
2986
3267
  pathParams: [],
2987
3268
  queryParams: [],
2988
3269
  flags: [{
@@ -3022,6 +3303,7 @@ var routes = {
3022
3303
  operationId: "getFormation",
3023
3304
  description: "Returns the formation stack including its current resources.",
3024
3305
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3306
+ httpMethod: "get",
3025
3307
  pathParams: ["formation_id"],
3026
3308
  queryParams: [],
3027
3309
  flags: [{
@@ -3037,6 +3319,7 @@ var routes = {
3037
3319
  operationId: "updateFormation",
3038
3320
  description: "Applies a new template to the formation. Resources are created, updated, or deleted to reconcile the current state with the desired state.",
3039
3321
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3322
+ httpMethod: "put",
3040
3323
  pathParams: ["formation_id"],
3041
3324
  queryParams: [],
3042
3325
  flags: [{
@@ -3070,6 +3353,7 @@ var routes = {
3070
3353
  operationId: "deleteFormation",
3071
3354
  description: "Deletes the formation stack and all its managed resources in reverse dependency order.",
3072
3355
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3356
+ httpMethod: "delete",
3073
3357
  pathParams: ["formation_id"],
3074
3358
  queryParams: [],
3075
3359
  flags: [{
@@ -3085,6 +3369,7 @@ var routes = {
3085
3369
  operationId: "listFormationEvents",
3086
3370
  description: "Returns all operations (create, update, delete) with their event logs for the formation, ordered chronologically.",
3087
3371
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3372
+ httpMethod: "get",
3088
3373
  pathParams: ["formation_id"],
3089
3374
  queryParams: [],
3090
3375
  flags: [{
@@ -3100,6 +3385,7 @@ var routes = {
3100
3385
  operationId: "listGenerations",
3101
3386
  description: "Returns generations the caller can access, optionally filtered by agent, trace, and status. Replaces the former per-trace generations endpoint (use the trace_id query filter).",
3102
3387
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/generations",
3388
+ httpMethod: "get",
3103
3389
  pathParams: [],
3104
3390
  queryParams: ["agent_id", "trace_id", "initiator_generation_id", "status", "limit", "offset"],
3105
3391
  flags: [{
@@ -3145,6 +3431,7 @@ var routes = {
3145
3431
  operationId: "getGeneration",
3146
3432
  description: "Returns a single generation record by ID, including its status and the structured `error` payload when the generation failed (e.g. because the upstream AI provider returned an error).",
3147
3433
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/generations",
3434
+ httpMethod: "get",
3148
3435
  pathParams: ["generation_id"],
3149
3436
  queryParams: [],
3150
3437
  flags: [{
@@ -3160,6 +3447,7 @@ var routes = {
3160
3447
  operationId: "updateGeneration",
3161
3448
  description: "Attaches caller-supplied key/value metadata to a generation record for per-run audit attribution (e.g. recording which knowledge-corpus version produced an AI action). The provided keys are shallow-merged over the existing metadata, so repeated patches accumulate and system-owned keys are preserved. Reserved keys (`action_id`, `trigger_id`, `run_id`, `node_id`, `extraction`, and internal recovery state) cannot be set and are rejected with 400.",
3162
3449
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/generations",
3450
+ httpMethod: "patch",
3163
3451
  pathParams: ["generation_id"],
3164
3452
  queryParams: [],
3165
3453
  flags: [{
@@ -3176,11 +3464,208 @@ var routes = {
3176
3464
  "in": "body"
3177
3465
  }]
3178
3466
  },
3467
+ "list-guardrails": {
3468
+ serviceClass: "Guardrails",
3469
+ operationId: "listGuardrails",
3470
+ description: "Returns all guardrails in the project.",
3471
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/guardrails",
3472
+ httpMethod: "get",
3473
+ pathParams: [],
3474
+ queryParams: ["project_id"],
3475
+ flags: [{
3476
+ "name": "project_id",
3477
+ "description": "Project public ID to filter by",
3478
+ "required": false,
3479
+ "type": "string",
3480
+ "in": "query"
3481
+ }]
3482
+ },
3483
+ "create-guardrail": {
3484
+ serviceClass: "Guardrails",
3485
+ operationId: "createGuardrail",
3486
+ description: "Creates a new guardrail in the project. The `document` is validated on write: `class` must be a literal (A/B/C/D) or a JSON Logic expression, and every variable it (and `guard`) reference must resolve to the `args.*` / `context.*` / `soat.*` namespaces — an out-of-catalog `soat.*` key is rejected with 400.",
3487
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/guardrails",
3488
+ httpMethod: "post",
3489
+ pathParams: [],
3490
+ queryParams: [],
3491
+ flags: [{
3492
+ "name": "project_id",
3493
+ "description": "Public ID of the project",
3494
+ "required": false,
3495
+ "type": "string",
3496
+ "in": "body"
3497
+ }, {
3498
+ "name": "name",
3499
+ "description": "Human-readable name",
3500
+ "required": true,
3501
+ "type": "string",
3502
+ "in": "body"
3503
+ }, {
3504
+ "name": "description",
3505
+ "description": "",
3506
+ "required": false,
3507
+ "type": "string",
3508
+ "in": "body"
3509
+ }, {
3510
+ "name": "document",
3511
+ "description": "The action-class document. `class` maps a call to an action class; `guard` gates class-B autonomy. Both are single JSON Logic expressions over the `args.*` / `context.*` / `soat.*` namespaces.\n",
3512
+ "required": true,
3513
+ "type": "object",
3514
+ "in": "body"
3515
+ }, {
3516
+ "name": "context_tool_id",
3517
+ "description": "",
3518
+ "required": false,
3519
+ "type": "string",
3520
+ "in": "body"
3521
+ }, {
3522
+ "name": "context_mode",
3523
+ "description": "",
3524
+ "required": false,
3525
+ "type": "string",
3526
+ "in": "body"
3527
+ }]
3528
+ },
3529
+ "get-guardrail": {
3530
+ serviceClass: "Guardrails",
3531
+ operationId: "getGuardrail",
3532
+ description: "Returns a single guardrail by ID.",
3533
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/guardrails",
3534
+ httpMethod: "get",
3535
+ pathParams: ["guardrail_id"],
3536
+ queryParams: [],
3537
+ flags: [{
3538
+ "name": "guardrail_id",
3539
+ "description": "",
3540
+ "required": true,
3541
+ "type": "string",
3542
+ "in": "path"
3543
+ }]
3544
+ },
3545
+ "update-guardrail": {
3546
+ serviceClass: "Guardrails",
3547
+ operationId: "updateGuardrail",
3548
+ description: "Updates an existing guardrail. A `document` write increments `version` and archives the prior document as a GuardrailVersion; metadata-only edits (name / description / context) leave the version untouched.",
3549
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/guardrails",
3550
+ httpMethod: "patch",
3551
+ pathParams: ["guardrail_id"],
3552
+ queryParams: [],
3553
+ flags: [{
3554
+ "name": "guardrail_id",
3555
+ "description": "",
3556
+ "required": true,
3557
+ "type": "string",
3558
+ "in": "path"
3559
+ }, {
3560
+ "name": "name",
3561
+ "description": "",
3562
+ "required": false,
3563
+ "type": "string",
3564
+ "in": "body"
3565
+ }, {
3566
+ "name": "description",
3567
+ "description": "",
3568
+ "required": false,
3569
+ "type": "string",
3570
+ "in": "body"
3571
+ }, {
3572
+ "name": "document",
3573
+ "description": "The action-class document. `class` maps a call to an action class; `guard` gates class-B autonomy. Both are single JSON Logic expressions over the `args.*` / `context.*` / `soat.*` namespaces.\n",
3574
+ "required": false,
3575
+ "type": "object",
3576
+ "in": "body"
3577
+ }, {
3578
+ "name": "context_tool_id",
3579
+ "description": "",
3580
+ "required": false,
3581
+ "type": "string",
3582
+ "in": "body"
3583
+ }, {
3584
+ "name": "context_mode",
3585
+ "description": "",
3586
+ "required": false,
3587
+ "type": "string",
3588
+ "in": "body"
3589
+ }]
3590
+ },
3591
+ "delete-guardrail": {
3592
+ serviceClass: "Guardrails",
3593
+ operationId: "deleteGuardrail",
3594
+ description: "Deletes a guardrail and its archived versions by ID.",
3595
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/guardrails",
3596
+ httpMethod: "delete",
3597
+ pathParams: ["guardrail_id"],
3598
+ queryParams: [],
3599
+ flags: [{
3600
+ "name": "guardrail_id",
3601
+ "description": "",
3602
+ "required": true,
3603
+ "type": "string",
3604
+ "in": "path"
3605
+ }]
3606
+ },
3607
+ "get-guardrail-version": {
3608
+ serviceClass: "Guardrails",
3609
+ operationId: "getGuardrailVersion",
3610
+ description: "Returns the exact `document` that governed at a given version. Approval items, activity entries, and exceptions record the version that governed them, so the audit chain survives edits.",
3611
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/guardrails",
3612
+ httpMethod: "get",
3613
+ pathParams: ["guardrail_id", "version"],
3614
+ queryParams: [],
3615
+ flags: [{
3616
+ "name": "guardrail_id",
3617
+ "description": "",
3618
+ "required": true,
3619
+ "type": "string",
3620
+ "in": "path"
3621
+ }, {
3622
+ "name": "version",
3623
+ "description": "",
3624
+ "required": true,
3625
+ "type": "integer",
3626
+ "in": "path"
3627
+ }]
3628
+ },
3629
+ "evaluate-guardrail": {
3630
+ serviceClass: "Guardrails",
3631
+ operationId: "evaluateGuardrail",
3632
+ description: "Runs the full evaluation pipeline — the `class` expression, the guard, the context tool per `context_mode`, live `soat.*` resolution — against caller-supplied `args` and `guardrail_context`, and returns the exact `guardrail_evaluation` record a real call would produce. Nothing executes, no approval item is filed, and no activity entry is written. This is the adoption path: preview a document's decisions against production-shaped calls before attaching it — or before editing a widely-attached one. Pass an optional `tool_id` to resolve `soat.tool.*`.",
3633
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/guardrails",
3634
+ httpMethod: "post",
3635
+ pathParams: ["guardrail_id"],
3636
+ queryParams: [],
3637
+ flags: [{
3638
+ "name": "guardrail_id",
3639
+ "description": "",
3640
+ "required": true,
3641
+ "type": "string",
3642
+ "in": "path"
3643
+ }, {
3644
+ "name": "args",
3645
+ "description": "The proposed call's arguments (the `args.*` namespace).",
3646
+ "required": false,
3647
+ "type": "object",
3648
+ "in": "body"
3649
+ }, {
3650
+ "name": "guardrail_context",
3651
+ "description": "The caller-supplied guardrail context (the `context.*` namespace), combined with the context tool per `context_mode`.\n",
3652
+ "required": false,
3653
+ "type": "object",
3654
+ "in": "body"
3655
+ }, {
3656
+ "name": "tool_id",
3657
+ "description": "Optional tool to resolve `soat.tool.*` against.",
3658
+ "required": false,
3659
+ "type": "string",
3660
+ "in": "body"
3661
+ }]
3662
+ },
3179
3663
  "list-ingestion-rules": {
3180
3664
  serviceClass: "IngestionRules",
3181
3665
  operationId: "listIngestionRules",
3182
3666
  description: "Returns the ingestion rules for a project",
3183
3667
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ingestion-rules",
3668
+ httpMethod: "get",
3184
3669
  pathParams: [],
3185
3670
  queryParams: ["project_id", "limit", "offset"],
3186
3671
  flags: [{
@@ -3208,6 +3693,7 @@ var routes = {
3208
3693
  operationId: "createIngestionRule",
3209
3694
  description: "Creates a rule mapping a content_type glob to a converter. Exactly one of tool_id or agent_id must be set.",
3210
3695
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ingestion-rules",
3696
+ httpMethod: "post",
3211
3697
  pathParams: [],
3212
3698
  queryParams: [],
3213
3699
  flags: [{
@@ -3289,6 +3775,7 @@ var routes = {
3289
3775
  operationId: "getIngestionRule",
3290
3776
  description: "Returns a specific ingestion rule",
3291
3777
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ingestion-rules",
3778
+ httpMethod: "get",
3292
3779
  pathParams: ["ingestion_rule_id"],
3293
3780
  queryParams: [],
3294
3781
  flags: [{
@@ -3304,6 +3791,7 @@ var routes = {
3304
3791
  operationId: "updateIngestionRule",
3305
3792
  description: "Updates fields of an ingestion rule",
3306
3793
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ingestion-rules",
3794
+ httpMethod: "patch",
3307
3795
  pathParams: ["ingestion_rule_id"],
3308
3796
  queryParams: [],
3309
3797
  flags: [{
@@ -3385,6 +3873,7 @@ var routes = {
3385
3873
  operationId: "deleteIngestionRule",
3386
3874
  description: "Deletes an ingestion rule",
3387
3875
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ingestion-rules",
3876
+ httpMethod: "delete",
3388
3877
  pathParams: ["ingestion_rule_id"],
3389
3878
  queryParams: [],
3390
3879
  flags: [{
@@ -3400,6 +3889,7 @@ var routes = {
3400
3889
  operationId: "searchKnowledge",
3401
3890
  description: "Searches across documents and memory entries using semantic search, file paths, document IDs, or memory IDs/tags. At least one of `query`, `document_paths`, `document_ids`, `memory_ids`, or `memory_tags` must be provided.",
3402
3891
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/knowledge",
3892
+ httpMethod: "post",
3403
3893
  pathParams: [],
3404
3894
  queryParams: [],
3405
3895
  flags: [{
@@ -3457,6 +3947,7 @@ var routes = {
3457
3947
  operationId: "listMemories",
3458
3948
  description: "Returns a list of memory configurations for a project",
3459
3949
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
3950
+ httpMethod: "get",
3460
3951
  pathParams: [],
3461
3952
  queryParams: ["project_id", "tags"],
3462
3953
  flags: [{
@@ -3478,6 +3969,7 @@ var routes = {
3478
3969
  operationId: "createMemory",
3479
3970
  description: "Creates a new memory configuration in a project",
3480
3971
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
3972
+ httpMethod: "post",
3481
3973
  pathParams: [],
3482
3974
  queryParams: [],
3483
3975
  flags: [{
@@ -3511,6 +4003,7 @@ var routes = {
3511
4003
  operationId: "getMemory",
3512
4004
  description: "Returns a single memory configuration by ID",
3513
4005
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
4006
+ httpMethod: "get",
3514
4007
  pathParams: ["memory_id"],
3515
4008
  queryParams: [],
3516
4009
  flags: [{
@@ -3526,6 +4019,7 @@ var routes = {
3526
4019
  operationId: "updateMemory",
3527
4020
  description: "Updates an existing memory configuration",
3528
4021
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
4022
+ httpMethod: "put",
3529
4023
  pathParams: ["memory_id"],
3530
4024
  queryParams: [],
3531
4025
  flags: [{
@@ -3559,6 +4053,7 @@ var routes = {
3559
4053
  operationId: "deleteMemory",
3560
4054
  description: "Deletes a memory configuration",
3561
4055
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
4056
+ httpMethod: "delete",
3562
4057
  pathParams: ["memory_id"],
3563
4058
  queryParams: [],
3564
4059
  flags: [{
@@ -3574,6 +4069,7 @@ var routes = {
3574
4069
  operationId: "listMemoryEntries",
3575
4070
  description: "Returns all entries in a memory container",
3576
4071
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
4072
+ httpMethod: "get",
3577
4073
  pathParams: [],
3578
4074
  queryParams: ["memory_id"],
3579
4075
  flags: [{
@@ -3589,6 +4085,7 @@ var routes = {
3589
4085
  operationId: "createMemoryEntry",
3590
4086
  description: "Creates a new entry in the specified memory container. Automatically generates an embedding for semantic search.",
3591
4087
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
4088
+ httpMethod: "post",
3592
4089
  pathParams: [],
3593
4090
  queryParams: [],
3594
4091
  flags: [{
@@ -3640,6 +4137,7 @@ var routes = {
3640
4137
  operationId: "getMemoryEntry",
3641
4138
  description: "Returns a single memory entry by ID",
3642
4139
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
4140
+ httpMethod: "get",
3643
4141
  pathParams: ["entry_id"],
3644
4142
  queryParams: [],
3645
4143
  flags: [{
@@ -3655,6 +4153,7 @@ var routes = {
3655
4153
  operationId: "updateMemoryEntry",
3656
4154
  description: "Updates an existing memory entry. Regenerates the embedding if content changes.",
3657
4155
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
4156
+ httpMethod: "put",
3658
4157
  pathParams: ["entry_id"],
3659
4158
  queryParams: [],
3660
4159
  flags: [{
@@ -3688,6 +4187,7 @@ var routes = {
3688
4187
  operationId: "deleteMemoryEntry",
3689
4188
  description: "Deletes a memory entry",
3690
4189
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
4190
+ httpMethod: "delete",
3691
4191
  pathParams: ["entry_id"],
3692
4192
  queryParams: [],
3693
4193
  flags: [{
@@ -3703,6 +4203,7 @@ var routes = {
3703
4203
  operationId: "listOrchestrations",
3704
4204
  description: "Returns orchestrations accessible to the caller.",
3705
4205
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4206
+ httpMethod: "get",
3706
4207
  pathParams: [],
3707
4208
  queryParams: ["project_id"],
3708
4209
  flags: [{
@@ -3718,6 +4219,7 @@ var routes = {
3718
4219
  operationId: "createOrchestration",
3719
4220
  description: "Creates a new orchestration (pipeline) definition in the project.",
3720
4221
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4222
+ httpMethod: "post",
3721
4223
  pathParams: [],
3722
4224
  queryParams: [],
3723
4225
  flags: [{
@@ -3769,6 +4271,7 @@ var routes = {
3769
4271
  operationId: "validateOrchestration",
3770
4272
  description: "Statically validates an orchestration graph without persisting anything. Checks that every node has its required field, node ids are unique, edges reference existing nodes, the graph is acyclic (unless it contains a loop node), and every `input_mapping` `{\"var\": \"...\"}` reference resolves to a state key written by an upstream node or seeded by `input_schema`. Returns blocking `errors` and non-blocking `warnings` (e.g. a state key only written on a conditional branch). The same `errors` checks are enforced on create and update, which fail with `400` when any error is present.",
3771
4273
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4274
+ httpMethod: "post",
3772
4275
  pathParams: [],
3773
4276
  queryParams: [],
3774
4277
  flags: [{
@@ -3791,11 +4294,22 @@ var routes = {
3791
4294
  "in": "body"
3792
4295
  }]
3793
4296
  },
4297
+ "get-queue-stats": {
4298
+ serviceClass: "Orchestrations",
4299
+ operationId: "getQueueStats",
4300
+ description: "Returns a point-in-time snapshot of the orchestration run queue: how many tasks are waiting to be claimed (`queue_depth`), how many are currently claimed with a valid lease (`claimed_tasks`), the age of the oldest waiting task, recent claim-latency percentiles over a rolling in-process window, and a per-project breakdown. Intended for admin/operator policies; guarded by `orchestrations:GetQueueStats`. A project-scoped caller sees only their own projects under `per_project`.",
4301
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4302
+ httpMethod: "get",
4303
+ pathParams: [],
4304
+ queryParams: [],
4305
+ flags: []
4306
+ },
3794
4307
  "get-orchestration": {
3795
4308
  serviceClass: "Orchestrations",
3796
4309
  operationId: "getOrchestration",
3797
4310
  description: "Returns the orchestration with nodes and edges.",
3798
4311
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4312
+ httpMethod: "get",
3799
4313
  pathParams: ["orchestration_id"],
3800
4314
  queryParams: [],
3801
4315
  flags: [{
@@ -3811,6 +4325,7 @@ var routes = {
3811
4325
  operationId: "updateOrchestration",
3812
4326
  description: "Partially updates an orchestration definition.",
3813
4327
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4328
+ httpMethod: "patch",
3814
4329
  pathParams: ["orchestration_id"],
3815
4330
  queryParams: [],
3816
4331
  flags: [{
@@ -3862,6 +4377,7 @@ var routes = {
3862
4377
  operationId: "deleteOrchestration",
3863
4378
  description: "Deletes an orchestration definition and all its runs.",
3864
4379
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4380
+ httpMethod: "delete",
3865
4381
  pathParams: ["orchestration_id"],
3866
4382
  queryParams: [],
3867
4383
  flags: [{
@@ -3877,6 +4393,7 @@ var routes = {
3877
4393
  operationId: "listOrchestrationRuns",
3878
4394
  description: "Returns orchestration runs the caller can access, optionally filtered by orchestration.",
3879
4395
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4396
+ httpMethod: "get",
3880
4397
  pathParams: [],
3881
4398
  queryParams: ["orchestration_id"],
3882
4399
  flags: [{
@@ -3892,6 +4409,7 @@ var routes = {
3892
4409
  operationId: "startOrchestrationRun",
3893
4410
  description: "Creates a new run for the orchestration named by orchestration_id. By default the run executes durably in the background: the response returns immediately with status \"running\" and progress is observed via get-orchestration-run or run lifecycle webhook events (orchestration_runs.started/awaiting_input/succeeded/failed). Delay and poll waits park the run as \"sleeping\" and are woken by a background scheduler, surviving restarts. Pass wait=true to block until the run reaches a terminal or awaiting_input state (the legacy synchronous behaviour).",
3894
4411
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4412
+ httpMethod: "post",
3895
4413
  pathParams: [],
3896
4414
  queryParams: [],
3897
4415
  flags: [{
@@ -3919,6 +4437,7 @@ var routes = {
3919
4437
  operationId: "cancelOrchestrationRun",
3920
4438
  description: "Cancels a run that has not yet reached a terminal state.",
3921
4439
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4440
+ httpMethod: "post",
3922
4441
  pathParams: ["run_id"],
3923
4442
  queryParams: [],
3924
4443
  flags: [{
@@ -3934,6 +4453,7 @@ var routes = {
3934
4453
  operationId: "submitHumanInput",
3935
4454
  description: "Provides human input to a run that is awaiting_input at a human node.",
3936
4455
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4456
+ httpMethod: "post",
3937
4457
  pathParams: ["run_id"],
3938
4458
  queryParams: [],
3939
4459
  flags: [{
@@ -3961,6 +4481,7 @@ var routes = {
3961
4481
  operationId: "resumeOrchestrationRun",
3962
4482
  description: "Resumes an awaiting_input orchestration run from its last checkpoint.",
3963
4483
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4484
+ httpMethod: "post",
3964
4485
  pathParams: ["run_id"],
3965
4486
  queryParams: [],
3966
4487
  flags: [{
@@ -3976,6 +4497,7 @@ var routes = {
3976
4497
  operationId: "getOrchestrationRun",
3977
4498
  description: "Returns the status, state, and artifacts of a specific run.",
3978
4499
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4500
+ httpMethod: "get",
3979
4501
  pathParams: ["run_id"],
3980
4502
  queryParams: [],
3981
4503
  flags: [{
@@ -3991,6 +4513,7 @@ var routes = {
3991
4513
  operationId: "listPolicies",
3992
4514
  description: "Returns global policies. Requires admin role. Pass user_id to list only the policies attached to that user (replaces the former per-user policies endpoint).",
3993
4515
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
4516
+ httpMethod: "get",
3994
4517
  pathParams: [],
3995
4518
  queryParams: ["user_id"],
3996
4519
  flags: [{
@@ -4006,6 +4529,7 @@ var routes = {
4006
4529
  operationId: "createPolicy",
4007
4530
  description: "Creates a new global policy. Requires admin role.",
4008
4531
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
4532
+ httpMethod: "post",
4009
4533
  pathParams: [],
4010
4534
  queryParams: [],
4011
4535
  flags: [{
@@ -4033,6 +4557,7 @@ var routes = {
4033
4557
  operationId: "getPolicy",
4034
4558
  description: "Returns details of a specific policy. Requires admin role.",
4035
4559
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
4560
+ httpMethod: "get",
4036
4561
  pathParams: ["policy_id"],
4037
4562
  queryParams: [],
4038
4563
  flags: [{
@@ -4048,6 +4573,7 @@ var routes = {
4048
4573
  operationId: "updatePolicy",
4049
4574
  description: "Updates an existing global policy. Requires admin role.",
4050
4575
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
4576
+ httpMethod: "put",
4051
4577
  pathParams: ["policy_id"],
4052
4578
  queryParams: [],
4053
4579
  flags: [{
@@ -4081,6 +4607,7 @@ var routes = {
4081
4607
  operationId: "deletePolicy",
4082
4608
  description: "Deletes a global policy. Requires admin role.",
4083
4609
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
4610
+ httpMethod: "delete",
4084
4611
  pathParams: ["policy_id"],
4085
4612
  queryParams: [],
4086
4613
  flags: [{
@@ -4096,6 +4623,7 @@ var routes = {
4096
4623
  operationId: "listProjects",
4097
4624
  description: "Lists projects accessible to the caller. - JWT admin: returns all projects. - JWT regular user: returns only projects granted by the user's policies. - API key scoped to a project: returns only that project.",
4098
4625
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4626
+ httpMethod: "get",
4099
4627
  pathParams: [],
4100
4628
  queryParams: [],
4101
4629
  flags: []
@@ -4105,6 +4633,7 @@ var routes = {
4105
4633
  operationId: "createProject",
4106
4634
  description: "Creates a new project. Requires admin role.",
4107
4635
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4636
+ httpMethod: "post",
4108
4637
  pathParams: [],
4109
4638
  queryParams: [],
4110
4639
  flags: [{
@@ -4120,6 +4649,7 @@ var routes = {
4120
4649
  operationId: "getProject",
4121
4650
  description: "Returns details of a specific project.",
4122
4651
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4652
+ httpMethod: "get",
4123
4653
  pathParams: ["project_id"],
4124
4654
  queryParams: [],
4125
4655
  flags: [{
@@ -4133,8 +4663,9 @@ var routes = {
4133
4663
  "update-project": {
4134
4664
  serviceClass: "Projects",
4135
4665
  operationId: "updateProject",
4136
- description: "Updates a project's name. Requires admin role.",
4666
+ description: "Updates a project's name and/or its attached guardrails (`guardrail_ids` — the project-scope baseline governing every tool call by every agent in the project). Requires admin role. Detaching a guardrail (removing an id) additionally requires guardrails:DetachGuardrail.",
4137
4667
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4668
+ httpMethod: "patch",
4138
4669
  pathParams: ["project_id"],
4139
4670
  queryParams: [],
4140
4671
  flags: [{
@@ -4146,9 +4677,21 @@ var routes = {
4146
4677
  }, {
4147
4678
  "name": "name",
4148
4679
  "description": "",
4149
- "required": true,
4680
+ "required": false,
4150
4681
  "type": "string",
4151
4682
  "in": "body"
4683
+ }, {
4684
+ "name": "guardrail_ids",
4685
+ "description": "Guardrails attached at the project scope.",
4686
+ "required": false,
4687
+ "type": "array",
4688
+ "in": "body"
4689
+ }, {
4690
+ "name": "max_concurrent_runs",
4691
+ "description": "Maximum orchestration runs of this project driven at once. `null` clears the limit (unlimited); otherwise an integer >= 1. Enforced at queue claim time — excess runs stay queued until a slot frees.",
4692
+ "required": false,
4693
+ "type": "integer",
4694
+ "in": "body"
4152
4695
  }]
4153
4696
  },
4154
4697
  "delete-project": {
@@ -4156,6 +4699,7 @@ var routes = {
4156
4699
  operationId: "deleteProject",
4157
4700
  description: "Deletes a project. Requires admin role. Fails with `409` if the project has any dependent resources (agents, ai providers, tools, conversations, chats, formations, memories, actors, webhooks, secrets, sessions, files, traces, generations, orchestrations, etc.), unless `force=true` is passed, in which case those resources are deleted along with the project.",
4158
4701
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4702
+ httpMethod: "delete",
4159
4703
  pathParams: ["project_id"],
4160
4704
  queryParams: ["force"],
4161
4705
  flags: [{
@@ -4177,6 +4721,7 @@ var routes = {
4177
4721
  operationId: "getProjectPrices",
4178
4722
  description: "Returns the project's per-provider-slug price rows — the middle pricing tier that covers every one of the project's instances of a given provider slug. At cost time a per-provider-instance override wins over these, and these win over the global default. Authorized by the caller's access to the project.",
4179
4723
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4724
+ httpMethod: "get",
4180
4725
  pathParams: ["project_id"],
4181
4726
  queryParams: [],
4182
4727
  flags: [{
@@ -4192,6 +4737,7 @@ var routes = {
4192
4737
  operationId: "updateProjectPrices",
4193
4738
  description: "Upserts project + provider-slug price rows, keyed on (provider, model, effective_from). A row covers all of the project's instances of that provider slug. Authorized by the caller's access to the project. `effective_from` must be in the future — past prices are immutable, so ship corrections as new future-dated rows.",
4194
4739
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4740
+ httpMethod: "put",
4195
4741
  pathParams: ["project_id"],
4196
4742
  queryParams: [],
4197
4743
  flags: [{
@@ -4208,11 +4754,140 @@ var routes = {
4208
4754
  "in": "body"
4209
4755
  }]
4210
4756
  },
4757
+ "list-quotas": {
4758
+ serviceClass: "Quotas",
4759
+ operationId: "listQuotas",
4760
+ description: "Returns the quotas defined in a project",
4761
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/quotas",
4762
+ httpMethod: "get",
4763
+ pathParams: [],
4764
+ queryParams: ["project_id"],
4765
+ flags: [{
4766
+ "name": "project_id",
4767
+ "description": "Project ID (required if not using project key auth)",
4768
+ "required": false,
4769
+ "type": "string",
4770
+ "in": "query"
4771
+ }]
4772
+ },
4773
+ "create-quota": {
4774
+ serviceClass: "Quotas",
4775
+ operationId: "createQuota",
4776
+ description: "Creates a project-scoped quota. `scope: agent` with `metric: requests` and `scope: api_key` with `metric: tokens`/`cost_usd` are both rejected with 400 (no attribution exists to enforce them). A duplicate quota (same project, scope, scope_ref, metric, window) is rejected with 409.",
4777
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/quotas",
4778
+ httpMethod: "post",
4779
+ pathParams: [],
4780
+ queryParams: [],
4781
+ flags: [{
4782
+ "name": "project_id",
4783
+ "description": "Project ID (required if not using project key auth)",
4784
+ "required": false,
4785
+ "type": "string",
4786
+ "in": "body"
4787
+ }, {
4788
+ "name": "scope",
4789
+ "description": "The scope the quota applies to",
4790
+ "required": true,
4791
+ "type": "string",
4792
+ "in": "body"
4793
+ }, {
4794
+ "name": "scope_ref",
4795
+ "description": "Public id of the api key / agent the quota applies to. NULL means all entities of that scope type in the project.",
4796
+ "required": false,
4797
+ "type": "string",
4798
+ "in": "body"
4799
+ }, {
4800
+ "name": "metric",
4801
+ "description": "The metric being capped",
4802
+ "required": true,
4803
+ "type": "string",
4804
+ "in": "body"
4805
+ }, {
4806
+ "name": "window",
4807
+ "description": "The window over which the metric is aggregated",
4808
+ "required": true,
4809
+ "type": "string",
4810
+ "in": "body"
4811
+ }, {
4812
+ "name": "limit",
4813
+ "description": "The cap. Must be a positive integer for requests/tokens; fractional values are allowed for cost_usd.",
4814
+ "required": true,
4815
+ "type": "number",
4816
+ "in": "body"
4817
+ }, {
4818
+ "name": "mode",
4819
+ "description": "enforce blocks with 429 (requests at the middleware, tokens/cost_usd at the pre-generation check); monitor is a pass-through no-op until the webhook phase ships.",
4820
+ "required": false,
4821
+ "type": "string",
4822
+ "in": "body"
4823
+ }]
4824
+ },
4825
+ "get-quota": {
4826
+ serviceClass: "Quotas",
4827
+ operationId: "getQuota",
4828
+ description: "Returns a specific quota, including current window usage",
4829
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/quotas",
4830
+ httpMethod: "get",
4831
+ pathParams: ["quota_id"],
4832
+ queryParams: [],
4833
+ flags: [{
4834
+ "name": "quota_id",
4835
+ "description": "Quota ID",
4836
+ "required": true,
4837
+ "type": "string",
4838
+ "in": "path"
4839
+ }]
4840
+ },
4841
+ "update-quota": {
4842
+ serviceClass: "Quotas",
4843
+ operationId: "updateQuota",
4844
+ description: "Updates a quota's limit and/or mode. Other fields are immutable.",
4845
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/quotas",
4846
+ httpMethod: "patch",
4847
+ pathParams: ["quota_id"],
4848
+ queryParams: [],
4849
+ flags: [{
4850
+ "name": "quota_id",
4851
+ "description": "Quota ID",
4852
+ "required": true,
4853
+ "type": "string",
4854
+ "in": "path"
4855
+ }, {
4856
+ "name": "limit",
4857
+ "description": "New limit",
4858
+ "required": false,
4859
+ "type": "number",
4860
+ "in": "body"
4861
+ }, {
4862
+ "name": "mode",
4863
+ "description": "New mode",
4864
+ "required": false,
4865
+ "type": "string",
4866
+ "in": "body"
4867
+ }]
4868
+ },
4869
+ "delete-quota": {
4870
+ serviceClass: "Quotas",
4871
+ operationId: "deleteQuota",
4872
+ description: "Deletes a quota and drops its window counters",
4873
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/quotas",
4874
+ httpMethod: "delete",
4875
+ pathParams: ["quota_id"],
4876
+ queryParams: [],
4877
+ flags: [{
4878
+ "name": "quota_id",
4879
+ "description": "Quota ID",
4880
+ "required": true,
4881
+ "type": "string",
4882
+ "in": "path"
4883
+ }]
4884
+ },
4211
4885
  "list-secrets": {
4212
4886
  serviceClass: "Secrets",
4213
4887
  operationId: "listSecrets",
4214
4888
  description: "Returns a list of secrets for a project",
4215
4889
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
4890
+ httpMethod: "get",
4216
4891
  pathParams: [],
4217
4892
  queryParams: ["project_id", "limit", "offset"],
4218
4893
  flags: [{
@@ -4240,6 +4915,7 @@ var routes = {
4240
4915
  operationId: "createSecret",
4241
4916
  description: "Creates a new encrypted secret in a project",
4242
4917
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
4918
+ httpMethod: "post",
4243
4919
  pathParams: [],
4244
4920
  queryParams: [],
4245
4921
  flags: [{
@@ -4267,6 +4943,7 @@ var routes = {
4267
4943
  operationId: "getSecret",
4268
4944
  description: "Returns a specific secret",
4269
4945
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
4946
+ httpMethod: "get",
4270
4947
  pathParams: ["secret_id"],
4271
4948
  queryParams: [],
4272
4949
  flags: [{
@@ -4282,6 +4959,7 @@ var routes = {
4282
4959
  operationId: "updateSecret",
4283
4960
  description: "Updates a secret's name and/or value",
4284
4961
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
4962
+ httpMethod: "patch",
4285
4963
  pathParams: ["secret_id"],
4286
4964
  queryParams: [],
4287
4965
  flags: [{
@@ -4309,6 +4987,7 @@ var routes = {
4309
4987
  operationId: "deleteSecret",
4310
4988
  description: "Deletes a secret",
4311
4989
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
4990
+ httpMethod: "delete",
4312
4991
  pathParams: ["secret_id"],
4313
4992
  queryParams: [],
4314
4993
  flags: [{
@@ -4324,6 +5003,7 @@ var routes = {
4324
5003
  operationId: "listSessions",
4325
5004
  description: "Returns sessions the caller can access, optionally filtered by agent, actor and status.",
4326
5005
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
5006
+ httpMethod: "get",
4327
5007
  pathParams: [],
4328
5008
  queryParams: ["agent_id", "actor_id", "status", "limit", "offset"],
4329
5009
  flags: [{
@@ -4363,6 +5043,7 @@ var routes = {
4363
5043
  operationId: "createSession",
4364
5044
  description: "Creates a new session for the specified agent. Internally creates a conversation and two actors (agent + user) so the caller only needs this single call to start interacting with the agent.",
4365
5045
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
5046
+ httpMethod: "post",
4366
5047
  pathParams: [],
4367
5048
  queryParams: [],
4368
5049
  flags: [{
@@ -4414,6 +5095,7 @@ var routes = {
4414
5095
  operationId: "getSession",
4415
5096
  description: "Returns details of a single session.",
4416
5097
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
5098
+ httpMethod: "get",
4417
5099
  pathParams: ["session_id"],
4418
5100
  queryParams: [],
4419
5101
  flags: [{
@@ -4429,6 +5111,7 @@ var routes = {
4429
5111
  operationId: "updateSession",
4430
5112
  description: "Updates the session name and/or status.",
4431
5113
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
5114
+ httpMethod: "patch",
4432
5115
  pathParams: ["session_id"],
4433
5116
  queryParams: [],
4434
5117
  flags: [{
@@ -4480,6 +5163,7 @@ var routes = {
4480
5163
  operationId: "deleteSession",
4481
5164
  description: "Deletes the session and its underlying conversation and messages. The session's actor is not deleted. Generations and traces produced by the session are not deleted either, since they are not linked to the session or conversation.",
4482
5165
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
5166
+ httpMethod: "delete",
4483
5167
  pathParams: ["session_id"],
4484
5168
  queryParams: [],
4485
5169
  flags: [{
@@ -4495,6 +5179,7 @@ var routes = {
4495
5179
  operationId: "addSessionMessage",
4496
5180
  description: "Saves a user message to the session. When autoGenerate is enabled on the session and no generation is currently in progress, generation is triggered automatically and the response mirrors GenerateSessionResponse. Otherwise returns the saved user message.",
4497
5181
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
5182
+ httpMethod: "post",
4498
5183
  pathParams: ["session_id"],
4499
5184
  queryParams: [],
4500
5185
  flags: [{
@@ -4534,6 +5219,7 @@ var routes = {
4534
5219
  operationId: "generateSessionResponse",
4535
5220
  description: "Triggers the agent to generate a response based on the current conversation. Returns the assistant reply or a requires_action status if the agent needs client tool outputs. Pass ?async=true for a 202 accepted response when you do not need to wait for the result.",
4536
5221
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
5222
+ httpMethod: "post",
4537
5223
  pathParams: ["session_id"],
4538
5224
  queryParams: ["async"],
4539
5225
  flags: [{
@@ -4567,6 +5253,7 @@ var routes = {
4567
5253
  operationId: "submitSessionToolOutputs",
4568
5254
  description: "Submits client tool outputs for a generation that returned requires_action. The agent continues its loop and returns the final or next requires_action result.",
4569
5255
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
5256
+ httpMethod: "post",
4570
5257
  pathParams: ["session_id"],
4571
5258
  queryParams: [],
4572
5259
  flags: [{
@@ -4594,6 +5281,7 @@ var routes = {
4594
5281
  operationId: "getSessionTags",
4595
5282
  description: "Returns the session's tags object.",
4596
5283
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
5284
+ httpMethod: "get",
4597
5285
  pathParams: ["session_id"],
4598
5286
  queryParams: [],
4599
5287
  flags: [{
@@ -4609,6 +5297,7 @@ var routes = {
4609
5297
  operationId: "replaceSessionTags",
4610
5298
  description: "Replaces all tags on the session.",
4611
5299
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
5300
+ httpMethod: "put",
4612
5301
  pathParams: ["session_id"],
4613
5302
  queryParams: [],
4614
5303
  flags: [{
@@ -4624,6 +5313,7 @@ var routes = {
4624
5313
  operationId: "mergeSessionTags",
4625
5314
  description: "Merges the provided tags into the session's existing tags.",
4626
5315
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
5316
+ httpMethod: "patch",
4627
5317
  pathParams: ["session_id"],
4628
5318
  queryParams: [],
4629
5319
  flags: [{
@@ -4639,6 +5329,7 @@ var routes = {
4639
5329
  operationId: "listTasks",
4640
5330
  description: "Lists tasks (the board query). Filter by workflow, state, status, or assignee — `GET /tasks?workflow_id=...&state=...` is one board column.",
4641
5331
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5332
+ httpMethod: "get",
4642
5333
  pathParams: [],
4643
5334
  queryParams: ["project_id", "workflow_id", "state", "status", "assignee"],
4644
5335
  flags: [{
@@ -4678,6 +5369,7 @@ var routes = {
4678
5369
  operationId: "createTask",
4679
5370
  description: "Creates a task bound to a workflow. The task is placed in the workflow's initial state and that state's `on_enter` automation fires.",
4680
5371
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5372
+ httpMethod: "post",
4681
5373
  pathParams: [],
4682
5374
  queryParams: [],
4683
5375
  flags: [{
@@ -4717,6 +5409,7 @@ var routes = {
4717
5409
  operationId: "getTask",
4718
5410
  description: "Retrieves a task, including its active dispatch and automation status.",
4719
5411
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5412
+ httpMethod: "get",
4720
5413
  pathParams: ["task_id"],
4721
5414
  queryParams: [],
4722
5415
  flags: [{
@@ -4732,6 +5425,7 @@ var routes = {
4732
5425
  operationId: "updateTask",
4733
5426
  description: "Updates a task's payload, title, or assignee. `state` is never directly writable — move it with a transition; sending a `state` field is rejected as an unknown field (`VALIDATION_FAILED`). `payload` is shallow-merged over the existing payload (PATCH semantics): keys the request omits are preserved, so setting one field never discards values an on_enter automation wrote (e.g. `last_result`). The merged payload is validated against the workflow's `payload_schema`.",
4734
5427
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5428
+ httpMethod: "patch",
4735
5429
  pathParams: ["task_id"],
4736
5430
  queryParams: [],
4737
5431
  flags: [{
@@ -4765,6 +5459,7 @@ var routes = {
4765
5459
  operationId: "deleteTask",
4766
5460
  description: "Deletes a task. Its transition history cascades.",
4767
5461
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5462
+ httpMethod: "delete",
4768
5463
  pathParams: ["task_id"],
4769
5464
  queryParams: [],
4770
5465
  flags: [{
@@ -4780,6 +5475,7 @@ var routes = {
4780
5475
  operationId: "transitionTask",
4781
5476
  description: "Fires a named transition on a task. The transition must exist in the workflow and be valid from the task's current state; its guard must pass. This is the single path every state change routes through. A transition declaring `requires_approval` does not move the task — it parks a pending ApprovalItem and returns the task with `pending_transition` set; the move applies only when the approval is approved.",
4782
5477
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5478
+ httpMethod: "post",
4783
5479
  pathParams: ["task_id"],
4784
5480
  queryParams: [],
4785
5481
  flags: [{
@@ -4807,6 +5503,7 @@ var routes = {
4807
5503
  operationId: "getTaskHistory",
4808
5504
  description: "Returns the append-only transition history of a task.",
4809
5505
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5506
+ httpMethod: "get",
4810
5507
  pathParams: ["task_id"],
4811
5508
  queryParams: [],
4812
5509
  flags: [{
@@ -4822,6 +5519,7 @@ var routes = {
4822
5519
  operationId: "listTools",
4823
5520
  description: "Returns all tools in the project.",
4824
5521
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tools",
5522
+ httpMethod: "get",
4825
5523
  pathParams: [],
4826
5524
  queryParams: ["project_id"],
4827
5525
  flags: [{
@@ -4837,6 +5535,7 @@ var routes = {
4837
5535
  operationId: "createTool",
4838
5536
  description: "Creates a new tool in the project.",
4839
5537
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tools",
5538
+ httpMethod: "post",
4840
5539
  pathParams: [],
4841
5540
  queryParams: [],
4842
5541
  flags: [{
@@ -4917,6 +5616,12 @@ var routes = {
4917
5616
  "required": false,
4918
5617
  "type": "object",
4919
5618
  "in": "body"
5619
+ }, {
5620
+ "name": "guardrail_ids",
5621
+ "description": "Guardrails attached at the tool scope.",
5622
+ "required": false,
5623
+ "type": "array",
5624
+ "in": "body"
4920
5625
  }]
4921
5626
  },
4922
5627
  "get-tool": {
@@ -4924,6 +5629,7 @@ var routes = {
4924
5629
  operationId: "getTool",
4925
5630
  description: "Returns a single tool by ID.",
4926
5631
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tools",
5632
+ httpMethod: "get",
4927
5633
  pathParams: ["tool_id"],
4928
5634
  queryParams: [],
4929
5635
  flags: [{
@@ -4939,6 +5645,7 @@ var routes = {
4939
5645
  operationId: "updateTool",
4940
5646
  description: "Updates an existing tool.",
4941
5647
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tools",
5648
+ httpMethod: "patch",
4942
5649
  pathParams: ["tool_id"],
4943
5650
  queryParams: [],
4944
5651
  flags: [{
@@ -5019,6 +5726,12 @@ var routes = {
5019
5726
  "required": false,
5020
5727
  "type": "object",
5021
5728
  "in": "body"
5729
+ }, {
5730
+ "name": "guardrail_ids",
5731
+ "description": "Guardrails attached at the tool scope.",
5732
+ "required": false,
5733
+ "type": "array",
5734
+ "in": "body"
5022
5735
  }]
5023
5736
  },
5024
5737
  "delete-tool": {
@@ -5026,6 +5739,7 @@ var routes = {
5026
5739
  operationId: "deleteTool",
5027
5740
  description: "Deletes a tool by ID.",
5028
5741
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tools",
5742
+ httpMethod: "delete",
5029
5743
  pathParams: ["tool_id"],
5030
5744
  queryParams: [],
5031
5745
  flags: [{
@@ -5041,6 +5755,7 @@ var routes = {
5041
5755
  operationId: "callTool",
5042
5756
  description: "Directly invokes a tool and returns its output. Supported for `http`, `soat`, `mcp`, and `pipeline` tools. `client` tools cannot be invoked server-side and will return 422. A `pipeline` tool runs its declared steps in order and returns the mapped `output` (or the last step's output); `action` is ignored and `input` is the pipeline input. For `soat` and `mcp` tools the `action` field is required and identifies which action (SOAT) or tool name (MCP) to invoke. For `http` tools `action` is ignored. When a `soat` or `mcp` tool declares an `actions` allowlist, an action outside it is rejected with `400 VALIDATION_FAILED` (\"not available on this tool\") before any outbound request is made. `preset_parameters` stored on the tool are merged with the caller-supplied `input` before execution; preset keys take lower precedence.",
5043
5757
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tools",
5758
+ httpMethod: "post",
5044
5759
  pathParams: ["tool_id"],
5045
5760
  queryParams: [],
5046
5761
  flags: [{
@@ -5068,6 +5783,7 @@ var routes = {
5068
5783
  operationId: "listTraces",
5069
5784
  description: "Returns a paginated list of execution traces for the project.",
5070
5785
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/traces",
5786
+ httpMethod: "get",
5071
5787
  pathParams: [],
5072
5788
  queryParams: ["project_id", "limit", "offset"],
5073
5789
  flags: [{
@@ -5095,6 +5811,7 @@ var routes = {
5095
5811
  operationId: "getTrace",
5096
5812
  description: "Returns a single trace by ID.",
5097
5813
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/traces",
5814
+ httpMethod: "get",
5098
5815
  pathParams: ["trace_id"],
5099
5816
  queryParams: [],
5100
5817
  flags: [{
@@ -5110,6 +5827,7 @@ var routes = {
5110
5827
  operationId: "getTraceTree",
5111
5828
  description: "Returns the full execution tree rooted at the given trace (or its root if the given trace is a child). Each node represents one agent's execution session. The `children` array contains traces triggered by sub-agent tool calls from that trace.",
5112
5829
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/traces",
5830
+ httpMethod: "get",
5113
5831
  pathParams: ["trace_id"],
5114
5832
  queryParams: ["include"],
5115
5833
  flags: [{
@@ -5131,6 +5849,7 @@ var routes = {
5131
5849
  operationId: "listTriggers",
5132
5850
  description: "Lists triggers. Filter by project, starter type, or target type.",
5133
5851
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5852
+ httpMethod: "get",
5134
5853
  pathParams: [],
5135
5854
  queryParams: ["project_id", "type", "target_type"],
5136
5855
  flags: [{
@@ -5158,6 +5877,7 @@ var routes = {
5158
5877
  operationId: "createTrigger",
5159
5878
  description: "Creates a new trigger for a project",
5160
5879
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5880
+ httpMethod: "post",
5161
5881
  pathParams: [],
5162
5882
  queryParams: [],
5163
5883
  flags: [{
@@ -5233,6 +5953,7 @@ var routes = {
5233
5953
  operationId: "getTrigger",
5234
5954
  description: "Retrieves the details of a specific trigger",
5235
5955
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5956
+ httpMethod: "get",
5236
5957
  pathParams: ["trigger_id"],
5237
5958
  queryParams: [],
5238
5959
  flags: [{
@@ -5248,6 +5969,7 @@ var routes = {
5248
5969
  operationId: "updateTrigger",
5249
5970
  description: "Updates an existing trigger's configuration. The type is immutable.",
5250
5971
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5972
+ httpMethod: "patch",
5251
5973
  pathParams: ["trigger_id"],
5252
5974
  queryParams: [],
5253
5975
  flags: [{
@@ -5317,6 +6039,7 @@ var routes = {
5317
6039
  operationId: "deleteTrigger",
5318
6040
  description: "Deletes a trigger",
5319
6041
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
6042
+ httpMethod: "delete",
5320
6043
  pathParams: ["trigger_id"],
5321
6044
  queryParams: [],
5322
6045
  flags: [{
@@ -5332,6 +6055,7 @@ var routes = {
5332
6055
  operationId: "fireTrigger",
5333
6056
  description: "Fires a trigger synchronously and returns the terminal firing record.",
5334
6057
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
6058
+ httpMethod: "post",
5335
6059
  pathParams: ["trigger_id"],
5336
6060
  queryParams: [],
5337
6061
  flags: [{
@@ -5353,6 +6077,7 @@ var routes = {
5353
6077
  operationId: "getTriggerSecret",
5354
6078
  description: "Retrieves the signing secret for a webhook trigger",
5355
6079
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
6080
+ httpMethod: "get",
5356
6081
  pathParams: ["trigger_id"],
5357
6082
  queryParams: [],
5358
6083
  flags: [{
@@ -5368,6 +6093,7 @@ var routes = {
5368
6093
  operationId: "rotateTriggerSecret",
5369
6094
  description: "Rotates the signing secret for a webhook trigger",
5370
6095
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
6096
+ httpMethod: "post",
5371
6097
  pathParams: ["trigger_id"],
5372
6098
  queryParams: [],
5373
6099
  flags: [{
@@ -5383,6 +6109,7 @@ var routes = {
5383
6109
  operationId: "listTriggerFirings",
5384
6110
  description: "Lists firings for a trigger (trigger_id is required).",
5385
6111
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
6112
+ httpMethod: "get",
5386
6113
  pathParams: [],
5387
6114
  queryParams: ["trigger_id", "limit", "offset"],
5388
6115
  flags: [{
@@ -5410,6 +6137,7 @@ var routes = {
5410
6137
  operationId: "getTriggerFiring",
5411
6138
  description: "Retrieves the details of a specific trigger firing",
5412
6139
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
6140
+ httpMethod: "get",
5413
6141
  pathParams: ["firing_id"],
5414
6142
  queryParams: [],
5415
6143
  flags: [{
@@ -5425,6 +6153,7 @@ var routes = {
5425
6153
  operationId: "listUsageMeters",
5426
6154
  description: "Returns the raw usage-meter rows the caller can access, most recent first, optionally filtered by agent and generation. Each row is the per-generation token usage as reported by the provider, for audit and reconciliation.",
5427
6155
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
6156
+ httpMethod: "get",
5428
6157
  pathParams: [],
5429
6158
  queryParams: ["agent_id", "generation_id", "trace_id", "trigger_id", "action_id", "meter_type", "limit", "offset"],
5430
6159
  flags: [{
@@ -5482,6 +6211,7 @@ var routes = {
5482
6211
  operationId: "getUsage",
5483
6212
  description: "Returns a project's usage rolled up over an optional `[from, to]` time window, bucketed by a single dimension. Each group and the grand total carry summed token counts and `cost_usd` (null when no event in the bucket was priced). This is the per-project cost-by-range/by-category query — a monthly figure without scanning raw meter rows client-side.",
5484
6213
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
6214
+ httpMethod: "get",
5485
6215
  pathParams: [],
5486
6216
  queryParams: ["project_id", "group_by", "from", "to"],
5487
6217
  flags: [{
@@ -5515,6 +6245,7 @@ var routes = {
5515
6245
  operationId: "listUsageThresholds",
5516
6246
  description: "Lists the usage alert thresholds the caller can access, optionally filtered by project_id. Each threshold fires the `usage.threshold_crossed` webhook when a project's cost or token usage over a calendar-month or rolling-24h window crosses the configured value.",
5517
6247
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
6248
+ httpMethod: "get",
5518
6249
  pathParams: [],
5519
6250
  queryParams: ["project_id"],
5520
6251
  flags: [{
@@ -5530,6 +6261,7 @@ var routes = {
5530
6261
  operationId: "createUsageThreshold",
5531
6262
  description: "Creates a usage alert threshold on a project. Thresholds are immutable apart from deletion — to change one, delete and recreate it (which resets its fire state).",
5532
6263
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
6264
+ httpMethod: "post",
5533
6265
  pathParams: [],
5534
6266
  queryParams: [],
5535
6267
  flags: [{
@@ -5563,6 +6295,7 @@ var routes = {
5563
6295
  operationId: "deleteUsageThreshold",
5564
6296
  description: "Deletes a usage threshold, resetting its fire state. Recreating a threshold starts its once-per-window / hysteresis state fresh.",
5565
6297
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
6298
+ httpMethod: "delete",
5566
6299
  pathParams: ["threshold_id"],
5567
6300
  queryParams: [],
5568
6301
  flags: [{
@@ -5578,6 +6311,7 @@ var routes = {
5578
6311
  operationId: "getUsageReceipt",
5579
6312
  description: "Returns a billing receipt. Pass generation_id for a per-generation receipt, or run_id for a per-run receipt summed across the orchestration run's meters — both share the same shape (per-model line items with tokens, the price-book version that priced them, and cost, plus totals). Exactly one of generation_id or run_id must be supplied.",
5580
6313
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
6314
+ httpMethod: "get",
5581
6315
  pathParams: [],
5582
6316
  queryParams: ["generation_id", "run_id"],
5583
6317
  flags: [{
@@ -5599,6 +6333,7 @@ var routes = {
5599
6333
  operationId: "getPriceBook",
5600
6334
  description: "Returns the global price book — the versioned per-provider/model unit prices used to compute usage cost at write time. Readable by any authenticated user.",
5601
6335
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
6336
+ httpMethod: "get",
5602
6337
  pathParams: [],
5603
6338
  queryParams: [],
5604
6339
  flags: []
@@ -5608,6 +6343,7 @@ var routes = {
5608
6343
  operationId: "upsertPriceBook",
5609
6344
  description: "Upserts price rows keyed on (provider, model, effective_from). Admin only. `effective_from` must be in the future — past prices are immutable so recorded costs stay explainable; ship corrections as new future-dated rows.",
5610
6345
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
6346
+ httpMethod: "put",
5611
6347
  pathParams: [],
5612
6348
  queryParams: [],
5613
6349
  flags: [{
@@ -5623,6 +6359,7 @@ var routes = {
5623
6359
  operationId: "getCurrentUser",
5624
6360
  description: "Returns the profile of the currently authenticated user",
5625
6361
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6362
+ httpMethod: "get",
5626
6363
  pathParams: [],
5627
6364
  queryParams: [],
5628
6365
  flags: []
@@ -5632,6 +6369,7 @@ var routes = {
5632
6369
  operationId: "listUsers",
5633
6370
  description: "Returns a list of all users",
5634
6371
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6372
+ httpMethod: "get",
5635
6373
  pathParams: [],
5636
6374
  queryParams: [],
5637
6375
  flags: []
@@ -5641,6 +6379,7 @@ var routes = {
5641
6379
  operationId: "createUser",
5642
6380
  description: "Creates a new user in the system",
5643
6381
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6382
+ httpMethod: "post",
5644
6383
  pathParams: [],
5645
6384
  queryParams: [],
5646
6385
  flags: [{
@@ -5668,6 +6407,7 @@ var routes = {
5668
6407
  operationId: "getUser",
5669
6408
  description: "Returns the data of a specific user",
5670
6409
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6410
+ httpMethod: "get",
5671
6411
  pathParams: ["user_id"],
5672
6412
  queryParams: [],
5673
6413
  flags: [{
@@ -5683,6 +6423,7 @@ var routes = {
5683
6423
  operationId: "deleteUser",
5684
6424
  description: "Deletes a specific user",
5685
6425
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6426
+ httpMethod: "delete",
5686
6427
  pathParams: ["user_id"],
5687
6428
  queryParams: [],
5688
6429
  flags: [{
@@ -5698,6 +6439,7 @@ var routes = {
5698
6439
  operationId: "bootstrapUser",
5699
6440
  description: "Creates the first admin user. Returns 409 if any user already exists.",
5700
6441
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6442
+ httpMethod: "post",
5701
6443
  pathParams: [],
5702
6444
  queryParams: [],
5703
6445
  flags: [{
@@ -5719,6 +6461,7 @@ var routes = {
5719
6461
  operationId: "loginUser",
5720
6462
  description: "Authenticates a user and returns a JWT token",
5721
6463
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6464
+ httpMethod: "post",
5722
6465
  pathParams: [],
5723
6466
  queryParams: [],
5724
6467
  flags: [{
@@ -5740,6 +6483,7 @@ var routes = {
5740
6483
  operationId: "attachUserPolicies",
5741
6484
  description: "Replaces the user's policy list with the provided policy IDs. Requires admin role.",
5742
6485
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6486
+ httpMethod: "put",
5743
6487
  pathParams: ["user_id"],
5744
6488
  queryParams: [],
5745
6489
  flags: [{
@@ -5761,6 +6505,7 @@ var routes = {
5761
6505
  operationId: "listWebhooks",
5762
6506
  description: "Lists webhooks. Use the project_id query parameter to filter by project.",
5763
6507
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6508
+ httpMethod: "get",
5764
6509
  pathParams: [],
5765
6510
  queryParams: ["project_id"],
5766
6511
  flags: [{
@@ -5776,6 +6521,7 @@ var routes = {
5776
6521
  operationId: "createWebhook",
5777
6522
  description: "Creates a new webhook for a project",
5778
6523
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6524
+ httpMethod: "post",
5779
6525
  pathParams: [],
5780
6526
  queryParams: [],
5781
6527
  flags: [{
@@ -5821,6 +6567,7 @@ var routes = {
5821
6567
  operationId: "getWebhook",
5822
6568
  description: "Retrieves the details of a specific webhook",
5823
6569
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6570
+ httpMethod: "get",
5824
6571
  pathParams: ["webhook_id"],
5825
6572
  queryParams: [],
5826
6573
  flags: [{
@@ -5836,6 +6583,7 @@ var routes = {
5836
6583
  operationId: "updateWebhook",
5837
6584
  description: "Updates an existing webhook's configuration",
5838
6585
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6586
+ httpMethod: "put",
5839
6587
  pathParams: ["webhook_id"],
5840
6588
  queryParams: [],
5841
6589
  flags: [{
@@ -5887,6 +6635,7 @@ var routes = {
5887
6635
  operationId: "deleteWebhook",
5888
6636
  description: "Deletes a webhook and stops all event deliveries",
5889
6637
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6638
+ httpMethod: "delete",
5890
6639
  pathParams: ["webhook_id"],
5891
6640
  queryParams: [],
5892
6641
  flags: [{
@@ -5902,6 +6651,7 @@ var routes = {
5902
6651
  operationId: "listWebhookDeliveries",
5903
6652
  description: "Lists event deliveries for a webhook (webhook_id is required).",
5904
6653
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6654
+ httpMethod: "get",
5905
6655
  pathParams: [],
5906
6656
  queryParams: ["webhook_id", "limit", "offset"],
5907
6657
  flags: [{
@@ -5929,6 +6679,7 @@ var routes = {
5929
6679
  operationId: "getWebhookDelivery",
5930
6680
  description: "Retrieves the details of a specific webhook delivery",
5931
6681
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6682
+ httpMethod: "get",
5932
6683
  pathParams: ["delivery_id"],
5933
6684
  queryParams: [],
5934
6685
  flags: [{
@@ -5944,6 +6695,7 @@ var routes = {
5944
6695
  operationId: "getWebhookSecret",
5945
6696
  description: "Retrieves the signing secret for the specified webhook",
5946
6697
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6698
+ httpMethod: "get",
5947
6699
  pathParams: ["webhook_id"],
5948
6700
  queryParams: [],
5949
6701
  flags: [{
@@ -5959,6 +6711,7 @@ var routes = {
5959
6711
  operationId: "rotateWebhookSecret",
5960
6712
  description: "Rotates the secret key for the specified webhook",
5961
6713
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6714
+ httpMethod: "post",
5962
6715
  pathParams: ["webhook_id"],
5963
6716
  queryParams: [],
5964
6717
  flags: [{
@@ -5974,6 +6727,7 @@ var routes = {
5974
6727
  operationId: "listWorkflows",
5975
6728
  description: "Lists workflow definitions in a project.",
5976
6729
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/workflows",
6730
+ httpMethod: "get",
5977
6731
  pathParams: [],
5978
6732
  queryParams: ["project_id"],
5979
6733
  flags: [{
@@ -5989,6 +6743,7 @@ var routes = {
5989
6743
  operationId: "createWorkflow",
5990
6744
  description: "Creates a new workflow definition. The definition is statically validated.",
5991
6745
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/workflows",
6746
+ httpMethod: "post",
5992
6747
  pathParams: [],
5993
6748
  queryParams: [],
5994
6749
  flags: [{
@@ -6034,6 +6789,7 @@ var routes = {
6034
6789
  operationId: "getWorkflow",
6035
6790
  description: "Retrieves a workflow definition.",
6036
6791
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/workflows",
6792
+ httpMethod: "get",
6037
6793
  pathParams: ["workflow_id"],
6038
6794
  queryParams: [],
6039
6795
  flags: [{
@@ -6049,6 +6805,7 @@ var routes = {
6049
6805
  operationId: "updateWorkflow",
6050
6806
  description: "Updates a workflow definition. Structural changes (states/transitions) are re-validated. Existing tasks in a removed state stay put but can only leave via transitions valid in the new definition.",
6051
6807
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/workflows",
6808
+ httpMethod: "patch",
6052
6809
  pathParams: ["workflow_id"],
6053
6810
  queryParams: [],
6054
6811
  flags: [{
@@ -6094,6 +6851,7 @@ var routes = {
6094
6851
  operationId: "deleteWorkflow",
6095
6852
  description: "Deletes a workflow. Rejected while open tasks exist.",
6096
6853
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/workflows",
6854
+ httpMethod: "delete",
6097
6855
  pathParams: ["workflow_id"],
6098
6856
  queryParams: [],
6099
6857
  flags: [{
@@ -6351,7 +7109,7 @@ program.argument("[command]", "API command in kebab-case (e.g. list-actors)").ar
6351
7109
  const queryParam = route.queryParams.find(p => {
6352
7110
  return toCanonical(p) === canonical;
6353
7111
  });
6354
- if (pathParam) pathArgs[pathParam] = parsedValue;else if (queryParam) queryArgs[queryParam] = parsedValue;else bodyArgs[kebabToSnake(flagKey)] = parsedValue;
7112
+ if (pathParam) pathArgs[pathParam] = parsedValue;else if (queryParam) queryArgs[queryParam] = parsedValue;else if (route.httpMethod === "get") queryArgs[kebabToSnake(flagKey)] = parsedValue;else bodyArgs[kebabToSnake(flagKey)] = parsedValue;
6355
7113
  }
6356
7114
  const positionalArgs = extractPositionalArgs({
6357
7115
  cliArgs: rawArgs