@deepnoodle/mobius 0.0.7 → 0.0.9
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/api/index.d.ts +9 -62
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/schema.d.ts +549 -1005
- package/dist/api/schema.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/api/schema.d.ts
CHANGED
|
@@ -156,7 +156,7 @@ export interface paths {
|
|
|
156
156
|
};
|
|
157
157
|
/**
|
|
158
158
|
* List audit log entries
|
|
159
|
-
* @description Returns an immutable, append-only log of create/update/delete actions performed against org resources. Entries record both the durable actor identity (service account or user) and the credential used, enabling attribution even when keys are later revoked.
|
|
159
|
+
* @description Returns an immutable, append-only log of create/update/delete/archive/restore actions performed against org resources. Entries record both the durable actor identity (service account or user) and the credential used, enabling attribution even when keys are later revoked.
|
|
160
160
|
*
|
|
161
161
|
* Combine `actor_id` + `resource_type` to audit a specific identity's writes to a resource class. Use `created_after` / `created_before` for time-bounded compliance exports.
|
|
162
162
|
*/
|
|
@@ -384,9 +384,28 @@ export interface paths {
|
|
|
384
384
|
};
|
|
385
385
|
/**
|
|
386
386
|
* Subscribe to a project-wide stream of run events (SSE)
|
|
387
|
-
* @description Opens a Server-Sent Events connection. Each frame carries a JSON envelope `{type, run_id, seq, timestamp, data}` where `
|
|
387
|
+
* @description Opens a Server-Sent Events connection. Each frame carries a JSON envelope `{type, run_id, seq, timestamp, data}` where `seq` is a monotonic durable cursor and `type` is one of:
|
|
388
|
+
*
|
|
389
|
+
* - `run_updated` — the run row's status, heartbeat, or
|
|
390
|
+
* timestamps changed; `data` is a full WorkflowRun.
|
|
391
|
+
* - `job_updated` — a single job's status or attempt
|
|
392
|
+
* advanced; `data` is a full Job.
|
|
393
|
+
* - `action_appended` — one entry was appended to the run
|
|
394
|
+
* timeline (worker job completed or platform action ran);
|
|
395
|
+
* `data` is a WorkflowActionLog row.
|
|
396
|
+
* - `interaction_created` / `interaction_completed` /
|
|
397
|
+
* `interaction_group_claimed` /
|
|
398
|
+
* `interaction_group_released` — interaction lifecycle;
|
|
399
|
+
* `data` is a full Interaction.
|
|
400
|
+
* - `custom` — a worker emitted a domain-specific event via
|
|
401
|
+
* `POST /v1/projects/{project}/jobs/{id}/events`. `data`
|
|
402
|
+
* carries `{kind: "custom", type, job_id, data}` where
|
|
403
|
+
* `type` is the worker-supplied name and inner `data` is
|
|
404
|
+
* the worker payload.
|
|
388
405
|
*
|
|
389
406
|
* Pass `?since=<seq>` on reconnect to replay any durable events the server has recorded past that cursor before switching back to live updates; clients should record the largest `seq` they have observed. Comment frames (`:keepalive`) are emitted every ~15s to keep intermediaries from closing the connection.
|
|
407
|
+
*
|
|
408
|
+
* Unknown future event types may appear; clients should ignore types they don't recognize rather than treat the stream as malformed.
|
|
390
409
|
*/
|
|
391
410
|
get: operations["streamProjectRunEvents"];
|
|
392
411
|
put?: never;
|
|
@@ -408,7 +427,7 @@ export interface paths {
|
|
|
408
427
|
put?: never;
|
|
409
428
|
/**
|
|
410
429
|
* Request cancellation of an in-flight run
|
|
411
|
-
* @description
|
|
430
|
+
* @description Records `cancel_requested_at`, terminalizes the run as failed with `error_type=run_cancelled`, and closes any non-terminal jobs created by the run. During migration, `cancel_requested` remains populated as an audit/compatibility field.
|
|
412
431
|
*/
|
|
413
432
|
post: operations["cancelRun"];
|
|
414
433
|
delete?: never;
|
|
@@ -427,8 +446,8 @@ export interface paths {
|
|
|
427
446
|
get?: never;
|
|
428
447
|
put?: never;
|
|
429
448
|
/**
|
|
430
|
-
* Resume
|
|
431
|
-
* @description
|
|
449
|
+
* Resume waiting run paths
|
|
450
|
+
* @description Re-enters any resumable waiting paths, such as paused paths or due timer waits.
|
|
432
451
|
*/
|
|
433
452
|
post: operations["resumeRun"];
|
|
434
453
|
delete?: never;
|
|
@@ -447,8 +466,8 @@ export interface paths {
|
|
|
447
466
|
get?: never;
|
|
448
467
|
put?: never;
|
|
449
468
|
/**
|
|
450
|
-
* Deliver a signal
|
|
451
|
-
* @description Durably enqueues a signal keyed by (run_id, name). If the run is
|
|
469
|
+
* Deliver a run-scoped signal
|
|
470
|
+
* @description Durably enqueues a signal keyed by (run_id, name). If any path in the run is waiting on that topic, the server re-enters that path so it can consume the signal. Otherwise the signal remains in the store until a future path waits for it.
|
|
452
471
|
*/
|
|
453
472
|
post: operations["sendRunSignal"];
|
|
454
473
|
delete?: never;
|
|
@@ -466,7 +485,7 @@ export interface paths {
|
|
|
466
485
|
};
|
|
467
486
|
/**
|
|
468
487
|
* Subscribe to a stream of events for a single run (SSE)
|
|
469
|
-
* @description Same envelope as `/v1/projects/{project}/runs/events`
|
|
488
|
+
* @description Same envelope and event-type set as `/v1/projects/{project}/runs/events` (see that endpoint for the full vocabulary of `type` values), filtered to a single run. The server writes one seed `run_updated` frame on connection so reconnects do not miss the latest state, and supports `?since=<seq>` replay for durable events recorded since the given seq cursor.
|
|
470
489
|
*/
|
|
471
490
|
get: operations["streamRunEvents"];
|
|
472
491
|
put?: never;
|
|
@@ -714,7 +733,7 @@ export interface paths {
|
|
|
714
733
|
* Emit one or more custom events from a claimed workflow job
|
|
715
734
|
* @description Publishes a batch of custom run events on behalf of the worker holding the job's current lease. Events are appended to the durable run event store (so they replay via `?since=<seq>`) and fanned out to any live SSE subscribers on the run.
|
|
716
735
|
*
|
|
717
|
-
* Authorization requires `mobius.
|
|
736
|
+
* Authorization requires `mobius.work.execute`. Each event must present the active lease fence (`worker_id` + `attempt`); stale fences are rejected with 409.
|
|
718
737
|
*
|
|
719
738
|
* `type` is a caller-chosen identifier. The `mobius.` prefix is reserved for future server-emitted well-known kinds and is rejected with 400.
|
|
720
739
|
*
|
|
@@ -924,7 +943,7 @@ export interface paths {
|
|
|
924
943
|
};
|
|
925
944
|
/**
|
|
926
945
|
* List projects
|
|
927
|
-
* @description Returns up to 100 projects. Use `search` for prefix-match filtering by name or handle.
|
|
946
|
+
* @description Returns up to 100 projects. Use `search` for prefix-match filtering by name or handle. By default returns active (non-archived) projects; pass `status=archived` to see archived projects, or `status=all` to see both.
|
|
928
947
|
*/
|
|
929
948
|
get: operations["listProjects"];
|
|
930
949
|
put?: never;
|
|
@@ -948,7 +967,7 @@ export interface paths {
|
|
|
948
967
|
};
|
|
949
968
|
/**
|
|
950
969
|
* Get a project
|
|
951
|
-
* @description Requires the `project.
|
|
970
|
+
* @description Requires the `mobius.project.view` permission for the project.
|
|
952
971
|
*/
|
|
953
972
|
get: operations["getProject"];
|
|
954
973
|
put?: never;
|
|
@@ -956,6 +975,8 @@ export interface paths {
|
|
|
956
975
|
/**
|
|
957
976
|
* Delete a project
|
|
958
977
|
* @description Permanently deletes the project and all child resources (workflows, runs, jobs, triggers, webhooks, groups, interactions, actions, agents, service accounts). This operation is irreversible.
|
|
978
|
+
*
|
|
979
|
+
* The project must be archived first; calling delete on an active project returns `409 project_not_archived`. Archive via `POST /v1/projects/{id}/archive`.
|
|
959
980
|
*/
|
|
960
981
|
delete: operations["deleteProject"];
|
|
961
982
|
options?: never;
|
|
@@ -967,6 +988,46 @@ export interface paths {
|
|
|
967
988
|
patch: operations["updateProject"];
|
|
968
989
|
trace?: never;
|
|
969
990
|
};
|
|
991
|
+
"/v1/projects/{id}/archive": {
|
|
992
|
+
parameters: {
|
|
993
|
+
query?: never;
|
|
994
|
+
header?: never;
|
|
995
|
+
path?: never;
|
|
996
|
+
cookie?: never;
|
|
997
|
+
};
|
|
998
|
+
get?: never;
|
|
999
|
+
put?: never;
|
|
1000
|
+
/**
|
|
1001
|
+
* Archive a project
|
|
1002
|
+
* @description Soft-retires the project: triggers and scheduled runs stop firing, edits are blocked, and the project is hidden from the default listing. In-flight runs are allowed to drain. The project can be restored at any time. Idempotent — archiving an already-archived project returns the current state.
|
|
1003
|
+
*/
|
|
1004
|
+
post: operations["archiveProject"];
|
|
1005
|
+
delete?: never;
|
|
1006
|
+
options?: never;
|
|
1007
|
+
head?: never;
|
|
1008
|
+
patch?: never;
|
|
1009
|
+
trace?: never;
|
|
1010
|
+
};
|
|
1011
|
+
"/v1/projects/{id}/restore": {
|
|
1012
|
+
parameters: {
|
|
1013
|
+
query?: never;
|
|
1014
|
+
header?: never;
|
|
1015
|
+
path?: never;
|
|
1016
|
+
cookie?: never;
|
|
1017
|
+
};
|
|
1018
|
+
get?: never;
|
|
1019
|
+
put?: never;
|
|
1020
|
+
/**
|
|
1021
|
+
* Restore an archived project
|
|
1022
|
+
* @description Clears the archived state and returns the project to active operation. Triggers and scheduled runs resume on their next natural fire — there is no catch-up backfill of missed fires during the archive window. Idempotent — restoring an active project returns the current state.
|
|
1023
|
+
*/
|
|
1024
|
+
post: operations["restoreProject"];
|
|
1025
|
+
delete?: never;
|
|
1026
|
+
options?: never;
|
|
1027
|
+
head?: never;
|
|
1028
|
+
patch?: never;
|
|
1029
|
+
trace?: never;
|
|
1030
|
+
};
|
|
970
1031
|
"/v1/projects/{id}/config": {
|
|
971
1032
|
parameters: {
|
|
972
1033
|
query?: never;
|
|
@@ -1168,7 +1229,7 @@ export interface paths {
|
|
|
1168
1229
|
put?: never;
|
|
1169
1230
|
/**
|
|
1170
1231
|
* Create an interaction
|
|
1171
|
-
* @description Creates a standalone or run-backed interaction. When `run_id` is provided, `signal_name` is also required and completing the interaction automatically delivers a signal that resumes the
|
|
1232
|
+
* @description Creates a standalone or run-backed interaction. When `run_id` is provided, `signal_name` is also required and completing the interaction automatically delivers a signal that resumes the waiting run path. Omit both for a standalone interaction that completes with no workflow side effect. Workers creating interactions from within a job should use the job-scoped route (`POST /v1/projects/{project}/jobs/{id}/interactions`) instead, which derives the run and signal name automatically.
|
|
1172
1233
|
*/
|
|
1173
1234
|
post: operations["createInteraction"];
|
|
1174
1235
|
delete?: never;
|
|
@@ -1390,7 +1451,7 @@ export interface paths {
|
|
|
1390
1451
|
* Create an agent
|
|
1391
1452
|
* @description Creates an agent bound to a service account. A service account can back multiple agents. The service account can be changed after creation via the PATCH endpoint.
|
|
1392
1453
|
*
|
|
1393
|
-
* If `service_account_id` is omitted, a new service account is auto-created with the same name as the agent and assigned to back it. Auto-creation requires the caller to hold `mobius.
|
|
1454
|
+
* If `service_account_id` is omitted, a new service account is auto-created with the same name as the agent and assigned to back it. Auto-creation requires the caller to hold `mobius.access.manage`. Auto-creation fails if a service account with that name already exists in the project; to bind an existing service account to a new agent, pass `service_account_id` explicitly.
|
|
1394
1455
|
*/
|
|
1395
1456
|
post: operations["createAgent"];
|
|
1396
1457
|
delete?: never;
|
|
@@ -1542,7 +1603,7 @@ export interface paths {
|
|
|
1542
1603
|
put?: never;
|
|
1543
1604
|
/**
|
|
1544
1605
|
* Invoke a workflow tool
|
|
1545
|
-
* @description Starts a workflow run for the named tool (workflow handle) and waits for it to complete up to `timeout_seconds` (default 30s, max 120s). Returns the run output directly when the workflow completes within the timeout. On timeout the response includes the run ID and `status:
|
|
1606
|
+
* @description Starts a workflow run for the named tool (workflow handle) and waits for it to complete up to `timeout_seconds` (default 30s, max 120s). Returns the run output directly when the workflow completes within the timeout. On timeout the response includes the run ID and `status: active` so the caller can switch to polling via `GET /v1/projects/{project}/tools/{handle}/runs/{run_id}`.
|
|
1546
1607
|
*/
|
|
1547
1608
|
post: operations["runTool"];
|
|
1548
1609
|
delete?: never;
|
|
@@ -1585,17 +1646,23 @@ export interface components {
|
|
|
1585
1646
|
message: string;
|
|
1586
1647
|
};
|
|
1587
1648
|
};
|
|
1588
|
-
/** @description Health-check response for load balancers and uptime probes. */
|
|
1589
|
-
HealthResponse: {
|
|
1590
|
-
/** @description Current server status. `ok` when all dependencies are reachable. */
|
|
1591
|
-
status: string;
|
|
1592
|
-
};
|
|
1593
1649
|
/** @description Project ID. */
|
|
1594
1650
|
ProjectID: string;
|
|
1595
1651
|
/** @description Free-form JSON object for caller-defined metadata. */
|
|
1596
1652
|
Metadata: {
|
|
1597
1653
|
[key: string]: unknown;
|
|
1598
1654
|
};
|
|
1655
|
+
/**
|
|
1656
|
+
* @description Key/value tag map. Keys 1–128 chars, values 0–256 chars. Keys with the `mobius:` prefix are system-managed and cannot be set by callers. Maximum 8 tags per resource. Use tags to organize resources by environment, team, cost-center, or any other dimension meaningful to your organization; tags can be filtered on most list endpoints.
|
|
1657
|
+
* @example {
|
|
1658
|
+
* "Environment": "Production",
|
|
1659
|
+
* "Department": "Finance",
|
|
1660
|
+
* "Owner": "team@example.com"
|
|
1661
|
+
* }
|
|
1662
|
+
*/
|
|
1663
|
+
TagMap: {
|
|
1664
|
+
[key: string]: string;
|
|
1665
|
+
};
|
|
1599
1666
|
/**
|
|
1600
1667
|
* @description Declarative UI/input primitive for collecting the response. This is a portable rendering contract, not executable code. Values are `confirm`, `select`, `multi_select`, and `input`.
|
|
1601
1668
|
* @enum {string}
|
|
@@ -1664,6 +1731,8 @@ export interface components {
|
|
|
1664
1731
|
* @description Set when the channel is archived. Archived channels are hidden in the UI but their message history remains accessible.
|
|
1665
1732
|
*/
|
|
1666
1733
|
archived_at?: string | null;
|
|
1734
|
+
/** @description Resource tags applied to this channel. */
|
|
1735
|
+
tags?: components["schemas"]["TagMap"];
|
|
1667
1736
|
/**
|
|
1668
1737
|
* Format: date-time
|
|
1669
1738
|
* @description Timestamp when this channel was created.
|
|
@@ -1787,6 +1856,8 @@ export interface components {
|
|
|
1787
1856
|
private: boolean;
|
|
1788
1857
|
/** @description Optional list of user or agent IDs to add as members at creation time. All receive the `member` role; the creator is added as `admin` separately. */
|
|
1789
1858
|
member_ids?: string[];
|
|
1859
|
+
/** @description Initial tag set. */
|
|
1860
|
+
tags?: components["schemas"]["TagMap"];
|
|
1790
1861
|
};
|
|
1791
1862
|
/** @description Mutable channel fields. */
|
|
1792
1863
|
UpdateChannelRequest: {
|
|
@@ -1796,6 +1867,8 @@ export interface components {
|
|
|
1796
1867
|
topic?: string;
|
|
1797
1868
|
/** @description Toggle invite-only visibility. */
|
|
1798
1869
|
private?: boolean;
|
|
1870
|
+
/** @description When supplied, replaces the user tag set on the channel. System tags (`mobius:*`) are preserved. */
|
|
1871
|
+
tags?: components["schemas"]["TagMap"];
|
|
1799
1872
|
};
|
|
1800
1873
|
/** @description Member identity and role to add to a channel. */
|
|
1801
1874
|
AddChannelMemberRequest: {
|
|
@@ -1858,10 +1931,10 @@ export interface components {
|
|
|
1858
1931
|
/** @description Credential ID used for the request, when applicable */
|
|
1859
1932
|
credential_id?: string;
|
|
1860
1933
|
/**
|
|
1861
|
-
* @description Type of action performed: `create`, `update`, or `
|
|
1934
|
+
* @description Type of action performed: `create`, `update`, `delete`, `archive`, or `restore`.
|
|
1862
1935
|
* @enum {string}
|
|
1863
1936
|
*/
|
|
1864
|
-
action: "create" | "update" | "delete";
|
|
1937
|
+
action: "create" | "update" | "delete" | "archive" | "restore";
|
|
1865
1938
|
/** @description Type of resource affected (e.g., job, channel, document) */
|
|
1866
1939
|
resource_type: string;
|
|
1867
1940
|
/** @description ID of the affected resource */
|
|
@@ -1890,207 +1963,6 @@ export interface components {
|
|
|
1890
1963
|
/** @description Whether more results are available */
|
|
1891
1964
|
has_more: boolean;
|
|
1892
1965
|
};
|
|
1893
|
-
/** @description Set for project-pinned keys; omitted for org-scoped keys. */
|
|
1894
|
-
APIKeyProjectID: components["schemas"]["ProjectID"];
|
|
1895
|
-
/** @description Stored API credential metadata for automation and service access. The raw secret is never returned here; use this object to list, audit, expire, or identify keys by prefix without exposing tokens. */
|
|
1896
|
-
APIKey: {
|
|
1897
|
-
/** @description Unique identifier for this API key. */
|
|
1898
|
-
id: string;
|
|
1899
|
-
/** @description Human-readable label, unique within the org (or org+project for project-pinned keys). */
|
|
1900
|
-
name: string;
|
|
1901
|
-
/** @description First 8 characters of the key, used to identify it without exposing the secret. */
|
|
1902
|
-
key_prefix: string;
|
|
1903
|
-
/**
|
|
1904
|
-
* @description `org` is the standard API key scope; `system` is reserved for platform-level access. Project-pinned versus org-level behavior is determined by `project_id`.
|
|
1905
|
-
* @enum {string}
|
|
1906
|
-
*/
|
|
1907
|
-
scope: "org" | "system";
|
|
1908
|
-
/** @description Explicit permission set granted to this key (e.g. "mobius.job.claim"). */
|
|
1909
|
-
permissions?: string[];
|
|
1910
|
-
/** @description Project this key is pinned to; null or omitted for org-scoped and system keys. */
|
|
1911
|
-
project_id?: components["schemas"]["APIKeyProjectID"];
|
|
1912
|
-
/** @description Optional service account for attribution and quota tracking. */
|
|
1913
|
-
service_account_id?: string;
|
|
1914
|
-
/**
|
|
1915
|
-
* Format: date-time
|
|
1916
|
-
* @description Hard expiry timestamp. Requests using an expired key receive 401.
|
|
1917
|
-
*/
|
|
1918
|
-
expires_at?: string;
|
|
1919
|
-
/**
|
|
1920
|
-
* Format: date-time
|
|
1921
|
-
* @description Timestamp of the most recent authenticated request using this key.
|
|
1922
|
-
*/
|
|
1923
|
-
last_used_at?: string;
|
|
1924
|
-
/**
|
|
1925
|
-
* Format: date-time
|
|
1926
|
-
* @description Timestamp when this key was created.
|
|
1927
|
-
*/
|
|
1928
|
-
created_at: string;
|
|
1929
|
-
/**
|
|
1930
|
-
* Format: date-time
|
|
1931
|
-
* @description Timestamp when this key was last updated.
|
|
1932
|
-
*/
|
|
1933
|
-
updated_at: string;
|
|
1934
|
-
};
|
|
1935
|
-
/** @description Returned only on key creation. Contains the raw `key` value which is not retrievable after this response. */
|
|
1936
|
-
APIKeyCreateResult: {
|
|
1937
|
-
/** @description Unique identifier for the created API key. */
|
|
1938
|
-
id: string;
|
|
1939
|
-
/** @description Human-readable name for the key. */
|
|
1940
|
-
name: string;
|
|
1941
|
-
/** @description First 8 characters of the key for identification. */
|
|
1942
|
-
key_prefix: string;
|
|
1943
|
-
/**
|
|
1944
|
-
* @description Scope of the key. `org` is the standard API key scope, and `system` is reserved for platform-only keys. Project-pinned versus org-level behavior is determined by `project_id`.
|
|
1945
|
-
* @enum {string}
|
|
1946
|
-
*/
|
|
1947
|
-
scope: "org" | "system";
|
|
1948
|
-
/** @description List of permissions granted to this key. */
|
|
1949
|
-
permissions?: string[];
|
|
1950
|
-
/** @description Project this key is pinned to; null or omitted for org-scoped and system keys. */
|
|
1951
|
-
project_id?: components["schemas"]["APIKeyProjectID"];
|
|
1952
|
-
/** @description ID of the service account this key belongs to. */
|
|
1953
|
-
service_account_id?: string;
|
|
1954
|
-
/**
|
|
1955
|
-
* Format: date-time
|
|
1956
|
-
* @description Timestamp when this key expires. Null if it does not expire.
|
|
1957
|
-
*/
|
|
1958
|
-
expires_at?: string;
|
|
1959
|
-
/**
|
|
1960
|
-
* Format: date-time
|
|
1961
|
-
* @description Timestamp of the most recent authenticated request using this key.
|
|
1962
|
-
*/
|
|
1963
|
-
last_used_at?: string;
|
|
1964
|
-
/**
|
|
1965
|
-
* Format: date-time
|
|
1966
|
-
* @description Timestamp when this key was created.
|
|
1967
|
-
*/
|
|
1968
|
-
created_at: string;
|
|
1969
|
-
/**
|
|
1970
|
-
* Format: date-time
|
|
1971
|
-
* @description Timestamp when this key was last updated.
|
|
1972
|
-
*/
|
|
1973
|
-
updated_at: string;
|
|
1974
|
-
/** @description The raw API key. Returned only once at creation — store it securely immediately. */
|
|
1975
|
-
key: string;
|
|
1976
|
-
};
|
|
1977
|
-
APIKeyListResponse: {
|
|
1978
|
-
/** @description The list of results for this page. */
|
|
1979
|
-
items: components["schemas"]["APIKey"][];
|
|
1980
|
-
};
|
|
1981
|
-
/** @description Request shape for creating either a project-pinned key or an org-level key. Choose the project-pinned variant when automation should be unable to cross project boundaries. */
|
|
1982
|
-
CreateAPIKeyRequest: components["schemas"]["CreateProjectPinnedAPIKeyRequest"] | components["schemas"]["CreateOrgOrSystemAPIKeyRequest"];
|
|
1983
|
-
CreateProjectPinnedAPIKeyRequest: {
|
|
1984
|
-
/** @description Human-readable label, unique within the org (or project for project-pinned keys). */
|
|
1985
|
-
name: string;
|
|
1986
|
-
/** @description Set `project_id` to pin this key to exactly one project. When `project_id` is omitted, the request creates an org-level key instead. */
|
|
1987
|
-
project_id: components["schemas"]["ProjectID"];
|
|
1988
|
-
/**
|
|
1989
|
-
* @description Standard API key scope for project-pinned keys; value is always `org`.
|
|
1990
|
-
* @default org
|
|
1991
|
-
* @enum {string}
|
|
1992
|
-
*/
|
|
1993
|
-
scope: "org";
|
|
1994
|
-
/** @description Permissions to grant. Each permission must be held by the creating caller — you cannot grant more than you have. */
|
|
1995
|
-
permissions?: string[];
|
|
1996
|
-
/** @description Associate this key with a service account for attribution. */
|
|
1997
|
-
service_account_id?: string;
|
|
1998
|
-
/**
|
|
1999
|
-
* Format: date-time
|
|
2000
|
-
* @description Optional hard expiry. Omit for a non-expiring key.
|
|
2001
|
-
*/
|
|
2002
|
-
expires_at?: string;
|
|
2003
|
-
};
|
|
2004
|
-
CreateOrgOrSystemAPIKeyRequest: {
|
|
2005
|
-
/** @description Human-readable label, unique within the org (or project for project-pinned keys). */
|
|
2006
|
-
name: string;
|
|
2007
|
-
/**
|
|
2008
|
-
* @description Standard API key scope: `org` for organization keys or `system` for platform-only keys. Project-pinned versus org-level behavior is determined separately by `project_id`.
|
|
2009
|
-
* @default org
|
|
2010
|
-
* @enum {string}
|
|
2011
|
-
*/
|
|
2012
|
-
scope: "org" | "system";
|
|
2013
|
-
/** @description Permissions to grant. Each permission must be held by the creating caller — you cannot grant more than you have. */
|
|
2014
|
-
permissions?: string[];
|
|
2015
|
-
/** @description Associate this key with a service account for attribution. */
|
|
2016
|
-
service_account_id?: string;
|
|
2017
|
-
/**
|
|
2018
|
-
* Format: date-time
|
|
2019
|
-
* @description Optional hard expiry. Omit for a non-expiring key.
|
|
2020
|
-
*/
|
|
2021
|
-
expires_at?: string;
|
|
2022
|
-
};
|
|
2023
|
-
/** @description Server-resolved identity context for the current request. Use this to confirm which org, actor, and auth mechanism the API associated with the supplied credential. */
|
|
2024
|
-
AuthContext: {
|
|
2025
|
-
/** @description Resolved user ID for this request (may be a service account ID for API-key auth). */
|
|
2026
|
-
user_id: string;
|
|
2027
|
-
/** @description Org ID resolved from the authentication credential. */
|
|
2028
|
-
org_id?: string;
|
|
2029
|
-
/** @description Org member role (owner, admin, member) — empty for API-key auth. */
|
|
2030
|
-
role?: string;
|
|
2031
|
-
/** @description How the caller authenticated: `clerk` (browser JWT), `api_key`, or `cli_token`. */
|
|
2032
|
-
auth_type: string;
|
|
2033
|
-
/** @description True when the caller is an owner or admin of the active organization. */
|
|
2034
|
-
is_org_admin: boolean;
|
|
2035
|
-
};
|
|
2036
|
-
ConfirmDeviceCodeRequest: {
|
|
2037
|
-
/** @description The user code displayed in the CLI during the device authorization flow. */
|
|
2038
|
-
user_code: string;
|
|
2039
|
-
/** @description Optional label to identify this credential in the CLI credentials list. */
|
|
2040
|
-
label?: string;
|
|
2041
|
-
/** @description Optional project ID to pin the issued CLI credential to. When set, the resulting token is usable only for that project and must carry the project's handle as a trailing `.<handle>` suffix. */
|
|
2042
|
-
project_id?: string;
|
|
2043
|
-
};
|
|
2044
|
-
ConfirmDeviceCodeResult: {
|
|
2045
|
-
/** @description True when the device code was successfully confirmed and a CLI credential has been issued. */
|
|
2046
|
-
confirmed: boolean;
|
|
2047
|
-
};
|
|
2048
|
-
/**
|
|
2049
|
-
* @description Lifecycle state for a CLI credential. `active` credentials can authenticate requests; `revoked` credentials are retained for audit history but no longer work.
|
|
2050
|
-
* @enum {string}
|
|
2051
|
-
*/
|
|
2052
|
-
CLICredentialStatus: "active" | "revoked";
|
|
2053
|
-
/** @description User-authorized CLI credential metadata. Use it to show local login sessions, identify project-pinned tokens, and revoke stale command-line access without revealing the token itself. */
|
|
2054
|
-
CLICredential: {
|
|
2055
|
-
/** @description Unique identifier for this credential. */
|
|
2056
|
-
id: string;
|
|
2057
|
-
/** @description ID of the user who authorized this credential. */
|
|
2058
|
-
user_id: string;
|
|
2059
|
-
/** @description Project ID the credential is pinned to. Empty when the credential is org-scoped (usable across every project the user can access). */
|
|
2060
|
-
project_id?: string;
|
|
2061
|
-
/** @description Handle of the pinned project, echoed here so clients can format the trailing `.<handle>` suffix on every request. Empty when the credential is not pinned. */
|
|
2062
|
-
project_handle?: string;
|
|
2063
|
-
/** @description Human-readable label identifying this credential. */
|
|
2064
|
-
label: string;
|
|
2065
|
-
/** @description First few characters of the token, shown for identification without exposing the secret. */
|
|
2066
|
-
token_prefix: string;
|
|
2067
|
-
/** @description Credential lifecycle state: `active` or `revoked`. */
|
|
2068
|
-
status: components["schemas"]["CLICredentialStatus"];
|
|
2069
|
-
/**
|
|
2070
|
-
* Format: date-time
|
|
2071
|
-
* @description Timestamp when this credential was created.
|
|
2072
|
-
*/
|
|
2073
|
-
created_at: string;
|
|
2074
|
-
/**
|
|
2075
|
-
* Format: date-time
|
|
2076
|
-
* @description Timestamp when this credential was last updated.
|
|
2077
|
-
*/
|
|
2078
|
-
updated_at: string;
|
|
2079
|
-
/**
|
|
2080
|
-
* Format: date-time
|
|
2081
|
-
* @description Timestamp of the most recent authenticated request using this credential.
|
|
2082
|
-
*/
|
|
2083
|
-
last_used_at?: string;
|
|
2084
|
-
/**
|
|
2085
|
-
* Format: date-time
|
|
2086
|
-
* @description Timestamp when this credential expires. Null if it does not expire.
|
|
2087
|
-
*/
|
|
2088
|
-
expires_at?: string | null;
|
|
2089
|
-
};
|
|
2090
|
-
CLICredentialListResponse: {
|
|
2091
|
-
/** @description The list of credentials issued to the current user. */
|
|
2092
|
-
items: components["schemas"]["CLICredential"][];
|
|
2093
|
-
};
|
|
2094
1966
|
/**
|
|
2095
1967
|
* @description Workflow definition shaped like `workflow.Options`.
|
|
2096
1968
|
*
|
|
@@ -2373,17 +2245,7 @@ export interface components {
|
|
|
2373
2245
|
/** @description Go duration string. */
|
|
2374
2246
|
timeout: string;
|
|
2375
2247
|
/** @description User, group, or agent that should receive the interaction. */
|
|
2376
|
-
target: components["schemas"]["
|
|
2377
|
-
};
|
|
2378
|
-
/** @description Recipient definition used by workflow interaction steps. */
|
|
2379
|
-
WorkflowInteractionTarget: {
|
|
2380
|
-
/**
|
|
2381
|
-
* @description Whether the target is an individual user, a group, or an agent.
|
|
2382
|
-
* @enum {string}
|
|
2383
|
-
*/
|
|
2384
|
-
type: "user" | "group" | "agent";
|
|
2385
|
-
/** @description ID of the target user, group, or agent. */
|
|
2386
|
-
id: string;
|
|
2248
|
+
target: components["schemas"]["InteractionTarget"];
|
|
2387
2249
|
/** @description When true, all group members must respond before the interaction completes. Only meaningful when type is `group`. */
|
|
2388
2250
|
require_all?: boolean;
|
|
2389
2251
|
};
|
|
@@ -2403,6 +2265,8 @@ export interface components {
|
|
|
2403
2265
|
published_as_tool?: boolean;
|
|
2404
2266
|
/** @description User ID of the org member who created this workflow definition. */
|
|
2405
2267
|
created_by: string;
|
|
2268
|
+
/** @description Resource tags applied to this workflow. Inherited by runs at start time; see `WorkflowRun.tags`. */
|
|
2269
|
+
tags?: components["schemas"]["TagMap"];
|
|
2406
2270
|
/**
|
|
2407
2271
|
* Format: date-time
|
|
2408
2272
|
* @description Timestamp when this workflow definition was created.
|
|
@@ -2442,6 +2306,8 @@ export interface components {
|
|
|
2442
2306
|
published_as_tool?: boolean;
|
|
2443
2307
|
/** @description Executable workflow spec to persist as version 1. */
|
|
2444
2308
|
spec: components["schemas"]["WorkflowSpec"];
|
|
2309
|
+
/** @description Initial tag set. */
|
|
2310
|
+
tags?: components["schemas"]["TagMap"];
|
|
2445
2311
|
};
|
|
2446
2312
|
/** @description Updates workflow metadata and optionally creates a new immutable version when `spec` changes. */
|
|
2447
2313
|
UpdateWorkflowRequest: {
|
|
@@ -2453,6 +2319,8 @@ export interface components {
|
|
|
2453
2319
|
published_as_tool?: boolean;
|
|
2454
2320
|
/** @description Replacement executable workflow spec. Supplying this creates a new version. */
|
|
2455
2321
|
spec?: components["schemas"]["WorkflowSpec"];
|
|
2322
|
+
/** @description When supplied, replaces the workflow's tag set. Omit to leave tags unchanged. */
|
|
2323
|
+
tags?: components["schemas"]["TagMap"];
|
|
2456
2324
|
};
|
|
2457
2325
|
/** @description Workflow version metadata without the executable `spec`. Returned by `listWorkflowVersions`. */
|
|
2458
2326
|
WorkflowVersionSummary: {
|
|
@@ -2481,10 +2349,90 @@ export interface components {
|
|
|
2481
2349
|
items: components["schemas"]["WorkflowVersionSummary"][];
|
|
2482
2350
|
};
|
|
2483
2351
|
/**
|
|
2484
|
-
* @description
|
|
2352
|
+
* @description Public run lifecycle. Path-level fields explain why an active run is working, waiting, sleeping, retrying, paused, or blocked at a join.
|
|
2353
|
+
* @enum {string}
|
|
2354
|
+
*/
|
|
2355
|
+
WorkflowRunStatus: "active" | "completed" | "failed";
|
|
2356
|
+
/**
|
|
2357
|
+
* @description Current state of one execution path.
|
|
2358
|
+
* @enum {string}
|
|
2359
|
+
*/
|
|
2360
|
+
WorkflowRunPathState: "working" | "waiting" | "completed" | "failed";
|
|
2361
|
+
/**
|
|
2362
|
+
* @description What a waiting path is blocked on.
|
|
2485
2363
|
* @enum {string}
|
|
2486
2364
|
*/
|
|
2487
|
-
|
|
2365
|
+
WorkflowRunWaitKind: "sleep" | "signal" | "interaction" | "pause" | "join" | "retry";
|
|
2366
|
+
WorkflowRunWaitDetail: {
|
|
2367
|
+
kind: components["schemas"]["WorkflowRunWaitKind"];
|
|
2368
|
+
/**
|
|
2369
|
+
* Format: date-time
|
|
2370
|
+
* @description Earliest time the runtime should inspect or resume this path.
|
|
2371
|
+
*/
|
|
2372
|
+
wake_at?: string;
|
|
2373
|
+
/** @description Signal name this path is waiting for. */
|
|
2374
|
+
signal_name?: string;
|
|
2375
|
+
/** @description Pending interaction linked to this wait. */
|
|
2376
|
+
interaction_id?: string;
|
|
2377
|
+
/** @description Interaction target, when kind is `interaction`. */
|
|
2378
|
+
target?: components["schemas"]["InteractionTarget"];
|
|
2379
|
+
/** @description Human-readable pause or wait reason. */
|
|
2380
|
+
reason?: string;
|
|
2381
|
+
/** @description Join step this path is waiting at. */
|
|
2382
|
+
join_step?: string;
|
|
2383
|
+
/** @description Path IDs still required before a join can proceed. */
|
|
2384
|
+
waiting_for_paths?: string[];
|
|
2385
|
+
/** @description Retry attempt number for `retry` waits. */
|
|
2386
|
+
attempt?: number;
|
|
2387
|
+
/** @description Maximum attempts for `retry` waits. */
|
|
2388
|
+
max_attempts?: number;
|
|
2389
|
+
};
|
|
2390
|
+
WorkflowRunPath: {
|
|
2391
|
+
/** @description Stable execution path identifier, e.g. `main` or `main/each/0`. */
|
|
2392
|
+
path_id: string;
|
|
2393
|
+
state: components["schemas"]["WorkflowRunPathState"];
|
|
2394
|
+
/** @description Present when `state` is `waiting`. */
|
|
2395
|
+
waiting_on?: components["schemas"]["WorkflowRunWaitDetail"];
|
|
2396
|
+
/** @description Path-local failure type when state is `failed`. */
|
|
2397
|
+
error_type?: string;
|
|
2398
|
+
/** @description Path-local failure message when state is `failed`. */
|
|
2399
|
+
error_message?: string;
|
|
2400
|
+
};
|
|
2401
|
+
/** @description Current path counts. Invariants: `total = working + waiting + completed + failed`; `active = working + waiting`. */
|
|
2402
|
+
WorkflowRunPathCounts: {
|
|
2403
|
+
total: number;
|
|
2404
|
+
active: number;
|
|
2405
|
+
working: number;
|
|
2406
|
+
waiting: number;
|
|
2407
|
+
completed: number;
|
|
2408
|
+
failed: number;
|
|
2409
|
+
};
|
|
2410
|
+
/** @description Always-present aggregate of waiting paths. */
|
|
2411
|
+
WorkflowRunWaitSummary: {
|
|
2412
|
+
waiting_paths: number;
|
|
2413
|
+
/** @description Count of waiting paths by `waiting_on.kind`. */
|
|
2414
|
+
kind_counts: {
|
|
2415
|
+
[key: string]: number;
|
|
2416
|
+
};
|
|
2417
|
+
/**
|
|
2418
|
+
* Format: date-time
|
|
2419
|
+
* @description Earliest wake time among waiting paths, or null.
|
|
2420
|
+
*/
|
|
2421
|
+
next_wake_at: string | null;
|
|
2422
|
+
waiting_on_signal_names: string[];
|
|
2423
|
+
interaction_ids: string[];
|
|
2424
|
+
};
|
|
2425
|
+
/** @description Current job-claim summary for this run. `ready` counts pending jobs whose `scheduled_at` has arrived and can be claimed now; `scheduled` counts pending jobs intentionally waiting for a future retry/backoff; `claimed` counts jobs currently held by workers. */
|
|
2426
|
+
WorkflowRunJobCounts: {
|
|
2427
|
+
ready: number;
|
|
2428
|
+
scheduled: number;
|
|
2429
|
+
claimed: number;
|
|
2430
|
+
};
|
|
2431
|
+
WorkflowRunError: {
|
|
2432
|
+
path_id?: string;
|
|
2433
|
+
error_type: string;
|
|
2434
|
+
error_message: string;
|
|
2435
|
+
};
|
|
2488
2436
|
/** @description Runtime record for one workflow execution. */
|
|
2489
2437
|
WorkflowRun: {
|
|
2490
2438
|
/** @description Unique identifier for this run. */
|
|
@@ -2501,8 +2449,16 @@ export interface components {
|
|
|
2501
2449
|
ephemeral: boolean;
|
|
2502
2450
|
/** @description Name of the workflow as recorded at run creation time. */
|
|
2503
2451
|
workflow_name: string;
|
|
2504
|
-
/** @description
|
|
2452
|
+
/** @description Public lifecycle for this run. */
|
|
2505
2453
|
status: components["schemas"]["WorkflowRunStatus"];
|
|
2454
|
+
/** @description Current path counts derived from the run projection. */
|
|
2455
|
+
path_counts: components["schemas"]["WorkflowRunPathCounts"];
|
|
2456
|
+
/** @description Current job claim summary derived from the run projection. */
|
|
2457
|
+
job_counts: components["schemas"]["WorkflowRunJobCounts"];
|
|
2458
|
+
/** @description Always-present aggregate of waiting paths. */
|
|
2459
|
+
wait_summary: components["schemas"]["WorkflowRunWaitSummary"];
|
|
2460
|
+
/** @description Run-level errors that caused a failed lifecycle. */
|
|
2461
|
+
errors: components["schemas"]["WorkflowRunError"][];
|
|
2506
2462
|
/** @description Retry attempt number (1-based). Increments each time the run is retried. */
|
|
2507
2463
|
attempt: number;
|
|
2508
2464
|
/** @description Input values provided when the run was started. */
|
|
@@ -2513,6 +2469,8 @@ export interface components {
|
|
|
2513
2469
|
metadata?: {
|
|
2514
2470
|
[key: string]: string;
|
|
2515
2471
|
};
|
|
2472
|
+
/** @description Resource tags applied to this run. Inherited from the parent workflow at start time, with caller-supplied overrides merged on top. System tags (`mobius:*`) are read-only. */
|
|
2473
|
+
tags?: components["schemas"]["TagMap"];
|
|
2516
2474
|
/** @description Error message from the most recent failure. Present when status is failed. */
|
|
2517
2475
|
error_message?: string;
|
|
2518
2476
|
/** @description Type of the actor that started this run (user, service_account, system). */
|
|
@@ -2523,8 +2481,13 @@ export interface components {
|
|
|
2523
2481
|
initiated_by?: string;
|
|
2524
2482
|
/** @description Caller-supplied idempotency key or correlation ID. */
|
|
2525
2483
|
external_id?: string;
|
|
2526
|
-
/** @description
|
|
2484
|
+
/** @description Compatibility boolean set when cancellation was requested. Use `cancel_requested_at` for audit detail and `status` for terminal checks. */
|
|
2527
2485
|
cancel_requested?: boolean;
|
|
2486
|
+
/**
|
|
2487
|
+
* Format: date-time
|
|
2488
|
+
* @description Timestamp when cancellation was requested.
|
|
2489
|
+
*/
|
|
2490
|
+
cancel_requested_at?: string;
|
|
2528
2491
|
/**
|
|
2529
2492
|
* Format: date-time
|
|
2530
2493
|
* @description Timestamp when this run was created.
|
|
@@ -2551,10 +2514,10 @@ export interface components {
|
|
|
2551
2514
|
*/
|
|
2552
2515
|
wall_clock_deadline_at?: string;
|
|
2553
2516
|
/**
|
|
2554
|
-
* @description Typed run-level failure cause: `run_timeout`, `run_cancelled`, or `
|
|
2517
|
+
* @description Typed run-level failure cause: `run_timeout`, `run_cancelled`, `job_failed`, or `run_failed`. Its own vocabulary, not a superset of the job-level `error_type`. Present when `status=failed`.
|
|
2555
2518
|
* @enum {string}
|
|
2556
2519
|
*/
|
|
2557
|
-
error_type?: "run_timeout" | "run_cancelled" | "job_failed";
|
|
2520
|
+
error_type?: "run_timeout" | "run_cancelled" | "job_failed" | "run_failed";
|
|
2558
2521
|
/** @description Run-level cascade config frozen when the run was started. */
|
|
2559
2522
|
resolved_config?: components["schemas"]["ResolvedConfig"];
|
|
2560
2523
|
/** @description Default job-level cascade config inherited by jobs unless a step overrides it. */
|
|
@@ -2573,6 +2536,8 @@ export interface components {
|
|
|
2573
2536
|
};
|
|
2574
2537
|
/** @description Detailed workflow run including its spec snapshot, terminal result, and jobs. */
|
|
2575
2538
|
WorkflowRunDetail: components["schemas"]["WorkflowRun"] & {
|
|
2539
|
+
/** @description Current path-level execution projection for this run. */
|
|
2540
|
+
paths: components["schemas"]["WorkflowRunPath"][];
|
|
2576
2541
|
/** @description Spec snapshot used to execute this run. */
|
|
2577
2542
|
spec?: components["schemas"]["WorkflowSpec"];
|
|
2578
2543
|
/** @description Base64-encoded terminal result blob */
|
|
@@ -2580,7 +2545,7 @@ export interface components {
|
|
|
2580
2545
|
/** @description Jobs spawned by this run. */
|
|
2581
2546
|
jobs?: components["schemas"]["Job"][];
|
|
2582
2547
|
};
|
|
2583
|
-
/** @description Run a previously-created workflow definition. Selected by `mode: saved` on `POST /v1/projects/{project}/runs`. */
|
|
2548
|
+
/** @description Run a previously-created workflow definition. Selected by `mode: saved` on `POST /v1/projects/{project}/runs`. The run inherits the workflow definition's tags at start time; see the `tags` field below for the override rules. */
|
|
2584
2549
|
StartSavedRunRequest: {
|
|
2585
2550
|
/**
|
|
2586
2551
|
* @description Discriminator value — must be `saved`. (enum property replaced by openapi-typescript)
|
|
@@ -2599,6 +2564,8 @@ export interface components {
|
|
|
2599
2564
|
metadata?: {
|
|
2600
2565
|
[key: string]: string;
|
|
2601
2566
|
};
|
|
2567
|
+
/** @description Tags applied on top of the workflow definition's inherited tags. Caller keys override on conflict; an entry whose value is the empty string opts the inherited key out entirely (so the run does not carry it). Setting a tag value to "" is therefore reserved as the opt-out signal — use a placeholder value if you actually want a stored empty value. */
|
|
2568
|
+
tags?: components["schemas"]["TagMap"];
|
|
2602
2569
|
/** @description Caller-supplied idempotency key or correlation ID attached to the run. */
|
|
2603
2570
|
external_id?: string;
|
|
2604
2571
|
/** @description Run-level cascade config overrides applied when starting the run. */
|
|
@@ -2623,6 +2590,8 @@ export interface components {
|
|
|
2623
2590
|
metadata?: {
|
|
2624
2591
|
[key: string]: string;
|
|
2625
2592
|
};
|
|
2593
|
+
/** @description Initial tags for this inline run. Inline runs have no parent workflow definition, so there is nothing to inherit from — every tag on the run comes from this map. */
|
|
2594
|
+
tags?: components["schemas"]["TagMap"];
|
|
2626
2595
|
/** @description Caller-supplied idempotency key or correlation ID attached to the run. */
|
|
2627
2596
|
external_id?: string;
|
|
2628
2597
|
/** @description Run-level cascade config overrides applied when starting the run. */
|
|
@@ -2647,6 +2616,8 @@ export interface components {
|
|
|
2647
2616
|
metadata?: {
|
|
2648
2617
|
[key: string]: string;
|
|
2649
2618
|
};
|
|
2619
|
+
/** @description Tags applied on top of the bound workflow definition's inherited tags. Caller keys override on conflict; an entry whose value is the empty string opts the inherited key out entirely (so the run does not carry it). Setting a tag value to "" is therefore reserved as the opt-out signal — use a placeholder value if you actually want a stored empty value. */
|
|
2620
|
+
tags?: components["schemas"]["TagMap"];
|
|
2650
2621
|
/** @description Caller-supplied idempotency key or correlation ID attached to the run. */
|
|
2651
2622
|
external_id?: string;
|
|
2652
2623
|
/** @description Run-level cascade config overrides applied when starting the bound workflow. */
|
|
@@ -2785,7 +2756,7 @@ export interface components {
|
|
|
2785
2756
|
* @description Deadline at which the reaper will fail this job with `error_type=execution_timeout` if it has not completed. Present only when `resolved_config` contains an entry with `category="timeouts"` and `key="execution"` whose value resolves to a finite duration.
|
|
2786
2757
|
*/
|
|
2787
2758
|
execution_deadline_at?: string;
|
|
2788
|
-
/** @description Failure cause. Server-produced timeout and cancellation failures use stable tokens such as `claim_timeout`, `liveness_timeout`, `execution_timeout`, and `
|
|
2759
|
+
/** @description Failure cause. Server-produced timeout and cancellation failures use stable tokens such as `claim_timeout`, `liveness_timeout`, `execution_timeout`, `run_cancelled`, `run_timeout`, and `run_failed`; worker-reported failures may use caller-defined class names. Present when `status=failed`. */
|
|
2789
2760
|
error_type?: string;
|
|
2790
2761
|
/** @description Job-level cascade config resolved for this job. */
|
|
2791
2762
|
resolved_config?: components["schemas"]["ResolvedConfig"];
|
|
@@ -2805,7 +2776,7 @@ export interface components {
|
|
|
2805
2776
|
/** @description The list of jobs for this run. */
|
|
2806
2777
|
items: components["schemas"]["Job"][];
|
|
2807
2778
|
};
|
|
2808
|
-
/** @description Delivers an external signal to a
|
|
2779
|
+
/** @description Delivers an external signal to a workflow run. */
|
|
2809
2780
|
SendRunSignalRequest: {
|
|
2810
2781
|
/** @description Signal topic (e.g. "approval", "webhook"). */
|
|
2811
2782
|
name: string;
|
|
@@ -2823,6 +2794,16 @@ export interface components {
|
|
|
2823
2794
|
/** @description Signal topic name matching the wait_signal step's topic. */
|
|
2824
2795
|
name: string;
|
|
2825
2796
|
};
|
|
2797
|
+
/** @description Identifies who should receive an interaction request. Note: distinct from the caller/audit `Actor` vocabulary — a target is a *recipient*, not someone who has acted yet. */
|
|
2798
|
+
InteractionTarget: {
|
|
2799
|
+
/**
|
|
2800
|
+
* @description Target kind: a specific user, an agent queue, or a group.
|
|
2801
|
+
* @enum {string}
|
|
2802
|
+
*/
|
|
2803
|
+
type: "user" | "agent" | "group";
|
|
2804
|
+
/** @description User ID for user; queue name for agent; group ID or handle for group. */
|
|
2805
|
+
id: string;
|
|
2806
|
+
};
|
|
2826
2807
|
/** @description Request hints that describe the safe-use properties of the action. Used by the engine and tooling to decide retry behavior, dry-run eligibility, etc. Unknown request properties are rejected. */
|
|
2827
2808
|
ActionAnnotationsRequest: {
|
|
2828
2809
|
/** @description The action produces the same result when called with the same inputs; safe to retry automatically. */
|
|
@@ -3141,16 +3122,6 @@ export interface components {
|
|
|
3141
3122
|
[key: string]: unknown;
|
|
3142
3123
|
};
|
|
3143
3124
|
};
|
|
3144
|
-
/** @description Identifies who should receive an interaction request. Note: distinct from the caller/audit `Actor` vocabulary — a target is a *recipient*, not someone who has acted yet. */
|
|
3145
|
-
InteractionTarget: {
|
|
3146
|
-
/**
|
|
3147
|
-
* @description Target kind: a specific user, an agent queue, or a group.
|
|
3148
|
-
* @enum {string}
|
|
3149
|
-
*/
|
|
3150
|
-
type: "user" | "agent" | "group";
|
|
3151
|
-
/** @description User ID for user; queue name for agent; group ID or handle for group. */
|
|
3152
|
-
id: string;
|
|
3153
|
-
};
|
|
3154
3125
|
/**
|
|
3155
3126
|
* @description Interaction kind: `approval` captures a decision, `review` captures acknowledgement or notes, and `input` collects free-form data.
|
|
3156
3127
|
* @enum {string}
|
|
@@ -3438,6 +3409,8 @@ export interface components {
|
|
|
3438
3409
|
next_fire_at?: string;
|
|
3439
3410
|
/** @description User ID of the org member who created this trigger. */
|
|
3440
3411
|
created_by?: string;
|
|
3412
|
+
/** @description Resource tags applied to this trigger. */
|
|
3413
|
+
tags?: components["schemas"]["TagMap"];
|
|
3441
3414
|
/**
|
|
3442
3415
|
* Format: date-time
|
|
3443
3416
|
* @description Timestamp when this trigger was created.
|
|
@@ -3516,6 +3489,8 @@ export interface components {
|
|
|
3516
3489
|
concurrency_policy?: components["schemas"]["ConcurrencyPolicy"];
|
|
3517
3490
|
/** @description Whether the trigger starts enabled. Defaults to true when omitted. */
|
|
3518
3491
|
enabled?: boolean;
|
|
3492
|
+
/** @description Initial tag set. */
|
|
3493
|
+
tags?: components["schemas"]["TagMap"];
|
|
3519
3494
|
};
|
|
3520
3495
|
/** @description Creates a webhook trigger with an inbound receive URL. */
|
|
3521
3496
|
CreateWebhookTriggerRequest: {
|
|
@@ -3534,6 +3509,8 @@ export interface components {
|
|
|
3534
3509
|
concurrency_policy?: components["schemas"]["ConcurrencyPolicy"];
|
|
3535
3510
|
/** @description Whether the trigger starts enabled. Defaults to true when omitted. */
|
|
3536
3511
|
enabled?: boolean;
|
|
3512
|
+
/** @description Initial tag set. */
|
|
3513
|
+
tags?: components["schemas"]["TagMap"];
|
|
3537
3514
|
};
|
|
3538
3515
|
/** @description Creates an event trigger for platform-originated events. */
|
|
3539
3516
|
CreateEventTriggerRequest: {
|
|
@@ -3552,16 +3529,22 @@ export interface components {
|
|
|
3552
3529
|
concurrency_policy?: components["schemas"]["ConcurrencyPolicy"];
|
|
3553
3530
|
/** @description Whether the trigger starts enabled. Defaults to true when omitted. */
|
|
3554
3531
|
enabled?: boolean;
|
|
3532
|
+
/** @description Initial tag set. */
|
|
3533
|
+
tags?: components["schemas"]["TagMap"];
|
|
3555
3534
|
};
|
|
3556
3535
|
UpdateTriggerRequest: {
|
|
3557
3536
|
/** @description Replacement human-readable name. */
|
|
3558
3537
|
name?: string;
|
|
3559
3538
|
/** @description Replacement source configuration; its shape must match the trigger kind. */
|
|
3560
3539
|
source_config?: components["schemas"]["TriggerSourceConfig"];
|
|
3540
|
+
/** @description Replacement target set for this trigger. Omit to leave targets unchanged; send an empty array to remove all targets. */
|
|
3541
|
+
targets?: components["schemas"]["CreateTriggerTargetRequest"][];
|
|
3561
3542
|
/** @description Replacement policy for overlapping runs started by this trigger. */
|
|
3562
3543
|
concurrency_policy?: components["schemas"]["ConcurrencyPolicy"];
|
|
3563
3544
|
/** @description Set to false to pause the trigger without deleting it. */
|
|
3564
3545
|
enabled?: boolean;
|
|
3546
|
+
/** @description When supplied, replaces the user tag set on the trigger. System tags (`mobius:*`) are preserved. */
|
|
3547
|
+
tags?: components["schemas"]["TagMap"];
|
|
3565
3548
|
};
|
|
3566
3549
|
/** @description Recently observed worker process for a project. Use sessions to see which machines, users, service accounts, or agents are polling for work and whether they appear stale. */
|
|
3567
3550
|
WorkerSession: {
|
|
@@ -3582,6 +3565,8 @@ export interface components {
|
|
|
3582
3565
|
service_account_id?: string;
|
|
3583
3566
|
/** @description User this session authenticated as on register/heartbeat. Set when a human is polling via the CLI; mutually exclusive with `service_account_id`. */
|
|
3584
3567
|
user_id?: string;
|
|
3568
|
+
/** @description Embedded profile for `user_id` when this is a CLI-backed human worker session. Absent when the user record is unavailable or the session is service-account-backed. */
|
|
3569
|
+
user?: components["schemas"]["User"];
|
|
3585
3570
|
/** @description ID of the specific API key this session presented on its most recent register/heartbeat. Only set for service-account-backed sessions; changes across credential rotations. Use together with `service_account_id` to see rotation progress across a fleet. */
|
|
3586
3571
|
api_key_id?: string;
|
|
3587
3572
|
/** @description Agent this session represents, when the polling process declared itself as a registered agent (via `agent_id` on the claim request or via inference from the service account). Absent for ad-hoc worker processes that are not tied to a declared agent. */
|
|
@@ -3593,6 +3578,29 @@ export interface components {
|
|
|
3593
3578
|
/** @description The list of recently seen worker sessions. */
|
|
3594
3579
|
items: components["schemas"]["WorkerSession"][];
|
|
3595
3580
|
};
|
|
3581
|
+
/** @description Human identity known to the organization. User records are useful for membership lists, role assignment UIs, attribution, and displaying profile information next to actions. */
|
|
3582
|
+
User: {
|
|
3583
|
+
/** @description Clerk user ID. Stable and globally unique across all orgs. */
|
|
3584
|
+
id: string;
|
|
3585
|
+
/** @description Primary email address from Clerk. */
|
|
3586
|
+
email: string;
|
|
3587
|
+
/** @description User's first name from their Clerk profile. */
|
|
3588
|
+
first_name?: string;
|
|
3589
|
+
/** @description User's last name from their Clerk profile. */
|
|
3590
|
+
last_name?: string;
|
|
3591
|
+
/** @description Profile avatar URL from Clerk (may be a Gravatar or uploaded image). */
|
|
3592
|
+
avatar_url?: string;
|
|
3593
|
+
/**
|
|
3594
|
+
* Format: date-time
|
|
3595
|
+
* @description When the user record was first mirrored into Mobius.
|
|
3596
|
+
*/
|
|
3597
|
+
created_at: string;
|
|
3598
|
+
/**
|
|
3599
|
+
* Format: date-time
|
|
3600
|
+
* @description Timestamp when this user record was last synced from Clerk.
|
|
3601
|
+
*/
|
|
3602
|
+
updated_at: string;
|
|
3603
|
+
};
|
|
3596
3604
|
/**
|
|
3597
3605
|
* @description `org_open`: every org member can see and use the project, subject to role assignments. `restricted`: only listed project members (and org owners/admins) can see or use the project.
|
|
3598
3606
|
* @enum {string}
|
|
@@ -3612,6 +3620,13 @@ export interface components {
|
|
|
3612
3620
|
access_mode: components["schemas"]["ProjectAccessMode"];
|
|
3613
3621
|
/** @description User ID of the org member who created this project. */
|
|
3614
3622
|
created_by?: string;
|
|
3623
|
+
/**
|
|
3624
|
+
* Format: date-time
|
|
3625
|
+
* @description Timestamp when this project was archived. `null` for active projects. Archived projects are read-only and excluded from the default project listing.
|
|
3626
|
+
*/
|
|
3627
|
+
archived_at?: string | null;
|
|
3628
|
+
/** @description Resource tags applied to this project. */
|
|
3629
|
+
tags?: components["schemas"]["TagMap"];
|
|
3615
3630
|
/**
|
|
3616
3631
|
* Format: date-time
|
|
3617
3632
|
* @description Timestamp when this project was created.
|
|
@@ -3636,6 +3651,8 @@ export interface components {
|
|
|
3636
3651
|
description?: string;
|
|
3637
3652
|
/** @description Initial project access policy: `org_open` or `restricted`. */
|
|
3638
3653
|
access_mode?: components["schemas"]["ProjectAccessMode"];
|
|
3654
|
+
/** @description Initial tag set. */
|
|
3655
|
+
tags?: components["schemas"]["TagMap"];
|
|
3639
3656
|
};
|
|
3640
3657
|
UpdateProjectRequest: {
|
|
3641
3658
|
/** @description Replacement human-readable name. */
|
|
@@ -3646,6 +3663,8 @@ export interface components {
|
|
|
3646
3663
|
access_mode?: components["schemas"]["ProjectAccessMode"];
|
|
3647
3664
|
/** @description When transitioning from `org_open` to `restricted`, set true to insert all current org members as project members so nobody loses visibility on the flip. Ignored on other transitions. */
|
|
3648
3665
|
seed_existing_members?: boolean;
|
|
3666
|
+
/** @description When supplied, replaces the user tag set on the project. */
|
|
3667
|
+
tags?: components["schemas"]["TagMap"];
|
|
3649
3668
|
};
|
|
3650
3669
|
/** @description Explicit project membership used when a project is restricted. Use this record to decide who can see or operate on a project outside the default org-wide access model. */
|
|
3651
3670
|
ProjectMember: {
|
|
@@ -3655,6 +3674,8 @@ export interface components {
|
|
|
3655
3674
|
project_id: string;
|
|
3656
3675
|
/** @description ID of the user who is a member. */
|
|
3657
3676
|
user_id: string;
|
|
3677
|
+
/** @description Profile of the member. Embedded by `listProjectMembers` so UIs can render names, emails, and avatars without a separate user lookup. Absent on the `addProjectMember` response. */
|
|
3678
|
+
user?: components["schemas"]["User"];
|
|
3658
3679
|
/** @description Actor type of whoever added this member, if recorded. */
|
|
3659
3680
|
added_by_actor_type?: string;
|
|
3660
3681
|
/** @description Actor ID of whoever added this member, if recorded. */
|
|
@@ -3691,713 +3712,152 @@ export interface components {
|
|
|
3691
3712
|
/** @description The customer endpoint Mobius POSTs event payloads to. */
|
|
3692
3713
|
url: string;
|
|
3693
3714
|
/** @description Subscribed event types. Use dot notation (`run.completed`, `run.failed`) or wildcards (`run.*` for all run events). */
|
|
3694
|
-
events: string[];
|
|
3695
|
-
/** @description When false, matching events are not delivered. */
|
|
3696
|
-
enabled: boolean;
|
|
3697
|
-
/** @description User ID of the org member who created this webhook. */
|
|
3698
|
-
created_by?: string;
|
|
3699
|
-
/**
|
|
3700
|
-
|
|
3701
|
-
* @description Timestamp when this webhook was created.
|
|
3702
|
-
*/
|
|
3703
|
-
created_at: string;
|
|
3704
|
-
/**
|
|
3705
|
-
* Format: date-time
|
|
3706
|
-
* @description Timestamp when this webhook was last updated.
|
|
3707
|
-
*/
|
|
3708
|
-
updated_at: string;
|
|
3709
|
-
};
|
|
3710
|
-
WebhookListResponse: {
|
|
3711
|
-
/** @description The list of results for this page. */
|
|
3712
|
-
items?: components["schemas"]["Webhook"][];
|
|
3713
|
-
/** @description Opaque cursor to pass as `cursor` on the next request. Absent when `has_more` is false. */
|
|
3714
|
-
next_cursor?: string;
|
|
3715
|
-
/** @description Whether additional pages are available. */
|
|
3716
|
-
has_more: boolean;
|
|
3717
|
-
};
|
|
3718
|
-
/** @description One delivery record for a webhook event. The daemon claims pending rows, POSTs the payload, and transitions to `delivered` or retries on failure. A delivery reaches `failed` only after exhausting all 10 retry attempts. */
|
|
3719
|
-
WebhookDelivery: {
|
|
3720
|
-
/** @description Unique identifier for this delivery record. */
|
|
3721
|
-
id: string;
|
|
3722
|
-
/** @description ID of the webhook this delivery belongs to. */
|
|
3723
|
-
webhook_id: string;
|
|
3724
|
-
/** @description Run that triggered the event, when applicable. */
|
|
3725
|
-
run_id?: string;
|
|
3726
|
-
/** @description The event type that triggered this delivery (e.g. `run.completed`). */
|
|
3727
|
-
event_type: string;
|
|
3728
|
-
/** @description Current delivery status: `pending`, `delivered`, or `failed`. */
|
|
3729
|
-
status: components["schemas"]["WebhookDeliveryStatus"];
|
|
3730
|
-
/** @description Number of delivery attempts made so far. Max 10. */
|
|
3731
|
-
attempts: number;
|
|
3732
|
-
/** @description Error message from the most recent failed attempt. */
|
|
3733
|
-
last_error?: string;
|
|
3734
|
-
/**
|
|
3735
|
-
* Format: date-time
|
|
3736
|
-
* @description Timestamp when this delivery was first attempted.
|
|
3737
|
-
*/
|
|
3738
|
-
created_at: string;
|
|
3739
|
-
/**
|
|
3740
|
-
* Format: date-time
|
|
3741
|
-
* @description Timestamp of the successful delivery. Absent until delivered.
|
|
3742
|
-
*/
|
|
3743
|
-
delivered_at?: string;
|
|
3744
|
-
};
|
|
3745
|
-
WebhookDeliveryListResponse: {
|
|
3746
|
-
/** @description The list of results for this page. */
|
|
3747
|
-
items?: components["schemas"]["WebhookDelivery"][];
|
|
3748
|
-
/** @description Opaque cursor to pass as `cursor` on the next request. Absent when `has_more` is false. */
|
|
3749
|
-
next_cursor?: string;
|
|
3750
|
-
/** @description Whether additional pages are available. */
|
|
3751
|
-
has_more: boolean;
|
|
3752
|
-
};
|
|
3753
|
-
CreateWebhookRequest: {
|
|
3754
|
-
/** @description Human-readable name, unique within the project. */
|
|
3755
|
-
name: string;
|
|
3756
|
-
/** @description The endpoint Mobius will POST event payloads to. May be left empty at creation time so a candidate URL can be tested via the ping endpoint before it is saved; events do not fire for webhooks with an empty URL. */
|
|
3757
|
-
url?: string;
|
|
3758
|
-
/** @description Optional HMAC-SHA256 secret. When set, Mobius signs each POST body and includes `X-Mobius-Signature: sha256=<hex>` in the request headers. */
|
|
3759
|
-
signing_secret?: string;
|
|
3760
|
-
/** @description Event types to subscribe to. Use wildcards for broad subscriptions, e.g. `["run.*"]` for all run events. */
|
|
3761
|
-
events: string[];
|
|
3762
|
-
/** @description Whether the webhook starts enabled. Defaults to true when omitted. */
|
|
3763
|
-
enabled?: boolean;
|
|
3764
|
-
};
|
|
3765
|
-
UpdateWebhookRequest: {
|
|
3766
|
-
/** @description Replacement human-readable name. */
|
|
3767
|
-
name?: string;
|
|
3768
|
-
/** @description Replacement endpoint URL. */
|
|
3769
|
-
url?: string;
|
|
3770
|
-
/** @description Replace the current signing secret. Set to empty string to disable signing. Omit to leave the current secret unchanged. */
|
|
3771
|
-
signing_secret?: string;
|
|
3772
|
-
/** @description Replacement event subscriptions. Replaces the entire current list. */
|
|
3773
|
-
events?: string[];
|
|
3774
|
-
/** @description Set to false to disable delivery without deleting the webhook. */
|
|
3775
|
-
enabled?: boolean;
|
|
3776
|
-
};
|
|
3777
|
-
PingWebhookRequest: {
|
|
3778
|
-
/** @description URL to test. When supplied, the ping is sent to this URL instead of the webhook's saved URL — use this to validate a candidate URL before saving it. When omitted, the webhook's current saved URL is used. */
|
|
3779
|
-
url?: string;
|
|
3780
|
-
};
|
|
3781
|
-
PingWebhookResult: {
|
|
3782
|
-
/** @description True if the target responded with a 2xx status code. */
|
|
3783
|
-
success: boolean;
|
|
3784
|
-
/** @description HTTP status code returned by the target. Absent on network error. */
|
|
3785
|
-
status_code?: number;
|
|
3786
|
-
/** @description Error message if the request could not be completed. */
|
|
3787
|
-
error?: string;
|
|
3788
|
-
/** @description Round-trip latency in milliseconds. */
|
|
3789
|
-
latency_ms?: number;
|
|
3790
|
-
};
|
|
3791
|
-
/**
|
|
3792
|
-
* @description `active` — integration is enabled and usable by workflows. `inactive` — manually disabled; no automatic expiry behavior. `expired` — token/credential has expired (e.g., OAuth token not refreshed).
|
|
3793
|
-
* @enum {string}
|
|
3794
|
-
*/
|
|
3795
|
-
IntegrationStatus: "active" | "inactive" | "expired";
|
|
3796
|
-
/** @description Project-scoped connection to an external provider such as Slack, GitHub, or a model service. Workflows and actions use integrations to find provider configuration without embedding secrets in definitions. */
|
|
3797
|
-
Integration: {
|
|
3798
|
-
/** @description Unique identifier for this integration. */
|
|
3799
|
-
id: string;
|
|
3800
|
-
/** @description Human-readable name, unique per `(project, provider)` tuple. */
|
|
3801
|
-
name: string;
|
|
3802
|
-
/** @description Free-form provider identifier (e.g. `openai`, `slack`, `github`). Immutable after creation. */
|
|
3803
|
-
provider: string;
|
|
3804
|
-
/** @description Provider-specific credential and configuration blob stored as JSON. The shape is provider-defined. */
|
|
3805
|
-
config?: {
|
|
3806
|
-
[key: string]: unknown;
|
|
3807
|
-
};
|
|
3808
|
-
/** @description Current integration state: `connected`, `disconnected`, or `error`. */
|
|
3809
|
-
status: components["schemas"]["IntegrationStatus"];
|
|
3810
|
-
/** @description User ID of the org member who created this integration. */
|
|
3811
|
-
created_by?: string;
|
|
3812
|
-
/**
|
|
3813
|
-
* Format: date-time
|
|
3814
|
-
* @description Timestamp when this integration was created.
|
|
3815
|
-
*/
|
|
3816
|
-
created_at: string;
|
|
3817
|
-
/**
|
|
3818
|
-
* Format: date-time
|
|
3819
|
-
* @description Timestamp when this integration was last updated.
|
|
3820
|
-
*/
|
|
3821
|
-
updated_at: string;
|
|
3822
|
-
};
|
|
3823
|
-
IntegrationListResponse: {
|
|
3824
|
-
/** @description The list of results for this page. */
|
|
3825
|
-
items: components["schemas"]["Integration"][];
|
|
3826
|
-
/** @description Opaque cursor to pass as `cursor` on the next request. Absent when `has_more` is false. */
|
|
3827
|
-
next_cursor?: string;
|
|
3828
|
-
/** @description Whether additional pages are available. */
|
|
3829
|
-
has_more: boolean;
|
|
3830
|
-
};
|
|
3831
|
-
CreateIntegrationRequest: {
|
|
3832
|
-
/** @description Human-readable name. Must be unique per `(project, provider)` tuple. */
|
|
3833
|
-
name: string;
|
|
3834
|
-
/** @description Provider identifier string (e.g. `openai`, `github`). Immutable after creation. */
|
|
3835
|
-
provider: string;
|
|
3836
|
-
/** @description Sensitive credentials (API keys, tokens, secrets). Stored encrypted and never returned in API responses. */
|
|
3837
|
-
credentials?: {
|
|
3838
|
-
[key: string]: unknown;
|
|
3839
|
-
};
|
|
3840
|
-
/** @description Non-sensitive provider-specific settings (e.g. default bucket, from address). */
|
|
3841
|
-
config?: {
|
|
3842
|
-
[key: string]: unknown;
|
|
3843
|
-
};
|
|
3844
|
-
};
|
|
3845
|
-
UpdateIntegrationRequest: {
|
|
3846
|
-
/** @description Updated display name. */
|
|
3847
|
-
name?: string;
|
|
3848
|
-
/** @description Replacement credentials blob (full replace). Stored encrypted and never returned in API responses. */
|
|
3849
|
-
credentials?: {
|
|
3850
|
-
[key: string]: unknown;
|
|
3851
|
-
};
|
|
3852
|
-
/** @description Replacement config blob (full replace, not merge). */
|
|
3853
|
-
config?: {
|
|
3854
|
-
[key: string]: unknown;
|
|
3855
|
-
};
|
|
3856
|
-
/** @description Replacement integration state: `connected`, `disconnected`, or `error`. */
|
|
3857
|
-
status?: components["schemas"]["IntegrationStatus"];
|
|
3858
|
-
};
|
|
3859
|
-
CopyIntegrationRequest: {
|
|
3860
|
-
/** @description ID of the source project. Must be in the same org. */
|
|
3861
|
-
source_project_id: string;
|
|
3862
|
-
/** @description ID of the integration to copy from the source project. */
|
|
3863
|
-
source_integration_id: string;
|
|
3864
|
-
/** @description Name for the copied integration in the destination project. Defaults to the source integration's name. Required if the source name conflicts with an existing `(provider, name)` in this project. */
|
|
3865
|
-
name?: string;
|
|
3866
|
-
};
|
|
3867
|
-
/** @description Current billing entitlement for an organization. Use it to show plan status, trial/grace timing, renewal behavior, and usage caps that may block workflow execution. */
|
|
3868
|
-
BillingSubscription: {
|
|
3869
|
-
/** @description Unique identifier for this subscription. */
|
|
3870
|
-
id: string;
|
|
3871
|
-
/** @description Active plan: `trial`, `free`, `pro`, or `business`. New orgs start on `trial`; the plan downgrades to `free` when the trial expires. */
|
|
3872
|
-
plan_type: string;
|
|
3873
|
-
/** @description Stripe subscription status: `active`, `trialing`, `past_due`, `canceled`, `unpaid`, or `incomplete`. */
|
|
3874
|
-
status: string;
|
|
3875
|
-
/** @description Number of licensed seats included in the subscription. */
|
|
3876
|
-
seat_count: number;
|
|
3877
|
-
/**
|
|
3878
|
-
* Format: date-time
|
|
3879
|
-
* @description Start of the current billing period.
|
|
3880
|
-
*/
|
|
3881
|
-
current_period_start: string;
|
|
3882
|
-
/**
|
|
3883
|
-
* Format: date-time
|
|
3884
|
-
* @description End of the current billing period. Usage resets at this timestamp.
|
|
3885
|
-
*/
|
|
3886
|
-
current_period_end: string;
|
|
3887
|
-
/**
|
|
3888
|
-
* Format: date-time
|
|
3889
|
-
* @description When the trial period expires. Only set for `trial` plan.
|
|
3890
|
-
*/
|
|
3891
|
-
trial_ends_at?: string;
|
|
3892
|
-
/**
|
|
3893
|
-
* Format: date-time
|
|
3894
|
-
* @description When the post-expiry grace period ends. During grace, the org retains access but is prompted to upgrade.
|
|
3895
|
-
*/
|
|
3896
|
-
grace_ends_at?: string;
|
|
3897
|
-
/** @description Days remaining in the trial. 0 when the trial has ended. */
|
|
3898
|
-
trial_days_remaining: number;
|
|
3899
|
-
/** @description True when fewer than 7 days remain in the trial period. */
|
|
3900
|
-
trial_warning: boolean;
|
|
3901
|
-
/**
|
|
3902
|
-
* Format: int64
|
|
3903
|
-
* @description Maximum usage credits allowed per billing period. Workflow execution is blocked when this cap is reached.
|
|
3904
|
-
*/
|
|
3905
|
-
monthly_credit_cap: number;
|
|
3906
|
-
/** @description Maximum number of job steps allowed per individual workflow run. Default: 10,000 (pro/trial), 50,000 (business). */
|
|
3907
|
-
per_run_step_cap: number;
|
|
3908
|
-
/** @description Percentage levels (1–100) of `monthly_credit_cap` at which usage alert notifications are sent. Up to `max_alert_thresholds` from the plan. */
|
|
3909
|
-
alert_thresholds_percent: number[];
|
|
3910
|
-
/** @description When true, the subscription will not renew at `current_period_end`. */
|
|
3911
|
-
cancel_at_period_end: boolean;
|
|
3912
|
-
/**
|
|
3913
|
-
* Format: date-time
|
|
3914
|
-
* @description Timestamp when this subscription was created.
|
|
3915
|
-
*/
|
|
3916
|
-
created_at: string;
|
|
3917
|
-
/**
|
|
3918
|
-
* Format: date-time
|
|
3919
|
-
* @description Timestamp when this subscription was last updated.
|
|
3920
|
-
*/
|
|
3921
|
-
updated_at: string;
|
|
3922
|
-
};
|
|
3923
|
-
/** @description Purchasable plan configuration exposed to clients before checkout. It explains price, included usage, seat limits, and operational caps so users can compare plans before upgrading. */
|
|
3924
|
-
BillingPlan: {
|
|
3925
|
-
/** @description Plan name — `trial`, `pro`, or `business`. */
|
|
3926
|
-
plan_type: string;
|
|
3927
|
-
/** @description Monthly price in cents (USD). */
|
|
3928
|
-
price_cents: number;
|
|
3929
|
-
/**
|
|
3930
|
-
* Format: int64
|
|
3931
|
-
* @description Usage credits included in the base price.
|
|
3932
|
-
*/
|
|
3933
|
-
included_credits: number;
|
|
3934
|
-
/** @description Maximum org members on this plan. 0 means unlimited. */
|
|
3935
|
-
seat_limit: number;
|
|
3936
|
-
/**
|
|
3937
|
-
* Format: int64
|
|
3938
|
-
* @description Default `monthly_credit_cap` applied to new subscriptions on this plan.
|
|
3939
|
-
*/
|
|
3940
|
-
default_monthly_credit_cap: number;
|
|
3941
|
-
/** @description Default `per_run_step_cap` applied to new subscriptions on this plan. */
|
|
3942
|
-
default_per_run_step_cap: number;
|
|
3943
|
-
/** @description Maximum number of alert thresholds configurable on this plan. */
|
|
3944
|
-
max_alert_thresholds: number;
|
|
3945
|
-
/** @description Trial period length in days. 0 for plans without a trial. */
|
|
3946
|
-
trial_days: number;
|
|
3947
|
-
/** @description When true, a payment method is required to start this plan. */
|
|
3948
|
-
credit_card_required: boolean;
|
|
3949
|
-
};
|
|
3950
|
-
BillingPlanListResponse: {
|
|
3951
|
-
/** @description The list of available plans. */
|
|
3952
|
-
items: components["schemas"]["BillingPlan"][];
|
|
3953
|
-
};
|
|
3954
|
-
/** @description Attribution row for usage generated by a single API key. Useful for identifying which automation or service account is driving billing consumption within the current period. */
|
|
3955
|
-
BillingUsageKeySummary: {
|
|
3956
|
-
/** @description The API key responsible for this usage. */
|
|
3957
|
-
api_key_id: string;
|
|
3958
|
-
/** @description Number of usage records attributed to this key in the current period. */
|
|
3959
|
-
count: number;
|
|
3960
|
-
};
|
|
3961
|
-
/** @description Billing-period usage snapshot for an organization. Use it to show remaining capacity, estimated overage, and which categories or API keys are contributing to spend. */
|
|
3962
|
-
BillingUsageSummary: {
|
|
3963
|
-
/**
|
|
3964
|
-
* Format: date-time
|
|
3965
|
-
* @description Start of the current billing period.
|
|
3966
|
-
*/
|
|
3967
|
-
current_period_start: string;
|
|
3968
|
-
/**
|
|
3969
|
-
* Format: date-time
|
|
3970
|
-
* @description End of the current billing period.
|
|
3971
|
-
*/
|
|
3972
|
-
current_period_end: string;
|
|
3973
|
-
/** @description Total usage credits consumed in the current billing period. */
|
|
3974
|
-
current_usage: number;
|
|
3975
|
-
/** @description Included credits from the plan before overage applies. */
|
|
3976
|
-
included_limit: number;
|
|
3977
|
-
/** @description Number of usage records that exceed the included limit. */
|
|
3978
|
-
overage_calls: number;
|
|
3979
|
-
/** @description Estimated overage cost in cents for the current period. */
|
|
3980
|
-
overage_cost: number;
|
|
3981
|
-
/** @description Usage breakdown by resource category (e.g. `run`, `job`). */
|
|
3982
|
-
by_category: {
|
|
3983
|
-
[key: string]: number;
|
|
3984
|
-
};
|
|
3985
|
-
/** @description Per-API-key usage breakdown for cost attribution. */
|
|
3986
|
-
by_api_key: components["schemas"]["BillingUsageKeySummary"][];
|
|
3987
|
-
};
|
|
3988
|
-
/** @description Customer-facing invoice metadata from Stripe. Clients use invoices to display payment status and link users to hosted invoice or PDF views. */
|
|
3989
|
-
Invoice: {
|
|
3990
|
-
/** @description Stripe invoice ID. */
|
|
3991
|
-
id: string;
|
|
3992
|
-
/** @description Stripe invoice status (`draft`, `open`, `paid`, `void`, `uncollectible`). */
|
|
3993
|
-
status: string;
|
|
3994
|
-
/** @description ISO 4217 currency code (e.g. `usd`). */
|
|
3995
|
-
currency: string;
|
|
3996
|
-
/** @description Total amount due in the smallest currency unit (e.g. cents). */
|
|
3997
|
-
amount_due: number;
|
|
3998
|
-
/** @description Amount already paid against this invoice. */
|
|
3999
|
-
amount_paid: number;
|
|
4000
|
-
/**
|
|
4001
|
-
* Format: uri
|
|
4002
|
-
* @description Stripe-hosted invoice page URL for the customer.
|
|
4003
|
-
*/
|
|
4004
|
-
hosted_invoice_url?: string;
|
|
4005
|
-
/**
|
|
4006
|
-
* Format: uri
|
|
4007
|
-
* @description Direct link to the invoice PDF.
|
|
4008
|
-
*/
|
|
4009
|
-
invoice_pdf?: string;
|
|
4010
|
-
/**
|
|
4011
|
-
* Format: date-time
|
|
4012
|
-
* @description Timestamp when this invoice was created by Stripe.
|
|
4013
|
-
*/
|
|
4014
|
-
created_at: string;
|
|
4015
|
-
};
|
|
4016
|
-
InvoiceListResponse: {
|
|
4017
|
-
/** @description The list of recent invoices, newest first. */
|
|
4018
|
-
items: components["schemas"]["Invoice"][];
|
|
4019
|
-
};
|
|
4020
|
-
CreateCheckoutRequest: {
|
|
4021
|
-
/**
|
|
4022
|
-
* Format: uri
|
|
4023
|
-
* @description URL Stripe redirects to after a successful checkout.
|
|
4024
|
-
*/
|
|
4025
|
-
success_url: string;
|
|
4026
|
-
/**
|
|
4027
|
-
* Format: uri
|
|
4028
|
-
* @description URL Stripe redirects to when the user cancels checkout.
|
|
4029
|
-
*/
|
|
4030
|
-
cancel_url: string;
|
|
4031
|
-
};
|
|
4032
|
-
CreatePortalRequest: {
|
|
4033
|
-
/**
|
|
4034
|
-
* Format: uri
|
|
4035
|
-
* @description URL Stripe redirects to after the user exits the customer portal.
|
|
4036
|
-
*/
|
|
4037
|
-
return_url: string;
|
|
4038
|
-
};
|
|
4039
|
-
BillingURLResult: {
|
|
4040
|
-
/**
|
|
4041
|
-
* Format: uri
|
|
4042
|
-
* @description Stripe-hosted URL to redirect the user's browser to.
|
|
4043
|
-
*/
|
|
4044
|
-
url: string;
|
|
4045
|
-
};
|
|
4046
|
-
UpdateBillingLimitsRequest: {
|
|
4047
|
-
/**
|
|
4048
|
-
* Format: int64
|
|
4049
|
-
* @description New monthly credit ceiling. When reached, workflow execution is blocked until the next billing period.
|
|
4050
|
-
*/
|
|
4051
|
-
monthly_credit_cap?: number;
|
|
4052
|
-
/** @description Maximum job steps per workflow run. Prevents runaway runs from consuming unbounded credits. */
|
|
4053
|
-
per_run_step_cap?: number;
|
|
4054
|
-
/** @description Replacement list of alert threshold percentages (1–100). Replaces the full existing list. Must not exceed the plan's `max_alert_thresholds`. */
|
|
4055
|
-
alert_thresholds_percent?: number[];
|
|
4056
|
-
};
|
|
4057
|
-
/** @description Whether the current user has completed initial organization setup. Use this at app startup to decide whether to route the user into onboarding or the normal workspace experience. */
|
|
4058
|
-
OnboardingStatus: {
|
|
4059
|
-
/** @description Whether the user has completed onboarding and has an org */
|
|
4060
|
-
completed: boolean;
|
|
4061
|
-
/** @description The user's org ID (present only when completed is true) */
|
|
4062
|
-
org_id?: string;
|
|
4063
|
-
/** @description The user's org display name (present only when completed is true) */
|
|
4064
|
-
org_name?: string;
|
|
4065
|
-
};
|
|
4066
|
-
OnboardingResult: {
|
|
4067
|
-
/** @description ID of the newly created (or existing) org */
|
|
4068
|
-
org_id: string;
|
|
4069
|
-
/** @description Display name of the org */
|
|
4070
|
-
org_name: string;
|
|
4071
|
-
};
|
|
4072
|
-
/** @description Operational health snapshot for a project. Use it to power dashboards, detect stuck queues or stale workers, and summarize run throughput and failure rates over a recent window. */
|
|
4073
|
-
ProjectMetrics: {
|
|
4074
|
-
/**
|
|
4075
|
-
* Format: date-time
|
|
4076
|
-
* @description Timestamp when this metrics snapshot was computed.
|
|
4077
|
-
*/
|
|
4078
|
-
generated_at: string;
|
|
4079
|
-
/** @description Rolling window width used for rate and failure metrics. Default is 60 minutes. */
|
|
4080
|
-
window_minutes: number;
|
|
4081
|
-
/**
|
|
4082
|
-
* Format: double
|
|
4083
|
-
* @description Average number of new workflow runs started per minute within the window.
|
|
4084
|
-
*/
|
|
4085
|
-
runs_per_minute: number;
|
|
4086
|
-
/** @description Total number of workflow runs started within the window. */
|
|
4087
|
-
total_runs_window: number;
|
|
4088
|
-
/**
|
|
4089
|
-
* Format: double
|
|
4090
|
-
* @description Fraction of completed runs that ended in `failed` status within the window. Range 0.0–1.0.
|
|
4091
|
-
*/
|
|
4092
|
-
failure_rate: number;
|
|
4093
|
-
/**
|
|
4094
|
-
* Format: double
|
|
4095
|
-
* @description Mean wall-clock duration of completed runs within the window, in seconds.
|
|
4096
|
-
*/
|
|
4097
|
-
avg_run_seconds: number;
|
|
4098
|
-
/**
|
|
4099
|
-
* Format: double
|
|
4100
|
-
* @description 95th-percentile job duration (claim time to terminal state) computed across the 40 most recent completed jobs, in seconds. Use this to detect slow or stuck steps.
|
|
4101
|
-
*/
|
|
4102
|
-
p95_step_seconds: number;
|
|
4103
|
-
/** @description Number of jobs currently in `pending` state waiting to be claimed. */
|
|
4104
|
-
queue_depth: number;
|
|
4105
|
-
/** @description Number of workflow runs currently in `running` or `suspended` state. */
|
|
4106
|
-
running_count: number;
|
|
4107
|
-
/** @description Number of workers whose `last_seen_at` is within the 2-minute staleness threshold. */
|
|
4108
|
-
active_workers: number;
|
|
4109
|
-
/** @description Number of workers whose `last_seen_at` has exceeded the 2-minute staleness threshold. */
|
|
4110
|
-
stale_workers: number;
|
|
4111
|
-
/** @description Map of workflow run status → count across all runs in the project (not windowed). Includes all terminal and in-progress statuses. */
|
|
4112
|
-
status_breakdown: {
|
|
4113
|
-
[key: string]: number;
|
|
4114
|
-
};
|
|
4115
|
-
};
|
|
4116
|
-
PreviewPermissionsRequest: {
|
|
4117
|
-
/** @description Role name assigned as a fallback to service accounts that have no explicit assignment at the time of preview. */
|
|
4118
|
-
service_account_default_role?: string;
|
|
4119
|
-
};
|
|
4120
|
-
EnablePermissionsRequest: {
|
|
4121
|
-
/** @description Fallback role name for service accounts with no existing assignment. Applied only to service accounts not covered by the `assignments` list. */
|
|
4122
|
-
service_account_default_role?: string;
|
|
4123
|
-
/** @description Explicit role assignments to create as part of the enable operation. */
|
|
4124
|
-
assignments?: components["schemas"]["PermissionsAssignmentInput"][];
|
|
4125
|
-
};
|
|
4126
|
-
/** @description Desired role assignment supplied while enabling permissions. Use this to make the initial rollout explicit instead of relying only on default roles for users and service accounts. */
|
|
4127
|
-
PermissionsAssignmentInput: {
|
|
4128
|
-
/**
|
|
4129
|
-
* @description Actor type: `user` or `service_account`.
|
|
4130
|
-
* @enum {string}
|
|
4131
|
-
*/
|
|
4132
|
-
actor_type: "user" | "service_account";
|
|
4133
|
-
/** @description ID of the user or service account. */
|
|
4134
|
-
actor_id: string;
|
|
4135
|
-
/** @description Mutually exclusive with `role_name`. */
|
|
4136
|
-
role_id?: string;
|
|
4137
|
-
/** @description Resolved to a role ID server-side. Mutually exclusive with `role_id`. */
|
|
4138
|
-
role_name?: string;
|
|
4139
|
-
/** @description Scope this assignment to a project. Omit for org-wide. */
|
|
4140
|
-
project_id?: string;
|
|
4141
|
-
} & (unknown | unknown);
|
|
4142
|
-
/** @description Role assignment the server would create during a permissions preview or enable operation. Clients can show these proposals before enforcing permissions so admins understand the blast radius. */
|
|
4143
|
-
PermissionsAssignmentProposal: {
|
|
4144
|
-
/**
|
|
4145
|
-
* @description Actor type: `user` or `service_account`.
|
|
4146
|
-
* @enum {string}
|
|
4147
|
-
*/
|
|
4148
|
-
actor_type: "user" | "service_account";
|
|
4149
|
-
/** @description ID of the user or service account. */
|
|
4150
|
-
actor_id: string;
|
|
4151
|
-
/** @description ID of the role that would be assigned. */
|
|
4152
|
-
role_id: string;
|
|
4153
|
-
/** @description Name of the role that would be assigned. */
|
|
4154
|
-
role_name: string;
|
|
4155
|
-
/** @description Project scope for the assignment. Null for org-wide assignments. */
|
|
4156
|
-
project_id?: string | null;
|
|
4157
|
-
};
|
|
4158
|
-
/** @description Current or proposed permissions state, including the full set of role assignments. */
|
|
4159
|
-
PermissionsPlan: {
|
|
4160
|
-
/** @description Whether enforcement is currently (or will be after enable) active. */
|
|
4161
|
-
permissions_enabled: boolean;
|
|
4162
|
-
/** @description The set of role assignments that will be created on enable. */
|
|
4163
|
-
assignments: components["schemas"]["PermissionsAssignmentProposal"][];
|
|
4164
|
-
};
|
|
4165
|
-
/** @description Lightweight org-level switch showing whether permission enforcement is active. Use it to decide whether role assignments are informational or actually gate API access. */
|
|
4166
|
-
PermissionsState: {
|
|
4167
|
-
/** @description Whether enforcement is currently active for the org. */
|
|
4168
|
-
permissions_enabled: boolean;
|
|
4169
|
-
};
|
|
4170
|
-
/** @description Named bundle of permissions assignable to users or service accounts. Roles let admins grant workflow, project, and automation capabilities consistently without editing every actor individually. */
|
|
4171
|
-
Role: {
|
|
4172
|
-
/** @description Unique identifier for this role. */
|
|
4173
|
-
id: string;
|
|
4174
|
-
/** @description Scoping project. Empty for org-wide roles. */
|
|
4175
|
-
project_id?: string;
|
|
4176
|
-
/** @description Human-readable role name, unique within org+project scope. */
|
|
4177
|
-
name: string;
|
|
4178
|
-
/** @description Optional human-readable description of what this role grants. */
|
|
4179
|
-
description: string;
|
|
4180
|
-
/** @description Permission strings granted by this role (e.g. "mobius.job.claim"). */
|
|
4181
|
-
permissions: string[];
|
|
4182
|
-
/** @description True for built-in platform roles that cannot be modified or deleted. */
|
|
4183
|
-
system_defined: boolean;
|
|
4184
|
-
/**
|
|
4185
|
-
* Format: date-time
|
|
4186
|
-
* @description Timestamp when this role was created.
|
|
4187
|
-
*/
|
|
4188
|
-
created_at: string;
|
|
4189
|
-
/**
|
|
4190
|
-
* Format: date-time
|
|
4191
|
-
* @description Timestamp when this role was last updated.
|
|
4192
|
-
*/
|
|
4193
|
-
updated_at: string;
|
|
4194
|
-
};
|
|
4195
|
-
/** @description Binding between an actor and a role, optionally scoped to a project. Use assignments to explain why a user or service account has access and to audit who granted it. */
|
|
4196
|
-
RoleAssignment: {
|
|
4197
|
-
/** @description Unique identifier for this role assignment. */
|
|
4198
|
-
id: string;
|
|
4199
|
-
/**
|
|
4200
|
-
* @description Type of actor this assignment applies to: `user` or `service_account`.
|
|
4201
|
-
* @enum {string}
|
|
4202
|
-
*/
|
|
4203
|
-
actor_type: "user" | "service_account";
|
|
4204
|
-
/** @description User ID or service account ID receiving the role. */
|
|
4205
|
-
actor_id: string;
|
|
4206
|
-
/** @description ID of the assigned role. */
|
|
4207
|
-
role_id: string;
|
|
4208
|
-
/** @description Name of the assigned role. */
|
|
4209
|
-
role_name: string;
|
|
4210
|
-
/** @description Set for project-scoped assignments; empty for org-wide. */
|
|
4211
|
-
project_id?: string;
|
|
4212
|
-
/** @description Actor type of the caller who created this assignment. */
|
|
4213
|
-
granted_by_actor_type?: string;
|
|
4214
|
-
/** @description Actor ID of the caller who created this assignment. */
|
|
4215
|
-
granted_by_actor_id?: string;
|
|
4216
|
-
/**
|
|
4217
|
-
* Format: date-time
|
|
4218
|
-
* @description Timestamp when this assignment was created.
|
|
4219
|
-
*/
|
|
4220
|
-
created_at: string;
|
|
4221
|
-
};
|
|
4222
|
-
RoleListResponse: {
|
|
4223
|
-
/** @description The list of results for this page. */
|
|
4224
|
-
items: components["schemas"]["Role"][];
|
|
4225
|
-
};
|
|
4226
|
-
RoleAssignmentListResponse: {
|
|
4227
|
-
/** @description The list of results for this page. */
|
|
4228
|
-
items: components["schemas"]["RoleAssignment"][];
|
|
4229
|
-
};
|
|
4230
|
-
CreateRoleRequest: {
|
|
4231
|
-
/** @description Project this role belongs to. Custom roles are always project-scoped. */
|
|
4232
|
-
project_id: string;
|
|
4233
|
-
/** @description Unique name within the project. */
|
|
4234
|
-
name: string;
|
|
4235
|
-
/** @description Optional human-readable description of what this role grants. */
|
|
4236
|
-
description?: string;
|
|
4237
|
-
/** @description Permission strings to include (e.g. "mobius.workflow.create"). */
|
|
4238
|
-
permissions: string[];
|
|
4239
|
-
};
|
|
4240
|
-
UpdateRoleRequest: {
|
|
4241
|
-
/** @description Replacement description. */
|
|
4242
|
-
description?: string;
|
|
4243
|
-
/** @description Replaces the existing permissions array entirely. */
|
|
4244
|
-
permissions?: string[];
|
|
4245
|
-
};
|
|
4246
|
-
CreateRoleAssignmentRequest: {
|
|
4247
|
-
/**
|
|
4248
|
-
* @description Type of actor to assign the role to: `user` or `service_account`.
|
|
4249
|
-
* @enum {string}
|
|
4250
|
-
*/
|
|
4251
|
-
actor_type: "user" | "service_account";
|
|
4252
|
-
/** @description User ID or service account ID to assign the role to. */
|
|
4253
|
-
actor_id: string;
|
|
4254
|
-
/** @description Mutually exclusive with `role_name`. */
|
|
4255
|
-
role_id?: string;
|
|
4256
|
-
/** @description Resolved to a role ID server-side. Mutually exclusive with `role_id`. */
|
|
4257
|
-
role_name?: string;
|
|
4258
|
-
/** @description Scope this assignment to a project. Omit for org-wide assignment. */
|
|
4259
|
-
project_id?: string;
|
|
4260
|
-
} & (unknown | unknown);
|
|
4261
|
-
/** @description Human identity known to the organization. User records are useful for membership lists, role assignment UIs, attribution, and displaying profile information next to actions. */
|
|
4262
|
-
User: {
|
|
4263
|
-
/** @description Clerk user ID. Stable and globally unique across all orgs. */
|
|
4264
|
-
id: string;
|
|
4265
|
-
/** @description Primary email address from Clerk. */
|
|
4266
|
-
email: string;
|
|
4267
|
-
/** @description User's first name from their Clerk profile. */
|
|
4268
|
-
first_name?: string;
|
|
4269
|
-
/** @description User's last name from their Clerk profile. */
|
|
4270
|
-
last_name?: string;
|
|
4271
|
-
/** @description Profile avatar URL from Clerk (may be a Gravatar or uploaded image). */
|
|
4272
|
-
avatar_url?: string;
|
|
4273
|
-
/**
|
|
4274
|
-
* Format: date-time
|
|
4275
|
-
* @description When the user record was first mirrored into Mobius.
|
|
4276
|
-
*/
|
|
4277
|
-
created_at: string;
|
|
4278
|
-
/**
|
|
4279
|
-
* Format: date-time
|
|
4280
|
-
* @description Timestamp when this user record was last synced from Clerk.
|
|
4281
|
-
*/
|
|
4282
|
-
updated_at: string;
|
|
4283
|
-
};
|
|
4284
|
-
/**
|
|
4285
|
-
* @description One of the built-in system roles: `Owner`, `Admin`, `Operator`, `Worker`, or `Viewer`. These are seeded at startup and cannot be deleted. `Owner` and `Admin` bypass project-member visibility for restricted projects.
|
|
4286
|
-
* @enum {string}
|
|
4287
|
-
*/
|
|
4288
|
-
SystemRoleName: "Owner" | "Admin" | "Operator" | "Worker" | "Viewer";
|
|
4289
|
-
/** @description Top-level account boundary for users, projects, billing, roles, and shared settings. Use the org to understand default access policy and the handle/name shown across the workspace. */
|
|
4290
|
-
Org: {
|
|
4291
|
-
/** @description Unique identifier for this organization. */
|
|
4292
|
-
id: string;
|
|
4293
|
-
/** @description Human-readable org name. */
|
|
4294
|
-
name: string;
|
|
4295
|
-
/** @description URL-safe slug used in API routes and display. Unique across all orgs. */
|
|
4296
|
-
handle: string;
|
|
4297
|
-
/** @description Arbitrary key-value metadata stored alongside the org. */
|
|
4298
|
-
metadata?: {
|
|
4299
|
-
[key: string]: unknown;
|
|
4300
|
-
};
|
|
4301
|
-
/** @description System-role name assigned at org scope to new org members. Defaults to `Operator`. */
|
|
4302
|
-
default_member_role?: components["schemas"]["SystemRoleName"];
|
|
4303
|
-
/**
|
|
4304
|
-
* @description Access mode applied to newly-created projects when the caller does not pass one explicitly: `org_open` or `restricted`. Changing this only affects future projects.
|
|
4305
|
-
* @enum {string}
|
|
4306
|
-
*/
|
|
4307
|
-
default_project_access_mode?: "org_open" | "restricted";
|
|
3715
|
+
events: string[];
|
|
3716
|
+
/** @description When false, matching events are not delivered. */
|
|
3717
|
+
enabled: boolean;
|
|
3718
|
+
/** @description User ID of the org member who created this webhook. */
|
|
3719
|
+
created_by?: string;
|
|
3720
|
+
/** @description Resource tags applied to this webhook. */
|
|
3721
|
+
tags?: components["schemas"]["TagMap"];
|
|
4308
3722
|
/**
|
|
4309
3723
|
* Format: date-time
|
|
4310
|
-
* @description Timestamp when this
|
|
3724
|
+
* @description Timestamp when this webhook was created.
|
|
4311
3725
|
*/
|
|
4312
3726
|
created_at: string;
|
|
4313
3727
|
/**
|
|
4314
3728
|
* Format: date-time
|
|
4315
|
-
* @description Timestamp when this
|
|
3729
|
+
* @description Timestamp when this webhook was last updated.
|
|
4316
3730
|
*/
|
|
4317
3731
|
updated_at: string;
|
|
4318
3732
|
};
|
|
4319
|
-
|
|
3733
|
+
WebhookListResponse: {
|
|
4320
3734
|
/** @description The list of results for this page. */
|
|
4321
|
-
items
|
|
4322
|
-
/** @description Whether additional pages are available. */
|
|
4323
|
-
has_more?: boolean;
|
|
3735
|
+
items?: components["schemas"]["Webhook"][];
|
|
4324
3736
|
/** @description Opaque cursor to pass as `cursor` on the next request. Absent when `has_more` is false. */
|
|
4325
3737
|
next_cursor?: string;
|
|
3738
|
+
/** @description Whether additional pages are available. */
|
|
3739
|
+
has_more: boolean;
|
|
4326
3740
|
};
|
|
4327
|
-
|
|
4328
|
-
|
|
4329
|
-
|
|
4330
|
-
/** @description URL-safe slug. Must be globally unique across all orgs. */
|
|
4331
|
-
handle: string;
|
|
4332
|
-
/** @description Arbitrary metadata to attach to the organization. */
|
|
4333
|
-
metadata?: {
|
|
4334
|
-
[key: string]: unknown;
|
|
4335
|
-
};
|
|
4336
|
-
};
|
|
4337
|
-
UpdateOrgRequest: {
|
|
4338
|
-
/** @description Must be non-empty if provided. */
|
|
4339
|
-
name?: string;
|
|
4340
|
-
/** @description Must be non-empty if provided. Changing the handle affects all API route URLs for this org. */
|
|
4341
|
-
handle?: string;
|
|
4342
|
-
/** @description Replacement metadata. */
|
|
4343
|
-
metadata?: {
|
|
4344
|
-
[key: string]: unknown;
|
|
4345
|
-
};
|
|
4346
|
-
/** @description System-role name assigned to new org members at org scope. */
|
|
4347
|
-
default_member_role?: components["schemas"]["SystemRoleName"];
|
|
4348
|
-
/**
|
|
4349
|
-
* @description Access mode applied to newly-created projects: `org_open` or `restricted`.
|
|
4350
|
-
* @enum {string}
|
|
4351
|
-
*/
|
|
4352
|
-
default_project_access_mode?: "org_open" | "restricted";
|
|
4353
|
-
};
|
|
4354
|
-
/** @description User's membership in an organization. Use this record to show who belongs to the org, what their broad org role is, and any embedded user profile needed for member management. */
|
|
4355
|
-
OrgMember: {
|
|
4356
|
-
/** @description Unique identifier for this membership record. */
|
|
3741
|
+
/** @description One delivery record for a webhook event. The daemon claims pending rows, POSTs the payload, and transitions to `delivered` or retries on failure. A delivery reaches `failed` only after exhausting all 10 retry attempts. */
|
|
3742
|
+
WebhookDelivery: {
|
|
3743
|
+
/** @description Unique identifier for this delivery record. */
|
|
4357
3744
|
id: string;
|
|
4358
|
-
/** @description ID of the
|
|
4359
|
-
|
|
4360
|
-
/**
|
|
4361
|
-
|
|
4362
|
-
|
|
4363
|
-
|
|
4364
|
-
|
|
3745
|
+
/** @description ID of the webhook this delivery belongs to. */
|
|
3746
|
+
webhook_id: string;
|
|
3747
|
+
/** @description Run that triggered the event, when applicable. */
|
|
3748
|
+
run_id?: string;
|
|
3749
|
+
/** @description The event type that triggered this delivery (e.g. `run.completed`). */
|
|
3750
|
+
event_type: string;
|
|
3751
|
+
/** @description Current delivery status: `pending`, `delivered`, or `failed`. */
|
|
3752
|
+
status: components["schemas"]["WebhookDeliveryStatus"];
|
|
3753
|
+
/** @description Number of delivery attempts made so far. Max 10. */
|
|
3754
|
+
attempts: number;
|
|
3755
|
+
/** @description Error message from the most recent failed attempt. */
|
|
3756
|
+
last_error?: string;
|
|
4365
3757
|
/**
|
|
4366
3758
|
* Format: date-time
|
|
4367
|
-
* @description Timestamp when this
|
|
3759
|
+
* @description Timestamp when this delivery was first attempted.
|
|
4368
3760
|
*/
|
|
4369
3761
|
created_at: string;
|
|
4370
3762
|
/**
|
|
4371
3763
|
* Format: date-time
|
|
4372
|
-
* @description Timestamp
|
|
3764
|
+
* @description Timestamp of the successful delivery. Absent until delivered.
|
|
4373
3765
|
*/
|
|
4374
|
-
|
|
4375
|
-
/** @description Embedded user profile for this organization member. */
|
|
4376
|
-
user?: components["schemas"]["User"];
|
|
3766
|
+
delivered_at?: string;
|
|
4377
3767
|
};
|
|
4378
|
-
|
|
3768
|
+
WebhookDeliveryListResponse: {
|
|
4379
3769
|
/** @description The list of results for this page. */
|
|
4380
|
-
items
|
|
4381
|
-
/** @description Whether additional pages are available. */
|
|
4382
|
-
has_more?: boolean;
|
|
3770
|
+
items?: components["schemas"]["WebhookDelivery"][];
|
|
4383
3771
|
/** @description Opaque cursor to pass as `cursor` on the next request. Absent when `has_more` is false. */
|
|
4384
3772
|
next_cursor?: string;
|
|
3773
|
+
/** @description Whether additional pages are available. */
|
|
3774
|
+
has_more: boolean;
|
|
4385
3775
|
};
|
|
4386
|
-
|
|
4387
|
-
/** @description
|
|
4388
|
-
|
|
3776
|
+
CreateWebhookRequest: {
|
|
3777
|
+
/** @description Human-readable name, unique within the project. */
|
|
3778
|
+
name: string;
|
|
3779
|
+
/** @description The endpoint Mobius will POST event payloads to. May be left empty at creation time so a candidate URL can be tested via the ping endpoint before it is saved; events do not fire for webhooks with an empty URL. */
|
|
3780
|
+
url?: string;
|
|
3781
|
+
/** @description Optional HMAC-SHA256 secret. When set, Mobius signs each POST body and includes `X-Mobius-Signature: sha256=<hex>` in the request headers. */
|
|
3782
|
+
signing_secret?: string;
|
|
3783
|
+
/** @description Event types to subscribe to. Use wildcards for broad subscriptions, e.g. `["run.*"]` for all run events. */
|
|
3784
|
+
events: string[];
|
|
3785
|
+
/** @description Whether the webhook starts enabled. Defaults to true when omitted. */
|
|
3786
|
+
enabled?: boolean;
|
|
3787
|
+
/** @description Initial tag set. */
|
|
3788
|
+
tags?: components["schemas"]["TagMap"];
|
|
3789
|
+
};
|
|
3790
|
+
UpdateWebhookRequest: {
|
|
3791
|
+
/** @description Replacement human-readable name. */
|
|
3792
|
+
name?: string;
|
|
3793
|
+
/** @description Replacement endpoint URL. */
|
|
3794
|
+
url?: string;
|
|
3795
|
+
/** @description Replace the current signing secret. Set to empty string to disable signing. Omit to leave the current secret unchanged. */
|
|
3796
|
+
signing_secret?: string;
|
|
3797
|
+
/** @description Replacement event subscriptions. Replaces the entire current list. */
|
|
3798
|
+
events?: string[];
|
|
3799
|
+
/** @description Set to false to disable delivery without deleting the webhook. */
|
|
3800
|
+
enabled?: boolean;
|
|
3801
|
+
/** @description When supplied, replaces the user tag set on the webhook. System tags (`mobius:*`) are preserved. */
|
|
3802
|
+
tags?: components["schemas"]["TagMap"];
|
|
3803
|
+
};
|
|
3804
|
+
PingWebhookRequest: {
|
|
3805
|
+
/** @description URL to test. When supplied, the ping is sent to this URL instead of the webhook's saved URL — use this to validate a candidate URL before saving it. When omitted, the webhook's current saved URL is used. */
|
|
3806
|
+
url?: string;
|
|
3807
|
+
};
|
|
3808
|
+
PingWebhookResult: {
|
|
3809
|
+
/** @description True if the target responded with a 2xx status code. */
|
|
3810
|
+
success: boolean;
|
|
3811
|
+
/** @description HTTP status code returned by the target. Absent on network error. */
|
|
3812
|
+
status_code?: number;
|
|
3813
|
+
/** @description Error message if the request could not be completed. */
|
|
3814
|
+
error?: string;
|
|
3815
|
+
/** @description Round-trip latency in milliseconds. */
|
|
3816
|
+
latency_ms?: number;
|
|
3817
|
+
};
|
|
3818
|
+
/** @description Operational health snapshot for a project. Use it to power dashboards, detect stuck queues or stale workers, and summarize run throughput and failure rates over a recent window. */
|
|
3819
|
+
ProjectMetrics: {
|
|
4389
3820
|
/**
|
|
4390
|
-
*
|
|
4391
|
-
* @
|
|
3821
|
+
* Format: date-time
|
|
3822
|
+
* @description Timestamp when this metrics snapshot was computed.
|
|
4392
3823
|
*/
|
|
4393
|
-
|
|
4394
|
-
|
|
4395
|
-
|
|
3824
|
+
generated_at: string;
|
|
3825
|
+
/** @description Rolling window width used for rate and failure metrics. Default is 60 minutes. */
|
|
3826
|
+
window_minutes: number;
|
|
4396
3827
|
/**
|
|
4397
|
-
*
|
|
4398
|
-
* @
|
|
3828
|
+
* Format: double
|
|
3829
|
+
* @description Average number of new workflow runs started per minute within the window.
|
|
3830
|
+
*/
|
|
3831
|
+
runs_per_minute: number;
|
|
3832
|
+
/** @description Total number of workflow runs started within the window. */
|
|
3833
|
+
total_runs_window: number;
|
|
3834
|
+
/**
|
|
3835
|
+
* Format: double
|
|
3836
|
+
* @description Fraction of completed runs that ended in `failed` status within the window. Range 0.0–1.0.
|
|
3837
|
+
*/
|
|
3838
|
+
failure_rate: number;
|
|
3839
|
+
/**
|
|
3840
|
+
* Format: double
|
|
3841
|
+
* @description Mean wall-clock duration of completed runs within the window, in seconds.
|
|
3842
|
+
*/
|
|
3843
|
+
avg_run_seconds: number;
|
|
3844
|
+
/**
|
|
3845
|
+
* Format: double
|
|
3846
|
+
* @description 95th-percentile job duration (claim time to terminal state) computed across the 40 most recent completed jobs, in seconds. Use this to detect slow or stuck steps.
|
|
4399
3847
|
*/
|
|
4400
|
-
|
|
3848
|
+
p95_step_seconds: number;
|
|
3849
|
+
/** @description Number of jobs currently in `pending` state waiting to be claimed. */
|
|
3850
|
+
queue_depth: number;
|
|
3851
|
+
/** @description Number of workflow runs currently in the `active` lifecycle. */
|
|
3852
|
+
running_count: number;
|
|
3853
|
+
/** @description Number of workers whose `last_seen_at` is within the 2-minute staleness threshold. */
|
|
3854
|
+
active_workers: number;
|
|
3855
|
+
/** @description Number of workers whose `last_seen_at` has exceeded the 2-minute staleness threshold. */
|
|
3856
|
+
stale_workers: number;
|
|
3857
|
+
/** @description Map of workflow run status → count across all runs in the project (not windowed). Includes all terminal and in-progress statuses. */
|
|
3858
|
+
status_breakdown: {
|
|
3859
|
+
[key: string]: number;
|
|
3860
|
+
};
|
|
4401
3861
|
};
|
|
4402
3862
|
InteractionListResponse: {
|
|
4403
3863
|
/** @description The list of results for this page. */
|
|
@@ -4431,7 +3891,7 @@ export interface components {
|
|
|
4431
3891
|
*/
|
|
4432
3892
|
expires_at?: string;
|
|
4433
3893
|
};
|
|
4434
|
-
/** @description Creates a run-backed interaction. Completion delivers `signal_name` to `run_id` so a
|
|
3894
|
+
/** @description Creates a run-backed interaction. Completion delivers `signal_name` to `run_id` so a waiting run path can resume. */
|
|
4435
3895
|
CreateRunBackedInteractionRequest: {
|
|
4436
3896
|
/** @description ID of the workflow run to resume when this interaction is completed. */
|
|
4437
3897
|
run_id: string;
|
|
@@ -4463,11 +3923,6 @@ export interface components {
|
|
|
4463
3923
|
/** @description Optional free-text comment accompanying the response. */
|
|
4464
3924
|
comment?: string;
|
|
4465
3925
|
};
|
|
4466
|
-
/** @description Start of the Slack OAuth installation flow. Redirect users to the authorize URL when they want to connect a Slack workspace to a project. */
|
|
4467
|
-
SlackInstall: {
|
|
4468
|
-
/** @description The Slack OAuth authorize URL to redirect the user to. */
|
|
4469
|
-
authorize_url: string;
|
|
4470
|
-
};
|
|
4471
3926
|
/** @description Project-scoped collection of users used as an interaction target. Groups let workflows route approvals, reviews, and input requests to a team by handle rather than hard-coding individual users. */
|
|
4472
3927
|
Group: {
|
|
4473
3928
|
/** @description Unique identifier for this group. */
|
|
@@ -4605,6 +4060,8 @@ export interface components {
|
|
|
4605
4060
|
status: components["schemas"]["AgentStatus"];
|
|
4606
4061
|
/** @description Current agent presence: `online`, `offline`, or `unknown`. */
|
|
4607
4062
|
presence: components["schemas"]["AgentPresence"];
|
|
4063
|
+
/** @description Resource tags applied to this agent. */
|
|
4064
|
+
tags?: components["schemas"]["TagMap"];
|
|
4608
4065
|
/**
|
|
4609
4066
|
* Format: date-time
|
|
4610
4067
|
* @description Timestamp when this agent was created.
|
|
@@ -4681,6 +4138,8 @@ export interface components {
|
|
|
4681
4138
|
config?: {
|
|
4682
4139
|
[key: string]: unknown;
|
|
4683
4140
|
};
|
|
4141
|
+
/** @description Initial tag set. */
|
|
4142
|
+
tags?: components["schemas"]["TagMap"];
|
|
4684
4143
|
};
|
|
4685
4144
|
UpdateAgentRequest: {
|
|
4686
4145
|
/** @description Replacement service account. Must be active and belong to the same project. */
|
|
@@ -4701,6 +4160,8 @@ export interface components {
|
|
|
4701
4160
|
};
|
|
4702
4161
|
/** @description Replacement agent status: `active` or `disabled`. */
|
|
4703
4162
|
status?: components["schemas"]["AgentStatus"];
|
|
4163
|
+
/** @description When supplied, replaces the user tag set on the agent. System tags (`mobius:*`) are preserved. */
|
|
4164
|
+
tags?: components["schemas"]["TagMap"];
|
|
4704
4165
|
};
|
|
4705
4166
|
CreateAgentSessionRequest: {
|
|
4706
4167
|
/** @description Connection mechanism identifier (e.g. "sse", "polling"). */
|
|
@@ -4710,68 +4171,6 @@ export interface components {
|
|
|
4710
4171
|
[key: string]: unknown;
|
|
4711
4172
|
};
|
|
4712
4173
|
};
|
|
4713
|
-
/**
|
|
4714
|
-
* @description `active` allows authentication and job claims; `disabled` blocks them but preserves the record and its assignments.
|
|
4715
|
-
* @enum {string}
|
|
4716
|
-
*/
|
|
4717
|
-
ServiceAccountStatus: "active" | "disabled";
|
|
4718
|
-
/** @description Non-human identity used by automation, agents, and API keys. Service accounts make ownership, permissions, and credential rotation explicit without tying machine access to a human user. */
|
|
4719
|
-
ServiceAccount: {
|
|
4720
|
-
/** @description Unique identifier for this service account. */
|
|
4721
|
-
id: string;
|
|
4722
|
-
/** @description Human-readable name for this service account. Immutable after creation. */
|
|
4723
|
-
name: string;
|
|
4724
|
-
/** @description Optional human-readable description. */
|
|
4725
|
-
description?: string;
|
|
4726
|
-
/** @description Current service account status: `active` or `disabled`. */
|
|
4727
|
-
status: components["schemas"]["ServiceAccountStatus"];
|
|
4728
|
-
/** @description Optional org member responsible for this service account. */
|
|
4729
|
-
owner_user_id?: string;
|
|
4730
|
-
/** @description Arbitrary key-value metadata. Subject to size and nesting depth limits. */
|
|
4731
|
-
metadata?: {
|
|
4732
|
-
[key: string]: unknown;
|
|
4733
|
-
};
|
|
4734
|
-
/**
|
|
4735
|
-
* Format: date-time
|
|
4736
|
-
* @description Timestamp when this service account was created.
|
|
4737
|
-
*/
|
|
4738
|
-
created_at: string;
|
|
4739
|
-
/**
|
|
4740
|
-
* Format: date-time
|
|
4741
|
-
* @description Timestamp when this service account was last updated.
|
|
4742
|
-
*/
|
|
4743
|
-
updated_at: string;
|
|
4744
|
-
};
|
|
4745
|
-
ServiceAccountListResponse: {
|
|
4746
|
-
/** @description The list of results for this page. */
|
|
4747
|
-
items: components["schemas"]["ServiceAccount"][];
|
|
4748
|
-
};
|
|
4749
|
-
CreateServiceAccountRequest: {
|
|
4750
|
-
/** @description Human-readable name for this service account. Immutable after creation. */
|
|
4751
|
-
name: string;
|
|
4752
|
-
/** @description Optional human-readable description. */
|
|
4753
|
-
description?: string;
|
|
4754
|
-
/** @description Org member responsible for this service account. */
|
|
4755
|
-
owner_user_id?: string;
|
|
4756
|
-
/** @description Arbitrary metadata to attach to the service account. */
|
|
4757
|
-
metadata?: {
|
|
4758
|
-
[key: string]: unknown;
|
|
4759
|
-
};
|
|
4760
|
-
/** @description One or more role IDs to assign at creation time. All assignments are created atomically with the service account. Requires `mobius.permission.manage`. Each role must belong to this project or be org-scoped (project_id empty). */
|
|
4761
|
-
role_ids?: string[];
|
|
4762
|
-
};
|
|
4763
|
-
UpdateServiceAccountRequest: {
|
|
4764
|
-
/** @description Replacement description. */
|
|
4765
|
-
description?: string;
|
|
4766
|
-
/** @description Replacement service account status: `active` or `disabled`. */
|
|
4767
|
-
status?: components["schemas"]["ServiceAccountStatus"];
|
|
4768
|
-
/** @description ID of the org member responsible for this service account. */
|
|
4769
|
-
owner_user_id?: string;
|
|
4770
|
-
/** @description Replacement metadata. */
|
|
4771
|
-
metadata?: {
|
|
4772
|
-
[key: string]: unknown;
|
|
4773
|
-
};
|
|
4774
|
-
};
|
|
4775
4174
|
/** @description Published workflow exposed as an invokable tool. Clients can use this definition to list available tools and render input forms from the JSON Schema before starting a run. */
|
|
4776
4175
|
ToolDefinition: {
|
|
4777
4176
|
/** @description Tool name (workflow handle). Stable across publish/unpublish cycles. */
|
|
@@ -4792,7 +4191,7 @@ export interface components {
|
|
|
4792
4191
|
input?: {
|
|
4793
4192
|
[key: string]: unknown;
|
|
4794
4193
|
};
|
|
4795
|
-
/** @description How long (in seconds) to wait for synchronous completion. Default 30, max 120. If the run does not complete within this window the response is 202 with status
|
|
4194
|
+
/** @description How long (in seconds) to wait for synchronous completion. Default 30, max 120. If the run does not complete within this window the response is 202 with status active. */
|
|
4796
4195
|
timeout_seconds?: number;
|
|
4797
4196
|
};
|
|
4798
4197
|
/** @description Status envelope for a tool invocation backed by a workflow run. Use it to poll asynchronous work, read completed output, or surface failure details to the caller. */
|
|
@@ -4800,10 +4199,10 @@ export interface components {
|
|
|
4800
4199
|
/** @description Unique run identifier for polling. */
|
|
4801
4200
|
run_id: string;
|
|
4802
4201
|
/**
|
|
4803
|
-
* @description
|
|
4202
|
+
* @description Workflow run lifecycle: `active`, `completed`, or `failed`.
|
|
4804
4203
|
* @enum {string}
|
|
4805
4204
|
*/
|
|
4806
|
-
status: "
|
|
4205
|
+
status: "active" | "completed" | "failed";
|
|
4807
4206
|
/** @description Run output. Present when status is "completed". */
|
|
4808
4207
|
output?: {
|
|
4809
4208
|
[key: string]: unknown;
|
|
@@ -4917,12 +4316,22 @@ export interface components {
|
|
|
4917
4316
|
CursorParam: string;
|
|
4918
4317
|
/** @description Maximum number of items to return */
|
|
4919
4318
|
LimitParam: number;
|
|
4319
|
+
/**
|
|
4320
|
+
* @description Filter results by tag. Repeatable; multiple values combine with AND. Format: `Key:Value`, `Key:*` for any value, `Key:a,b,c` for IN.
|
|
4321
|
+
*
|
|
4322
|
+
* Tag values containing `:` or `,` cannot be filtered with this grammar — the parser splits on those literally. Constrain values to plain identifiers when you intend to filter on them.
|
|
4323
|
+
*
|
|
4324
|
+
* Not supported on the runs list — runs are too high-cardinality for ad-hoc tag filtering. To narrow runs by parent workflow, use the workflow-scoped endpoint `GET /v1/projects/{project}/workflows/{id}/runs` and inspect `tags` on each run client-side.
|
|
4325
|
+
*/
|
|
4326
|
+
TagFilterParam: string[];
|
|
4920
4327
|
/** @description Optional project scope for this request. When `project_id` is provided, the API key operation is resolved in that project's permission context. When `project_id` is omitted, the request is treated as org-level and project-pinned keys are excluded. */
|
|
4921
4328
|
APIKeyProjectIDParam: components["schemas"]["ProjectID"];
|
|
4922
4329
|
/** @description Trigger target ID. */
|
|
4923
4330
|
TriggerTargetIDParam: string;
|
|
4924
4331
|
/** @description Group ID or handle. */
|
|
4925
4332
|
GroupParam: string;
|
|
4333
|
+
/** @description Widget ID within the dashboard. */
|
|
4334
|
+
widget_id: string;
|
|
4926
4335
|
};
|
|
4927
4336
|
requestBodies: never;
|
|
4928
4337
|
headers: never;
|
|
@@ -4937,6 +4346,14 @@ export interface operations {
|
|
|
4937
4346
|
kind?: "dm" | "channel";
|
|
4938
4347
|
/** @description Filter by private flag. */
|
|
4939
4348
|
private?: boolean;
|
|
4349
|
+
/**
|
|
4350
|
+
* @description Filter results by tag. Repeatable; multiple values combine with AND. Format: `Key:Value`, `Key:*` for any value, `Key:a,b,c` for IN.
|
|
4351
|
+
*
|
|
4352
|
+
* Tag values containing `:` or `,` cannot be filtered with this grammar — the parser splits on those literally. Constrain values to plain identifiers when you intend to filter on them.
|
|
4353
|
+
*
|
|
4354
|
+
* Not supported on the runs list — runs are too high-cardinality for ad-hoc tag filtering. To narrow runs by parent workflow, use the workflow-scoped endpoint `GET /v1/projects/{project}/workflows/{id}/runs` and inspect `tags` on each run client-side.
|
|
4355
|
+
*/
|
|
4356
|
+
tag?: components["parameters"]["TagFilterParam"];
|
|
4940
4357
|
/** @description Cursor for pagination (opaque string from previous response) */
|
|
4941
4358
|
cursor?: components["parameters"]["CursorParam"];
|
|
4942
4359
|
/** @description Maximum number of items to return */
|
|
@@ -5317,7 +4734,7 @@ export interface operations {
|
|
|
5317
4734
|
actor_type?: string;
|
|
5318
4735
|
/** @description Filter by actor ID */
|
|
5319
4736
|
actor_id?: string;
|
|
5320
|
-
/** @description Filter by action (create, update, delete) */
|
|
4737
|
+
/** @description Filter by action (create, update, delete, archive, restore) */
|
|
5321
4738
|
action?: string;
|
|
5322
4739
|
/** @description Filter to entries created after this timestamp */
|
|
5323
4740
|
created_after?: string;
|
|
@@ -5349,6 +4766,14 @@ export interface operations {
|
|
|
5349
4766
|
listWorkflows: {
|
|
5350
4767
|
parameters: {
|
|
5351
4768
|
query?: {
|
|
4769
|
+
/**
|
|
4770
|
+
* @description Filter results by tag. Repeatable; multiple values combine with AND. Format: `Key:Value`, `Key:*` for any value, `Key:a,b,c` for IN.
|
|
4771
|
+
*
|
|
4772
|
+
* Tag values containing `:` or `,` cannot be filtered with this grammar — the parser splits on those literally. Constrain values to plain identifiers when you intend to filter on them.
|
|
4773
|
+
*
|
|
4774
|
+
* Not supported on the runs list — runs are too high-cardinality for ad-hoc tag filtering. To narrow runs by parent workflow, use the workflow-scoped endpoint `GET /v1/projects/{project}/workflows/{id}/runs` and inspect `tags` on each run client-side.
|
|
4775
|
+
*/
|
|
4776
|
+
tag?: components["parameters"]["TagFilterParam"];
|
|
5352
4777
|
/** @description Opaque pagination cursor returned from the previous response. */
|
|
5353
4778
|
cursor?: string;
|
|
5354
4779
|
/** @description Maximum number of results to return per page. */
|
|
@@ -5654,6 +5079,15 @@ export interface operations {
|
|
|
5654
5079
|
400: components["responses"]["BadRequest"];
|
|
5655
5080
|
401: components["responses"]["Unauthorized"];
|
|
5656
5081
|
404: components["responses"]["NotFound"];
|
|
5082
|
+
/** @description Conflict — the target project is archived. Code `project_archived`. Restore the project before starting new runs; in-flight runs continue regardless. */
|
|
5083
|
+
409: {
|
|
5084
|
+
headers: {
|
|
5085
|
+
[name: string]: unknown;
|
|
5086
|
+
};
|
|
5087
|
+
content: {
|
|
5088
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
5089
|
+
};
|
|
5090
|
+
};
|
|
5657
5091
|
429: components["responses"]["TooManyRequests"];
|
|
5658
5092
|
};
|
|
5659
5093
|
};
|
|
@@ -5728,7 +5162,23 @@ export interface operations {
|
|
|
5728
5162
|
* "definition_version": 3,
|
|
5729
5163
|
* "ephemeral": false,
|
|
5730
5164
|
* "workflow_name": "document-review",
|
|
5731
|
-
* "status": "
|
|
5165
|
+
* "status": "active",
|
|
5166
|
+
* "path_counts": {
|
|
5167
|
+
* "total": 1,
|
|
5168
|
+
* "active": 1,
|
|
5169
|
+
* "working": 1,
|
|
5170
|
+
* "waiting": 0,
|
|
5171
|
+
* "completed": 0,
|
|
5172
|
+
* "failed": 0
|
|
5173
|
+
* },
|
|
5174
|
+
* "wait_summary": {
|
|
5175
|
+
* "waiting_paths": 0,
|
|
5176
|
+
* "kind_counts": {},
|
|
5177
|
+
* "next_wake_at": null,
|
|
5178
|
+
* "waiting_on_signal_names": [],
|
|
5179
|
+
* "interaction_ids": []
|
|
5180
|
+
* },
|
|
5181
|
+
* "errors": [],
|
|
5732
5182
|
* "attempt": 1,
|
|
5733
5183
|
* "inputs": {
|
|
5734
5184
|
* "document_id": "doc_01hw1m9z8y7x6w5v4u3t2s1r0q"
|
|
@@ -5752,6 +5202,15 @@ export interface operations {
|
|
|
5752
5202
|
400: components["responses"]["BadRequest"];
|
|
5753
5203
|
401: components["responses"]["Unauthorized"];
|
|
5754
5204
|
404: components["responses"]["NotFound"];
|
|
5205
|
+
/** @description Conflict — the target project is archived. Code `project_archived`. Restore the project before starting new runs; in-flight runs continue regardless. */
|
|
5206
|
+
409: {
|
|
5207
|
+
headers: {
|
|
5208
|
+
[name: string]: unknown;
|
|
5209
|
+
};
|
|
5210
|
+
content: {
|
|
5211
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
5212
|
+
};
|
|
5213
|
+
};
|
|
5755
5214
|
429: components["responses"]["TooManyRequests"];
|
|
5756
5215
|
};
|
|
5757
5216
|
};
|
|
@@ -5860,7 +5319,7 @@ export interface operations {
|
|
|
5860
5319
|
/**
|
|
5861
5320
|
* @example event: run_updated
|
|
5862
5321
|
* id: 42
|
|
5863
|
-
* data: {"type":"run_updated","run_id":"run_01hw1n1a2b3c4d5e6f7g8h9j0k","seq":42,"timestamp":"2026-04-24T14:45:00Z","data":{"status":"
|
|
5322
|
+
* data: {"type":"run_updated","run_id":"run_01hw1n1a2b3c4d5e6f7g8h9j0k","seq":42,"timestamp":"2026-04-24T14:45:00Z","data":{"status":"active"}}
|
|
5864
5323
|
*
|
|
5865
5324
|
* :keepalive
|
|
5866
5325
|
*/
|
|
@@ -6560,6 +6019,14 @@ export interface operations {
|
|
|
6560
6019
|
kind?: components["schemas"]["TriggerKind"];
|
|
6561
6020
|
/** @description Filter to enabled or disabled triggers. */
|
|
6562
6021
|
enabled?: boolean;
|
|
6022
|
+
/**
|
|
6023
|
+
* @description Filter results by tag. Repeatable; multiple values combine with AND. Format: `Key:Value`, `Key:*` for any value, `Key:a,b,c` for IN.
|
|
6024
|
+
*
|
|
6025
|
+
* Tag values containing `:` or `,` cannot be filtered with this grammar — the parser splits on those literally. Constrain values to plain identifiers when you intend to filter on them.
|
|
6026
|
+
*
|
|
6027
|
+
* Not supported on the runs list — runs are too high-cardinality for ad-hoc tag filtering. To narrow runs by parent workflow, use the workflow-scoped endpoint `GET /v1/projects/{project}/workflows/{id}/runs` and inspect `tags` on each run client-side.
|
|
6028
|
+
*/
|
|
6029
|
+
tag?: components["parameters"]["TagFilterParam"];
|
|
6563
6030
|
/** @description Opaque pagination cursor returned from the previous response. */
|
|
6564
6031
|
cursor?: string;
|
|
6565
6032
|
/** @description Maximum number of results to return per page. */
|
|
@@ -6997,6 +6464,16 @@ export interface operations {
|
|
|
6997
6464
|
query?: {
|
|
6998
6465
|
/** @description Prefix-match filter applied to project name and handle. */
|
|
6999
6466
|
search?: string;
|
|
6467
|
+
/** @description Lifecycle filter. `active` (default) returns non-archived projects; `archived` returns archived projects only; `all` returns both. */
|
|
6468
|
+
status?: "active" | "archived" | "all";
|
|
6469
|
+
/**
|
|
6470
|
+
* @description Filter results by tag. Repeatable; multiple values combine with AND. Format: `Key:Value`, `Key:*` for any value, `Key:a,b,c` for IN.
|
|
6471
|
+
*
|
|
6472
|
+
* Tag values containing `:` or `,` cannot be filtered with this grammar — the parser splits on those literally. Constrain values to plain identifiers when you intend to filter on them.
|
|
6473
|
+
*
|
|
6474
|
+
* Not supported on the runs list — runs are too high-cardinality for ad-hoc tag filtering. To narrow runs by parent workflow, use the workflow-scoped endpoint `GET /v1/projects/{project}/workflows/{id}/runs` and inspect `tags` on each run client-side.
|
|
6475
|
+
*/
|
|
6476
|
+
tag?: components["parameters"]["TagFilterParam"];
|
|
7000
6477
|
};
|
|
7001
6478
|
header?: never;
|
|
7002
6479
|
path?: never;
|
|
@@ -7089,6 +6566,7 @@ export interface operations {
|
|
|
7089
6566
|
};
|
|
7090
6567
|
401: components["responses"]["Unauthorized"];
|
|
7091
6568
|
404: components["responses"]["NotFound"];
|
|
6569
|
+
409: components["responses"]["Conflict"];
|
|
7092
6570
|
};
|
|
7093
6571
|
};
|
|
7094
6572
|
updateProject: {
|
|
@@ -7122,6 +6600,56 @@ export interface operations {
|
|
|
7122
6600
|
409: components["responses"]["Conflict"];
|
|
7123
6601
|
};
|
|
7124
6602
|
};
|
|
6603
|
+
archiveProject: {
|
|
6604
|
+
parameters: {
|
|
6605
|
+
query?: never;
|
|
6606
|
+
header?: never;
|
|
6607
|
+
path: {
|
|
6608
|
+
/** @description Resource ID. */
|
|
6609
|
+
id: components["parameters"]["IDParam"];
|
|
6610
|
+
};
|
|
6611
|
+
cookie?: never;
|
|
6612
|
+
};
|
|
6613
|
+
requestBody?: never;
|
|
6614
|
+
responses: {
|
|
6615
|
+
/** @description OK */
|
|
6616
|
+
200: {
|
|
6617
|
+
headers: {
|
|
6618
|
+
[name: string]: unknown;
|
|
6619
|
+
};
|
|
6620
|
+
content: {
|
|
6621
|
+
"application/json": components["schemas"]["Project"];
|
|
6622
|
+
};
|
|
6623
|
+
};
|
|
6624
|
+
401: components["responses"]["Unauthorized"];
|
|
6625
|
+
404: components["responses"]["NotFound"];
|
|
6626
|
+
};
|
|
6627
|
+
};
|
|
6628
|
+
restoreProject: {
|
|
6629
|
+
parameters: {
|
|
6630
|
+
query?: never;
|
|
6631
|
+
header?: never;
|
|
6632
|
+
path: {
|
|
6633
|
+
/** @description Resource ID. */
|
|
6634
|
+
id: components["parameters"]["IDParam"];
|
|
6635
|
+
};
|
|
6636
|
+
cookie?: never;
|
|
6637
|
+
};
|
|
6638
|
+
requestBody?: never;
|
|
6639
|
+
responses: {
|
|
6640
|
+
/** @description OK */
|
|
6641
|
+
200: {
|
|
6642
|
+
headers: {
|
|
6643
|
+
[name: string]: unknown;
|
|
6644
|
+
};
|
|
6645
|
+
content: {
|
|
6646
|
+
"application/json": components["schemas"]["Project"];
|
|
6647
|
+
};
|
|
6648
|
+
};
|
|
6649
|
+
401: components["responses"]["Unauthorized"];
|
|
6650
|
+
404: components["responses"]["NotFound"];
|
|
6651
|
+
};
|
|
6652
|
+
};
|
|
7125
6653
|
getProjectConfig: {
|
|
7126
6654
|
parameters: {
|
|
7127
6655
|
query?: never;
|
|
@@ -7306,6 +6834,14 @@ export interface operations {
|
|
|
7306
6834
|
query?: {
|
|
7307
6835
|
/** @description Filter by enabled/disabled state. */
|
|
7308
6836
|
enabled?: boolean;
|
|
6837
|
+
/**
|
|
6838
|
+
* @description Filter results by tag. Repeatable; multiple values combine with AND. Format: `Key:Value`, `Key:*` for any value, `Key:a,b,c` for IN.
|
|
6839
|
+
*
|
|
6840
|
+
* Tag values containing `:` or `,` cannot be filtered with this grammar — the parser splits on those literally. Constrain values to plain identifiers when you intend to filter on them.
|
|
6841
|
+
*
|
|
6842
|
+
* Not supported on the runs list — runs are too high-cardinality for ad-hoc tag filtering. To narrow runs by parent workflow, use the workflow-scoped endpoint `GET /v1/projects/{project}/workflows/{id}/runs` and inspect `tags` on each run client-side.
|
|
6843
|
+
*/
|
|
6844
|
+
tag?: components["parameters"]["TagFilterParam"];
|
|
7309
6845
|
/** @description Opaque pagination cursor returned from the previous response. */
|
|
7310
6846
|
cursor?: string;
|
|
7311
6847
|
/** @description Maximum number of results to return per page. */
|
|
@@ -8152,6 +7688,14 @@ export interface operations {
|
|
|
8152
7688
|
service_account_id?: string;
|
|
8153
7689
|
/** @description Filter by administrative status (active/inactive), independent of presence. */
|
|
8154
7690
|
status?: components["schemas"]["AgentStatus"];
|
|
7691
|
+
/**
|
|
7692
|
+
* @description Filter results by tag. Repeatable; multiple values combine with AND. Format: `Key:Value`, `Key:*` for any value, `Key:a,b,c` for IN.
|
|
7693
|
+
*
|
|
7694
|
+
* Tag values containing `:` or `,` cannot be filtered with this grammar — the parser splits on those literally. Constrain values to plain identifiers when you intend to filter on them.
|
|
7695
|
+
*
|
|
7696
|
+
* Not supported on the runs list — runs are too high-cardinality for ad-hoc tag filtering. To narrow runs by parent workflow, use the workflow-scoped endpoint `GET /v1/projects/{project}/workflows/{id}/runs` and inspect `tags` on each run client-side.
|
|
7697
|
+
*/
|
|
7698
|
+
tag?: components["parameters"]["TagFilterParam"];
|
|
8155
7699
|
/** @description Maximum number of items to return */
|
|
8156
7700
|
limit?: components["parameters"]["LimitParam"];
|
|
8157
7701
|
};
|
|
@@ -8537,7 +8081,7 @@ export interface operations {
|
|
|
8537
8081
|
"application/json": components["schemas"]["ToolRun"];
|
|
8538
8082
|
};
|
|
8539
8083
|
};
|
|
8540
|
-
/** @description Accepted — run is
|
|
8084
|
+
/** @description Accepted — run is active; poll for result */
|
|
8541
8085
|
202: {
|
|
8542
8086
|
headers: {
|
|
8543
8087
|
[name: string]: unknown;
|
|
@@ -8546,7 +8090,7 @@ export interface operations {
|
|
|
8546
8090
|
/**
|
|
8547
8091
|
* @example {
|
|
8548
8092
|
* "run_id": "run_01hw1n1a2b3c4d5e6f7g8h9j0k",
|
|
8549
|
-
* "status": "
|
|
8093
|
+
* "status": "active"
|
|
8550
8094
|
* }
|
|
8551
8095
|
*/
|
|
8552
8096
|
"application/json": components["schemas"]["ToolRun"];
|