@soat/cli 0.5.5 → 0.5.6
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 +2249 -271
- 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.6",
|
|
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
|
},
|
|
@@ -142,6 +142,22 @@ var resolveEnvRef = /* @__PURE__ */__name(args => {
|
|
|
142
142
|
var agentFormationsWrapper = {
|
|
143
143
|
id: "agent-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
|
|
@@ -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: []
|
|
544
|
+
queryParams: [],
|
|
545
|
+
flags: [{
|
|
546
|
+
"name": "actor_id",
|
|
547
|
+
"description": "Actor ID",
|
|
548
|
+
"required": true,
|
|
549
|
+
"type": "string",
|
|
550
|
+
"in": "path"
|
|
551
|
+
}]
|
|
400
552
|
},
|
|
401
553
|
"validate-agent-formation": {
|
|
402
554
|
serviceClass: "AgentFormations",
|
|
403
555
|
operationId: "validateAgentFormation",
|
|
404
|
-
description: "
|
|
556
|
+
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.",
|
|
557
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agent-formations",
|
|
405
558
|
pathParams: [],
|
|
406
|
-
queryParams: []
|
|
559
|
+
queryParams: [],
|
|
560
|
+
flags: [{
|
|
561
|
+
"name": "template",
|
|
562
|
+
"description": "",
|
|
563
|
+
"required": true,
|
|
564
|
+
"type": "string",
|
|
565
|
+
"in": "body"
|
|
566
|
+
}]
|
|
407
567
|
},
|
|
408
568
|
"plan-agent-formation": {
|
|
409
569
|
serviceClass: "AgentFormations",
|
|
410
570
|
operationId: "planAgentFormation",
|
|
411
|
-
description: "
|
|
571
|
+
description: "Computes a diff between the desired template and the current stack state without making any changes. Returns the list of planned actions.",
|
|
572
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agent-formations",
|
|
412
573
|
pathParams: [],
|
|
413
|
-
queryParams: []
|
|
574
|
+
queryParams: [],
|
|
575
|
+
flags: [{
|
|
576
|
+
"name": "project_id",
|
|
577
|
+
"description": "Project ID",
|
|
578
|
+
"required": true,
|
|
579
|
+
"type": "string",
|
|
580
|
+
"in": "body"
|
|
581
|
+
}, {
|
|
582
|
+
"name": "formation_id",
|
|
583
|
+
"description": "Existing formation ID to compare against. Omit for new formation planning.",
|
|
584
|
+
"required": false,
|
|
585
|
+
"type": "string",
|
|
586
|
+
"in": "body"
|
|
587
|
+
}, {
|
|
588
|
+
"name": "template",
|
|
589
|
+
"description": "",
|
|
590
|
+
"required": true,
|
|
591
|
+
"type": "string",
|
|
592
|
+
"in": "body"
|
|
593
|
+
}, {
|
|
594
|
+
"name": "parameters",
|
|
595
|
+
"description": "Runtime parameter values that override or supply template parameter defaults. Keys must match parameter names declared in `template.parameters`.\n",
|
|
596
|
+
"required": false,
|
|
597
|
+
"type": "object",
|
|
598
|
+
"in": "body"
|
|
599
|
+
}]
|
|
414
600
|
},
|
|
415
601
|
"list-agent-formations": {
|
|
416
602
|
serviceClass: "AgentFormations",
|
|
417
603
|
operationId: "listAgentFormations",
|
|
418
|
-
description: "
|
|
604
|
+
description: "Returns all formation stacks for a project",
|
|
605
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agent-formations",
|
|
419
606
|
pathParams: [],
|
|
420
|
-
queryParams: ["project_id"]
|
|
607
|
+
queryParams: ["project_id"],
|
|
608
|
+
flags: [{
|
|
609
|
+
"name": "project_id",
|
|
610
|
+
"description": "Project ID (required if not using project key auth)",
|
|
611
|
+
"required": false,
|
|
612
|
+
"type": "string",
|
|
613
|
+
"in": "query"
|
|
614
|
+
}]
|
|
421
615
|
},
|
|
422
616
|
"create-agent-formation": {
|
|
423
617
|
serviceClass: "AgentFormations",
|
|
424
618
|
operationId: "createAgentFormation",
|
|
425
|
-
description: "
|
|
619
|
+
description: "Validates the template, creates the formation record, then provisions all declared resources in dependency order.",
|
|
620
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agent-formations",
|
|
426
621
|
pathParams: [],
|
|
427
|
-
queryParams: []
|
|
622
|
+
queryParams: [],
|
|
623
|
+
flags: [{
|
|
624
|
+
"name": "project_id",
|
|
625
|
+
"description": "Project ID",
|
|
626
|
+
"required": true,
|
|
627
|
+
"type": "string",
|
|
628
|
+
"in": "body"
|
|
629
|
+
}, {
|
|
630
|
+
"name": "name",
|
|
631
|
+
"description": "Human-readable name for the formation stack",
|
|
632
|
+
"required": true,
|
|
633
|
+
"type": "string",
|
|
634
|
+
"in": "body"
|
|
635
|
+
}, {
|
|
636
|
+
"name": "template",
|
|
637
|
+
"description": "",
|
|
638
|
+
"required": true,
|
|
639
|
+
"type": "string",
|
|
640
|
+
"in": "body"
|
|
641
|
+
}, {
|
|
642
|
+
"name": "parameters",
|
|
643
|
+
"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",
|
|
644
|
+
"required": false,
|
|
645
|
+
"type": "object",
|
|
646
|
+
"in": "body"
|
|
647
|
+
}, {
|
|
648
|
+
"name": "metadata",
|
|
649
|
+
"description": "",
|
|
650
|
+
"required": false,
|
|
651
|
+
"type": "object",
|
|
652
|
+
"in": "body"
|
|
653
|
+
}]
|
|
428
654
|
},
|
|
429
655
|
"get-agent-formation": {
|
|
430
656
|
serviceClass: "AgentFormations",
|
|
431
657
|
operationId: "getAgentFormation",
|
|
432
|
-
description: "
|
|
658
|
+
description: "Returns the formation stack including its current resources.",
|
|
659
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agent-formations",
|
|
433
660
|
pathParams: ["formation_id"],
|
|
434
|
-
queryParams: []
|
|
661
|
+
queryParams: [],
|
|
662
|
+
flags: [{
|
|
663
|
+
"name": "formation_id",
|
|
664
|
+
"description": "",
|
|
665
|
+
"required": true,
|
|
666
|
+
"type": "string",
|
|
667
|
+
"in": "path"
|
|
668
|
+
}]
|
|
435
669
|
},
|
|
436
670
|
"update-agent-formation": {
|
|
437
671
|
serviceClass: "AgentFormations",
|
|
438
672
|
operationId: "updateAgentFormation",
|
|
439
|
-
description: "
|
|
673
|
+
description: "Applies a new template to the formation. Resources are created, updated, or deleted to reconcile the current state with the desired state.",
|
|
674
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agent-formations",
|
|
440
675
|
pathParams: ["formation_id"],
|
|
441
|
-
queryParams: []
|
|
676
|
+
queryParams: [],
|
|
677
|
+
flags: [{
|
|
678
|
+
"name": "formation_id",
|
|
679
|
+
"description": "",
|
|
680
|
+
"required": true,
|
|
681
|
+
"type": "string",
|
|
682
|
+
"in": "path"
|
|
683
|
+
}, {
|
|
684
|
+
"name": "template",
|
|
685
|
+
"description": "",
|
|
686
|
+
"required": false,
|
|
687
|
+
"type": "string",
|
|
688
|
+
"in": "body"
|
|
689
|
+
}, {
|
|
690
|
+
"name": "parameters",
|
|
691
|
+
"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",
|
|
692
|
+
"required": false,
|
|
693
|
+
"type": "object",
|
|
694
|
+
"in": "body"
|
|
695
|
+
}, {
|
|
696
|
+
"name": "metadata",
|
|
697
|
+
"description": "",
|
|
698
|
+
"required": false,
|
|
699
|
+
"type": "object",
|
|
700
|
+
"in": "body"
|
|
701
|
+
}]
|
|
442
702
|
},
|
|
443
703
|
"delete-agent-formation": {
|
|
444
704
|
serviceClass: "AgentFormations",
|
|
445
705
|
operationId: "deleteAgentFormation",
|
|
446
|
-
description: "
|
|
706
|
+
description: "Deletes the formation stack and all its managed resources in reverse dependency order.",
|
|
707
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agent-formations",
|
|
447
708
|
pathParams: ["formation_id"],
|
|
448
|
-
queryParams: []
|
|
709
|
+
queryParams: [],
|
|
710
|
+
flags: [{
|
|
711
|
+
"name": "formation_id",
|
|
712
|
+
"description": "",
|
|
713
|
+
"required": true,
|
|
714
|
+
"type": "string",
|
|
715
|
+
"in": "path"
|
|
716
|
+
}]
|
|
449
717
|
},
|
|
450
718
|
"list-agent-formation-events": {
|
|
451
719
|
serviceClass: "AgentFormations",
|
|
452
720
|
operationId: "listAgentFormationEvents",
|
|
453
|
-
description: "
|
|
721
|
+
description: "Returns all operations (create, update, delete) with their event logs for the formation, ordered chronologically.",
|
|
722
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agent-formations",
|
|
454
723
|
pathParams: ["formation_id"],
|
|
455
|
-
queryParams: []
|
|
724
|
+
queryParams: [],
|
|
725
|
+
flags: [{
|
|
726
|
+
"name": "formation_id",
|
|
727
|
+
"description": "",
|
|
728
|
+
"required": true,
|
|
729
|
+
"type": "string",
|
|
730
|
+
"in": "path"
|
|
731
|
+
}]
|
|
456
732
|
},
|
|
457
733
|
"list-agent-tools": {
|
|
458
734
|
serviceClass: "AgentTools",
|
|
459
735
|
operationId: "listAgentTools",
|
|
460
|
-
description: "
|
|
736
|
+
description: "Returns all agent tools in the project.",
|
|
737
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
461
738
|
pathParams: [],
|
|
462
|
-
queryParams: ["project_id"]
|
|
739
|
+
queryParams: ["project_id"],
|
|
740
|
+
flags: [{
|
|
741
|
+
"name": "project_id",
|
|
742
|
+
"description": "Project public ID to filter by",
|
|
743
|
+
"required": false,
|
|
744
|
+
"type": "string",
|
|
745
|
+
"in": "query"
|
|
746
|
+
}]
|
|
463
747
|
},
|
|
464
748
|
"create-agent-tool": {
|
|
465
749
|
serviceClass: "AgentTools",
|
|
466
750
|
operationId: "createAgentTool",
|
|
467
|
-
description: "
|
|
751
|
+
description: "Creates a new agent tool in the project.",
|
|
752
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
468
753
|
pathParams: [],
|
|
469
|
-
queryParams: []
|
|
754
|
+
queryParams: [],
|
|
755
|
+
flags: []
|
|
470
756
|
},
|
|
471
757
|
"get-agent-tool": {
|
|
472
758
|
serviceClass: "AgentTools",
|
|
473
759
|
operationId: "getAgentTool",
|
|
474
|
-
description: "
|
|
760
|
+
description: "Returns a single agent tool by ID.",
|
|
761
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
475
762
|
pathParams: ["tool_id"],
|
|
476
|
-
queryParams: []
|
|
763
|
+
queryParams: [],
|
|
764
|
+
flags: [{
|
|
765
|
+
"name": "tool_id",
|
|
766
|
+
"description": "",
|
|
767
|
+
"required": true,
|
|
768
|
+
"type": "string",
|
|
769
|
+
"in": "path"
|
|
770
|
+
}]
|
|
477
771
|
},
|
|
478
772
|
"update-agent-tool": {
|
|
479
773
|
serviceClass: "AgentTools",
|
|
480
774
|
operationId: "updateAgentTool",
|
|
481
|
-
description: "
|
|
775
|
+
description: "Updates an existing agent tool.",
|
|
776
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
482
777
|
pathParams: ["tool_id"],
|
|
483
|
-
queryParams: []
|
|
778
|
+
queryParams: [],
|
|
779
|
+
flags: [{
|
|
780
|
+
"name": "tool_id",
|
|
781
|
+
"description": "",
|
|
782
|
+
"required": true,
|
|
783
|
+
"type": "string",
|
|
784
|
+
"in": "path"
|
|
785
|
+
}]
|
|
484
786
|
},
|
|
485
787
|
"delete-agent-tool": {
|
|
486
788
|
serviceClass: "AgentTools",
|
|
487
789
|
operationId: "deleteAgentTool",
|
|
488
|
-
description: "
|
|
790
|
+
description: "Deletes an agent tool by ID.",
|
|
791
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
489
792
|
pathParams: ["tool_id"],
|
|
490
|
-
queryParams: []
|
|
793
|
+
queryParams: [],
|
|
794
|
+
flags: [{
|
|
795
|
+
"name": "tool_id",
|
|
796
|
+
"description": "",
|
|
797
|
+
"required": true,
|
|
798
|
+
"type": "string",
|
|
799
|
+
"in": "path"
|
|
800
|
+
}]
|
|
491
801
|
},
|
|
492
802
|
"list-agents": {
|
|
493
803
|
serviceClass: "Agents",
|
|
494
804
|
operationId: "listAgents",
|
|
495
|
-
description: "
|
|
805
|
+
description: "Returns all agents in the project.",
|
|
806
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
496
807
|
pathParams: [],
|
|
497
|
-
queryParams: ["project_id"]
|
|
808
|
+
queryParams: ["project_id"],
|
|
809
|
+
flags: [{
|
|
810
|
+
"name": "project_id",
|
|
811
|
+
"description": "Project public ID to filter by",
|
|
812
|
+
"required": false,
|
|
813
|
+
"type": "string",
|
|
814
|
+
"in": "query"
|
|
815
|
+
}]
|
|
498
816
|
},
|
|
499
817
|
"create-agent": {
|
|
500
818
|
serviceClass: "Agents",
|
|
501
819
|
operationId: "createAgent",
|
|
502
|
-
description: "
|
|
820
|
+
description: "Creates a new agent bound to an AI provider.",
|
|
821
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
503
822
|
pathParams: [],
|
|
504
|
-
queryParams: []
|
|
823
|
+
queryParams: [],
|
|
824
|
+
flags: []
|
|
505
825
|
},
|
|
506
826
|
"get-agent": {
|
|
507
827
|
serviceClass: "Agents",
|
|
508
828
|
operationId: "getAgent",
|
|
509
|
-
description: "
|
|
829
|
+
description: "Returns a single agent by ID.",
|
|
830
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
510
831
|
pathParams: ["agent_id"],
|
|
511
|
-
queryParams: []
|
|
832
|
+
queryParams: [],
|
|
833
|
+
flags: [{
|
|
834
|
+
"name": "agent_id",
|
|
835
|
+
"description": "",
|
|
836
|
+
"required": true,
|
|
837
|
+
"type": "string",
|
|
838
|
+
"in": "path"
|
|
839
|
+
}]
|
|
512
840
|
},
|
|
513
841
|
"update-agent": {
|
|
514
842
|
serviceClass: "Agents",
|
|
515
843
|
operationId: "updateAgent",
|
|
516
|
-
description: "
|
|
844
|
+
description: "Updates an existing agent.",
|
|
845
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
517
846
|
pathParams: ["agent_id"],
|
|
518
|
-
queryParams: []
|
|
847
|
+
queryParams: [],
|
|
848
|
+
flags: [{
|
|
849
|
+
"name": "agent_id",
|
|
850
|
+
"description": "",
|
|
851
|
+
"required": true,
|
|
852
|
+
"type": "string",
|
|
853
|
+
"in": "path"
|
|
854
|
+
}]
|
|
519
855
|
},
|
|
520
856
|
"delete-agent": {
|
|
521
857
|
serviceClass: "Agents",
|
|
522
858
|
operationId: "deleteAgent",
|
|
523
|
-
description: "
|
|
859
|
+
description: "Deletes an agent by ID.",
|
|
860
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
524
861
|
pathParams: ["agent_id"],
|
|
525
|
-
queryParams: []
|
|
862
|
+
queryParams: [],
|
|
863
|
+
flags: [{
|
|
864
|
+
"name": "agent_id",
|
|
865
|
+
"description": "",
|
|
866
|
+
"required": true,
|
|
867
|
+
"type": "string",
|
|
868
|
+
"in": "path"
|
|
869
|
+
}]
|
|
526
870
|
},
|
|
527
871
|
"create-agent-generation": {
|
|
528
872
|
serviceClass: "Agents",
|
|
529
873
|
operationId: "createAgentGeneration",
|
|
530
|
-
description: "
|
|
874
|
+
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`.",
|
|
875
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
531
876
|
pathParams: ["agent_id"],
|
|
532
|
-
queryParams: []
|
|
877
|
+
queryParams: [],
|
|
878
|
+
flags: [{
|
|
879
|
+
"name": "agent_id",
|
|
880
|
+
"description": "",
|
|
881
|
+
"required": true,
|
|
882
|
+
"type": "string",
|
|
883
|
+
"in": "path"
|
|
884
|
+
}]
|
|
533
885
|
},
|
|
534
886
|
"submit-agent-tool-outputs": {
|
|
535
887
|
serviceClass: "Agents",
|
|
536
888
|
operationId: "submitAgentToolOutputs",
|
|
537
|
-
description: "
|
|
889
|
+
description: "Resumes a generation that was paused due to client tool calls. Provide tool outputs for each pending tool call.",
|
|
890
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
538
891
|
pathParams: ["agent_id", "generation_id"],
|
|
539
|
-
queryParams: []
|
|
892
|
+
queryParams: [],
|
|
893
|
+
flags: [{
|
|
894
|
+
"name": "agent_id",
|
|
895
|
+
"description": "",
|
|
896
|
+
"required": true,
|
|
897
|
+
"type": "string",
|
|
898
|
+
"in": "path"
|
|
899
|
+
}, {
|
|
900
|
+
"name": "generation_id",
|
|
901
|
+
"description": "",
|
|
902
|
+
"required": true,
|
|
903
|
+
"type": "string",
|
|
904
|
+
"in": "path"
|
|
905
|
+
}]
|
|
540
906
|
},
|
|
541
907
|
"create-agent-actor": {
|
|
542
908
|
serviceClass: "Agents",
|
|
543
909
|
operationId: "createAgentActor",
|
|
544
|
-
description: "
|
|
910
|
+
description: "Creates a new actor associated with the specified agent",
|
|
911
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/agents",
|
|
545
912
|
pathParams: ["agent_id"],
|
|
546
|
-
queryParams: []
|
|
913
|
+
queryParams: [],
|
|
914
|
+
flags: [{
|
|
915
|
+
"name": "agent_id",
|
|
916
|
+
"description": "Agent ID",
|
|
917
|
+
"required": true,
|
|
918
|
+
"type": "string",
|
|
919
|
+
"in": "path"
|
|
920
|
+
}, {
|
|
921
|
+
"name": "name",
|
|
922
|
+
"description": "",
|
|
923
|
+
"required": true,
|
|
924
|
+
"type": "string",
|
|
925
|
+
"in": "body"
|
|
926
|
+
}, {
|
|
927
|
+
"name": "type",
|
|
928
|
+
"description": "Optional actor type",
|
|
929
|
+
"required": false,
|
|
930
|
+
"type": "string",
|
|
931
|
+
"in": "body"
|
|
932
|
+
}, {
|
|
933
|
+
"name": "external_id",
|
|
934
|
+
"description": "Optional external identifier",
|
|
935
|
+
"required": false,
|
|
936
|
+
"type": "string",
|
|
937
|
+
"in": "body"
|
|
938
|
+
}, {
|
|
939
|
+
"name": "tags",
|
|
940
|
+
"description": "",
|
|
941
|
+
"required": false,
|
|
942
|
+
"type": "object",
|
|
943
|
+
"in": "body"
|
|
944
|
+
}]
|
|
547
945
|
},
|
|
548
946
|
"list-ai-providers": {
|
|
549
947
|
serviceClass: "AIProviders",
|
|
550
948
|
operationId: "listAiProviders",
|
|
551
|
-
description: "
|
|
949
|
+
description: "Returns a list of AI provider configurations for a project",
|
|
950
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
|
|
552
951
|
pathParams: [],
|
|
553
|
-
queryParams: ["project_id", "limit", "offset"]
|
|
952
|
+
queryParams: ["project_id", "limit", "offset"],
|
|
953
|
+
flags: [{
|
|
954
|
+
"name": "project_id",
|
|
955
|
+
"description": "Project ID (required if not using project key auth)",
|
|
956
|
+
"required": false,
|
|
957
|
+
"type": "string",
|
|
958
|
+
"in": "query"
|
|
959
|
+
}, {
|
|
960
|
+
"name": "limit",
|
|
961
|
+
"description": "Number of results per page",
|
|
962
|
+
"required": false,
|
|
963
|
+
"type": "integer",
|
|
964
|
+
"in": "query"
|
|
965
|
+
}, {
|
|
966
|
+
"name": "offset",
|
|
967
|
+
"description": "Number of results to skip",
|
|
968
|
+
"required": false,
|
|
969
|
+
"type": "integer",
|
|
970
|
+
"in": "query"
|
|
971
|
+
}]
|
|
554
972
|
},
|
|
555
973
|
"create-ai-provider": {
|
|
556
974
|
serviceClass: "AIProviders",
|
|
557
975
|
operationId: "createAiProvider",
|
|
558
|
-
description: "
|
|
976
|
+
description: "Creates a new LLM provider configuration",
|
|
977
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
|
|
559
978
|
pathParams: [],
|
|
560
|
-
queryParams: []
|
|
979
|
+
queryParams: [],
|
|
980
|
+
flags: [{
|
|
981
|
+
"name": "project_id",
|
|
982
|
+
"description": "Project ID (required if not using project key auth)",
|
|
983
|
+
"required": false,
|
|
984
|
+
"type": "string",
|
|
985
|
+
"in": "body"
|
|
986
|
+
}, {
|
|
987
|
+
"name": "name",
|
|
988
|
+
"description": "Provider configuration name",
|
|
989
|
+
"required": true,
|
|
990
|
+
"type": "string",
|
|
991
|
+
"in": "body"
|
|
992
|
+
}, {
|
|
993
|
+
"name": "provider",
|
|
994
|
+
"description": "LLM provider",
|
|
995
|
+
"required": true,
|
|
996
|
+
"type": "string",
|
|
997
|
+
"in": "body"
|
|
998
|
+
}, {
|
|
999
|
+
"name": "default_model",
|
|
1000
|
+
"description": "Default model to use",
|
|
1001
|
+
"required": true,
|
|
1002
|
+
"type": "string",
|
|
1003
|
+
"in": "body"
|
|
1004
|
+
}, {
|
|
1005
|
+
"name": "secret_id",
|
|
1006
|
+
"description": "Secret ID containing API credentials",
|
|
1007
|
+
"required": false,
|
|
1008
|
+
"type": "string",
|
|
1009
|
+
"in": "body"
|
|
1010
|
+
}, {
|
|
1011
|
+
"name": "base_url",
|
|
1012
|
+
"description": "Custom base URL for the provider",
|
|
1013
|
+
"required": false,
|
|
1014
|
+
"type": "string",
|
|
1015
|
+
"in": "body"
|
|
1016
|
+
}, {
|
|
1017
|
+
"name": "config",
|
|
1018
|
+
"description": "Additional provider-specific configuration",
|
|
1019
|
+
"required": false,
|
|
1020
|
+
"type": "object",
|
|
1021
|
+
"in": "body"
|
|
1022
|
+
}]
|
|
561
1023
|
},
|
|
562
1024
|
"get-ai-provider": {
|
|
563
1025
|
serviceClass: "AIProviders",
|
|
564
1026
|
operationId: "getAiProvider",
|
|
565
|
-
description: "
|
|
1027
|
+
description: "Returns a specific AI provider configuration",
|
|
1028
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
|
|
566
1029
|
pathParams: ["ai_provider_id"],
|
|
567
|
-
queryParams: []
|
|
1030
|
+
queryParams: [],
|
|
1031
|
+
flags: [{
|
|
1032
|
+
"name": "ai_provider_id",
|
|
1033
|
+
"description": "AI Provider ID",
|
|
1034
|
+
"required": true,
|
|
1035
|
+
"type": "string",
|
|
1036
|
+
"in": "path"
|
|
1037
|
+
}]
|
|
568
1038
|
},
|
|
569
1039
|
"update-ai-provider": {
|
|
570
1040
|
serviceClass: "AIProviders",
|
|
571
1041
|
operationId: "updateAiProvider",
|
|
572
|
-
description: "
|
|
1042
|
+
description: "Updates an AI provider configuration",
|
|
1043
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
|
|
573
1044
|
pathParams: ["ai_provider_id"],
|
|
574
|
-
queryParams: []
|
|
1045
|
+
queryParams: [],
|
|
1046
|
+
flags: [{
|
|
1047
|
+
"name": "ai_provider_id",
|
|
1048
|
+
"description": "AI Provider ID",
|
|
1049
|
+
"required": true,
|
|
1050
|
+
"type": "string",
|
|
1051
|
+
"in": "path"
|
|
1052
|
+
}, {
|
|
1053
|
+
"name": "name",
|
|
1054
|
+
"description": "",
|
|
1055
|
+
"required": false,
|
|
1056
|
+
"type": "string",
|
|
1057
|
+
"in": "body"
|
|
1058
|
+
}, {
|
|
1059
|
+
"name": "default_model",
|
|
1060
|
+
"description": "",
|
|
1061
|
+
"required": false,
|
|
1062
|
+
"type": "string",
|
|
1063
|
+
"in": "body"
|
|
1064
|
+
}, {
|
|
1065
|
+
"name": "secret_id",
|
|
1066
|
+
"description": "",
|
|
1067
|
+
"required": false,
|
|
1068
|
+
"type": "string",
|
|
1069
|
+
"in": "body"
|
|
1070
|
+
}, {
|
|
1071
|
+
"name": "base_url",
|
|
1072
|
+
"description": "",
|
|
1073
|
+
"required": false,
|
|
1074
|
+
"type": "string",
|
|
1075
|
+
"in": "body"
|
|
1076
|
+
}, {
|
|
1077
|
+
"name": "config",
|
|
1078
|
+
"description": "",
|
|
1079
|
+
"required": false,
|
|
1080
|
+
"type": "object",
|
|
1081
|
+
"in": "body"
|
|
1082
|
+
}]
|
|
575
1083
|
},
|
|
576
1084
|
"delete-ai-provider": {
|
|
577
1085
|
serviceClass: "AIProviders",
|
|
578
1086
|
operationId: "deleteAiProvider",
|
|
579
|
-
description: "
|
|
1087
|
+
description: "Deletes an AI provider configuration",
|
|
1088
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/ai-providers",
|
|
580
1089
|
pathParams: ["ai_provider_id"],
|
|
581
|
-
queryParams: []
|
|
1090
|
+
queryParams: [],
|
|
1091
|
+
flags: [{
|
|
1092
|
+
"name": "ai_provider_id",
|
|
1093
|
+
"description": "AI Provider ID",
|
|
1094
|
+
"required": true,
|
|
1095
|
+
"type": "string",
|
|
1096
|
+
"in": "path"
|
|
1097
|
+
}]
|
|
582
1098
|
},
|
|
583
1099
|
"list-api-keys": {
|
|
584
1100
|
serviceClass: "APIKeys",
|
|
585
1101
|
operationId: "listApiKeys",
|
|
586
|
-
description: "
|
|
1102
|
+
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.",
|
|
1103
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
|
|
587
1104
|
pathParams: [],
|
|
588
|
-
queryParams: []
|
|
1105
|
+
queryParams: [],
|
|
1106
|
+
flags: []
|
|
589
1107
|
},
|
|
590
1108
|
"create-api-key": {
|
|
591
1109
|
serviceClass: "APIKeys",
|
|
592
1110
|
operationId: "createApiKey",
|
|
593
|
-
description: "
|
|
1111
|
+
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.",
|
|
1112
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
|
|
594
1113
|
pathParams: [],
|
|
595
|
-
queryParams: []
|
|
1114
|
+
queryParams: [],
|
|
1115
|
+
flags: [{
|
|
1116
|
+
"name": "name",
|
|
1117
|
+
"description": "Key name for identification",
|
|
1118
|
+
"required": true,
|
|
1119
|
+
"type": "string",
|
|
1120
|
+
"in": "body"
|
|
1121
|
+
}, {
|
|
1122
|
+
"name": "project_id",
|
|
1123
|
+
"description": "Optional project ID to scope this key to a specific project",
|
|
1124
|
+
"required": false,
|
|
1125
|
+
"type": "string",
|
|
1126
|
+
"in": "body"
|
|
1127
|
+
}, {
|
|
1128
|
+
"name": "policy_ids",
|
|
1129
|
+
"description": "Optional list of policy IDs to attach. Key permissions become the intersection of user policies and these policies.",
|
|
1130
|
+
"required": false,
|
|
1131
|
+
"type": "array",
|
|
1132
|
+
"in": "body"
|
|
1133
|
+
}]
|
|
596
1134
|
},
|
|
597
1135
|
"get-api-key": {
|
|
598
1136
|
serviceClass: "APIKeys",
|
|
599
1137
|
operationId: "getApiKey",
|
|
600
|
-
description: "
|
|
1138
|
+
description: "Returns details of an API key. Only the owner or an admin can access it.",
|
|
1139
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
|
|
601
1140
|
pathParams: ["api_key_id"],
|
|
602
|
-
queryParams: []
|
|
1141
|
+
queryParams: [],
|
|
1142
|
+
flags: [{
|
|
1143
|
+
"name": "api_key_id",
|
|
1144
|
+
"description": "API key public ID (key_ prefix)",
|
|
1145
|
+
"required": true,
|
|
1146
|
+
"type": "string",
|
|
1147
|
+
"in": "path"
|
|
1148
|
+
}]
|
|
603
1149
|
},
|
|
604
1150
|
"update-api-key": {
|
|
605
1151
|
serviceClass: "APIKeys",
|
|
606
1152
|
operationId: "updateApiKey",
|
|
607
|
-
description: "
|
|
1153
|
+
description: "Updates an API key's name, project scope, or policies. Only the owner or an admin can update it.",
|
|
1154
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
|
|
608
1155
|
pathParams: ["api_key_id"],
|
|
609
|
-
queryParams: []
|
|
1156
|
+
queryParams: [],
|
|
1157
|
+
flags: [{
|
|
1158
|
+
"name": "api_key_id",
|
|
1159
|
+
"description": "API key public ID (key_ prefix)",
|
|
1160
|
+
"required": true,
|
|
1161
|
+
"type": "string",
|
|
1162
|
+
"in": "path"
|
|
1163
|
+
}, {
|
|
1164
|
+
"name": "name",
|
|
1165
|
+
"description": "",
|
|
1166
|
+
"required": false,
|
|
1167
|
+
"type": "string",
|
|
1168
|
+
"in": "body"
|
|
1169
|
+
}, {
|
|
1170
|
+
"name": "project_id",
|
|
1171
|
+
"description": "Set to null to remove project scope",
|
|
1172
|
+
"required": false,
|
|
1173
|
+
"type": "string",
|
|
1174
|
+
"in": "body"
|
|
1175
|
+
}, {
|
|
1176
|
+
"name": "policy_ids",
|
|
1177
|
+
"description": "Replace the key's policy list (empty array removes all)",
|
|
1178
|
+
"required": false,
|
|
1179
|
+
"type": "array",
|
|
1180
|
+
"in": "body"
|
|
1181
|
+
}]
|
|
610
1182
|
},
|
|
611
1183
|
"delete-api-key": {
|
|
612
1184
|
serviceClass: "APIKeys",
|
|
613
1185
|
operationId: "deleteApiKey",
|
|
614
|
-
description: "
|
|
1186
|
+
description: "Deletes an API key. Only the owner or an admin can delete it.",
|
|
1187
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/api-keys",
|
|
615
1188
|
pathParams: ["api_key_id"],
|
|
616
|
-
queryParams: []
|
|
1189
|
+
queryParams: [],
|
|
1190
|
+
flags: [{
|
|
1191
|
+
"name": "api_key_id",
|
|
1192
|
+
"description": "API key public ID (key_ prefix)",
|
|
1193
|
+
"required": true,
|
|
1194
|
+
"type": "string",
|
|
1195
|
+
"in": "path"
|
|
1196
|
+
}]
|
|
617
1197
|
},
|
|
618
1198
|
"list-chats": {
|
|
619
1199
|
serviceClass: "Chats",
|
|
620
1200
|
operationId: "listChats",
|
|
621
|
-
description: "
|
|
1201
|
+
description: "Returns all chats in the project.",
|
|
1202
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
|
|
622
1203
|
pathParams: [],
|
|
623
|
-
queryParams: ["project_id"]
|
|
1204
|
+
queryParams: ["project_id"],
|
|
1205
|
+
flags: [{
|
|
1206
|
+
"name": "project_id",
|
|
1207
|
+
"description": "Project public ID to filter by",
|
|
1208
|
+
"required": false,
|
|
1209
|
+
"type": "string",
|
|
1210
|
+
"in": "query"
|
|
1211
|
+
}]
|
|
624
1212
|
},
|
|
625
1213
|
"create-chat": {
|
|
626
1214
|
serviceClass: "Chats",
|
|
627
1215
|
operationId: "createChat",
|
|
628
|
-
description: "
|
|
1216
|
+
description: "Creates a new chat resource bound to an AI provider.",
|
|
1217
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
|
|
629
1218
|
pathParams: [],
|
|
630
|
-
queryParams: []
|
|
1219
|
+
queryParams: [],
|
|
1220
|
+
flags: []
|
|
631
1221
|
},
|
|
632
1222
|
"get-chat": {
|
|
633
1223
|
serviceClass: "Chats",
|
|
634
1224
|
operationId: "getChat",
|
|
635
|
-
description: "
|
|
1225
|
+
description: "Returns a single chat by ID.",
|
|
1226
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
|
|
636
1227
|
pathParams: ["chat_id"],
|
|
637
|
-
queryParams: []
|
|
1228
|
+
queryParams: [],
|
|
1229
|
+
flags: [{
|
|
1230
|
+
"name": "chat_id",
|
|
1231
|
+
"description": "",
|
|
1232
|
+
"required": true,
|
|
1233
|
+
"type": "string",
|
|
1234
|
+
"in": "path"
|
|
1235
|
+
}]
|
|
638
1236
|
},
|
|
639
1237
|
"delete-chat": {
|
|
640
1238
|
serviceClass: "Chats",
|
|
641
1239
|
operationId: "deleteChat",
|
|
642
|
-
description: "
|
|
1240
|
+
description: "Deletes a chat by ID.",
|
|
1241
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
|
|
643
1242
|
pathParams: ["chat_id"],
|
|
644
|
-
queryParams: []
|
|
1243
|
+
queryParams: [],
|
|
1244
|
+
flags: [{
|
|
1245
|
+
"name": "chat_id",
|
|
1246
|
+
"description": "",
|
|
1247
|
+
"required": true,
|
|
1248
|
+
"type": "string",
|
|
1249
|
+
"in": "path"
|
|
1250
|
+
}]
|
|
645
1251
|
},
|
|
646
1252
|
"create-chat-completion-for-chat": {
|
|
647
1253
|
serviceClass: "Chats",
|
|
648
1254
|
operationId: "createChatCompletionForChat",
|
|
649
|
-
description: "
|
|
1255
|
+
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`.",
|
|
1256
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
|
|
650
1257
|
pathParams: ["chat_id"],
|
|
651
|
-
queryParams: []
|
|
1258
|
+
queryParams: [],
|
|
1259
|
+
flags: [{
|
|
1260
|
+
"name": "chat_id",
|
|
1261
|
+
"description": "",
|
|
1262
|
+
"required": true,
|
|
1263
|
+
"type": "string",
|
|
1264
|
+
"in": "path"
|
|
1265
|
+
}]
|
|
652
1266
|
},
|
|
653
1267
|
"create-chat-completion": {
|
|
654
1268
|
serviceClass: "Chats",
|
|
655
1269
|
operationId: "createChatCompletion",
|
|
656
|
-
description: "
|
|
1270
|
+
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.",
|
|
1271
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
|
|
657
1272
|
pathParams: [],
|
|
658
|
-
queryParams: []
|
|
1273
|
+
queryParams: [],
|
|
1274
|
+
flags: []
|
|
659
1275
|
},
|
|
660
1276
|
"create-chat-actor": {
|
|
661
1277
|
serviceClass: "Chats",
|
|
662
1278
|
operationId: "createChatActor",
|
|
663
|
-
description: "
|
|
1279
|
+
description: "Creates a new actor associated with the specified chat",
|
|
1280
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/chats",
|
|
664
1281
|
pathParams: ["chat_id"],
|
|
665
|
-
queryParams: []
|
|
1282
|
+
queryParams: [],
|
|
1283
|
+
flags: [{
|
|
1284
|
+
"name": "chat_id",
|
|
1285
|
+
"description": "Chat ID",
|
|
1286
|
+
"required": true,
|
|
1287
|
+
"type": "string",
|
|
1288
|
+
"in": "path"
|
|
1289
|
+
}, {
|
|
1290
|
+
"name": "name",
|
|
1291
|
+
"description": "",
|
|
1292
|
+
"required": true,
|
|
1293
|
+
"type": "string",
|
|
1294
|
+
"in": "body"
|
|
1295
|
+
}, {
|
|
1296
|
+
"name": "type",
|
|
1297
|
+
"description": "Optional actor type",
|
|
1298
|
+
"required": false,
|
|
1299
|
+
"type": "string",
|
|
1300
|
+
"in": "body"
|
|
1301
|
+
}, {
|
|
1302
|
+
"name": "external_id",
|
|
1303
|
+
"description": "Optional external identifier",
|
|
1304
|
+
"required": false,
|
|
1305
|
+
"type": "string",
|
|
1306
|
+
"in": "body"
|
|
1307
|
+
}, {
|
|
1308
|
+
"name": "tags",
|
|
1309
|
+
"description": "",
|
|
1310
|
+
"required": false,
|
|
1311
|
+
"type": "object",
|
|
1312
|
+
"in": "body"
|
|
1313
|
+
}]
|
|
666
1314
|
},
|
|
667
1315
|
"list-conversations": {
|
|
668
1316
|
serviceClass: "Conversations",
|
|
669
1317
|
operationId: "listConversations",
|
|
670
|
-
description: "
|
|
1318
|
+
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.",
|
|
1319
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
671
1320
|
pathParams: [],
|
|
672
|
-
queryParams: ["project_id", "actor_id", "limit", "offset"]
|
|
1321
|
+
queryParams: ["project_id", "actor_id", "limit", "offset"],
|
|
1322
|
+
flags: [{
|
|
1323
|
+
"name": "project_id",
|
|
1324
|
+
"description": "Project ID (optional)",
|
|
1325
|
+
"required": false,
|
|
1326
|
+
"type": "string",
|
|
1327
|
+
"in": "query"
|
|
1328
|
+
}, {
|
|
1329
|
+
"name": "actor_id",
|
|
1330
|
+
"description": "Filter by actor ID",
|
|
1331
|
+
"required": false,
|
|
1332
|
+
"type": "string",
|
|
1333
|
+
"in": "query"
|
|
1334
|
+
}, {
|
|
1335
|
+
"name": "limit",
|
|
1336
|
+
"description": "Maximum number of results to return",
|
|
1337
|
+
"required": false,
|
|
1338
|
+
"type": "integer",
|
|
1339
|
+
"in": "query"
|
|
1340
|
+
}, {
|
|
1341
|
+
"name": "offset",
|
|
1342
|
+
"description": "Number of results to skip",
|
|
1343
|
+
"required": false,
|
|
1344
|
+
"type": "integer",
|
|
1345
|
+
"in": "query"
|
|
1346
|
+
}]
|
|
673
1347
|
},
|
|
674
1348
|
"create-conversation": {
|
|
675
1349
|
serviceClass: "Conversations",
|
|
676
1350
|
operationId: "createConversation",
|
|
677
|
-
description: "
|
|
1351
|
+
description: "Creates a new conversation. project keys automatically infer the project from the key's scope; JWT callers must supply projectId.",
|
|
1352
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
678
1353
|
pathParams: [],
|
|
679
|
-
queryParams: []
|
|
1354
|
+
queryParams: [],
|
|
1355
|
+
flags: [{
|
|
1356
|
+
"name": "project_id",
|
|
1357
|
+
"description": "Project ID. Required for JWT auth; omit when using an project key.",
|
|
1358
|
+
"required": false,
|
|
1359
|
+
"type": "string",
|
|
1360
|
+
"in": "body"
|
|
1361
|
+
}, {
|
|
1362
|
+
"name": "status",
|
|
1363
|
+
"description": "Initial conversation status",
|
|
1364
|
+
"required": false,
|
|
1365
|
+
"type": "string",
|
|
1366
|
+
"in": "body"
|
|
1367
|
+
}, {
|
|
1368
|
+
"name": "name",
|
|
1369
|
+
"description": "Optional name for the conversation",
|
|
1370
|
+
"required": false,
|
|
1371
|
+
"type": "string",
|
|
1372
|
+
"in": "body"
|
|
1373
|
+
}, {
|
|
1374
|
+
"name": "actor_id",
|
|
1375
|
+
"description": "Actor ID to associate with this conversation",
|
|
1376
|
+
"required": false,
|
|
1377
|
+
"type": "string",
|
|
1378
|
+
"in": "body"
|
|
1379
|
+
}]
|
|
680
1380
|
},
|
|
681
1381
|
"get-conversation": {
|
|
682
1382
|
serviceClass: "Conversations",
|
|
683
1383
|
operationId: "getConversation",
|
|
684
|
-
description: "
|
|
1384
|
+
description: "Returns a conversation by its ID",
|
|
1385
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
685
1386
|
pathParams: ["conversation_id"],
|
|
686
|
-
queryParams: []
|
|
1387
|
+
queryParams: [],
|
|
1388
|
+
flags: [{
|
|
1389
|
+
"name": "conversation_id",
|
|
1390
|
+
"description": "Conversation ID",
|
|
1391
|
+
"required": true,
|
|
1392
|
+
"type": "string",
|
|
1393
|
+
"in": "path"
|
|
1394
|
+
}]
|
|
687
1395
|
},
|
|
688
1396
|
"update-conversation": {
|
|
689
1397
|
serviceClass: "Conversations",
|
|
690
1398
|
operationId: "updateConversation",
|
|
691
|
-
description: "
|
|
1399
|
+
description: "Updates the status of a conversation",
|
|
1400
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
692
1401
|
pathParams: ["conversation_id"],
|
|
693
|
-
queryParams: []
|
|
1402
|
+
queryParams: [],
|
|
1403
|
+
flags: [{
|
|
1404
|
+
"name": "conversation_id",
|
|
1405
|
+
"description": "Conversation ID",
|
|
1406
|
+
"required": true,
|
|
1407
|
+
"type": "string",
|
|
1408
|
+
"in": "path"
|
|
1409
|
+
}, {
|
|
1410
|
+
"name": "status",
|
|
1411
|
+
"description": "New conversation status",
|
|
1412
|
+
"required": true,
|
|
1413
|
+
"type": "string",
|
|
1414
|
+
"in": "body"
|
|
1415
|
+
}]
|
|
694
1416
|
},
|
|
695
1417
|
"delete-conversation": {
|
|
696
1418
|
serviceClass: "Conversations",
|
|
697
1419
|
operationId: "deleteConversation",
|
|
698
|
-
description: "
|
|
1420
|
+
description: "Deletes a conversation by its ID",
|
|
1421
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
699
1422
|
pathParams: ["conversation_id"],
|
|
700
|
-
queryParams: []
|
|
1423
|
+
queryParams: [],
|
|
1424
|
+
flags: [{
|
|
1425
|
+
"name": "conversation_id",
|
|
1426
|
+
"description": "Conversation ID",
|
|
1427
|
+
"required": true,
|
|
1428
|
+
"type": "string",
|
|
1429
|
+
"in": "path"
|
|
1430
|
+
}]
|
|
701
1431
|
},
|
|
702
1432
|
"list-conversation-messages": {
|
|
703
1433
|
serviceClass: "Conversations",
|
|
704
1434
|
operationId: "listConversationMessages",
|
|
705
|
-
description: "
|
|
1435
|
+
description: "Returns all messages (documents) attached to a conversation, ordered by position",
|
|
1436
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
706
1437
|
pathParams: ["conversation_id"],
|
|
707
|
-
queryParams: ["limit", "offset"]
|
|
1438
|
+
queryParams: ["limit", "offset"],
|
|
1439
|
+
flags: [{
|
|
1440
|
+
"name": "conversation_id",
|
|
1441
|
+
"description": "Conversation ID",
|
|
1442
|
+
"required": true,
|
|
1443
|
+
"type": "string",
|
|
1444
|
+
"in": "path"
|
|
1445
|
+
}, {
|
|
1446
|
+
"name": "limit",
|
|
1447
|
+
"description": "Maximum number of results to return",
|
|
1448
|
+
"required": false,
|
|
1449
|
+
"type": "integer",
|
|
1450
|
+
"in": "query"
|
|
1451
|
+
}, {
|
|
1452
|
+
"name": "offset",
|
|
1453
|
+
"description": "Number of results to skip",
|
|
1454
|
+
"required": false,
|
|
1455
|
+
"type": "integer",
|
|
1456
|
+
"in": "query"
|
|
1457
|
+
}]
|
|
708
1458
|
},
|
|
709
1459
|
"add-conversation-message": {
|
|
710
1460
|
serviceClass: "Conversations",
|
|
711
1461
|
operationId: "addConversationMessage",
|
|
712
|
-
description: "
|
|
1462
|
+
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.",
|
|
1463
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
713
1464
|
pathParams: ["conversation_id"],
|
|
714
|
-
queryParams: []
|
|
1465
|
+
queryParams: [],
|
|
1466
|
+
flags: [{
|
|
1467
|
+
"name": "conversation_id",
|
|
1468
|
+
"description": "Conversation ID",
|
|
1469
|
+
"required": true,
|
|
1470
|
+
"type": "string",
|
|
1471
|
+
"in": "path"
|
|
1472
|
+
}, {
|
|
1473
|
+
"name": "message",
|
|
1474
|
+
"description": "Message text content to add to the conversation",
|
|
1475
|
+
"required": true,
|
|
1476
|
+
"type": "string",
|
|
1477
|
+
"in": "body"
|
|
1478
|
+
}, {
|
|
1479
|
+
"name": "role",
|
|
1480
|
+
"description": "Role of the message sender",
|
|
1481
|
+
"required": true,
|
|
1482
|
+
"type": "string",
|
|
1483
|
+
"in": "body"
|
|
1484
|
+
}, {
|
|
1485
|
+
"name": "actor_id",
|
|
1486
|
+
"description": "Optional actor ID to associate with this message (user identity)",
|
|
1487
|
+
"required": false,
|
|
1488
|
+
"type": "string",
|
|
1489
|
+
"in": "body"
|
|
1490
|
+
}, {
|
|
1491
|
+
"name": "position",
|
|
1492
|
+
"description": "Zero-based position. Defaults to MAX+1 (append).",
|
|
1493
|
+
"required": false,
|
|
1494
|
+
"type": "integer",
|
|
1495
|
+
"in": "body"
|
|
1496
|
+
}, {
|
|
1497
|
+
"name": "metadata",
|
|
1498
|
+
"description": "Optional structured metadata to attach to the message (e.g. phone number, channel). Stored as-is and injected into the AI prompt context.",
|
|
1499
|
+
"required": false,
|
|
1500
|
+
"type": "object",
|
|
1501
|
+
"in": "body"
|
|
1502
|
+
}]
|
|
715
1503
|
},
|
|
716
1504
|
"generate-conversation-message": {
|
|
717
1505
|
serviceClass: "Conversations",
|
|
718
1506
|
operationId: "generateConversationMessage",
|
|
719
|
-
description: "
|
|
1507
|
+
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.",
|
|
1508
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
720
1509
|
pathParams: ["conversation_id"],
|
|
721
|
-
queryParams: []
|
|
1510
|
+
queryParams: [],
|
|
1511
|
+
flags: [{
|
|
1512
|
+
"name": "conversation_id",
|
|
1513
|
+
"description": "",
|
|
1514
|
+
"required": true,
|
|
1515
|
+
"type": "string",
|
|
1516
|
+
"in": "path"
|
|
1517
|
+
}, {
|
|
1518
|
+
"name": "agent_id",
|
|
1519
|
+
"description": "ID of the agent that will produce the next message.",
|
|
1520
|
+
"required": true,
|
|
1521
|
+
"type": "string",
|
|
1522
|
+
"in": "body"
|
|
1523
|
+
}, {
|
|
1524
|
+
"name": "model",
|
|
1525
|
+
"description": "Optional model override.",
|
|
1526
|
+
"required": false,
|
|
1527
|
+
"type": "string",
|
|
1528
|
+
"in": "body"
|
|
1529
|
+
}, {
|
|
1530
|
+
"name": "stream",
|
|
1531
|
+
"description": "If true, stream tokens via SSE. NOT IMPLEMENTED in v1 \u2014 returns 501.",
|
|
1532
|
+
"required": false,
|
|
1533
|
+
"type": "boolean",
|
|
1534
|
+
"in": "body"
|
|
1535
|
+
}, {
|
|
1536
|
+
"name": "tool_context",
|
|
1537
|
+
"description": "Key-value pairs injected as context headers into all tool call requests made during this generation.",
|
|
1538
|
+
"required": false,
|
|
1539
|
+
"type": "object",
|
|
1540
|
+
"in": "body"
|
|
1541
|
+
}]
|
|
722
1542
|
},
|
|
723
1543
|
"list-conversation-actors": {
|
|
724
1544
|
serviceClass: "Conversations",
|
|
725
1545
|
operationId: "listConversationActors",
|
|
726
|
-
description: "
|
|
1546
|
+
description: "Returns all distinct actors who have sent at least one message in the conversation",
|
|
1547
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
727
1548
|
pathParams: ["conversation_id"],
|
|
728
|
-
queryParams: []
|
|
1549
|
+
queryParams: [],
|
|
1550
|
+
flags: [{
|
|
1551
|
+
"name": "conversation_id",
|
|
1552
|
+
"description": "Conversation ID",
|
|
1553
|
+
"required": true,
|
|
1554
|
+
"type": "string",
|
|
1555
|
+
"in": "path"
|
|
1556
|
+
}]
|
|
729
1557
|
},
|
|
730
1558
|
"remove-conversation-message": {
|
|
731
1559
|
serviceClass: "Conversations",
|
|
732
1560
|
operationId: "removeConversationMessage",
|
|
733
|
-
description: "
|
|
1561
|
+
description: "Removes a document from a conversation",
|
|
1562
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
734
1563
|
pathParams: ["conversation_id", "document_id"],
|
|
735
|
-
queryParams: []
|
|
1564
|
+
queryParams: [],
|
|
1565
|
+
flags: [{
|
|
1566
|
+
"name": "conversation_id",
|
|
1567
|
+
"description": "Conversation ID",
|
|
1568
|
+
"required": true,
|
|
1569
|
+
"type": "string",
|
|
1570
|
+
"in": "path"
|
|
1571
|
+
}, {
|
|
1572
|
+
"name": "document_id",
|
|
1573
|
+
"description": "Document ID",
|
|
1574
|
+
"required": true,
|
|
1575
|
+
"type": "string",
|
|
1576
|
+
"in": "path"
|
|
1577
|
+
}]
|
|
736
1578
|
},
|
|
737
1579
|
"get-conversation-tags": {
|
|
738
1580
|
serviceClass: "Conversations",
|
|
739
1581
|
operationId: "getConversationTags",
|
|
740
|
-
description: "
|
|
1582
|
+
description: "Returns all tags attached to the conversation",
|
|
1583
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
741
1584
|
pathParams: ["conversation_id"],
|
|
742
|
-
queryParams: []
|
|
1585
|
+
queryParams: [],
|
|
1586
|
+
flags: [{
|
|
1587
|
+
"name": "conversation_id",
|
|
1588
|
+
"description": "Conversation ID",
|
|
1589
|
+
"required": true,
|
|
1590
|
+
"type": "string",
|
|
1591
|
+
"in": "path"
|
|
1592
|
+
}]
|
|
743
1593
|
},
|
|
744
1594
|
"replace-conversation-tags": {
|
|
745
1595
|
serviceClass: "Conversations",
|
|
746
1596
|
operationId: "replaceConversationTags",
|
|
747
|
-
description: "
|
|
1597
|
+
description: "Replaces all tags on the conversation with the provided tags",
|
|
1598
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
748
1599
|
pathParams: ["conversation_id"],
|
|
749
|
-
queryParams: []
|
|
1600
|
+
queryParams: [],
|
|
1601
|
+
flags: [{
|
|
1602
|
+
"name": "conversation_id",
|
|
1603
|
+
"description": "Conversation ID",
|
|
1604
|
+
"required": true,
|
|
1605
|
+
"type": "string",
|
|
1606
|
+
"in": "path"
|
|
1607
|
+
}]
|
|
750
1608
|
},
|
|
751
1609
|
"merge-conversation-tags": {
|
|
752
1610
|
serviceClass: "Conversations",
|
|
753
1611
|
operationId: "mergeConversationTags",
|
|
754
|
-
description: "
|
|
1612
|
+
description: "Merges provided tags with existing tags",
|
|
1613
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
|
|
755
1614
|
pathParams: ["conversation_id"],
|
|
756
|
-
queryParams: []
|
|
1615
|
+
queryParams: [],
|
|
1616
|
+
flags: [{
|
|
1617
|
+
"name": "conversation_id",
|
|
1618
|
+
"description": "Conversation ID",
|
|
1619
|
+
"required": true,
|
|
1620
|
+
"type": "string",
|
|
1621
|
+
"in": "path"
|
|
1622
|
+
}]
|
|
757
1623
|
},
|
|
758
1624
|
"list-documents": {
|
|
759
1625
|
serviceClass: "Documents",
|
|
760
1626
|
operationId: "listDocuments",
|
|
761
|
-
description: "
|
|
1627
|
+
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.",
|
|
1628
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
|
|
762
1629
|
pathParams: [],
|
|
763
|
-
queryParams: ["project_id"]
|
|
1630
|
+
queryParams: ["project_id"],
|
|
1631
|
+
flags: [{
|
|
1632
|
+
"name": "project_id",
|
|
1633
|
+
"description": "Project ID (optional)",
|
|
1634
|
+
"required": false,
|
|
1635
|
+
"type": "string",
|
|
1636
|
+
"in": "query"
|
|
1637
|
+
}]
|
|
764
1638
|
},
|
|
765
1639
|
"create-document": {
|
|
766
1640
|
serviceClass: "Documents",
|
|
767
1641
|
operationId: "createDocument",
|
|
768
|
-
description: "
|
|
1642
|
+
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.",
|
|
1643
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
|
|
769
1644
|
pathParams: [],
|
|
770
|
-
queryParams: []
|
|
1645
|
+
queryParams: [],
|
|
1646
|
+
flags: [{
|
|
1647
|
+
"name": "project_id",
|
|
1648
|
+
"description": "Project ID. Required for JWT auth; omit when using an project key.",
|
|
1649
|
+
"required": false,
|
|
1650
|
+
"type": "string",
|
|
1651
|
+
"in": "body"
|
|
1652
|
+
}, {
|
|
1653
|
+
"name": "content",
|
|
1654
|
+
"description": "",
|
|
1655
|
+
"required": true,
|
|
1656
|
+
"type": "string",
|
|
1657
|
+
"in": "body"
|
|
1658
|
+
}, {
|
|
1659
|
+
"name": "path",
|
|
1660
|
+
"description": "Logical path within the project (e.g. /reports/q1.txt). Defaults to /filename if omitted.",
|
|
1661
|
+
"required": false,
|
|
1662
|
+
"type": "string",
|
|
1663
|
+
"in": "body"
|
|
1664
|
+
}, {
|
|
1665
|
+
"name": "filename",
|
|
1666
|
+
"description": "",
|
|
1667
|
+
"required": false,
|
|
1668
|
+
"type": "string",
|
|
1669
|
+
"in": "body"
|
|
1670
|
+
}]
|
|
771
1671
|
},
|
|
772
1672
|
"get-document": {
|
|
773
1673
|
serviceClass: "Documents",
|
|
774
1674
|
operationId: "getDocument",
|
|
775
|
-
description: "
|
|
1675
|
+
description: "Returns a document with its text content",
|
|
1676
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
|
|
776
1677
|
pathParams: ["document_id"],
|
|
777
|
-
queryParams: []
|
|
1678
|
+
queryParams: [],
|
|
1679
|
+
flags: [{
|
|
1680
|
+
"name": "document_id",
|
|
1681
|
+
"description": "Document ID",
|
|
1682
|
+
"required": true,
|
|
1683
|
+
"type": "string",
|
|
1684
|
+
"in": "path"
|
|
1685
|
+
}]
|
|
778
1686
|
},
|
|
779
1687
|
"update-document": {
|
|
780
1688
|
serviceClass: "Documents",
|
|
781
1689
|
operationId: "updateDocument",
|
|
782
|
-
description: "
|
|
1690
|
+
description: "Updates document content, title, path, metadata, or tags. Supplying `path` moves the document to a new logical path within the project.",
|
|
1691
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
|
|
783
1692
|
pathParams: ["document_id"],
|
|
784
|
-
queryParams: []
|
|
1693
|
+
queryParams: [],
|
|
1694
|
+
flags: [{
|
|
1695
|
+
"name": "document_id",
|
|
1696
|
+
"description": "Document ID",
|
|
1697
|
+
"required": true,
|
|
1698
|
+
"type": "string",
|
|
1699
|
+
"in": "path"
|
|
1700
|
+
}, {
|
|
1701
|
+
"name": "content",
|
|
1702
|
+
"description": "New text content",
|
|
1703
|
+
"required": false,
|
|
1704
|
+
"type": "string",
|
|
1705
|
+
"in": "body"
|
|
1706
|
+
}, {
|
|
1707
|
+
"name": "title",
|
|
1708
|
+
"description": "New title",
|
|
1709
|
+
"required": false,
|
|
1710
|
+
"type": "string",
|
|
1711
|
+
"in": "body"
|
|
1712
|
+
}, {
|
|
1713
|
+
"name": "path",
|
|
1714
|
+
"description": "Logical path within the project (e.g. /reports/q1.txt). Pass null to clear.",
|
|
1715
|
+
"required": false,
|
|
1716
|
+
"type": "string",
|
|
1717
|
+
"in": "body"
|
|
1718
|
+
}, {
|
|
1719
|
+
"name": "metadata",
|
|
1720
|
+
"description": "Arbitrary metadata object",
|
|
1721
|
+
"required": false,
|
|
1722
|
+
"type": "object",
|
|
1723
|
+
"in": "body"
|
|
1724
|
+
}, {
|
|
1725
|
+
"name": "tags",
|
|
1726
|
+
"description": "Key-value tags",
|
|
1727
|
+
"required": false,
|
|
1728
|
+
"type": "object",
|
|
1729
|
+
"in": "body"
|
|
1730
|
+
}]
|
|
785
1731
|
},
|
|
786
1732
|
"delete-document": {
|
|
787
1733
|
serviceClass: "Documents",
|
|
788
1734
|
operationId: "deleteDocument",
|
|
789
|
-
description: "
|
|
1735
|
+
description: "Deletes a document and its underlying file",
|
|
1736
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
|
|
790
1737
|
pathParams: ["document_id"],
|
|
791
|
-
queryParams: []
|
|
1738
|
+
queryParams: [],
|
|
1739
|
+
flags: [{
|
|
1740
|
+
"name": "document_id",
|
|
1741
|
+
"description": "Document ID",
|
|
1742
|
+
"required": true,
|
|
1743
|
+
"type": "string",
|
|
1744
|
+
"in": "path"
|
|
1745
|
+
}]
|
|
792
1746
|
},
|
|
793
1747
|
"get-document-tags": {
|
|
794
1748
|
serviceClass: "Documents",
|
|
795
1749
|
operationId: "getDocumentTags",
|
|
796
|
-
description: "
|
|
1750
|
+
description: "Returns all tags attached to the document",
|
|
1751
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
|
|
797
1752
|
pathParams: ["document_id"],
|
|
798
|
-
queryParams: []
|
|
1753
|
+
queryParams: [],
|
|
1754
|
+
flags: [{
|
|
1755
|
+
"name": "document_id",
|
|
1756
|
+
"description": "Document ID",
|
|
1757
|
+
"required": true,
|
|
1758
|
+
"type": "string",
|
|
1759
|
+
"in": "path"
|
|
1760
|
+
}]
|
|
799
1761
|
},
|
|
800
1762
|
"replace-document-tags": {
|
|
801
1763
|
serviceClass: "Documents",
|
|
802
1764
|
operationId: "replaceDocumentTags",
|
|
803
|
-
description: "
|
|
1765
|
+
description: "Replaces all tags on the document with the provided tags (not merged)",
|
|
1766
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
|
|
804
1767
|
pathParams: ["document_id"],
|
|
805
|
-
queryParams: []
|
|
1768
|
+
queryParams: [],
|
|
1769
|
+
flags: [{
|
|
1770
|
+
"name": "document_id",
|
|
1771
|
+
"description": "Document ID",
|
|
1772
|
+
"required": true,
|
|
1773
|
+
"type": "string",
|
|
1774
|
+
"in": "path"
|
|
1775
|
+
}]
|
|
806
1776
|
},
|
|
807
1777
|
"merge-document-tags": {
|
|
808
1778
|
serviceClass: "Documents",
|
|
809
1779
|
operationId: "mergeDocumentTags",
|
|
810
|
-
description: "
|
|
1780
|
+
description: "Merges provided tags with existing tags (existing tags are preserved unless overridden)",
|
|
1781
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
|
|
811
1782
|
pathParams: ["document_id"],
|
|
812
|
-
queryParams: []
|
|
1783
|
+
queryParams: [],
|
|
1784
|
+
flags: [{
|
|
1785
|
+
"name": "document_id",
|
|
1786
|
+
"description": "Document ID",
|
|
1787
|
+
"required": true,
|
|
1788
|
+
"type": "string",
|
|
1789
|
+
"in": "path"
|
|
1790
|
+
}]
|
|
813
1791
|
},
|
|
814
1792
|
"list-files": {
|
|
815
1793
|
serviceClass: "Files",
|
|
816
1794
|
operationId: "listFiles",
|
|
817
|
-
description: "
|
|
1795
|
+
description: "Returns a list of all stored files",
|
|
1796
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
818
1797
|
pathParams: [],
|
|
819
|
-
queryParams: ["project_id", "limit", "offset"]
|
|
1798
|
+
queryParams: ["project_id", "limit", "offset"],
|
|
1799
|
+
flags: [{
|
|
1800
|
+
"name": "project_id",
|
|
1801
|
+
"description": "Filter files by project ID",
|
|
1802
|
+
"required": false,
|
|
1803
|
+
"type": "string",
|
|
1804
|
+
"in": "query"
|
|
1805
|
+
}, {
|
|
1806
|
+
"name": "limit",
|
|
1807
|
+
"description": "Maximum number of results to return",
|
|
1808
|
+
"required": false,
|
|
1809
|
+
"type": "integer",
|
|
1810
|
+
"in": "query"
|
|
1811
|
+
}, {
|
|
1812
|
+
"name": "offset",
|
|
1813
|
+
"description": "Number of results to skip",
|
|
1814
|
+
"required": false,
|
|
1815
|
+
"type": "integer",
|
|
1816
|
+
"in": "query"
|
|
1817
|
+
}]
|
|
820
1818
|
},
|
|
821
1819
|
"create-file": {
|
|
822
1820
|
serviceClass: "Files",
|
|
823
1821
|
operationId: "createFile",
|
|
824
|
-
description: "
|
|
1822
|
+
description: "Creates a new file record in the system",
|
|
1823
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
825
1824
|
pathParams: [],
|
|
826
|
-
queryParams: []
|
|
1825
|
+
queryParams: [],
|
|
1826
|
+
flags: [{
|
|
1827
|
+
"name": "project_id",
|
|
1828
|
+
"description": "Public ID of the project",
|
|
1829
|
+
"required": true,
|
|
1830
|
+
"type": "string",
|
|
1831
|
+
"in": "body"
|
|
1832
|
+
}, {
|
|
1833
|
+
"name": "path",
|
|
1834
|
+
"description": "Logical path within the project (e.g. /images/logo.png). Defaults to /filename if omitted.",
|
|
1835
|
+
"required": false,
|
|
1836
|
+
"type": "string",
|
|
1837
|
+
"in": "body"
|
|
1838
|
+
}, {
|
|
1839
|
+
"name": "filename",
|
|
1840
|
+
"description": "Name of the file",
|
|
1841
|
+
"required": false,
|
|
1842
|
+
"type": "string",
|
|
1843
|
+
"in": "body"
|
|
1844
|
+
}, {
|
|
1845
|
+
"name": "content_type",
|
|
1846
|
+
"description": "MIME type of the file",
|
|
1847
|
+
"required": false,
|
|
1848
|
+
"type": "string",
|
|
1849
|
+
"in": "body"
|
|
1850
|
+
}, {
|
|
1851
|
+
"name": "size",
|
|
1852
|
+
"description": "File size in bytes",
|
|
1853
|
+
"required": false,
|
|
1854
|
+
"type": "integer",
|
|
1855
|
+
"in": "body"
|
|
1856
|
+
}, {
|
|
1857
|
+
"name": "storage_type",
|
|
1858
|
+
"description": "Storage backend type",
|
|
1859
|
+
"required": true,
|
|
1860
|
+
"type": "string",
|
|
1861
|
+
"in": "body"
|
|
1862
|
+
}, {
|
|
1863
|
+
"name": "storage_path",
|
|
1864
|
+
"description": "Path where the file is stored",
|
|
1865
|
+
"required": true,
|
|
1866
|
+
"type": "string",
|
|
1867
|
+
"in": "body"
|
|
1868
|
+
}, {
|
|
1869
|
+
"name": "metadata",
|
|
1870
|
+
"description": "JSON string with additional metadata",
|
|
1871
|
+
"required": false,
|
|
1872
|
+
"type": "string",
|
|
1873
|
+
"in": "body"
|
|
1874
|
+
}]
|
|
827
1875
|
},
|
|
828
1876
|
"upload-file": {
|
|
829
1877
|
serviceClass: "Files",
|
|
830
1878
|
operationId: "uploadFile",
|
|
831
|
-
description: "
|
|
1879
|
+
description: "Uploads a file to the server and stores it in the configured storage directory",
|
|
1880
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
832
1881
|
pathParams: [],
|
|
833
|
-
queryParams: []
|
|
1882
|
+
queryParams: [],
|
|
1883
|
+
flags: []
|
|
834
1884
|
},
|
|
835
1885
|
"upload-file-base64": {
|
|
836
1886
|
serviceClass: "Files",
|
|
837
1887
|
operationId: "uploadFileBase64",
|
|
838
|
-
description: "
|
|
1888
|
+
description: "Uploads a file to the server using base64-encoded content",
|
|
1889
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
839
1890
|
pathParams: [],
|
|
840
|
-
queryParams: []
|
|
1891
|
+
queryParams: [],
|
|
1892
|
+
flags: []
|
|
841
1893
|
},
|
|
842
1894
|
"get-file": {
|
|
843
1895
|
serviceClass: "Files",
|
|
844
1896
|
operationId: "getFile",
|
|
845
|
-
description: "
|
|
1897
|
+
description: "Returns the data and metadata of a specific file",
|
|
1898
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
846
1899
|
pathParams: ["file_id"],
|
|
847
|
-
queryParams: []
|
|
1900
|
+
queryParams: [],
|
|
1901
|
+
flags: [{
|
|
1902
|
+
"name": "file_id",
|
|
1903
|
+
"description": "File ID",
|
|
1904
|
+
"required": true,
|
|
1905
|
+
"type": "string",
|
|
1906
|
+
"in": "path"
|
|
1907
|
+
}]
|
|
848
1908
|
},
|
|
849
1909
|
"delete-file": {
|
|
850
1910
|
serviceClass: "Files",
|
|
851
1911
|
operationId: "deleteFile",
|
|
852
|
-
description: "
|
|
1912
|
+
description: "Removes a file from the system by ID",
|
|
1913
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
853
1914
|
pathParams: ["file_id"],
|
|
854
|
-
queryParams: []
|
|
1915
|
+
queryParams: [],
|
|
1916
|
+
flags: [{
|
|
1917
|
+
"name": "file_id",
|
|
1918
|
+
"description": "ID of the file to delete",
|
|
1919
|
+
"required": true,
|
|
1920
|
+
"type": "string",
|
|
1921
|
+
"in": "path"
|
|
1922
|
+
}]
|
|
855
1923
|
},
|
|
856
1924
|
"download-file": {
|
|
857
1925
|
serviceClass: "Files",
|
|
858
1926
|
operationId: "downloadFile",
|
|
859
|
-
description: "
|
|
1927
|
+
description: "Streams the file content to the client",
|
|
1928
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
860
1929
|
pathParams: ["file_id"],
|
|
861
|
-
queryParams: []
|
|
1930
|
+
queryParams: [],
|
|
1931
|
+
flags: [{
|
|
1932
|
+
"name": "file_id",
|
|
1933
|
+
"description": "File ID",
|
|
1934
|
+
"required": true,
|
|
1935
|
+
"type": "string",
|
|
1936
|
+
"in": "path"
|
|
1937
|
+
}]
|
|
862
1938
|
},
|
|
863
1939
|
"update-file-metadata": {
|
|
864
1940
|
serviceClass: "Files",
|
|
865
1941
|
operationId: "updateFileMetadata",
|
|
866
|
-
description: "
|
|
1942
|
+
description: "Updates the metadata field of a file",
|
|
1943
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
867
1944
|
pathParams: ["file_id"],
|
|
868
|
-
queryParams: []
|
|
1945
|
+
queryParams: [],
|
|
1946
|
+
flags: [{
|
|
1947
|
+
"name": "file_id",
|
|
1948
|
+
"description": "File ID",
|
|
1949
|
+
"required": true,
|
|
1950
|
+
"type": "string",
|
|
1951
|
+
"in": "path"
|
|
1952
|
+
}, {
|
|
1953
|
+
"name": "metadata",
|
|
1954
|
+
"description": "New metadata as a JSON string",
|
|
1955
|
+
"required": false,
|
|
1956
|
+
"type": "string",
|
|
1957
|
+
"in": "body"
|
|
1958
|
+
}, {
|
|
1959
|
+
"name": "filename",
|
|
1960
|
+
"description": "New filename for the file",
|
|
1961
|
+
"required": false,
|
|
1962
|
+
"type": "string",
|
|
1963
|
+
"in": "body"
|
|
1964
|
+
}]
|
|
869
1965
|
},
|
|
870
1966
|
"download-file-base64": {
|
|
871
1967
|
serviceClass: "Files",
|
|
872
1968
|
operationId: "downloadFileBase64",
|
|
873
|
-
description: "
|
|
1969
|
+
description: "Returns the file content encoded as base64",
|
|
1970
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
874
1971
|
pathParams: ["file_id"],
|
|
875
|
-
queryParams: []
|
|
1972
|
+
queryParams: [],
|
|
1973
|
+
flags: [{
|
|
1974
|
+
"name": "file_id",
|
|
1975
|
+
"description": "File ID",
|
|
1976
|
+
"required": true,
|
|
1977
|
+
"type": "string",
|
|
1978
|
+
"in": "path"
|
|
1979
|
+
}]
|
|
876
1980
|
},
|
|
877
1981
|
"get-file-tags": {
|
|
878
1982
|
serviceClass: "Files",
|
|
879
1983
|
operationId: "getFileTags",
|
|
880
|
-
description: "
|
|
1984
|
+
description: "Returns all tags attached to the file",
|
|
1985
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
881
1986
|
pathParams: ["file_id"],
|
|
882
|
-
queryParams: []
|
|
1987
|
+
queryParams: [],
|
|
1988
|
+
flags: [{
|
|
1989
|
+
"name": "file_id",
|
|
1990
|
+
"description": "File ID",
|
|
1991
|
+
"required": true,
|
|
1992
|
+
"type": "string",
|
|
1993
|
+
"in": "path"
|
|
1994
|
+
}]
|
|
883
1995
|
},
|
|
884
1996
|
"replace-file-tags": {
|
|
885
1997
|
serviceClass: "Files",
|
|
886
1998
|
operationId: "replaceFileTags",
|
|
887
|
-
description: "
|
|
1999
|
+
description: "Replaces all tags on the file with the provided tags",
|
|
2000
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
888
2001
|
pathParams: ["file_id"],
|
|
889
|
-
queryParams: []
|
|
2002
|
+
queryParams: [],
|
|
2003
|
+
flags: [{
|
|
2004
|
+
"name": "file_id",
|
|
2005
|
+
"description": "File ID",
|
|
2006
|
+
"required": true,
|
|
2007
|
+
"type": "string",
|
|
2008
|
+
"in": "path"
|
|
2009
|
+
}]
|
|
890
2010
|
},
|
|
891
2011
|
"merge-file-tags": {
|
|
892
2012
|
serviceClass: "Files",
|
|
893
2013
|
operationId: "mergeFileTags",
|
|
894
|
-
description: "
|
|
2014
|
+
description: "Merges provided tags with existing tags",
|
|
2015
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
|
|
895
2016
|
pathParams: ["file_id"],
|
|
896
|
-
queryParams: []
|
|
2017
|
+
queryParams: [],
|
|
2018
|
+
flags: [{
|
|
2019
|
+
"name": "file_id",
|
|
2020
|
+
"description": "File ID",
|
|
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
|
});
|