@runtypelabs/sdk 9.1.1 → 9.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -594,7 +594,7 @@ interface paths {
594
594
  put?: never;
595
595
  /**
596
596
  * Create agent
597
- * @description Create a new agent with optional capabilities and configuration. Supports runtype, external, and claude_managed agent types.
597
+ * @description Create a new agent with optional capabilities and configuration. Supports runtype, external, and claude_managed agent types. External-agent auth credentials are accepted on write but returned as <redacted>; a configuration copied from a management response must replace that placeholder with the real credential before create.
598
598
  */
599
599
  post: {
600
600
  parameters: {
@@ -978,6 +978,7 @@ interface paths {
978
978
  dashboardUrl?: string;
979
979
  description: string | null;
980
980
  draftVersionId: string | null;
981
+ /** @description External-agent configuration. Configured auth.credentials values are write-only and returned as <redacted>, never plaintext. */
981
982
  externalConfig: {
982
983
  [key: string]: unknown;
983
984
  } | null;
@@ -1597,7 +1598,7 @@ interface paths {
1597
1598
  };
1598
1599
  /**
1599
1600
  * Get agent details
1600
- * @description Get an agent by ID including its capabilities and configuration.
1601
+ * @description Get an agent by ID including its capabilities and configuration. External-agent auth credentials are write-only: a configured externalConfig.auth.credentials value is returned as <redacted>, never plaintext.
1601
1602
  */
1602
1603
  get: {
1603
1604
  parameters: {
@@ -1641,6 +1642,7 @@ interface paths {
1641
1642
  createdAt: string;
1642
1643
  dashboardUrl?: string;
1643
1644
  description: string | null;
1645
+ /** @description External-agent configuration. Configured auth.credentials values are write-only and returned as <redacted>, never plaintext. */
1644
1646
  externalConfig: {
1645
1647
  [key: string]: unknown;
1646
1648
  } | null;
@@ -1712,7 +1714,7 @@ interface paths {
1712
1714
  };
1713
1715
  /**
1714
1716
  * Update agent
1715
- * @description Update an existing agent. Supports partial updates — only provided fields are changed. Both config and externalConfig are merged onto the stored values, so a partial write preserves keys it omits (notably externalConfig.protocol and externalConfig.cachedAgentCard). To REMOVE a value, send it explicitly as null: a null field clears that field, and externalConfig: null clears the whole object. Nested values replace atomically — sending auth replaces the entire auth block, so switching auth type cannot reuse the previous credential. Repointing an external agent (endpoint, agentCardUrl or protocol) discards the cached agent card, which is re-fetched by POST /agents/{id}/refresh-agent-card. Moving externalConfig.endpoint to a different host additionally requires re-sending externalConfig.auth: a stored credential is never carried to a host it was not configured against, so a repoint that omits auth is rejected with 400.
1717
+ * @description Update an existing agent. Supports partial updates — only provided fields are changed. Both config and externalConfig are merged onto the stored values, so a partial write preserves keys it omits (notably externalConfig.protocol and externalConfig.cachedAgentCard). To REMOVE a value, send it explicitly as null: a null field clears that field, and externalConfig: null clears the whole object. Nested values replace atomically — sending auth replaces the entire auth block, so switching auth type cannot reuse the previous credential. Agent management responses return a configured auth.credentials value as <redacted>; echoing that placeholder on an update preserves the stored credential only when auth.type is unchanged. Repointing an external agent (endpoint, agentCardUrl or protocol) discards the cached agent card, which is re-fetched by POST /agents/{id}/refresh-agent-card. Moving externalConfig.endpoint to a different host additionally requires re-sending externalConfig.auth: a stored credential is never carried to a host it was not configured against, so a repoint that omits auth is rejected with 400.
1716
1718
  */
1717
1719
  put: {
1718
1720
  parameters: {
@@ -2073,6 +2075,7 @@ interface paths {
2073
2075
  dashboardUrl?: string;
2074
2076
  description: string | null;
2075
2077
  draftVersionId: string | null;
2078
+ /** @description External-agent configuration. Configured auth.credentials values are write-only and returned as <redacted>, never plaintext. */
2076
2079
  externalConfig: {
2077
2080
  [key: string]: unknown;
2078
2081
  } | null;
@@ -2649,7 +2652,7 @@ interface paths {
2649
2652
  put?: never;
2650
2653
  /**
2651
2654
  * Execute agent
2652
- * @description Execute an agent (Quick Agent mode) with a message array. Streams a Server-Sent Events response when streamResponse is true (default); otherwise returns a JSON result. Send the RFC 7240 `Prefer: respond-async` header to run a Claude Managed durable-lane turn (a saved agent invoked with a conversationId) fire-and-forget: the response is a 202 handle and the turn runs headlessly (reconnect via the executions events stream or poll the runs API).
2655
+ * @description Execute an agent with a message array. Streams a Server-Sent Events response when streamResponse is true (default); otherwise returns a JSON result. Send the RFC 7240 `Prefer: respond-async` header to receive a durable execution handle immediately, then poll its status URL for completion.
2653
2656
  */
2654
2657
  post: {
2655
2658
  parameters: {
@@ -2677,7 +2680,7 @@ interface paths {
2677
2680
  "text/event-stream": unknown;
2678
2681
  };
2679
2682
  };
2680
- /** @description Fire-and-forget handle for a Claude Managed durable-lane turn accepted via `Prefer: respond-async`. The turn runs headlessly; reconnect via the executions events stream or poll the runs API. Carries a `Preference-Applied: respond-async` header. */
2683
+ /** @description Durable fire-and-forget handle accepted via `Prefer: respond-async`. Poll statusUrl for completion. Carries a `Preference-Applied: respond-async` header. */
2681
2684
  202: {
2682
2685
  headers: {
2683
2686
  [name: string]: unknown;
@@ -2749,6 +2752,15 @@ interface paths {
2749
2752
  "application/json": components["schemas"]["Error"];
2750
2753
  };
2751
2754
  };
2755
+ /** @description Asynchronous execution unavailable */
2756
+ 503: {
2757
+ headers: {
2758
+ [name: string]: unknown;
2759
+ };
2760
+ content: {
2761
+ "application/json": components["schemas"]["Error"];
2762
+ };
2763
+ };
2752
2764
  };
2753
2765
  };
2754
2766
  delete?: never;
@@ -3450,7 +3462,9 @@ interface paths {
3450
3462
  };
3451
3463
  /**
3452
3464
  * Export agent for runtime
3453
- * @description Export a fully-resolved, self-contained agent definition that the @runtypelabs/runtime package can consume directly at boot. Capabilities, flows, and nested sub-agents are inlined recursively (up to 3 levels). MCP credential values are replaced with secret-name references.
3465
+ * @description Export a fully-resolved, self-contained agent definition that the @runtypelabs/runtime package can consume directly at boot. Capabilities, flows, and nested sub-agents are inlined recursively (up to 3 levels). MCP credential values and external-agent auth credentials are replaced with secret-name references.
3466
+ *
3467
+ * The response carries `hostDependencies`: the runtime seams the exported artifact needs a host to wire before it can run everything it describes. A durable-class step (`wait-until` or `crawl`) anywhere in the agent's executable closure declares a `durable-pause-host` dependency; a detached-capable dynamic subagent pool or a detached inline subagent tool declares a `background-run-coordinator` dependency. The array is empty when nothing needs wiring.
3454
3468
  */
3455
3469
  get: {
3456
3470
  parameters: {
@@ -3482,6 +3496,7 @@ interface paths {
3482
3496
  externalConfig?: {
3483
3497
  [key: string]: unknown;
3484
3498
  };
3499
+ hostDependencies: components["schemas"]["RuntimeHostDependency"][];
3485
3500
  id: string;
3486
3501
  name: string;
3487
3502
  primaryFlow?: {
@@ -3646,7 +3661,7 @@ interface paths {
3646
3661
  put?: never;
3647
3662
  /**
3648
3663
  * Refresh cached agent card
3649
- * @description Re-fetch the agent card from the configured agentCardUrl (or derived A2A well-known URL) and update the cached copy. Detects skill changes, auto-applies roles to new skills, and returns a change report.
3664
+ * @description Re-fetch the agent card from the configured agentCardUrl (or derived A2A well-known URL) and update the cached copy. Detects skill changes, auto-applies roles to new skills, and returns a change report. External-agent auth credentials remain write-only and are returned as <redacted>.
3650
3665
  */
3651
3666
  post: {
3652
3667
  parameters: {
@@ -5490,6 +5505,10 @@ interface paths {
5490
5505
  content: {
5491
5506
  "application/json": {
5492
5507
  batchExecutionId: string;
5508
+ /** @description Exact raw Runtype-funded provider and hosted-tool cost before account margin, in thousandths of a cent ($1 = 100,000), or null when historical/unpriced rows make the split unavailable. */
5509
+ billedCostThousandthsCent: number | null;
5510
+ /** @description Dollar projection of billedCostThousandthsCent (raw Runtype-funded cost before account margin), or null when the exact split is unavailable. */
5511
+ billedCostUsd: number | null;
5493
5512
  recordId: string;
5494
5513
  /** @description Portion of totalCostUsd asserted by an externally-run agent pushed to /v1/executions/ingest. Unverified: Runtype neither dispatched nor paid for it. 0 unless external runs were ingested. */
5495
5514
  selfReportedCostUsd: number;
@@ -5705,6 +5724,10 @@ interface paths {
5705
5724
  content: {
5706
5725
  "application/json": {
5707
5726
  batchExecutionId: string;
5727
+ /** @description Exact raw Runtype-funded provider and hosted-tool cost before account margin, in thousandths of a cent ($1 = 100,000), or null when historical/unpriced rows make the split unavailable. */
5728
+ billedCostThousandthsCent: number | null;
5729
+ /** @description Dollar projection of billedCostThousandthsCent (raw Runtype-funded cost before account margin), or null when the exact split is unavailable. */
5730
+ billedCostUsd: number | null;
5708
5731
  /** @description Portion of totalCostUsd asserted by an externally-run agent pushed to /v1/executions/ingest. Unverified: Runtype neither dispatched nor paid for it. 0 unless external runs were ingested. */
5709
5732
  selfReportedCostUsd: number;
5710
5733
  totalCostUsd: number;
@@ -10763,7 +10786,7 @@ interface paths {
10763
10786
  put?: never;
10764
10787
  /**
10765
10788
  * Execute a flow or agent
10766
- * @description Main dispatch endpoint for flow and agent execution with record resolution. Supports streaming via SSE or synchronous JSON responses. Send the RFC 7240 `Prefer: respond-async` header to run a Claude Managed durable-lane turn (a saved agent dispatched with a conversationId) fire-and-forget: the response is a 202 handle and the turn runs headlessly (reconnect via the executions events stream or poll the runs API).
10789
+ * @description Main dispatch endpoint for flow and agent execution with record resolution. Supports streaming via SSE or synchronous JSON responses. Send the RFC 7240 `Prefer: respond-async` header to receive a durable execution handle immediately, then poll its status URL for completion.
10767
10790
  */
10768
10791
  post: {
10769
10792
  parameters: {
@@ -10963,7 +10986,7 @@ interface paths {
10963
10986
  provider?: string;
10964
10987
  };
10965
10988
  };
10966
- clientTools?: {
10989
+ clientTools?: ({
10967
10990
  description: string;
10968
10991
  name: string;
10969
10992
  /** @enum {string} */
@@ -10976,7 +10999,13 @@ interface paths {
10976
10999
  [key: string]: unknown;
10977
11000
  };
10978
11001
  untrustedContentHint?: boolean;
10979
- }[];
11002
+ } | {
11003
+ /** @enum {string} */
11004
+ catalog: "runtype-mcp";
11005
+ name: string;
11006
+ /** @enum {string} */
11007
+ origin?: "webmcp";
11008
+ })[];
10980
11009
  clientToolsPolicy?: {
10981
11010
  allowlist?: string[];
10982
11011
  };
@@ -11079,6 +11108,7 @@ interface paths {
11079
11108
  * @enum {string}
11080
11109
  */
11081
11110
  flowMode?: "existing" | "create" | "virtual" | "upsert";
11111
+ /** @description Continuous Flow timeout. Values above 900000 ms require a Flow request detached with Prefer: respond-async; the asynchronous maximum is 1800000 ms. */
11082
11112
  flowTimeoutMs?: number;
11083
11113
  flowVersionId?: string;
11084
11114
  localInference?: {
@@ -11103,6 +11133,7 @@ interface paths {
11103
11133
  executionId: string;
11104
11134
  iteration?: number;
11105
11135
  };
11136
+ /** @description Per-step timeout. Values above 600000 ms require a Flow request detached with Prefer: respond-async; the asynchronous maximum is 1800000 ms. */
11106
11137
  stepTimeoutMs?: number;
11107
11138
  /** @default true */
11108
11139
  storeResults?: boolean;
@@ -11328,7 +11359,7 @@ interface paths {
11328
11359
  provider?: string;
11329
11360
  };
11330
11361
  };
11331
- clientTools?: {
11362
+ clientTools?: ({
11332
11363
  description: string;
11333
11364
  name: string;
11334
11365
  /** @enum {string} */
@@ -11341,7 +11372,13 @@ interface paths {
11341
11372
  [key: string]: unknown;
11342
11373
  };
11343
11374
  untrustedContentHint?: boolean;
11344
- }[];
11375
+ } | {
11376
+ /** @enum {string} */
11377
+ catalog: "runtype-mcp";
11378
+ name: string;
11379
+ /** @enum {string} */
11380
+ origin?: "webmcp";
11381
+ })[];
11345
11382
  clientToolsPolicy?: {
11346
11383
  allowlist?: string[];
11347
11384
  };
@@ -11444,6 +11481,7 @@ interface paths {
11444
11481
  * @enum {string}
11445
11482
  */
11446
11483
  flowMode?: "existing" | "create" | "virtual" | "upsert";
11484
+ /** @description Continuous Flow timeout. Values above 900000 ms require a Flow request detached with Prefer: respond-async; the asynchronous maximum is 1800000 ms. */
11447
11485
  flowTimeoutMs?: number;
11448
11486
  flowVersionId?: string;
11449
11487
  localInference?: {
@@ -11468,6 +11506,7 @@ interface paths {
11468
11506
  executionId: string;
11469
11507
  iteration?: number;
11470
11508
  };
11509
+ /** @description Per-step timeout. Values above 600000 ms require a Flow request detached with Prefer: respond-async; the asynchronous maximum is 1800000 ms. */
11471
11510
  stepTimeoutMs?: number;
11472
11511
  /** @default true */
11473
11512
  storeResults?: boolean;
@@ -11518,7 +11557,7 @@ interface paths {
11518
11557
  "text/event-stream": unknown;
11519
11558
  };
11520
11559
  };
11521
- /** @description Fire-and-forget handle for a Claude Managed durable-lane turn accepted via `Prefer: respond-async`. The turn runs headlessly; reconnect via the executions events stream or poll the runs API. Carries a `Preference-Applied: respond-async` header. */
11560
+ /** @description Durable fire-and-forget handle accepted via `Prefer: respond-async`. Poll statusUrl for completion. Carries a `Preference-Applied: respond-async` header. */
11522
11561
  202: {
11523
11562
  headers: {
11524
11563
  [name: string]: unknown;
@@ -11590,6 +11629,15 @@ interface paths {
11590
11629
  "application/json": components["schemas"]["Error"];
11591
11630
  };
11592
11631
  };
11632
+ /** @description Asynchronous execution unavailable */
11633
+ 503: {
11634
+ headers: {
11635
+ [name: string]: unknown;
11636
+ };
11637
+ content: {
11638
+ "application/json": components["schemas"]["Error"];
11639
+ };
11640
+ };
11593
11641
  };
11594
11642
  };
11595
11643
  delete?: never;
@@ -13904,7 +13952,7 @@ interface paths {
13904
13952
  put?: never;
13905
13953
  /**
13906
13954
  * Submit eval
13907
- * @description Submit a flow or agent for evaluation with model/parameter overrides. Supports both single eval and multi-model eval requests.
13955
+ * @description Submit a flow or agent eval. Hosted targets support overrides and multi-model requests; delegated external agents support one baseline config without overrides and not /eval/stream.
13908
13956
  */
13909
13957
  post: {
13910
13958
  parameters: {
@@ -15814,6 +15862,95 @@ interface paths {
15814
15862
  patch?: never;
15815
15863
  trace?: never;
15816
15864
  };
15865
+ "/v1/executions/{executionId}/status": {
15866
+ parameters: {
15867
+ query?: never;
15868
+ header?: never;
15869
+ path?: never;
15870
+ cookie?: never;
15871
+ };
15872
+ /**
15873
+ * Poll an asynchronous execution
15874
+ * @description Returns lifecycle status and, once terminal, the result of an execution accepted via `Prefer: respond-async`.
15875
+ */
15876
+ get: {
15877
+ parameters: {
15878
+ query?: never;
15879
+ header?: never;
15880
+ path: {
15881
+ executionId: string;
15882
+ };
15883
+ cookie?: never;
15884
+ };
15885
+ requestBody?: never;
15886
+ responses: {
15887
+ /** @description Execution status returned */
15888
+ 200: {
15889
+ headers: {
15890
+ [name: string]: unknown;
15891
+ };
15892
+ content: {
15893
+ "application/json": {
15894
+ createdAt: string;
15895
+ error?: string;
15896
+ executionId: string;
15897
+ httpStatus?: number;
15898
+ result?: unknown;
15899
+ /** @enum {string} */
15900
+ status: "queued" | "running" | "paused" | "completed" | "failed" | "cancelled";
15901
+ targetId?: string;
15902
+ /** @enum {string} */
15903
+ targetKind: "flow" | "agent";
15904
+ underlyingExecutionId?: string;
15905
+ };
15906
+ };
15907
+ };
15908
+ /** @description Unauthorized */
15909
+ 401: {
15910
+ headers: {
15911
+ [name: string]: unknown;
15912
+ };
15913
+ content: {
15914
+ "application/json": components["schemas"]["Error"];
15915
+ };
15916
+ };
15917
+ /** @description Insufficient API key permissions */
15918
+ 403: {
15919
+ headers: {
15920
+ [name: string]: unknown;
15921
+ };
15922
+ content: {
15923
+ "application/json": components["schemas"]["Error"];
15924
+ };
15925
+ };
15926
+ /** @description Execution not found */
15927
+ 404: {
15928
+ headers: {
15929
+ [name: string]: unknown;
15930
+ };
15931
+ content: {
15932
+ "application/json": components["schemas"]["Error"];
15933
+ };
15934
+ };
15935
+ /** @description Internal server error */
15936
+ 500: {
15937
+ headers: {
15938
+ [name: string]: unknown;
15939
+ };
15940
+ content: {
15941
+ "application/json": components["schemas"]["Error"];
15942
+ };
15943
+ };
15944
+ };
15945
+ };
15946
+ put?: never;
15947
+ post?: never;
15948
+ delete?: never;
15949
+ options?: never;
15950
+ head?: never;
15951
+ patch?: never;
15952
+ trace?: never;
15953
+ };
15817
15954
  "/v1/feedback": {
15818
15955
  parameters: {
15819
15956
  query?: never;
@@ -16859,7 +16996,7 @@ interface paths {
16859
16996
  name: string;
16860
16997
  order?: number;
16861
16998
  /** @enum {string} */
16862
- type: "prompt" | "crawl" | "fetch-url" | "retrieve-record" | "get-record" | "list-records" | "api-call" | "transform-data" | "template" | "conditional" | "set-variable" | "upsert-record" | "send-email" | "send-event" | "send-stream" | "update-record" | "search" | "generate-embedding" | "vector-search" | "tool-call" | "wait-until" | "paginate-api" | "store-vector" | "execute-agent" | "store-asset" | "generate-pdf" | "save-memory" | "recall-memory" | "memory-summary";
16999
+ type: "prompt" | "crawl" | "fetch-url" | "retrieve-record" | "get-record" | "list-records" | "api-call" | "transform-data" | "template" | "conditional" | "loop" | "set-variable" | "upsert-record" | "send-email" | "send-event" | "send-stream" | "update-record" | "search" | "generate-embedding" | "vector-search" | "tool-call" | "wait-until" | "paginate-api" | "store-vector" | "execute-agent" | "store-asset" | "generate-pdf" | "save-memory" | "recall-memory" | "memory-summary";
16863
17000
  when?: string;
16864
17001
  }[];
16865
17002
  name: string;
@@ -16871,7 +17008,7 @@ interface paths {
16871
17008
  name: string;
16872
17009
  order?: number;
16873
17010
  /** @enum {string} */
16874
- type: "prompt" | "crawl" | "fetch-url" | "retrieve-record" | "get-record" | "list-records" | "api-call" | "transform-data" | "template" | "conditional" | "set-variable" | "upsert-record" | "send-email" | "send-event" | "send-stream" | "update-record" | "search" | "generate-embedding" | "vector-search" | "tool-call" | "wait-until" | "paginate-api" | "store-vector" | "execute-agent" | "store-asset" | "generate-pdf" | "save-memory" | "recall-memory" | "memory-summary";
17011
+ type: "prompt" | "crawl" | "fetch-url" | "retrieve-record" | "get-record" | "list-records" | "api-call" | "transform-data" | "template" | "conditional" | "loop" | "set-variable" | "upsert-record" | "send-email" | "send-event" | "send-stream" | "update-record" | "search" | "generate-embedding" | "vector-search" | "tool-call" | "wait-until" | "paginate-api" | "store-vector" | "execute-agent" | "store-asset" | "generate-pdf" | "save-memory" | "recall-memory" | "memory-summary";
16875
17012
  when?: string;
16876
17013
  }[];
16877
17014
  };
@@ -17271,7 +17408,7 @@ interface paths {
17271
17408
  name: string;
17272
17409
  order?: number;
17273
17410
  /** @enum {string} */
17274
- type: "prompt" | "crawl" | "fetch-url" | "retrieve-record" | "get-record" | "list-records" | "api-call" | "transform-data" | "template" | "conditional" | "set-variable" | "upsert-record" | "send-email" | "send-event" | "send-stream" | "update-record" | "search" | "generate-embedding" | "vector-search" | "tool-call" | "wait-until" | "paginate-api" | "store-vector" | "execute-agent" | "store-asset" | "generate-pdf" | "save-memory" | "recall-memory" | "memory-summary";
17411
+ type: "prompt" | "crawl" | "fetch-url" | "retrieve-record" | "get-record" | "list-records" | "api-call" | "transform-data" | "template" | "conditional" | "loop" | "set-variable" | "upsert-record" | "send-email" | "send-event" | "send-stream" | "update-record" | "search" | "generate-embedding" | "vector-search" | "tool-call" | "wait-until" | "paginate-api" | "store-vector" | "execute-agent" | "store-asset" | "generate-pdf" | "save-memory" | "recall-memory" | "memory-summary";
17275
17412
  when?: string;
17276
17413
  }[];
17277
17414
  name?: string;
@@ -17449,7 +17586,7 @@ interface paths {
17449
17586
  *
17450
17587
  * Export a fully-resolved, self-contained flow definition that the @runtypelabs/runtime package can consume directly at boot. All step configs are inlined; no live DB queries are needed at execution time.
17451
17588
  *
17452
- * Flows containing a durable-class step (`wait-until` or `crawl`) are rejected with `422 Unprocessable Entity` (code `DURABLE_FLOW_EXPORT_UNSUPPORTED`): those steps park their pause on a Cloudflare Workflow, which cannot run inside an exported runtime artifact, so durable flows run hosted only.
17589
+ * The response carries `hostDependencies`: the runtime seams the exported artifact needs a host to wire before it can run everything it describes. A durable-class step (`wait-until` or `crawl`) anywhere in the flow's executable closure declares a `durable-pause-host` dependency; a detached-capable dynamic subagent pool or a detached inline subagent tool declares a `background-run-coordinator` dependency. The array is empty when nothing needs wiring, and the export is never refused for a declared dependency.
17453
17590
  */
17454
17591
  get: {
17455
17592
  parameters: {
@@ -17478,6 +17615,7 @@ interface paths {
17478
17615
  agentIds?: string[];
17479
17616
  };
17480
17617
  description?: string | null;
17618
+ hostDependencies: components["schemas"]["RuntimeHostDependency"][];
17481
17619
  id: string;
17482
17620
  name: string;
17483
17621
  steps: {
@@ -17522,23 +17660,6 @@ interface paths {
17522
17660
  "application/json": components["schemas"]["Error"];
17523
17661
  };
17524
17662
  };
17525
- /** @description The flow contains durable-class steps and runs hosted only (code `DURABLE_FLOW_EXPORT_UNSUPPORTED`) */
17526
- 422: {
17527
- headers: {
17528
- [name: string]: unknown;
17529
- };
17530
- content: {
17531
- "application/json": {
17532
- /** @enum {string} */
17533
- code: "DURABLE_FLOW_EXPORT_UNSUPPORTED";
17534
- durableSteps: {
17535
- stepId: string;
17536
- stepType: string;
17537
- }[];
17538
- error: string;
17539
- };
17540
- };
17541
- };
17542
17663
  /** @description Internal server error */
17543
17664
  500: {
17544
17665
  headers: {
@@ -19227,6 +19348,15 @@ interface paths {
19227
19348
  "application/json": components["schemas"]["Error"];
19228
19349
  };
19229
19350
  };
19351
+ /** @description Insufficient permissions */
19352
+ 403: {
19353
+ headers: {
19354
+ [name: string]: unknown;
19355
+ };
19356
+ content: {
19357
+ "application/json": components["schemas"]["Error"];
19358
+ };
19359
+ };
19230
19360
  /** @description Surface not found */
19231
19361
  404: {
19232
19362
  headers: {
@@ -19264,7 +19394,7 @@ interface paths {
19264
19394
  put?: never;
19265
19395
  /**
19266
19396
  * Generate Slack app manifest
19267
- * @description Generate the Slack app manifest for a surface, with absolute API URLs (events webhook, interactivity webhook, and OAuth redirect), plus a link to Slack's app-creation page. Paste the manifest into Slack's From a manifest option; Slack no longer accepts a manifest embedded in the URL. The redirect URL matches the OAuth start route byte-for-byte.
19397
+ * @description Generate the Slack app manifest for a surface, with absolute API URLs (events webhook, interactivity webhook, and OAuth redirect), plus a link to Slack's app-creation page and a hosted connect-page handoff for the human credential + OAuth step. Paste the manifest into Slack's From a manifest option; Slack no longer accepts a manifest embedded in the URL. The redirect URL matches the OAuth start route byte-for-byte. When integrationId is omitted a pending Slack integration is reserved automatically (24h TTL) and returned as integrationId. A supplied integrationId must be a live pending reservation; an already-connected, revoked, or expired one is refused with 404, so omit it to get a fresh reservation. Credentials never pass through this route.
19268
19398
  */
19269
19399
  post: {
19270
19400
  parameters: {
@@ -19276,7 +19406,7 @@ interface paths {
19276
19406
  requestBody?: {
19277
19407
  content: {
19278
19408
  "application/json": {
19279
- appName: string;
19409
+ appName?: string;
19280
19410
  includeAssistantFeatures?: boolean;
19281
19411
  integrationId?: string;
19282
19412
  surfaceId: string;
@@ -19291,9 +19421,16 @@ interface paths {
19291
19421
  };
19292
19422
  content: {
19293
19423
  "application/json": {
19424
+ connectHandoff: {
19425
+ expiresAt?: string;
19426
+ /** @enum {string} */
19427
+ type: "url";
19428
+ url: string;
19429
+ };
19294
19430
  createAppUrl: string;
19295
19431
  eventsWebhookUrl: string;
19296
- interactivityWebhookUrl?: string;
19432
+ integrationId: string;
19433
+ interactivityWebhookUrl: string;
19297
19434
  manifestJson: string;
19298
19435
  redirectUrl: string;
19299
19436
  };
@@ -23619,7 +23756,7 @@ interface paths {
23619
23756
  put?: never;
23620
23757
  /**
23621
23758
  * Resume agent handling
23622
- * @description Switch a messaging conversation from human-operator mode back to automatic agent handling.
23759
+ * @description Switch a messaging conversation from human-operator mode back to automatic agent handling. Any operator with write access to the organization may resume, including a conversation another operator took over (supervisor override); the takeover actor is audit attribution, not a lock. Returns 409 if the conversation is already in auto mode.
23623
23760
  */
23624
23761
  post: {
23625
23762
  parameters: {
@@ -23687,13 +23824,13 @@ interface paths {
23687
23824
  "application/json": components["schemas"]["Error"];
23688
23825
  };
23689
23826
  };
23690
- /** @description Conversation already in auto mode */
23827
+ /** @description Conversation is already in auto (agent) mode (ALREADY_AUTO_MODE), or its state changed concurrently and the resume did not apply (STATE_CHANGED, retryable). */
23691
23828
  409: {
23692
23829
  headers: {
23693
23830
  [name: string]: unknown;
23694
23831
  };
23695
23832
  content: {
23696
- "application/json": components["schemas"]["Error"];
23833
+ "application/json": components["schemas"]["MessagingConversationConflictError"];
23697
23834
  };
23698
23835
  };
23699
23836
  /** @description Internal server error */
@@ -23825,13 +23962,22 @@ interface paths {
23825
23962
  "application/json": components["schemas"]["Error"];
23826
23963
  };
23827
23964
  };
23828
- /** @description Conversation or surface cannot be addressed */
23965
+ /** @description Conversation mode changed concurrently: another operator resumed the conversation to automatic agent handling after this request's requireHumanMode precondition was checked but before the send committed (STATE_CHANGED). Nothing is persisted. */
23966
+ 409: {
23967
+ headers: {
23968
+ [name: string]: unknown;
23969
+ };
23970
+ content: {
23971
+ "application/json": components["schemas"]["MessagingConversationConflictError"];
23972
+ };
23973
+ };
23974
+ /** @description Conversation or surface cannot be addressed before anything is sent: no external thread/participant to reply to, or the surface type has no registered outbound channel adapter (UNSUPPORTED_SURFACE_TYPE). Nothing is persisted in either case. */
23829
23975
  422: {
23830
23976
  headers: {
23831
23977
  [name: string]: unknown;
23832
23978
  };
23833
23979
  content: {
23834
- "application/json": components["schemas"]["Error"];
23980
+ "application/json": components["schemas"]["MessagingSendUndeliverableError"];
23835
23981
  };
23836
23982
  };
23837
23983
  /** @description Internal server error */
@@ -23871,7 +24017,7 @@ interface paths {
23871
24017
  put?: never;
23872
24018
  /**
23873
24019
  * Take over conversation
23874
- * @description Switch a messaging conversation into human-operator mode so inbound messages are persisted but agent replies are suppressed.
24020
+ * @description Switch a messaging conversation into human-operator mode so inbound messages are persisted but agent replies are suppressed. The claim is atomic: when two operators take over at once, exactly one succeeds and the other receives 409 carrying the winner's takeoverActorId. A takeover lapses and the agent resumes after the surface's interventionMode.takeoverIdleTimeoutMinutes (default 24h) with no operator send; closing or reopening the conversation also clears it.
23875
24021
  */
23876
24022
  post: {
23877
24023
  parameters: {
@@ -23945,13 +24091,13 @@ interface paths {
23945
24091
  "application/json": components["schemas"]["Error"];
23946
24092
  };
23947
24093
  };
23948
- /** @description Conversation already in human mode */
24094
+ /** @description Conversation is already in human mode (ALREADY_HUMAN_MODE), or its state changed concurrently and the takeover did not apply (STATE_CHANGED, retryable). */
23949
24095
  409: {
23950
24096
  headers: {
23951
24097
  [name: string]: unknown;
23952
24098
  };
23953
24099
  content: {
23954
- "application/json": components["schemas"]["Error"];
24100
+ "application/json": components["schemas"]["MessagingConversationConflictError"];
23955
24101
  };
23956
24102
  };
23957
24103
  /** @description Internal server error */
@@ -25024,6 +25170,10 @@ interface paths {
25024
25170
  createdByUserId?: string | null;
25025
25171
  creator?: string;
25026
25172
  creatorDisplayName?: string | null;
25173
+ /** @description Plain-language discount callout for this model, e.g. "90% off". null when undiscounted. */
25174
+ creditPromoLabel?: string | null;
25175
+ /** @description Factor platform-key spend on this model is billed at while a credit promo is active (0.1 = 90% off). 1 when no discount applies. */
25176
+ creditPromoMultiplier?: number;
25027
25177
  displayName?: string;
25028
25178
  id: string;
25029
25179
  inputCostPer1kTokens?: number;
@@ -25166,6 +25316,10 @@ interface paths {
25166
25316
  createdByUserId?: string | null;
25167
25317
  creator?: string;
25168
25318
  creatorDisplayName?: string | null;
25319
+ /** @description Plain-language discount callout for this model, e.g. "90% off". null when undiscounted. */
25320
+ creditPromoLabel?: string | null;
25321
+ /** @description Factor platform-key spend on this model is billed at while a credit promo is active (0.1 = 90% off). 1 when no discount applies. */
25322
+ creditPromoMultiplier?: number;
25169
25323
  displayName?: string;
25170
25324
  id: string;
25171
25325
  inputCostPer1kTokens?: number;
@@ -25315,6 +25469,10 @@ interface paths {
25315
25469
  data: {
25316
25470
  contextLength?: number;
25317
25471
  costPer1kTokens: number;
25472
+ /** @description Plain-language discount callout, e.g. "90% off". null when undiscounted. */
25473
+ creditPromoLabel?: string | null;
25474
+ /** @description Factor platform-key spend on this model is billed at (0.1 = 90% off); 1 when undiscounted. */
25475
+ creditPromoMultiplier?: number;
25318
25476
  displayName: string;
25319
25477
  id: null;
25320
25478
  isConfigured: boolean;
@@ -25413,12 +25571,20 @@ interface paths {
25413
25571
  contextLength: number;
25414
25572
  creator: string;
25415
25573
  creatorDisplayName: string;
25574
+ /** @description Plain-language discount callout for the family, e.g. "90% off". null when undiscounted. */
25575
+ creditPromoLabel?: string | null;
25576
+ /** @description Factor platform-key spend on this model family is billed at while a credit promo is active (0.1 = 90% off). Follows the routed primary provider (a same-model failover onto another provider bills at that provider nominal price, undiscounted); 1 when undiscounted. */
25577
+ creditPromoMultiplier?: number;
25416
25578
  displayName: string;
25417
25579
  isConfigured: boolean;
25418
25580
  lowestCost: number;
25419
25581
  maxOutputTokens: number;
25420
25582
  providers: {
25421
25583
  costPer1kTokens: number;
25584
+ /** @description Plain-language discount callout, e.g. "90% off". null when undiscounted. */
25585
+ creditPromoLabel?: string | null;
25586
+ /** @description Factor platform-key spend on this listing is billed at (0.1 = 90% off); 1 when undiscounted. */
25587
+ creditPromoMultiplier?: number;
25422
25588
  hasPlatformKey: boolean;
25423
25589
  inputCostPer1kTokens: number;
25424
25590
  /** @enum {string} */
@@ -25510,6 +25676,10 @@ interface paths {
25510
25676
  content: {
25511
25677
  "application/json": {
25512
25678
  data: {
25679
+ /** @description Plain-language discount callout, e.g. "90% off". null when undiscounted (always null for the Exa entry). */
25680
+ creditPromoLabel?: string | null;
25681
+ /** @description Factor platform-key spend on this model is billed at (0.1 = 90% off); 1 when undiscounted. */
25682
+ creditPromoMultiplier?: number;
25513
25683
  displayLabel: string;
25514
25684
  id: string;
25515
25685
  /** @enum {string} */
@@ -25578,6 +25748,10 @@ interface paths {
25578
25748
  content: {
25579
25749
  "application/json": {
25580
25750
  data: {
25751
+ /** @description Plain-language discount callout, e.g. "90% off". null when undiscounted (always null for the Exa entry). */
25752
+ creditPromoLabel?: string | null;
25753
+ /** @description Factor platform-key spend on this model is billed at (0.1 = 90% off); 1 when undiscounted. */
25754
+ creditPromoMultiplier?: number;
25581
25755
  displayLabel: string;
25582
25756
  id: string;
25583
25757
  /** @enum {string} */
@@ -25772,6 +25946,10 @@ interface paths {
25772
25946
  createdByUserId?: string | null;
25773
25947
  creator?: string;
25774
25948
  creatorDisplayName?: string | null;
25949
+ /** @description Plain-language discount callout for this model, e.g. "90% off". null when undiscounted. */
25950
+ creditPromoLabel?: string | null;
25951
+ /** @description Factor platform-key spend on this model is billed at while a credit promo is active (0.1 = 90% off). 1 when no discount applies. */
25952
+ creditPromoMultiplier?: number;
25775
25953
  displayName?: string;
25776
25954
  id: string;
25777
25955
  inputCostPer1kTokens?: number;
@@ -26028,6 +26206,10 @@ interface paths {
26028
26206
  createdByUserId?: string | null;
26029
26207
  creator?: string;
26030
26208
  creatorDisplayName?: string | null;
26209
+ /** @description Plain-language discount callout for this model, e.g. "90% off". null when undiscounted. */
26210
+ creditPromoLabel?: string | null;
26211
+ /** @description Factor platform-key spend on this model is billed at while a credit promo is active (0.1 = 90% off). 1 when no discount applies. */
26212
+ creditPromoMultiplier?: number;
26031
26213
  displayName?: string;
26032
26214
  id: string;
26033
26215
  inputCostPer1kTokens?: number;
@@ -39488,6 +39670,8 @@ interface paths {
39488
39670
  };
39489
39671
  content: {
39490
39672
  "application/json": {
39673
+ /** @description Exact average raw Runtype-funded provider and hosted-tool cost before account margin over the same run count, or null when the split is unavailable. */
39674
+ avgBilledCostUsd: number | null;
39491
39675
  avgCostUsd: number | null;
39492
39676
  avgDurationMs: number | null;
39493
39677
  /** @description Portion of avgCostUsd asserted by externally-run agents pushed to /v1/executions/ingest, over the same run count. Unverified: Runtype neither dispatched nor paid for it. 0 unless external runs were ingested. */
@@ -39841,6 +40025,7 @@ interface paths {
39841
40025
  source: {
39842
40026
  description?: string;
39843
40027
  key?: string;
40028
+ keys?: string[];
39844
40029
  productId?: string;
39845
40030
  /** @enum {string} */
39846
40031
  type: "manual" | "secret" | "product";
@@ -39885,6 +40070,7 @@ interface paths {
39885
40070
  source: {
39886
40071
  description?: string;
39887
40072
  key?: string;
40073
+ keys?: string[];
39888
40074
  productId?: string;
39889
40075
  /** @enum {string} */
39890
40076
  type: "manual" | "secret" | "product";
@@ -39983,6 +40169,7 @@ interface paths {
39983
40169
  source: {
39984
40170
  description?: string;
39985
40171
  key?: string;
40172
+ keys?: string[];
39986
40173
  productId?: string;
39987
40174
  /** @enum {string} */
39988
40175
  type: "manual" | "secret" | "product";
@@ -40028,6 +40215,7 @@ interface paths {
40028
40215
  source: {
40029
40216
  description?: string;
40030
40217
  key?: string;
40218
+ keys?: string[];
40031
40219
  productId?: string;
40032
40220
  /** @enum {string} */
40033
40221
  type: "manual" | "secret" | "product";
@@ -43897,6 +44085,7 @@ interface paths {
43897
44085
  email: string | null;
43898
44086
  features: {
43899
44087
  dashboardAssistantModel: string;
44088
+ enableAgentKeyRequests: boolean;
43900
44089
  enableAgentSkills: boolean;
43901
44090
  enableChromeSurface: boolean;
43902
44091
  enableDashboardAssistant: boolean;
@@ -43907,6 +44096,7 @@ interface paths {
43907
44096
  enableSelfServeOauthClients: boolean;
43908
44097
  enableVoice: boolean;
43909
44098
  enableWorkspaceModel: boolean;
44099
+ modelCreditPromoMultiplier?: number;
43910
44100
  workspaceModelEligible: boolean;
43911
44101
  workspaceModelReady: boolean;
43912
44102
  };
@@ -44682,12 +44872,24 @@ interface components {
44682
44872
  AsyncDispatchHandle: {
44683
44873
  /** @description Present only for ephemeral inline-create dispatch. */
44684
44874
  claudeManagedAgentId?: string;
44685
- /** @description The conversation the headless turn belongs to. */
44686
- conversationId: string;
44687
- /** @description The durable execution idreconnect/poll with this. */
44875
+ /** @description Conversation id, when the request belongs to a conversation. */
44876
+ conversationId?: string;
44877
+ /** @description The durable execution handle — poll with this. */
44688
44878
  executionId: string;
44689
- /** @description Lifecycle status at acceptance (e.g. 'running'). */
44690
- status: string;
44879
+ /**
44880
+ * @description Lifecycle status at acceptance.
44881
+ * @enum {string}
44882
+ */
44883
+ status: "queued" | "running";
44884
+ /** @description Relative URL for polling this execution. */
44885
+ statusUrl: string;
44886
+ /** @description Saved flow or agent id, when known. */
44887
+ targetId?: string;
44888
+ /**
44889
+ * @description Kind of execution target.
44890
+ * @enum {string}
44891
+ */
44892
+ targetKind: "flow" | "agent";
44691
44893
  };
44692
44894
  CaptureExecutionPreview: {
44693
44895
  /** @description The recorded tool-call actions in invocation order — the fork-picker rows. */
@@ -45939,6 +46141,20 @@ interface components {
45939
46141
  /** @description 'completed' | 'failed' | 'interrupted'. */
45940
46142
  status: string;
45941
46143
  };
46144
+ MessagingConversationConflictError: components["schemas"]["Error"] & {
46145
+ /**
46146
+ * @description Machine-readable conflict reason. STATE_CHANGED is retryable.
46147
+ * @enum {string}
46148
+ */
46149
+ code: "ALREADY_HUMAN_MODE" | "ALREADY_AUTO_MODE" | "STATE_CHANGED";
46150
+ /** @description Actor holding the conversation, when one does. */
46151
+ takeoverActorId?: string | null;
46152
+ takeoverAt?: string | null;
46153
+ };
46154
+ MessagingSendUndeliverableError: components["schemas"]["Error"] & {
46155
+ /** @description Stable error code, when applicable (e.g. UNSUPPORTED_SURFACE_TYPE). */
46156
+ code?: string;
46157
+ };
45942
46158
  Pagination: {
45943
46159
  currentOffset: number;
45944
46160
  currentPage?: number;
@@ -46136,6 +46352,36 @@ interface components {
46136
46352
  error: string;
46137
46353
  message?: string;
46138
46354
  };
46355
+ RuntimeHostDependency: {
46356
+ interface: string;
46357
+ /** @enum {string} */
46358
+ kind: "durable-pause-host";
46359
+ reason: string;
46360
+ steps: {
46361
+ ownerId?: string;
46362
+ /** @enum {string} */
46363
+ ownerKind: "flow" | "agent" | "capability" | "inline-tool";
46364
+ ownerName?: string;
46365
+ stepId: string;
46366
+ stepType: string;
46367
+ }[];
46368
+ } | {
46369
+ agents: {
46370
+ ownerId?: string;
46371
+ /** @enum {string} */
46372
+ ownerKind: "flow" | "agent" | "capability" | "inline-tool";
46373
+ ownerName?: string;
46374
+ stepId?: string;
46375
+ }[];
46376
+ interface: string;
46377
+ /** @enum {string} */
46378
+ kind: "background-run-coordinator";
46379
+ reason: string;
46380
+ } | {
46381
+ interface: string;
46382
+ kind: string;
46383
+ reason: string;
46384
+ };
46139
46385
  ScheduleEntitlementError: components["schemas"]["Error"] & {
46140
46386
  /** @description Stable error code (e.g. ACTIVE_SCHEDULE_LIMIT, SCHEDULE_FREQUENCY_LIMIT). */
46141
46387
  code?: string;
@@ -46901,6 +47147,21 @@ interface TransformDataStepConfig$1 {
46901
47147
  inputMode?: 'code' | 'variable';
46902
47148
  packageJson?: string;
46903
47149
  persistSandbox?: boolean;
47150
+ /**
47151
+ * Run this step in a named sandbox instead of the per-execution default.
47152
+ *
47153
+ * Sandbox ids are scoped to your organization, and executions that share one
47154
+ * share the CONTAINER: its filesystem, its installed packages, and its
47155
+ * running processes. Left unset, each flow execution gets its own sandbox.
47156
+ *
47157
+ * A CONSTANT value therefore puts every concurrent run of the flow in one
47158
+ * container. That is not isolation: concurrent steps can read each other's
47159
+ * files and processes. They must also agree on their egress. Concurrent
47160
+ * executions sharing a sandbox id must use the same credentials and the same
47161
+ * `networkAccess`, and one that asks for a different posture fails rather
47162
+ * than inheriting the other's. Use a template (for example
47163
+ * `{{_execution.id}}`) to get a distinct sandbox per concurrent run.
47164
+ */
46904
47165
  reuseSandboxId?: string;
46905
47166
  networkAccess?: 'off' | 'on' | {
46906
47167
  allowedHostnames: string[];
@@ -46935,6 +47196,21 @@ interface ConditionalStepConfig$1 {
46935
47196
  /** JavaScript predicate evaluated at runtime. If falsy, the step is skipped. */
46936
47197
  when?: string;
46937
47198
  }
47199
+ /**
47200
+ * A do-while-style bounded loop. The body runs once, then `until` is evaluated;
47201
+ * a truthy result exits and `maxIterations` is the deterministic backstop.
47202
+ */
47203
+ interface LoopStepConfig$1 {
47204
+ name: string;
47205
+ steps: any[];
47206
+ until: string;
47207
+ maxIterations: number;
47208
+ /** Optional variable populated with the current 1-based iteration. */
47209
+ iterationVariable?: string;
47210
+ enabled?: boolean;
47211
+ /** JavaScript predicate evaluated at runtime. If falsy, the step is skipped. */
47212
+ when?: string;
47213
+ }
46938
47214
  interface SearchStepConfig$1 {
46939
47215
  name: string;
46940
47216
  provider: string;
@@ -47474,6 +47750,10 @@ declare class FlowBuilder {
47474
47750
  * Add a conditional step
47475
47751
  */
47476
47752
  conditional(config: ConditionalStepConfig$1): this;
47753
+ /**
47754
+ * Add a bounded do-while loop step.
47755
+ */
47756
+ loop(config: LoopStepConfig$1): this;
47477
47757
  /**
47478
47758
  * Add a search step
47479
47759
  */
@@ -47917,6 +48197,13 @@ interface ModelConfig {
47917
48197
  /** @deprecated Use keyStatus instead */
47918
48198
  supportsCustomKey: boolean;
47919
48199
  keyStatus?: 'platform' | 'custom' | 'needs_setup';
48200
+ /**
48201
+ * Factor platform-key spend on this model is billed at while a credit promo
48202
+ * is active (`0.1` = 90% off); `1` or absent when undiscounted.
48203
+ */
48204
+ creditPromoMultiplier?: number;
48205
+ /** Plain-language discount callout, e.g. `"90% off"`; `null`/absent when undiscounted. */
48206
+ creditPromoLabel?: string | null;
47920
48207
  costPer1kTokens?: number;
47921
48208
  contextLength?: number;
47922
48209
  maxOutputTokens?: number;
@@ -48249,6 +48536,27 @@ interface ClientToolDefinition {
48249
48536
  */
48250
48537
  untrustedContentHint?: boolean;
48251
48538
  }
48539
+ /**
48540
+ * A `clientTools[]` entry that names a tool from Runtype's own MCP catalog
48541
+ * instead of describing one. The API resolves `description` and
48542
+ * `parametersSchema` from its own copy of the catalog and admits the result as
48543
+ * `origin: 'webmcp'`, so the caller neither sends nor keeps those in sync. A
48544
+ * name the catalog does not define is a 400, never a silent drop.
48545
+ *
48546
+ * Accepted on `POST /v1/dispatch` and `POST /v1/agents/:id/execute`. The
48547
+ * client-token routes (`/v1/client/chat`, `/v1/client/resume`) take full
48548
+ * manifests only.
48549
+ */
48550
+ interface CatalogClientToolRef {
48551
+ name: string;
48552
+ catalog: 'runtype-mcp';
48553
+ origin?: 'webmcp';
48554
+ pageOrigin?: string;
48555
+ }
48556
+ /** One `clientTools[]` entry: a full manifest, or a first-party catalog ref. */
48557
+ type ClientToolEntry = ClientToolDefinition | CatalogClientToolRef;
48558
+ /** Narrow a {@link ClientToolEntry} to the name-only catalog-ref arm. */
48559
+ declare function isCatalogClientToolRef(entry: ClientToolEntry): entry is CatalogClientToolRef;
48252
48560
  /**
48253
48561
  * The canonical set of flow step types (e.g. `'prompt'`, `'transform-data'`,
48254
48562
  * `'conditional'`). Spec-derived from `FLOW_STEP_TYPES` in `@runtypelabs/shared`
@@ -48290,6 +48598,10 @@ type DispatchContinuationRequest = NonNullable<paths['/v1/dispatch/continue']['p
48290
48598
  * streaming callers receive `ExecutionStreamEvent` frames instead.
48291
48599
  */
48292
48600
  type DispatchResponse = paths['/v1/dispatch']['post']['responses'][200]['content']['application/json'];
48601
+ /** Durable handle returned by execute routes when `Prefer: respond-async` is applied. */
48602
+ type AsyncExecutionHandle = components['schemas']['AsyncDispatchHandle'];
48603
+ /** Lifecycle response returned by the generic asynchronous execution status route. */
48604
+ type AsyncExecutionStatus = paths['/v1/executions/{executionId}/status']['get']['responses'][200]['content']['application/json'];
48293
48605
  /** Buffered `/v1/dispatch/resume` response for a tool-output continuation. */
48294
48606
  type DispatchResumeResponse = components['schemas']['DispatchToolOutputContinuationJsonResponse'];
48295
48607
  /** Buffered ordinary-approval result (detached approvals use a separate variant). */
@@ -48347,9 +48659,11 @@ type DispatchRequestEnvelope = Omit<CanonicalDispatchRequestEnvelope, 'record' |
48347
48659
  /**
48348
48660
  * Kept on the historical SDK authoring type so schema-builder outputs typed
48349
48661
  * as generic records remain source-compatible. The dispatch boundary checks
48350
- * every schema root before emitting the canonical wire request.
48662
+ * every schema root before emitting the canonical wire request — a
48663
+ * {@link CatalogClientToolRef} carries no schema of its own and is passed
48664
+ * through untouched.
48351
48665
  */
48352
- clientTools?: ClientToolDefinition[];
48666
+ clientTools?: ClientToolEntry[];
48353
48667
  };
48354
48668
  /**
48355
48669
  * Canonical `/v1/dispatch` request body, generated from the API's shared
@@ -48955,6 +49269,13 @@ interface SlackOAuthStartRequest {
48955
49269
  clientId: string;
48956
49270
  clientSecret: string;
48957
49271
  signingSecret: string;
49272
+ /**
49273
+ * Slack surface (`surf_`) this install belongs to. When set, the callback
49274
+ * writes the install onto the surface and activates it server-side, so the
49275
+ * caller does not have to stamp it afterwards. Must be owned by the caller —
49276
+ * a missing or foreign id fails the start call.
49277
+ */
49278
+ surfaceId?: string;
48958
49279
  includeAssistantFeatures?: boolean;
48959
49280
  }
48960
49281
  interface SlackOAuthStartResponse {
@@ -48966,28 +49287,29 @@ interface SlackOAuthStartResponse {
48966
49287
  * OAuth redirect) derived from its own public origin — the manifest is never
48967
49288
  * built client-side, so relative proxy paths can never leak into it.
48968
49289
  */
48969
- interface SlackManifestRequest {
48970
- appName: string;
48971
- /** Surface the events webhook is scoped to. */
48972
- surfaceId: string;
48973
- /** Optional reserved integration id stamps the interactivity webhook URL. */
48974
- integrationId?: string;
48975
- includeAssistantFeatures?: boolean;
48976
- }
48977
- interface SlackManifestResponse {
48978
- /** Slack app manifest as a JSON string (snake_case, per Slack's schema). */
48979
- manifestJson: string;
48980
- /**
48981
- * Link to Slack's app-creation page (`https://api.slack.com/apps?new_app=1`).
48982
- * The manifest is NOT embedded — Slack's create-app modal ignores the
48983
- * `manifest_json` URL parameter, so paste `manifestJson` into the
48984
- * "From a manifest" option instead.
48985
- */
48986
- createAppUrl: string;
48987
- eventsWebhookUrl: string;
48988
- interactivityWebhookUrl?: string;
48989
- redirectUrl: string;
48990
- }
49290
+ /**
49291
+ * Derived from the generated OpenAPI types rather than hand-written, so a route
49292
+ * change cannot leave this interface stale. The hand-written pair previously
49293
+ * drifted: it still required `appName` and was missing `integrationId` /
49294
+ * `connectHandoff`, which made the `{ surfaceId }`-only call untypeable.
49295
+ *
49296
+ * `appName` is optional (defaults server-side to the surface's own name), and
49297
+ * `integrationId` is optional — omit it and the route reserves a pending Slack
49298
+ * integration for you (24h TTL) and returns it as `integrationId`.
49299
+ */
49300
+ type SlackManifestRequest = NonNullable<paths['/v1/integrations/slack/manifest']['post']['requestBody']>['content']['application/json'];
49301
+ /**
49302
+ * `createAppUrl` links to Slack's app-creation page
49303
+ * (`https://api.slack.com/apps?new_app=1`). The manifest is NOT embedded —
49304
+ * Slack's create-app modal ignores the `manifest_json` URL parameter, so paste
49305
+ * `manifestJson` into the "From a manifest" option instead.
49306
+ *
49307
+ * `connectHandoff` is the hosted connect page where a human supplies the Slack
49308
+ * Client ID / Client Secret / Signing Secret and runs "Add to Slack". It is
49309
+ * present only for a pending reservation; an already-active integration is
49310
+ * already connected and gets the manifest without a handoff.
49311
+ */
49312
+ type SlackManifestResponse = paths['/v1/integrations/slack/manifest']['post']['responses'][200]['content']['application/json'];
48991
49313
  interface EndUserUsageQuery {
48992
49314
  productId: string;
48993
49315
  productTenantId?: string;
@@ -49862,6 +50184,7 @@ type Message = Message$1;
49862
50184
  type NamespaceStepConfig<T> = T;
49863
50185
  type FetchUrlNamespaceConfig = NamespaceStepConfig<FetchUrlStepConfig$1>;
49864
50186
  type ConditionalNamespaceConfig = NamespaceStepConfig<ConditionalStepConfig$1>;
50187
+ type LoopNamespaceConfig = NamespaceStepConfig<LoopStepConfig$1>;
49865
50188
  type SendEventNamespaceConfig = NamespaceStepConfig<SendEventStepConfig$1>;
49866
50189
  type PromptStepConfig = NamespaceStepConfig<PromptStepConfig$1>;
49867
50190
  type CrawlStepConfig = NamespaceStepConfig<CrawlStepConfig$1>;
@@ -49881,6 +50204,9 @@ type ConditionalStepConfig = Omit<ConditionalNamespaceConfig, 'trueSteps' | 'fal
49881
50204
  trueSteps?: unknown[];
49882
50205
  falseSteps?: unknown[];
49883
50206
  };
50207
+ type LoopStepConfig = Omit<LoopNamespaceConfig, 'steps'> & {
50208
+ steps: unknown[];
50209
+ };
49884
50210
  type SearchStepConfig = NamespaceStepConfig<SearchStepConfig$1>;
49885
50211
  type SendEmailStepConfig = NamespaceStepConfig<SendEmailStepConfig$1>;
49886
50212
  type SendStreamStepConfig = NamespaceStepConfig<SendStreamStepConfig$1>;
@@ -50057,6 +50383,10 @@ declare class RuntypeFlowBuilder {
50057
50383
  * Add a conditional step
50058
50384
  */
50059
50385
  conditional(config: ConditionalStepConfig): this;
50386
+ /**
50387
+ * Add a bounded do-while loop step.
50388
+ */
50389
+ loop(config: LoopStepConfig): this;
50060
50390
  /**
50061
50391
  * Add a search step
50062
50392
  */
@@ -52040,6 +52370,13 @@ declare class AgentsNamespace {
52040
52370
  private request;
52041
52371
  }
52042
52372
 
52373
+ /** Read-only namespace for durable asynchronous execution handles. */
52374
+ declare class ExecutionsNamespace {
52375
+ private readonly getClient;
52376
+ constructor(getClient: () => RuntypeClient$1);
52377
+ getStatus(executionId: string): Promise<AsyncExecutionStatus>;
52378
+ }
52379
+
52043
52380
  /**
52044
52381
  * Tool config-as-code: `defineTool`, `tools.ensure`, `tools.pull`.
52045
52382
  *
@@ -52802,7 +53139,7 @@ declare class RuntypeClient$1 {
52802
53139
  /**
52803
53140
  * Generic POST request
52804
53141
  */
52805
- post<T>(path: string, data?: unknown): Promise<T>;
53142
+ post<T>(path: string, data?: unknown, extraHeaders?: Record<string, string>): Promise<T>;
52806
53143
  /**
52807
53144
  * Generic PUT request
52808
53145
  */
@@ -52836,6 +53173,9 @@ declare class RuntypeClient$1 {
52836
53173
  * and pins `streamResponse: false` so the server returns buffered JSON.
52837
53174
  */
52838
53175
  dispatchJson<T>(config: unknown): Promise<T>;
53176
+ /** Start a normalized dispatch and return a durable handle immediately. */
53177
+ dispatchAsync(config: unknown): Promise<AsyncExecutionHandle>;
53178
+ getExecutionStatus(executionId: string): Promise<AsyncExecutionStatus>;
52839
53179
  /**
52840
53180
  * Build full URL with query parameters
52841
53181
  */
@@ -53019,6 +53359,8 @@ declare class Runtype {
53019
53359
  * ```
53020
53360
  */
53021
53361
  static get agents(): AgentsNamespace;
53362
+ /** Poll durable handles returned by asynchronous execute operations. */
53363
+ static get executions(): ExecutionsNamespace;
53022
53364
  /**
53023
53365
  * Tools namespace - Tool config-as-code (define / ensure / pull)
53024
53366
  *
@@ -53103,6 +53445,177 @@ declare class Runtype {
53103
53445
  static get surfaces(): SurfacesNamespace;
53104
53446
  }
53105
53447
 
53448
+ /**
53449
+ * Agent API key request types.
53450
+ *
53451
+ * An agent (SDK, CLI, MCP client) FILES a request for a new, narrower Runtype
53452
+ * management API key with its existing credential. Nothing is minted. A human
53453
+ * approves it in a focused dashboard page, can only NARROW the grant, and the
53454
+ * requester then redeems it with its PKCE verifier. The key is minted AT
53455
+ * REDEMPTION and returned exactly once, so an approved-but-unclaimed request
53456
+ * never leaves a live key anywhere and the browser never sees plaintext.
53457
+ *
53458
+ * Note: these types are inlined from the internal shared package
53459
+ * (`packages/shared/src/api-key-requests.ts`, the canonical wire contract)
53460
+ * because this SDK ships with `"dependencies": {}` and must not make consumers
53461
+ * install @runtypelabs/shared — the same reason `types.ts`, `client-token-types.ts`
53462
+ * and `evals-suites.ts` mirror rather than import.
53463
+ *
53464
+ * DRIFT CONTROL — this file is the WEAK form and is meant to be temporary.
53465
+ * The package's stronger convention is to DERIVE the type from the generated
53466
+ * OpenAPI artifact (see `types.ts`: `Flow`, `RuntypeRecord`, `CreateFlowRequest`
53467
+ * are all `paths[...]` aliases), which cannot drift because
53468
+ * `pnpm --filter @runtypelabs/sdk generate:types:check` is part of the repo's
53469
+ * `check:generated` CI gate. That is not possible yet only because
53470
+ * `/v1/api-keys/requests*` does not exist in the committed spec
53471
+ * (`apps/api/openapi/public/v1/openapi.json`) at the time of writing.
53472
+ *
53473
+ * The moment those routes land and `pnpm --filter @runtypelabs/sdk generate:types`
53474
+ * regenerates `src/generated/openapi-types.ts`, REPLACE the three wire-bearing
53475
+ * declarations below with these aliases and delete the hand-written bodies:
53476
+ *
53477
+ * import type { paths } from './generated/openapi-types'
53478
+ *
53479
+ * export type ApiKeyRequest =
53480
+ * paths['/v1/api-keys/requests/{id}']['get']['responses'][200]['content']['application/json']
53481
+ * export type CreateApiKeyRequestInput =
53482
+ * paths['/v1/api-keys/requests']['post']['requestBody']['content']['application/json']
53483
+ * export type CreateApiKeyRequestResponse =
53484
+ * paths['/v1/api-keys/requests']['post']['responses'][201]['content']['application/json']
53485
+ * export type ClaimApiKeyRequestInput =
53486
+ * paths['/v1/api-keys/requests/{id}/claim']['post']['requestBody']['content']['application/json']
53487
+ * export type ClaimApiKeyRequestResponse =
53488
+ * paths['/v1/api-keys/requests/{id}/claim']['post']['responses'][200]['content']['application/json']
53489
+ *
53490
+ * (Adjust the exact status codes / `{id}` spelling to whatever the routes
53491
+ * register.) Until then, any change to `packages/shared/src/api-key-requests.ts`
53492
+ * must be mirrored here by hand.
53493
+ */
53494
+ /** Lifecycle of a request. Terminal: declined, claimed, expired, cancelled. */
53495
+ type ApiKeyRequestStatus = 'pending' | 'approved' | 'declined' | 'claimed' | 'expired' | 'cancelled';
53496
+ type ApiKeyRequestEnvironment = 'live' | 'test';
53497
+ /**
53498
+ * How the requester would like to receive the key. Recorded for the approver to
53499
+ * see; the ACTUAL delivery is chosen at claim time.
53500
+ *
53501
+ * - `secret` — stored as an org Runtype secret; only a `{{secret:KEY}}`
53502
+ * reference comes back. The value never enters a transcript.
53503
+ * - `keyfile` — the CLI writes a 0600 key file and returns only its path.
53504
+ * - `inline` — plaintext returned once from the claim response (SDK/CI).
53505
+ */
53506
+ type ApiKeyRequestDelivery = 'secret' | 'keyfile' | 'inline';
53507
+ /** Browser handoff envelope: where a human goes to decide. */
53508
+ interface ApiKeyRequestHandoff {
53509
+ type: 'url';
53510
+ url: string;
53511
+ expiresAt: string;
53512
+ }
53513
+ /** Requester identity as shown to the approver. Display only, never authorization. */
53514
+ interface ApiKeyRequestRequester {
53515
+ /** `key_…` when the request came from an API key; null for a Clerk session. */
53516
+ apiKeyId: string | null;
53517
+ apiKeyName: string | null;
53518
+ /** From the MCP client-info stash when known. */
53519
+ clientName: string | null;
53520
+ clientVersion: string | null;
53521
+ /** Effective permissions of the requesting credential, for the escalation badge. */
53522
+ permissions: string[];
53523
+ }
53524
+ interface ApiKeyRequest {
53525
+ id: string;
53526
+ organizationId: string;
53527
+ status: ApiKeyRequestStatus;
53528
+ name: string;
53529
+ /**
53530
+ * The requester's own claim about why it needs the key. Attacker-writable
53531
+ * text under prompt injection: display it, never branch on it.
53532
+ */
53533
+ reason: string;
53534
+ requestedPermissions: string[];
53535
+ /** Requested scopes the requesting credential does NOT already hold. */
53536
+ escalatedPermissions: string[];
53537
+ environment: ApiKeyRequestEnvironment;
53538
+ requestedTtlSeconds: number;
53539
+ preferredDelivery: ApiKeyRequestDelivery;
53540
+ requester: ApiKeyRequestRequester;
53541
+ grantedPermissions: string[] | null;
53542
+ grantedExpiresAt: string | null;
53543
+ decidedByUserId: string | null;
53544
+ decidedAt: string | null;
53545
+ declineReason: string | null;
53546
+ claimExpiresAt: string | null;
53547
+ claimedAt: string | null;
53548
+ mintedApiKeyId: string | null;
53549
+ expiresAt: string;
53550
+ createdAt: string;
53551
+ updatedAt: string;
53552
+ }
53553
+ /** Body of `apiKeys.requests.create`. */
53554
+ interface CreateApiKeyRequestInput {
53555
+ name: string;
53556
+ permissions: string[];
53557
+ /** Shown to the approver as the requester's claim. */
53558
+ reason: string;
53559
+ environment?: ApiKeyRequestEnvironment;
53560
+ ttlSeconds?: number;
53561
+ preferredDelivery?: ApiKeyRequestDelivery;
53562
+ /**
53563
+ * PKCE (RFC 7636) S256 challenge: `BASE64URL(SHA256(ASCII(codeVerifier)))`.
53564
+ * Keep the verifier — it is the one-time secret that redeems the request, and
53565
+ * a request id without it is worthless.
53566
+ */
53567
+ codeChallenge: string;
53568
+ codeChallengeMethod?: 'S256';
53569
+ /** Dashboard path to return the approver to after they decide. */
53570
+ returnUrl?: string;
53571
+ }
53572
+ interface CreateApiKeyRequestResponse {
53573
+ request: ApiKeyRequest;
53574
+ handoff: ApiKeyRequestHandoff;
53575
+ pollIntervalMs: number;
53576
+ /** Plain-text instructions for what to do next. Safe to surface verbatim. */
53577
+ nextSteps: string;
53578
+ }
53579
+ /** Body of `apiKeys.requests.claim`. */
53580
+ interface ClaimApiKeyRequestInput {
53581
+ codeVerifier: string;
53582
+ /** Defaults to `inline` server-side. */
53583
+ delivery?: 'inline' | 'secret';
53584
+ /** Key to store under for `secret` delivery. Defaults to `RUNTYPE_API_KEY_<NAME>`. */
53585
+ secretKey?: string;
53586
+ }
53587
+ /** Exactly one of `apiKey` / `secretRef` is present, per `delivery`. */
53588
+ interface ClaimApiKeyRequestResponse {
53589
+ request: ApiKeyRequest;
53590
+ keyId: string;
53591
+ name: string;
53592
+ environment: ApiKeyRequestEnvironment;
53593
+ permissions: string[];
53594
+ expiresAt: string | null;
53595
+ delivery: 'inline' | 'secret';
53596
+ /** Plaintext key. Present once, only for `delivery: 'inline'`. */
53597
+ apiKey?: string;
53598
+ /** `{{secret:KEY}}` reference. Present only for `delivery: 'secret'`. */
53599
+ secretRef?: string;
53600
+ secretKey?: string;
53601
+ nextSteps: string;
53602
+ }
53603
+ /**
53604
+ * `GET /v1/api-keys/requests/{id}` envelope. `handoff` is present only while
53605
+ * the request is still `pending` — once it is decided there is nothing left to
53606
+ * approve. Mirrors `getApiKeyRequestResponseSchema` in `@runtypelabs/shared`.
53607
+ */
53608
+ interface GetApiKeyRequestResponse {
53609
+ request: ApiKeyRequest;
53610
+ handoff?: ApiKeyRequestHandoff;
53611
+ }
53612
+ /** Query params for `apiKeys.requests.list` (Clerk-session surface). */
53613
+ interface ApiKeyRequestListParams {
53614
+ status?: ApiKeyRequestStatus;
53615
+ limit?: number;
53616
+ cursor?: string;
53617
+ }
53618
+
53106
53619
  /**
53107
53620
  * Client Token Types
53108
53621
  *
@@ -53539,7 +54052,7 @@ interface ApiClient {
53539
54052
  get<T>(path: string, params?: {
53540
54053
  [key: string]: any;
53541
54054
  }): Promise<T>;
53542
- post<T>(path: string, data?: any): Promise<T>;
54055
+ post<T>(path: string, data?: any, headers?: Record<string, string>): Promise<T>;
53543
54056
  put<T>(path: string, data?: any): Promise<T>;
53544
54057
  patch<T>(path: string, data?: any): Promise<T>;
53545
54058
  delete<T>(path: string, data?: any): Promise<T>;
@@ -53828,11 +54341,86 @@ declare class CollectionsEndpoint {
53828
54341
  */
53829
54342
  typegen(): Promise<string>;
53830
54343
  }
54344
+ /**
54345
+ * Agent API key REQUESTS — a device-authorization-style grant.
54346
+ *
54347
+ * The requester never mints a key: it files a request with a PKCE challenge, a
54348
+ * human approves it in the dashboard (and can only narrow the grant), and the
54349
+ * requester redeems it with the verifier. Keep the verifier — an approved
54350
+ * request without it is unclaimable, which is what makes a request id safe to
54351
+ * pass around in a URL.
54352
+ *
54353
+ * ```typescript
54354
+ * import { createHash, randomBytes } from 'node:crypto'
54355
+ *
54356
+ * const codeVerifier = randomBytes(32).toString('base64url')
54357
+ * const codeChallenge = createHash('sha256').update(codeVerifier).digest('base64url')
54358
+ *
54359
+ * const { request, handoff } = await client.apiKeys.requests.create({
54360
+ * name: 'deploy-bot',
54361
+ * permissions: ['FLOWS:READ'],
54362
+ * reason: 'Nightly deploy job needs to read flows.',
54363
+ * codeChallenge,
54364
+ * })
54365
+ * console.log(`Approve at ${handoff.url}`)
54366
+ *
54367
+ * // …after a human approves…
54368
+ * const claimed = await client.apiKeys.requests.claim(request.id, { codeVerifier })
54369
+ * ```
54370
+ */
54371
+ declare class ApiKeyRequestsEndpoint {
54372
+ private client;
54373
+ constructor(client: ApiClient);
54374
+ /**
54375
+ * File a request. Nothing is minted; the response carries the request, the
54376
+ * browser handoff a human must complete, and a suggested poll interval.
54377
+ */
54378
+ create(data: CreateApiKeyRequestInput): Promise<CreateApiKeyRequestResponse>;
54379
+ /**
54380
+ * Read one request — poll this for the approval decision.
54381
+ *
54382
+ * The route answers with the `{ request, handoff? }` envelope (the handoff is
54383
+ * present only while a human still has to act), so unwrap it the way `list()`
54384
+ * unwraps `{ requests }`. Returning the envelope raw types as `ApiKeyRequest`
54385
+ * but has no `status`, which silently reads as `undefined` in every caller's
54386
+ * state machine rather than failing anywhere near here.
54387
+ */
54388
+ get(requestId: string): Promise<ApiKeyRequest>;
54389
+ /**
54390
+ * Read one request together with its browser handoff. Same route as `get()`;
54391
+ * use this when re-raising the approval prompt for a request this process did
54392
+ * not file (the handoff is absent once the request leaves `pending`).
54393
+ */
54394
+ getWithHandoff(requestId: string): Promise<GetApiKeyRequestResponse>;
54395
+ /**
54396
+ * List requests for the account. Clerk-session surface (the human review
54397
+ * queue); an API key sees only its own requests.
54398
+ */
54399
+ list(params?: ApiKeyRequestListParams): Promise<ApiKeyRequest[]>;
54400
+ /**
54401
+ * Redeem an approved request. The key is minted here and returned exactly
54402
+ * once: `delivery: 'inline'` (the API default) puts the plaintext in
54403
+ * `apiKey`; `delivery: 'secret'` stores it as a Runtype secret and returns
54404
+ * only a `{{secret:KEY}}` reference in `secretRef`. Claiming twice is a 409.
54405
+ */
54406
+ claim(requestId: string, data: ClaimApiKeyRequestInput): Promise<ClaimApiKeyRequestResponse>;
54407
+ /** Withdraw a pending request you filed. Cannot be undone. */
54408
+ cancel(requestId: string): Promise<{
54409
+ request: ApiKeyRequest;
54410
+ }>;
54411
+ }
53831
54412
  /**
53832
54413
  * API Keys endpoint handlers
53833
54414
  */
53834
54415
  declare class ApiKeysEndpoint {
53835
54416
  private client;
54417
+ /**
54418
+ * Agent key requests (`/v1/api-keys/requests`). Use this instead of
54419
+ * {@link ApiKeysEndpoint.create} when the caller is an agent or automation:
54420
+ * `create` mints immediately and is Clerk-session only, while a request puts
54421
+ * a human in the loop and mints at redemption.
54422
+ */
54423
+ readonly requests: ApiKeyRequestsEndpoint;
53836
54424
  constructor(client: ApiClient);
53837
54425
  /**
53838
54426
  * List all API keys for the authenticated user
@@ -54032,6 +54620,8 @@ declare class DispatchEndpoint {
54032
54620
  * Dispatch: create and/or execute flows on records atomically
54033
54621
  */
54034
54622
  execute(data: DispatchRequest): Promise<any>;
54623
+ /** Start a dispatch and return its durable execution handle immediately. */
54624
+ executeAsync(data: DispatchRequest): Promise<AsyncExecutionHandle>;
54035
54625
  /**
54036
54626
  * Dispatch with streaming response
54037
54627
  */
@@ -54084,6 +54674,12 @@ declare class DispatchEndpoint {
54084
54674
  */
54085
54675
  applyGeneratedRuntimeToolProposal(request: DispatchRequest, proposal: unknown, options?: ApplyGeneratedProposalOptions): ApplyGeneratedProposalResult;
54086
54676
  }
54677
+ /** Generic asynchronous execution lifecycle endpoints. */
54678
+ declare class ExecutionsEndpoint {
54679
+ private client;
54680
+ constructor(client: ApiClient);
54681
+ getStatus(executionId: string): Promise<AsyncExecutionStatus>;
54682
+ }
54087
54683
  /**
54088
54684
  * Chat endpoint handler
54089
54685
  */
@@ -55588,6 +56184,8 @@ declare class AgentsEndpoint {
55588
56184
  * Execute an agent (non-streaming)
55589
56185
  */
55590
56186
  execute(id: string, data: AgentExecuteRequest): Promise<AgentExecuteResponse>;
56187
+ /** Start an agent execution and return its durable handle immediately. */
56188
+ executeAsync(id: string, data: AgentExecuteRequest): Promise<AsyncExecutionHandle>;
55591
56189
  /**
55592
56190
  * Execute an agent with streaming response
55593
56191
  *
@@ -56282,6 +56880,7 @@ declare class RuntypeClient implements ApiClient {
56282
56880
  modelConfigs: ModelConfigsEndpoint;
56283
56881
  providerKeys: ProviderKeysEndpoint;
56284
56882
  dispatch: DispatchEndpoint;
56883
+ executions: ExecutionsEndpoint;
56285
56884
  chat: ChatEndpoint;
56286
56885
  users: UsersEndpoint;
56287
56886
  analytics: AnalyticsEndpoint;
@@ -56355,7 +56954,7 @@ declare class RuntypeClient implements ApiClient {
56355
56954
  /**
56356
56955
  * Generic POST request
56357
56956
  */
56358
- post<T>(path: string, data?: unknown): Promise<T>;
56957
+ post<T>(path: string, data?: unknown, extraHeaders?: Record<string, string>): Promise<T>;
56359
56958
  /**
56360
56959
  * POST request with FormData support for file uploads
56361
56960
  */
@@ -57191,6 +57790,19 @@ declare const STEP_FIELD_REGISTRY: {
57191
57790
  readonly key: "falseSteps";
57192
57791
  readonly format: "value";
57193
57792
  }];
57793
+ readonly loop: readonly [{
57794
+ readonly key: "steps";
57795
+ readonly format: "value";
57796
+ }, {
57797
+ readonly key: "until";
57798
+ readonly format: "template";
57799
+ }, {
57800
+ readonly key: "maxIterations";
57801
+ readonly format: "raw";
57802
+ }, {
57803
+ readonly key: "iterationVariable";
57804
+ readonly format: "json";
57805
+ }];
57194
57806
  readonly search: readonly [{
57195
57807
  readonly key: "provider";
57196
57808
  readonly format: "json";
@@ -57581,6 +58193,7 @@ declare const STEP_TYPE_TO_METHOD: {
57581
58193
  readonly 'transform-data': "transformData";
57582
58194
  readonly template: "template";
57583
58195
  readonly conditional: "conditional";
58196
+ readonly loop: "loop";
57584
58197
  readonly 'set-variable': "setVariable";
57585
58198
  readonly 'upsert-record': "upsertRecord";
57586
58199
  readonly 'update-record': "updateRecord";
@@ -57949,4 +58562,4 @@ declare function getLikelySupportingCandidatePaths(bestCandidatePath: string | u
57949
58562
  declare function getDefaultPlanPath(taskName: string): string;
57950
58563
  declare function sanitizeTaskSlug(taskName: string): string;
57951
58564
 
57952
- export { type AIGrader, type Agent, type AgentApprovalCompleteEvent, type AgentApprovalStartEvent, type AgentCompleteEvent, type AgentDefinition, type AgentDefinitionConfig, AgentDriftError, type AgentElicitation, type AgentElicitationRequest, AgentEnsureConflictError, type AgentErrorEvent, type AgentEvent, type AgentEventType, type AgentExecuteRequest, type AgentExecuteResponse, type AgentIterationCompleteEvent, type AgentIterationStartEvent, type AgentMediaEvent, type AgentMessage, type AgentPausedEvent, type AgentPingEvent, type AgentPullResult, type AgentReflectionEvent, type AgentRuntimeToolDefinition, type AgentStartEvent, type AgentStreamCallbacks, type AgentStreamEvent, type AgentSubagentConfig, type AgentToolCompleteEvent, type AgentToolDeltaEvent, type AgentToolInputCompleteEvent, type AgentToolInputDeltaEvent, type AgentToolStartEvent, type AgentTurnCompleteEvent, type AgentTurnDeltaEvent, type AgentTurnStartEvent, type AgentVersionDetail, type AgentVersionListItem, type AgentVersionPublishResponse, AgentVersionsEndpoint, type AgentVersionsListResponse, AgentsEndpoint, AgentsNamespace, AnalyticsEndpoint, type ApiClient, type ApiKey, ApiKeysEndpoint, type ApiResponse, type ApplyGeneratedProposalOptions, type ApplyGeneratedProposalResult, type AssetReferenceContentPart, type AttachRuntimeToolsOptions, type BaseAgentEvent, BatchBuilder, type BatchClient, type BatchListParams, type BatchOptions, type BatchRequest, type BatchResult, type BatchScheduleConfig, type BatchStatus, BatchesNamespace, BillingEndpoint, type BillingSpendAnalyticsParams, type BindSkillInput, type BuiltInGraderId, type BuiltInTool, type BulkEditCondition, type BulkEditRequest, type BulkEditResponse, type BulkEditResult, type CanonicalDispatchMessageContent, type CanonicalDispatchRequest, type CaseExpected, ChatEndpoint, type CheckGrader, type ClaudeManagedEvalOverrideValues, ClientBatchBuilder, type ClientConfig, type ClientConversation, ClientEvalBuilder, ClientFlowBuilder, type ClientToken, type ClientTokenConfig, type ClientTokenEnvironment, type ClientTokenVersionPin, ClientTokensEndpoint, type ClientToolDefinition, type ClientWidgetTheme, type CollectionMeta, CollectionsEndpoint, type ConditionalGetResult, type ConditionalStepConfig$1 as ConditionalStepConfig, type ContextErrorHandling, type ContextFallback, ContextTemplatesEndpoint, type Conversation, type ConversationListItem, type ConversationListParams, type ConversationMessage, type ConversationSource, ConversationsEndpoint, type ConversationsListResponse, type CreateApiKeyRequest, type CreateClientTokenRequest, type CreateClientTokenResponse, type CreateCollectionRequest, type CreateConversationRequest, type CreateEvalSuiteInput, type CreateFlowRequest, type CreateModelConfigRequest, type CreatePromptData, type CreatePromptRequest, type CreateProviderKeyRequest, type CreateRecordRequest, type CreateScheduleRequest, type CreateSecretRequest, type CreateToolRequest, type CurrentBilledSpendResponse, type CurrentBilledSpendSource, type CustomMCPServer, type CustomMCPServerAuth, type CustomToolConfig, DEFAULT_RECOVERY_AFTER_EMPTY_SESSIONS, DEFAULT_STALL_STOP_AFTER, type DecomposeCriteriaResult, type DefineAgentInput, type DefineEvalCaseInput, type DefineEvalInput, type DefineFlowInput, type DefineProductInput, type DefineSkillInput, type DefineSurfaceInput, type DefineToolInput, type DeployCfSandboxRequest, type DeployCfSandboxResponse, type DeploySandboxRequest, type DeploySandboxResponse, type DiscoveredModel, type DispatchAgentInput, type DispatchApprovalContinuationResponse, type DispatchApproveRequest, type DispatchApproveResponse, type DispatchClient, type DispatchContinuationRequest, type DispatchContinuationResponse, type DispatchDetachedApprovalResponse, DispatchEndpoint, type DispatchEnvironment, type DispatchEvent, type DispatchFlowInput, type DispatchMessageContent, type DispatchOptions$1 as DispatchOptions, type DispatchRequest, type DispatchResponse, type DispatchResumeRequest, type DispatchResumeResponse, type EndUserUsageQuery, type EndUserUsageResponse, type EnsureAgentConverged, type EnsureAgentOptions, type EnsureAgentPlan, type EnsureAgentResult, type EnsureEvalResult, type EnsureFlowConverged, type EnsureFlowOptions, type EnsureFlowPlan, type EnsureFlowResult, type EnsureFpoOptions, type EnsureFpoResult, type EnsureProductConverged, type EnsureProductOptions, type EnsureProductPlan, type EnsureProductResult, type EnsureSkillConverged, type EnsureSkillOptions, type EnsureSkillPlan, type EnsureSkillResult, type EnsureSurfaceConverged, type EnsureSurfaceOptions, type EnsureSurfacePlan, type EnsureSurfaceResult, type EnsureToolConverged, type EnsureToolOptions, type EnsureToolPlan, type EnsureToolResult, type ErrorHandlingMode, EvalBuilder, type EvalCaseDefinition, type EvalCaseInput, type EvalCaseProposal, type EvalCaseProposalAccepted, type EvalCaseProposalListResult, type EvalCasesGenerated, type EvalClient, type EvalDefinition, EvalEndpoint, type EvalListParams, type EvalMessage, type EvalOptions, type EvalOverrideValues, type EvalProposalSource, type EvalProposalStatus, type EvalProposedCase, type EvalPullResult, type EvalRecord, type EvalRequest, type EvalResult, type EvalRunCaseScores, type EvalRunConfig, type EvalRunScores, EvalRunner, type EvalStatus, type EvalSuiteCase, type EvalSuiteCaseInput, type EvalSuiteCoverage, type EvalSuiteDetail, type EvalSuiteLatestRun, type EvalSuiteListResult, type EvalSuiteRunQueued, type EvalSuiteRunResult, type EvalSuiteSummary, EvalSuitesNamespace, type EvalTarget, EvalsNamespace, type ExecuteToolRequest, type ExecuteToolResponse, type ExecutionStreamEvent, type ExternalAgentContext, type ExternalToolConfig, type FallbackFailEvent, type FallbackStartEvent, type FallbackSuccessEvent, type FallbackTrigger, type FallbackTriggerType, type FallbacksExhaustedEvent, type FallbacksInitiatedEvent, type FetchUrlStepConfig$1 as FetchUrlStepConfig, type FieldFormat, type FileContentPart, type Flow, type FlowAttachment, FlowBuilder, type FlowCompleteEvent, type FlowConfig$1 as FlowConfig, type FlowDefinition, type FlowDefinitionStep, FlowDriftError, FlowEnsureConflictError, type FlowErrorEvent, type FlowFallback, type FlowInlineEvalInput, type FlowListItem, type FlowPausedEvent, type FlowPullResult, FlowResult, type FlowStartEvent, type FlowStep, type FlowStepDefinition, type FlowStepType, FlowStepsEndpoint, type FlowStreamEvent, type FlowSummary, type FlowToolConfig, type FlowValidationClient, type FlowValidationIssue, type FlowValidationResult, type FlowVersionDetail, type FlowVersionListItem, type FlowVersionPublishResponse, FlowVersionsEndpoint, type FlowVersionsListResponse, FlowsEndpoint, FlowsNamespace, type FpoEntityOutcome, type FpoInput, type GenerateEmbeddingStepConfig$1 as GenerateEmbeddingStepConfig, type GenerateEvalCasesInput, type GeneratedRuntimeToolGateDecision, type GeneratedRuntimeToolGateOptions, type GetRecordStepConfig$1 as GetRecordStepConfig, type Gradeable, type GraderConfig, type GraderOutcome, type GraderSeverity, type HumanVerdict, type ImageContentPart, type InferCollectionSchemaResponse, type Integration, type IntegrationTool, IntegrationsEndpoint, type IntegrationsListResponse, type JSONSchema, type JsonArray, type JsonObject, type JsonPrimitive, type JsonValue, LEDGER_ARTIFACT_LINE_PREFIX, type ListCollectionsResponse, type ListConversationsResponse, type ListParams, type ListRecordsStepConfig$1 as ListRecordsStepConfig, type LocalToolConfig, type LocalToolDefinition, type LocalToolExecutionCompleteEvent, type LocalToolExecutionLoopSnapshotSlice, type LocalToolExecutionStartEvent, type LogEntry, type LogQueryParams, type LogQueryResponse, type LogQueryResult, type LogStatsParams, type LogStatsResponse, type LogStatsResult, LogsEndpoint, type Message$1 as Message, type MessageContent, type MessageFallback, type Metadata, type ModelConfig, ModelConfigsEndpoint, type ModelFallback, type ModelOverride, type ModelUsageDetail, type ModelUsageQueryParams, type ModelUsageResponse, type ModelUsageSummary, type ModelUsageTimeSeries, type PaginationResponse, type PersistedGraderOutcome, type ProductDefinition, ProductDriftError, ProductEnsureConflictError, type ProductPullResult, ProductsNamespace, type Prompt$1 as Prompt, type PromptErrorHandling, type PromptFallback, type PromptListParams, type PromptStepConfig$1 as PromptStepConfig, PromptsEndpoint, PromptsNamespace, type ProviderApiKey, type ProviderKeyModel, ProviderKeysEndpoint, type PullFpoResult, RUNTYPE_CLIENT_KIND, type ReasoningConfig, type ReasoningContentPart, type ReasoningValue, type RecordCollection, type RecordCollectionWithHistory, type RecordCollections, type RecordConfig$1 as RecordConfig, type RecordCostAggregation, type RecordCostModelBreakdown, type RecordFilter, type RecordFilterCondition, type RecordFilterGroup, type RecordFilterOperator, type RecordListItem, type RecordListParams, type RecordStepResult, type RecordStepResultsParams, type RecordStepResultsResponse, type RecordWriteResponse, RecordsEndpoint, type RetrieveRecordStepConfig$1 as RetrieveRecordStepConfig, type RetryFallback, type RunEvalCaseResult, type RunEvalInput, type RunEvalResult, type RunTaskContextBudgetBreakdown, type RunTaskContextCompactionEvent, type RunTaskContextCompactionStrategy, type RunTaskContextNoticeEvent, type RunTaskContextSummaryEntry, type RunTaskContinuation, type RunTaskOffloadRecorder, type RunTaskOnContextCompaction, type RunTaskOnContextNotice, type RunTaskOnSession, type RunTaskOptions, type RunTaskResult, type RunTaskResumeState, type RunTaskSessionSummary, type RunTaskState, type RunTaskStateSlice, type RunTaskStatus, type RunTaskToolTraceSlice, type RuntimeCustomToolConfig, type RuntimeExternalToolConfig, type RuntimeFlowToolConfig, type RuntimeLocalToolConfig, type RuntimeSubagentToolConfig, type RuntimeTool, type RuntimeToolConfig, Runtype, type AgentSkillBinding as RuntypeAgentSkillBinding, RuntypeApiError, RuntypeClient, type ConditionalStepConfig as RuntypeConditionalStepConfig, type RuntypeConfig, type FetchUrlStepConfig as RuntypeFetchUrlStepConfig, RuntypeFlowBuilder, type FlowConfig as RuntypeFlowConfig, type GenerateEmbeddingStepConfig as RuntypeGenerateEmbeddingStepConfig, type GetRecordStepConfig as RuntypeGetRecordStepConfig, type ListRecordsStepConfig as RuntypeListRecordsStepConfig, type Message as RuntypeMessage, type ModelOverride$1 as RuntypeModelOverride, type Prompt as RuntypePrompt, type PromptStepConfig as RuntypePromptStepConfig, type RuntypeRecord, type RecordConfig as RuntypeRecordConfig, type RetrieveRecordStepConfig as RuntypeRetrieveRecordStepConfig, type SearchStepConfig as RuntypeSearchStepConfig, type SendEmailStepConfig as RuntypeSendEmailStepConfig, type SendEventStepConfig as RuntypeSendEventStepConfig, type SendStreamStepConfig as RuntypeSendStreamStepConfig, type SetVariableStepConfig as RuntypeSetVariableStepConfig, type Skill as RuntypeSkill, type SkillCapabilities as RuntypeSkillCapabilities, type SkillFrontmatter as RuntypeSkillFrontmatter, type SkillManifest as RuntypeSkillManifest, type SkillProposal as RuntypeSkillProposal, type SkillRuntypeExtensions as RuntypeSkillRuntypeExtensions, type SkillVersion as RuntypeSkillVersion, type TransformDataStepConfig as RuntypeTransformDataStepConfig, type UpsertFlowConfig as RuntypeUpsertFlowConfig, type UpsertRecordStepConfig as RuntypeUpsertRecordStepConfig, type VectorSearchStepConfig as RuntypeVectorSearchStepConfig, type WaitUntilStepConfig as RuntypeWaitUntilStepConfig, SDK_USER_AGENT, SDK_VERSION, STEP_FIELD_REGISTRY, STEP_TYPE_TO_METHOD, type Schedule, type ScheduleExecutionOptions, type ScheduleListParams, type ScheduleMessage, type ScheduleMessageSet, type ScheduleMessages, type ScheduleMutationResponse, type ScheduleRun, type ScheduleRunNowResponse, type ScheduleStatusResponse, type ScheduleTarget, type ScheduleTrigger, SchedulesEndpoint, type SearchStepConfig$1 as SearchStepConfig, type Secret, type SecretCheckResponse, type SecretDeleteResponse, type SecretSetupUrlRequest, type SecretSetupUrlResponse, SecretsEndpoint, type SelectOrganizationProviderCredentialRequest, type SelectOrganizationProviderCredentialResponse, type SendEmailStepConfig$1 as SendEmailStepConfig, type SendEventStepConfig$1 as SendEventStepConfig, type SendStreamStepConfig$1 as SendStreamStepConfig, type SetVariableStepConfig$1 as SetVariableStepConfig, type SkillDefinition, SkillDriftError, SkillEnsureConflictError, type SkillListPage, type SkillListPagination, type SkillListParams, type SkillManifestInput, type SkillMarkdownInput, type SkillOrigin, type SkillProposalStatus, SkillProposalsNamespace, type SkillPullResult, type SkillStatus, type SkillTrustLevel, type SkillVersionStatus, type SkillWithVersion, type SkillWriteInput, SkillsNamespace, type SlackInstallRequest, type SlackManifestRequest, type SlackManifestResponse, type SlackOAuthStartRequest, type SlackOAuthStartResponse, type StepCompleteEvent, type StepDeltaEvent, type StepFallback, type StepFieldMeta, type StepStartEvent, type StepWaitingLocalEvent, type StreamCallbacks, type StreamConsumeOptions, type StreamEvent, type StreamEventOf, type SubagentToolConfig, type Surface, type SurfaceDefinition, type SurfaceDefinitionEnvironment, type SurfaceDefinitionStatus, type SurfaceDefinitionType, SurfaceDriftError, SurfaceEnsureConflictError, type SurfaceListParams, type SurfacePullResult, SurfacesEndpoint, SurfacesNamespace, type TextContentPart, type Tool, type ToolApprovalGrant, ToolApprovalGrantsEndpoint, type ToolConfig, type ToolDefinition, type ToolDefinitionType, ToolDriftError, ToolEnsureConflictError, type ToolPullResult, type ToolWithValidation, type ToolsConfig, ToolsEndpoint, ToolsNamespace, type TransformDataStepConfig$1 as TransformDataStepConfig, type TypedCreateRecordRequest, type TypedRecordListItem, type TypedRecordWriteResponse, TypedRecordsScope, type TypedRuntypeRecord, UNIFIED_EVENTS_QUERY, type UpdateClientTokenRequest, type UpdateCollectionRequest, type UpdateCollectionResponse, type UpdateConversationRequest, type UpdateEvalCaseInput, type UpdateEvalSuiteInput, type UpdateFlowRequest, type UpdatePromptData, type UpdateProviderKeyRequest, type UpdateScheduleRequest, type UpdateSecretRequest, type UpdateToolRequest, type UpdatedFlow, type UpsertFlowConfig$1 as UpsertFlowConfig, type UpsertOptions, type UpsertRecordStepConfig$1 as UpsertRecordStepConfig, type UserProfile, UsersEndpoint, type ValidateExistingRecordsResponse, type VectorSearchStepConfig$1 as VectorSearchStepConfig, type VersionType, type WaitUntilStepConfig$1 as WaitUntilStepConfig, type WorkflowCompileDeps, type WorkflowCompletionCriteriaConfig, type WorkflowConfig, type WorkflowConfigFactory, type WorkflowContext, type WorkflowDefinition, type WorkflowHookEntry, type WorkflowHookKind, type WorkflowHookRef, type WorkflowHookSignatures, type WorkflowMilestoneConfig, type WorkflowPhase, type WorkflowPolicyConfig, type WorkflowRecoveryConfig, type WorkflowSlot, type WorkflowStallPolicy, applyGeneratedRuntimeToolProposalToDispatchRequest, attachRuntimeToolsToDispatchRequest, buildEmptySessionNudge, buildGeneratedRuntimeToolGateOutput, buildLedgerOffloadReference, buildPolicyGuidance, buildSendViewOffloadMarker, calledTool, compileWorkflowConfig, completed, computeAgentContentHash, computeEvalContentHash, computeFlowContentHash, computeFpoContentHash, computeProductContentHash, computeSkillContentHash, computeSurfaceContentHash, computeToolContentHash, contains, cost, createAgentEventTranslator, createClient, createExternalTool, createFlowEventTranslator, defaultWorkflow, defaultWorkflowConfig, defineAgent, defineEval, defineFlow, defineFpo, definePlaybook, defineProduct, defineSkill, defineSurface, defineTool, deployWorkflow, ensureDefaultWorkflowHooks, ensureEval, ensureFpo, evaluateGeneratedRuntimeToolProposal, extractDeclaredToolResultChars, gameWorkflow, getDefaultPlanPath, getLikelySupportingCandidatePaths, interpolateWorkflowTemplate, isDiscoveryToolName, isMarathonArtifactPath, isPreservationSensitiveTask, isUnifiedEventType, isWorkflowHookRef, jsonField, judge, judges, latency, length, listWorkflowHooks, matchesExpected, maxToolCalls, noError, normalizeAgentDefinition, normalizeCandidatePath, normalizeFpoDefinition, normalizeProductDefinition, normalizeSkillDefinition, normalizeSurfaceDefinition, normalizeToolDefinition, notCalledTool, notContains, parseFinalBuffer, parseLedgerArtifactRelativePath, parseOffloadedOutputId, parseSSEChunk, processStream, pullEval, pullFpo, ranStep, regex, registerWorkflowHook, resolveStallStopAfter, resolveWorkflowHook, runEvalSuite, sanitizeTaskSlug, shouldInjectEmptySessionNudge, shouldRequestModelEscalation, stepOrder, streamEvents, toolOrder, unregisterWorkflowHook, usedNoTools, validJson, withUnifiedEvents };
58565
+ export { type AIGrader, type Agent, type AgentApprovalCompleteEvent, type AgentApprovalStartEvent, type AgentCompleteEvent, type AgentDefinition, type AgentDefinitionConfig, AgentDriftError, type AgentElicitation, type AgentElicitationRequest, AgentEnsureConflictError, type AgentErrorEvent, type AgentEvent, type AgentEventType, type AgentExecuteRequest, type AgentExecuteResponse, type AgentIterationCompleteEvent, type AgentIterationStartEvent, type AgentMediaEvent, type AgentMessage, type AgentPausedEvent, type AgentPingEvent, type AgentPullResult, type AgentReflectionEvent, type AgentRuntimeToolDefinition, type AgentStartEvent, type AgentStreamCallbacks, type AgentStreamEvent, type AgentSubagentConfig, type AgentToolCompleteEvent, type AgentToolDeltaEvent, type AgentToolInputCompleteEvent, type AgentToolInputDeltaEvent, type AgentToolStartEvent, type AgentTurnCompleteEvent, type AgentTurnDeltaEvent, type AgentTurnStartEvent, type AgentVersionDetail, type AgentVersionListItem, type AgentVersionPublishResponse, AgentVersionsEndpoint, type AgentVersionsListResponse, AgentsEndpoint, AgentsNamespace, AnalyticsEndpoint, type ApiClient, type ApiKey, type ApiKeyRequest, type ApiKeyRequestDelivery, type ApiKeyRequestEnvironment, type ApiKeyRequestHandoff, type ApiKeyRequestListParams, type ApiKeyRequestRequester, type ApiKeyRequestStatus, ApiKeyRequestsEndpoint, ApiKeysEndpoint, type ApiResponse, type ApplyGeneratedProposalOptions, type ApplyGeneratedProposalResult, type AssetReferenceContentPart, type AsyncExecutionHandle, type AsyncExecutionStatus, type AttachRuntimeToolsOptions, type BaseAgentEvent, BatchBuilder, type BatchClient, type BatchListParams, type BatchOptions, type BatchRequest, type BatchResult, type BatchScheduleConfig, type BatchStatus, BatchesNamespace, BillingEndpoint, type BillingSpendAnalyticsParams, type BindSkillInput, type BuiltInGraderId, type BuiltInTool, type BulkEditCondition, type BulkEditRequest, type BulkEditResponse, type BulkEditResult, type CanonicalDispatchMessageContent, type CanonicalDispatchRequest, type CaseExpected, type CatalogClientToolRef, ChatEndpoint, type CheckGrader, type ClaimApiKeyRequestInput, type ClaimApiKeyRequestResponse, type ClaudeManagedEvalOverrideValues, ClientBatchBuilder, type ClientConfig, type ClientConversation, ClientEvalBuilder, ClientFlowBuilder, type ClientToken, type ClientTokenConfig, type ClientTokenEnvironment, type ClientTokenVersionPin, ClientTokensEndpoint, type ClientToolDefinition, type ClientToolEntry, type ClientWidgetTheme, type CollectionMeta, CollectionsEndpoint, type ConditionalGetResult, type ConditionalStepConfig$1 as ConditionalStepConfig, type ContextErrorHandling, type ContextFallback, ContextTemplatesEndpoint, type Conversation, type ConversationListItem, type ConversationListParams, type ConversationMessage, type ConversationSource, ConversationsEndpoint, type ConversationsListResponse, type CreateApiKeyRequest, type CreateApiKeyRequestInput, type CreateApiKeyRequestResponse, type CreateClientTokenRequest, type CreateClientTokenResponse, type CreateCollectionRequest, type CreateConversationRequest, type CreateEvalSuiteInput, type CreateFlowRequest, type CreateModelConfigRequest, type CreatePromptData, type CreatePromptRequest, type CreateProviderKeyRequest, type CreateRecordRequest, type CreateScheduleRequest, type CreateSecretRequest, type CreateToolRequest, type CurrentBilledSpendResponse, type CurrentBilledSpendSource, type CustomMCPServer, type CustomMCPServerAuth, type CustomToolConfig, DEFAULT_RECOVERY_AFTER_EMPTY_SESSIONS, DEFAULT_STALL_STOP_AFTER, type DecomposeCriteriaResult, type DefineAgentInput, type DefineEvalCaseInput, type DefineEvalInput, type DefineFlowInput, type DefineProductInput, type DefineSkillInput, type DefineSurfaceInput, type DefineToolInput, type DeployCfSandboxRequest, type DeployCfSandboxResponse, type DeploySandboxRequest, type DeploySandboxResponse, type DiscoveredModel, type DispatchAgentInput, type DispatchApprovalContinuationResponse, type DispatchApproveRequest, type DispatchApproveResponse, type DispatchClient, type DispatchContinuationRequest, type DispatchContinuationResponse, type DispatchDetachedApprovalResponse, DispatchEndpoint, type DispatchEnvironment, type DispatchEvent, type DispatchFlowInput, type DispatchMessageContent, type DispatchOptions$1 as DispatchOptions, type DispatchRequest, type DispatchResponse, type DispatchResumeRequest, type DispatchResumeResponse, type EndUserUsageQuery, type EndUserUsageResponse, type EnsureAgentConverged, type EnsureAgentOptions, type EnsureAgentPlan, type EnsureAgentResult, type EnsureEvalResult, type EnsureFlowConverged, type EnsureFlowOptions, type EnsureFlowPlan, type EnsureFlowResult, type EnsureFpoOptions, type EnsureFpoResult, type EnsureProductConverged, type EnsureProductOptions, type EnsureProductPlan, type EnsureProductResult, type EnsureSkillConverged, type EnsureSkillOptions, type EnsureSkillPlan, type EnsureSkillResult, type EnsureSurfaceConverged, type EnsureSurfaceOptions, type EnsureSurfacePlan, type EnsureSurfaceResult, type EnsureToolConverged, type EnsureToolOptions, type EnsureToolPlan, type EnsureToolResult, type ErrorHandlingMode, EvalBuilder, type EvalCaseDefinition, type EvalCaseInput, type EvalCaseProposal, type EvalCaseProposalAccepted, type EvalCaseProposalListResult, type EvalCasesGenerated, type EvalClient, type EvalDefinition, EvalEndpoint, type EvalListParams, type EvalMessage, type EvalOptions, type EvalOverrideValues, type EvalProposalSource, type EvalProposalStatus, type EvalProposedCase, type EvalPullResult, type EvalRecord, type EvalRequest, type EvalResult, type EvalRunCaseScores, type EvalRunConfig, type EvalRunScores, EvalRunner, type EvalStatus, type EvalSuiteCase, type EvalSuiteCaseInput, type EvalSuiteCoverage, type EvalSuiteDetail, type EvalSuiteLatestRun, type EvalSuiteListResult, type EvalSuiteRunQueued, type EvalSuiteRunResult, type EvalSuiteSummary, EvalSuitesNamespace, type EvalTarget, EvalsNamespace, type ExecuteToolRequest, type ExecuteToolResponse, type ExecutionStreamEvent, ExecutionsEndpoint, ExecutionsNamespace, type ExternalAgentContext, type ExternalToolConfig, type FallbackFailEvent, type FallbackStartEvent, type FallbackSuccessEvent, type FallbackTrigger, type FallbackTriggerType, type FallbacksExhaustedEvent, type FallbacksInitiatedEvent, type FetchUrlStepConfig$1 as FetchUrlStepConfig, type FieldFormat, type FileContentPart, type Flow, type FlowAttachment, FlowBuilder, type FlowCompleteEvent, type FlowConfig$1 as FlowConfig, type FlowDefinition, type FlowDefinitionStep, FlowDriftError, FlowEnsureConflictError, type FlowErrorEvent, type FlowFallback, type FlowInlineEvalInput, type FlowListItem, type FlowPausedEvent, type FlowPullResult, FlowResult, type FlowStartEvent, type FlowStep, type FlowStepDefinition, type FlowStepType, FlowStepsEndpoint, type FlowStreamEvent, type FlowSummary, type FlowToolConfig, type FlowValidationClient, type FlowValidationIssue, type FlowValidationResult, type FlowVersionDetail, type FlowVersionListItem, type FlowVersionPublishResponse, FlowVersionsEndpoint, type FlowVersionsListResponse, FlowsEndpoint, FlowsNamespace, type FpoEntityOutcome, type FpoInput, type GenerateEmbeddingStepConfig$1 as GenerateEmbeddingStepConfig, type GenerateEvalCasesInput, type GeneratedRuntimeToolGateDecision, type GeneratedRuntimeToolGateOptions, type GetApiKeyRequestResponse, type GetRecordStepConfig$1 as GetRecordStepConfig, type Gradeable, type GraderConfig, type GraderOutcome, type GraderSeverity, type HumanVerdict, type ImageContentPart, type InferCollectionSchemaResponse, type Integration, type IntegrationTool, IntegrationsEndpoint, type IntegrationsListResponse, type JSONSchema, type JsonArray, type JsonObject, type JsonPrimitive, type JsonValue, LEDGER_ARTIFACT_LINE_PREFIX, type ListCollectionsResponse, type ListConversationsResponse, type ListParams, type ListRecordsStepConfig$1 as ListRecordsStepConfig, type LocalToolConfig, type LocalToolDefinition, type LocalToolExecutionCompleteEvent, type LocalToolExecutionLoopSnapshotSlice, type LocalToolExecutionStartEvent, type LogEntry, type LogQueryParams, type LogQueryResponse, type LogQueryResult, type LogStatsParams, type LogStatsResponse, type LogStatsResult, LogsEndpoint, type LoopStepConfig$1 as LoopStepConfig, type Message$1 as Message, type MessageContent, type MessageFallback, type Metadata, type ModelConfig, ModelConfigsEndpoint, type ModelFallback, type ModelOverride, type ModelUsageDetail, type ModelUsageQueryParams, type ModelUsageResponse, type ModelUsageSummary, type ModelUsageTimeSeries, type PaginationResponse, type PersistedGraderOutcome, type ProductDefinition, ProductDriftError, ProductEnsureConflictError, type ProductPullResult, ProductsNamespace, type Prompt$1 as Prompt, type PromptErrorHandling, type PromptFallback, type PromptListParams, type PromptStepConfig$1 as PromptStepConfig, PromptsEndpoint, PromptsNamespace, type ProviderApiKey, type ProviderKeyModel, ProviderKeysEndpoint, type PullFpoResult, RUNTYPE_CLIENT_KIND, type ReasoningConfig, type ReasoningContentPart, type ReasoningValue, type RecordCollection, type RecordCollectionWithHistory, type RecordCollections, type RecordConfig$1 as RecordConfig, type RecordCostAggregation, type RecordCostModelBreakdown, type RecordFilter, type RecordFilterCondition, type RecordFilterGroup, type RecordFilterOperator, type RecordListItem, type RecordListParams, type RecordStepResult, type RecordStepResultsParams, type RecordStepResultsResponse, type RecordWriteResponse, RecordsEndpoint, type RetrieveRecordStepConfig$1 as RetrieveRecordStepConfig, type RetryFallback, type RunEvalCaseResult, type RunEvalInput, type RunEvalResult, type RunTaskContextBudgetBreakdown, type RunTaskContextCompactionEvent, type RunTaskContextCompactionStrategy, type RunTaskContextNoticeEvent, type RunTaskContextSummaryEntry, type RunTaskContinuation, type RunTaskOffloadRecorder, type RunTaskOnContextCompaction, type RunTaskOnContextNotice, type RunTaskOnSession, type RunTaskOptions, type RunTaskResult, type RunTaskResumeState, type RunTaskSessionSummary, type RunTaskState, type RunTaskStateSlice, type RunTaskStatus, type RunTaskToolTraceSlice, type RuntimeCustomToolConfig, type RuntimeExternalToolConfig, type RuntimeFlowToolConfig, type RuntimeLocalToolConfig, type RuntimeSubagentToolConfig, type RuntimeTool, type RuntimeToolConfig, Runtype, type AgentSkillBinding as RuntypeAgentSkillBinding, RuntypeApiError, RuntypeClient, type ConditionalStepConfig as RuntypeConditionalStepConfig, type RuntypeConfig, type FetchUrlStepConfig as RuntypeFetchUrlStepConfig, RuntypeFlowBuilder, type FlowConfig as RuntypeFlowConfig, type GenerateEmbeddingStepConfig as RuntypeGenerateEmbeddingStepConfig, type GetRecordStepConfig as RuntypeGetRecordStepConfig, type ListRecordsStepConfig as RuntypeListRecordsStepConfig, type LoopStepConfig as RuntypeLoopStepConfig, type Message as RuntypeMessage, type ModelOverride$1 as RuntypeModelOverride, type Prompt as RuntypePrompt, type PromptStepConfig as RuntypePromptStepConfig, type RuntypeRecord, type RecordConfig as RuntypeRecordConfig, type RetrieveRecordStepConfig as RuntypeRetrieveRecordStepConfig, type SearchStepConfig as RuntypeSearchStepConfig, type SendEmailStepConfig as RuntypeSendEmailStepConfig, type SendEventStepConfig as RuntypeSendEventStepConfig, type SendStreamStepConfig as RuntypeSendStreamStepConfig, type SetVariableStepConfig as RuntypeSetVariableStepConfig, type Skill as RuntypeSkill, type SkillCapabilities as RuntypeSkillCapabilities, type SkillFrontmatter as RuntypeSkillFrontmatter, type SkillManifest as RuntypeSkillManifest, type SkillProposal as RuntypeSkillProposal, type SkillRuntypeExtensions as RuntypeSkillRuntypeExtensions, type SkillVersion as RuntypeSkillVersion, type TransformDataStepConfig as RuntypeTransformDataStepConfig, type UpsertFlowConfig as RuntypeUpsertFlowConfig, type UpsertRecordStepConfig as RuntypeUpsertRecordStepConfig, type VectorSearchStepConfig as RuntypeVectorSearchStepConfig, type WaitUntilStepConfig as RuntypeWaitUntilStepConfig, SDK_USER_AGENT, SDK_VERSION, STEP_FIELD_REGISTRY, STEP_TYPE_TO_METHOD, type Schedule, type ScheduleExecutionOptions, type ScheduleListParams, type ScheduleMessage, type ScheduleMessageSet, type ScheduleMessages, type ScheduleMutationResponse, type ScheduleRun, type ScheduleRunNowResponse, type ScheduleStatusResponse, type ScheduleTarget, type ScheduleTrigger, SchedulesEndpoint, type SearchStepConfig$1 as SearchStepConfig, type Secret, type SecretCheckResponse, type SecretDeleteResponse, type SecretSetupUrlRequest, type SecretSetupUrlResponse, SecretsEndpoint, type SelectOrganizationProviderCredentialRequest, type SelectOrganizationProviderCredentialResponse, type SendEmailStepConfig$1 as SendEmailStepConfig, type SendEventStepConfig$1 as SendEventStepConfig, type SendStreamStepConfig$1 as SendStreamStepConfig, type SetVariableStepConfig$1 as SetVariableStepConfig, type SkillDefinition, SkillDriftError, SkillEnsureConflictError, type SkillListPage, type SkillListPagination, type SkillListParams, type SkillManifestInput, type SkillMarkdownInput, type SkillOrigin, type SkillProposalStatus, SkillProposalsNamespace, type SkillPullResult, type SkillStatus, type SkillTrustLevel, type SkillVersionStatus, type SkillWithVersion, type SkillWriteInput, SkillsNamespace, type SlackInstallRequest, type SlackManifestRequest, type SlackManifestResponse, type SlackOAuthStartRequest, type SlackOAuthStartResponse, type StepCompleteEvent, type StepDeltaEvent, type StepFallback, type StepFieldMeta, type StepStartEvent, type StepWaitingLocalEvent, type StreamCallbacks, type StreamConsumeOptions, type StreamEvent, type StreamEventOf, type SubagentToolConfig, type Surface, type SurfaceDefinition, type SurfaceDefinitionEnvironment, type SurfaceDefinitionStatus, type SurfaceDefinitionType, SurfaceDriftError, SurfaceEnsureConflictError, type SurfaceListParams, type SurfacePullResult, SurfacesEndpoint, SurfacesNamespace, type TextContentPart, type Tool, type ToolApprovalGrant, ToolApprovalGrantsEndpoint, type ToolConfig, type ToolDefinition, type ToolDefinitionType, ToolDriftError, ToolEnsureConflictError, type ToolPullResult, type ToolWithValidation, type ToolsConfig, ToolsEndpoint, ToolsNamespace, type TransformDataStepConfig$1 as TransformDataStepConfig, type TypedCreateRecordRequest, type TypedRecordListItem, type TypedRecordWriteResponse, TypedRecordsScope, type TypedRuntypeRecord, UNIFIED_EVENTS_QUERY, type UpdateClientTokenRequest, type UpdateCollectionRequest, type UpdateCollectionResponse, type UpdateConversationRequest, type UpdateEvalCaseInput, type UpdateEvalSuiteInput, type UpdateFlowRequest, type UpdatePromptData, type UpdateProviderKeyRequest, type UpdateScheduleRequest, type UpdateSecretRequest, type UpdateToolRequest, type UpdatedFlow, type UpsertFlowConfig$1 as UpsertFlowConfig, type UpsertOptions, type UpsertRecordStepConfig$1 as UpsertRecordStepConfig, type UserProfile, UsersEndpoint, type ValidateExistingRecordsResponse, type VectorSearchStepConfig$1 as VectorSearchStepConfig, type VersionType, type WaitUntilStepConfig$1 as WaitUntilStepConfig, type WorkflowCompileDeps, type WorkflowCompletionCriteriaConfig, type WorkflowConfig, type WorkflowConfigFactory, type WorkflowContext, type WorkflowDefinition, type WorkflowHookEntry, type WorkflowHookKind, type WorkflowHookRef, type WorkflowHookSignatures, type WorkflowMilestoneConfig, type WorkflowPhase, type WorkflowPolicyConfig, type WorkflowRecoveryConfig, type WorkflowSlot, type WorkflowStallPolicy, applyGeneratedRuntimeToolProposalToDispatchRequest, attachRuntimeToolsToDispatchRequest, buildEmptySessionNudge, buildGeneratedRuntimeToolGateOutput, buildLedgerOffloadReference, buildPolicyGuidance, buildSendViewOffloadMarker, calledTool, compileWorkflowConfig, completed, computeAgentContentHash, computeEvalContentHash, computeFlowContentHash, computeFpoContentHash, computeProductContentHash, computeSkillContentHash, computeSurfaceContentHash, computeToolContentHash, contains, cost, createAgentEventTranslator, createClient, createExternalTool, createFlowEventTranslator, defaultWorkflow, defaultWorkflowConfig, defineAgent, defineEval, defineFlow, defineFpo, definePlaybook, defineProduct, defineSkill, defineSurface, defineTool, deployWorkflow, ensureDefaultWorkflowHooks, ensureEval, ensureFpo, evaluateGeneratedRuntimeToolProposal, extractDeclaredToolResultChars, gameWorkflow, getDefaultPlanPath, getLikelySupportingCandidatePaths, interpolateWorkflowTemplate, isCatalogClientToolRef, isDiscoveryToolName, isMarathonArtifactPath, isPreservationSensitiveTask, isUnifiedEventType, isWorkflowHookRef, jsonField, judge, judges, latency, length, listWorkflowHooks, matchesExpected, maxToolCalls, noError, normalizeAgentDefinition, normalizeCandidatePath, normalizeFpoDefinition, normalizeProductDefinition, normalizeSkillDefinition, normalizeSurfaceDefinition, normalizeToolDefinition, notCalledTool, notContains, parseFinalBuffer, parseLedgerArtifactRelativePath, parseOffloadedOutputId, parseSSEChunk, processStream, pullEval, pullFpo, ranStep, regex, registerWorkflowHook, resolveStallStopAfter, resolveWorkflowHook, runEvalSuite, sanitizeTaskSlug, shouldInjectEmptySessionNudge, shouldRequestModelEscalation, stepOrder, streamEvents, toolOrder, unregisterWorkflowHook, usedNoTools, validJson, withUnifiedEvents };