@soat/cli 0.15.11 → 0.15.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +313 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -13,7 +13,7 @@ import { load } from "js-yaml";
|
|
|
13
13
|
import * as os from "node:os";
|
|
14
14
|
|
|
15
15
|
//#region package.json
|
|
16
|
-
var version = "0.15.
|
|
16
|
+
var version = "0.15.12";
|
|
17
17
|
|
|
18
18
|
//#endregion
|
|
19
19
|
//#region src/cli-wrappers/wrappers/formations.ts
|
|
@@ -1552,6 +1552,86 @@ var routes = {
|
|
|
1552
1552
|
"in": "body"
|
|
1553
1553
|
}]
|
|
1554
1554
|
},
|
|
1555
|
+
"list-audit-entries": {
|
|
1556
|
+
serviceClass: "AuditLog",
|
|
1557
|
+
operationId: "listAuditEntries",
|
|
1558
|
+
description: "Returns audit-log entries visible to the caller, newest first. All filters are optional and combine with AND. `resource_srn` is a prefix match (e.g. `soat:{project}:secret:` matches every secret action); every other filter is exact.",
|
|
1559
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/audit-log",
|
|
1560
|
+
httpMethod: "get",
|
|
1561
|
+
pathParams: [],
|
|
1562
|
+
queryParams: ["project_id", "action", "actor_id", "resource_public_id", "resource_srn", "from", "to", "limit", "offset"],
|
|
1563
|
+
flags: [{
|
|
1564
|
+
"name": "project_id",
|
|
1565
|
+
"description": "Project ID (scopes results; required if not using project key auth for a specific project)",
|
|
1566
|
+
"required": false,
|
|
1567
|
+
"type": "string",
|
|
1568
|
+
"in": "query"
|
|
1569
|
+
}, {
|
|
1570
|
+
"name": "action",
|
|
1571
|
+
"description": "Exact permission-action string, e.g. `secrets:DeleteSecret`",
|
|
1572
|
+
"required": false,
|
|
1573
|
+
"type": "string",
|
|
1574
|
+
"in": "query"
|
|
1575
|
+
}, {
|
|
1576
|
+
"name": "actor_id",
|
|
1577
|
+
"description": "Public id of the principal (`user_…` or `key_…`)",
|
|
1578
|
+
"required": false,
|
|
1579
|
+
"type": "string",
|
|
1580
|
+
"in": "query"
|
|
1581
|
+
}, {
|
|
1582
|
+
"name": "resource_public_id",
|
|
1583
|
+
"description": "Exact target resource public id, e.g. `sec_…`",
|
|
1584
|
+
"required": false,
|
|
1585
|
+
"type": "string",
|
|
1586
|
+
"in": "query"
|
|
1587
|
+
}, {
|
|
1588
|
+
"name": "resource_srn",
|
|
1589
|
+
"description": "SRN prefix match, e.g. `soat:{project}:secret:`",
|
|
1590
|
+
"required": false,
|
|
1591
|
+
"type": "string",
|
|
1592
|
+
"in": "query"
|
|
1593
|
+
}, {
|
|
1594
|
+
"name": "from",
|
|
1595
|
+
"description": "Only entries created at or after this timestamp (ISO 8601)",
|
|
1596
|
+
"required": false,
|
|
1597
|
+
"type": "string",
|
|
1598
|
+
"in": "query"
|
|
1599
|
+
}, {
|
|
1600
|
+
"name": "to",
|
|
1601
|
+
"description": "Only entries created at or before this timestamp (ISO 8601)",
|
|
1602
|
+
"required": false,
|
|
1603
|
+
"type": "string",
|
|
1604
|
+
"in": "query"
|
|
1605
|
+
}, {
|
|
1606
|
+
"name": "limit",
|
|
1607
|
+
"description": "Number of results per page (1–200, default 25)",
|
|
1608
|
+
"required": false,
|
|
1609
|
+
"type": "integer",
|
|
1610
|
+
"in": "query"
|
|
1611
|
+
}, {
|
|
1612
|
+
"name": "offset",
|
|
1613
|
+
"description": "Number of results to skip",
|
|
1614
|
+
"required": false,
|
|
1615
|
+
"type": "integer",
|
|
1616
|
+
"in": "query"
|
|
1617
|
+
}]
|
|
1618
|
+
},
|
|
1619
|
+
"get-audit-entry": {
|
|
1620
|
+
serviceClass: "AuditLog",
|
|
1621
|
+
operationId: "getAuditEntry",
|
|
1622
|
+
description: "Returns a single audit-log entry, including its `detail` payload",
|
|
1623
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/audit-log",
|
|
1624
|
+
httpMethod: "get",
|
|
1625
|
+
pathParams: ["entry_id"],
|
|
1626
|
+
queryParams: [],
|
|
1627
|
+
flags: [{
|
|
1628
|
+
"name": "entry_id",
|
|
1629
|
+
"description": "Audit entry ID",
|
|
1630
|
+
"required": true,
|
|
1631
|
+
"type": "string",
|
|
1632
|
+
"in": "path"
|
|
1633
|
+
}]
|
|
1634
|
+
},
|
|
1555
1635
|
"list-chats": {
|
|
1556
1636
|
serviceClass: "Chats",
|
|
1557
1637
|
operationId: "listChats",
|
|
@@ -2668,6 +2748,94 @@ var routes = {
|
|
|
2668
2748
|
"in": "body"
|
|
2669
2749
|
}]
|
|
2670
2750
|
},
|
|
2751
|
+
"list-exceptions": {
|
|
2752
|
+
serviceClass: "Exceptions",
|
|
2753
|
+
operationId: "listExceptions",
|
|
2754
|
+
description: "Returns exception items for a project, filterable by status, severity, and kind.",
|
|
2755
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/exceptions",
|
|
2756
|
+
httpMethod: "get",
|
|
2757
|
+
pathParams: [],
|
|
2758
|
+
queryParams: ["project_id", "status", "severity", "kind"],
|
|
2759
|
+
flags: [{
|
|
2760
|
+
"name": "project_id",
|
|
2761
|
+
"description": "Project ID (required if not using project key auth)",
|
|
2762
|
+
"required": false,
|
|
2763
|
+
"type": "string",
|
|
2764
|
+
"in": "query"
|
|
2765
|
+
}, {
|
|
2766
|
+
"name": "status",
|
|
2767
|
+
"description": "Filter by triage status",
|
|
2768
|
+
"required": false,
|
|
2769
|
+
"type": "string",
|
|
2770
|
+
"in": "query"
|
|
2771
|
+
}, {
|
|
2772
|
+
"name": "severity",
|
|
2773
|
+
"description": "Filter by severity",
|
|
2774
|
+
"required": false,
|
|
2775
|
+
"type": "string",
|
|
2776
|
+
"in": "query"
|
|
2777
|
+
}, {
|
|
2778
|
+
"name": "kind",
|
|
2779
|
+
"description": "Filter by how the exception was filed",
|
|
2780
|
+
"required": false,
|
|
2781
|
+
"type": "string",
|
|
2782
|
+
"in": "query"
|
|
2783
|
+
}]
|
|
2784
|
+
},
|
|
2785
|
+
"get-exception": {
|
|
2786
|
+
serviceClass: "Exceptions",
|
|
2787
|
+
operationId: "getException",
|
|
2788
|
+
description: "Returns a single exception item with its full detail.",
|
|
2789
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/exceptions",
|
|
2790
|
+
httpMethod: "get",
|
|
2791
|
+
pathParams: ["exception_id"],
|
|
2792
|
+
queryParams: [],
|
|
2793
|
+
flags: [{
|
|
2794
|
+
"name": "exception_id",
|
|
2795
|
+
"description": "Exception item ID",
|
|
2796
|
+
"required": true,
|
|
2797
|
+
"type": "string",
|
|
2798
|
+
"in": "path"
|
|
2799
|
+
}]
|
|
2800
|
+
},
|
|
2801
|
+
"acknowledge-exception": {
|
|
2802
|
+
serviceClass: "Exceptions",
|
|
2803
|
+
operationId: "acknowledgeException",
|
|
2804
|
+
description: "Moves the item to `acknowledged` (\"someone is on it\"), recording who. A no-op that returns the item unchanged when already acknowledged; rejected when already resolved.",
|
|
2805
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/exceptions",
|
|
2806
|
+
httpMethod: "post",
|
|
2807
|
+
pathParams: ["exception_id"],
|
|
2808
|
+
queryParams: [],
|
|
2809
|
+
flags: [{
|
|
2810
|
+
"name": "exception_id",
|
|
2811
|
+
"description": "Exception item ID",
|
|
2812
|
+
"required": true,
|
|
2813
|
+
"type": "string",
|
|
2814
|
+
"in": "path"
|
|
2815
|
+
}]
|
|
2816
|
+
},
|
|
2817
|
+
"resolve-exception": {
|
|
2818
|
+
serviceClass: "Exceptions",
|
|
2819
|
+
operationId: "resolveException",
|
|
2820
|
+
description: "Moves the item to `resolved` (\"fixed\"), recording who and an optional note.",
|
|
2821
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/exceptions",
|
|
2822
|
+
httpMethod: "post",
|
|
2823
|
+
pathParams: ["exception_id"],
|
|
2824
|
+
queryParams: [],
|
|
2825
|
+
flags: [{
|
|
2826
|
+
"name": "exception_id",
|
|
2827
|
+
"description": "Exception item ID",
|
|
2828
|
+
"required": true,
|
|
2829
|
+
"type": "string",
|
|
2830
|
+
"in": "path"
|
|
2831
|
+
}, {
|
|
2832
|
+
"name": "note",
|
|
2833
|
+
"description": "Optional resolution note",
|
|
2834
|
+
"required": false,
|
|
2835
|
+
"type": "string",
|
|
2836
|
+
"in": "body"
|
|
2837
|
+
}]
|
|
2838
|
+
},
|
|
2671
2839
|
"list-files": {
|
|
2672
2840
|
serviceClass: "Files",
|
|
2673
2841
|
operationId: "listFiles",
|
|
@@ -4126,6 +4294,16 @@ var routes = {
|
|
|
4126
4294
|
"in": "body"
|
|
4127
4295
|
}]
|
|
4128
4296
|
},
|
|
4297
|
+
"get-queue-stats": {
|
|
4298
|
+
serviceClass: "Orchestrations",
|
|
4299
|
+
operationId: "getQueueStats",
|
|
4300
|
+
description: "Returns a point-in-time snapshot of the orchestration run queue: how many tasks are waiting to be claimed (`queue_depth`), how many are currently claimed with a valid lease (`claimed_tasks`), the age of the oldest waiting task, recent claim-latency percentiles over a rolling in-process window, and a per-project breakdown. Intended for admin/operator policies; guarded by `orchestrations:GetQueueStats`. A project-scoped caller sees only their own projects under `per_project`.",
|
|
4301
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
|
|
4302
|
+
httpMethod: "get",
|
|
4303
|
+
pathParams: [],
|
|
4304
|
+
queryParams: [],
|
|
4305
|
+
flags: []
|
|
4306
|
+
},
|
|
4129
4307
|
"get-orchestration": {
|
|
4130
4308
|
serviceClass: "Orchestrations",
|
|
4131
4309
|
operationId: "getOrchestration",
|
|
@@ -4508,6 +4686,12 @@ var routes = {
|
|
|
4508
4686
|
"required": false,
|
|
4509
4687
|
"type": "array",
|
|
4510
4688
|
"in": "body"
|
|
4689
|
+
}, {
|
|
4690
|
+
"name": "max_concurrent_runs",
|
|
4691
|
+
"description": "Maximum orchestration runs of this project driven at once. `null` clears the limit (unlimited); otherwise an integer >= 1. Enforced at queue claim time — excess runs stay queued until a slot frees.",
|
|
4692
|
+
"required": false,
|
|
4693
|
+
"type": "integer",
|
|
4694
|
+
"in": "body"
|
|
4511
4695
|
}]
|
|
4512
4696
|
},
|
|
4513
4697
|
"delete-project": {
|
|
@@ -4570,6 +4754,134 @@ var routes = {
|
|
|
4570
4754
|
"in": "body"
|
|
4571
4755
|
}]
|
|
4572
4756
|
},
|
|
4757
|
+
"list-quotas": {
|
|
4758
|
+
serviceClass: "Quotas",
|
|
4759
|
+
operationId: "listQuotas",
|
|
4760
|
+
description: "Returns the quotas defined in a project",
|
|
4761
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/quotas",
|
|
4762
|
+
httpMethod: "get",
|
|
4763
|
+
pathParams: [],
|
|
4764
|
+
queryParams: ["project_id"],
|
|
4765
|
+
flags: [{
|
|
4766
|
+
"name": "project_id",
|
|
4767
|
+
"description": "Project ID (required if not using project key auth)",
|
|
4768
|
+
"required": false,
|
|
4769
|
+
"type": "string",
|
|
4770
|
+
"in": "query"
|
|
4771
|
+
}]
|
|
4772
|
+
},
|
|
4773
|
+
"create-quota": {
|
|
4774
|
+
serviceClass: "Quotas",
|
|
4775
|
+
operationId: "createQuota",
|
|
4776
|
+
description: "Creates a project-scoped quota. `scope: agent` with `metric: requests` and `scope: api_key` with `metric: tokens`/`cost_usd` are both rejected with 400 (no attribution exists to enforce them). A duplicate quota (same project, scope, scope_ref, metric, window) is rejected with 409.",
|
|
4777
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/quotas",
|
|
4778
|
+
httpMethod: "post",
|
|
4779
|
+
pathParams: [],
|
|
4780
|
+
queryParams: [],
|
|
4781
|
+
flags: [{
|
|
4782
|
+
"name": "project_id",
|
|
4783
|
+
"description": "Project ID (required if not using project key auth)",
|
|
4784
|
+
"required": false,
|
|
4785
|
+
"type": "string",
|
|
4786
|
+
"in": "body"
|
|
4787
|
+
}, {
|
|
4788
|
+
"name": "scope",
|
|
4789
|
+
"description": "The scope the quota applies to",
|
|
4790
|
+
"required": true,
|
|
4791
|
+
"type": "string",
|
|
4792
|
+
"in": "body"
|
|
4793
|
+
}, {
|
|
4794
|
+
"name": "scope_ref",
|
|
4795
|
+
"description": "Public id of the api key / agent the quota applies to. NULL means all entities of that scope type in the project.",
|
|
4796
|
+
"required": false,
|
|
4797
|
+
"type": "string",
|
|
4798
|
+
"in": "body"
|
|
4799
|
+
}, {
|
|
4800
|
+
"name": "metric",
|
|
4801
|
+
"description": "The metric being capped",
|
|
4802
|
+
"required": true,
|
|
4803
|
+
"type": "string",
|
|
4804
|
+
"in": "body"
|
|
4805
|
+
}, {
|
|
4806
|
+
"name": "window",
|
|
4807
|
+
"description": "The window over which the metric is aggregated",
|
|
4808
|
+
"required": true,
|
|
4809
|
+
"type": "string",
|
|
4810
|
+
"in": "body"
|
|
4811
|
+
}, {
|
|
4812
|
+
"name": "limit",
|
|
4813
|
+
"description": "The cap. Must be a positive integer for requests/tokens; fractional values are allowed for cost_usd.",
|
|
4814
|
+
"required": true,
|
|
4815
|
+
"type": "number",
|
|
4816
|
+
"in": "body"
|
|
4817
|
+
}, {
|
|
4818
|
+
"name": "mode",
|
|
4819
|
+
"description": "enforce blocks with 429 (requests at the middleware, tokens/cost_usd at the pre-generation check); monitor is a pass-through no-op until the webhook phase ships.",
|
|
4820
|
+
"required": false,
|
|
4821
|
+
"type": "string",
|
|
4822
|
+
"in": "body"
|
|
4823
|
+
}]
|
|
4824
|
+
},
|
|
4825
|
+
"get-quota": {
|
|
4826
|
+
serviceClass: "Quotas",
|
|
4827
|
+
operationId: "getQuota",
|
|
4828
|
+
description: "Returns a specific quota, including current window usage",
|
|
4829
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/quotas",
|
|
4830
|
+
httpMethod: "get",
|
|
4831
|
+
pathParams: ["quota_id"],
|
|
4832
|
+
queryParams: [],
|
|
4833
|
+
flags: [{
|
|
4834
|
+
"name": "quota_id",
|
|
4835
|
+
"description": "Quota ID",
|
|
4836
|
+
"required": true,
|
|
4837
|
+
"type": "string",
|
|
4838
|
+
"in": "path"
|
|
4839
|
+
}]
|
|
4840
|
+
},
|
|
4841
|
+
"update-quota": {
|
|
4842
|
+
serviceClass: "Quotas",
|
|
4843
|
+
operationId: "updateQuota",
|
|
4844
|
+
description: "Updates a quota's limit and/or mode. Other fields are immutable.",
|
|
4845
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/quotas",
|
|
4846
|
+
httpMethod: "patch",
|
|
4847
|
+
pathParams: ["quota_id"],
|
|
4848
|
+
queryParams: [],
|
|
4849
|
+
flags: [{
|
|
4850
|
+
"name": "quota_id",
|
|
4851
|
+
"description": "Quota ID",
|
|
4852
|
+
"required": true,
|
|
4853
|
+
"type": "string",
|
|
4854
|
+
"in": "path"
|
|
4855
|
+
}, {
|
|
4856
|
+
"name": "limit",
|
|
4857
|
+
"description": "New limit",
|
|
4858
|
+
"required": false,
|
|
4859
|
+
"type": "number",
|
|
4860
|
+
"in": "body"
|
|
4861
|
+
}, {
|
|
4862
|
+
"name": "mode",
|
|
4863
|
+
"description": "New mode",
|
|
4864
|
+
"required": false,
|
|
4865
|
+
"type": "string",
|
|
4866
|
+
"in": "body"
|
|
4867
|
+
}]
|
|
4868
|
+
},
|
|
4869
|
+
"delete-quota": {
|
|
4870
|
+
serviceClass: "Quotas",
|
|
4871
|
+
operationId: "deleteQuota",
|
|
4872
|
+
description: "Deletes a quota and drops its window counters",
|
|
4873
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/quotas",
|
|
4874
|
+
httpMethod: "delete",
|
|
4875
|
+
pathParams: ["quota_id"],
|
|
4876
|
+
queryParams: [],
|
|
4877
|
+
flags: [{
|
|
4878
|
+
"name": "quota_id",
|
|
4879
|
+
"description": "Quota ID",
|
|
4880
|
+
"required": true,
|
|
4881
|
+
"type": "string",
|
|
4882
|
+
"in": "path"
|
|
4883
|
+
}]
|
|
4884
|
+
},
|
|
4573
4885
|
"list-secrets": {
|
|
4574
4886
|
serviceClass: "Secrets",
|
|
4575
4887
|
operationId: "listSecrets",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@soat/cli",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.12",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@inquirer/input": "^5.1.2",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"@ttoss/logger": "^0.8.19",
|
|
9
9
|
"commander": "^15.0.0",
|
|
10
10
|
"js-yaml": "^5.2.1",
|
|
11
|
-
"@soat/sdk": "0.15.
|
|
11
|
+
"@soat/sdk": "0.15.12"
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {
|
|
14
14
|
"@ttoss/config": "^1.37.17",
|