@soat/cli 0.5.5 → 0.5.7
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.
- package/dist/esm/index.js +2294 -316
- package/package.json +3 -3
package/dist/esm/index.js
CHANGED
|
@@ -16,12 +16,12 @@ import { program } from "commander";
|
|
|
16
16
|
// package.json
|
|
17
17
|
var package_default = {
|
|
18
18
|
name: "@soat/cli",
|
|
19
|
-
version: "0.5.
|
|
19
|
+
version: "0.5.7",
|
|
20
20
|
type: "module",
|
|
21
21
|
scripts: {
|
|
22
22
|
generate: "tsx scripts/generate.ts",
|
|
23
23
|
lint: "eslint src tests",
|
|
24
|
-
test: "
|
|
24
|
+
test: "jest --config tests/unit/jest.config.ts --coverage=false",
|
|
25
25
|
typecheck: "tsc --noEmit && tsc --noEmit -p tests/tsconfig.json",
|
|
26
26
|
build: "pnpm generate && tsup"
|
|
27
27
|
},
|
|
@@ -57,10 +57,10 @@ var package_default = {
|
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
59
|
|
|
60
|
-
// src/cli-wrappers/wrappers/
|
|
60
|
+
// src/cli-wrappers/wrappers/formations.ts
|
|
61
61
|
import * as fs from "fs";
|
|
62
62
|
import yaml from "js-yaml";
|
|
63
|
-
var FORMATION_COMMANDS = ["validate-
|
|
63
|
+
var FORMATION_COMMANDS = ["validate-formation", "plan-formation", "create-formation", "update-formation"];
|
|
64
64
|
var TEMPLATE_PATH_FLAG = "template-path";
|
|
65
65
|
var TEMPLATE_FILE_FLAG = "template-file";
|
|
66
66
|
var ENV_FILE_FLAG = "env-file";
|
|
@@ -139,9 +139,25 @@ var resolveEnvRef = /* @__PURE__ */__name(args => {
|
|
|
139
139
|
}
|
|
140
140
|
return value;
|
|
141
141
|
}, "resolveEnvRef");
|
|
142
|
-
var
|
|
143
|
-
id: "
|
|
142
|
+
var formationsWrapper = {
|
|
143
|
+
id: "formations-wrapper",
|
|
144
144
|
commands: FORMATION_COMMANDS,
|
|
145
|
+
helpFlags: [{
|
|
146
|
+
name: "template-path",
|
|
147
|
+
description: "Path to template file (JSON or YAML). Alias: --template-file",
|
|
148
|
+
required: false,
|
|
149
|
+
type: "string"
|
|
150
|
+
}, {
|
|
151
|
+
name: "parameter",
|
|
152
|
+
description: "Template parameter in key=value format (repeatable). Values may reference env vars ($VAR)",
|
|
153
|
+
required: false,
|
|
154
|
+
type: "string"
|
|
155
|
+
}, {
|
|
156
|
+
name: "env-file",
|
|
157
|
+
description: "Path to .env file for parameter variable substitution",
|
|
158
|
+
required: false,
|
|
159
|
+
type: "string"
|
|
160
|
+
}],
|
|
145
161
|
// eslint-disable-next-line complexity
|
|
146
162
|
apply: /* @__PURE__ */__name(({
|
|
147
163
|
context
|
|
@@ -255,7 +271,7 @@ var parseUnknownWithRepeats = /* @__PURE__ */__name(args => {
|
|
|
255
271
|
}, "parseUnknownWithRepeats");
|
|
256
272
|
|
|
257
273
|
// src/cli-wrappers/index.ts
|
|
258
|
-
var WRAPPERS = [
|
|
274
|
+
var WRAPPERS = [formationsWrapper];
|
|
259
275
|
var resolveWrapperForCommand = /* @__PURE__ */__name(args => {
|
|
260
276
|
const {
|
|
261
277
|
commandName
|
|
@@ -287,6 +303,12 @@ var applyWrapperForCommand = /* @__PURE__ */__name(args => {
|
|
|
287
303
|
}
|
|
288
304
|
});
|
|
289
305
|
}, "applyWrapperForCommand");
|
|
306
|
+
var getWrapperHelpFlags = /* @__PURE__ */__name(commandName => {
|
|
307
|
+
const wrapper = WRAPPERS.find(w => {
|
|
308
|
+
return w.commands.includes(commandName);
|
|
309
|
+
});
|
|
310
|
+
return wrapper?.helpFlags ?? [];
|
|
311
|
+
}, "getWrapperHelpFlags");
|
|
290
312
|
|
|
291
313
|
// src/config.ts
|
|
292
314
|
import * as fs2 from "fs";
|
|
@@ -345,940 +367,2870 @@ var routes = {
|
|
|
345
367
|
"list-actors": {
|
|
346
368
|
serviceClass: "Actors",
|
|
347
369
|
operationId: "listActors",
|
|
348
|
-
description: "
|
|
370
|
+
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.",
|
|
371
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/actors",
|
|
349
372
|
pathParams: [],
|
|
350
|
-
queryParams: ["project_id", "external_id", "limit", "offset"]
|
|
373
|
+
queryParams: ["project_id", "external_id", "limit", "offset"],
|
|
374
|
+
flags: [{
|
|
375
|
+
"name": "project_id",
|
|
376
|
+
"description": "Project ID (optional)",
|
|
377
|
+
"required": false,
|
|
378
|
+
"type": "string",
|
|
379
|
+
"in": "query"
|
|
380
|
+
}, {
|
|
381
|
+
"name": "external_id",
|
|
382
|
+
"description": "External ID to filter by (e.g. WhatsApp phone number)",
|
|
383
|
+
"required": false,
|
|
384
|
+
"type": "string",
|
|
385
|
+
"in": "query"
|
|
386
|
+
}, {
|
|
387
|
+
"name": "limit",
|
|
388
|
+
"description": "Maximum number of results to return",
|
|
389
|
+
"required": false,
|
|
390
|
+
"type": "integer",
|
|
391
|
+
"in": "query"
|
|
392
|
+
}, {
|
|
393
|
+
"name": "offset",
|
|
394
|
+
"description": "Number of results to skip",
|
|
395
|
+
"required": false,
|
|
396
|
+
"type": "integer",
|
|
397
|
+
"in": "query"
|
|
398
|
+
}]
|
|
351
399
|
},
|
|
352
400
|
"create-actor": {
|
|
353
401
|
serviceClass: "Actors",
|
|
354
402
|
operationId: "createActor",
|
|
355
|
-
description: "
|
|
403
|
+
description: "Creates a new actor. project keys automatically infer the project from the key's scope; JWT callers must supply projectId.",
|
|
404
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/actors",
|
|
356
405
|
pathParams: [],
|
|
357
|
-
queryParams: []
|
|
406
|
+
queryParams: [],
|
|
407
|
+
flags: [{
|
|
408
|
+
"name": "project_id",
|
|
409
|
+
"description": "Project ID. Required for JWT auth; omit when using an project key.",
|
|
410
|
+
"required": false,
|
|
411
|
+
"type": "string",
|
|
412
|
+
"in": "body"
|
|
413
|
+
}, {
|
|
414
|
+
"name": "name",
|
|
415
|
+
"description": "",
|
|
416
|
+
"required": true,
|
|
417
|
+
"type": "string",
|
|
418
|
+
"in": "body"
|
|
419
|
+
}, {
|
|
420
|
+
"name": "external_id",
|
|
421
|
+
"description": "Optional external identifier (e.g. WhatsApp phone number). If provided and an actor with this externalId already exists in the project, the existing actor is returned (idempotent \u2014 200 OK).",
|
|
422
|
+
"required": false,
|
|
423
|
+
"type": "string",
|
|
424
|
+
"in": "body"
|
|
425
|
+
}, {
|
|
426
|
+
"name": "memory_id",
|
|
427
|
+
"description": "Memory ID to link to this actor. Mutually exclusive with auto_create_memory.",
|
|
428
|
+
"required": false,
|
|
429
|
+
"type": "string",
|
|
430
|
+
"in": "body"
|
|
431
|
+
}, {
|
|
432
|
+
"name": "auto_create_memory",
|
|
433
|
+
"description": "When true, automatically creates a new memory container for this actor and links it. Ignored if memory_id is set. With external_id (idempotent), memory is only created on first creation.",
|
|
434
|
+
"required": false,
|
|
435
|
+
"type": "boolean",
|
|
436
|
+
"in": "body"
|
|
437
|
+
}]
|
|
358
438
|
},
|
|
359
439
|
"get-actor": {
|
|
360
440
|
serviceClass: "Actors",
|
|
361
441
|
operationId: "getActor",
|
|
362
|
-
description: "
|
|
442
|
+
description: "Returns an actor by its ID",
|
|
443
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/actors",
|
|
363
444
|
pathParams: ["actor_id"],
|
|
364
|
-
queryParams: []
|
|
445
|
+
queryParams: [],
|
|
446
|
+
flags: [{
|
|
447
|
+
"name": "actor_id",
|
|
448
|
+
"description": "Actor ID",
|
|
449
|
+
"required": true,
|
|
450
|
+
"type": "string",
|
|
451
|
+
"in": "path"
|
|
452
|
+
}]
|
|
365
453
|
},
|
|
366
454
|
"update-actor": {
|
|
367
455
|
serviceClass: "Actors",
|
|
368
456
|
operationId: "updateActor",
|
|
369
|
-
description: "
|
|
457
|
+
description: "Updates an actor's properties",
|
|
458
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/actors",
|
|
370
459
|
pathParams: ["actor_id"],
|
|
371
|
-
queryParams: []
|
|
460
|
+
queryParams: [],
|
|
461
|
+
flags: [{
|
|
462
|
+
"name": "actor_id",
|
|
463
|
+
"description": "Actor ID",
|
|
464
|
+
"required": true,
|
|
465
|
+
"type": "string",
|
|
466
|
+
"in": "path"
|
|
467
|
+
}, {
|
|
468
|
+
"name": "name",
|
|
469
|
+
"description": "",
|
|
470
|
+
"required": false,
|
|
471
|
+
"type": "string",
|
|
472
|
+
"in": "body"
|
|
473
|
+
}, {
|
|
474
|
+
"name": "instructions",
|
|
475
|
+
"description": "Persona-specific instructions",
|
|
476
|
+
"required": false,
|
|
477
|
+
"type": "string",
|
|
478
|
+
"in": "body"
|
|
479
|
+
}, {
|
|
480
|
+
"name": "memory_id",
|
|
481
|
+
"description": "Memory ID to link to this actor. Set to null to unlink.",
|
|
482
|
+
"required": false,
|
|
483
|
+
"type": "string",
|
|
484
|
+
"in": "body"
|
|
485
|
+
}, {
|
|
486
|
+
"name": "tags",
|
|
487
|
+
"description": "",
|
|
488
|
+
"required": false,
|
|
489
|
+
"type": "object",
|
|
490
|
+
"in": "body"
|
|
491
|
+
}]
|
|
372
492
|
},
|
|
373
493
|
"delete-actor": {
|
|
374
494
|
serviceClass: "Actors",
|
|
375
495
|
operationId: "deleteActor",
|
|
376
|
-
description: "
|
|
496
|
+
description: "Deletes an actor by its ID",
|
|
497
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/actors",
|
|
377
498
|
pathParams: ["actor_id"],
|
|
378
|
-
queryParams: []
|
|
499
|
+
queryParams: [],
|
|
500
|
+
flags: [{
|
|
501
|
+
"name": "actor_id",
|
|
502
|
+
"description": "Actor ID",
|
|
503
|
+
"required": true,
|
|
504
|
+
"type": "string",
|
|
505
|
+
"in": "path"
|
|
506
|
+
}]
|
|
379
507
|
},
|
|
380
508
|
"get-actor-tags": {
|
|
381
509
|
serviceClass: "Actors",
|
|
382
510
|
operationId: "getActorTags",
|
|
383
|
-
description: "
|
|
511
|
+
description: "Returns all tags attached to the actor",
|
|
512
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/actors",
|
|
384
513
|
pathParams: ["actor_id"],
|
|
385
|
-
queryParams: []
|
|
514
|
+
queryParams: [],
|
|
515
|
+
flags: [{
|
|
516
|
+
"name": "actor_id",
|
|
517
|
+
"description": "Actor ID",
|
|
518
|
+
"required": true,
|
|
519
|
+
"type": "string",
|
|
520
|
+
"in": "path"
|
|
521
|
+
}]
|
|
386
522
|
},
|
|
387
523
|
"replace-actor-tags": {
|
|
388
524
|
serviceClass: "Actors",
|
|
389
525
|
operationId: "replaceActorTags",
|
|
390
|
-
description: "
|
|
526
|
+
description: "Replaces all tags on the actor with the provided tags (not merged)",
|
|
527
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/actors",
|
|
391
528
|
pathParams: ["actor_id"],
|
|
392
|
-
queryParams: []
|
|
529
|
+
queryParams: [],
|
|
530
|
+
flags: [{
|
|
531
|
+
"name": "actor_id",
|
|
532
|
+
"description": "Actor ID",
|
|
533
|
+
"required": true,
|
|
534
|
+
"type": "string",
|
|
535
|
+
"in": "path"
|
|
536
|
+
}]
|
|
393
537
|
},
|
|
394
538
|
"merge-actor-tags": {
|
|
395
539
|
serviceClass: "Actors",
|
|
396
540
|
operationId: "mergeActorTags",
|
|
397
|
-
description: "
|
|
541
|
+
description: "Merges provided tags with existing tags (existing tags are preserved unless overridden)",
|
|
542
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/actors",
|
|
398
543
|
pathParams: ["actor_id"],
|
|
399
|
-
queryParams: []
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
},
|
|
408
|
-
"plan-agent-formation": {
|
|
409
|
-
serviceClass: "AgentFormations",
|
|
410
|
-
operationId: "planAgentFormation",
|
|
411
|
-
description: "Plan a formation deployment",
|
|
412
|
-
pathParams: [],
|
|
413
|
-
queryParams: []
|
|
414
|
-
},
|
|
415
|
-
"list-agent-formations": {
|
|
416
|
-
serviceClass: "AgentFormations",
|
|
417
|
-
operationId: "listAgentFormations",
|
|
418
|
-
description: "List agent formations",
|
|
419
|
-
pathParams: [],
|
|
420
|
-
queryParams: ["project_id"]
|
|
421
|
-
},
|
|
422
|
-
"create-agent-formation": {
|
|
423
|
-
serviceClass: "AgentFormations",
|
|
424
|
-
operationId: "createAgentFormation",
|
|
425
|
-
description: "Create a new agent formation",
|
|
426
|
-
pathParams: [],
|
|
427
|
-
queryParams: []
|
|
428
|
-
},
|
|
429
|
-
"get-agent-formation": {
|
|
430
|
-
serviceClass: "AgentFormations",
|
|
431
|
-
operationId: "getAgentFormation",
|
|
432
|
-
description: "Get a specific agent formation",
|
|
433
|
-
pathParams: ["formation_id"],
|
|
434
|
-
queryParams: []
|
|
435
|
-
},
|
|
436
|
-
"update-agent-formation": {
|
|
437
|
-
serviceClass: "AgentFormations",
|
|
438
|
-
operationId: "updateAgentFormation",
|
|
439
|
-
description: "Update an agent formation",
|
|
440
|
-
pathParams: ["formation_id"],
|
|
441
|
-
queryParams: []
|
|
442
|
-
},
|
|
443
|
-
"delete-agent-formation": {
|
|
444
|
-
serviceClass: "AgentFormations",
|
|
445
|
-
operationId: "deleteAgentFormation",
|
|
446
|
-
description: "Delete an agent formation",
|
|
447
|
-
pathParams: ["formation_id"],
|
|
448
|
-
queryParams: []
|
|
449
|
-
},
|
|
450
|
-
"list-agent-formation-events": {
|
|
451
|
-
serviceClass: "AgentFormations",
|
|
452
|
-
operationId: "listAgentFormationEvents",
|
|
453
|
-
description: "List formation operation events",
|
|
454
|
-
pathParams: ["formation_id"],
|
|
455
|
-
queryParams: []
|
|
544
|
+
queryParams: [],
|
|
545
|
+
flags: [{
|
|
546
|
+
"name": "actor_id",
|
|
547
|
+
"description": "Actor ID",
|
|
548
|
+
"required": true,
|
|
549
|
+
"type": "string",
|
|
550
|
+
"in": "path"
|
|
551
|
+
}]
|
|
456
552
|
},
|
|
457
553
|
"list-agent-tools": {
|
|
458
554
|
serviceClass: "AgentTools",
|
|
459
555
|
operationId: "listAgentTools",
|
|
460
|
-
description: "
|
|
556
|
+
description: "Returns all agent tools in the project.",
|
|
557
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
461
558
|
pathParams: [],
|
|
462
|
-
queryParams: ["project_id"]
|
|
559
|
+
queryParams: ["project_id"],
|
|
560
|
+
flags: [{
|
|
561
|
+
"name": "project_id",
|
|
562
|
+
"description": "Project public ID to filter by",
|
|
563
|
+
"required": false,
|
|
564
|
+
"type": "string",
|
|
565
|
+
"in": "query"
|
|
566
|
+
}]
|
|
463
567
|
},
|
|
464
568
|
"create-agent-tool": {
|
|
465
569
|
serviceClass: "AgentTools",
|
|
466
570
|
operationId: "createAgentTool",
|
|
467
|
-
description: "
|
|
571
|
+
description: "Creates a new agent tool in the project.",
|
|
572
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
468
573
|
pathParams: [],
|
|
469
|
-
queryParams: []
|
|
574
|
+
queryParams: [],
|
|
575
|
+
flags: []
|
|
470
576
|
},
|
|
471
577
|
"get-agent-tool": {
|
|
472
578
|
serviceClass: "AgentTools",
|
|
473
579
|
operationId: "getAgentTool",
|
|
474
|
-
description: "
|
|
580
|
+
description: "Returns a single agent tool by ID.",
|
|
581
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
475
582
|
pathParams: ["tool_id"],
|
|
476
|
-
queryParams: []
|
|
583
|
+
queryParams: [],
|
|
584
|
+
flags: [{
|
|
585
|
+
"name": "tool_id",
|
|
586
|
+
"description": "",
|
|
587
|
+
"required": true,
|
|
588
|
+
"type": "string",
|
|
589
|
+
"in": "path"
|
|
590
|
+
}]
|
|
477
591
|
},
|
|
478
592
|
"update-agent-tool": {
|
|
479
593
|
serviceClass: "AgentTools",
|
|
480
594
|
operationId: "updateAgentTool",
|
|
481
|
-
description: "
|
|
595
|
+
description: "Updates an existing agent tool.",
|
|
596
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
482
597
|
pathParams: ["tool_id"],
|
|
483
|
-
queryParams: []
|
|
598
|
+
queryParams: [],
|
|
599
|
+
flags: [{
|
|
600
|
+
"name": "tool_id",
|
|
601
|
+
"description": "",
|
|
602
|
+
"required": true,
|
|
603
|
+
"type": "string",
|
|
604
|
+
"in": "path"
|
|
605
|
+
}]
|
|
484
606
|
},
|
|
485
607
|
"delete-agent-tool": {
|
|
486
608
|
serviceClass: "AgentTools",
|
|
487
609
|
operationId: "deleteAgentTool",
|
|
488
|
-
description: "
|
|
610
|
+
description: "Deletes an agent tool by ID.",
|
|
611
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
489
612
|
pathParams: ["tool_id"],
|
|
490
|
-
queryParams: []
|
|
613
|
+
queryParams: [],
|
|
614
|
+
flags: [{
|
|
615
|
+
"name": "tool_id",
|
|
616
|
+
"description": "",
|
|
617
|
+
"required": true,
|
|
618
|
+
"type": "string",
|
|
619
|
+
"in": "path"
|
|
620
|
+
}]
|
|
491
621
|
},
|
|
492
622
|
"list-agents": {
|
|
493
623
|
serviceClass: "Agents",
|
|
494
624
|
operationId: "listAgents",
|
|
495
|
-
description: "
|
|
625
|
+
description: "Returns all agents in the project.",
|
|
626
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
496
627
|
pathParams: [],
|
|
497
|
-
queryParams: ["project_id"]
|
|
628
|
+
queryParams: ["project_id"],
|
|
629
|
+
flags: [{
|
|
630
|
+
"name": "project_id",
|
|
631
|
+
"description": "Project public ID to filter by",
|
|
632
|
+
"required": false,
|
|
633
|
+
"type": "string",
|
|
634
|
+
"in": "query"
|
|
635
|
+
}]
|
|
498
636
|
},
|
|
499
637
|
"create-agent": {
|
|
500
638
|
serviceClass: "Agents",
|
|
501
639
|
operationId: "createAgent",
|
|
502
|
-
description: "
|
|
640
|
+
description: "Creates a new agent bound to an AI provider.",
|
|
641
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
503
642
|
pathParams: [],
|
|
504
|
-
queryParams: []
|
|
643
|
+
queryParams: [],
|
|
644
|
+
flags: []
|
|
505
645
|
},
|
|
506
646
|
"get-agent": {
|
|
507
647
|
serviceClass: "Agents",
|
|
508
648
|
operationId: "getAgent",
|
|
509
|
-
description: "
|
|
649
|
+
description: "Returns a single agent by ID.",
|
|
650
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
510
651
|
pathParams: ["agent_id"],
|
|
511
|
-
queryParams: []
|
|
652
|
+
queryParams: [],
|
|
653
|
+
flags: [{
|
|
654
|
+
"name": "agent_id",
|
|
655
|
+
"description": "",
|
|
656
|
+
"required": true,
|
|
657
|
+
"type": "string",
|
|
658
|
+
"in": "path"
|
|
659
|
+
}]
|
|
512
660
|
},
|
|
513
661
|
"update-agent": {
|
|
514
662
|
serviceClass: "Agents",
|
|
515
663
|
operationId: "updateAgent",
|
|
516
|
-
description: "
|
|
664
|
+
description: "Updates an existing agent.",
|
|
665
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
517
666
|
pathParams: ["agent_id"],
|
|
518
|
-
queryParams: []
|
|
667
|
+
queryParams: [],
|
|
668
|
+
flags: [{
|
|
669
|
+
"name": "agent_id",
|
|
670
|
+
"description": "",
|
|
671
|
+
"required": true,
|
|
672
|
+
"type": "string",
|
|
673
|
+
"in": "path"
|
|
674
|
+
}]
|
|
519
675
|
},
|
|
520
676
|
"delete-agent": {
|
|
521
677
|
serviceClass: "Agents",
|
|
522
678
|
operationId: "deleteAgent",
|
|
523
|
-
description: "
|
|
679
|
+
description: "Deletes an agent by ID.",
|
|
680
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
524
681
|
pathParams: ["agent_id"],
|
|
525
|
-
queryParams: []
|
|
682
|
+
queryParams: [],
|
|
683
|
+
flags: [{
|
|
684
|
+
"name": "agent_id",
|
|
685
|
+
"description": "",
|
|
686
|
+
"required": true,
|
|
687
|
+
"type": "string",
|
|
688
|
+
"in": "path"
|
|
689
|
+
}]
|
|
526
690
|
},
|
|
527
691
|
"create-agent-generation": {
|
|
528
692
|
serviceClass: "Agents",
|
|
529
693
|
operationId: "createAgentGeneration",
|
|
530
|
-
description: "
|
|
694
|
+
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`.",
|
|
695
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
531
696
|
pathParams: ["agent_id"],
|
|
532
|
-
queryParams: []
|
|
697
|
+
queryParams: [],
|
|
698
|
+
flags: [{
|
|
699
|
+
"name": "agent_id",
|
|
700
|
+
"description": "",
|
|
701
|
+
"required": true,
|
|
702
|
+
"type": "string",
|
|
703
|
+
"in": "path"
|
|
704
|
+
}]
|
|
533
705
|
},
|
|
534
706
|
"submit-agent-tool-outputs": {
|
|
535
707
|
serviceClass: "Agents",
|
|
536
708
|
operationId: "submitAgentToolOutputs",
|
|
537
|
-
description: "
|
|
709
|
+
description: "Resumes a generation that was paused due to client tool calls. Provide tool outputs for each pending tool call.",
|
|
710
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
538
711
|
pathParams: ["agent_id", "generation_id"],
|
|
539
|
-
queryParams: []
|
|
712
|
+
queryParams: [],
|
|
713
|
+
flags: [{
|
|
714
|
+
"name": "agent_id",
|
|
715
|
+
"description": "",
|
|
716
|
+
"required": true,
|
|
717
|
+
"type": "string",
|
|
718
|
+
"in": "path"
|
|
719
|
+
}, {
|
|
720
|
+
"name": "generation_id",
|
|
721
|
+
"description": "",
|
|
722
|
+
"required": true,
|
|
723
|
+
"type": "string",
|
|
724
|
+
"in": "path"
|
|
725
|
+
}]
|
|
540
726
|
},
|
|
541
727
|
"create-agent-actor": {
|
|
542
728
|
serviceClass: "Agents",
|
|
543
729
|
operationId: "createAgentActor",
|
|
544
|
-
description: "
|
|
730
|
+
description: "Creates a new actor associated with the specified agent",
|
|
731
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
545
732
|
pathParams: ["agent_id"],
|
|
546
|
-
queryParams: []
|
|
733
|
+
queryParams: [],
|
|
734
|
+
flags: [{
|
|
735
|
+
"name": "agent_id",
|
|
736
|
+
"description": "Agent ID",
|
|
737
|
+
"required": true,
|
|
738
|
+
"type": "string",
|
|
739
|
+
"in": "path"
|
|
740
|
+
}, {
|
|
741
|
+
"name": "name",
|
|
742
|
+
"description": "",
|
|
743
|
+
"required": true,
|
|
744
|
+
"type": "string",
|
|
745
|
+
"in": "body"
|
|
746
|
+
}, {
|
|
747
|
+
"name": "type",
|
|
748
|
+
"description": "Optional actor type",
|
|
749
|
+
"required": false,
|
|
750
|
+
"type": "string",
|
|
751
|
+
"in": "body"
|
|
752
|
+
}, {
|
|
753
|
+
"name": "external_id",
|
|
754
|
+
"description": "Optional external identifier",
|
|
755
|
+
"required": false,
|
|
756
|
+
"type": "string",
|
|
757
|
+
"in": "body"
|
|
758
|
+
}, {
|
|
759
|
+
"name": "tags",
|
|
760
|
+
"description": "",
|
|
761
|
+
"required": false,
|
|
762
|
+
"type": "object",
|
|
763
|
+
"in": "body"
|
|
764
|
+
}]
|
|
547
765
|
},
|
|
548
766
|
"list-ai-providers": {
|
|
549
767
|
serviceClass: "AIProviders",
|
|
550
768
|
operationId: "listAiProviders",
|
|
551
|
-
description: "
|
|
769
|
+
description: "Returns a list of AI provider configurations for a project",
|
|
770
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
|
|
552
771
|
pathParams: [],
|
|
553
|
-
queryParams: ["project_id", "limit", "offset"]
|
|
772
|
+
queryParams: ["project_id", "limit", "offset"],
|
|
773
|
+
flags: [{
|
|
774
|
+
"name": "project_id",
|
|
775
|
+
"description": "Project ID (required if not using project key auth)",
|
|
776
|
+
"required": false,
|
|
777
|
+
"type": "string",
|
|
778
|
+
"in": "query"
|
|
779
|
+
}, {
|
|
780
|
+
"name": "limit",
|
|
781
|
+
"description": "Number of results per page",
|
|
782
|
+
"required": false,
|
|
783
|
+
"type": "integer",
|
|
784
|
+
"in": "query"
|
|
785
|
+
}, {
|
|
786
|
+
"name": "offset",
|
|
787
|
+
"description": "Number of results to skip",
|
|
788
|
+
"required": false,
|
|
789
|
+
"type": "integer",
|
|
790
|
+
"in": "query"
|
|
791
|
+
}]
|
|
554
792
|
},
|
|
555
793
|
"create-ai-provider": {
|
|
556
794
|
serviceClass: "AIProviders",
|
|
557
795
|
operationId: "createAiProvider",
|
|
558
|
-
description: "
|
|
796
|
+
description: "Creates a new LLM provider configuration",
|
|
797
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
|
|
559
798
|
pathParams: [],
|
|
560
|
-
queryParams: []
|
|
799
|
+
queryParams: [],
|
|
800
|
+
flags: [{
|
|
801
|
+
"name": "project_id",
|
|
802
|
+
"description": "Project ID (required if not using project key auth)",
|
|
803
|
+
"required": false,
|
|
804
|
+
"type": "string",
|
|
805
|
+
"in": "body"
|
|
806
|
+
}, {
|
|
807
|
+
"name": "name",
|
|
808
|
+
"description": "Provider configuration name",
|
|
809
|
+
"required": true,
|
|
810
|
+
"type": "string",
|
|
811
|
+
"in": "body"
|
|
812
|
+
}, {
|
|
813
|
+
"name": "provider",
|
|
814
|
+
"description": "LLM provider",
|
|
815
|
+
"required": true,
|
|
816
|
+
"type": "string",
|
|
817
|
+
"in": "body"
|
|
818
|
+
}, {
|
|
819
|
+
"name": "default_model",
|
|
820
|
+
"description": "Default model to use",
|
|
821
|
+
"required": true,
|
|
822
|
+
"type": "string",
|
|
823
|
+
"in": "body"
|
|
824
|
+
}, {
|
|
825
|
+
"name": "secret_id",
|
|
826
|
+
"description": "Secret ID containing API credentials",
|
|
827
|
+
"required": false,
|
|
828
|
+
"type": "string",
|
|
829
|
+
"in": "body"
|
|
830
|
+
}, {
|
|
831
|
+
"name": "base_url",
|
|
832
|
+
"description": "Custom base URL for the provider",
|
|
833
|
+
"required": false,
|
|
834
|
+
"type": "string",
|
|
835
|
+
"in": "body"
|
|
836
|
+
}, {
|
|
837
|
+
"name": "config",
|
|
838
|
+
"description": "Additional provider-specific configuration",
|
|
839
|
+
"required": false,
|
|
840
|
+
"type": "object",
|
|
841
|
+
"in": "body"
|
|
842
|
+
}]
|
|
561
843
|
},
|
|
562
844
|
"get-ai-provider": {
|
|
563
845
|
serviceClass: "AIProviders",
|
|
564
846
|
operationId: "getAiProvider",
|
|
565
|
-
description: "
|
|
847
|
+
description: "Returns a specific AI provider configuration",
|
|
848
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
|
|
566
849
|
pathParams: ["ai_provider_id"],
|
|
567
|
-
queryParams: []
|
|
850
|
+
queryParams: [],
|
|
851
|
+
flags: [{
|
|
852
|
+
"name": "ai_provider_id",
|
|
853
|
+
"description": "AI Provider ID",
|
|
854
|
+
"required": true,
|
|
855
|
+
"type": "string",
|
|
856
|
+
"in": "path"
|
|
857
|
+
}]
|
|
568
858
|
},
|
|
569
859
|
"update-ai-provider": {
|
|
570
860
|
serviceClass: "AIProviders",
|
|
571
861
|
operationId: "updateAiProvider",
|
|
572
|
-
description: "
|
|
862
|
+
description: "Updates an AI provider configuration",
|
|
863
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
|
|
573
864
|
pathParams: ["ai_provider_id"],
|
|
574
|
-
queryParams: []
|
|
865
|
+
queryParams: [],
|
|
866
|
+
flags: [{
|
|
867
|
+
"name": "ai_provider_id",
|
|
868
|
+
"description": "AI Provider ID",
|
|
869
|
+
"required": true,
|
|
870
|
+
"type": "string",
|
|
871
|
+
"in": "path"
|
|
872
|
+
}, {
|
|
873
|
+
"name": "name",
|
|
874
|
+
"description": "",
|
|
875
|
+
"required": false,
|
|
876
|
+
"type": "string",
|
|
877
|
+
"in": "body"
|
|
878
|
+
}, {
|
|
879
|
+
"name": "default_model",
|
|
880
|
+
"description": "",
|
|
881
|
+
"required": false,
|
|
882
|
+
"type": "string",
|
|
883
|
+
"in": "body"
|
|
884
|
+
}, {
|
|
885
|
+
"name": "secret_id",
|
|
886
|
+
"description": "",
|
|
887
|
+
"required": false,
|
|
888
|
+
"type": "string",
|
|
889
|
+
"in": "body"
|
|
890
|
+
}, {
|
|
891
|
+
"name": "base_url",
|
|
892
|
+
"description": "",
|
|
893
|
+
"required": false,
|
|
894
|
+
"type": "string",
|
|
895
|
+
"in": "body"
|
|
896
|
+
}, {
|
|
897
|
+
"name": "config",
|
|
898
|
+
"description": "",
|
|
899
|
+
"required": false,
|
|
900
|
+
"type": "object",
|
|
901
|
+
"in": "body"
|
|
902
|
+
}]
|
|
575
903
|
},
|
|
576
904
|
"delete-ai-provider": {
|
|
577
905
|
serviceClass: "AIProviders",
|
|
578
906
|
operationId: "deleteAiProvider",
|
|
579
|
-
description: "
|
|
907
|
+
description: "Deletes an AI provider configuration",
|
|
908
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
|
|
580
909
|
pathParams: ["ai_provider_id"],
|
|
581
|
-
queryParams: []
|
|
910
|
+
queryParams: [],
|
|
911
|
+
flags: [{
|
|
912
|
+
"name": "ai_provider_id",
|
|
913
|
+
"description": "AI Provider ID",
|
|
914
|
+
"required": true,
|
|
915
|
+
"type": "string",
|
|
916
|
+
"in": "path"
|
|
917
|
+
}]
|
|
582
918
|
},
|
|
583
919
|
"list-api-keys": {
|
|
584
920
|
serviceClass: "APIKeys",
|
|
585
921
|
operationId: "listApiKeys",
|
|
586
|
-
description: "
|
|
922
|
+
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 scoped to a project: returns only API keys scoped to that project.",
|
|
923
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
|
|
587
924
|
pathParams: [],
|
|
588
|
-
queryParams: []
|
|
925
|
+
queryParams: [],
|
|
926
|
+
flags: []
|
|
589
927
|
},
|
|
590
928
|
"create-api-key": {
|
|
591
929
|
serviceClass: "APIKeys",
|
|
592
930
|
operationId: "createApiKey",
|
|
593
|
-
description: "
|
|
931
|
+
description: "Creates a new API key for the authenticated user. - If `project_id` is provided, the key is scoped to that project. - If `policy_ids` is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - If neither is provided, the key inherits the user's full permissions.",
|
|
932
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
|
|
594
933
|
pathParams: [],
|
|
595
|
-
queryParams: []
|
|
934
|
+
queryParams: [],
|
|
935
|
+
flags: [{
|
|
936
|
+
"name": "name",
|
|
937
|
+
"description": "Key name for identification",
|
|
938
|
+
"required": true,
|
|
939
|
+
"type": "string",
|
|
940
|
+
"in": "body"
|
|
941
|
+
}, {
|
|
942
|
+
"name": "project_id",
|
|
943
|
+
"description": "Optional project ID to scope this key to a specific project",
|
|
944
|
+
"required": false,
|
|
945
|
+
"type": "string",
|
|
946
|
+
"in": "body"
|
|
947
|
+
}, {
|
|
948
|
+
"name": "policy_ids",
|
|
949
|
+
"description": "Optional list of policy IDs to attach. Key permissions become the intersection of user policies and these policies.",
|
|
950
|
+
"required": false,
|
|
951
|
+
"type": "array",
|
|
952
|
+
"in": "body"
|
|
953
|
+
}]
|
|
596
954
|
},
|
|
597
955
|
"get-api-key": {
|
|
598
956
|
serviceClass: "APIKeys",
|
|
599
957
|
operationId: "getApiKey",
|
|
600
|
-
description: "
|
|
958
|
+
description: "Returns details of an API key. Only the owner or an admin can access it.",
|
|
959
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
|
|
601
960
|
pathParams: ["api_key_id"],
|
|
602
|
-
queryParams: []
|
|
961
|
+
queryParams: [],
|
|
962
|
+
flags: [{
|
|
963
|
+
"name": "api_key_id",
|
|
964
|
+
"description": "API key public ID (key_ prefix)",
|
|
965
|
+
"required": true,
|
|
966
|
+
"type": "string",
|
|
967
|
+
"in": "path"
|
|
968
|
+
}]
|
|
603
969
|
},
|
|
604
970
|
"update-api-key": {
|
|
605
971
|
serviceClass: "APIKeys",
|
|
606
972
|
operationId: "updateApiKey",
|
|
607
|
-
description: "
|
|
973
|
+
description: "Updates an API key's name, project scope, or policies. Only the owner or an admin can update it.",
|
|
974
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
|
|
608
975
|
pathParams: ["api_key_id"],
|
|
609
|
-
queryParams: []
|
|
976
|
+
queryParams: [],
|
|
977
|
+
flags: [{
|
|
978
|
+
"name": "api_key_id",
|
|
979
|
+
"description": "API key public ID (key_ prefix)",
|
|
980
|
+
"required": true,
|
|
981
|
+
"type": "string",
|
|
982
|
+
"in": "path"
|
|
983
|
+
}, {
|
|
984
|
+
"name": "name",
|
|
985
|
+
"description": "",
|
|
986
|
+
"required": false,
|
|
987
|
+
"type": "string",
|
|
988
|
+
"in": "body"
|
|
989
|
+
}, {
|
|
990
|
+
"name": "project_id",
|
|
991
|
+
"description": "Set to null to remove project scope",
|
|
992
|
+
"required": false,
|
|
993
|
+
"type": "string",
|
|
994
|
+
"in": "body"
|
|
995
|
+
}, {
|
|
996
|
+
"name": "policy_ids",
|
|
997
|
+
"description": "Replace the key's policy list (empty array removes all)",
|
|
998
|
+
"required": false,
|
|
999
|
+
"type": "array",
|
|
1000
|
+
"in": "body"
|
|
1001
|
+
}]
|
|
610
1002
|
},
|
|
611
1003
|
"delete-api-key": {
|
|
612
1004
|
serviceClass: "APIKeys",
|
|
613
1005
|
operationId: "deleteApiKey",
|
|
614
|
-
description: "
|
|
1006
|
+
description: "Deletes an API key. Only the owner or an admin can delete it.",
|
|
1007
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
|
|
615
1008
|
pathParams: ["api_key_id"],
|
|
616
|
-
queryParams: []
|
|
1009
|
+
queryParams: [],
|
|
1010
|
+
flags: [{
|
|
1011
|
+
"name": "api_key_id",
|
|
1012
|
+
"description": "API key public ID (key_ prefix)",
|
|
1013
|
+
"required": true,
|
|
1014
|
+
"type": "string",
|
|
1015
|
+
"in": "path"
|
|
1016
|
+
}]
|
|
617
1017
|
},
|
|
618
1018
|
"list-chats": {
|
|
619
1019
|
serviceClass: "Chats",
|
|
620
1020
|
operationId: "listChats",
|
|
621
|
-
description: "
|
|
1021
|
+
description: "Returns all chats in the project.",
|
|
1022
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
|
|
622
1023
|
pathParams: [],
|
|
623
|
-
queryParams: ["project_id"]
|
|
1024
|
+
queryParams: ["project_id"],
|
|
1025
|
+
flags: [{
|
|
1026
|
+
"name": "project_id",
|
|
1027
|
+
"description": "Project public ID to filter by",
|
|
1028
|
+
"required": false,
|
|
1029
|
+
"type": "string",
|
|
1030
|
+
"in": "query"
|
|
1031
|
+
}]
|
|
624
1032
|
},
|
|
625
1033
|
"create-chat": {
|
|
626
1034
|
serviceClass: "Chats",
|
|
627
1035
|
operationId: "createChat",
|
|
628
|
-
description: "
|
|
1036
|
+
description: "Creates a new chat resource bound to an AI provider.",
|
|
1037
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
|
|
629
1038
|
pathParams: [],
|
|
630
|
-
queryParams: []
|
|
1039
|
+
queryParams: [],
|
|
1040
|
+
flags: []
|
|
631
1041
|
},
|
|
632
1042
|
"get-chat": {
|
|
633
1043
|
serviceClass: "Chats",
|
|
634
1044
|
operationId: "getChat",
|
|
635
|
-
description: "
|
|
1045
|
+
description: "Returns a single chat by ID.",
|
|
1046
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
|
|
636
1047
|
pathParams: ["chat_id"],
|
|
637
|
-
queryParams: []
|
|
1048
|
+
queryParams: [],
|
|
1049
|
+
flags: [{
|
|
1050
|
+
"name": "chat_id",
|
|
1051
|
+
"description": "",
|
|
1052
|
+
"required": true,
|
|
1053
|
+
"type": "string",
|
|
1054
|
+
"in": "path"
|
|
1055
|
+
}]
|
|
638
1056
|
},
|
|
639
1057
|
"delete-chat": {
|
|
640
1058
|
serviceClass: "Chats",
|
|
641
1059
|
operationId: "deleteChat",
|
|
642
|
-
description: "
|
|
1060
|
+
description: "Deletes a chat by ID.",
|
|
1061
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
|
|
643
1062
|
pathParams: ["chat_id"],
|
|
644
|
-
queryParams: []
|
|
1063
|
+
queryParams: [],
|
|
1064
|
+
flags: [{
|
|
1065
|
+
"name": "chat_id",
|
|
1066
|
+
"description": "",
|
|
1067
|
+
"required": true,
|
|
1068
|
+
"type": "string",
|
|
1069
|
+
"in": "path"
|
|
1070
|
+
}]
|
|
645
1071
|
},
|
|
646
1072
|
"create-chat-completion-for-chat": {
|
|
647
1073
|
serviceClass: "Chats",
|
|
648
1074
|
operationId: "createChatCompletionForChat",
|
|
649
|
-
description: "
|
|
1075
|
+
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`.",
|
|
1076
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
|
|
650
1077
|
pathParams: ["chat_id"],
|
|
651
|
-
queryParams: []
|
|
1078
|
+
queryParams: [],
|
|
1079
|
+
flags: [{
|
|
1080
|
+
"name": "chat_id",
|
|
1081
|
+
"description": "",
|
|
1082
|
+
"required": true,
|
|
1083
|
+
"type": "string",
|
|
1084
|
+
"in": "path"
|
|
1085
|
+
}]
|
|
652
1086
|
},
|
|
653
1087
|
"create-chat-completion": {
|
|
654
1088
|
serviceClass: "Chats",
|
|
655
1089
|
operationId: "createChatCompletion",
|
|
656
|
-
description: "
|
|
1090
|
+
description: "OpenAI Chat Completions-compatible endpoint. Resolves the AI provider from `ai_provider_id`, decrypts its secret, and calls the appropriate Vercel AI SDK provider. `ai_provider_id` is required \u2014 there is no server-side model fallback.",
|
|
1091
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
|
|
657
1092
|
pathParams: [],
|
|
658
|
-
queryParams: []
|
|
1093
|
+
queryParams: [],
|
|
1094
|
+
flags: []
|
|
659
1095
|
},
|
|
660
1096
|
"create-chat-actor": {
|
|
661
1097
|
serviceClass: "Chats",
|
|
662
1098
|
operationId: "createChatActor",
|
|
663
|
-
description: "
|
|
1099
|
+
description: "Creates a new actor associated with the specified chat",
|
|
1100
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
|
|
664
1101
|
pathParams: ["chat_id"],
|
|
665
|
-
queryParams: []
|
|
1102
|
+
queryParams: [],
|
|
1103
|
+
flags: [{
|
|
1104
|
+
"name": "chat_id",
|
|
1105
|
+
"description": "Chat ID",
|
|
1106
|
+
"required": true,
|
|
1107
|
+
"type": "string",
|
|
1108
|
+
"in": "path"
|
|
1109
|
+
}, {
|
|
1110
|
+
"name": "name",
|
|
1111
|
+
"description": "",
|
|
1112
|
+
"required": true,
|
|
1113
|
+
"type": "string",
|
|
1114
|
+
"in": "body"
|
|
1115
|
+
}, {
|
|
1116
|
+
"name": "type",
|
|
1117
|
+
"description": "Optional actor type",
|
|
1118
|
+
"required": false,
|
|
1119
|
+
"type": "string",
|
|
1120
|
+
"in": "body"
|
|
1121
|
+
}, {
|
|
1122
|
+
"name": "external_id",
|
|
1123
|
+
"description": "Optional external identifier",
|
|
1124
|
+
"required": false,
|
|
1125
|
+
"type": "string",
|
|
1126
|
+
"in": "body"
|
|
1127
|
+
}, {
|
|
1128
|
+
"name": "tags",
|
|
1129
|
+
"description": "",
|
|
1130
|
+
"required": false,
|
|
1131
|
+
"type": "object",
|
|
1132
|
+
"in": "body"
|
|
1133
|
+
}]
|
|
666
1134
|
},
|
|
667
1135
|
"list-conversations": {
|
|
668
1136
|
serviceClass: "Conversations",
|
|
669
1137
|
operationId: "listConversations",
|
|
670
|
-
description: "
|
|
1138
|
+
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.",
|
|
1139
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
671
1140
|
pathParams: [],
|
|
672
|
-
queryParams: ["project_id", "actor_id", "limit", "offset"]
|
|
1141
|
+
queryParams: ["project_id", "actor_id", "limit", "offset"],
|
|
1142
|
+
flags: [{
|
|
1143
|
+
"name": "project_id",
|
|
1144
|
+
"description": "Project ID (optional)",
|
|
1145
|
+
"required": false,
|
|
1146
|
+
"type": "string",
|
|
1147
|
+
"in": "query"
|
|
1148
|
+
}, {
|
|
1149
|
+
"name": "actor_id",
|
|
1150
|
+
"description": "Filter by actor ID",
|
|
1151
|
+
"required": false,
|
|
1152
|
+
"type": "string",
|
|
1153
|
+
"in": "query"
|
|
1154
|
+
}, {
|
|
1155
|
+
"name": "limit",
|
|
1156
|
+
"description": "Maximum number of results to return",
|
|
1157
|
+
"required": false,
|
|
1158
|
+
"type": "integer",
|
|
1159
|
+
"in": "query"
|
|
1160
|
+
}, {
|
|
1161
|
+
"name": "offset",
|
|
1162
|
+
"description": "Number of results to skip",
|
|
1163
|
+
"required": false,
|
|
1164
|
+
"type": "integer",
|
|
1165
|
+
"in": "query"
|
|
1166
|
+
}]
|
|
673
1167
|
},
|
|
674
1168
|
"create-conversation": {
|
|
675
1169
|
serviceClass: "Conversations",
|
|
676
1170
|
operationId: "createConversation",
|
|
677
|
-
description: "
|
|
1171
|
+
description: "Creates a new conversation. project keys automatically infer the project from the key's scope; JWT callers must supply projectId.",
|
|
1172
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
678
1173
|
pathParams: [],
|
|
679
|
-
queryParams: []
|
|
1174
|
+
queryParams: [],
|
|
1175
|
+
flags: [{
|
|
1176
|
+
"name": "project_id",
|
|
1177
|
+
"description": "Project ID. Required for JWT auth; omit when using an project key.",
|
|
1178
|
+
"required": false,
|
|
1179
|
+
"type": "string",
|
|
1180
|
+
"in": "body"
|
|
1181
|
+
}, {
|
|
1182
|
+
"name": "status",
|
|
1183
|
+
"description": "Initial conversation status",
|
|
1184
|
+
"required": false,
|
|
1185
|
+
"type": "string",
|
|
1186
|
+
"in": "body"
|
|
1187
|
+
}, {
|
|
1188
|
+
"name": "name",
|
|
1189
|
+
"description": "Optional name for the conversation",
|
|
1190
|
+
"required": false,
|
|
1191
|
+
"type": "string",
|
|
1192
|
+
"in": "body"
|
|
1193
|
+
}, {
|
|
1194
|
+
"name": "actor_id",
|
|
1195
|
+
"description": "Actor ID to associate with this conversation",
|
|
1196
|
+
"required": false,
|
|
1197
|
+
"type": "string",
|
|
1198
|
+
"in": "body"
|
|
1199
|
+
}]
|
|
680
1200
|
},
|
|
681
1201
|
"get-conversation": {
|
|
682
1202
|
serviceClass: "Conversations",
|
|
683
1203
|
operationId: "getConversation",
|
|
684
|
-
description: "
|
|
1204
|
+
description: "Returns a conversation by its ID",
|
|
1205
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
685
1206
|
pathParams: ["conversation_id"],
|
|
686
|
-
queryParams: []
|
|
1207
|
+
queryParams: [],
|
|
1208
|
+
flags: [{
|
|
1209
|
+
"name": "conversation_id",
|
|
1210
|
+
"description": "Conversation ID",
|
|
1211
|
+
"required": true,
|
|
1212
|
+
"type": "string",
|
|
1213
|
+
"in": "path"
|
|
1214
|
+
}]
|
|
687
1215
|
},
|
|
688
1216
|
"update-conversation": {
|
|
689
1217
|
serviceClass: "Conversations",
|
|
690
1218
|
operationId: "updateConversation",
|
|
691
|
-
description: "
|
|
1219
|
+
description: "Updates the status of a conversation",
|
|
1220
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
692
1221
|
pathParams: ["conversation_id"],
|
|
693
|
-
queryParams: []
|
|
1222
|
+
queryParams: [],
|
|
1223
|
+
flags: [{
|
|
1224
|
+
"name": "conversation_id",
|
|
1225
|
+
"description": "Conversation ID",
|
|
1226
|
+
"required": true,
|
|
1227
|
+
"type": "string",
|
|
1228
|
+
"in": "path"
|
|
1229
|
+
}, {
|
|
1230
|
+
"name": "status",
|
|
1231
|
+
"description": "New conversation status",
|
|
1232
|
+
"required": true,
|
|
1233
|
+
"type": "string",
|
|
1234
|
+
"in": "body"
|
|
1235
|
+
}]
|
|
694
1236
|
},
|
|
695
1237
|
"delete-conversation": {
|
|
696
1238
|
serviceClass: "Conversations",
|
|
697
1239
|
operationId: "deleteConversation",
|
|
698
|
-
description: "
|
|
1240
|
+
description: "Deletes a conversation by its ID",
|
|
1241
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
699
1242
|
pathParams: ["conversation_id"],
|
|
700
|
-
queryParams: []
|
|
1243
|
+
queryParams: [],
|
|
1244
|
+
flags: [{
|
|
1245
|
+
"name": "conversation_id",
|
|
1246
|
+
"description": "Conversation ID",
|
|
1247
|
+
"required": true,
|
|
1248
|
+
"type": "string",
|
|
1249
|
+
"in": "path"
|
|
1250
|
+
}]
|
|
701
1251
|
},
|
|
702
1252
|
"list-conversation-messages": {
|
|
703
1253
|
serviceClass: "Conversations",
|
|
704
1254
|
operationId: "listConversationMessages",
|
|
705
|
-
description: "
|
|
1255
|
+
description: "Returns all messages (documents) attached to a conversation, ordered by position",
|
|
1256
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
706
1257
|
pathParams: ["conversation_id"],
|
|
707
|
-
queryParams: ["limit", "offset"]
|
|
1258
|
+
queryParams: ["limit", "offset"],
|
|
1259
|
+
flags: [{
|
|
1260
|
+
"name": "conversation_id",
|
|
1261
|
+
"description": "Conversation ID",
|
|
1262
|
+
"required": true,
|
|
1263
|
+
"type": "string",
|
|
1264
|
+
"in": "path"
|
|
1265
|
+
}, {
|
|
1266
|
+
"name": "limit",
|
|
1267
|
+
"description": "Maximum number of results to return",
|
|
1268
|
+
"required": false,
|
|
1269
|
+
"type": "integer",
|
|
1270
|
+
"in": "query"
|
|
1271
|
+
}, {
|
|
1272
|
+
"name": "offset",
|
|
1273
|
+
"description": "Number of results to skip",
|
|
1274
|
+
"required": false,
|
|
1275
|
+
"type": "integer",
|
|
1276
|
+
"in": "query"
|
|
1277
|
+
}]
|
|
708
1278
|
},
|
|
709
1279
|
"add-conversation-message": {
|
|
710
1280
|
serviceClass: "Conversations",
|
|
711
1281
|
operationId: "addConversationMessage",
|
|
712
|
-
description: "
|
|
1282
|
+
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.",
|
|
1283
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
713
1284
|
pathParams: ["conversation_id"],
|
|
714
|
-
queryParams: []
|
|
1285
|
+
queryParams: [],
|
|
1286
|
+
flags: [{
|
|
1287
|
+
"name": "conversation_id",
|
|
1288
|
+
"description": "Conversation ID",
|
|
1289
|
+
"required": true,
|
|
1290
|
+
"type": "string",
|
|
1291
|
+
"in": "path"
|
|
1292
|
+
}, {
|
|
1293
|
+
"name": "message",
|
|
1294
|
+
"description": "Message text content to add to the conversation",
|
|
1295
|
+
"required": true,
|
|
1296
|
+
"type": "string",
|
|
1297
|
+
"in": "body"
|
|
1298
|
+
}, {
|
|
1299
|
+
"name": "role",
|
|
1300
|
+
"description": "Role of the message sender",
|
|
1301
|
+
"required": true,
|
|
1302
|
+
"type": "string",
|
|
1303
|
+
"in": "body"
|
|
1304
|
+
}, {
|
|
1305
|
+
"name": "actor_id",
|
|
1306
|
+
"description": "Optional actor ID to associate with this message (user identity)",
|
|
1307
|
+
"required": false,
|
|
1308
|
+
"type": "string",
|
|
1309
|
+
"in": "body"
|
|
1310
|
+
}, {
|
|
1311
|
+
"name": "position",
|
|
1312
|
+
"description": "Zero-based position. Defaults to MAX+1 (append).",
|
|
1313
|
+
"required": false,
|
|
1314
|
+
"type": "integer",
|
|
1315
|
+
"in": "body"
|
|
1316
|
+
}, {
|
|
1317
|
+
"name": "metadata",
|
|
1318
|
+
"description": "Optional structured metadata to attach to the message (e.g. phone number, channel). Stored as-is and injected into the AI prompt context.",
|
|
1319
|
+
"required": false,
|
|
1320
|
+
"type": "object",
|
|
1321
|
+
"in": "body"
|
|
1322
|
+
}]
|
|
715
1323
|
},
|
|
716
1324
|
"generate-conversation-message": {
|
|
717
1325
|
serviceClass: "Conversations",
|
|
718
1326
|
operationId: "generateConversationMessage",
|
|
719
|
-
description: "
|
|
1327
|
+
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.",
|
|
1328
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
720
1329
|
pathParams: ["conversation_id"],
|
|
721
|
-
queryParams: []
|
|
1330
|
+
queryParams: [],
|
|
1331
|
+
flags: [{
|
|
1332
|
+
"name": "conversation_id",
|
|
1333
|
+
"description": "",
|
|
1334
|
+
"required": true,
|
|
1335
|
+
"type": "string",
|
|
1336
|
+
"in": "path"
|
|
1337
|
+
}, {
|
|
1338
|
+
"name": "agent_id",
|
|
1339
|
+
"description": "ID of the agent that will produce the next message.",
|
|
1340
|
+
"required": true,
|
|
1341
|
+
"type": "string",
|
|
1342
|
+
"in": "body"
|
|
1343
|
+
}, {
|
|
1344
|
+
"name": "model",
|
|
1345
|
+
"description": "Optional model override.",
|
|
1346
|
+
"required": false,
|
|
1347
|
+
"type": "string",
|
|
1348
|
+
"in": "body"
|
|
1349
|
+
}, {
|
|
1350
|
+
"name": "stream",
|
|
1351
|
+
"description": "If true, stream tokens via SSE. NOT IMPLEMENTED in v1 \u2014 returns 501.",
|
|
1352
|
+
"required": false,
|
|
1353
|
+
"type": "boolean",
|
|
1354
|
+
"in": "body"
|
|
1355
|
+
}, {
|
|
1356
|
+
"name": "tool_context",
|
|
1357
|
+
"description": "Key-value pairs injected as context headers into all tool call requests made during this generation.",
|
|
1358
|
+
"required": false,
|
|
1359
|
+
"type": "object",
|
|
1360
|
+
"in": "body"
|
|
1361
|
+
}]
|
|
722
1362
|
},
|
|
723
1363
|
"list-conversation-actors": {
|
|
724
1364
|
serviceClass: "Conversations",
|
|
725
1365
|
operationId: "listConversationActors",
|
|
726
|
-
description: "
|
|
1366
|
+
description: "Returns all distinct actors who have sent at least one message in the conversation",
|
|
1367
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
727
1368
|
pathParams: ["conversation_id"],
|
|
728
|
-
queryParams: []
|
|
1369
|
+
queryParams: [],
|
|
1370
|
+
flags: [{
|
|
1371
|
+
"name": "conversation_id",
|
|
1372
|
+
"description": "Conversation ID",
|
|
1373
|
+
"required": true,
|
|
1374
|
+
"type": "string",
|
|
1375
|
+
"in": "path"
|
|
1376
|
+
}]
|
|
729
1377
|
},
|
|
730
1378
|
"remove-conversation-message": {
|
|
731
1379
|
serviceClass: "Conversations",
|
|
732
1380
|
operationId: "removeConversationMessage",
|
|
733
|
-
description: "
|
|
1381
|
+
description: "Removes a document from a conversation",
|
|
1382
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
734
1383
|
pathParams: ["conversation_id", "document_id"],
|
|
735
|
-
queryParams: []
|
|
1384
|
+
queryParams: [],
|
|
1385
|
+
flags: [{
|
|
1386
|
+
"name": "conversation_id",
|
|
1387
|
+
"description": "Conversation ID",
|
|
1388
|
+
"required": true,
|
|
1389
|
+
"type": "string",
|
|
1390
|
+
"in": "path"
|
|
1391
|
+
}, {
|
|
1392
|
+
"name": "document_id",
|
|
1393
|
+
"description": "Document ID",
|
|
1394
|
+
"required": true,
|
|
1395
|
+
"type": "string",
|
|
1396
|
+
"in": "path"
|
|
1397
|
+
}]
|
|
736
1398
|
},
|
|
737
1399
|
"get-conversation-tags": {
|
|
738
1400
|
serviceClass: "Conversations",
|
|
739
1401
|
operationId: "getConversationTags",
|
|
740
|
-
description: "
|
|
1402
|
+
description: "Returns all tags attached to the conversation",
|
|
1403
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
741
1404
|
pathParams: ["conversation_id"],
|
|
742
|
-
queryParams: []
|
|
1405
|
+
queryParams: [],
|
|
1406
|
+
flags: [{
|
|
1407
|
+
"name": "conversation_id",
|
|
1408
|
+
"description": "Conversation ID",
|
|
1409
|
+
"required": true,
|
|
1410
|
+
"type": "string",
|
|
1411
|
+
"in": "path"
|
|
1412
|
+
}]
|
|
743
1413
|
},
|
|
744
1414
|
"replace-conversation-tags": {
|
|
745
1415
|
serviceClass: "Conversations",
|
|
746
1416
|
operationId: "replaceConversationTags",
|
|
747
|
-
description: "
|
|
1417
|
+
description: "Replaces all tags on the conversation with the provided tags",
|
|
1418
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
748
1419
|
pathParams: ["conversation_id"],
|
|
749
|
-
queryParams: []
|
|
1420
|
+
queryParams: [],
|
|
1421
|
+
flags: [{
|
|
1422
|
+
"name": "conversation_id",
|
|
1423
|
+
"description": "Conversation ID",
|
|
1424
|
+
"required": true,
|
|
1425
|
+
"type": "string",
|
|
1426
|
+
"in": "path"
|
|
1427
|
+
}]
|
|
750
1428
|
},
|
|
751
1429
|
"merge-conversation-tags": {
|
|
752
1430
|
serviceClass: "Conversations",
|
|
753
1431
|
operationId: "mergeConversationTags",
|
|
754
|
-
description: "
|
|
1432
|
+
description: "Merges provided tags with existing tags",
|
|
1433
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
755
1434
|
pathParams: ["conversation_id"],
|
|
756
|
-
queryParams: []
|
|
1435
|
+
queryParams: [],
|
|
1436
|
+
flags: [{
|
|
1437
|
+
"name": "conversation_id",
|
|
1438
|
+
"description": "Conversation ID",
|
|
1439
|
+
"required": true,
|
|
1440
|
+
"type": "string",
|
|
1441
|
+
"in": "path"
|
|
1442
|
+
}]
|
|
757
1443
|
},
|
|
758
1444
|
"list-documents": {
|
|
759
1445
|
serviceClass: "Documents",
|
|
760
1446
|
operationId: "listDocuments",
|
|
761
|
-
description: "
|
|
1447
|
+
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.",
|
|
1448
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
|
|
762
1449
|
pathParams: [],
|
|
763
|
-
queryParams: ["project_id"]
|
|
1450
|
+
queryParams: ["project_id"],
|
|
1451
|
+
flags: [{
|
|
1452
|
+
"name": "project_id",
|
|
1453
|
+
"description": "Project ID (optional)",
|
|
1454
|
+
"required": false,
|
|
1455
|
+
"type": "string",
|
|
1456
|
+
"in": "query"
|
|
1457
|
+
}]
|
|
764
1458
|
},
|
|
765
1459
|
"create-document": {
|
|
766
1460
|
serviceClass: "Documents",
|
|
767
1461
|
operationId: "createDocument",
|
|
768
|
-
description: "
|
|
1462
|
+
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.",
|
|
1463
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
|
|
769
1464
|
pathParams: [],
|
|
770
|
-
queryParams: []
|
|
1465
|
+
queryParams: [],
|
|
1466
|
+
flags: [{
|
|
1467
|
+
"name": "project_id",
|
|
1468
|
+
"description": "Project ID. Required for JWT auth; omit when using an project key.",
|
|
1469
|
+
"required": false,
|
|
1470
|
+
"type": "string",
|
|
1471
|
+
"in": "body"
|
|
1472
|
+
}, {
|
|
1473
|
+
"name": "content",
|
|
1474
|
+
"description": "",
|
|
1475
|
+
"required": true,
|
|
1476
|
+
"type": "string",
|
|
1477
|
+
"in": "body"
|
|
1478
|
+
}, {
|
|
1479
|
+
"name": "path",
|
|
1480
|
+
"description": "Logical path within the project (e.g. /reports/q1.txt). Defaults to /filename if omitted.",
|
|
1481
|
+
"required": false,
|
|
1482
|
+
"type": "string",
|
|
1483
|
+
"in": "body"
|
|
1484
|
+
}, {
|
|
1485
|
+
"name": "filename",
|
|
1486
|
+
"description": "",
|
|
1487
|
+
"required": false,
|
|
1488
|
+
"type": "string",
|
|
1489
|
+
"in": "body"
|
|
1490
|
+
}]
|
|
771
1491
|
},
|
|
772
1492
|
"get-document": {
|
|
773
1493
|
serviceClass: "Documents",
|
|
774
1494
|
operationId: "getDocument",
|
|
775
|
-
description: "
|
|
1495
|
+
description: "Returns a document with its text content",
|
|
1496
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
|
|
776
1497
|
pathParams: ["document_id"],
|
|
777
|
-
queryParams: []
|
|
1498
|
+
queryParams: [],
|
|
1499
|
+
flags: [{
|
|
1500
|
+
"name": "document_id",
|
|
1501
|
+
"description": "Document ID",
|
|
1502
|
+
"required": true,
|
|
1503
|
+
"type": "string",
|
|
1504
|
+
"in": "path"
|
|
1505
|
+
}]
|
|
778
1506
|
},
|
|
779
1507
|
"update-document": {
|
|
780
1508
|
serviceClass: "Documents",
|
|
781
1509
|
operationId: "updateDocument",
|
|
782
|
-
description: "
|
|
1510
|
+
description: "Updates document content, title, path, metadata, or tags. Supplying `path` moves the document to a new logical path within the project.",
|
|
1511
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
|
|
783
1512
|
pathParams: ["document_id"],
|
|
784
|
-
queryParams: []
|
|
1513
|
+
queryParams: [],
|
|
1514
|
+
flags: [{
|
|
1515
|
+
"name": "document_id",
|
|
1516
|
+
"description": "Document ID",
|
|
1517
|
+
"required": true,
|
|
1518
|
+
"type": "string",
|
|
1519
|
+
"in": "path"
|
|
1520
|
+
}, {
|
|
1521
|
+
"name": "content",
|
|
1522
|
+
"description": "New text content",
|
|
1523
|
+
"required": false,
|
|
1524
|
+
"type": "string",
|
|
1525
|
+
"in": "body"
|
|
1526
|
+
}, {
|
|
1527
|
+
"name": "title",
|
|
1528
|
+
"description": "New title",
|
|
1529
|
+
"required": false,
|
|
1530
|
+
"type": "string",
|
|
1531
|
+
"in": "body"
|
|
1532
|
+
}, {
|
|
1533
|
+
"name": "path",
|
|
1534
|
+
"description": "Logical path within the project (e.g. /reports/q1.txt). Pass null to clear.",
|
|
1535
|
+
"required": false,
|
|
1536
|
+
"type": "string",
|
|
1537
|
+
"in": "body"
|
|
1538
|
+
}, {
|
|
1539
|
+
"name": "metadata",
|
|
1540
|
+
"description": "Arbitrary metadata object",
|
|
1541
|
+
"required": false,
|
|
1542
|
+
"type": "object",
|
|
1543
|
+
"in": "body"
|
|
1544
|
+
}, {
|
|
1545
|
+
"name": "tags",
|
|
1546
|
+
"description": "Key-value tags",
|
|
1547
|
+
"required": false,
|
|
1548
|
+
"type": "object",
|
|
1549
|
+
"in": "body"
|
|
1550
|
+
}]
|
|
785
1551
|
},
|
|
786
1552
|
"delete-document": {
|
|
787
1553
|
serviceClass: "Documents",
|
|
788
1554
|
operationId: "deleteDocument",
|
|
789
|
-
description: "
|
|
1555
|
+
description: "Deletes a document and its underlying file",
|
|
1556
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
|
|
790
1557
|
pathParams: ["document_id"],
|
|
791
|
-
queryParams: []
|
|
1558
|
+
queryParams: [],
|
|
1559
|
+
flags: [{
|
|
1560
|
+
"name": "document_id",
|
|
1561
|
+
"description": "Document ID",
|
|
1562
|
+
"required": true,
|
|
1563
|
+
"type": "string",
|
|
1564
|
+
"in": "path"
|
|
1565
|
+
}]
|
|
792
1566
|
},
|
|
793
1567
|
"get-document-tags": {
|
|
794
1568
|
serviceClass: "Documents",
|
|
795
1569
|
operationId: "getDocumentTags",
|
|
796
|
-
description: "
|
|
1570
|
+
description: "Returns all tags attached to the document",
|
|
1571
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
|
|
797
1572
|
pathParams: ["document_id"],
|
|
798
|
-
queryParams: []
|
|
1573
|
+
queryParams: [],
|
|
1574
|
+
flags: [{
|
|
1575
|
+
"name": "document_id",
|
|
1576
|
+
"description": "Document ID",
|
|
1577
|
+
"required": true,
|
|
1578
|
+
"type": "string",
|
|
1579
|
+
"in": "path"
|
|
1580
|
+
}]
|
|
799
1581
|
},
|
|
800
1582
|
"replace-document-tags": {
|
|
801
1583
|
serviceClass: "Documents",
|
|
802
1584
|
operationId: "replaceDocumentTags",
|
|
803
|
-
description: "
|
|
1585
|
+
description: "Replaces all tags on the document with the provided tags (not merged)",
|
|
1586
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
|
|
804
1587
|
pathParams: ["document_id"],
|
|
805
|
-
queryParams: []
|
|
1588
|
+
queryParams: [],
|
|
1589
|
+
flags: [{
|
|
1590
|
+
"name": "document_id",
|
|
1591
|
+
"description": "Document ID",
|
|
1592
|
+
"required": true,
|
|
1593
|
+
"type": "string",
|
|
1594
|
+
"in": "path"
|
|
1595
|
+
}]
|
|
806
1596
|
},
|
|
807
1597
|
"merge-document-tags": {
|
|
808
1598
|
serviceClass: "Documents",
|
|
809
1599
|
operationId: "mergeDocumentTags",
|
|
810
|
-
description: "
|
|
1600
|
+
description: "Merges provided tags with existing tags (existing tags are preserved unless overridden)",
|
|
1601
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
|
|
811
1602
|
pathParams: ["document_id"],
|
|
812
|
-
queryParams: []
|
|
1603
|
+
queryParams: [],
|
|
1604
|
+
flags: [{
|
|
1605
|
+
"name": "document_id",
|
|
1606
|
+
"description": "Document ID",
|
|
1607
|
+
"required": true,
|
|
1608
|
+
"type": "string",
|
|
1609
|
+
"in": "path"
|
|
1610
|
+
}]
|
|
813
1611
|
},
|
|
814
1612
|
"list-files": {
|
|
815
1613
|
serviceClass: "Files",
|
|
816
1614
|
operationId: "listFiles",
|
|
817
|
-
description: "
|
|
1615
|
+
description: "Returns a list of all stored files",
|
|
1616
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
818
1617
|
pathParams: [],
|
|
819
|
-
queryParams: ["project_id", "limit", "offset"]
|
|
1618
|
+
queryParams: ["project_id", "limit", "offset"],
|
|
1619
|
+
flags: [{
|
|
1620
|
+
"name": "project_id",
|
|
1621
|
+
"description": "Filter files by project ID",
|
|
1622
|
+
"required": false,
|
|
1623
|
+
"type": "string",
|
|
1624
|
+
"in": "query"
|
|
1625
|
+
}, {
|
|
1626
|
+
"name": "limit",
|
|
1627
|
+
"description": "Maximum number of results to return",
|
|
1628
|
+
"required": false,
|
|
1629
|
+
"type": "integer",
|
|
1630
|
+
"in": "query"
|
|
1631
|
+
}, {
|
|
1632
|
+
"name": "offset",
|
|
1633
|
+
"description": "Number of results to skip",
|
|
1634
|
+
"required": false,
|
|
1635
|
+
"type": "integer",
|
|
1636
|
+
"in": "query"
|
|
1637
|
+
}]
|
|
820
1638
|
},
|
|
821
1639
|
"create-file": {
|
|
822
1640
|
serviceClass: "Files",
|
|
823
1641
|
operationId: "createFile",
|
|
824
|
-
description: "
|
|
1642
|
+
description: "Creates a new file record in the system",
|
|
1643
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
825
1644
|
pathParams: [],
|
|
826
|
-
queryParams: []
|
|
1645
|
+
queryParams: [],
|
|
1646
|
+
flags: [{
|
|
1647
|
+
"name": "project_id",
|
|
1648
|
+
"description": "Public ID of the project",
|
|
1649
|
+
"required": true,
|
|
1650
|
+
"type": "string",
|
|
1651
|
+
"in": "body"
|
|
1652
|
+
}, {
|
|
1653
|
+
"name": "path",
|
|
1654
|
+
"description": "Logical path within the project (e.g. /images/logo.png). Defaults to /filename if omitted.",
|
|
1655
|
+
"required": false,
|
|
1656
|
+
"type": "string",
|
|
1657
|
+
"in": "body"
|
|
1658
|
+
}, {
|
|
1659
|
+
"name": "filename",
|
|
1660
|
+
"description": "Name of the file",
|
|
1661
|
+
"required": false,
|
|
1662
|
+
"type": "string",
|
|
1663
|
+
"in": "body"
|
|
1664
|
+
}, {
|
|
1665
|
+
"name": "content_type",
|
|
1666
|
+
"description": "MIME type of the file",
|
|
1667
|
+
"required": false,
|
|
1668
|
+
"type": "string",
|
|
1669
|
+
"in": "body"
|
|
1670
|
+
}, {
|
|
1671
|
+
"name": "size",
|
|
1672
|
+
"description": "File size in bytes",
|
|
1673
|
+
"required": false,
|
|
1674
|
+
"type": "integer",
|
|
1675
|
+
"in": "body"
|
|
1676
|
+
}, {
|
|
1677
|
+
"name": "storage_type",
|
|
1678
|
+
"description": "Storage backend type",
|
|
1679
|
+
"required": true,
|
|
1680
|
+
"type": "string",
|
|
1681
|
+
"in": "body"
|
|
1682
|
+
}, {
|
|
1683
|
+
"name": "storage_path",
|
|
1684
|
+
"description": "Path where the file is stored",
|
|
1685
|
+
"required": true,
|
|
1686
|
+
"type": "string",
|
|
1687
|
+
"in": "body"
|
|
1688
|
+
}, {
|
|
1689
|
+
"name": "metadata",
|
|
1690
|
+
"description": "JSON string with additional metadata",
|
|
1691
|
+
"required": false,
|
|
1692
|
+
"type": "string",
|
|
1693
|
+
"in": "body"
|
|
1694
|
+
}]
|
|
827
1695
|
},
|
|
828
1696
|
"upload-file": {
|
|
829
1697
|
serviceClass: "Files",
|
|
830
1698
|
operationId: "uploadFile",
|
|
831
|
-
description: "
|
|
1699
|
+
description: "Uploads a file to the server and stores it in the configured storage directory",
|
|
1700
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
832
1701
|
pathParams: [],
|
|
833
|
-
queryParams: []
|
|
1702
|
+
queryParams: [],
|
|
1703
|
+
flags: []
|
|
834
1704
|
},
|
|
835
1705
|
"upload-file-base64": {
|
|
836
1706
|
serviceClass: "Files",
|
|
837
1707
|
operationId: "uploadFileBase64",
|
|
838
|
-
description: "
|
|
1708
|
+
description: "Uploads a file to the server using base64-encoded content",
|
|
1709
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
839
1710
|
pathParams: [],
|
|
840
|
-
queryParams: []
|
|
1711
|
+
queryParams: [],
|
|
1712
|
+
flags: []
|
|
841
1713
|
},
|
|
842
1714
|
"get-file": {
|
|
843
1715
|
serviceClass: "Files",
|
|
844
1716
|
operationId: "getFile",
|
|
845
|
-
description: "
|
|
1717
|
+
description: "Returns the data and metadata of a specific file",
|
|
1718
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
846
1719
|
pathParams: ["file_id"],
|
|
847
|
-
queryParams: []
|
|
1720
|
+
queryParams: [],
|
|
1721
|
+
flags: [{
|
|
1722
|
+
"name": "file_id",
|
|
1723
|
+
"description": "File ID",
|
|
1724
|
+
"required": true,
|
|
1725
|
+
"type": "string",
|
|
1726
|
+
"in": "path"
|
|
1727
|
+
}]
|
|
848
1728
|
},
|
|
849
1729
|
"delete-file": {
|
|
850
1730
|
serviceClass: "Files",
|
|
851
1731
|
operationId: "deleteFile",
|
|
852
|
-
description: "
|
|
1732
|
+
description: "Removes a file from the system by ID",
|
|
1733
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
853
1734
|
pathParams: ["file_id"],
|
|
854
|
-
queryParams: []
|
|
1735
|
+
queryParams: [],
|
|
1736
|
+
flags: [{
|
|
1737
|
+
"name": "file_id",
|
|
1738
|
+
"description": "ID of the file to delete",
|
|
1739
|
+
"required": true,
|
|
1740
|
+
"type": "string",
|
|
1741
|
+
"in": "path"
|
|
1742
|
+
}]
|
|
855
1743
|
},
|
|
856
1744
|
"download-file": {
|
|
857
1745
|
serviceClass: "Files",
|
|
858
1746
|
operationId: "downloadFile",
|
|
859
|
-
description: "
|
|
1747
|
+
description: "Streams the file content to the client",
|
|
1748
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
860
1749
|
pathParams: ["file_id"],
|
|
861
|
-
queryParams: []
|
|
1750
|
+
queryParams: [],
|
|
1751
|
+
flags: [{
|
|
1752
|
+
"name": "file_id",
|
|
1753
|
+
"description": "File ID",
|
|
1754
|
+
"required": true,
|
|
1755
|
+
"type": "string",
|
|
1756
|
+
"in": "path"
|
|
1757
|
+
}]
|
|
862
1758
|
},
|
|
863
1759
|
"update-file-metadata": {
|
|
864
1760
|
serviceClass: "Files",
|
|
865
1761
|
operationId: "updateFileMetadata",
|
|
866
|
-
description: "
|
|
1762
|
+
description: "Updates the metadata field of a file",
|
|
1763
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
867
1764
|
pathParams: ["file_id"],
|
|
868
|
-
queryParams: []
|
|
1765
|
+
queryParams: [],
|
|
1766
|
+
flags: [{
|
|
1767
|
+
"name": "file_id",
|
|
1768
|
+
"description": "File ID",
|
|
1769
|
+
"required": true,
|
|
1770
|
+
"type": "string",
|
|
1771
|
+
"in": "path"
|
|
1772
|
+
}, {
|
|
1773
|
+
"name": "metadata",
|
|
1774
|
+
"description": "New metadata as a JSON string",
|
|
1775
|
+
"required": false,
|
|
1776
|
+
"type": "string",
|
|
1777
|
+
"in": "body"
|
|
1778
|
+
}, {
|
|
1779
|
+
"name": "filename",
|
|
1780
|
+
"description": "New filename for the file",
|
|
1781
|
+
"required": false,
|
|
1782
|
+
"type": "string",
|
|
1783
|
+
"in": "body"
|
|
1784
|
+
}]
|
|
869
1785
|
},
|
|
870
1786
|
"download-file-base64": {
|
|
871
1787
|
serviceClass: "Files",
|
|
872
1788
|
operationId: "downloadFileBase64",
|
|
873
|
-
description: "
|
|
1789
|
+
description: "Returns the file content encoded as base64",
|
|
1790
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
874
1791
|
pathParams: ["file_id"],
|
|
875
|
-
queryParams: []
|
|
1792
|
+
queryParams: [],
|
|
1793
|
+
flags: [{
|
|
1794
|
+
"name": "file_id",
|
|
1795
|
+
"description": "File ID",
|
|
1796
|
+
"required": true,
|
|
1797
|
+
"type": "string",
|
|
1798
|
+
"in": "path"
|
|
1799
|
+
}]
|
|
876
1800
|
},
|
|
877
1801
|
"get-file-tags": {
|
|
878
1802
|
serviceClass: "Files",
|
|
879
1803
|
operationId: "getFileTags",
|
|
880
|
-
description: "
|
|
1804
|
+
description: "Returns all tags attached to the file",
|
|
1805
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
881
1806
|
pathParams: ["file_id"],
|
|
882
|
-
queryParams: []
|
|
1807
|
+
queryParams: [],
|
|
1808
|
+
flags: [{
|
|
1809
|
+
"name": "file_id",
|
|
1810
|
+
"description": "File ID",
|
|
1811
|
+
"required": true,
|
|
1812
|
+
"type": "string",
|
|
1813
|
+
"in": "path"
|
|
1814
|
+
}]
|
|
883
1815
|
},
|
|
884
1816
|
"replace-file-tags": {
|
|
885
1817
|
serviceClass: "Files",
|
|
886
1818
|
operationId: "replaceFileTags",
|
|
887
|
-
description: "
|
|
1819
|
+
description: "Replaces all tags on the file with the provided tags",
|
|
1820
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
888
1821
|
pathParams: ["file_id"],
|
|
889
|
-
queryParams: []
|
|
1822
|
+
queryParams: [],
|
|
1823
|
+
flags: [{
|
|
1824
|
+
"name": "file_id",
|
|
1825
|
+
"description": "File ID",
|
|
1826
|
+
"required": true,
|
|
1827
|
+
"type": "string",
|
|
1828
|
+
"in": "path"
|
|
1829
|
+
}]
|
|
890
1830
|
},
|
|
891
1831
|
"merge-file-tags": {
|
|
892
1832
|
serviceClass: "Files",
|
|
893
1833
|
operationId: "mergeFileTags",
|
|
894
|
-
description: "
|
|
1834
|
+
description: "Merges provided tags with existing tags",
|
|
1835
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
895
1836
|
pathParams: ["file_id"],
|
|
896
|
-
queryParams: []
|
|
1837
|
+
queryParams: [],
|
|
1838
|
+
flags: [{
|
|
1839
|
+
"name": "file_id",
|
|
1840
|
+
"description": "File ID",
|
|
1841
|
+
"required": true,
|
|
1842
|
+
"type": "string",
|
|
1843
|
+
"in": "path"
|
|
1844
|
+
}]
|
|
1845
|
+
},
|
|
1846
|
+
"validate-formation": {
|
|
1847
|
+
serviceClass: "Formations",
|
|
1848
|
+
operationId: "validateFormation",
|
|
1849
|
+
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.",
|
|
1850
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
|
|
1851
|
+
pathParams: [],
|
|
1852
|
+
queryParams: [],
|
|
1853
|
+
flags: [{
|
|
1854
|
+
"name": "template",
|
|
1855
|
+
"description": "",
|
|
1856
|
+
"required": true,
|
|
1857
|
+
"type": "string",
|
|
1858
|
+
"in": "body"
|
|
1859
|
+
}]
|
|
1860
|
+
},
|
|
1861
|
+
"plan-formation": {
|
|
1862
|
+
serviceClass: "Formations",
|
|
1863
|
+
operationId: "planFormation",
|
|
1864
|
+
description: "Computes a diff between the desired template and the current stack state without making any changes. Returns the list of planned actions.",
|
|
1865
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
|
|
1866
|
+
pathParams: [],
|
|
1867
|
+
queryParams: [],
|
|
1868
|
+
flags: [{
|
|
1869
|
+
"name": "project_id",
|
|
1870
|
+
"description": "Project ID",
|
|
1871
|
+
"required": true,
|
|
1872
|
+
"type": "string",
|
|
1873
|
+
"in": "body"
|
|
1874
|
+
}, {
|
|
1875
|
+
"name": "formation_id",
|
|
1876
|
+
"description": "Existing formation ID to compare against. Omit for new formation planning.",
|
|
1877
|
+
"required": false,
|
|
1878
|
+
"type": "string",
|
|
1879
|
+
"in": "body"
|
|
1880
|
+
}, {
|
|
1881
|
+
"name": "template",
|
|
1882
|
+
"description": "",
|
|
1883
|
+
"required": true,
|
|
1884
|
+
"type": "string",
|
|
1885
|
+
"in": "body"
|
|
1886
|
+
}, {
|
|
1887
|
+
"name": "parameters",
|
|
1888
|
+
"description": "Runtime parameter values that override or supply template parameter defaults. Keys must match parameter names declared in `template.parameters`.\n",
|
|
1889
|
+
"required": false,
|
|
1890
|
+
"type": "object",
|
|
1891
|
+
"in": "body"
|
|
1892
|
+
}]
|
|
1893
|
+
},
|
|
1894
|
+
"list-formations": {
|
|
1895
|
+
serviceClass: "Formations",
|
|
1896
|
+
operationId: "listFormations",
|
|
1897
|
+
description: "Returns all formation stacks for a project",
|
|
1898
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
|
|
1899
|
+
pathParams: [],
|
|
1900
|
+
queryParams: ["project_id"],
|
|
1901
|
+
flags: [{
|
|
1902
|
+
"name": "project_id",
|
|
1903
|
+
"description": "Project ID (required if not using project key auth)",
|
|
1904
|
+
"required": false,
|
|
1905
|
+
"type": "string",
|
|
1906
|
+
"in": "query"
|
|
1907
|
+
}]
|
|
1908
|
+
},
|
|
1909
|
+
"create-formation": {
|
|
1910
|
+
serviceClass: "Formations",
|
|
1911
|
+
operationId: "createFormation",
|
|
1912
|
+
description: "Validates the template, creates the formation record, then provisions all declared resources in dependency order.",
|
|
1913
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
|
|
1914
|
+
pathParams: [],
|
|
1915
|
+
queryParams: [],
|
|
1916
|
+
flags: [{
|
|
1917
|
+
"name": "project_id",
|
|
1918
|
+
"description": "Project ID",
|
|
1919
|
+
"required": true,
|
|
1920
|
+
"type": "string",
|
|
1921
|
+
"in": "body"
|
|
1922
|
+
}, {
|
|
1923
|
+
"name": "name",
|
|
1924
|
+
"description": "Human-readable name for the formation stack",
|
|
1925
|
+
"required": true,
|
|
1926
|
+
"type": "string",
|
|
1927
|
+
"in": "body"
|
|
1928
|
+
}, {
|
|
1929
|
+
"name": "template",
|
|
1930
|
+
"description": "",
|
|
1931
|
+
"required": true,
|
|
1932
|
+
"type": "string",
|
|
1933
|
+
"in": "body"
|
|
1934
|
+
}, {
|
|
1935
|
+
"name": "parameters",
|
|
1936
|
+
"description": "Runtime parameter values that override or supply template parameter defaults. Keys must match parameter names declared in `template.parameters`. Required parameters (those without a default) must be provided here.\n",
|
|
1937
|
+
"required": false,
|
|
1938
|
+
"type": "object",
|
|
1939
|
+
"in": "body"
|
|
1940
|
+
}, {
|
|
1941
|
+
"name": "metadata",
|
|
1942
|
+
"description": "",
|
|
1943
|
+
"required": false,
|
|
1944
|
+
"type": "object",
|
|
1945
|
+
"in": "body"
|
|
1946
|
+
}]
|
|
1947
|
+
},
|
|
1948
|
+
"get-formation": {
|
|
1949
|
+
serviceClass: "Formations",
|
|
1950
|
+
operationId: "getFormation",
|
|
1951
|
+
description: "Returns the formation stack including its current resources.",
|
|
1952
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
|
|
1953
|
+
pathParams: ["formation_id"],
|
|
1954
|
+
queryParams: [],
|
|
1955
|
+
flags: [{
|
|
1956
|
+
"name": "formation_id",
|
|
1957
|
+
"description": "",
|
|
1958
|
+
"required": true,
|
|
1959
|
+
"type": "string",
|
|
1960
|
+
"in": "path"
|
|
1961
|
+
}]
|
|
1962
|
+
},
|
|
1963
|
+
"update-formation": {
|
|
1964
|
+
serviceClass: "Formations",
|
|
1965
|
+
operationId: "updateFormation",
|
|
1966
|
+
description: "Applies a new template to the formation. Resources are created, updated, or deleted to reconcile the current state with the desired state.",
|
|
1967
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
|
|
1968
|
+
pathParams: ["formation_id"],
|
|
1969
|
+
queryParams: [],
|
|
1970
|
+
flags: [{
|
|
1971
|
+
"name": "formation_id",
|
|
1972
|
+
"description": "",
|
|
1973
|
+
"required": true,
|
|
1974
|
+
"type": "string",
|
|
1975
|
+
"in": "path"
|
|
1976
|
+
}, {
|
|
1977
|
+
"name": "template",
|
|
1978
|
+
"description": "",
|
|
1979
|
+
"required": false,
|
|
1980
|
+
"type": "string",
|
|
1981
|
+
"in": "body"
|
|
1982
|
+
}, {
|
|
1983
|
+
"name": "parameters",
|
|
1984
|
+
"description": "Runtime parameter values that override or supply template parameter defaults. Keys must match parameter names declared in `template.parameters`. Required parameters (those without a default) must be provided here.\n",
|
|
1985
|
+
"required": false,
|
|
1986
|
+
"type": "object",
|
|
1987
|
+
"in": "body"
|
|
1988
|
+
}, {
|
|
1989
|
+
"name": "metadata",
|
|
1990
|
+
"description": "",
|
|
1991
|
+
"required": false,
|
|
1992
|
+
"type": "object",
|
|
1993
|
+
"in": "body"
|
|
1994
|
+
}]
|
|
1995
|
+
},
|
|
1996
|
+
"delete-formation": {
|
|
1997
|
+
serviceClass: "Formations",
|
|
1998
|
+
operationId: "deleteFormation",
|
|
1999
|
+
description: "Deletes the formation stack and all its managed resources in reverse dependency order.",
|
|
2000
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
|
|
2001
|
+
pathParams: ["formation_id"],
|
|
2002
|
+
queryParams: [],
|
|
2003
|
+
flags: [{
|
|
2004
|
+
"name": "formation_id",
|
|
2005
|
+
"description": "",
|
|
2006
|
+
"required": true,
|
|
2007
|
+
"type": "string",
|
|
2008
|
+
"in": "path"
|
|
2009
|
+
}]
|
|
2010
|
+
},
|
|
2011
|
+
"list-formation-events": {
|
|
2012
|
+
serviceClass: "Formations",
|
|
2013
|
+
operationId: "listFormationEvents",
|
|
2014
|
+
description: "Returns all operations (create, update, delete) with their event logs for the formation, ordered chronologically.",
|
|
2015
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/formations",
|
|
2016
|
+
pathParams: ["formation_id"],
|
|
2017
|
+
queryParams: [],
|
|
2018
|
+
flags: [{
|
|
2019
|
+
"name": "formation_id",
|
|
2020
|
+
"description": "",
|
|
2021
|
+
"required": true,
|
|
2022
|
+
"type": "string",
|
|
2023
|
+
"in": "path"
|
|
2024
|
+
}]
|
|
897
2025
|
},
|
|
898
2026
|
"search-knowledge": {
|
|
899
2027
|
serviceClass: "Knowledge",
|
|
900
2028
|
operationId: "searchKnowledge",
|
|
901
|
-
description: "
|
|
2029
|
+
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.",
|
|
2030
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/knowledge",
|
|
902
2031
|
pathParams: [],
|
|
903
|
-
queryParams: []
|
|
2032
|
+
queryParams: [],
|
|
2033
|
+
flags: [{
|
|
2034
|
+
"name": "project_id",
|
|
2035
|
+
"description": "Limit search to a specific project",
|
|
2036
|
+
"required": false,
|
|
2037
|
+
"type": "string",
|
|
2038
|
+
"in": "body"
|
|
2039
|
+
}, {
|
|
2040
|
+
"name": "query",
|
|
2041
|
+
"description": "Semantic search query text",
|
|
2042
|
+
"required": false,
|
|
2043
|
+
"type": "string",
|
|
2044
|
+
"in": "body"
|
|
2045
|
+
}, {
|
|
2046
|
+
"name": "min_score",
|
|
2047
|
+
"description": "Minimum similarity score (0\u20131). Results with lower scores are excluded. Only applies when `query` is provided.",
|
|
2048
|
+
"required": false,
|
|
2049
|
+
"type": "number",
|
|
2050
|
+
"in": "body"
|
|
2051
|
+
}, {
|
|
2052
|
+
"name": "limit",
|
|
2053
|
+
"description": "Maximum number of results to return (default 10)",
|
|
2054
|
+
"required": false,
|
|
2055
|
+
"type": "integer",
|
|
2056
|
+
"in": "body"
|
|
2057
|
+
}, {
|
|
2058
|
+
"name": "memory_ids",
|
|
2059
|
+
"description": "Search entries within these specific memories",
|
|
2060
|
+
"required": false,
|
|
2061
|
+
"type": "array",
|
|
2062
|
+
"in": "body"
|
|
2063
|
+
}, {
|
|
2064
|
+
"name": "memory_tags",
|
|
2065
|
+
"description": "Search entries in memories whose tags match any of these patterns (glob supported)",
|
|
2066
|
+
"required": false,
|
|
2067
|
+
"type": "array",
|
|
2068
|
+
"in": "body"
|
|
2069
|
+
}, {
|
|
2070
|
+
"name": "document_paths",
|
|
2071
|
+
"description": "Filter results to documents whose file path starts with one of these prefixes",
|
|
2072
|
+
"required": false,
|
|
2073
|
+
"type": "array",
|
|
2074
|
+
"in": "body"
|
|
2075
|
+
}, {
|
|
2076
|
+
"name": "document_ids",
|
|
2077
|
+
"description": "Filter results to specific document IDs",
|
|
2078
|
+
"required": false,
|
|
2079
|
+
"type": "array",
|
|
2080
|
+
"in": "body"
|
|
2081
|
+
}]
|
|
904
2082
|
},
|
|
905
2083
|
"list-memories": {
|
|
906
2084
|
serviceClass: "Memories",
|
|
907
2085
|
operationId: "listMemories",
|
|
908
|
-
description: "
|
|
2086
|
+
description: "Returns a list of memory configurations for a project",
|
|
2087
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
|
|
909
2088
|
pathParams: [],
|
|
910
|
-
queryParams: ["project_id", "tags"]
|
|
2089
|
+
queryParams: ["project_id", "tags"],
|
|
2090
|
+
flags: [{
|
|
2091
|
+
"name": "project_id",
|
|
2092
|
+
"description": "Project ID (required if not using project key auth)",
|
|
2093
|
+
"required": false,
|
|
2094
|
+
"type": "string",
|
|
2095
|
+
"in": "query"
|
|
2096
|
+
}, {
|
|
2097
|
+
"name": "tags",
|
|
2098
|
+
"description": "Filter memories by tag patterns. Supports glob syntax (`*` matches any substring, `?` matches any single character). Multiple values are ORed \u2014 a memory is returned if any of its tags match any of the provided patterns. Omit to return all memories.\n",
|
|
2099
|
+
"required": false,
|
|
2100
|
+
"type": "array",
|
|
2101
|
+
"in": "query"
|
|
2102
|
+
}]
|
|
911
2103
|
},
|
|
912
2104
|
"create-memory": {
|
|
913
2105
|
serviceClass: "Memories",
|
|
914
2106
|
operationId: "createMemory",
|
|
915
|
-
description: "
|
|
2107
|
+
description: "Creates a new memory configuration in a project",
|
|
2108
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
|
|
916
2109
|
pathParams: [],
|
|
917
|
-
queryParams: []
|
|
2110
|
+
queryParams: [],
|
|
2111
|
+
flags: [{
|
|
2112
|
+
"name": "project_id",
|
|
2113
|
+
"description": "Project ID (required if not using project key auth)",
|
|
2114
|
+
"required": false,
|
|
2115
|
+
"type": "string",
|
|
2116
|
+
"in": "body"
|
|
2117
|
+
}, {
|
|
2118
|
+
"name": "name",
|
|
2119
|
+
"description": "Memory name",
|
|
2120
|
+
"required": true,
|
|
2121
|
+
"type": "string",
|
|
2122
|
+
"in": "body"
|
|
2123
|
+
}, {
|
|
2124
|
+
"name": "description",
|
|
2125
|
+
"description": "Optional description",
|
|
2126
|
+
"required": false,
|
|
2127
|
+
"type": "string",
|
|
2128
|
+
"in": "body"
|
|
2129
|
+
}, {
|
|
2130
|
+
"name": "tags",
|
|
2131
|
+
"description": "Optional list of tags for filtering in knowledge search",
|
|
2132
|
+
"required": false,
|
|
2133
|
+
"type": "array",
|
|
2134
|
+
"in": "body"
|
|
2135
|
+
}]
|
|
918
2136
|
},
|
|
919
2137
|
"get-memory": {
|
|
920
2138
|
serviceClass: "Memories",
|
|
921
2139
|
operationId: "getMemory",
|
|
922
|
-
description: "
|
|
2140
|
+
description: "Returns a single memory configuration by ID",
|
|
2141
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
|
|
923
2142
|
pathParams: ["memory_id"],
|
|
924
|
-
queryParams: []
|
|
2143
|
+
queryParams: [],
|
|
2144
|
+
flags: [{
|
|
2145
|
+
"name": "memory_id",
|
|
2146
|
+
"description": "",
|
|
2147
|
+
"required": true,
|
|
2148
|
+
"type": "string",
|
|
2149
|
+
"in": "path"
|
|
2150
|
+
}]
|
|
925
2151
|
},
|
|
926
2152
|
"update-memory": {
|
|
927
2153
|
serviceClass: "Memories",
|
|
928
2154
|
operationId: "updateMemory",
|
|
929
|
-
description: "
|
|
2155
|
+
description: "Updates an existing memory configuration",
|
|
2156
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
|
|
930
2157
|
pathParams: ["memory_id"],
|
|
931
|
-
queryParams: []
|
|
2158
|
+
queryParams: [],
|
|
2159
|
+
flags: [{
|
|
2160
|
+
"name": "memory_id",
|
|
2161
|
+
"description": "",
|
|
2162
|
+
"required": true,
|
|
2163
|
+
"type": "string",
|
|
2164
|
+
"in": "path"
|
|
2165
|
+
}, {
|
|
2166
|
+
"name": "name",
|
|
2167
|
+
"description": "Memory name",
|
|
2168
|
+
"required": false,
|
|
2169
|
+
"type": "string",
|
|
2170
|
+
"in": "body"
|
|
2171
|
+
}, {
|
|
2172
|
+
"name": "description",
|
|
2173
|
+
"description": "Optional description",
|
|
2174
|
+
"required": false,
|
|
2175
|
+
"type": "string",
|
|
2176
|
+
"in": "body"
|
|
2177
|
+
}, {
|
|
2178
|
+
"name": "tags",
|
|
2179
|
+
"description": "Optional list of tags for filtering in knowledge search",
|
|
2180
|
+
"required": false,
|
|
2181
|
+
"type": "array",
|
|
2182
|
+
"in": "body"
|
|
2183
|
+
}]
|
|
932
2184
|
},
|
|
933
2185
|
"delete-memory": {
|
|
934
2186
|
serviceClass: "Memories",
|
|
935
2187
|
operationId: "deleteMemory",
|
|
936
|
-
description: "
|
|
2188
|
+
description: "Deletes a memory configuration",
|
|
2189
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
|
|
937
2190
|
pathParams: ["memory_id"],
|
|
938
|
-
queryParams: []
|
|
2191
|
+
queryParams: [],
|
|
2192
|
+
flags: [{
|
|
2193
|
+
"name": "memory_id",
|
|
2194
|
+
"description": "",
|
|
2195
|
+
"required": true,
|
|
2196
|
+
"type": "string",
|
|
2197
|
+
"in": "path"
|
|
2198
|
+
}]
|
|
939
2199
|
},
|
|
940
2200
|
"list-memory-entries": {
|
|
941
2201
|
serviceClass: "MemoryEntries",
|
|
942
2202
|
operationId: "listMemoryEntries",
|
|
943
|
-
description: "
|
|
2203
|
+
description: "Returns all entries in a memory container",
|
|
2204
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
|
|
944
2205
|
pathParams: ["memory_id"],
|
|
945
|
-
queryParams: []
|
|
2206
|
+
queryParams: [],
|
|
2207
|
+
flags: [{
|
|
2208
|
+
"name": "memory_id",
|
|
2209
|
+
"description": "",
|
|
2210
|
+
"required": true,
|
|
2211
|
+
"type": "string",
|
|
2212
|
+
"in": "path"
|
|
2213
|
+
}]
|
|
946
2214
|
},
|
|
947
2215
|
"create-memory-entry": {
|
|
948
2216
|
serviceClass: "MemoryEntries",
|
|
949
2217
|
operationId: "createMemoryEntry",
|
|
950
|
-
description: "
|
|
2218
|
+
description: "Creates a new entry in the specified memory container. Automatically generates an embedding for semantic search.",
|
|
2219
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
|
|
951
2220
|
pathParams: ["memory_id"],
|
|
952
|
-
queryParams: []
|
|
2221
|
+
queryParams: [],
|
|
2222
|
+
flags: [{
|
|
2223
|
+
"name": "memory_id",
|
|
2224
|
+
"description": "",
|
|
2225
|
+
"required": true,
|
|
2226
|
+
"type": "string",
|
|
2227
|
+
"in": "path"
|
|
2228
|
+
}, {
|
|
2229
|
+
"name": "content",
|
|
2230
|
+
"description": "The text content of the memory entry",
|
|
2231
|
+
"required": true,
|
|
2232
|
+
"type": "string",
|
|
2233
|
+
"in": "body"
|
|
2234
|
+
}, {
|
|
2235
|
+
"name": "source",
|
|
2236
|
+
"description": "How this entry was created",
|
|
2237
|
+
"required": false,
|
|
2238
|
+
"type": "string",
|
|
2239
|
+
"in": "body"
|
|
2240
|
+
}, {
|
|
2241
|
+
"name": "duplicate_threshold",
|
|
2242
|
+
"description": "Cosine similarity score at or above which the incoming content is considered a duplicate and skipped (default 0.95)",
|
|
2243
|
+
"required": false,
|
|
2244
|
+
"type": "number",
|
|
2245
|
+
"in": "body"
|
|
2246
|
+
}, {
|
|
2247
|
+
"name": "update_threshold",
|
|
2248
|
+
"description": "Cosine similarity score at or above which the incoming content is appended to the existing entry (default 0.75)",
|
|
2249
|
+
"required": false,
|
|
2250
|
+
"type": "number",
|
|
2251
|
+
"in": "body"
|
|
2252
|
+
}]
|
|
953
2253
|
},
|
|
954
2254
|
"get-memory-entry": {
|
|
955
2255
|
serviceClass: "MemoryEntries",
|
|
956
2256
|
operationId: "getMemoryEntry",
|
|
957
|
-
description: "
|
|
2257
|
+
description: "Returns a single memory entry by ID",
|
|
2258
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
|
|
958
2259
|
pathParams: ["memory_id", "entry_id"],
|
|
959
|
-
queryParams: []
|
|
2260
|
+
queryParams: [],
|
|
2261
|
+
flags: [{
|
|
2262
|
+
"name": "memory_id",
|
|
2263
|
+
"description": "",
|
|
2264
|
+
"required": true,
|
|
2265
|
+
"type": "string",
|
|
2266
|
+
"in": "path"
|
|
2267
|
+
}, {
|
|
2268
|
+
"name": "entry_id",
|
|
2269
|
+
"description": "",
|
|
2270
|
+
"required": true,
|
|
2271
|
+
"type": "string",
|
|
2272
|
+
"in": "path"
|
|
2273
|
+
}]
|
|
960
2274
|
},
|
|
961
2275
|
"update-memory-entry": {
|
|
962
2276
|
serviceClass: "MemoryEntries",
|
|
963
2277
|
operationId: "updateMemoryEntry",
|
|
964
|
-
description: "
|
|
2278
|
+
description: "Updates an existing memory entry. Regenerates the embedding if content changes.",
|
|
2279
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
|
|
965
2280
|
pathParams: ["memory_id", "entry_id"],
|
|
966
|
-
queryParams: []
|
|
2281
|
+
queryParams: [],
|
|
2282
|
+
flags: [{
|
|
2283
|
+
"name": "memory_id",
|
|
2284
|
+
"description": "",
|
|
2285
|
+
"required": true,
|
|
2286
|
+
"type": "string",
|
|
2287
|
+
"in": "path"
|
|
2288
|
+
}, {
|
|
2289
|
+
"name": "entry_id",
|
|
2290
|
+
"description": "",
|
|
2291
|
+
"required": true,
|
|
2292
|
+
"type": "string",
|
|
2293
|
+
"in": "path"
|
|
2294
|
+
}, {
|
|
2295
|
+
"name": "content",
|
|
2296
|
+
"description": "Updated text content",
|
|
2297
|
+
"required": false,
|
|
2298
|
+
"type": "string",
|
|
2299
|
+
"in": "body"
|
|
2300
|
+
}]
|
|
967
2301
|
},
|
|
968
2302
|
"delete-memory-entry": {
|
|
969
2303
|
serviceClass: "MemoryEntries",
|
|
970
2304
|
operationId: "deleteMemoryEntry",
|
|
971
|
-
description: "
|
|
2305
|
+
description: "Deletes a memory entry",
|
|
2306
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memoryEntries",
|
|
972
2307
|
pathParams: ["memory_id", "entry_id"],
|
|
973
|
-
queryParams: []
|
|
2308
|
+
queryParams: [],
|
|
2309
|
+
flags: [{
|
|
2310
|
+
"name": "memory_id",
|
|
2311
|
+
"description": "",
|
|
2312
|
+
"required": true,
|
|
2313
|
+
"type": "string",
|
|
2314
|
+
"in": "path"
|
|
2315
|
+
}, {
|
|
2316
|
+
"name": "entry_id",
|
|
2317
|
+
"description": "",
|
|
2318
|
+
"required": true,
|
|
2319
|
+
"type": "string",
|
|
2320
|
+
"in": "path"
|
|
2321
|
+
}]
|
|
974
2322
|
},
|
|
975
2323
|
"list-policies": {
|
|
976
2324
|
serviceClass: "Policies",
|
|
977
2325
|
operationId: "listPolicies",
|
|
978
|
-
description: "
|
|
2326
|
+
description: "Returns a list of all global policies. Requires admin role.",
|
|
2327
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
|
|
979
2328
|
pathParams: [],
|
|
980
|
-
queryParams: []
|
|
2329
|
+
queryParams: [],
|
|
2330
|
+
flags: []
|
|
981
2331
|
},
|
|
982
2332
|
"create-policy": {
|
|
983
2333
|
serviceClass: "Policies",
|
|
984
2334
|
operationId: "createPolicy",
|
|
985
|
-
description: "
|
|
2335
|
+
description: "Creates a new global policy. Requires admin role.",
|
|
2336
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
|
|
986
2337
|
pathParams: [],
|
|
987
|
-
queryParams: []
|
|
2338
|
+
queryParams: [],
|
|
2339
|
+
flags: [{
|
|
2340
|
+
"name": "name",
|
|
2341
|
+
"description": "",
|
|
2342
|
+
"required": false,
|
|
2343
|
+
"type": "string",
|
|
2344
|
+
"in": "body"
|
|
2345
|
+
}, {
|
|
2346
|
+
"name": "description",
|
|
2347
|
+
"description": "",
|
|
2348
|
+
"required": false,
|
|
2349
|
+
"type": "string",
|
|
2350
|
+
"in": "body"
|
|
2351
|
+
}, {
|
|
2352
|
+
"name": "document",
|
|
2353
|
+
"description": "",
|
|
2354
|
+
"required": true,
|
|
2355
|
+
"type": "string",
|
|
2356
|
+
"in": "body"
|
|
2357
|
+
}]
|
|
988
2358
|
},
|
|
989
2359
|
"get-policy": {
|
|
990
2360
|
serviceClass: "Policies",
|
|
991
2361
|
operationId: "getPolicy",
|
|
992
|
-
description: "
|
|
2362
|
+
description: "Returns details of a specific policy. Requires admin role.",
|
|
2363
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
|
|
993
2364
|
pathParams: ["policy_id"],
|
|
994
|
-
queryParams: []
|
|
2365
|
+
queryParams: [],
|
|
2366
|
+
flags: [{
|
|
2367
|
+
"name": "policy_id",
|
|
2368
|
+
"description": "Policy public ID (pol_ prefix)",
|
|
2369
|
+
"required": true,
|
|
2370
|
+
"type": "string",
|
|
2371
|
+
"in": "path"
|
|
2372
|
+
}]
|
|
995
2373
|
},
|
|
996
2374
|
"update-policy": {
|
|
997
2375
|
serviceClass: "Policies",
|
|
998
2376
|
operationId: "updatePolicy",
|
|
999
|
-
description: "
|
|
2377
|
+
description: "Updates an existing global policy. Requires admin role.",
|
|
2378
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
|
|
1000
2379
|
pathParams: ["policy_id"],
|
|
1001
|
-
queryParams: []
|
|
2380
|
+
queryParams: [],
|
|
2381
|
+
flags: [{
|
|
2382
|
+
"name": "policy_id",
|
|
2383
|
+
"description": "Policy public ID (pol_ prefix)",
|
|
2384
|
+
"required": true,
|
|
2385
|
+
"type": "string",
|
|
2386
|
+
"in": "path"
|
|
2387
|
+
}, {
|
|
2388
|
+
"name": "name",
|
|
2389
|
+
"description": "",
|
|
2390
|
+
"required": false,
|
|
2391
|
+
"type": "string",
|
|
2392
|
+
"in": "body"
|
|
2393
|
+
}, {
|
|
2394
|
+
"name": "description",
|
|
2395
|
+
"description": "",
|
|
2396
|
+
"required": false,
|
|
2397
|
+
"type": "string",
|
|
2398
|
+
"in": "body"
|
|
2399
|
+
}, {
|
|
2400
|
+
"name": "document",
|
|
2401
|
+
"description": "",
|
|
2402
|
+
"required": true,
|
|
2403
|
+
"type": "string",
|
|
2404
|
+
"in": "body"
|
|
2405
|
+
}]
|
|
1002
2406
|
},
|
|
1003
2407
|
"delete-policy": {
|
|
1004
2408
|
serviceClass: "Policies",
|
|
1005
2409
|
operationId: "deletePolicy",
|
|
1006
|
-
description: "
|
|
2410
|
+
description: "Deletes a global policy. Requires admin role.",
|
|
2411
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/policies",
|
|
1007
2412
|
pathParams: ["policy_id"],
|
|
1008
|
-
queryParams: []
|
|
2413
|
+
queryParams: [],
|
|
2414
|
+
flags: [{
|
|
2415
|
+
"name": "policy_id",
|
|
2416
|
+
"description": "Policy public ID (pol_ prefix)",
|
|
2417
|
+
"required": true,
|
|
2418
|
+
"type": "string",
|
|
2419
|
+
"in": "path"
|
|
2420
|
+
}]
|
|
1009
2421
|
},
|
|
1010
2422
|
"create-project": {
|
|
1011
2423
|
serviceClass: "Projects",
|
|
1012
2424
|
operationId: "createProject",
|
|
1013
|
-
description: "
|
|
2425
|
+
description: "Creates a new project. Requires admin role.",
|
|
2426
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
|
|
1014
2427
|
pathParams: [],
|
|
1015
|
-
queryParams: []
|
|
2428
|
+
queryParams: [],
|
|
2429
|
+
flags: [{
|
|
2430
|
+
"name": "name",
|
|
2431
|
+
"description": "",
|
|
2432
|
+
"required": true,
|
|
2433
|
+
"type": "string",
|
|
2434
|
+
"in": "body"
|
|
2435
|
+
}]
|
|
1016
2436
|
},
|
|
1017
2437
|
"get-project": {
|
|
1018
2438
|
serviceClass: "Projects",
|
|
1019
2439
|
operationId: "getProject",
|
|
1020
|
-
description: "
|
|
2440
|
+
description: "Returns details of a specific project.",
|
|
2441
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
|
|
1021
2442
|
pathParams: ["project_id"],
|
|
1022
|
-
queryParams: []
|
|
2443
|
+
queryParams: [],
|
|
2444
|
+
flags: [{
|
|
2445
|
+
"name": "project_id",
|
|
2446
|
+
"description": "Project public ID (proj_ prefix)",
|
|
2447
|
+
"required": true,
|
|
2448
|
+
"type": "string",
|
|
2449
|
+
"in": "path"
|
|
2450
|
+
}]
|
|
1023
2451
|
},
|
|
1024
2452
|
"delete-project": {
|
|
1025
2453
|
serviceClass: "Projects",
|
|
1026
2454
|
operationId: "deleteProject",
|
|
1027
|
-
description: "
|
|
2455
|
+
description: "Deletes a project. Requires admin role.",
|
|
2456
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
|
|
1028
2457
|
pathParams: ["project_id"],
|
|
1029
|
-
queryParams: []
|
|
2458
|
+
queryParams: [],
|
|
2459
|
+
flags: [{
|
|
2460
|
+
"name": "project_id",
|
|
2461
|
+
"description": "Project public ID (proj_ prefix)",
|
|
2462
|
+
"required": true,
|
|
2463
|
+
"type": "string",
|
|
2464
|
+
"in": "path"
|
|
2465
|
+
}]
|
|
1030
2466
|
},
|
|
1031
2467
|
"list-secrets": {
|
|
1032
2468
|
serviceClass: "Secrets",
|
|
1033
2469
|
operationId: "listSecrets",
|
|
1034
|
-
description: "
|
|
2470
|
+
description: "Returns a list of secrets for a project",
|
|
2471
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
|
|
1035
2472
|
pathParams: [],
|
|
1036
|
-
queryParams: ["project_id", "limit", "offset"]
|
|
2473
|
+
queryParams: ["project_id", "limit", "offset"],
|
|
2474
|
+
flags: [{
|
|
2475
|
+
"name": "project_id",
|
|
2476
|
+
"description": "Project ID (required if not using project key auth)",
|
|
2477
|
+
"required": false,
|
|
2478
|
+
"type": "string",
|
|
2479
|
+
"in": "query"
|
|
2480
|
+
}, {
|
|
2481
|
+
"name": "limit",
|
|
2482
|
+
"description": "Number of results per page",
|
|
2483
|
+
"required": false,
|
|
2484
|
+
"type": "integer",
|
|
2485
|
+
"in": "query"
|
|
2486
|
+
}, {
|
|
2487
|
+
"name": "offset",
|
|
2488
|
+
"description": "Number of results to skip",
|
|
2489
|
+
"required": false,
|
|
2490
|
+
"type": "integer",
|
|
2491
|
+
"in": "query"
|
|
2492
|
+
}]
|
|
1037
2493
|
},
|
|
1038
2494
|
"create-secret": {
|
|
1039
2495
|
serviceClass: "Secrets",
|
|
1040
2496
|
operationId: "createSecret",
|
|
1041
|
-
description: "
|
|
2497
|
+
description: "Creates a new encrypted secret in a project",
|
|
2498
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
|
|
1042
2499
|
pathParams: [],
|
|
1043
|
-
queryParams: []
|
|
2500
|
+
queryParams: [],
|
|
2501
|
+
flags: [{
|
|
2502
|
+
"name": "project_id",
|
|
2503
|
+
"description": "Project ID (required if not using project key auth)",
|
|
2504
|
+
"required": false,
|
|
2505
|
+
"type": "string",
|
|
2506
|
+
"in": "body"
|
|
2507
|
+
}, {
|
|
2508
|
+
"name": "name",
|
|
2509
|
+
"description": "Secret name",
|
|
2510
|
+
"required": true,
|
|
2511
|
+
"type": "string",
|
|
2512
|
+
"in": "body"
|
|
2513
|
+
}, {
|
|
2514
|
+
"name": "value",
|
|
2515
|
+
"description": "Secret value (will be encrypted)",
|
|
2516
|
+
"required": true,
|
|
2517
|
+
"type": "string",
|
|
2518
|
+
"in": "body"
|
|
2519
|
+
}]
|
|
1044
2520
|
},
|
|
1045
2521
|
"get-secret": {
|
|
1046
2522
|
serviceClass: "Secrets",
|
|
1047
2523
|
operationId: "getSecret",
|
|
1048
|
-
description: "
|
|
2524
|
+
description: "Returns a specific secret",
|
|
2525
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
|
|
1049
2526
|
pathParams: ["secret_id"],
|
|
1050
|
-
queryParams: []
|
|
2527
|
+
queryParams: [],
|
|
2528
|
+
flags: [{
|
|
2529
|
+
"name": "secret_id",
|
|
2530
|
+
"description": "Secret ID",
|
|
2531
|
+
"required": true,
|
|
2532
|
+
"type": "string",
|
|
2533
|
+
"in": "path"
|
|
2534
|
+
}]
|
|
1051
2535
|
},
|
|
1052
2536
|
"update-secret": {
|
|
1053
2537
|
serviceClass: "Secrets",
|
|
1054
2538
|
operationId: "updateSecret",
|
|
1055
|
-
description: "
|
|
2539
|
+
description: "Updates a secret's name and/or value",
|
|
2540
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
|
|
1056
2541
|
pathParams: ["secret_id"],
|
|
1057
|
-
queryParams: []
|
|
2542
|
+
queryParams: [],
|
|
2543
|
+
flags: [{
|
|
2544
|
+
"name": "secret_id",
|
|
2545
|
+
"description": "Secret ID",
|
|
2546
|
+
"required": true,
|
|
2547
|
+
"type": "string",
|
|
2548
|
+
"in": "path"
|
|
2549
|
+
}, {
|
|
2550
|
+
"name": "name",
|
|
2551
|
+
"description": "New secret name",
|
|
2552
|
+
"required": false,
|
|
2553
|
+
"type": "string",
|
|
2554
|
+
"in": "body"
|
|
2555
|
+
}, {
|
|
2556
|
+
"name": "value",
|
|
2557
|
+
"description": "New secret value",
|
|
2558
|
+
"required": false,
|
|
2559
|
+
"type": "string",
|
|
2560
|
+
"in": "body"
|
|
2561
|
+
}]
|
|
1058
2562
|
},
|
|
1059
2563
|
"delete-secret": {
|
|
1060
2564
|
serviceClass: "Secrets",
|
|
1061
2565
|
operationId: "deleteSecret",
|
|
1062
|
-
description: "
|
|
2566
|
+
description: "Deletes a secret",
|
|
2567
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/secrets",
|
|
1063
2568
|
pathParams: ["secret_id"],
|
|
1064
|
-
queryParams: []
|
|
2569
|
+
queryParams: [],
|
|
2570
|
+
flags: [{
|
|
2571
|
+
"name": "secret_id",
|
|
2572
|
+
"description": "Secret ID",
|
|
2573
|
+
"required": true,
|
|
2574
|
+
"type": "string",
|
|
2575
|
+
"in": "path"
|
|
2576
|
+
}]
|
|
1065
2577
|
},
|
|
1066
2578
|
"list-agent-sessions": {
|
|
1067
2579
|
serviceClass: "Sessions",
|
|
1068
2580
|
operationId: "listAgentSessions",
|
|
1069
|
-
description: "
|
|
2581
|
+
description: "Returns sessions for the specified agent, optionally filtered by actorId and status.",
|
|
2582
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
|
|
1070
2583
|
pathParams: ["agent_id"],
|
|
1071
|
-
queryParams: ["actor_id", "status", "limit", "offset"]
|
|
2584
|
+
queryParams: ["actor_id", "status", "limit", "offset"],
|
|
2585
|
+
flags: [{
|
|
2586
|
+
"name": "agent_id",
|
|
2587
|
+
"description": "Agent public ID",
|
|
2588
|
+
"required": true,
|
|
2589
|
+
"type": "string",
|
|
2590
|
+
"in": "path"
|
|
2591
|
+
}, {
|
|
2592
|
+
"name": "actor_id",
|
|
2593
|
+
"description": "Filter by actor public ID",
|
|
2594
|
+
"required": false,
|
|
2595
|
+
"type": "string",
|
|
2596
|
+
"in": "query"
|
|
2597
|
+
}, {
|
|
2598
|
+
"name": "status",
|
|
2599
|
+
"description": "Filter by session status (open or closed)",
|
|
2600
|
+
"required": false,
|
|
2601
|
+
"type": "string",
|
|
2602
|
+
"in": "query"
|
|
2603
|
+
}, {
|
|
2604
|
+
"name": "limit",
|
|
2605
|
+
"description": "",
|
|
2606
|
+
"required": false,
|
|
2607
|
+
"type": "integer",
|
|
2608
|
+
"in": "query"
|
|
2609
|
+
}, {
|
|
2610
|
+
"name": "offset",
|
|
2611
|
+
"description": "",
|
|
2612
|
+
"required": false,
|
|
2613
|
+
"type": "integer",
|
|
2614
|
+
"in": "query"
|
|
2615
|
+
}]
|
|
1072
2616
|
},
|
|
1073
2617
|
"create-agent-session": {
|
|
1074
2618
|
serviceClass: "Sessions",
|
|
1075
2619
|
operationId: "createAgentSession",
|
|
1076
|
-
description: "
|
|
2620
|
+
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.",
|
|
2621
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
|
|
1077
2622
|
pathParams: ["agent_id"],
|
|
1078
|
-
queryParams: []
|
|
2623
|
+
queryParams: [],
|
|
2624
|
+
flags: [{
|
|
2625
|
+
"name": "agent_id",
|
|
2626
|
+
"description": "Agent public ID",
|
|
2627
|
+
"required": true,
|
|
2628
|
+
"type": "string",
|
|
2629
|
+
"in": "path"
|
|
2630
|
+
}]
|
|
1079
2631
|
},
|
|
1080
2632
|
"get-agent-session": {
|
|
1081
2633
|
serviceClass: "Sessions",
|
|
1082
2634
|
operationId: "getAgentSession",
|
|
1083
|
-
description: "
|
|
2635
|
+
description: "Returns details of a single session.",
|
|
2636
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
|
|
1084
2637
|
pathParams: ["agent_id", "session_id"],
|
|
1085
|
-
queryParams: []
|
|
2638
|
+
queryParams: [],
|
|
2639
|
+
flags: [{
|
|
2640
|
+
"name": "agent_id",
|
|
2641
|
+
"description": "Agent public ID",
|
|
2642
|
+
"required": true,
|
|
2643
|
+
"type": "string",
|
|
2644
|
+
"in": "path"
|
|
2645
|
+
}, {
|
|
2646
|
+
"name": "session_id",
|
|
2647
|
+
"description": "Session public ID",
|
|
2648
|
+
"required": true,
|
|
2649
|
+
"type": "string",
|
|
2650
|
+
"in": "path"
|
|
2651
|
+
}]
|
|
1086
2652
|
},
|
|
1087
2653
|
"update-session": {
|
|
1088
2654
|
serviceClass: "Sessions",
|
|
1089
2655
|
operationId: "updateSession",
|
|
1090
|
-
description: "
|
|
2656
|
+
description: "Updates the session name and/or status.",
|
|
2657
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
|
|
1091
2658
|
pathParams: ["agent_id", "session_id"],
|
|
1092
|
-
queryParams: []
|
|
2659
|
+
queryParams: [],
|
|
2660
|
+
flags: [{
|
|
2661
|
+
"name": "agent_id",
|
|
2662
|
+
"description": "Agent public ID",
|
|
2663
|
+
"required": true,
|
|
2664
|
+
"type": "string",
|
|
2665
|
+
"in": "path"
|
|
2666
|
+
}, {
|
|
2667
|
+
"name": "session_id",
|
|
2668
|
+
"description": "Session public ID",
|
|
2669
|
+
"required": true,
|
|
2670
|
+
"type": "string",
|
|
2671
|
+
"in": "path"
|
|
2672
|
+
}]
|
|
1093
2673
|
},
|
|
1094
2674
|
"delete-agent-session": {
|
|
1095
2675
|
serviceClass: "Sessions",
|
|
1096
2676
|
operationId: "deleteAgentSession",
|
|
1097
|
-
description: "
|
|
2677
|
+
description: "Deletes the session and its underlying conversation and actors.",
|
|
2678
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
|
|
1098
2679
|
pathParams: ["agent_id", "session_id"],
|
|
1099
|
-
queryParams: []
|
|
2680
|
+
queryParams: [],
|
|
2681
|
+
flags: [{
|
|
2682
|
+
"name": "agent_id",
|
|
2683
|
+
"description": "Agent public ID",
|
|
2684
|
+
"required": true,
|
|
2685
|
+
"type": "string",
|
|
2686
|
+
"in": "path"
|
|
2687
|
+
}, {
|
|
2688
|
+
"name": "session_id",
|
|
2689
|
+
"description": "Session public ID",
|
|
2690
|
+
"required": true,
|
|
2691
|
+
"type": "string",
|
|
2692
|
+
"in": "path"
|
|
2693
|
+
}]
|
|
1100
2694
|
},
|
|
1101
2695
|
"list-agent-session-messages": {
|
|
1102
2696
|
serviceClass: "Sessions",
|
|
1103
2697
|
operationId: "listAgentSessionMessages",
|
|
1104
|
-
description: "
|
|
2698
|
+
description: "Returns messages in the session with simplified roles (user/assistant) instead of raw actor IDs.",
|
|
2699
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
|
|
1105
2700
|
pathParams: ["agent_id", "session_id"],
|
|
1106
|
-
queryParams: ["limit", "offset"]
|
|
2701
|
+
queryParams: ["limit", "offset"],
|
|
2702
|
+
flags: [{
|
|
2703
|
+
"name": "agent_id",
|
|
2704
|
+
"description": "Agent public ID",
|
|
2705
|
+
"required": true,
|
|
2706
|
+
"type": "string",
|
|
2707
|
+
"in": "path"
|
|
2708
|
+
}, {
|
|
2709
|
+
"name": "session_id",
|
|
2710
|
+
"description": "Session public ID",
|
|
2711
|
+
"required": true,
|
|
2712
|
+
"type": "string",
|
|
2713
|
+
"in": "path"
|
|
2714
|
+
}, {
|
|
2715
|
+
"name": "limit",
|
|
2716
|
+
"description": "",
|
|
2717
|
+
"required": false,
|
|
2718
|
+
"type": "integer",
|
|
2719
|
+
"in": "query"
|
|
2720
|
+
}, {
|
|
2721
|
+
"name": "offset",
|
|
2722
|
+
"description": "",
|
|
2723
|
+
"required": false,
|
|
2724
|
+
"type": "integer",
|
|
2725
|
+
"in": "query"
|
|
2726
|
+
}]
|
|
1107
2727
|
},
|
|
1108
2728
|
"add-session-message": {
|
|
1109
2729
|
serviceClass: "Sessions",
|
|
1110
2730
|
operationId: "addSessionMessage",
|
|
1111
|
-
description: "
|
|
2731
|
+
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.",
|
|
2732
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
|
|
1112
2733
|
pathParams: ["agent_id", "session_id"],
|
|
1113
|
-
queryParams: []
|
|
2734
|
+
queryParams: [],
|
|
2735
|
+
flags: [{
|
|
2736
|
+
"name": "agent_id",
|
|
2737
|
+
"description": "Agent public ID",
|
|
2738
|
+
"required": true,
|
|
2739
|
+
"type": "string",
|
|
2740
|
+
"in": "path"
|
|
2741
|
+
}, {
|
|
2742
|
+
"name": "session_id",
|
|
2743
|
+
"description": "Session public ID",
|
|
2744
|
+
"required": true,
|
|
2745
|
+
"type": "string",
|
|
2746
|
+
"in": "path"
|
|
2747
|
+
}]
|
|
1114
2748
|
},
|
|
1115
2749
|
"generate-session-response": {
|
|
1116
2750
|
serviceClass: "Sessions",
|
|
1117
2751
|
operationId: "generateSessionResponse",
|
|
1118
|
-
description: "
|
|
2752
|
+
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.",
|
|
2753
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
|
|
1119
2754
|
pathParams: ["agent_id", "session_id"],
|
|
1120
|
-
queryParams: ["async"]
|
|
2755
|
+
queryParams: ["async"],
|
|
2756
|
+
flags: [{
|
|
2757
|
+
"name": "agent_id",
|
|
2758
|
+
"description": "Agent public ID",
|
|
2759
|
+
"required": true,
|
|
2760
|
+
"type": "string",
|
|
2761
|
+
"in": "path"
|
|
2762
|
+
}, {
|
|
2763
|
+
"name": "session_id",
|
|
2764
|
+
"description": "Session public ID",
|
|
2765
|
+
"required": true,
|
|
2766
|
+
"type": "string",
|
|
2767
|
+
"in": "path"
|
|
2768
|
+
}, {
|
|
2769
|
+
"name": "async",
|
|
2770
|
+
"description": "When true, generation runs in the background and 202 is returned immediately",
|
|
2771
|
+
"required": false,
|
|
2772
|
+
"type": "boolean",
|
|
2773
|
+
"in": "query"
|
|
2774
|
+
}]
|
|
1121
2775
|
},
|
|
1122
2776
|
"submit-session-tool-outputs": {
|
|
1123
2777
|
serviceClass: "Sessions",
|
|
1124
2778
|
operationId: "submitSessionToolOutputs",
|
|
1125
|
-
description: "
|
|
2779
|
+
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.",
|
|
2780
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
|
|
1126
2781
|
pathParams: ["agent_id", "session_id"],
|
|
1127
|
-
queryParams: []
|
|
2782
|
+
queryParams: [],
|
|
2783
|
+
flags: [{
|
|
2784
|
+
"name": "agent_id",
|
|
2785
|
+
"description": "Agent public ID",
|
|
2786
|
+
"required": true,
|
|
2787
|
+
"type": "string",
|
|
2788
|
+
"in": "path"
|
|
2789
|
+
}, {
|
|
2790
|
+
"name": "session_id",
|
|
2791
|
+
"description": "Session public ID",
|
|
2792
|
+
"required": true,
|
|
2793
|
+
"type": "string",
|
|
2794
|
+
"in": "path"
|
|
2795
|
+
}]
|
|
1128
2796
|
},
|
|
1129
2797
|
"get-session-tags": {
|
|
1130
2798
|
serviceClass: "Sessions",
|
|
1131
2799
|
operationId: "getSessionTags",
|
|
1132
|
-
description: "
|
|
2800
|
+
description: "Returns the session's tags object.",
|
|
2801
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
|
|
1133
2802
|
pathParams: ["agent_id", "session_id"],
|
|
1134
|
-
queryParams: []
|
|
2803
|
+
queryParams: [],
|
|
2804
|
+
flags: [{
|
|
2805
|
+
"name": "agent_id",
|
|
2806
|
+
"description": "Agent public ID",
|
|
2807
|
+
"required": true,
|
|
2808
|
+
"type": "string",
|
|
2809
|
+
"in": "path"
|
|
2810
|
+
}, {
|
|
2811
|
+
"name": "session_id",
|
|
2812
|
+
"description": "Session public ID",
|
|
2813
|
+
"required": true,
|
|
2814
|
+
"type": "string",
|
|
2815
|
+
"in": "path"
|
|
2816
|
+
}]
|
|
1135
2817
|
},
|
|
1136
2818
|
"replace-session-tags": {
|
|
1137
2819
|
serviceClass: "Sessions",
|
|
1138
2820
|
operationId: "replaceSessionTags",
|
|
1139
|
-
description: "
|
|
2821
|
+
description: "Replaces all tags on the session.",
|
|
2822
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
|
|
1140
2823
|
pathParams: ["agent_id", "session_id"],
|
|
1141
|
-
queryParams: []
|
|
2824
|
+
queryParams: [],
|
|
2825
|
+
flags: [{
|
|
2826
|
+
"name": "agent_id",
|
|
2827
|
+
"description": "Agent public ID",
|
|
2828
|
+
"required": true,
|
|
2829
|
+
"type": "string",
|
|
2830
|
+
"in": "path"
|
|
2831
|
+
}, {
|
|
2832
|
+
"name": "session_id",
|
|
2833
|
+
"description": "Session public ID",
|
|
2834
|
+
"required": true,
|
|
2835
|
+
"type": "string",
|
|
2836
|
+
"in": "path"
|
|
2837
|
+
}]
|
|
1142
2838
|
},
|
|
1143
2839
|
"merge-session-tags": {
|
|
1144
2840
|
serviceClass: "Sessions",
|
|
1145
2841
|
operationId: "mergeSessionTags",
|
|
1146
|
-
description: "
|
|
2842
|
+
description: "Merges the provided tags into the session's existing tags.",
|
|
2843
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/sessions",
|
|
1147
2844
|
pathParams: ["agent_id", "session_id"],
|
|
1148
|
-
queryParams: []
|
|
2845
|
+
queryParams: [],
|
|
2846
|
+
flags: [{
|
|
2847
|
+
"name": "agent_id",
|
|
2848
|
+
"description": "Agent public ID",
|
|
2849
|
+
"required": true,
|
|
2850
|
+
"type": "string",
|
|
2851
|
+
"in": "path"
|
|
2852
|
+
}, {
|
|
2853
|
+
"name": "session_id",
|
|
2854
|
+
"description": "Session public ID",
|
|
2855
|
+
"required": true,
|
|
2856
|
+
"type": "string",
|
|
2857
|
+
"in": "path"
|
|
2858
|
+
}]
|
|
1149
2859
|
},
|
|
1150
2860
|
"list-traces": {
|
|
1151
2861
|
serviceClass: "Traces",
|
|
1152
2862
|
operationId: "listTraces",
|
|
1153
|
-
description: "
|
|
2863
|
+
description: "Returns a paginated list of execution traces for the project.",
|
|
2864
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/traces",
|
|
1154
2865
|
pathParams: [],
|
|
1155
|
-
queryParams: ["project_id", "limit", "offset"]
|
|
2866
|
+
queryParams: ["project_id", "limit", "offset"],
|
|
2867
|
+
flags: [{
|
|
2868
|
+
"name": "project_id",
|
|
2869
|
+
"description": "Project public ID to filter by",
|
|
2870
|
+
"required": false,
|
|
2871
|
+
"type": "string",
|
|
2872
|
+
"in": "query"
|
|
2873
|
+
}, {
|
|
2874
|
+
"name": "limit",
|
|
2875
|
+
"description": "Maximum number of results to return",
|
|
2876
|
+
"required": false,
|
|
2877
|
+
"type": "integer",
|
|
2878
|
+
"in": "query"
|
|
2879
|
+
}, {
|
|
2880
|
+
"name": "offset",
|
|
2881
|
+
"description": "Number of results to skip",
|
|
2882
|
+
"required": false,
|
|
2883
|
+
"type": "integer",
|
|
2884
|
+
"in": "query"
|
|
2885
|
+
}]
|
|
1156
2886
|
},
|
|
1157
2887
|
"get-trace": {
|
|
1158
2888
|
serviceClass: "Traces",
|
|
1159
2889
|
operationId: "getTrace",
|
|
1160
|
-
description: "
|
|
2890
|
+
description: "Returns a single trace by ID.",
|
|
2891
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/traces",
|
|
1161
2892
|
pathParams: ["trace_id"],
|
|
1162
|
-
queryParams: []
|
|
2893
|
+
queryParams: [],
|
|
2894
|
+
flags: [{
|
|
2895
|
+
"name": "trace_id",
|
|
2896
|
+
"description": "Public ID of the trace",
|
|
2897
|
+
"required": true,
|
|
2898
|
+
"type": "string",
|
|
2899
|
+
"in": "path"
|
|
2900
|
+
}]
|
|
1163
2901
|
},
|
|
1164
2902
|
"get-trace-tree": {
|
|
1165
2903
|
serviceClass: "Traces",
|
|
1166
2904
|
operationId: "getTraceTree",
|
|
1167
|
-
description: "
|
|
2905
|
+
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.",
|
|
2906
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/traces",
|
|
1168
2907
|
pathParams: ["trace_id"],
|
|
1169
|
-
queryParams: []
|
|
2908
|
+
queryParams: [],
|
|
2909
|
+
flags: [{
|
|
2910
|
+
"name": "trace_id",
|
|
2911
|
+
"description": "Public ID of any trace in the tree (root or child)",
|
|
2912
|
+
"required": true,
|
|
2913
|
+
"type": "string",
|
|
2914
|
+
"in": "path"
|
|
2915
|
+
}]
|
|
1170
2916
|
},
|
|
1171
2917
|
"list-users": {
|
|
1172
2918
|
serviceClass: "Users",
|
|
1173
2919
|
operationId: "listUsers",
|
|
1174
|
-
description: "
|
|
2920
|
+
description: "Returns a list of all users",
|
|
2921
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
|
|
1175
2922
|
pathParams: [],
|
|
1176
|
-
queryParams: []
|
|
2923
|
+
queryParams: [],
|
|
2924
|
+
flags: []
|
|
1177
2925
|
},
|
|
1178
2926
|
"create-user": {
|
|
1179
2927
|
serviceClass: "Users",
|
|
1180
2928
|
operationId: "createUser",
|
|
1181
|
-
description: "
|
|
2929
|
+
description: "Creates a new user in the system",
|
|
2930
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
|
|
1182
2931
|
pathParams: [],
|
|
1183
|
-
queryParams: []
|
|
2932
|
+
queryParams: [],
|
|
2933
|
+
flags: [{
|
|
2934
|
+
"name": "username",
|
|
2935
|
+
"description": "",
|
|
2936
|
+
"required": true,
|
|
2937
|
+
"type": "string",
|
|
2938
|
+
"in": "body"
|
|
2939
|
+
}, {
|
|
2940
|
+
"name": "password",
|
|
2941
|
+
"description": "",
|
|
2942
|
+
"required": true,
|
|
2943
|
+
"type": "string",
|
|
2944
|
+
"in": "body"
|
|
2945
|
+
}, {
|
|
2946
|
+
"name": "role",
|
|
2947
|
+
"description": "",
|
|
2948
|
+
"required": false,
|
|
2949
|
+
"type": "string",
|
|
2950
|
+
"in": "body"
|
|
2951
|
+
}]
|
|
1184
2952
|
},
|
|
1185
2953
|
"get-user": {
|
|
1186
2954
|
serviceClass: "Users",
|
|
1187
2955
|
operationId: "getUser",
|
|
1188
|
-
description: "
|
|
2956
|
+
description: "Returns the data of a specific user",
|
|
2957
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
|
|
1189
2958
|
pathParams: ["user_id"],
|
|
1190
|
-
queryParams: []
|
|
2959
|
+
queryParams: [],
|
|
2960
|
+
flags: [{
|
|
2961
|
+
"name": "user_id",
|
|
2962
|
+
"description": "User ID",
|
|
2963
|
+
"required": true,
|
|
2964
|
+
"type": "string",
|
|
2965
|
+
"in": "path"
|
|
2966
|
+
}]
|
|
1191
2967
|
},
|
|
1192
2968
|
"delete-user": {
|
|
1193
2969
|
serviceClass: "Users",
|
|
1194
2970
|
operationId: "deleteUser",
|
|
1195
|
-
description: "
|
|
2971
|
+
description: "Deletes a specific user",
|
|
2972
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
|
|
1196
2973
|
pathParams: ["user_id"],
|
|
1197
|
-
queryParams: []
|
|
2974
|
+
queryParams: [],
|
|
2975
|
+
flags: [{
|
|
2976
|
+
"name": "user_id",
|
|
2977
|
+
"description": "User ID",
|
|
2978
|
+
"required": true,
|
|
2979
|
+
"type": "string",
|
|
2980
|
+
"in": "path"
|
|
2981
|
+
}]
|
|
1198
2982
|
},
|
|
1199
2983
|
"bootstrap-user": {
|
|
1200
2984
|
serviceClass: "Users",
|
|
1201
2985
|
operationId: "bootstrapUser",
|
|
1202
|
-
description: "
|
|
2986
|
+
description: "Creates the first admin user. Returns 409 if any user already exists.",
|
|
2987
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
|
|
1203
2988
|
pathParams: [],
|
|
1204
|
-
queryParams: []
|
|
2989
|
+
queryParams: [],
|
|
2990
|
+
flags: [{
|
|
2991
|
+
"name": "username",
|
|
2992
|
+
"description": "",
|
|
2993
|
+
"required": true,
|
|
2994
|
+
"type": "string",
|
|
2995
|
+
"in": "body"
|
|
2996
|
+
}, {
|
|
2997
|
+
"name": "password",
|
|
2998
|
+
"description": "",
|
|
2999
|
+
"required": true,
|
|
3000
|
+
"type": "string",
|
|
3001
|
+
"in": "body"
|
|
3002
|
+
}]
|
|
1205
3003
|
},
|
|
1206
3004
|
"login-user": {
|
|
1207
3005
|
serviceClass: "Users",
|
|
1208
3006
|
operationId: "loginUser",
|
|
1209
|
-
description: "
|
|
3007
|
+
description: "Authenticates a user and returns a JWT token",
|
|
3008
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
|
|
1210
3009
|
pathParams: [],
|
|
1211
|
-
queryParams: []
|
|
3010
|
+
queryParams: [],
|
|
3011
|
+
flags: [{
|
|
3012
|
+
"name": "username",
|
|
3013
|
+
"description": "",
|
|
3014
|
+
"required": true,
|
|
3015
|
+
"type": "string",
|
|
3016
|
+
"in": "body"
|
|
3017
|
+
}, {
|
|
3018
|
+
"name": "password",
|
|
3019
|
+
"description": "",
|
|
3020
|
+
"required": true,
|
|
3021
|
+
"type": "string",
|
|
3022
|
+
"in": "body"
|
|
3023
|
+
}]
|
|
1212
3024
|
},
|
|
1213
3025
|
"get-user-policies": {
|
|
1214
3026
|
serviceClass: "Users",
|
|
1215
3027
|
operationId: "getUserPolicies",
|
|
1216
|
-
description: "
|
|
3028
|
+
description: "Returns the list of policies attached to a user. Requires admin role.",
|
|
3029
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
|
|
1217
3030
|
pathParams: ["user_id"],
|
|
1218
|
-
queryParams: []
|
|
3031
|
+
queryParams: [],
|
|
3032
|
+
flags: [{
|
|
3033
|
+
"name": "user_id",
|
|
3034
|
+
"description": "User public ID (usr_ prefix)",
|
|
3035
|
+
"required": true,
|
|
3036
|
+
"type": "string",
|
|
3037
|
+
"in": "path"
|
|
3038
|
+
}]
|
|
1219
3039
|
},
|
|
1220
3040
|
"attach-user-policies": {
|
|
1221
3041
|
serviceClass: "Users",
|
|
1222
3042
|
operationId: "attachUserPolicies",
|
|
1223
|
-
description: "
|
|
3043
|
+
description: "Replaces the user's policy list with the provided policy IDs. Requires admin role.",
|
|
3044
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/users",
|
|
1224
3045
|
pathParams: ["user_id"],
|
|
1225
|
-
queryParams: []
|
|
3046
|
+
queryParams: [],
|
|
3047
|
+
flags: [{
|
|
3048
|
+
"name": "user_id",
|
|
3049
|
+
"description": "User public ID (usr_ prefix)",
|
|
3050
|
+
"required": true,
|
|
3051
|
+
"type": "string",
|
|
3052
|
+
"in": "path"
|
|
3053
|
+
}, {
|
|
3054
|
+
"name": "policy_ids",
|
|
3055
|
+
"description": "List of policy public IDs to attach (replaces existing)",
|
|
3056
|
+
"required": true,
|
|
3057
|
+
"type": "array",
|
|
3058
|
+
"in": "body"
|
|
3059
|
+
}]
|
|
1226
3060
|
},
|
|
1227
3061
|
"list-webhooks": {
|
|
1228
3062
|
serviceClass: "Webhooks",
|
|
1229
3063
|
operationId: "listWebhooks",
|
|
1230
|
-
description: "
|
|
3064
|
+
description: "Lists all webhooks configured for the specified project",
|
|
3065
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
|
|
1231
3066
|
pathParams: ["project_id"],
|
|
1232
|
-
queryParams: []
|
|
3067
|
+
queryParams: [],
|
|
3068
|
+
flags: [{
|
|
3069
|
+
"name": "project_id",
|
|
3070
|
+
"description": "",
|
|
3071
|
+
"required": true,
|
|
3072
|
+
"type": "string",
|
|
3073
|
+
"in": "path"
|
|
3074
|
+
}]
|
|
1233
3075
|
},
|
|
1234
3076
|
"create-webhook": {
|
|
1235
3077
|
serviceClass: "Webhooks",
|
|
1236
3078
|
operationId: "createWebhook",
|
|
1237
|
-
description: "
|
|
3079
|
+
description: "Creates a new webhook for the specified project",
|
|
3080
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
|
|
1238
3081
|
pathParams: ["project_id"],
|
|
1239
|
-
queryParams: []
|
|
3082
|
+
queryParams: [],
|
|
3083
|
+
flags: [{
|
|
3084
|
+
"name": "project_id",
|
|
3085
|
+
"description": "",
|
|
3086
|
+
"required": true,
|
|
3087
|
+
"type": "string",
|
|
3088
|
+
"in": "path"
|
|
3089
|
+
}]
|
|
1240
3090
|
},
|
|
1241
3091
|
"get-webhook": {
|
|
1242
3092
|
serviceClass: "Webhooks",
|
|
1243
3093
|
operationId: "getWebhook",
|
|
1244
|
-
description: "
|
|
3094
|
+
description: "Retrieves the details of a specific webhook",
|
|
3095
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
|
|
1245
3096
|
pathParams: ["project_id", "webhook_id"],
|
|
1246
|
-
queryParams: []
|
|
3097
|
+
queryParams: [],
|
|
3098
|
+
flags: [{
|
|
3099
|
+
"name": "project_id",
|
|
3100
|
+
"description": "",
|
|
3101
|
+
"required": true,
|
|
3102
|
+
"type": "string",
|
|
3103
|
+
"in": "path"
|
|
3104
|
+
}, {
|
|
3105
|
+
"name": "webhook_id",
|
|
3106
|
+
"description": "",
|
|
3107
|
+
"required": true,
|
|
3108
|
+
"type": "string",
|
|
3109
|
+
"in": "path"
|
|
3110
|
+
}]
|
|
1247
3111
|
},
|
|
1248
3112
|
"update-webhook": {
|
|
1249
3113
|
serviceClass: "Webhooks",
|
|
1250
3114
|
operationId: "updateWebhook",
|
|
1251
|
-
description: "
|
|
3115
|
+
description: "Updates an existing webhook's configuration",
|
|
3116
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
|
|
1252
3117
|
pathParams: ["project_id", "webhook_id"],
|
|
1253
|
-
queryParams: []
|
|
3118
|
+
queryParams: [],
|
|
3119
|
+
flags: [{
|
|
3120
|
+
"name": "project_id",
|
|
3121
|
+
"description": "",
|
|
3122
|
+
"required": true,
|
|
3123
|
+
"type": "string",
|
|
3124
|
+
"in": "path"
|
|
3125
|
+
}, {
|
|
3126
|
+
"name": "webhook_id",
|
|
3127
|
+
"description": "",
|
|
3128
|
+
"required": true,
|
|
3129
|
+
"type": "string",
|
|
3130
|
+
"in": "path"
|
|
3131
|
+
}]
|
|
1254
3132
|
},
|
|
1255
3133
|
"delete-webhook": {
|
|
1256
3134
|
serviceClass: "Webhooks",
|
|
1257
3135
|
operationId: "deleteWebhook",
|
|
1258
|
-
description: "
|
|
3136
|
+
description: "Deletes a webhook and stops all event deliveries",
|
|
3137
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
|
|
1259
3138
|
pathParams: ["project_id", "webhook_id"],
|
|
1260
|
-
queryParams: []
|
|
3139
|
+
queryParams: [],
|
|
3140
|
+
flags: [{
|
|
3141
|
+
"name": "project_id",
|
|
3142
|
+
"description": "",
|
|
3143
|
+
"required": true,
|
|
3144
|
+
"type": "string",
|
|
3145
|
+
"in": "path"
|
|
3146
|
+
}, {
|
|
3147
|
+
"name": "webhook_id",
|
|
3148
|
+
"description": "",
|
|
3149
|
+
"required": true,
|
|
3150
|
+
"type": "string",
|
|
3151
|
+
"in": "path"
|
|
3152
|
+
}]
|
|
1261
3153
|
},
|
|
1262
3154
|
"list-webhook-deliveries": {
|
|
1263
3155
|
serviceClass: "Webhooks",
|
|
1264
3156
|
operationId: "listWebhookDeliveries",
|
|
1265
|
-
description: "
|
|
3157
|
+
description: "Lists all event deliveries for a specific webhook",
|
|
3158
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
|
|
1266
3159
|
pathParams: ["project_id", "webhook_id"],
|
|
1267
|
-
queryParams: ["limit", "offset"]
|
|
3160
|
+
queryParams: ["limit", "offset"],
|
|
3161
|
+
flags: [{
|
|
3162
|
+
"name": "project_id",
|
|
3163
|
+
"description": "",
|
|
3164
|
+
"required": true,
|
|
3165
|
+
"type": "string",
|
|
3166
|
+
"in": "path"
|
|
3167
|
+
}, {
|
|
3168
|
+
"name": "webhook_id",
|
|
3169
|
+
"description": "",
|
|
3170
|
+
"required": true,
|
|
3171
|
+
"type": "string",
|
|
3172
|
+
"in": "path"
|
|
3173
|
+
}, {
|
|
3174
|
+
"name": "limit",
|
|
3175
|
+
"description": "",
|
|
3176
|
+
"required": false,
|
|
3177
|
+
"type": "integer",
|
|
3178
|
+
"in": "query"
|
|
3179
|
+
}, {
|
|
3180
|
+
"name": "offset",
|
|
3181
|
+
"description": "",
|
|
3182
|
+
"required": false,
|
|
3183
|
+
"type": "integer",
|
|
3184
|
+
"in": "query"
|
|
3185
|
+
}]
|
|
1268
3186
|
},
|
|
1269
3187
|
"get-webhook-delivery": {
|
|
1270
3188
|
serviceClass: "Webhooks",
|
|
1271
3189
|
operationId: "getWebhookDelivery",
|
|
1272
|
-
description: "
|
|
3190
|
+
description: "Retrieves the details of a specific webhook delivery",
|
|
3191
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
|
|
1273
3192
|
pathParams: ["project_id", "webhook_id", "delivery_id"],
|
|
1274
|
-
queryParams: []
|
|
3193
|
+
queryParams: [],
|
|
3194
|
+
flags: [{
|
|
3195
|
+
"name": "project_id",
|
|
3196
|
+
"description": "",
|
|
3197
|
+
"required": true,
|
|
3198
|
+
"type": "string",
|
|
3199
|
+
"in": "path"
|
|
3200
|
+
}, {
|
|
3201
|
+
"name": "webhook_id",
|
|
3202
|
+
"description": "",
|
|
3203
|
+
"required": true,
|
|
3204
|
+
"type": "string",
|
|
3205
|
+
"in": "path"
|
|
3206
|
+
}, {
|
|
3207
|
+
"name": "delivery_id",
|
|
3208
|
+
"description": "",
|
|
3209
|
+
"required": true,
|
|
3210
|
+
"type": "string",
|
|
3211
|
+
"in": "path"
|
|
3212
|
+
}]
|
|
1275
3213
|
},
|
|
1276
3214
|
"rotate-webhook-secret": {
|
|
1277
3215
|
serviceClass: "Webhooks",
|
|
1278
3216
|
operationId: "rotateWebhookSecret",
|
|
1279
|
-
description: "
|
|
3217
|
+
description: "Rotates the secret key for the specified webhook",
|
|
3218
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/webhooks",
|
|
1280
3219
|
pathParams: ["project_id", "webhook_id"],
|
|
1281
|
-
queryParams: []
|
|
3220
|
+
queryParams: [],
|
|
3221
|
+
flags: [{
|
|
3222
|
+
"name": "project_id",
|
|
3223
|
+
"description": "",
|
|
3224
|
+
"required": true,
|
|
3225
|
+
"type": "string",
|
|
3226
|
+
"in": "path"
|
|
3227
|
+
}, {
|
|
3228
|
+
"name": "webhook_id",
|
|
3229
|
+
"description": "",
|
|
3230
|
+
"required": true,
|
|
3231
|
+
"type": "string",
|
|
3232
|
+
"in": "path"
|
|
3233
|
+
}]
|
|
1282
3234
|
}
|
|
1283
3235
|
};
|
|
1284
3236
|
|
|
@@ -1319,6 +3271,7 @@ var resolveServiceClass = /* @__PURE__ */__name(serviceClassName => {
|
|
|
1319
3271
|
return void 0;
|
|
1320
3272
|
}, "resolveServiceClass");
|
|
1321
3273
|
program.name("soat").description("SOAT CLI").version(package_default.version).option("-p, --profile <name>", "config profile to use");
|
|
3274
|
+
program.addHelpText("after", "\nTip: Run `soat <command> --help` to see command-specific flags and docs.");
|
|
1322
3275
|
program.command("configure").description("Save credentials to a named profile (~/.soat/config.json)").option("-p, --profile <name>", "profile name", "default").action(async opts => {
|
|
1323
3276
|
const [{
|
|
1324
3277
|
default: input
|
|
@@ -1458,7 +3411,7 @@ program.command("listen").description("Start a local webhook listener for testin
|
|
|
1458
3411
|
});
|
|
1459
3412
|
});
|
|
1460
3413
|
});
|
|
1461
|
-
program.argument("[command]", "API command in kebab-case (e.g. list-actors)").argument("[args...]").allowUnknownOption().action(async commandName => {
|
|
3414
|
+
program.argument("[command]", "API command in kebab-case (e.g. list-actors)").argument("[args...]").allowUnknownOption().passThroughOptions().action(async commandName => {
|
|
1462
3415
|
if (!commandName) {
|
|
1463
3416
|
program.help();
|
|
1464
3417
|
return;
|
|
@@ -1471,6 +3424,31 @@ program.argument("[command]", "API command in kebab-case (e.g. list-actors)").ar
|
|
|
1471
3424
|
}
|
|
1472
3425
|
const rawIdx = process.argv.indexOf(commandName);
|
|
1473
3426
|
const rawArgs = rawIdx >= 0 ? process.argv.slice(rawIdx + 1) : [];
|
|
3427
|
+
if (rawArgs.includes("--help") || rawArgs.includes("-h")) {
|
|
3428
|
+
const wrapperFlags = getWrapperHelpFlags(commandName);
|
|
3429
|
+
const allFlags = [...route.flags, ...wrapperFlags.map(f => {
|
|
3430
|
+
return {
|
|
3431
|
+
...f,
|
|
3432
|
+
in: "wrapper"
|
|
3433
|
+
};
|
|
3434
|
+
})];
|
|
3435
|
+
console.log(`
|
|
3436
|
+
Usage: soat ${commandName} [flags]
|
|
3437
|
+
`);
|
|
3438
|
+
console.log(` ${route.description}
|
|
3439
|
+
`);
|
|
3440
|
+
console.log(` Module docs: ${route.moduleDocsUrl}
|
|
3441
|
+
`);
|
|
3442
|
+
if (allFlags.length > 0) {
|
|
3443
|
+
console.log("Flags:");
|
|
3444
|
+
for (const f of allFlags) {
|
|
3445
|
+
const req = f.required ? " [required]" : "";
|
|
3446
|
+
const desc = f.description ? ` ${f.description}` : "";
|
|
3447
|
+
console.log(` --${f.name} <${f.type}>${req}${desc}`);
|
|
3448
|
+
}
|
|
3449
|
+
}
|
|
3450
|
+
process.exit(0);
|
|
3451
|
+
}
|
|
1474
3452
|
const parsedFlags = parseUnknownWithRepeats({
|
|
1475
3453
|
cliArgs: rawArgs
|
|
1476
3454
|
});
|