@soat/cli 0.15.10 → 0.15.11

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 +452 -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.11";
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: [{
@@ -1501,6 +1557,7 @@ var routes = {
1501
1557
  operationId: "listChats",
1502
1558
  description: "Returns all chats in the project.",
1503
1559
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
1560
+ httpMethod: "get",
1504
1561
  pathParams: [],
1505
1562
  queryParams: ["project_id"],
1506
1563
  flags: [{
@@ -1516,6 +1573,7 @@ var routes = {
1516
1573
  operationId: "createChat",
1517
1574
  description: "Creates a new chat resource bound to an AI provider.",
1518
1575
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
1576
+ httpMethod: "post",
1519
1577
  pathParams: [],
1520
1578
  queryParams: [],
1521
1579
  flags: [{
@@ -1555,6 +1613,7 @@ var routes = {
1555
1613
  operationId: "getChat",
1556
1614
  description: "Returns a single chat by ID.",
1557
1615
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
1616
+ httpMethod: "get",
1558
1617
  pathParams: ["chat_id"],
1559
1618
  queryParams: [],
1560
1619
  flags: [{
@@ -1570,6 +1629,7 @@ var routes = {
1570
1629
  operationId: "deleteChat",
1571
1630
  description: "Deletes a chat by ID.",
1572
1631
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
1632
+ httpMethod: "delete",
1573
1633
  pathParams: ["chat_id"],
1574
1634
  queryParams: [],
1575
1635
  flags: [{
@@ -1585,6 +1645,7 @@ var routes = {
1585
1645
  operationId: "createChatCompletionForChat",
1586
1646
  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
1647
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
1648
+ httpMethod: "post",
1588
1649
  pathParams: ["chat_id"],
1589
1650
  queryParams: [],
1590
1651
  flags: [{
@@ -1618,6 +1679,7 @@ var routes = {
1618
1679
  operationId: "createChatCompletion",
1619
1680
  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
1681
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
1682
+ httpMethod: "post",
1621
1683
  pathParams: [],
1622
1684
  queryParams: [],
1623
1685
  flags: [{
@@ -1651,6 +1713,7 @@ var routes = {
1651
1713
  operationId: "listConversations",
1652
1714
  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
1715
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1716
+ httpMethod: "get",
1654
1717
  pathParams: [],
1655
1718
  queryParams: ["project_id", "actor_id", "limit", "offset"],
1656
1719
  flags: [{
@@ -1684,6 +1747,7 @@ var routes = {
1684
1747
  operationId: "createConversation",
1685
1748
  description: "Creates a new conversation. project keys automatically infer the project from the key's scope; JWT callers must supply projectId.",
1686
1749
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1750
+ httpMethod: "post",
1687
1751
  pathParams: [],
1688
1752
  queryParams: [],
1689
1753
  flags: [{
@@ -1717,6 +1781,7 @@ var routes = {
1717
1781
  operationId: "getConversation",
1718
1782
  description: "Returns a conversation by its ID",
1719
1783
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1784
+ httpMethod: "get",
1720
1785
  pathParams: ["conversation_id"],
1721
1786
  queryParams: [],
1722
1787
  flags: [{
@@ -1732,6 +1797,7 @@ var routes = {
1732
1797
  operationId: "updateConversation",
1733
1798
  description: "Updates the status of a conversation",
1734
1799
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1800
+ httpMethod: "patch",
1735
1801
  pathParams: ["conversation_id"],
1736
1802
  queryParams: [],
1737
1803
  flags: [{
@@ -1759,6 +1825,7 @@ var routes = {
1759
1825
  operationId: "deleteConversation",
1760
1826
  description: "Deletes a conversation by its ID",
1761
1827
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1828
+ httpMethod: "delete",
1762
1829
  pathParams: ["conversation_id"],
1763
1830
  queryParams: [],
1764
1831
  flags: [{
@@ -1774,6 +1841,7 @@ var routes = {
1774
1841
  operationId: "listConversationMessages",
1775
1842
  description: "Returns all messages (documents) attached to a conversation, ordered by position",
1776
1843
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1844
+ httpMethod: "get",
1777
1845
  pathParams: ["conversation_id"],
1778
1846
  queryParams: ["limit", "offset"],
1779
1847
  flags: [{
@@ -1801,6 +1869,7 @@ var routes = {
1801
1869
  operationId: "addConversationMessage",
1802
1870
  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
1871
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1872
+ httpMethod: "post",
1804
1873
  pathParams: ["conversation_id"],
1805
1874
  queryParams: [],
1806
1875
  flags: [{
@@ -1846,6 +1915,7 @@ var routes = {
1846
1915
  operationId: "generateConversationMessage",
1847
1916
  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
1917
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1918
+ httpMethod: "post",
1849
1919
  pathParams: ["conversation_id"],
1850
1920
  queryParams: [],
1851
1921
  flags: [{
@@ -1885,6 +1955,7 @@ var routes = {
1885
1955
  operationId: "removeConversationMessage",
1886
1956
  description: "Removes a document from a conversation",
1887
1957
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1958
+ httpMethod: "delete",
1888
1959
  pathParams: ["conversation_id", "document_id"],
1889
1960
  queryParams: [],
1890
1961
  flags: [{
@@ -1906,6 +1977,7 @@ var routes = {
1906
1977
  operationId: "getConversationTags",
1907
1978
  description: "Returns all tags attached to the conversation",
1908
1979
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1980
+ httpMethod: "get",
1909
1981
  pathParams: ["conversation_id"],
1910
1982
  queryParams: [],
1911
1983
  flags: [{
@@ -1921,6 +1993,7 @@ var routes = {
1921
1993
  operationId: "replaceConversationTags",
1922
1994
  description: "Replaces all tags on the conversation with the provided tags",
1923
1995
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1996
+ httpMethod: "put",
1924
1997
  pathParams: ["conversation_id"],
1925
1998
  queryParams: [],
1926
1999
  flags: [{
@@ -1936,6 +2009,7 @@ var routes = {
1936
2009
  operationId: "mergeConversationTags",
1937
2010
  description: "Merges provided tags with existing tags",
1938
2011
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
2012
+ httpMethod: "patch",
1939
2013
  pathParams: ["conversation_id"],
1940
2014
  queryParams: [],
1941
2015
  flags: [{
@@ -1951,6 +2025,7 @@ var routes = {
1951
2025
  operationId: "listDiscussions",
1952
2026
  description: "Returns all discussions the caller has access to. If project_id is provided, returns only discussions in that project.",
1953
2027
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2028
+ httpMethod: "get",
1954
2029
  pathParams: [],
1955
2030
  queryParams: ["project_id", "limit", "offset"],
1956
2031
  flags: [{
@@ -1978,6 +2053,7 @@ var routes = {
1978
2053
  operationId: "createDiscussion",
1979
2054
  description: "Creates a new discussion config. project keys infer the project from the key's scope; JWT callers must supply project_id.",
1980
2055
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2056
+ httpMethod: "post",
1981
2057
  pathParams: [],
1982
2058
  queryParams: [],
1983
2059
  flags: [{
@@ -2041,6 +2117,7 @@ var routes = {
2041
2117
  operationId: "getDiscussionRun",
2042
2118
  description: "Returns a single discussion run, including its outcome, transcript conversation, and outcome document.",
2043
2119
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2120
+ httpMethod: "get",
2044
2121
  pathParams: ["run_id"],
2045
2122
  queryParams: [],
2046
2123
  flags: [{
@@ -2056,6 +2133,7 @@ var routes = {
2056
2133
  operationId: "getDiscussion",
2057
2134
  description: "Returns a discussion config with its participants.",
2058
2135
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2136
+ httpMethod: "get",
2059
2137
  pathParams: ["discussion_id"],
2060
2138
  queryParams: [],
2061
2139
  flags: [{
@@ -2071,6 +2149,7 @@ var routes = {
2071
2149
  operationId: "updateDiscussion",
2072
2150
  description: "Updates a discussion. Providing participants replaces the full set (not merged).",
2073
2151
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2152
+ httpMethod: "patch",
2074
2153
  pathParams: ["discussion_id"],
2075
2154
  queryParams: [],
2076
2155
  flags: [{
@@ -2134,6 +2213,7 @@ var routes = {
2134
2213
  operationId: "deleteDiscussion",
2135
2214
  description: "Deletes a discussion config and its participants.",
2136
2215
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2216
+ httpMethod: "delete",
2137
2217
  pathParams: ["discussion_id"],
2138
2218
  queryParams: [],
2139
2219
  flags: [{
@@ -2149,6 +2229,7 @@ var routes = {
2149
2229
  operationId: "listDiscussionRuns",
2150
2230
  description: "Returns the run history of a discussion, most recent first.",
2151
2231
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2232
+ httpMethod: "get",
2152
2233
  pathParams: ["discussion_id"],
2153
2234
  queryParams: ["limit", "offset"],
2154
2235
  flags: [{
@@ -2176,6 +2257,7 @@ var routes = {
2176
2257
  operationId: "createDiscussionRun",
2177
2258
  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
2259
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2260
+ httpMethod: "post",
2179
2261
  pathParams: ["discussion_id"],
2180
2262
  queryParams: [],
2181
2263
  flags: [{
@@ -2197,6 +2279,7 @@ var routes = {
2197
2279
  operationId: "listDocuments",
2198
2280
  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
2281
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2282
+ httpMethod: "get",
2200
2283
  pathParams: [],
2201
2284
  queryParams: ["project_id", "limit", "offset"],
2202
2285
  flags: [{
@@ -2224,6 +2307,7 @@ var routes = {
2224
2307
  operationId: "createDocument",
2225
2308
  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
2309
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2310
+ httpMethod: "post",
2227
2311
  pathParams: [],
2228
2312
  queryParams: [],
2229
2313
  flags: [{
@@ -2293,6 +2377,7 @@ var routes = {
2293
2377
  operationId: "ingestDocument",
2294
2378
  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
2379
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2380
+ httpMethod: "post",
2296
2381
  pathParams: [],
2297
2382
  queryParams: ["async"],
2298
2383
  flags: [{
@@ -2350,6 +2435,7 @@ var routes = {
2350
2435
  operationId: "getDocument",
2351
2436
  description: "Returns a document with its text content",
2352
2437
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2438
+ httpMethod: "get",
2353
2439
  pathParams: ["document_id"],
2354
2440
  queryParams: [],
2355
2441
  flags: [{
@@ -2365,6 +2451,7 @@ var routes = {
2365
2451
  operationId: "updateDocument",
2366
2452
  description: "Updates document content, title, path, metadata, or tags. Supplying `path` moves the document to a new logical path within the project.",
2367
2453
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2454
+ httpMethod: "patch",
2368
2455
  pathParams: ["document_id"],
2369
2456
  queryParams: [],
2370
2457
  flags: [{
@@ -2410,6 +2497,7 @@ var routes = {
2410
2497
  operationId: "deleteDocument",
2411
2498
  description: "Deletes a document and its underlying file",
2412
2499
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2500
+ httpMethod: "delete",
2413
2501
  pathParams: ["document_id"],
2414
2502
  queryParams: [],
2415
2503
  flags: [{
@@ -2425,6 +2513,7 @@ var routes = {
2425
2513
  operationId: "getDocumentStatus",
2426
2514
  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
2515
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2516
+ httpMethod: "get",
2428
2517
  pathParams: ["document_id"],
2429
2518
  queryParams: [],
2430
2519
  flags: [{
@@ -2440,6 +2529,7 @@ var routes = {
2440
2529
  operationId: "reingestDocument",
2441
2530
  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
2531
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2532
+ httpMethod: "post",
2443
2533
  pathParams: ["document_id"],
2444
2534
  queryParams: ["async"],
2445
2535
  flags: [{
@@ -2479,6 +2569,7 @@ var routes = {
2479
2569
  operationId: "completeIngestionCallback",
2480
2570
  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
2571
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2572
+ httpMethod: "post",
2482
2573
  pathParams: ["document_id"],
2483
2574
  queryParams: ["token"],
2484
2575
  flags: [{
@@ -2512,6 +2603,7 @@ var routes = {
2512
2603
  operationId: "getDocumentTags",
2513
2604
  description: "Returns all tags attached to the document",
2514
2605
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2606
+ httpMethod: "get",
2515
2607
  pathParams: ["document_id"],
2516
2608
  queryParams: [],
2517
2609
  flags: [{
@@ -2527,6 +2619,7 @@ var routes = {
2527
2619
  operationId: "replaceDocumentTags",
2528
2620
  description: "Replaces all tags on the document with the provided tags (not merged)",
2529
2621
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2622
+ httpMethod: "put",
2530
2623
  pathParams: ["document_id"],
2531
2624
  queryParams: [],
2532
2625
  flags: [{
@@ -2542,6 +2635,7 @@ var routes = {
2542
2635
  operationId: "mergeDocumentTags",
2543
2636
  description: "Merges provided tags with existing tags (existing tags are preserved unless overridden)",
2544
2637
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2638
+ httpMethod: "patch",
2545
2639
  pathParams: ["document_id"],
2546
2640
  queryParams: [],
2547
2641
  flags: [{
@@ -2557,6 +2651,7 @@ var routes = {
2557
2651
  operationId: "createEmbeddings",
2558
2652
  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
2653
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/embeddings",
2654
+ httpMethod: "post",
2560
2655
  pathParams: [],
2561
2656
  queryParams: [],
2562
2657
  flags: [{
@@ -2578,6 +2673,7 @@ var routes = {
2578
2673
  operationId: "listFiles",
2579
2674
  description: "Returns a list of all stored files",
2580
2675
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2676
+ httpMethod: "get",
2581
2677
  pathParams: [],
2582
2678
  queryParams: ["project_id", "limit", "offset"],
2583
2679
  flags: [{
@@ -2605,6 +2701,7 @@ var routes = {
2605
2701
  operationId: "createFile",
2606
2702
  description: "Creates a new file record in the system",
2607
2703
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2704
+ httpMethod: "post",
2608
2705
  pathParams: [],
2609
2706
  queryParams: [],
2610
2707
  flags: [{
@@ -2650,6 +2747,7 @@ var routes = {
2650
2747
  operationId: "uploadFile",
2651
2748
  description: "Uploads a file to the server and stores it in the configured storage directory",
2652
2749
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2750
+ httpMethod: "post",
2653
2751
  pathParams: [],
2654
2752
  queryParams: [],
2655
2753
  flags: []
@@ -2659,6 +2757,7 @@ var routes = {
2659
2757
  operationId: "uploadFileBase64",
2660
2758
  description: "Uploads a file to the server using base64-encoded content",
2661
2759
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2760
+ httpMethod: "post",
2662
2761
  pathParams: [],
2663
2762
  queryParams: [],
2664
2763
  flags: [{
@@ -2704,6 +2803,7 @@ var routes = {
2704
2803
  operationId: "createPresignedUrl",
2705
2804
  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
2805
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2806
+ httpMethod: "post",
2707
2807
  pathParams: [],
2708
2808
  queryParams: [],
2709
2809
  flags: [{
@@ -2737,6 +2837,7 @@ var routes = {
2737
2837
  operationId: "uploadFileWithToken",
2738
2838
  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
2839
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2840
+ httpMethod: "post",
2740
2841
  pathParams: ["token"],
2741
2842
  queryParams: [],
2742
2843
  flags: [{
@@ -2776,6 +2877,7 @@ var routes = {
2776
2877
  operationId: "getFile",
2777
2878
  description: "Returns the data and metadata of a specific file",
2778
2879
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2880
+ httpMethod: "get",
2779
2881
  pathParams: ["file_id"],
2780
2882
  queryParams: [],
2781
2883
  flags: [{
@@ -2791,6 +2893,7 @@ var routes = {
2791
2893
  operationId: "deleteFile",
2792
2894
  description: "Removes a file from the system by ID",
2793
2895
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2896
+ httpMethod: "delete",
2794
2897
  pathParams: ["file_id"],
2795
2898
  queryParams: [],
2796
2899
  flags: [{
@@ -2806,6 +2909,7 @@ var routes = {
2806
2909
  operationId: "downloadFile",
2807
2910
  description: "Streams the file content to the client",
2808
2911
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2912
+ httpMethod: "get",
2809
2913
  pathParams: ["file_id"],
2810
2914
  queryParams: [],
2811
2915
  flags: [{
@@ -2821,6 +2925,7 @@ var routes = {
2821
2925
  operationId: "updateFileMetadata",
2822
2926
  description: "Updates the metadata field of a file",
2823
2927
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2928
+ httpMethod: "patch",
2824
2929
  pathParams: ["file_id"],
2825
2930
  queryParams: [],
2826
2931
  flags: [{
@@ -2854,6 +2959,7 @@ var routes = {
2854
2959
  operationId: "downloadFileBase64",
2855
2960
  description: "Returns the file content encoded as base64",
2856
2961
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2962
+ httpMethod: "get",
2857
2963
  pathParams: ["file_id"],
2858
2964
  queryParams: [],
2859
2965
  flags: [{
@@ -2869,6 +2975,7 @@ var routes = {
2869
2975
  operationId: "getFileTags",
2870
2976
  description: "Returns all tags attached to the file",
2871
2977
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2978
+ httpMethod: "get",
2872
2979
  pathParams: ["file_id"],
2873
2980
  queryParams: [],
2874
2981
  flags: [{
@@ -2884,6 +2991,7 @@ var routes = {
2884
2991
  operationId: "replaceFileTags",
2885
2992
  description: "Replaces all tags on the file with the provided tags",
2886
2993
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2994
+ httpMethod: "put",
2887
2995
  pathParams: ["file_id"],
2888
2996
  queryParams: [],
2889
2997
  flags: [{
@@ -2899,6 +3007,7 @@ var routes = {
2899
3007
  operationId: "mergeFileTags",
2900
3008
  description: "Merges provided tags with existing tags",
2901
3009
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
3010
+ httpMethod: "patch",
2902
3011
  pathParams: ["file_id"],
2903
3012
  queryParams: [],
2904
3013
  flags: [{
@@ -2914,6 +3023,7 @@ var routes = {
2914
3023
  operationId: "validateFormation",
2915
3024
  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
3025
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3026
+ httpMethod: "post",
2917
3027
  pathParams: [],
2918
3028
  queryParams: [],
2919
3029
  flags: [{
@@ -2935,6 +3045,7 @@ var routes = {
2935
3045
  operationId: "planFormation",
2936
3046
  description: "Computes a diff between the desired template and the current stack state without making any changes. Returns the list of planned actions.",
2937
3047
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3048
+ httpMethod: "post",
2938
3049
  pathParams: [],
2939
3050
  queryParams: [],
2940
3051
  flags: [{
@@ -2968,6 +3079,7 @@ var routes = {
2968
3079
  operationId: "listFormations",
2969
3080
  description: "Returns all formation stacks for a project",
2970
3081
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3082
+ httpMethod: "get",
2971
3083
  pathParams: [],
2972
3084
  queryParams: ["project_id"],
2973
3085
  flags: [{
@@ -2983,6 +3095,7 @@ var routes = {
2983
3095
  operationId: "createFormation",
2984
3096
  description: "Validates the template, creates the formation record, then provisions all declared resources in dependency order.",
2985
3097
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3098
+ httpMethod: "post",
2986
3099
  pathParams: [],
2987
3100
  queryParams: [],
2988
3101
  flags: [{
@@ -3022,6 +3135,7 @@ var routes = {
3022
3135
  operationId: "getFormation",
3023
3136
  description: "Returns the formation stack including its current resources.",
3024
3137
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3138
+ httpMethod: "get",
3025
3139
  pathParams: ["formation_id"],
3026
3140
  queryParams: [],
3027
3141
  flags: [{
@@ -3037,6 +3151,7 @@ var routes = {
3037
3151
  operationId: "updateFormation",
3038
3152
  description: "Applies a new template to the formation. Resources are created, updated, or deleted to reconcile the current state with the desired state.",
3039
3153
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3154
+ httpMethod: "put",
3040
3155
  pathParams: ["formation_id"],
3041
3156
  queryParams: [],
3042
3157
  flags: [{
@@ -3070,6 +3185,7 @@ var routes = {
3070
3185
  operationId: "deleteFormation",
3071
3186
  description: "Deletes the formation stack and all its managed resources in reverse dependency order.",
3072
3187
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3188
+ httpMethod: "delete",
3073
3189
  pathParams: ["formation_id"],
3074
3190
  queryParams: [],
3075
3191
  flags: [{
@@ -3085,6 +3201,7 @@ var routes = {
3085
3201
  operationId: "listFormationEvents",
3086
3202
  description: "Returns all operations (create, update, delete) with their event logs for the formation, ordered chronologically.",
3087
3203
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3204
+ httpMethod: "get",
3088
3205
  pathParams: ["formation_id"],
3089
3206
  queryParams: [],
3090
3207
  flags: [{
@@ -3100,6 +3217,7 @@ var routes = {
3100
3217
  operationId: "listGenerations",
3101
3218
  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
3219
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/generations",
3220
+ httpMethod: "get",
3103
3221
  pathParams: [],
3104
3222
  queryParams: ["agent_id", "trace_id", "initiator_generation_id", "status", "limit", "offset"],
3105
3223
  flags: [{
@@ -3145,6 +3263,7 @@ var routes = {
3145
3263
  operationId: "getGeneration",
3146
3264
  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
3265
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/generations",
3266
+ httpMethod: "get",
3148
3267
  pathParams: ["generation_id"],
3149
3268
  queryParams: [],
3150
3269
  flags: [{
@@ -3160,6 +3279,7 @@ var routes = {
3160
3279
  operationId: "updateGeneration",
3161
3280
  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
3281
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/generations",
3282
+ httpMethod: "patch",
3163
3283
  pathParams: ["generation_id"],
3164
3284
  queryParams: [],
3165
3285
  flags: [{
@@ -3176,11 +3296,208 @@ var routes = {
3176
3296
  "in": "body"
3177
3297
  }]
3178
3298
  },
3299
+ "list-guardrails": {
3300
+ serviceClass: "Guardrails",
3301
+ operationId: "listGuardrails",
3302
+ description: "Returns all guardrails in the project.",
3303
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/guardrails",
3304
+ httpMethod: "get",
3305
+ pathParams: [],
3306
+ queryParams: ["project_id"],
3307
+ flags: [{
3308
+ "name": "project_id",
3309
+ "description": "Project public ID to filter by",
3310
+ "required": false,
3311
+ "type": "string",
3312
+ "in": "query"
3313
+ }]
3314
+ },
3315
+ "create-guardrail": {
3316
+ serviceClass: "Guardrails",
3317
+ operationId: "createGuardrail",
3318
+ 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.",
3319
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/guardrails",
3320
+ httpMethod: "post",
3321
+ pathParams: [],
3322
+ queryParams: [],
3323
+ flags: [{
3324
+ "name": "project_id",
3325
+ "description": "Public ID of the project",
3326
+ "required": false,
3327
+ "type": "string",
3328
+ "in": "body"
3329
+ }, {
3330
+ "name": "name",
3331
+ "description": "Human-readable name",
3332
+ "required": true,
3333
+ "type": "string",
3334
+ "in": "body"
3335
+ }, {
3336
+ "name": "description",
3337
+ "description": "",
3338
+ "required": false,
3339
+ "type": "string",
3340
+ "in": "body"
3341
+ }, {
3342
+ "name": "document",
3343
+ "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",
3344
+ "required": true,
3345
+ "type": "object",
3346
+ "in": "body"
3347
+ }, {
3348
+ "name": "context_tool_id",
3349
+ "description": "",
3350
+ "required": false,
3351
+ "type": "string",
3352
+ "in": "body"
3353
+ }, {
3354
+ "name": "context_mode",
3355
+ "description": "",
3356
+ "required": false,
3357
+ "type": "string",
3358
+ "in": "body"
3359
+ }]
3360
+ },
3361
+ "get-guardrail": {
3362
+ serviceClass: "Guardrails",
3363
+ operationId: "getGuardrail",
3364
+ description: "Returns a single guardrail by ID.",
3365
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/guardrails",
3366
+ httpMethod: "get",
3367
+ pathParams: ["guardrail_id"],
3368
+ queryParams: [],
3369
+ flags: [{
3370
+ "name": "guardrail_id",
3371
+ "description": "",
3372
+ "required": true,
3373
+ "type": "string",
3374
+ "in": "path"
3375
+ }]
3376
+ },
3377
+ "update-guardrail": {
3378
+ serviceClass: "Guardrails",
3379
+ operationId: "updateGuardrail",
3380
+ 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.",
3381
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/guardrails",
3382
+ httpMethod: "patch",
3383
+ pathParams: ["guardrail_id"],
3384
+ queryParams: [],
3385
+ flags: [{
3386
+ "name": "guardrail_id",
3387
+ "description": "",
3388
+ "required": true,
3389
+ "type": "string",
3390
+ "in": "path"
3391
+ }, {
3392
+ "name": "name",
3393
+ "description": "",
3394
+ "required": false,
3395
+ "type": "string",
3396
+ "in": "body"
3397
+ }, {
3398
+ "name": "description",
3399
+ "description": "",
3400
+ "required": false,
3401
+ "type": "string",
3402
+ "in": "body"
3403
+ }, {
3404
+ "name": "document",
3405
+ "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",
3406
+ "required": false,
3407
+ "type": "object",
3408
+ "in": "body"
3409
+ }, {
3410
+ "name": "context_tool_id",
3411
+ "description": "",
3412
+ "required": false,
3413
+ "type": "string",
3414
+ "in": "body"
3415
+ }, {
3416
+ "name": "context_mode",
3417
+ "description": "",
3418
+ "required": false,
3419
+ "type": "string",
3420
+ "in": "body"
3421
+ }]
3422
+ },
3423
+ "delete-guardrail": {
3424
+ serviceClass: "Guardrails",
3425
+ operationId: "deleteGuardrail",
3426
+ description: "Deletes a guardrail and its archived versions by ID.",
3427
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/guardrails",
3428
+ httpMethod: "delete",
3429
+ pathParams: ["guardrail_id"],
3430
+ queryParams: [],
3431
+ flags: [{
3432
+ "name": "guardrail_id",
3433
+ "description": "",
3434
+ "required": true,
3435
+ "type": "string",
3436
+ "in": "path"
3437
+ }]
3438
+ },
3439
+ "get-guardrail-version": {
3440
+ serviceClass: "Guardrails",
3441
+ operationId: "getGuardrailVersion",
3442
+ 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.",
3443
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/guardrails",
3444
+ httpMethod: "get",
3445
+ pathParams: ["guardrail_id", "version"],
3446
+ queryParams: [],
3447
+ flags: [{
3448
+ "name": "guardrail_id",
3449
+ "description": "",
3450
+ "required": true,
3451
+ "type": "string",
3452
+ "in": "path"
3453
+ }, {
3454
+ "name": "version",
3455
+ "description": "",
3456
+ "required": true,
3457
+ "type": "integer",
3458
+ "in": "path"
3459
+ }]
3460
+ },
3461
+ "evaluate-guardrail": {
3462
+ serviceClass: "Guardrails",
3463
+ operationId: "evaluateGuardrail",
3464
+ 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.*`.",
3465
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/guardrails",
3466
+ httpMethod: "post",
3467
+ pathParams: ["guardrail_id"],
3468
+ queryParams: [],
3469
+ flags: [{
3470
+ "name": "guardrail_id",
3471
+ "description": "",
3472
+ "required": true,
3473
+ "type": "string",
3474
+ "in": "path"
3475
+ }, {
3476
+ "name": "args",
3477
+ "description": "The proposed call's arguments (the `args.*` namespace).",
3478
+ "required": false,
3479
+ "type": "object",
3480
+ "in": "body"
3481
+ }, {
3482
+ "name": "guardrail_context",
3483
+ "description": "The caller-supplied guardrail context (the `context.*` namespace), combined with the context tool per `context_mode`.\n",
3484
+ "required": false,
3485
+ "type": "object",
3486
+ "in": "body"
3487
+ }, {
3488
+ "name": "tool_id",
3489
+ "description": "Optional tool to resolve `soat.tool.*` against.",
3490
+ "required": false,
3491
+ "type": "string",
3492
+ "in": "body"
3493
+ }]
3494
+ },
3179
3495
  "list-ingestion-rules": {
3180
3496
  serviceClass: "IngestionRules",
3181
3497
  operationId: "listIngestionRules",
3182
3498
  description: "Returns the ingestion rules for a project",
3183
3499
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ingestion-rules",
3500
+ httpMethod: "get",
3184
3501
  pathParams: [],
3185
3502
  queryParams: ["project_id", "limit", "offset"],
3186
3503
  flags: [{
@@ -3208,6 +3525,7 @@ var routes = {
3208
3525
  operationId: "createIngestionRule",
3209
3526
  description: "Creates a rule mapping a content_type glob to a converter. Exactly one of tool_id or agent_id must be set.",
3210
3527
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ingestion-rules",
3528
+ httpMethod: "post",
3211
3529
  pathParams: [],
3212
3530
  queryParams: [],
3213
3531
  flags: [{
@@ -3289,6 +3607,7 @@ var routes = {
3289
3607
  operationId: "getIngestionRule",
3290
3608
  description: "Returns a specific ingestion rule",
3291
3609
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ingestion-rules",
3610
+ httpMethod: "get",
3292
3611
  pathParams: ["ingestion_rule_id"],
3293
3612
  queryParams: [],
3294
3613
  flags: [{
@@ -3304,6 +3623,7 @@ var routes = {
3304
3623
  operationId: "updateIngestionRule",
3305
3624
  description: "Updates fields of an ingestion rule",
3306
3625
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ingestion-rules",
3626
+ httpMethod: "patch",
3307
3627
  pathParams: ["ingestion_rule_id"],
3308
3628
  queryParams: [],
3309
3629
  flags: [{
@@ -3385,6 +3705,7 @@ var routes = {
3385
3705
  operationId: "deleteIngestionRule",
3386
3706
  description: "Deletes an ingestion rule",
3387
3707
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ingestion-rules",
3708
+ httpMethod: "delete",
3388
3709
  pathParams: ["ingestion_rule_id"],
3389
3710
  queryParams: [],
3390
3711
  flags: [{
@@ -3400,6 +3721,7 @@ var routes = {
3400
3721
  operationId: "searchKnowledge",
3401
3722
  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
3723
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/knowledge",
3724
+ httpMethod: "post",
3403
3725
  pathParams: [],
3404
3726
  queryParams: [],
3405
3727
  flags: [{
@@ -3457,6 +3779,7 @@ var routes = {
3457
3779
  operationId: "listMemories",
3458
3780
  description: "Returns a list of memory configurations for a project",
3459
3781
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
3782
+ httpMethod: "get",
3460
3783
  pathParams: [],
3461
3784
  queryParams: ["project_id", "tags"],
3462
3785
  flags: [{
@@ -3478,6 +3801,7 @@ var routes = {
3478
3801
  operationId: "createMemory",
3479
3802
  description: "Creates a new memory configuration in a project",
3480
3803
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
3804
+ httpMethod: "post",
3481
3805
  pathParams: [],
3482
3806
  queryParams: [],
3483
3807
  flags: [{
@@ -3511,6 +3835,7 @@ var routes = {
3511
3835
  operationId: "getMemory",
3512
3836
  description: "Returns a single memory configuration by ID",
3513
3837
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
3838
+ httpMethod: "get",
3514
3839
  pathParams: ["memory_id"],
3515
3840
  queryParams: [],
3516
3841
  flags: [{
@@ -3526,6 +3851,7 @@ var routes = {
3526
3851
  operationId: "updateMemory",
3527
3852
  description: "Updates an existing memory configuration",
3528
3853
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
3854
+ httpMethod: "put",
3529
3855
  pathParams: ["memory_id"],
3530
3856
  queryParams: [],
3531
3857
  flags: [{
@@ -3559,6 +3885,7 @@ var routes = {
3559
3885
  operationId: "deleteMemory",
3560
3886
  description: "Deletes a memory configuration",
3561
3887
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
3888
+ httpMethod: "delete",
3562
3889
  pathParams: ["memory_id"],
3563
3890
  queryParams: [],
3564
3891
  flags: [{
@@ -3574,6 +3901,7 @@ var routes = {
3574
3901
  operationId: "listMemoryEntries",
3575
3902
  description: "Returns all entries in a memory container",
3576
3903
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
3904
+ httpMethod: "get",
3577
3905
  pathParams: [],
3578
3906
  queryParams: ["memory_id"],
3579
3907
  flags: [{
@@ -3589,6 +3917,7 @@ var routes = {
3589
3917
  operationId: "createMemoryEntry",
3590
3918
  description: "Creates a new entry in the specified memory container. Automatically generates an embedding for semantic search.",
3591
3919
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
3920
+ httpMethod: "post",
3592
3921
  pathParams: [],
3593
3922
  queryParams: [],
3594
3923
  flags: [{
@@ -3640,6 +3969,7 @@ var routes = {
3640
3969
  operationId: "getMemoryEntry",
3641
3970
  description: "Returns a single memory entry by ID",
3642
3971
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
3972
+ httpMethod: "get",
3643
3973
  pathParams: ["entry_id"],
3644
3974
  queryParams: [],
3645
3975
  flags: [{
@@ -3655,6 +3985,7 @@ var routes = {
3655
3985
  operationId: "updateMemoryEntry",
3656
3986
  description: "Updates an existing memory entry. Regenerates the embedding if content changes.",
3657
3987
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
3988
+ httpMethod: "put",
3658
3989
  pathParams: ["entry_id"],
3659
3990
  queryParams: [],
3660
3991
  flags: [{
@@ -3688,6 +4019,7 @@ var routes = {
3688
4019
  operationId: "deleteMemoryEntry",
3689
4020
  description: "Deletes a memory entry",
3690
4021
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
4022
+ httpMethod: "delete",
3691
4023
  pathParams: ["entry_id"],
3692
4024
  queryParams: [],
3693
4025
  flags: [{
@@ -3703,6 +4035,7 @@ var routes = {
3703
4035
  operationId: "listOrchestrations",
3704
4036
  description: "Returns orchestrations accessible to the caller.",
3705
4037
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4038
+ httpMethod: "get",
3706
4039
  pathParams: [],
3707
4040
  queryParams: ["project_id"],
3708
4041
  flags: [{
@@ -3718,6 +4051,7 @@ var routes = {
3718
4051
  operationId: "createOrchestration",
3719
4052
  description: "Creates a new orchestration (pipeline) definition in the project.",
3720
4053
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4054
+ httpMethod: "post",
3721
4055
  pathParams: [],
3722
4056
  queryParams: [],
3723
4057
  flags: [{
@@ -3769,6 +4103,7 @@ var routes = {
3769
4103
  operationId: "validateOrchestration",
3770
4104
  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
4105
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4106
+ httpMethod: "post",
3772
4107
  pathParams: [],
3773
4108
  queryParams: [],
3774
4109
  flags: [{
@@ -3796,6 +4131,7 @@ var routes = {
3796
4131
  operationId: "getOrchestration",
3797
4132
  description: "Returns the orchestration with nodes and edges.",
3798
4133
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4134
+ httpMethod: "get",
3799
4135
  pathParams: ["orchestration_id"],
3800
4136
  queryParams: [],
3801
4137
  flags: [{
@@ -3811,6 +4147,7 @@ var routes = {
3811
4147
  operationId: "updateOrchestration",
3812
4148
  description: "Partially updates an orchestration definition.",
3813
4149
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4150
+ httpMethod: "patch",
3814
4151
  pathParams: ["orchestration_id"],
3815
4152
  queryParams: [],
3816
4153
  flags: [{
@@ -3862,6 +4199,7 @@ var routes = {
3862
4199
  operationId: "deleteOrchestration",
3863
4200
  description: "Deletes an orchestration definition and all its runs.",
3864
4201
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4202
+ httpMethod: "delete",
3865
4203
  pathParams: ["orchestration_id"],
3866
4204
  queryParams: [],
3867
4205
  flags: [{
@@ -3877,6 +4215,7 @@ var routes = {
3877
4215
  operationId: "listOrchestrationRuns",
3878
4216
  description: "Returns orchestration runs the caller can access, optionally filtered by orchestration.",
3879
4217
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4218
+ httpMethod: "get",
3880
4219
  pathParams: [],
3881
4220
  queryParams: ["orchestration_id"],
3882
4221
  flags: [{
@@ -3892,6 +4231,7 @@ var routes = {
3892
4231
  operationId: "startOrchestrationRun",
3893
4232
  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
4233
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4234
+ httpMethod: "post",
3895
4235
  pathParams: [],
3896
4236
  queryParams: [],
3897
4237
  flags: [{
@@ -3919,6 +4259,7 @@ var routes = {
3919
4259
  operationId: "cancelOrchestrationRun",
3920
4260
  description: "Cancels a run that has not yet reached a terminal state.",
3921
4261
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4262
+ httpMethod: "post",
3922
4263
  pathParams: ["run_id"],
3923
4264
  queryParams: [],
3924
4265
  flags: [{
@@ -3934,6 +4275,7 @@ var routes = {
3934
4275
  operationId: "submitHumanInput",
3935
4276
  description: "Provides human input to a run that is awaiting_input at a human node.",
3936
4277
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4278
+ httpMethod: "post",
3937
4279
  pathParams: ["run_id"],
3938
4280
  queryParams: [],
3939
4281
  flags: [{
@@ -3961,6 +4303,7 @@ var routes = {
3961
4303
  operationId: "resumeOrchestrationRun",
3962
4304
  description: "Resumes an awaiting_input orchestration run from its last checkpoint.",
3963
4305
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4306
+ httpMethod: "post",
3964
4307
  pathParams: ["run_id"],
3965
4308
  queryParams: [],
3966
4309
  flags: [{
@@ -3976,6 +4319,7 @@ var routes = {
3976
4319
  operationId: "getOrchestrationRun",
3977
4320
  description: "Returns the status, state, and artifacts of a specific run.",
3978
4321
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4322
+ httpMethod: "get",
3979
4323
  pathParams: ["run_id"],
3980
4324
  queryParams: [],
3981
4325
  flags: [{
@@ -3991,6 +4335,7 @@ var routes = {
3991
4335
  operationId: "listPolicies",
3992
4336
  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
4337
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
4338
+ httpMethod: "get",
3994
4339
  pathParams: [],
3995
4340
  queryParams: ["user_id"],
3996
4341
  flags: [{
@@ -4006,6 +4351,7 @@ var routes = {
4006
4351
  operationId: "createPolicy",
4007
4352
  description: "Creates a new global policy. Requires admin role.",
4008
4353
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
4354
+ httpMethod: "post",
4009
4355
  pathParams: [],
4010
4356
  queryParams: [],
4011
4357
  flags: [{
@@ -4033,6 +4379,7 @@ var routes = {
4033
4379
  operationId: "getPolicy",
4034
4380
  description: "Returns details of a specific policy. Requires admin role.",
4035
4381
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
4382
+ httpMethod: "get",
4036
4383
  pathParams: ["policy_id"],
4037
4384
  queryParams: [],
4038
4385
  flags: [{
@@ -4048,6 +4395,7 @@ var routes = {
4048
4395
  operationId: "updatePolicy",
4049
4396
  description: "Updates an existing global policy. Requires admin role.",
4050
4397
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
4398
+ httpMethod: "put",
4051
4399
  pathParams: ["policy_id"],
4052
4400
  queryParams: [],
4053
4401
  flags: [{
@@ -4081,6 +4429,7 @@ var routes = {
4081
4429
  operationId: "deletePolicy",
4082
4430
  description: "Deletes a global policy. Requires admin role.",
4083
4431
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
4432
+ httpMethod: "delete",
4084
4433
  pathParams: ["policy_id"],
4085
4434
  queryParams: [],
4086
4435
  flags: [{
@@ -4096,6 +4445,7 @@ var routes = {
4096
4445
  operationId: "listProjects",
4097
4446
  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
4447
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4448
+ httpMethod: "get",
4099
4449
  pathParams: [],
4100
4450
  queryParams: [],
4101
4451
  flags: []
@@ -4105,6 +4455,7 @@ var routes = {
4105
4455
  operationId: "createProject",
4106
4456
  description: "Creates a new project. Requires admin role.",
4107
4457
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4458
+ httpMethod: "post",
4108
4459
  pathParams: [],
4109
4460
  queryParams: [],
4110
4461
  flags: [{
@@ -4120,6 +4471,7 @@ var routes = {
4120
4471
  operationId: "getProject",
4121
4472
  description: "Returns details of a specific project.",
4122
4473
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4474
+ httpMethod: "get",
4123
4475
  pathParams: ["project_id"],
4124
4476
  queryParams: [],
4125
4477
  flags: [{
@@ -4133,8 +4485,9 @@ var routes = {
4133
4485
  "update-project": {
4134
4486
  serviceClass: "Projects",
4135
4487
  operationId: "updateProject",
4136
- description: "Updates a project's name. Requires admin role.",
4488
+ 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
4489
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4490
+ httpMethod: "patch",
4138
4491
  pathParams: ["project_id"],
4139
4492
  queryParams: [],
4140
4493
  flags: [{
@@ -4146,9 +4499,15 @@ var routes = {
4146
4499
  }, {
4147
4500
  "name": "name",
4148
4501
  "description": "",
4149
- "required": true,
4502
+ "required": false,
4150
4503
  "type": "string",
4151
4504
  "in": "body"
4505
+ }, {
4506
+ "name": "guardrail_ids",
4507
+ "description": "Guardrails attached at the project scope.",
4508
+ "required": false,
4509
+ "type": "array",
4510
+ "in": "body"
4152
4511
  }]
4153
4512
  },
4154
4513
  "delete-project": {
@@ -4156,6 +4515,7 @@ var routes = {
4156
4515
  operationId: "deleteProject",
4157
4516
  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
4517
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4518
+ httpMethod: "delete",
4159
4519
  pathParams: ["project_id"],
4160
4520
  queryParams: ["force"],
4161
4521
  flags: [{
@@ -4177,6 +4537,7 @@ var routes = {
4177
4537
  operationId: "getProjectPrices",
4178
4538
  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
4539
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4540
+ httpMethod: "get",
4180
4541
  pathParams: ["project_id"],
4181
4542
  queryParams: [],
4182
4543
  flags: [{
@@ -4192,6 +4553,7 @@ var routes = {
4192
4553
  operationId: "updateProjectPrices",
4193
4554
  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
4555
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4556
+ httpMethod: "put",
4195
4557
  pathParams: ["project_id"],
4196
4558
  queryParams: [],
4197
4559
  flags: [{
@@ -4213,6 +4575,7 @@ var routes = {
4213
4575
  operationId: "listSecrets",
4214
4576
  description: "Returns a list of secrets for a project",
4215
4577
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
4578
+ httpMethod: "get",
4216
4579
  pathParams: [],
4217
4580
  queryParams: ["project_id", "limit", "offset"],
4218
4581
  flags: [{
@@ -4240,6 +4603,7 @@ var routes = {
4240
4603
  operationId: "createSecret",
4241
4604
  description: "Creates a new encrypted secret in a project",
4242
4605
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
4606
+ httpMethod: "post",
4243
4607
  pathParams: [],
4244
4608
  queryParams: [],
4245
4609
  flags: [{
@@ -4267,6 +4631,7 @@ var routes = {
4267
4631
  operationId: "getSecret",
4268
4632
  description: "Returns a specific secret",
4269
4633
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
4634
+ httpMethod: "get",
4270
4635
  pathParams: ["secret_id"],
4271
4636
  queryParams: [],
4272
4637
  flags: [{
@@ -4282,6 +4647,7 @@ var routes = {
4282
4647
  operationId: "updateSecret",
4283
4648
  description: "Updates a secret's name and/or value",
4284
4649
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
4650
+ httpMethod: "patch",
4285
4651
  pathParams: ["secret_id"],
4286
4652
  queryParams: [],
4287
4653
  flags: [{
@@ -4309,6 +4675,7 @@ var routes = {
4309
4675
  operationId: "deleteSecret",
4310
4676
  description: "Deletes a secret",
4311
4677
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
4678
+ httpMethod: "delete",
4312
4679
  pathParams: ["secret_id"],
4313
4680
  queryParams: [],
4314
4681
  flags: [{
@@ -4324,6 +4691,7 @@ var routes = {
4324
4691
  operationId: "listSessions",
4325
4692
  description: "Returns sessions the caller can access, optionally filtered by agent, actor and status.",
4326
4693
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4694
+ httpMethod: "get",
4327
4695
  pathParams: [],
4328
4696
  queryParams: ["agent_id", "actor_id", "status", "limit", "offset"],
4329
4697
  flags: [{
@@ -4363,6 +4731,7 @@ var routes = {
4363
4731
  operationId: "createSession",
4364
4732
  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
4733
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4734
+ httpMethod: "post",
4366
4735
  pathParams: [],
4367
4736
  queryParams: [],
4368
4737
  flags: [{
@@ -4414,6 +4783,7 @@ var routes = {
4414
4783
  operationId: "getSession",
4415
4784
  description: "Returns details of a single session.",
4416
4785
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4786
+ httpMethod: "get",
4417
4787
  pathParams: ["session_id"],
4418
4788
  queryParams: [],
4419
4789
  flags: [{
@@ -4429,6 +4799,7 @@ var routes = {
4429
4799
  operationId: "updateSession",
4430
4800
  description: "Updates the session name and/or status.",
4431
4801
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4802
+ httpMethod: "patch",
4432
4803
  pathParams: ["session_id"],
4433
4804
  queryParams: [],
4434
4805
  flags: [{
@@ -4480,6 +4851,7 @@ var routes = {
4480
4851
  operationId: "deleteSession",
4481
4852
  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
4853
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4854
+ httpMethod: "delete",
4483
4855
  pathParams: ["session_id"],
4484
4856
  queryParams: [],
4485
4857
  flags: [{
@@ -4495,6 +4867,7 @@ var routes = {
4495
4867
  operationId: "addSessionMessage",
4496
4868
  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
4869
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4870
+ httpMethod: "post",
4498
4871
  pathParams: ["session_id"],
4499
4872
  queryParams: [],
4500
4873
  flags: [{
@@ -4534,6 +4907,7 @@ var routes = {
4534
4907
  operationId: "generateSessionResponse",
4535
4908
  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
4909
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4910
+ httpMethod: "post",
4537
4911
  pathParams: ["session_id"],
4538
4912
  queryParams: ["async"],
4539
4913
  flags: [{
@@ -4567,6 +4941,7 @@ var routes = {
4567
4941
  operationId: "submitSessionToolOutputs",
4568
4942
  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
4943
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4944
+ httpMethod: "post",
4570
4945
  pathParams: ["session_id"],
4571
4946
  queryParams: [],
4572
4947
  flags: [{
@@ -4594,6 +4969,7 @@ var routes = {
4594
4969
  operationId: "getSessionTags",
4595
4970
  description: "Returns the session's tags object.",
4596
4971
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4972
+ httpMethod: "get",
4597
4973
  pathParams: ["session_id"],
4598
4974
  queryParams: [],
4599
4975
  flags: [{
@@ -4609,6 +4985,7 @@ var routes = {
4609
4985
  operationId: "replaceSessionTags",
4610
4986
  description: "Replaces all tags on the session.",
4611
4987
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4988
+ httpMethod: "put",
4612
4989
  pathParams: ["session_id"],
4613
4990
  queryParams: [],
4614
4991
  flags: [{
@@ -4624,6 +5001,7 @@ var routes = {
4624
5001
  operationId: "mergeSessionTags",
4625
5002
  description: "Merges the provided tags into the session's existing tags.",
4626
5003
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
5004
+ httpMethod: "patch",
4627
5005
  pathParams: ["session_id"],
4628
5006
  queryParams: [],
4629
5007
  flags: [{
@@ -4639,6 +5017,7 @@ var routes = {
4639
5017
  operationId: "listTasks",
4640
5018
  description: "Lists tasks (the board query). Filter by workflow, state, status, or assignee — `GET /tasks?workflow_id=...&state=...` is one board column.",
4641
5019
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5020
+ httpMethod: "get",
4642
5021
  pathParams: [],
4643
5022
  queryParams: ["project_id", "workflow_id", "state", "status", "assignee"],
4644
5023
  flags: [{
@@ -4678,6 +5057,7 @@ var routes = {
4678
5057
  operationId: "createTask",
4679
5058
  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
5059
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5060
+ httpMethod: "post",
4681
5061
  pathParams: [],
4682
5062
  queryParams: [],
4683
5063
  flags: [{
@@ -4717,6 +5097,7 @@ var routes = {
4717
5097
  operationId: "getTask",
4718
5098
  description: "Retrieves a task, including its active dispatch and automation status.",
4719
5099
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5100
+ httpMethod: "get",
4720
5101
  pathParams: ["task_id"],
4721
5102
  queryParams: [],
4722
5103
  flags: [{
@@ -4732,6 +5113,7 @@ var routes = {
4732
5113
  operationId: "updateTask",
4733
5114
  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
5115
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5116
+ httpMethod: "patch",
4735
5117
  pathParams: ["task_id"],
4736
5118
  queryParams: [],
4737
5119
  flags: [{
@@ -4765,6 +5147,7 @@ var routes = {
4765
5147
  operationId: "deleteTask",
4766
5148
  description: "Deletes a task. Its transition history cascades.",
4767
5149
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5150
+ httpMethod: "delete",
4768
5151
  pathParams: ["task_id"],
4769
5152
  queryParams: [],
4770
5153
  flags: [{
@@ -4780,6 +5163,7 @@ var routes = {
4780
5163
  operationId: "transitionTask",
4781
5164
  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
5165
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5166
+ httpMethod: "post",
4783
5167
  pathParams: ["task_id"],
4784
5168
  queryParams: [],
4785
5169
  flags: [{
@@ -4807,6 +5191,7 @@ var routes = {
4807
5191
  operationId: "getTaskHistory",
4808
5192
  description: "Returns the append-only transition history of a task.",
4809
5193
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5194
+ httpMethod: "get",
4810
5195
  pathParams: ["task_id"],
4811
5196
  queryParams: [],
4812
5197
  flags: [{
@@ -4822,6 +5207,7 @@ var routes = {
4822
5207
  operationId: "listTools",
4823
5208
  description: "Returns all tools in the project.",
4824
5209
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tools",
5210
+ httpMethod: "get",
4825
5211
  pathParams: [],
4826
5212
  queryParams: ["project_id"],
4827
5213
  flags: [{
@@ -4837,6 +5223,7 @@ var routes = {
4837
5223
  operationId: "createTool",
4838
5224
  description: "Creates a new tool in the project.",
4839
5225
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tools",
5226
+ httpMethod: "post",
4840
5227
  pathParams: [],
4841
5228
  queryParams: [],
4842
5229
  flags: [{
@@ -4917,6 +5304,12 @@ var routes = {
4917
5304
  "required": false,
4918
5305
  "type": "object",
4919
5306
  "in": "body"
5307
+ }, {
5308
+ "name": "guardrail_ids",
5309
+ "description": "Guardrails attached at the tool scope.",
5310
+ "required": false,
5311
+ "type": "array",
5312
+ "in": "body"
4920
5313
  }]
4921
5314
  },
4922
5315
  "get-tool": {
@@ -4924,6 +5317,7 @@ var routes = {
4924
5317
  operationId: "getTool",
4925
5318
  description: "Returns a single tool by ID.",
4926
5319
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tools",
5320
+ httpMethod: "get",
4927
5321
  pathParams: ["tool_id"],
4928
5322
  queryParams: [],
4929
5323
  flags: [{
@@ -4939,6 +5333,7 @@ var routes = {
4939
5333
  operationId: "updateTool",
4940
5334
  description: "Updates an existing tool.",
4941
5335
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tools",
5336
+ httpMethod: "patch",
4942
5337
  pathParams: ["tool_id"],
4943
5338
  queryParams: [],
4944
5339
  flags: [{
@@ -5019,6 +5414,12 @@ var routes = {
5019
5414
  "required": false,
5020
5415
  "type": "object",
5021
5416
  "in": "body"
5417
+ }, {
5418
+ "name": "guardrail_ids",
5419
+ "description": "Guardrails attached at the tool scope.",
5420
+ "required": false,
5421
+ "type": "array",
5422
+ "in": "body"
5022
5423
  }]
5023
5424
  },
5024
5425
  "delete-tool": {
@@ -5026,6 +5427,7 @@ var routes = {
5026
5427
  operationId: "deleteTool",
5027
5428
  description: "Deletes a tool by ID.",
5028
5429
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tools",
5430
+ httpMethod: "delete",
5029
5431
  pathParams: ["tool_id"],
5030
5432
  queryParams: [],
5031
5433
  flags: [{
@@ -5041,6 +5443,7 @@ var routes = {
5041
5443
  operationId: "callTool",
5042
5444
  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
5445
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tools",
5446
+ httpMethod: "post",
5044
5447
  pathParams: ["tool_id"],
5045
5448
  queryParams: [],
5046
5449
  flags: [{
@@ -5068,6 +5471,7 @@ var routes = {
5068
5471
  operationId: "listTraces",
5069
5472
  description: "Returns a paginated list of execution traces for the project.",
5070
5473
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/traces",
5474
+ httpMethod: "get",
5071
5475
  pathParams: [],
5072
5476
  queryParams: ["project_id", "limit", "offset"],
5073
5477
  flags: [{
@@ -5095,6 +5499,7 @@ var routes = {
5095
5499
  operationId: "getTrace",
5096
5500
  description: "Returns a single trace by ID.",
5097
5501
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/traces",
5502
+ httpMethod: "get",
5098
5503
  pathParams: ["trace_id"],
5099
5504
  queryParams: [],
5100
5505
  flags: [{
@@ -5110,6 +5515,7 @@ var routes = {
5110
5515
  operationId: "getTraceTree",
5111
5516
  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
5517
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/traces",
5518
+ httpMethod: "get",
5113
5519
  pathParams: ["trace_id"],
5114
5520
  queryParams: ["include"],
5115
5521
  flags: [{
@@ -5131,6 +5537,7 @@ var routes = {
5131
5537
  operationId: "listTriggers",
5132
5538
  description: "Lists triggers. Filter by project, starter type, or target type.",
5133
5539
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5540
+ httpMethod: "get",
5134
5541
  pathParams: [],
5135
5542
  queryParams: ["project_id", "type", "target_type"],
5136
5543
  flags: [{
@@ -5158,6 +5565,7 @@ var routes = {
5158
5565
  operationId: "createTrigger",
5159
5566
  description: "Creates a new trigger for a project",
5160
5567
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5568
+ httpMethod: "post",
5161
5569
  pathParams: [],
5162
5570
  queryParams: [],
5163
5571
  flags: [{
@@ -5233,6 +5641,7 @@ var routes = {
5233
5641
  operationId: "getTrigger",
5234
5642
  description: "Retrieves the details of a specific trigger",
5235
5643
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5644
+ httpMethod: "get",
5236
5645
  pathParams: ["trigger_id"],
5237
5646
  queryParams: [],
5238
5647
  flags: [{
@@ -5248,6 +5657,7 @@ var routes = {
5248
5657
  operationId: "updateTrigger",
5249
5658
  description: "Updates an existing trigger's configuration. The type is immutable.",
5250
5659
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5660
+ httpMethod: "patch",
5251
5661
  pathParams: ["trigger_id"],
5252
5662
  queryParams: [],
5253
5663
  flags: [{
@@ -5317,6 +5727,7 @@ var routes = {
5317
5727
  operationId: "deleteTrigger",
5318
5728
  description: "Deletes a trigger",
5319
5729
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5730
+ httpMethod: "delete",
5320
5731
  pathParams: ["trigger_id"],
5321
5732
  queryParams: [],
5322
5733
  flags: [{
@@ -5332,6 +5743,7 @@ var routes = {
5332
5743
  operationId: "fireTrigger",
5333
5744
  description: "Fires a trigger synchronously and returns the terminal firing record.",
5334
5745
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5746
+ httpMethod: "post",
5335
5747
  pathParams: ["trigger_id"],
5336
5748
  queryParams: [],
5337
5749
  flags: [{
@@ -5353,6 +5765,7 @@ var routes = {
5353
5765
  operationId: "getTriggerSecret",
5354
5766
  description: "Retrieves the signing secret for a webhook trigger",
5355
5767
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5768
+ httpMethod: "get",
5356
5769
  pathParams: ["trigger_id"],
5357
5770
  queryParams: [],
5358
5771
  flags: [{
@@ -5368,6 +5781,7 @@ var routes = {
5368
5781
  operationId: "rotateTriggerSecret",
5369
5782
  description: "Rotates the signing secret for a webhook trigger",
5370
5783
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5784
+ httpMethod: "post",
5371
5785
  pathParams: ["trigger_id"],
5372
5786
  queryParams: [],
5373
5787
  flags: [{
@@ -5383,6 +5797,7 @@ var routes = {
5383
5797
  operationId: "listTriggerFirings",
5384
5798
  description: "Lists firings for a trigger (trigger_id is required).",
5385
5799
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5800
+ httpMethod: "get",
5386
5801
  pathParams: [],
5387
5802
  queryParams: ["trigger_id", "limit", "offset"],
5388
5803
  flags: [{
@@ -5410,6 +5825,7 @@ var routes = {
5410
5825
  operationId: "getTriggerFiring",
5411
5826
  description: "Retrieves the details of a specific trigger firing",
5412
5827
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5828
+ httpMethod: "get",
5413
5829
  pathParams: ["firing_id"],
5414
5830
  queryParams: [],
5415
5831
  flags: [{
@@ -5425,6 +5841,7 @@ var routes = {
5425
5841
  operationId: "listUsageMeters",
5426
5842
  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
5843
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
5844
+ httpMethod: "get",
5428
5845
  pathParams: [],
5429
5846
  queryParams: ["agent_id", "generation_id", "trace_id", "trigger_id", "action_id", "meter_type", "limit", "offset"],
5430
5847
  flags: [{
@@ -5482,6 +5899,7 @@ var routes = {
5482
5899
  operationId: "getUsage",
5483
5900
  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
5901
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
5902
+ httpMethod: "get",
5485
5903
  pathParams: [],
5486
5904
  queryParams: ["project_id", "group_by", "from", "to"],
5487
5905
  flags: [{
@@ -5515,6 +5933,7 @@ var routes = {
5515
5933
  operationId: "listUsageThresholds",
5516
5934
  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
5935
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
5936
+ httpMethod: "get",
5518
5937
  pathParams: [],
5519
5938
  queryParams: ["project_id"],
5520
5939
  flags: [{
@@ -5530,6 +5949,7 @@ var routes = {
5530
5949
  operationId: "createUsageThreshold",
5531
5950
  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
5951
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
5952
+ httpMethod: "post",
5533
5953
  pathParams: [],
5534
5954
  queryParams: [],
5535
5955
  flags: [{
@@ -5563,6 +5983,7 @@ var routes = {
5563
5983
  operationId: "deleteUsageThreshold",
5564
5984
  description: "Deletes a usage threshold, resetting its fire state. Recreating a threshold starts its once-per-window / hysteresis state fresh.",
5565
5985
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
5986
+ httpMethod: "delete",
5566
5987
  pathParams: ["threshold_id"],
5567
5988
  queryParams: [],
5568
5989
  flags: [{
@@ -5578,6 +5999,7 @@ var routes = {
5578
5999
  operationId: "getUsageReceipt",
5579
6000
  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
6001
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
6002
+ httpMethod: "get",
5581
6003
  pathParams: [],
5582
6004
  queryParams: ["generation_id", "run_id"],
5583
6005
  flags: [{
@@ -5599,6 +6021,7 @@ var routes = {
5599
6021
  operationId: "getPriceBook",
5600
6022
  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
6023
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
6024
+ httpMethod: "get",
5602
6025
  pathParams: [],
5603
6026
  queryParams: [],
5604
6027
  flags: []
@@ -5608,6 +6031,7 @@ var routes = {
5608
6031
  operationId: "upsertPriceBook",
5609
6032
  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
6033
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
6034
+ httpMethod: "put",
5611
6035
  pathParams: [],
5612
6036
  queryParams: [],
5613
6037
  flags: [{
@@ -5623,6 +6047,7 @@ var routes = {
5623
6047
  operationId: "getCurrentUser",
5624
6048
  description: "Returns the profile of the currently authenticated user",
5625
6049
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6050
+ httpMethod: "get",
5626
6051
  pathParams: [],
5627
6052
  queryParams: [],
5628
6053
  flags: []
@@ -5632,6 +6057,7 @@ var routes = {
5632
6057
  operationId: "listUsers",
5633
6058
  description: "Returns a list of all users",
5634
6059
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6060
+ httpMethod: "get",
5635
6061
  pathParams: [],
5636
6062
  queryParams: [],
5637
6063
  flags: []
@@ -5641,6 +6067,7 @@ var routes = {
5641
6067
  operationId: "createUser",
5642
6068
  description: "Creates a new user in the system",
5643
6069
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6070
+ httpMethod: "post",
5644
6071
  pathParams: [],
5645
6072
  queryParams: [],
5646
6073
  flags: [{
@@ -5668,6 +6095,7 @@ var routes = {
5668
6095
  operationId: "getUser",
5669
6096
  description: "Returns the data of a specific user",
5670
6097
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6098
+ httpMethod: "get",
5671
6099
  pathParams: ["user_id"],
5672
6100
  queryParams: [],
5673
6101
  flags: [{
@@ -5683,6 +6111,7 @@ var routes = {
5683
6111
  operationId: "deleteUser",
5684
6112
  description: "Deletes a specific user",
5685
6113
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6114
+ httpMethod: "delete",
5686
6115
  pathParams: ["user_id"],
5687
6116
  queryParams: [],
5688
6117
  flags: [{
@@ -5698,6 +6127,7 @@ var routes = {
5698
6127
  operationId: "bootstrapUser",
5699
6128
  description: "Creates the first admin user. Returns 409 if any user already exists.",
5700
6129
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6130
+ httpMethod: "post",
5701
6131
  pathParams: [],
5702
6132
  queryParams: [],
5703
6133
  flags: [{
@@ -5719,6 +6149,7 @@ var routes = {
5719
6149
  operationId: "loginUser",
5720
6150
  description: "Authenticates a user and returns a JWT token",
5721
6151
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6152
+ httpMethod: "post",
5722
6153
  pathParams: [],
5723
6154
  queryParams: [],
5724
6155
  flags: [{
@@ -5740,6 +6171,7 @@ var routes = {
5740
6171
  operationId: "attachUserPolicies",
5741
6172
  description: "Replaces the user's policy list with the provided policy IDs. Requires admin role.",
5742
6173
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6174
+ httpMethod: "put",
5743
6175
  pathParams: ["user_id"],
5744
6176
  queryParams: [],
5745
6177
  flags: [{
@@ -5761,6 +6193,7 @@ var routes = {
5761
6193
  operationId: "listWebhooks",
5762
6194
  description: "Lists webhooks. Use the project_id query parameter to filter by project.",
5763
6195
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6196
+ httpMethod: "get",
5764
6197
  pathParams: [],
5765
6198
  queryParams: ["project_id"],
5766
6199
  flags: [{
@@ -5776,6 +6209,7 @@ var routes = {
5776
6209
  operationId: "createWebhook",
5777
6210
  description: "Creates a new webhook for a project",
5778
6211
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6212
+ httpMethod: "post",
5779
6213
  pathParams: [],
5780
6214
  queryParams: [],
5781
6215
  flags: [{
@@ -5821,6 +6255,7 @@ var routes = {
5821
6255
  operationId: "getWebhook",
5822
6256
  description: "Retrieves the details of a specific webhook",
5823
6257
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6258
+ httpMethod: "get",
5824
6259
  pathParams: ["webhook_id"],
5825
6260
  queryParams: [],
5826
6261
  flags: [{
@@ -5836,6 +6271,7 @@ var routes = {
5836
6271
  operationId: "updateWebhook",
5837
6272
  description: "Updates an existing webhook's configuration",
5838
6273
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6274
+ httpMethod: "put",
5839
6275
  pathParams: ["webhook_id"],
5840
6276
  queryParams: [],
5841
6277
  flags: [{
@@ -5887,6 +6323,7 @@ var routes = {
5887
6323
  operationId: "deleteWebhook",
5888
6324
  description: "Deletes a webhook and stops all event deliveries",
5889
6325
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6326
+ httpMethod: "delete",
5890
6327
  pathParams: ["webhook_id"],
5891
6328
  queryParams: [],
5892
6329
  flags: [{
@@ -5902,6 +6339,7 @@ var routes = {
5902
6339
  operationId: "listWebhookDeliveries",
5903
6340
  description: "Lists event deliveries for a webhook (webhook_id is required).",
5904
6341
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6342
+ httpMethod: "get",
5905
6343
  pathParams: [],
5906
6344
  queryParams: ["webhook_id", "limit", "offset"],
5907
6345
  flags: [{
@@ -5929,6 +6367,7 @@ var routes = {
5929
6367
  operationId: "getWebhookDelivery",
5930
6368
  description: "Retrieves the details of a specific webhook delivery",
5931
6369
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6370
+ httpMethod: "get",
5932
6371
  pathParams: ["delivery_id"],
5933
6372
  queryParams: [],
5934
6373
  flags: [{
@@ -5944,6 +6383,7 @@ var routes = {
5944
6383
  operationId: "getWebhookSecret",
5945
6384
  description: "Retrieves the signing secret for the specified webhook",
5946
6385
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6386
+ httpMethod: "get",
5947
6387
  pathParams: ["webhook_id"],
5948
6388
  queryParams: [],
5949
6389
  flags: [{
@@ -5959,6 +6399,7 @@ var routes = {
5959
6399
  operationId: "rotateWebhookSecret",
5960
6400
  description: "Rotates the secret key for the specified webhook",
5961
6401
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6402
+ httpMethod: "post",
5962
6403
  pathParams: ["webhook_id"],
5963
6404
  queryParams: [],
5964
6405
  flags: [{
@@ -5974,6 +6415,7 @@ var routes = {
5974
6415
  operationId: "listWorkflows",
5975
6416
  description: "Lists workflow definitions in a project.",
5976
6417
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/workflows",
6418
+ httpMethod: "get",
5977
6419
  pathParams: [],
5978
6420
  queryParams: ["project_id"],
5979
6421
  flags: [{
@@ -5989,6 +6431,7 @@ var routes = {
5989
6431
  operationId: "createWorkflow",
5990
6432
  description: "Creates a new workflow definition. The definition is statically validated.",
5991
6433
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/workflows",
6434
+ httpMethod: "post",
5992
6435
  pathParams: [],
5993
6436
  queryParams: [],
5994
6437
  flags: [{
@@ -6034,6 +6477,7 @@ var routes = {
6034
6477
  operationId: "getWorkflow",
6035
6478
  description: "Retrieves a workflow definition.",
6036
6479
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/workflows",
6480
+ httpMethod: "get",
6037
6481
  pathParams: ["workflow_id"],
6038
6482
  queryParams: [],
6039
6483
  flags: [{
@@ -6049,6 +6493,7 @@ var routes = {
6049
6493
  operationId: "updateWorkflow",
6050
6494
  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
6495
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/workflows",
6496
+ httpMethod: "patch",
6052
6497
  pathParams: ["workflow_id"],
6053
6498
  queryParams: [],
6054
6499
  flags: [{
@@ -6094,6 +6539,7 @@ var routes = {
6094
6539
  operationId: "deleteWorkflow",
6095
6540
  description: "Deletes a workflow. Rejected while open tasks exist.",
6096
6541
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/workflows",
6542
+ httpMethod: "delete",
6097
6543
  pathParams: ["workflow_id"],
6098
6544
  queryParams: [],
6099
6545
  flags: [{
@@ -6351,7 +6797,7 @@ program.argument("[command]", "API command in kebab-case (e.g. list-actors)").ar
6351
6797
  const queryParam = route.queryParams.find(p => {
6352
6798
  return toCanonical(p) === canonical;
6353
6799
  });
6354
- if (pathParam) pathArgs[pathParam] = parsedValue;else if (queryParam) queryArgs[queryParam] = parsedValue;else bodyArgs[kebabToSnake(flagKey)] = parsedValue;
6800
+ 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
6801
  }
6356
6802
  const positionalArgs = extractPositionalArgs({
6357
6803
  cliArgs: rawArgs