@soat/cli 0.15.9 → 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 +473 -11
  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.9";
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: [{
@@ -1253,16 +1297,23 @@ var routes = {
1253
1297
  "delete-ai-provider": {
1254
1298
  serviceClass: "AIProviders",
1255
1299
  operationId: "deleteAiProvider",
1256
- description: "Deletes an AI provider configuration",
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
- queryParams: [],
1304
+ queryParams: ["force"],
1260
1305
  flags: [{
1261
1306
  "name": "ai_provider_id",
1262
1307
  "description": "AI Provider ID",
1263
1308
  "required": true,
1264
1309
  "type": "string",
1265
1310
  "in": "path"
1311
+ }, {
1312
+ "name": "force",
1313
+ "description": "When `true`, delete the provider's price overrides and unlink its usage/participant history so a provider with only soft dependents can be removed. Has no effect on live references (chats, agents, discussions), which always block deletion.\n",
1314
+ "required": false,
1315
+ "type": "boolean",
1316
+ "in": "query"
1266
1317
  }]
1267
1318
  },
1268
1319
  "get-ai-provider-prices": {
@@ -1270,6 +1321,7 @@ var routes = {
1270
1321
  operationId: "getAiProviderPrices",
1271
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.",
1272
1323
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
1324
+ httpMethod: "get",
1273
1325
  pathParams: ["ai_provider_id"],
1274
1326
  queryParams: [],
1275
1327
  flags: [{
@@ -1285,6 +1337,7 @@ var routes = {
1285
1337
  operationId: "updateAiProviderPrices",
1286
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.",
1287
1339
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
1340
+ httpMethod: "put",
1288
1341
  pathParams: ["ai_provider_id"],
1289
1342
  queryParams: [],
1290
1343
  flags: [{
@@ -1306,6 +1359,7 @@ var routes = {
1306
1359
  operationId: "listApiKeys",
1307
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.",
1308
1361
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
1362
+ httpMethod: "get",
1309
1363
  pathParams: [],
1310
1364
  queryParams: [],
1311
1365
  flags: []
@@ -1315,6 +1369,7 @@ var routes = {
1315
1369
  operationId: "createApiKey",
1316
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).",
1317
1371
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
1372
+ httpMethod: "post",
1318
1373
  pathParams: [],
1319
1374
  queryParams: [],
1320
1375
  flags: [{
@@ -1342,6 +1397,7 @@ var routes = {
1342
1397
  operationId: "getApiKey",
1343
1398
  description: "Returns details of an API key. Only the owner or an admin can access it.",
1344
1399
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
1400
+ httpMethod: "get",
1345
1401
  pathParams: ["api_key_id"],
1346
1402
  queryParams: [],
1347
1403
  flags: [{
@@ -1357,6 +1413,7 @@ var routes = {
1357
1413
  operationId: "updateApiKey",
1358
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.",
1359
1415
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
1416
+ httpMethod: "put",
1360
1417
  pathParams: ["api_key_id"],
1361
1418
  queryParams: [],
1362
1419
  flags: [{
@@ -1390,6 +1447,7 @@ var routes = {
1390
1447
  operationId: "deleteApiKey",
1391
1448
  description: "Deletes an API key. Only the owner or an admin can delete it.",
1392
1449
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
1450
+ httpMethod: "delete",
1393
1451
  pathParams: ["api_key_id"],
1394
1452
  queryParams: [],
1395
1453
  flags: [{
@@ -1405,6 +1463,7 @@ var routes = {
1405
1463
  operationId: "listApprovals",
1406
1464
  description: "Returns approval items for a project, filterable by status, origin, and expiry.",
1407
1465
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/approvals",
1466
+ httpMethod: "get",
1408
1467
  pathParams: [],
1409
1468
  queryParams: ["project_id", "status", "origin", "expires_before"],
1410
1469
  flags: [{
@@ -1438,6 +1497,7 @@ var routes = {
1438
1497
  operationId: "getApproval",
1439
1498
  description: "Returns a single approval item with its full evidence.",
1440
1499
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/approvals",
1500
+ httpMethod: "get",
1441
1501
  pathParams: ["approval_id"],
1442
1502
  queryParams: [],
1443
1503
  flags: [{
@@ -1453,6 +1513,7 @@ var routes = {
1453
1513
  operationId: "approveApproval",
1454
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.",
1455
1515
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/approvals",
1516
+ httpMethod: "post",
1456
1517
  pathParams: ["approval_id"],
1457
1518
  queryParams: [],
1458
1519
  flags: [{
@@ -1474,6 +1535,7 @@ var routes = {
1474
1535
  operationId: "rejectApproval",
1475
1536
  description: "Rejects the item. A reason is required and preserved on the item.",
1476
1537
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/approvals",
1538
+ httpMethod: "post",
1477
1539
  pathParams: ["approval_id"],
1478
1540
  queryParams: [],
1479
1541
  flags: [{
@@ -1495,6 +1557,7 @@ var routes = {
1495
1557
  operationId: "listChats",
1496
1558
  description: "Returns all chats in the project.",
1497
1559
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
1560
+ httpMethod: "get",
1498
1561
  pathParams: [],
1499
1562
  queryParams: ["project_id"],
1500
1563
  flags: [{
@@ -1510,6 +1573,7 @@ var routes = {
1510
1573
  operationId: "createChat",
1511
1574
  description: "Creates a new chat resource bound to an AI provider.",
1512
1575
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
1576
+ httpMethod: "post",
1513
1577
  pathParams: [],
1514
1578
  queryParams: [],
1515
1579
  flags: [{
@@ -1549,6 +1613,7 @@ var routes = {
1549
1613
  operationId: "getChat",
1550
1614
  description: "Returns a single chat by ID.",
1551
1615
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
1616
+ httpMethod: "get",
1552
1617
  pathParams: ["chat_id"],
1553
1618
  queryParams: [],
1554
1619
  flags: [{
@@ -1564,6 +1629,7 @@ var routes = {
1564
1629
  operationId: "deleteChat",
1565
1630
  description: "Deletes a chat by ID.",
1566
1631
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
1632
+ httpMethod: "delete",
1567
1633
  pathParams: ["chat_id"],
1568
1634
  queryParams: [],
1569
1635
  flags: [{
@@ -1579,6 +1645,7 @@ var routes = {
1579
1645
  operationId: "createChatCompletionForChat",
1580
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`.",
1581
1647
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
1648
+ httpMethod: "post",
1582
1649
  pathParams: ["chat_id"],
1583
1650
  queryParams: [],
1584
1651
  flags: [{
@@ -1612,6 +1679,7 @@ var routes = {
1612
1679
  operationId: "createChatCompletion",
1613
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.",
1614
1681
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
1682
+ httpMethod: "post",
1615
1683
  pathParams: [],
1616
1684
  queryParams: [],
1617
1685
  flags: [{
@@ -1645,6 +1713,7 @@ var routes = {
1645
1713
  operationId: "listConversations",
1646
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.",
1647
1715
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1716
+ httpMethod: "get",
1648
1717
  pathParams: [],
1649
1718
  queryParams: ["project_id", "actor_id", "limit", "offset"],
1650
1719
  flags: [{
@@ -1678,6 +1747,7 @@ var routes = {
1678
1747
  operationId: "createConversation",
1679
1748
  description: "Creates a new conversation. project keys automatically infer the project from the key's scope; JWT callers must supply projectId.",
1680
1749
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1750
+ httpMethod: "post",
1681
1751
  pathParams: [],
1682
1752
  queryParams: [],
1683
1753
  flags: [{
@@ -1711,6 +1781,7 @@ var routes = {
1711
1781
  operationId: "getConversation",
1712
1782
  description: "Returns a conversation by its ID",
1713
1783
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1784
+ httpMethod: "get",
1714
1785
  pathParams: ["conversation_id"],
1715
1786
  queryParams: [],
1716
1787
  flags: [{
@@ -1726,6 +1797,7 @@ var routes = {
1726
1797
  operationId: "updateConversation",
1727
1798
  description: "Updates the status of a conversation",
1728
1799
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1800
+ httpMethod: "patch",
1729
1801
  pathParams: ["conversation_id"],
1730
1802
  queryParams: [],
1731
1803
  flags: [{
@@ -1753,6 +1825,7 @@ var routes = {
1753
1825
  operationId: "deleteConversation",
1754
1826
  description: "Deletes a conversation by its ID",
1755
1827
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1828
+ httpMethod: "delete",
1756
1829
  pathParams: ["conversation_id"],
1757
1830
  queryParams: [],
1758
1831
  flags: [{
@@ -1768,6 +1841,7 @@ var routes = {
1768
1841
  operationId: "listConversationMessages",
1769
1842
  description: "Returns all messages (documents) attached to a conversation, ordered by position",
1770
1843
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1844
+ httpMethod: "get",
1771
1845
  pathParams: ["conversation_id"],
1772
1846
  queryParams: ["limit", "offset"],
1773
1847
  flags: [{
@@ -1795,6 +1869,7 @@ var routes = {
1795
1869
  operationId: "addConversationMessage",
1796
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.",
1797
1871
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1872
+ httpMethod: "post",
1798
1873
  pathParams: ["conversation_id"],
1799
1874
  queryParams: [],
1800
1875
  flags: [{
@@ -1840,6 +1915,7 @@ var routes = {
1840
1915
  operationId: "generateConversationMessage",
1841
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.",
1842
1917
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1918
+ httpMethod: "post",
1843
1919
  pathParams: ["conversation_id"],
1844
1920
  queryParams: [],
1845
1921
  flags: [{
@@ -1879,6 +1955,7 @@ var routes = {
1879
1955
  operationId: "removeConversationMessage",
1880
1956
  description: "Removes a document from a conversation",
1881
1957
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1958
+ httpMethod: "delete",
1882
1959
  pathParams: ["conversation_id", "document_id"],
1883
1960
  queryParams: [],
1884
1961
  flags: [{
@@ -1900,6 +1977,7 @@ var routes = {
1900
1977
  operationId: "getConversationTags",
1901
1978
  description: "Returns all tags attached to the conversation",
1902
1979
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1980
+ httpMethod: "get",
1903
1981
  pathParams: ["conversation_id"],
1904
1982
  queryParams: [],
1905
1983
  flags: [{
@@ -1915,6 +1993,7 @@ var routes = {
1915
1993
  operationId: "replaceConversationTags",
1916
1994
  description: "Replaces all tags on the conversation with the provided tags",
1917
1995
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
1996
+ httpMethod: "put",
1918
1997
  pathParams: ["conversation_id"],
1919
1998
  queryParams: [],
1920
1999
  flags: [{
@@ -1930,6 +2009,7 @@ var routes = {
1930
2009
  operationId: "mergeConversationTags",
1931
2010
  description: "Merges provided tags with existing tags",
1932
2011
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
2012
+ httpMethod: "patch",
1933
2013
  pathParams: ["conversation_id"],
1934
2014
  queryParams: [],
1935
2015
  flags: [{
@@ -1945,6 +2025,7 @@ var routes = {
1945
2025
  operationId: "listDiscussions",
1946
2026
  description: "Returns all discussions the caller has access to. If project_id is provided, returns only discussions in that project.",
1947
2027
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2028
+ httpMethod: "get",
1948
2029
  pathParams: [],
1949
2030
  queryParams: ["project_id", "limit", "offset"],
1950
2031
  flags: [{
@@ -1972,6 +2053,7 @@ var routes = {
1972
2053
  operationId: "createDiscussion",
1973
2054
  description: "Creates a new discussion config. project keys infer the project from the key's scope; JWT callers must supply project_id.",
1974
2055
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2056
+ httpMethod: "post",
1975
2057
  pathParams: [],
1976
2058
  queryParams: [],
1977
2059
  flags: [{
@@ -2035,6 +2117,7 @@ var routes = {
2035
2117
  operationId: "getDiscussionRun",
2036
2118
  description: "Returns a single discussion run, including its outcome, transcript conversation, and outcome document.",
2037
2119
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2120
+ httpMethod: "get",
2038
2121
  pathParams: ["run_id"],
2039
2122
  queryParams: [],
2040
2123
  flags: [{
@@ -2050,6 +2133,7 @@ var routes = {
2050
2133
  operationId: "getDiscussion",
2051
2134
  description: "Returns a discussion config with its participants.",
2052
2135
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2136
+ httpMethod: "get",
2053
2137
  pathParams: ["discussion_id"],
2054
2138
  queryParams: [],
2055
2139
  flags: [{
@@ -2065,6 +2149,7 @@ var routes = {
2065
2149
  operationId: "updateDiscussion",
2066
2150
  description: "Updates a discussion. Providing participants replaces the full set (not merged).",
2067
2151
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2152
+ httpMethod: "patch",
2068
2153
  pathParams: ["discussion_id"],
2069
2154
  queryParams: [],
2070
2155
  flags: [{
@@ -2128,6 +2213,7 @@ var routes = {
2128
2213
  operationId: "deleteDiscussion",
2129
2214
  description: "Deletes a discussion config and its participants.",
2130
2215
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2216
+ httpMethod: "delete",
2131
2217
  pathParams: ["discussion_id"],
2132
2218
  queryParams: [],
2133
2219
  flags: [{
@@ -2143,6 +2229,7 @@ var routes = {
2143
2229
  operationId: "listDiscussionRuns",
2144
2230
  description: "Returns the run history of a discussion, most recent first.",
2145
2231
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2232
+ httpMethod: "get",
2146
2233
  pathParams: ["discussion_id"],
2147
2234
  queryParams: ["limit", "offset"],
2148
2235
  flags: [{
@@ -2170,6 +2257,7 @@ var routes = {
2170
2257
  operationId: "createDiscussionRun",
2171
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.",
2172
2259
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/discussions",
2260
+ httpMethod: "post",
2173
2261
  pathParams: ["discussion_id"],
2174
2262
  queryParams: [],
2175
2263
  flags: [{
@@ -2191,6 +2279,7 @@ var routes = {
2191
2279
  operationId: "listDocuments",
2192
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.",
2193
2281
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2282
+ httpMethod: "get",
2194
2283
  pathParams: [],
2195
2284
  queryParams: ["project_id", "limit", "offset"],
2196
2285
  flags: [{
@@ -2218,6 +2307,7 @@ var routes = {
2218
2307
  operationId: "createDocument",
2219
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.",
2220
2309
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2310
+ httpMethod: "post",
2221
2311
  pathParams: [],
2222
2312
  queryParams: [],
2223
2313
  flags: [{
@@ -2287,6 +2377,7 @@ var routes = {
2287
2377
  operationId: "ingestDocument",
2288
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`.",
2289
2379
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2380
+ httpMethod: "post",
2290
2381
  pathParams: [],
2291
2382
  queryParams: ["async"],
2292
2383
  flags: [{
@@ -2344,6 +2435,7 @@ var routes = {
2344
2435
  operationId: "getDocument",
2345
2436
  description: "Returns a document with its text content",
2346
2437
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2438
+ httpMethod: "get",
2347
2439
  pathParams: ["document_id"],
2348
2440
  queryParams: [],
2349
2441
  flags: [{
@@ -2359,6 +2451,7 @@ var routes = {
2359
2451
  operationId: "updateDocument",
2360
2452
  description: "Updates document content, title, path, metadata, or tags. Supplying `path` moves the document to a new logical path within the project.",
2361
2453
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2454
+ httpMethod: "patch",
2362
2455
  pathParams: ["document_id"],
2363
2456
  queryParams: [],
2364
2457
  flags: [{
@@ -2404,6 +2497,7 @@ var routes = {
2404
2497
  operationId: "deleteDocument",
2405
2498
  description: "Deletes a document and its underlying file",
2406
2499
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2500
+ httpMethod: "delete",
2407
2501
  pathParams: ["document_id"],
2408
2502
  queryParams: [],
2409
2503
  flags: [{
@@ -2419,6 +2513,7 @@ var routes = {
2419
2513
  operationId: "getDocumentStatus",
2420
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.",
2421
2515
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2516
+ httpMethod: "get",
2422
2517
  pathParams: ["document_id"],
2423
2518
  queryParams: [],
2424
2519
  flags: [{
@@ -2434,6 +2529,7 @@ var routes = {
2434
2529
  operationId: "reingestDocument",
2435
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`).",
2436
2531
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2532
+ httpMethod: "post",
2437
2533
  pathParams: ["document_id"],
2438
2534
  queryParams: ["async"],
2439
2535
  flags: [{
@@ -2473,6 +2569,7 @@ var routes = {
2473
2569
  operationId: "completeIngestionCallback",
2474
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.",
2475
2571
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2572
+ httpMethod: "post",
2476
2573
  pathParams: ["document_id"],
2477
2574
  queryParams: ["token"],
2478
2575
  flags: [{
@@ -2506,6 +2603,7 @@ var routes = {
2506
2603
  operationId: "getDocumentTags",
2507
2604
  description: "Returns all tags attached to the document",
2508
2605
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2606
+ httpMethod: "get",
2509
2607
  pathParams: ["document_id"],
2510
2608
  queryParams: [],
2511
2609
  flags: [{
@@ -2521,6 +2619,7 @@ var routes = {
2521
2619
  operationId: "replaceDocumentTags",
2522
2620
  description: "Replaces all tags on the document with the provided tags (not merged)",
2523
2621
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2622
+ httpMethod: "put",
2524
2623
  pathParams: ["document_id"],
2525
2624
  queryParams: [],
2526
2625
  flags: [{
@@ -2536,6 +2635,7 @@ var routes = {
2536
2635
  operationId: "mergeDocumentTags",
2537
2636
  description: "Merges provided tags with existing tags (existing tags are preserved unless overridden)",
2538
2637
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
2638
+ httpMethod: "patch",
2539
2639
  pathParams: ["document_id"],
2540
2640
  queryParams: [],
2541
2641
  flags: [{
@@ -2551,6 +2651,7 @@ var routes = {
2551
2651
  operationId: "createEmbeddings",
2552
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.",
2553
2653
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/embeddings",
2654
+ httpMethod: "post",
2554
2655
  pathParams: [],
2555
2656
  queryParams: [],
2556
2657
  flags: [{
@@ -2572,6 +2673,7 @@ var routes = {
2572
2673
  operationId: "listFiles",
2573
2674
  description: "Returns a list of all stored files",
2574
2675
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2676
+ httpMethod: "get",
2575
2677
  pathParams: [],
2576
2678
  queryParams: ["project_id", "limit", "offset"],
2577
2679
  flags: [{
@@ -2599,6 +2701,7 @@ var routes = {
2599
2701
  operationId: "createFile",
2600
2702
  description: "Creates a new file record in the system",
2601
2703
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2704
+ httpMethod: "post",
2602
2705
  pathParams: [],
2603
2706
  queryParams: [],
2604
2707
  flags: [{
@@ -2644,6 +2747,7 @@ var routes = {
2644
2747
  operationId: "uploadFile",
2645
2748
  description: "Uploads a file to the server and stores it in the configured storage directory",
2646
2749
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2750
+ httpMethod: "post",
2647
2751
  pathParams: [],
2648
2752
  queryParams: [],
2649
2753
  flags: []
@@ -2653,6 +2757,7 @@ var routes = {
2653
2757
  operationId: "uploadFileBase64",
2654
2758
  description: "Uploads a file to the server using base64-encoded content",
2655
2759
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2760
+ httpMethod: "post",
2656
2761
  pathParams: [],
2657
2762
  queryParams: [],
2658
2763
  flags: [{
@@ -2698,6 +2803,7 @@ var routes = {
2698
2803
  operationId: "createPresignedUrl",
2699
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.",
2700
2805
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2806
+ httpMethod: "post",
2701
2807
  pathParams: [],
2702
2808
  queryParams: [],
2703
2809
  flags: [{
@@ -2731,6 +2837,7 @@ var routes = {
2731
2837
  operationId: "uploadFileWithToken",
2732
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.",
2733
2839
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2840
+ httpMethod: "post",
2734
2841
  pathParams: ["token"],
2735
2842
  queryParams: [],
2736
2843
  flags: [{
@@ -2770,6 +2877,7 @@ var routes = {
2770
2877
  operationId: "getFile",
2771
2878
  description: "Returns the data and metadata of a specific file",
2772
2879
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2880
+ httpMethod: "get",
2773
2881
  pathParams: ["file_id"],
2774
2882
  queryParams: [],
2775
2883
  flags: [{
@@ -2785,6 +2893,7 @@ var routes = {
2785
2893
  operationId: "deleteFile",
2786
2894
  description: "Removes a file from the system by ID",
2787
2895
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2896
+ httpMethod: "delete",
2788
2897
  pathParams: ["file_id"],
2789
2898
  queryParams: [],
2790
2899
  flags: [{
@@ -2800,6 +2909,7 @@ var routes = {
2800
2909
  operationId: "downloadFile",
2801
2910
  description: "Streams the file content to the client",
2802
2911
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2912
+ httpMethod: "get",
2803
2913
  pathParams: ["file_id"],
2804
2914
  queryParams: [],
2805
2915
  flags: [{
@@ -2815,6 +2925,7 @@ var routes = {
2815
2925
  operationId: "updateFileMetadata",
2816
2926
  description: "Updates the metadata field of a file",
2817
2927
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2928
+ httpMethod: "patch",
2818
2929
  pathParams: ["file_id"],
2819
2930
  queryParams: [],
2820
2931
  flags: [{
@@ -2848,6 +2959,7 @@ var routes = {
2848
2959
  operationId: "downloadFileBase64",
2849
2960
  description: "Returns the file content encoded as base64",
2850
2961
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2962
+ httpMethod: "get",
2851
2963
  pathParams: ["file_id"],
2852
2964
  queryParams: [],
2853
2965
  flags: [{
@@ -2863,6 +2975,7 @@ var routes = {
2863
2975
  operationId: "getFileTags",
2864
2976
  description: "Returns all tags attached to the file",
2865
2977
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2978
+ httpMethod: "get",
2866
2979
  pathParams: ["file_id"],
2867
2980
  queryParams: [],
2868
2981
  flags: [{
@@ -2878,6 +2991,7 @@ var routes = {
2878
2991
  operationId: "replaceFileTags",
2879
2992
  description: "Replaces all tags on the file with the provided tags",
2880
2993
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
2994
+ httpMethod: "put",
2881
2995
  pathParams: ["file_id"],
2882
2996
  queryParams: [],
2883
2997
  flags: [{
@@ -2893,6 +3007,7 @@ var routes = {
2893
3007
  operationId: "mergeFileTags",
2894
3008
  description: "Merges provided tags with existing tags",
2895
3009
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
3010
+ httpMethod: "patch",
2896
3011
  pathParams: ["file_id"],
2897
3012
  queryParams: [],
2898
3013
  flags: [{
@@ -2908,6 +3023,7 @@ var routes = {
2908
3023
  operationId: "validateFormation",
2909
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.",
2910
3025
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3026
+ httpMethod: "post",
2911
3027
  pathParams: [],
2912
3028
  queryParams: [],
2913
3029
  flags: [{
@@ -2929,6 +3045,7 @@ var routes = {
2929
3045
  operationId: "planFormation",
2930
3046
  description: "Computes a diff between the desired template and the current stack state without making any changes. Returns the list of planned actions.",
2931
3047
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3048
+ httpMethod: "post",
2932
3049
  pathParams: [],
2933
3050
  queryParams: [],
2934
3051
  flags: [{
@@ -2962,6 +3079,7 @@ var routes = {
2962
3079
  operationId: "listFormations",
2963
3080
  description: "Returns all formation stacks for a project",
2964
3081
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3082
+ httpMethod: "get",
2965
3083
  pathParams: [],
2966
3084
  queryParams: ["project_id"],
2967
3085
  flags: [{
@@ -2977,6 +3095,7 @@ var routes = {
2977
3095
  operationId: "createFormation",
2978
3096
  description: "Validates the template, creates the formation record, then provisions all declared resources in dependency order.",
2979
3097
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3098
+ httpMethod: "post",
2980
3099
  pathParams: [],
2981
3100
  queryParams: [],
2982
3101
  flags: [{
@@ -3016,6 +3135,7 @@ var routes = {
3016
3135
  operationId: "getFormation",
3017
3136
  description: "Returns the formation stack including its current resources.",
3018
3137
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3138
+ httpMethod: "get",
3019
3139
  pathParams: ["formation_id"],
3020
3140
  queryParams: [],
3021
3141
  flags: [{
@@ -3031,6 +3151,7 @@ var routes = {
3031
3151
  operationId: "updateFormation",
3032
3152
  description: "Applies a new template to the formation. Resources are created, updated, or deleted to reconcile the current state with the desired state.",
3033
3153
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3154
+ httpMethod: "put",
3034
3155
  pathParams: ["formation_id"],
3035
3156
  queryParams: [],
3036
3157
  flags: [{
@@ -3064,6 +3185,7 @@ var routes = {
3064
3185
  operationId: "deleteFormation",
3065
3186
  description: "Deletes the formation stack and all its managed resources in reverse dependency order.",
3066
3187
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3188
+ httpMethod: "delete",
3067
3189
  pathParams: ["formation_id"],
3068
3190
  queryParams: [],
3069
3191
  flags: [{
@@ -3079,6 +3201,7 @@ var routes = {
3079
3201
  operationId: "listFormationEvents",
3080
3202
  description: "Returns all operations (create, update, delete) with their event logs for the formation, ordered chronologically.",
3081
3203
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
3204
+ httpMethod: "get",
3082
3205
  pathParams: ["formation_id"],
3083
3206
  queryParams: [],
3084
3207
  flags: [{
@@ -3094,6 +3217,7 @@ var routes = {
3094
3217
  operationId: "listGenerations",
3095
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).",
3096
3219
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/generations",
3220
+ httpMethod: "get",
3097
3221
  pathParams: [],
3098
3222
  queryParams: ["agent_id", "trace_id", "initiator_generation_id", "status", "limit", "offset"],
3099
3223
  flags: [{
@@ -3139,6 +3263,7 @@ var routes = {
3139
3263
  operationId: "getGeneration",
3140
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).",
3141
3265
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/generations",
3266
+ httpMethod: "get",
3142
3267
  pathParams: ["generation_id"],
3143
3268
  queryParams: [],
3144
3269
  flags: [{
@@ -3154,6 +3279,7 @@ var routes = {
3154
3279
  operationId: "updateGeneration",
3155
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.",
3156
3281
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/generations",
3282
+ httpMethod: "patch",
3157
3283
  pathParams: ["generation_id"],
3158
3284
  queryParams: [],
3159
3285
  flags: [{
@@ -3170,11 +3296,208 @@ var routes = {
3170
3296
  "in": "body"
3171
3297
  }]
3172
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
+ },
3173
3495
  "list-ingestion-rules": {
3174
3496
  serviceClass: "IngestionRules",
3175
3497
  operationId: "listIngestionRules",
3176
3498
  description: "Returns the ingestion rules for a project",
3177
3499
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ingestion-rules",
3500
+ httpMethod: "get",
3178
3501
  pathParams: [],
3179
3502
  queryParams: ["project_id", "limit", "offset"],
3180
3503
  flags: [{
@@ -3202,6 +3525,7 @@ var routes = {
3202
3525
  operationId: "createIngestionRule",
3203
3526
  description: "Creates a rule mapping a content_type glob to a converter. Exactly one of tool_id or agent_id must be set.",
3204
3527
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ingestion-rules",
3528
+ httpMethod: "post",
3205
3529
  pathParams: [],
3206
3530
  queryParams: [],
3207
3531
  flags: [{
@@ -3283,6 +3607,7 @@ var routes = {
3283
3607
  operationId: "getIngestionRule",
3284
3608
  description: "Returns a specific ingestion rule",
3285
3609
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ingestion-rules",
3610
+ httpMethod: "get",
3286
3611
  pathParams: ["ingestion_rule_id"],
3287
3612
  queryParams: [],
3288
3613
  flags: [{
@@ -3298,6 +3623,7 @@ var routes = {
3298
3623
  operationId: "updateIngestionRule",
3299
3624
  description: "Updates fields of an ingestion rule",
3300
3625
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ingestion-rules",
3626
+ httpMethod: "patch",
3301
3627
  pathParams: ["ingestion_rule_id"],
3302
3628
  queryParams: [],
3303
3629
  flags: [{
@@ -3379,6 +3705,7 @@ var routes = {
3379
3705
  operationId: "deleteIngestionRule",
3380
3706
  description: "Deletes an ingestion rule",
3381
3707
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ingestion-rules",
3708
+ httpMethod: "delete",
3382
3709
  pathParams: ["ingestion_rule_id"],
3383
3710
  queryParams: [],
3384
3711
  flags: [{
@@ -3394,6 +3721,7 @@ var routes = {
3394
3721
  operationId: "searchKnowledge",
3395
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.",
3396
3723
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/knowledge",
3724
+ httpMethod: "post",
3397
3725
  pathParams: [],
3398
3726
  queryParams: [],
3399
3727
  flags: [{
@@ -3451,6 +3779,7 @@ var routes = {
3451
3779
  operationId: "listMemories",
3452
3780
  description: "Returns a list of memory configurations for a project",
3453
3781
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
3782
+ httpMethod: "get",
3454
3783
  pathParams: [],
3455
3784
  queryParams: ["project_id", "tags"],
3456
3785
  flags: [{
@@ -3472,6 +3801,7 @@ var routes = {
3472
3801
  operationId: "createMemory",
3473
3802
  description: "Creates a new memory configuration in a project",
3474
3803
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
3804
+ httpMethod: "post",
3475
3805
  pathParams: [],
3476
3806
  queryParams: [],
3477
3807
  flags: [{
@@ -3505,6 +3835,7 @@ var routes = {
3505
3835
  operationId: "getMemory",
3506
3836
  description: "Returns a single memory configuration by ID",
3507
3837
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
3838
+ httpMethod: "get",
3508
3839
  pathParams: ["memory_id"],
3509
3840
  queryParams: [],
3510
3841
  flags: [{
@@ -3520,6 +3851,7 @@ var routes = {
3520
3851
  operationId: "updateMemory",
3521
3852
  description: "Updates an existing memory configuration",
3522
3853
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
3854
+ httpMethod: "put",
3523
3855
  pathParams: ["memory_id"],
3524
3856
  queryParams: [],
3525
3857
  flags: [{
@@ -3553,6 +3885,7 @@ var routes = {
3553
3885
  operationId: "deleteMemory",
3554
3886
  description: "Deletes a memory configuration",
3555
3887
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
3888
+ httpMethod: "delete",
3556
3889
  pathParams: ["memory_id"],
3557
3890
  queryParams: [],
3558
3891
  flags: [{
@@ -3568,6 +3901,7 @@ var routes = {
3568
3901
  operationId: "listMemoryEntries",
3569
3902
  description: "Returns all entries in a memory container",
3570
3903
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
3904
+ httpMethod: "get",
3571
3905
  pathParams: [],
3572
3906
  queryParams: ["memory_id"],
3573
3907
  flags: [{
@@ -3583,6 +3917,7 @@ var routes = {
3583
3917
  operationId: "createMemoryEntry",
3584
3918
  description: "Creates a new entry in the specified memory container. Automatically generates an embedding for semantic search.",
3585
3919
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
3920
+ httpMethod: "post",
3586
3921
  pathParams: [],
3587
3922
  queryParams: [],
3588
3923
  flags: [{
@@ -3634,6 +3969,7 @@ var routes = {
3634
3969
  operationId: "getMemoryEntry",
3635
3970
  description: "Returns a single memory entry by ID",
3636
3971
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
3972
+ httpMethod: "get",
3637
3973
  pathParams: ["entry_id"],
3638
3974
  queryParams: [],
3639
3975
  flags: [{
@@ -3649,6 +3985,7 @@ var routes = {
3649
3985
  operationId: "updateMemoryEntry",
3650
3986
  description: "Updates an existing memory entry. Regenerates the embedding if content changes.",
3651
3987
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
3988
+ httpMethod: "put",
3652
3989
  pathParams: ["entry_id"],
3653
3990
  queryParams: [],
3654
3991
  flags: [{
@@ -3682,6 +4019,7 @@ var routes = {
3682
4019
  operationId: "deleteMemoryEntry",
3683
4020
  description: "Deletes a memory entry",
3684
4021
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
4022
+ httpMethod: "delete",
3685
4023
  pathParams: ["entry_id"],
3686
4024
  queryParams: [],
3687
4025
  flags: [{
@@ -3697,6 +4035,7 @@ var routes = {
3697
4035
  operationId: "listOrchestrations",
3698
4036
  description: "Returns orchestrations accessible to the caller.",
3699
4037
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4038
+ httpMethod: "get",
3700
4039
  pathParams: [],
3701
4040
  queryParams: ["project_id"],
3702
4041
  flags: [{
@@ -3712,6 +4051,7 @@ var routes = {
3712
4051
  operationId: "createOrchestration",
3713
4052
  description: "Creates a new orchestration (pipeline) definition in the project.",
3714
4053
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4054
+ httpMethod: "post",
3715
4055
  pathParams: [],
3716
4056
  queryParams: [],
3717
4057
  flags: [{
@@ -3763,6 +4103,7 @@ var routes = {
3763
4103
  operationId: "validateOrchestration",
3764
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.",
3765
4105
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4106
+ httpMethod: "post",
3766
4107
  pathParams: [],
3767
4108
  queryParams: [],
3768
4109
  flags: [{
@@ -3790,6 +4131,7 @@ var routes = {
3790
4131
  operationId: "getOrchestration",
3791
4132
  description: "Returns the orchestration with nodes and edges.",
3792
4133
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4134
+ httpMethod: "get",
3793
4135
  pathParams: ["orchestration_id"],
3794
4136
  queryParams: [],
3795
4137
  flags: [{
@@ -3805,6 +4147,7 @@ var routes = {
3805
4147
  operationId: "updateOrchestration",
3806
4148
  description: "Partially updates an orchestration definition.",
3807
4149
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4150
+ httpMethod: "patch",
3808
4151
  pathParams: ["orchestration_id"],
3809
4152
  queryParams: [],
3810
4153
  flags: [{
@@ -3856,6 +4199,7 @@ var routes = {
3856
4199
  operationId: "deleteOrchestration",
3857
4200
  description: "Deletes an orchestration definition and all its runs.",
3858
4201
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4202
+ httpMethod: "delete",
3859
4203
  pathParams: ["orchestration_id"],
3860
4204
  queryParams: [],
3861
4205
  flags: [{
@@ -3871,6 +4215,7 @@ var routes = {
3871
4215
  operationId: "listOrchestrationRuns",
3872
4216
  description: "Returns orchestration runs the caller can access, optionally filtered by orchestration.",
3873
4217
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4218
+ httpMethod: "get",
3874
4219
  pathParams: [],
3875
4220
  queryParams: ["orchestration_id"],
3876
4221
  flags: [{
@@ -3886,6 +4231,7 @@ var routes = {
3886
4231
  operationId: "startOrchestrationRun",
3887
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).",
3888
4233
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4234
+ httpMethod: "post",
3889
4235
  pathParams: [],
3890
4236
  queryParams: [],
3891
4237
  flags: [{
@@ -3913,6 +4259,7 @@ var routes = {
3913
4259
  operationId: "cancelOrchestrationRun",
3914
4260
  description: "Cancels a run that has not yet reached a terminal state.",
3915
4261
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4262
+ httpMethod: "post",
3916
4263
  pathParams: ["run_id"],
3917
4264
  queryParams: [],
3918
4265
  flags: [{
@@ -3928,6 +4275,7 @@ var routes = {
3928
4275
  operationId: "submitHumanInput",
3929
4276
  description: "Provides human input to a run that is awaiting_input at a human node.",
3930
4277
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4278
+ httpMethod: "post",
3931
4279
  pathParams: ["run_id"],
3932
4280
  queryParams: [],
3933
4281
  flags: [{
@@ -3955,6 +4303,7 @@ var routes = {
3955
4303
  operationId: "resumeOrchestrationRun",
3956
4304
  description: "Resumes an awaiting_input orchestration run from its last checkpoint.",
3957
4305
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4306
+ httpMethod: "post",
3958
4307
  pathParams: ["run_id"],
3959
4308
  queryParams: [],
3960
4309
  flags: [{
@@ -3970,6 +4319,7 @@ var routes = {
3970
4319
  operationId: "getOrchestrationRun",
3971
4320
  description: "Returns the status, state, and artifacts of a specific run.",
3972
4321
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
4322
+ httpMethod: "get",
3973
4323
  pathParams: ["run_id"],
3974
4324
  queryParams: [],
3975
4325
  flags: [{
@@ -3985,6 +4335,7 @@ var routes = {
3985
4335
  operationId: "listPolicies",
3986
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).",
3987
4337
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
4338
+ httpMethod: "get",
3988
4339
  pathParams: [],
3989
4340
  queryParams: ["user_id"],
3990
4341
  flags: [{
@@ -4000,6 +4351,7 @@ var routes = {
4000
4351
  operationId: "createPolicy",
4001
4352
  description: "Creates a new global policy. Requires admin role.",
4002
4353
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
4354
+ httpMethod: "post",
4003
4355
  pathParams: [],
4004
4356
  queryParams: [],
4005
4357
  flags: [{
@@ -4027,6 +4379,7 @@ var routes = {
4027
4379
  operationId: "getPolicy",
4028
4380
  description: "Returns details of a specific policy. Requires admin role.",
4029
4381
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
4382
+ httpMethod: "get",
4030
4383
  pathParams: ["policy_id"],
4031
4384
  queryParams: [],
4032
4385
  flags: [{
@@ -4042,6 +4395,7 @@ var routes = {
4042
4395
  operationId: "updatePolicy",
4043
4396
  description: "Updates an existing global policy. Requires admin role.",
4044
4397
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
4398
+ httpMethod: "put",
4045
4399
  pathParams: ["policy_id"],
4046
4400
  queryParams: [],
4047
4401
  flags: [{
@@ -4075,6 +4429,7 @@ var routes = {
4075
4429
  operationId: "deletePolicy",
4076
4430
  description: "Deletes a global policy. Requires admin role.",
4077
4431
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
4432
+ httpMethod: "delete",
4078
4433
  pathParams: ["policy_id"],
4079
4434
  queryParams: [],
4080
4435
  flags: [{
@@ -4090,6 +4445,7 @@ var routes = {
4090
4445
  operationId: "listProjects",
4091
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.",
4092
4447
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4448
+ httpMethod: "get",
4093
4449
  pathParams: [],
4094
4450
  queryParams: [],
4095
4451
  flags: []
@@ -4099,6 +4455,7 @@ var routes = {
4099
4455
  operationId: "createProject",
4100
4456
  description: "Creates a new project. Requires admin role.",
4101
4457
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4458
+ httpMethod: "post",
4102
4459
  pathParams: [],
4103
4460
  queryParams: [],
4104
4461
  flags: [{
@@ -4114,6 +4471,7 @@ var routes = {
4114
4471
  operationId: "getProject",
4115
4472
  description: "Returns details of a specific project.",
4116
4473
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4474
+ httpMethod: "get",
4117
4475
  pathParams: ["project_id"],
4118
4476
  queryParams: [],
4119
4477
  flags: [{
@@ -4127,8 +4485,9 @@ var routes = {
4127
4485
  "update-project": {
4128
4486
  serviceClass: "Projects",
4129
4487
  operationId: "updateProject",
4130
- 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.",
4131
4489
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4490
+ httpMethod: "patch",
4132
4491
  pathParams: ["project_id"],
4133
4492
  queryParams: [],
4134
4493
  flags: [{
@@ -4140,9 +4499,15 @@ var routes = {
4140
4499
  }, {
4141
4500
  "name": "name",
4142
4501
  "description": "",
4143
- "required": true,
4502
+ "required": false,
4144
4503
  "type": "string",
4145
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"
4146
4511
  }]
4147
4512
  },
4148
4513
  "delete-project": {
@@ -4150,6 +4515,7 @@ var routes = {
4150
4515
  operationId: "deleteProject",
4151
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.",
4152
4517
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4518
+ httpMethod: "delete",
4153
4519
  pathParams: ["project_id"],
4154
4520
  queryParams: ["force"],
4155
4521
  flags: [{
@@ -4171,6 +4537,7 @@ var routes = {
4171
4537
  operationId: "getProjectPrices",
4172
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.",
4173
4539
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4540
+ httpMethod: "get",
4174
4541
  pathParams: ["project_id"],
4175
4542
  queryParams: [],
4176
4543
  flags: [{
@@ -4186,6 +4553,7 @@ var routes = {
4186
4553
  operationId: "updateProjectPrices",
4187
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.",
4188
4555
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
4556
+ httpMethod: "put",
4189
4557
  pathParams: ["project_id"],
4190
4558
  queryParams: [],
4191
4559
  flags: [{
@@ -4207,6 +4575,7 @@ var routes = {
4207
4575
  operationId: "listSecrets",
4208
4576
  description: "Returns a list of secrets for a project",
4209
4577
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
4578
+ httpMethod: "get",
4210
4579
  pathParams: [],
4211
4580
  queryParams: ["project_id", "limit", "offset"],
4212
4581
  flags: [{
@@ -4234,6 +4603,7 @@ var routes = {
4234
4603
  operationId: "createSecret",
4235
4604
  description: "Creates a new encrypted secret in a project",
4236
4605
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
4606
+ httpMethod: "post",
4237
4607
  pathParams: [],
4238
4608
  queryParams: [],
4239
4609
  flags: [{
@@ -4261,6 +4631,7 @@ var routes = {
4261
4631
  operationId: "getSecret",
4262
4632
  description: "Returns a specific secret",
4263
4633
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
4634
+ httpMethod: "get",
4264
4635
  pathParams: ["secret_id"],
4265
4636
  queryParams: [],
4266
4637
  flags: [{
@@ -4276,6 +4647,7 @@ var routes = {
4276
4647
  operationId: "updateSecret",
4277
4648
  description: "Updates a secret's name and/or value",
4278
4649
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
4650
+ httpMethod: "patch",
4279
4651
  pathParams: ["secret_id"],
4280
4652
  queryParams: [],
4281
4653
  flags: [{
@@ -4303,6 +4675,7 @@ var routes = {
4303
4675
  operationId: "deleteSecret",
4304
4676
  description: "Deletes a secret",
4305
4677
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
4678
+ httpMethod: "delete",
4306
4679
  pathParams: ["secret_id"],
4307
4680
  queryParams: [],
4308
4681
  flags: [{
@@ -4318,6 +4691,7 @@ var routes = {
4318
4691
  operationId: "listSessions",
4319
4692
  description: "Returns sessions the caller can access, optionally filtered by agent, actor and status.",
4320
4693
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4694
+ httpMethod: "get",
4321
4695
  pathParams: [],
4322
4696
  queryParams: ["agent_id", "actor_id", "status", "limit", "offset"],
4323
4697
  flags: [{
@@ -4357,6 +4731,7 @@ var routes = {
4357
4731
  operationId: "createSession",
4358
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.",
4359
4733
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4734
+ httpMethod: "post",
4360
4735
  pathParams: [],
4361
4736
  queryParams: [],
4362
4737
  flags: [{
@@ -4408,6 +4783,7 @@ var routes = {
4408
4783
  operationId: "getSession",
4409
4784
  description: "Returns details of a single session.",
4410
4785
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4786
+ httpMethod: "get",
4411
4787
  pathParams: ["session_id"],
4412
4788
  queryParams: [],
4413
4789
  flags: [{
@@ -4423,6 +4799,7 @@ var routes = {
4423
4799
  operationId: "updateSession",
4424
4800
  description: "Updates the session name and/or status.",
4425
4801
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4802
+ httpMethod: "patch",
4426
4803
  pathParams: ["session_id"],
4427
4804
  queryParams: [],
4428
4805
  flags: [{
@@ -4474,6 +4851,7 @@ var routes = {
4474
4851
  operationId: "deleteSession",
4475
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.",
4476
4853
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4854
+ httpMethod: "delete",
4477
4855
  pathParams: ["session_id"],
4478
4856
  queryParams: [],
4479
4857
  flags: [{
@@ -4489,6 +4867,7 @@ var routes = {
4489
4867
  operationId: "addSessionMessage",
4490
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.",
4491
4869
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4870
+ httpMethod: "post",
4492
4871
  pathParams: ["session_id"],
4493
4872
  queryParams: [],
4494
4873
  flags: [{
@@ -4528,6 +4907,7 @@ var routes = {
4528
4907
  operationId: "generateSessionResponse",
4529
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.",
4530
4909
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4910
+ httpMethod: "post",
4531
4911
  pathParams: ["session_id"],
4532
4912
  queryParams: ["async"],
4533
4913
  flags: [{
@@ -4561,6 +4941,7 @@ var routes = {
4561
4941
  operationId: "submitSessionToolOutputs",
4562
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.",
4563
4943
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4944
+ httpMethod: "post",
4564
4945
  pathParams: ["session_id"],
4565
4946
  queryParams: [],
4566
4947
  flags: [{
@@ -4588,6 +4969,7 @@ var routes = {
4588
4969
  operationId: "getSessionTags",
4589
4970
  description: "Returns the session's tags object.",
4590
4971
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4972
+ httpMethod: "get",
4591
4973
  pathParams: ["session_id"],
4592
4974
  queryParams: [],
4593
4975
  flags: [{
@@ -4603,6 +4985,7 @@ var routes = {
4603
4985
  operationId: "replaceSessionTags",
4604
4986
  description: "Replaces all tags on the session.",
4605
4987
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
4988
+ httpMethod: "put",
4606
4989
  pathParams: ["session_id"],
4607
4990
  queryParams: [],
4608
4991
  flags: [{
@@ -4618,6 +5001,7 @@ var routes = {
4618
5001
  operationId: "mergeSessionTags",
4619
5002
  description: "Merges the provided tags into the session's existing tags.",
4620
5003
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
5004
+ httpMethod: "patch",
4621
5005
  pathParams: ["session_id"],
4622
5006
  queryParams: [],
4623
5007
  flags: [{
@@ -4633,6 +5017,7 @@ var routes = {
4633
5017
  operationId: "listTasks",
4634
5018
  description: "Lists tasks (the board query). Filter by workflow, state, status, or assignee — `GET /tasks?workflow_id=...&state=...` is one board column.",
4635
5019
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5020
+ httpMethod: "get",
4636
5021
  pathParams: [],
4637
5022
  queryParams: ["project_id", "workflow_id", "state", "status", "assignee"],
4638
5023
  flags: [{
@@ -4672,6 +5057,7 @@ var routes = {
4672
5057
  operationId: "createTask",
4673
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.",
4674
5059
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5060
+ httpMethod: "post",
4675
5061
  pathParams: [],
4676
5062
  queryParams: [],
4677
5063
  flags: [{
@@ -4711,6 +5097,7 @@ var routes = {
4711
5097
  operationId: "getTask",
4712
5098
  description: "Retrieves a task, including its active dispatch and automation status.",
4713
5099
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5100
+ httpMethod: "get",
4714
5101
  pathParams: ["task_id"],
4715
5102
  queryParams: [],
4716
5103
  flags: [{
@@ -4724,8 +5111,9 @@ var routes = {
4724
5111
  "update-task": {
4725
5112
  serviceClass: "Tasks",
4726
5113
  operationId: "updateTask",
4727
- description: "Updates a task's payload, title, or assignee. `state` is never directly writable — move it with a transition. `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`.",
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`.",
4728
5115
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5116
+ httpMethod: "patch",
4729
5117
  pathParams: ["task_id"],
4730
5118
  queryParams: [],
4731
5119
  flags: [{
@@ -4759,6 +5147,7 @@ var routes = {
4759
5147
  operationId: "deleteTask",
4760
5148
  description: "Deletes a task. Its transition history cascades.",
4761
5149
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5150
+ httpMethod: "delete",
4762
5151
  pathParams: ["task_id"],
4763
5152
  queryParams: [],
4764
5153
  flags: [{
@@ -4772,8 +5161,9 @@ var routes = {
4772
5161
  "transition-task": {
4773
5162
  serviceClass: "Tasks",
4774
5163
  operationId: "transitionTask",
4775
- 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.",
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.",
4776
5165
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5166
+ httpMethod: "post",
4777
5167
  pathParams: ["task_id"],
4778
5168
  queryParams: [],
4779
5169
  flags: [{
@@ -4801,6 +5191,7 @@ var routes = {
4801
5191
  operationId: "getTaskHistory",
4802
5192
  description: "Returns the append-only transition history of a task.",
4803
5193
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
5194
+ httpMethod: "get",
4804
5195
  pathParams: ["task_id"],
4805
5196
  queryParams: [],
4806
5197
  flags: [{
@@ -4816,6 +5207,7 @@ var routes = {
4816
5207
  operationId: "listTools",
4817
5208
  description: "Returns all tools in the project.",
4818
5209
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tools",
5210
+ httpMethod: "get",
4819
5211
  pathParams: [],
4820
5212
  queryParams: ["project_id"],
4821
5213
  flags: [{
@@ -4831,6 +5223,7 @@ var routes = {
4831
5223
  operationId: "createTool",
4832
5224
  description: "Creates a new tool in the project.",
4833
5225
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tools",
5226
+ httpMethod: "post",
4834
5227
  pathParams: [],
4835
5228
  queryParams: [],
4836
5229
  flags: [{
@@ -4911,6 +5304,12 @@ var routes = {
4911
5304
  "required": false,
4912
5305
  "type": "object",
4913
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"
4914
5313
  }]
4915
5314
  },
4916
5315
  "get-tool": {
@@ -4918,6 +5317,7 @@ var routes = {
4918
5317
  operationId: "getTool",
4919
5318
  description: "Returns a single tool by ID.",
4920
5319
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tools",
5320
+ httpMethod: "get",
4921
5321
  pathParams: ["tool_id"],
4922
5322
  queryParams: [],
4923
5323
  flags: [{
@@ -4933,6 +5333,7 @@ var routes = {
4933
5333
  operationId: "updateTool",
4934
5334
  description: "Updates an existing tool.",
4935
5335
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tools",
5336
+ httpMethod: "patch",
4936
5337
  pathParams: ["tool_id"],
4937
5338
  queryParams: [],
4938
5339
  flags: [{
@@ -5013,6 +5414,12 @@ var routes = {
5013
5414
  "required": false,
5014
5415
  "type": "object",
5015
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"
5016
5423
  }]
5017
5424
  },
5018
5425
  "delete-tool": {
@@ -5020,6 +5427,7 @@ var routes = {
5020
5427
  operationId: "deleteTool",
5021
5428
  description: "Deletes a tool by ID.",
5022
5429
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tools",
5430
+ httpMethod: "delete",
5023
5431
  pathParams: ["tool_id"],
5024
5432
  queryParams: [],
5025
5433
  flags: [{
@@ -5035,6 +5443,7 @@ var routes = {
5035
5443
  operationId: "callTool",
5036
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.",
5037
5445
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tools",
5446
+ httpMethod: "post",
5038
5447
  pathParams: ["tool_id"],
5039
5448
  queryParams: [],
5040
5449
  flags: [{
@@ -5062,6 +5471,7 @@ var routes = {
5062
5471
  operationId: "listTraces",
5063
5472
  description: "Returns a paginated list of execution traces for the project.",
5064
5473
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/traces",
5474
+ httpMethod: "get",
5065
5475
  pathParams: [],
5066
5476
  queryParams: ["project_id", "limit", "offset"],
5067
5477
  flags: [{
@@ -5089,6 +5499,7 @@ var routes = {
5089
5499
  operationId: "getTrace",
5090
5500
  description: "Returns a single trace by ID.",
5091
5501
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/traces",
5502
+ httpMethod: "get",
5092
5503
  pathParams: ["trace_id"],
5093
5504
  queryParams: [],
5094
5505
  flags: [{
@@ -5104,6 +5515,7 @@ var routes = {
5104
5515
  operationId: "getTraceTree",
5105
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.",
5106
5517
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/traces",
5518
+ httpMethod: "get",
5107
5519
  pathParams: ["trace_id"],
5108
5520
  queryParams: ["include"],
5109
5521
  flags: [{
@@ -5125,6 +5537,7 @@ var routes = {
5125
5537
  operationId: "listTriggers",
5126
5538
  description: "Lists triggers. Filter by project, starter type, or target type.",
5127
5539
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5540
+ httpMethod: "get",
5128
5541
  pathParams: [],
5129
5542
  queryParams: ["project_id", "type", "target_type"],
5130
5543
  flags: [{
@@ -5152,6 +5565,7 @@ var routes = {
5152
5565
  operationId: "createTrigger",
5153
5566
  description: "Creates a new trigger for a project",
5154
5567
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5568
+ httpMethod: "post",
5155
5569
  pathParams: [],
5156
5570
  queryParams: [],
5157
5571
  flags: [{
@@ -5227,6 +5641,7 @@ var routes = {
5227
5641
  operationId: "getTrigger",
5228
5642
  description: "Retrieves the details of a specific trigger",
5229
5643
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5644
+ httpMethod: "get",
5230
5645
  pathParams: ["trigger_id"],
5231
5646
  queryParams: [],
5232
5647
  flags: [{
@@ -5242,6 +5657,7 @@ var routes = {
5242
5657
  operationId: "updateTrigger",
5243
5658
  description: "Updates an existing trigger's configuration. The type is immutable.",
5244
5659
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5660
+ httpMethod: "patch",
5245
5661
  pathParams: ["trigger_id"],
5246
5662
  queryParams: [],
5247
5663
  flags: [{
@@ -5311,6 +5727,7 @@ var routes = {
5311
5727
  operationId: "deleteTrigger",
5312
5728
  description: "Deletes a trigger",
5313
5729
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5730
+ httpMethod: "delete",
5314
5731
  pathParams: ["trigger_id"],
5315
5732
  queryParams: [],
5316
5733
  flags: [{
@@ -5326,6 +5743,7 @@ var routes = {
5326
5743
  operationId: "fireTrigger",
5327
5744
  description: "Fires a trigger synchronously and returns the terminal firing record.",
5328
5745
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5746
+ httpMethod: "post",
5329
5747
  pathParams: ["trigger_id"],
5330
5748
  queryParams: [],
5331
5749
  flags: [{
@@ -5347,6 +5765,7 @@ var routes = {
5347
5765
  operationId: "getTriggerSecret",
5348
5766
  description: "Retrieves the signing secret for a webhook trigger",
5349
5767
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5768
+ httpMethod: "get",
5350
5769
  pathParams: ["trigger_id"],
5351
5770
  queryParams: [],
5352
5771
  flags: [{
@@ -5362,6 +5781,7 @@ var routes = {
5362
5781
  operationId: "rotateTriggerSecret",
5363
5782
  description: "Rotates the signing secret for a webhook trigger",
5364
5783
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5784
+ httpMethod: "post",
5365
5785
  pathParams: ["trigger_id"],
5366
5786
  queryParams: [],
5367
5787
  flags: [{
@@ -5377,6 +5797,7 @@ var routes = {
5377
5797
  operationId: "listTriggerFirings",
5378
5798
  description: "Lists firings for a trigger (trigger_id is required).",
5379
5799
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5800
+ httpMethod: "get",
5380
5801
  pathParams: [],
5381
5802
  queryParams: ["trigger_id", "limit", "offset"],
5382
5803
  flags: [{
@@ -5404,6 +5825,7 @@ var routes = {
5404
5825
  operationId: "getTriggerFiring",
5405
5826
  description: "Retrieves the details of a specific trigger firing",
5406
5827
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/triggers",
5828
+ httpMethod: "get",
5407
5829
  pathParams: ["firing_id"],
5408
5830
  queryParams: [],
5409
5831
  flags: [{
@@ -5419,6 +5841,7 @@ var routes = {
5419
5841
  operationId: "listUsageMeters",
5420
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.",
5421
5843
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
5844
+ httpMethod: "get",
5422
5845
  pathParams: [],
5423
5846
  queryParams: ["agent_id", "generation_id", "trace_id", "trigger_id", "action_id", "meter_type", "limit", "offset"],
5424
5847
  flags: [{
@@ -5476,6 +5899,7 @@ var routes = {
5476
5899
  operationId: "getUsage",
5477
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.",
5478
5901
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
5902
+ httpMethod: "get",
5479
5903
  pathParams: [],
5480
5904
  queryParams: ["project_id", "group_by", "from", "to"],
5481
5905
  flags: [{
@@ -5509,6 +5933,7 @@ var routes = {
5509
5933
  operationId: "listUsageThresholds",
5510
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.",
5511
5935
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
5936
+ httpMethod: "get",
5512
5937
  pathParams: [],
5513
5938
  queryParams: ["project_id"],
5514
5939
  flags: [{
@@ -5524,6 +5949,7 @@ var routes = {
5524
5949
  operationId: "createUsageThreshold",
5525
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).",
5526
5951
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
5952
+ httpMethod: "post",
5527
5953
  pathParams: [],
5528
5954
  queryParams: [],
5529
5955
  flags: [{
@@ -5557,6 +5983,7 @@ var routes = {
5557
5983
  operationId: "deleteUsageThreshold",
5558
5984
  description: "Deletes a usage threshold, resetting its fire state. Recreating a threshold starts its once-per-window / hysteresis state fresh.",
5559
5985
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
5986
+ httpMethod: "delete",
5560
5987
  pathParams: ["threshold_id"],
5561
5988
  queryParams: [],
5562
5989
  flags: [{
@@ -5572,6 +5999,7 @@ var routes = {
5572
5999
  operationId: "getUsageReceipt",
5573
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.",
5574
6001
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
6002
+ httpMethod: "get",
5575
6003
  pathParams: [],
5576
6004
  queryParams: ["generation_id", "run_id"],
5577
6005
  flags: [{
@@ -5593,6 +6021,7 @@ var routes = {
5593
6021
  operationId: "getPriceBook",
5594
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.",
5595
6023
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
6024
+ httpMethod: "get",
5596
6025
  pathParams: [],
5597
6026
  queryParams: [],
5598
6027
  flags: []
@@ -5602,6 +6031,7 @@ var routes = {
5602
6031
  operationId: "upsertPriceBook",
5603
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.",
5604
6033
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
6034
+ httpMethod: "put",
5605
6035
  pathParams: [],
5606
6036
  queryParams: [],
5607
6037
  flags: [{
@@ -5617,6 +6047,7 @@ var routes = {
5617
6047
  operationId: "getCurrentUser",
5618
6048
  description: "Returns the profile of the currently authenticated user",
5619
6049
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6050
+ httpMethod: "get",
5620
6051
  pathParams: [],
5621
6052
  queryParams: [],
5622
6053
  flags: []
@@ -5626,6 +6057,7 @@ var routes = {
5626
6057
  operationId: "listUsers",
5627
6058
  description: "Returns a list of all users",
5628
6059
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6060
+ httpMethod: "get",
5629
6061
  pathParams: [],
5630
6062
  queryParams: [],
5631
6063
  flags: []
@@ -5635,6 +6067,7 @@ var routes = {
5635
6067
  operationId: "createUser",
5636
6068
  description: "Creates a new user in the system",
5637
6069
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6070
+ httpMethod: "post",
5638
6071
  pathParams: [],
5639
6072
  queryParams: [],
5640
6073
  flags: [{
@@ -5662,6 +6095,7 @@ var routes = {
5662
6095
  operationId: "getUser",
5663
6096
  description: "Returns the data of a specific user",
5664
6097
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6098
+ httpMethod: "get",
5665
6099
  pathParams: ["user_id"],
5666
6100
  queryParams: [],
5667
6101
  flags: [{
@@ -5677,6 +6111,7 @@ var routes = {
5677
6111
  operationId: "deleteUser",
5678
6112
  description: "Deletes a specific user",
5679
6113
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6114
+ httpMethod: "delete",
5680
6115
  pathParams: ["user_id"],
5681
6116
  queryParams: [],
5682
6117
  flags: [{
@@ -5692,6 +6127,7 @@ var routes = {
5692
6127
  operationId: "bootstrapUser",
5693
6128
  description: "Creates the first admin user. Returns 409 if any user already exists.",
5694
6129
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6130
+ httpMethod: "post",
5695
6131
  pathParams: [],
5696
6132
  queryParams: [],
5697
6133
  flags: [{
@@ -5713,6 +6149,7 @@ var routes = {
5713
6149
  operationId: "loginUser",
5714
6150
  description: "Authenticates a user and returns a JWT token",
5715
6151
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6152
+ httpMethod: "post",
5716
6153
  pathParams: [],
5717
6154
  queryParams: [],
5718
6155
  flags: [{
@@ -5734,6 +6171,7 @@ var routes = {
5734
6171
  operationId: "attachUserPolicies",
5735
6172
  description: "Replaces the user's policy list with the provided policy IDs. Requires admin role.",
5736
6173
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
6174
+ httpMethod: "put",
5737
6175
  pathParams: ["user_id"],
5738
6176
  queryParams: [],
5739
6177
  flags: [{
@@ -5755,6 +6193,7 @@ var routes = {
5755
6193
  operationId: "listWebhooks",
5756
6194
  description: "Lists webhooks. Use the project_id query parameter to filter by project.",
5757
6195
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6196
+ httpMethod: "get",
5758
6197
  pathParams: [],
5759
6198
  queryParams: ["project_id"],
5760
6199
  flags: [{
@@ -5770,6 +6209,7 @@ var routes = {
5770
6209
  operationId: "createWebhook",
5771
6210
  description: "Creates a new webhook for a project",
5772
6211
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6212
+ httpMethod: "post",
5773
6213
  pathParams: [],
5774
6214
  queryParams: [],
5775
6215
  flags: [{
@@ -5815,6 +6255,7 @@ var routes = {
5815
6255
  operationId: "getWebhook",
5816
6256
  description: "Retrieves the details of a specific webhook",
5817
6257
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6258
+ httpMethod: "get",
5818
6259
  pathParams: ["webhook_id"],
5819
6260
  queryParams: [],
5820
6261
  flags: [{
@@ -5830,6 +6271,7 @@ var routes = {
5830
6271
  operationId: "updateWebhook",
5831
6272
  description: "Updates an existing webhook's configuration",
5832
6273
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6274
+ httpMethod: "put",
5833
6275
  pathParams: ["webhook_id"],
5834
6276
  queryParams: [],
5835
6277
  flags: [{
@@ -5881,6 +6323,7 @@ var routes = {
5881
6323
  operationId: "deleteWebhook",
5882
6324
  description: "Deletes a webhook and stops all event deliveries",
5883
6325
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6326
+ httpMethod: "delete",
5884
6327
  pathParams: ["webhook_id"],
5885
6328
  queryParams: [],
5886
6329
  flags: [{
@@ -5896,6 +6339,7 @@ var routes = {
5896
6339
  operationId: "listWebhookDeliveries",
5897
6340
  description: "Lists event deliveries for a webhook (webhook_id is required).",
5898
6341
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6342
+ httpMethod: "get",
5899
6343
  pathParams: [],
5900
6344
  queryParams: ["webhook_id", "limit", "offset"],
5901
6345
  flags: [{
@@ -5923,6 +6367,7 @@ var routes = {
5923
6367
  operationId: "getWebhookDelivery",
5924
6368
  description: "Retrieves the details of a specific webhook delivery",
5925
6369
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6370
+ httpMethod: "get",
5926
6371
  pathParams: ["delivery_id"],
5927
6372
  queryParams: [],
5928
6373
  flags: [{
@@ -5938,6 +6383,7 @@ var routes = {
5938
6383
  operationId: "getWebhookSecret",
5939
6384
  description: "Retrieves the signing secret for the specified webhook",
5940
6385
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6386
+ httpMethod: "get",
5941
6387
  pathParams: ["webhook_id"],
5942
6388
  queryParams: [],
5943
6389
  flags: [{
@@ -5953,6 +6399,7 @@ var routes = {
5953
6399
  operationId: "rotateWebhookSecret",
5954
6400
  description: "Rotates the secret key for the specified webhook",
5955
6401
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
6402
+ httpMethod: "post",
5956
6403
  pathParams: ["webhook_id"],
5957
6404
  queryParams: [],
5958
6405
  flags: [{
@@ -5968,6 +6415,7 @@ var routes = {
5968
6415
  operationId: "listWorkflows",
5969
6416
  description: "Lists workflow definitions in a project.",
5970
6417
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/workflows",
6418
+ httpMethod: "get",
5971
6419
  pathParams: [],
5972
6420
  queryParams: ["project_id"],
5973
6421
  flags: [{
@@ -5983,6 +6431,7 @@ var routes = {
5983
6431
  operationId: "createWorkflow",
5984
6432
  description: "Creates a new workflow definition. The definition is statically validated.",
5985
6433
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/workflows",
6434
+ httpMethod: "post",
5986
6435
  pathParams: [],
5987
6436
  queryParams: [],
5988
6437
  flags: [{
@@ -6028,6 +6477,7 @@ var routes = {
6028
6477
  operationId: "getWorkflow",
6029
6478
  description: "Retrieves a workflow definition.",
6030
6479
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/workflows",
6480
+ httpMethod: "get",
6031
6481
  pathParams: ["workflow_id"],
6032
6482
  queryParams: [],
6033
6483
  flags: [{
@@ -6043,6 +6493,7 @@ var routes = {
6043
6493
  operationId: "updateWorkflow",
6044
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.",
6045
6495
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/workflows",
6496
+ httpMethod: "patch",
6046
6497
  pathParams: ["workflow_id"],
6047
6498
  queryParams: [],
6048
6499
  flags: [{
@@ -6088,6 +6539,7 @@ var routes = {
6088
6539
  operationId: "deleteWorkflow",
6089
6540
  description: "Deletes a workflow. Rejected while open tasks exist.",
6090
6541
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/workflows",
6542
+ httpMethod: "delete",
6091
6543
  pathParams: ["workflow_id"],
6092
6544
  queryParams: [],
6093
6545
  flags: [{
@@ -6115,6 +6567,16 @@ var toCanonical = s => {
6115
6567
  var kebabToSnake = s => {
6116
6568
  return s.replace(/-/g, "_");
6117
6569
  };
6570
+ /**
6571
+ * Convert snake_case or camelCase to kebab-case for flag *display* in --help
6572
+ * (e.g. project_id → project-id). Kebab-case is the documented canonical CLI
6573
+ * flag convention (see the generated docs pages and tutorials); the parser is
6574
+ * lenient and accepts snake/kebab/camel alike via `toCanonical`, so this only
6575
+ * affects how flags are printed (#610).
6576
+ */
6577
+ var toKebab = s => {
6578
+ return s.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/_/g, "-").toLowerCase();
6579
+ };
6118
6580
  var parseFlagValue = value => {
6119
6581
  const trimmed = value.trim();
6120
6582
  if (trimmed.startsWith("{") || trimmed.startsWith("[") || trimmed === "true" || trimmed === "false" || trimmed === "null" || /^-?\d+(\.\d+)?$/.test(trimmed)) try {
@@ -6305,7 +6767,7 @@ program.argument("[command]", "API command in kebab-case (e.g. list-actors)").ar
6305
6767
  for (const f of allFlags) {
6306
6768
  const req = f.required ? " [required]" : "";
6307
6769
  const desc = f.description ? ` ${f.description}` : "";
6308
- console.log(` --${f.name} <${f.type}>${req}${desc}`);
6770
+ console.log(` --${toKebab(f.name)} <${f.type}>${req}${desc}`);
6309
6771
  }
6310
6772
  }
6311
6773
  process.exit(0);
@@ -6335,7 +6797,7 @@ program.argument("[command]", "API command in kebab-case (e.g. list-actors)").ar
6335
6797
  const queryParam = route.queryParams.find(p => {
6336
6798
  return toCanonical(p) === canonical;
6337
6799
  });
6338
- 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;
6339
6801
  }
6340
6802
  const positionalArgs = extractPositionalArgs({
6341
6803
  cliArgs: rawArgs