@runtypelabs/sdk 9.9.1 → 9.10.0

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
@@ -536,6 +536,8 @@ interface paths {
536
536
  agentType?: "runtype" | "external" | "claude_managed";
537
537
  /** @description Deprecated alias for `agentType`. */
538
538
  agent_type?: "runtype" | "external" | "claude_managed";
539
+ /** @description Filter by code provenance. `true` returns only agents whose `lastModifiedSource` is `sdk` or `terraform`; `false` returns every other agent, including one with no recorded source. */
540
+ managedInCode?: "true" | "false";
539
541
  /** @description Response representation. `full` (default) preserves complete values; `compact` shortens every string value longer than 100 characters to a 100-character preview followed by `…`. */
540
542
  view?: "full" | "compact";
541
543
  };
@@ -562,8 +564,18 @@ interface paths {
562
564
  description: string | null;
563
565
  icon: string | null;
564
566
  id: string;
567
+ /** @description Which surface last wrote this agent (`sdk`, `terraform`, `dashboard`, `api`, `mcp`). `sdk` and `terraform` mean the agent is managed in code. `null` on an agent last written before provenance was recorded. */
568
+ lastModifiedSource: string | null;
565
569
  lastRunAt?: string | null;
566
570
  name: string;
571
+ sandboxCapabilityIssues?: {
572
+ /** @enum {string} */
573
+ code: "unsupported_sandbox_capability";
574
+ message: string;
575
+ path: string;
576
+ requested: string;
577
+ supported: string[];
578
+ }[];
567
579
  status: string;
568
580
  updatedAt: string;
569
581
  }[];
@@ -782,16 +794,25 @@ interface paths {
782
794
  };
783
795
  sandbox?: {
784
796
  enabled: boolean;
785
- /** @enum {string} */
797
+ /**
798
+ * @description Only standard-4 is supported on the hosted Agent Sandbox path; other sizes cannot be enabled.
799
+ * @enum {string}
800
+ */
786
801
  instanceType?: "standard-1" | "standard-2" | "standard-3" | "standard-4";
787
802
  networkAccess?: ("none" | "essentials" | "open") | {
788
803
  allow?: string[];
789
804
  /** @enum {string} */
790
805
  profile?: "none" | "essentials" | "open";
791
806
  };
792
- /** @enum {string} */
807
+ /**
808
+ * @description Supported: ephemeral or conversation. Named remains parseable for stored configs but cannot be enabled.
809
+ * @enum {string}
810
+ */
793
811
  persistence?: "ephemeral" | "conversation" | "named";
794
- /** @enum {string} */
812
+ /**
813
+ * @description Only runtype-sandbox is currently supported. Daytona is retained for stored-config parsing but rejected at authoring/execution.
814
+ * @enum {string}
815
+ */
795
816
  provider?: "runtype-sandbox" | "daytona";
796
817
  secretEnv?: {
797
818
  [key: string]: string;
@@ -1090,6 +1111,14 @@ interface paths {
1090
1111
  name: string;
1091
1112
  organizationId: string | null;
1092
1113
  publishedVersionId: string | null;
1114
+ sandboxCapabilityIssues?: {
1115
+ /** @enum {string} */
1116
+ code: "unsupported_sandbox_capability";
1117
+ message: string;
1118
+ path: string;
1119
+ requested: string;
1120
+ supported: string[];
1121
+ }[];
1093
1122
  status: string;
1094
1123
  updatedAt: string;
1095
1124
  userId: string;
@@ -1169,7 +1198,7 @@ interface paths {
1169
1198
  put?: never;
1170
1199
  /**
1171
1200
  * Ensure agent (config-as-code converge)
1172
- * @description Idempotently converge a repo-defined agent definition onto the platform. Identity is name + account scope. Hash-only probes skip the payload in the steady state (a miss is a normal 200 `definitionRequired` response, not an error); full requests create the agent or append a new version when the canonical content hash differs. Non-executing: never touches the execution pipeline. The response always carries the server-computed canonical hash. Set dryRun to plan without writing (CI drift gate), onConflict: "overwrite" to converge over dashboard/API edits, and release: "publish" to also re-aim the published-version pointer.
1201
+ * @description Idempotently converge a repo-defined agent definition onto the platform. Identity is name + account scope. Hash-only probes skip the payload in the steady state (a miss is a normal 200 `definitionRequired` response, not an error); full requests create the agent or append a new version when the canonical content hash differs. Non-executing: never touches the execution pipeline. The response always carries the server-computed canonical hash. Set dryRun to plan without writing (CI drift gate), onConflict: "overwrite" to converge over dashboard/API edits, and deploy: { alias } to atomically save and activate the definition at a release alias (release: "publish" / "none" remain compatibility spellings of deploy live / save-only, and mixing the two is a 400). A non-live deploy is alias-scoped: it appends a candidate version and moves that one pointer, and never writes the agent row, its config hash, its capabilities, its draft pointer or its live pointer, so "unchanged" is decided against the hash stored on the alias rather than against the live row. onConflict, expectedRemoteHash and managed-by-code provenance describe live-row writes and therefore do not apply to a non-live deploy; remoteHash in the response is the hash the alias carried before. The one exception is an agent name that does not exist yet: the create is the live row (there is nothing to preview against), and live is still not aimed. Optional version.label / version.notes stamp provenance (a git SHA, a release tag) on the appended version row.
1173
1202
  */
1174
1203
  post: {
1175
1204
  parameters: {
@@ -1276,16 +1305,25 @@ interface paths {
1276
1305
  };
1277
1306
  sandbox?: {
1278
1307
  enabled: boolean;
1279
- /** @enum {string} */
1308
+ /**
1309
+ * @description Only standard-4 is supported on the hosted Agent Sandbox path; other sizes cannot be enabled.
1310
+ * @enum {string}
1311
+ */
1280
1312
  instanceType?: "standard-1" | "standard-2" | "standard-3" | "standard-4";
1281
1313
  networkAccess?: ("none" | "essentials" | "open") | {
1282
1314
  allow?: string[];
1283
1315
  /** @enum {string} */
1284
1316
  profile?: "none" | "essentials" | "open";
1285
1317
  };
1286
- /** @enum {string} */
1318
+ /**
1319
+ * @description Supported: ephemeral or conversation. Named remains parseable for stored configs but cannot be enabled.
1320
+ * @enum {string}
1321
+ */
1287
1322
  persistence?: "ephemeral" | "conversation" | "named";
1288
- /** @enum {string} */
1323
+ /**
1324
+ * @description Only runtype-sandbox is currently supported. Daytona is retained for stored-config parsing but rejected at authoring/execution.
1325
+ * @enum {string}
1326
+ */
1289
1327
  provider?: "runtype-sandbox" | "daytona";
1290
1328
  secretEnv?: {
1291
1329
  [key: string]: string;
@@ -1456,13 +1494,18 @@ interface paths {
1456
1494
  icon?: string;
1457
1495
  name: string;
1458
1496
  };
1497
+ deploy?: components["schemas"]["AgentEnsureDeployTarget"];
1459
1498
  dryRun?: boolean;
1460
1499
  expectedRemoteHash?: string;
1461
1500
  name: string;
1462
1501
  /** @enum {string} */
1463
1502
  onConflict?: "error" | "overwrite";
1464
- /** @enum {string} */
1503
+ /**
1504
+ * @description Compatibility input, translated to a deploy: "publish" activates live, "none" saves without activating. Prefer deploy.
1505
+ * @enum {string}
1506
+ */
1465
1507
  release?: "none" | "publish";
1508
+ version?: components["schemas"]["EnsureVersionMetadata"];
1466
1509
  };
1467
1510
  };
1468
1511
  };
@@ -1476,233 +1519,233 @@ interface paths {
1476
1519
  "application/json": components["schemas"]["AgentEnsureResponse"];
1477
1520
  };
1478
1521
  };
1479
- /** @description Validation error (or unsupported agent type for ensure) */
1480
- 400: {
1481
- headers: {
1482
- [name: string]: unknown;
1483
- };
1484
- content: {
1485
- "application/json": components["schemas"]["Error"];
1486
- };
1487
- };
1488
- /** @description Unauthorized */
1489
- 401: {
1490
- headers: {
1491
- [name: string]: unknown;
1492
- };
1493
- content: {
1494
- "application/json": components["schemas"]["Error"];
1495
- };
1496
- };
1497
- /** @description Insufficient permissions */
1498
- 403: {
1499
- headers: {
1500
- [name: string]: unknown;
1501
- };
1502
- content: {
1503
- "application/json": components["schemas"]["Error"];
1504
- };
1505
- };
1506
- /** @description Conflict: external_modification (last write was not ensure; pass onConflict: "overwrite") or remote_changed (expectedRemoteHash guard) */
1507
- 409: {
1508
- headers: {
1509
- [name: string]: unknown;
1510
- };
1511
- content: {
1512
- "application/json": components["schemas"]["AgentEnsureConflict"];
1513
- };
1514
- };
1515
- /** @description Submitted contentHash does not match the server-recomputed canonical hash */
1516
- 422: {
1517
- headers: {
1518
- [name: string]: unknown;
1519
- };
1520
- content: {
1521
- "application/json": components["schemas"]["AgentEnsureHashMismatch"];
1522
- };
1523
- };
1524
- /** @description Internal server error */
1525
- 500: {
1526
- headers: {
1527
- [name: string]: unknown;
1528
- };
1529
- content: {
1530
- "application/json": components["schemas"]["Error"];
1531
- };
1532
- };
1533
- };
1534
- };
1535
- delete?: never;
1536
- options?: never;
1537
- head?: never;
1538
- patch?: never;
1539
- trace?: never;
1540
- };
1541
- "/v1/agents/fetch-agent-card": {
1542
- parameters: {
1543
- query?: never;
1544
- header?: never;
1545
- path?: never;
1546
- cookie?: never;
1547
- };
1548
- get?: never;
1549
- put?: never;
1550
- /**
1551
- * Fetch external agent card
1552
- * @description Proxy-fetch an external agent card from a URL, avoiding CORS issues. The URL is validated against SSRF attacks.
1553
- */
1554
- post: {
1555
- parameters: {
1556
- query?: never;
1557
- header?: never;
1558
- path?: never;
1559
- cookie?: never;
1560
- };
1561
- requestBody?: {
1562
- content: {
1563
- "application/json": {
1564
- /** Format: uri */
1565
- url: string;
1566
- };
1567
- };
1568
- };
1569
- responses: {
1570
- /** @description Agent card JSON */
1571
- 200: {
1572
- headers: {
1573
- [name: string]: unknown;
1574
- };
1575
- content: {
1576
- "application/json": {
1577
- authentication?: {
1578
- apiKeyAuth?: {
1579
- headerName?: string;
1580
- } & {
1581
- [key: string]: unknown;
1582
- };
1583
- bearerAuth?: {
1584
- scopes?: string[];
1585
- } & {
1586
- [key: string]: unknown;
1587
- };
1588
- /** @enum {string} */
1589
- type?: "bearer" | "api_key" | "none";
1590
- } & {
1591
- [key: string]: unknown;
1592
- };
1593
- capabilities?: {
1594
- pushNotifications?: boolean;
1595
- /** @enum {string} */
1596
- statefulness?: "none" | "task" | "session";
1597
- streaming?: boolean;
1598
- } & {
1599
- [key: string]: unknown;
1600
- };
1601
- description?: string;
1602
- iconUrl?: string;
1603
- name?: string;
1604
- protocolVersion?: string;
1605
- provider?: {
1606
- organization?: string;
1607
- url?: string;
1608
- } & {
1609
- [key: string]: unknown;
1610
- };
1611
- skills?: ({
1612
- description?: string;
1613
- id?: string;
1614
- inputModes?: string[];
1615
- inputSchema?: {
1616
- [key: string]: unknown;
1617
- };
1618
- name?: string;
1619
- outputModes?: string[];
1620
- } & {
1621
- [key: string]: unknown;
1622
- })[];
1623
- url?: string;
1624
- version?: string;
1625
- } & {
1626
- [key: string]: unknown;
1627
- };
1628
- };
1629
- };
1630
- /** @description Invalid URL or non-JSON response */
1631
- 400: {
1632
- headers: {
1633
- [name: string]: unknown;
1634
- };
1635
- content: {
1636
- "application/json": components["schemas"]["Error"];
1637
- };
1638
- };
1639
- /** @description Unauthorized */
1640
- 401: {
1641
- headers: {
1642
- [name: string]: unknown;
1643
- };
1644
- content: {
1645
- "application/json": components["schemas"]["Error"];
1646
- };
1647
- };
1648
- /** @description Internal server error */
1649
- 500: {
1650
- headers: {
1651
- [name: string]: unknown;
1652
- };
1653
- content: {
1654
- "application/json": components["schemas"]["Error"];
1655
- };
1656
- };
1657
- /** @description Failed to fetch agent card from remote */
1658
- 502: {
1659
- headers: {
1660
- [name: string]: unknown;
1661
- };
1662
- content: {
1663
- "application/json": components["schemas"]["Error"];
1664
- };
1665
- };
1666
- };
1667
- };
1668
- delete?: never;
1669
- options?: never;
1670
- head?: never;
1671
- patch?: never;
1672
- trace?: never;
1673
- };
1674
- "/v1/agents/pull": {
1675
- parameters: {
1676
- query?: never;
1677
- header?: never;
1678
- path?: never;
1679
- cookie?: never;
1680
- };
1681
- /**
1682
- * Pull agent definition (config-as-code)
1683
- * @description Return the canonical config-as-code definition and provenance for an agent by name — the absorb-drift direction of the ensure protocol. The contentHash is recomputed from the live agent state, so it is accurate even immediately after a dashboard edit.
1684
- */
1685
- get: {
1686
- parameters: {
1687
- query: {
1688
- name: string;
1689
- };
1690
- header?: never;
1691
- path?: never;
1692
- cookie?: never;
1693
- };
1694
- requestBody?: never;
1695
- responses: {
1696
- /** @description Canonical definition + provenance */
1697
- 200: {
1698
- headers: {
1699
- [name: string]: unknown;
1700
- };
1701
- content: {
1702
- "application/json": components["schemas"]["AgentPullResponse"];
1703
- };
1704
- };
1705
- /** @description Invalid parameters or unsupported agent type */
1522
+ /** @description Validation error, unsupported agent type, or code alias_requires_organization when a non-live deploy targets a personal-scope agent */
1523
+ 400: {
1524
+ headers: {
1525
+ [name: string]: unknown;
1526
+ };
1527
+ content: {
1528
+ "application/json": components["schemas"]["AgentEnsureBadRequest"];
1529
+ };
1530
+ };
1531
+ /** @description Unauthorized */
1532
+ 401: {
1533
+ headers: {
1534
+ [name: string]: unknown;
1535
+ };
1536
+ content: {
1537
+ "application/json": components["schemas"]["Error"];
1538
+ };
1539
+ };
1540
+ /** @description Insufficient permissions */
1541
+ 403: {
1542
+ headers: {
1543
+ [name: string]: unknown;
1544
+ };
1545
+ content: {
1546
+ "application/json": components["schemas"]["Error"];
1547
+ };
1548
+ };
1549
+ /** @description Conflict: external_modification (last write was not ensure; pass onConflict: "overwrite") or remote_changed (expectedRemoteHash guard) */
1550
+ 409: {
1551
+ headers: {
1552
+ [name: string]: unknown;
1553
+ };
1554
+ content: {
1555
+ "application/json": components["schemas"]["AgentEnsureConflict"];
1556
+ };
1557
+ };
1558
+ /** @description Submitted contentHash does not match the server-recomputed canonical hash */
1559
+ 422: {
1560
+ headers: {
1561
+ [name: string]: unknown;
1562
+ };
1563
+ content: {
1564
+ "application/json": components["schemas"]["AgentEnsureHashMismatch"];
1565
+ };
1566
+ };
1567
+ /** @description Internal server error, or code alias_activation_failed when a non-live activation could not be applied (nothing was written) */
1568
+ 500: {
1569
+ headers: {
1570
+ [name: string]: unknown;
1571
+ };
1572
+ content: {
1573
+ "application/json": components["schemas"]["AgentEnsureServerError"];
1574
+ };
1575
+ };
1576
+ };
1577
+ };
1578
+ delete?: never;
1579
+ options?: never;
1580
+ head?: never;
1581
+ patch?: never;
1582
+ trace?: never;
1583
+ };
1584
+ "/v1/agents/fetch-agent-card": {
1585
+ parameters: {
1586
+ query?: never;
1587
+ header?: never;
1588
+ path?: never;
1589
+ cookie?: never;
1590
+ };
1591
+ get?: never;
1592
+ put?: never;
1593
+ /**
1594
+ * Fetch external agent card
1595
+ * @description Proxy-fetch an external agent card from a URL, avoiding CORS issues. The URL is validated against SSRF attacks.
1596
+ */
1597
+ post: {
1598
+ parameters: {
1599
+ query?: never;
1600
+ header?: never;
1601
+ path?: never;
1602
+ cookie?: never;
1603
+ };
1604
+ requestBody?: {
1605
+ content: {
1606
+ "application/json": {
1607
+ /** Format: uri */
1608
+ url: string;
1609
+ };
1610
+ };
1611
+ };
1612
+ responses: {
1613
+ /** @description Agent card JSON */
1614
+ 200: {
1615
+ headers: {
1616
+ [name: string]: unknown;
1617
+ };
1618
+ content: {
1619
+ "application/json": {
1620
+ authentication?: {
1621
+ apiKeyAuth?: {
1622
+ headerName?: string;
1623
+ } & {
1624
+ [key: string]: unknown;
1625
+ };
1626
+ bearerAuth?: {
1627
+ scopes?: string[];
1628
+ } & {
1629
+ [key: string]: unknown;
1630
+ };
1631
+ /** @enum {string} */
1632
+ type?: "bearer" | "api_key" | "none";
1633
+ } & {
1634
+ [key: string]: unknown;
1635
+ };
1636
+ capabilities?: {
1637
+ pushNotifications?: boolean;
1638
+ /** @enum {string} */
1639
+ statefulness?: "none" | "task" | "session";
1640
+ streaming?: boolean;
1641
+ } & {
1642
+ [key: string]: unknown;
1643
+ };
1644
+ description?: string;
1645
+ iconUrl?: string;
1646
+ name?: string;
1647
+ protocolVersion?: string;
1648
+ provider?: {
1649
+ organization?: string;
1650
+ url?: string;
1651
+ } & {
1652
+ [key: string]: unknown;
1653
+ };
1654
+ skills?: ({
1655
+ description?: string;
1656
+ id?: string;
1657
+ inputModes?: string[];
1658
+ inputSchema?: {
1659
+ [key: string]: unknown;
1660
+ };
1661
+ name?: string;
1662
+ outputModes?: string[];
1663
+ } & {
1664
+ [key: string]: unknown;
1665
+ })[];
1666
+ url?: string;
1667
+ version?: string;
1668
+ } & {
1669
+ [key: string]: unknown;
1670
+ };
1671
+ };
1672
+ };
1673
+ /** @description Invalid URL or non-JSON response */
1674
+ 400: {
1675
+ headers: {
1676
+ [name: string]: unknown;
1677
+ };
1678
+ content: {
1679
+ "application/json": components["schemas"]["Error"];
1680
+ };
1681
+ };
1682
+ /** @description Unauthorized */
1683
+ 401: {
1684
+ headers: {
1685
+ [name: string]: unknown;
1686
+ };
1687
+ content: {
1688
+ "application/json": components["schemas"]["Error"];
1689
+ };
1690
+ };
1691
+ /** @description Internal server error */
1692
+ 500: {
1693
+ headers: {
1694
+ [name: string]: unknown;
1695
+ };
1696
+ content: {
1697
+ "application/json": components["schemas"]["Error"];
1698
+ };
1699
+ };
1700
+ /** @description Failed to fetch agent card from remote */
1701
+ 502: {
1702
+ headers: {
1703
+ [name: string]: unknown;
1704
+ };
1705
+ content: {
1706
+ "application/json": components["schemas"]["Error"];
1707
+ };
1708
+ };
1709
+ };
1710
+ };
1711
+ delete?: never;
1712
+ options?: never;
1713
+ head?: never;
1714
+ patch?: never;
1715
+ trace?: never;
1716
+ };
1717
+ "/v1/agents/pull": {
1718
+ parameters: {
1719
+ query?: never;
1720
+ header?: never;
1721
+ path?: never;
1722
+ cookie?: never;
1723
+ };
1724
+ /**
1725
+ * Pull agent definition (config-as-code)
1726
+ * @description Return the canonical config-as-code definition and provenance for an agent by name — the absorb-drift direction of the ensure protocol. The contentHash is recomputed from the live agent state, so it is accurate even immediately after a dashboard edit.
1727
+ */
1728
+ get: {
1729
+ parameters: {
1730
+ query: {
1731
+ name: string;
1732
+ };
1733
+ header?: never;
1734
+ path?: never;
1735
+ cookie?: never;
1736
+ };
1737
+ requestBody?: never;
1738
+ responses: {
1739
+ /** @description Canonical definition + provenance */
1740
+ 200: {
1741
+ headers: {
1742
+ [name: string]: unknown;
1743
+ };
1744
+ content: {
1745
+ "application/json": components["schemas"]["AgentPullResponse"];
1746
+ };
1747
+ };
1748
+ /** @description Invalid parameters or unsupported agent type */
1706
1749
  400: {
1707
1750
  headers: {
1708
1751
  [name: string]: unknown;
@@ -1822,6 +1865,14 @@ interface paths {
1822
1865
  name: string;
1823
1866
  organizationId: string | null;
1824
1867
  publishedVersionId: string | null;
1868
+ sandboxCapabilityIssues?: {
1869
+ /** @enum {string} */
1870
+ code: "unsupported_sandbox_capability";
1871
+ message: string;
1872
+ path: string;
1873
+ requested: string;
1874
+ supported: string[];
1875
+ }[];
1825
1876
  status: string;
1826
1877
  updatedAt: string;
1827
1878
  userId: string;
@@ -2030,16 +2081,25 @@ interface paths {
2030
2081
  };
2031
2082
  sandbox?: {
2032
2083
  enabled: boolean;
2033
- /** @enum {string} */
2084
+ /**
2085
+ * @description Only standard-4 is supported on the hosted Agent Sandbox path; other sizes cannot be enabled.
2086
+ * @enum {string}
2087
+ */
2034
2088
  instanceType?: "standard-1" | "standard-2" | "standard-3" | "standard-4";
2035
2089
  networkAccess?: ("none" | "essentials" | "open") | {
2036
2090
  allow?: string[];
2037
2091
  /** @enum {string} */
2038
2092
  profile?: "none" | "essentials" | "open";
2039
2093
  };
2040
- /** @enum {string} */
2094
+ /**
2095
+ * @description Supported: ephemeral or conversation. Named remains parseable for stored configs but cannot be enabled.
2096
+ * @enum {string}
2097
+ */
2041
2098
  persistence?: "ephemeral" | "conversation" | "named";
2042
- /** @enum {string} */
2099
+ /**
2100
+ * @description Only runtype-sandbox is currently supported. Daytona is retained for stored-config parsing but rejected at authoring/execution.
2101
+ * @enum {string}
2102
+ */
2043
2103
  provider?: "runtype-sandbox" | "daytona";
2044
2104
  secretEnv?: {
2045
2105
  [key: string]: string;
@@ -2325,6 +2385,14 @@ interface paths {
2325
2385
  name: string;
2326
2386
  organizationId: string | null;
2327
2387
  publishedVersionId: string | null;
2388
+ sandboxCapabilityIssues?: {
2389
+ /** @enum {string} */
2390
+ code: "unsupported_sandbox_capability";
2391
+ message: string;
2392
+ path: string;
2393
+ requested: string;
2394
+ supported: string[];
2395
+ }[];
2328
2396
  status: string;
2329
2397
  updatedAt: string;
2330
2398
  userId: string;
@@ -2466,6 +2534,618 @@ interface paths {
2466
2534
  patch?: never;
2467
2535
  trace?: never;
2468
2536
  };
2537
+ "/v1/agents/{id}/aliases": {
2538
+ parameters: {
2539
+ query?: never;
2540
+ header?: never;
2541
+ path?: never;
2542
+ cookie?: never;
2543
+ };
2544
+ /**
2545
+ * List release aliases for an agent
2546
+ * @description List the named pointers that select which immutable version of this agent runs. `live` sorts first, then the preview aliases by name. Archived aliases are omitted unless `includeArchived=true`. Omitting `limit` returns every pointer; supplying it pages through the same order with `cursor`.
2547
+ */
2548
+ get: {
2549
+ parameters: {
2550
+ query?: {
2551
+ /** @description Pass `true` to include archived aliases, which never resolve for execution. */
2552
+ includeArchived?: string;
2553
+ /** @description Maximum aliases to return. Omit for the full set. */
2554
+ limit?: string;
2555
+ /** @description The `nextCursor` from a previous page of this same order. */
2556
+ cursor?: string;
2557
+ };
2558
+ header?: never;
2559
+ path: {
2560
+ id: string;
2561
+ };
2562
+ cookie?: never;
2563
+ };
2564
+ requestBody?: never;
2565
+ responses: {
2566
+ /** @description Release aliases */
2567
+ 200: {
2568
+ headers: {
2569
+ [name: string]: unknown;
2570
+ };
2571
+ content: {
2572
+ "application/json": {
2573
+ data: {
2574
+ alias: string;
2575
+ archivedAt: string | null;
2576
+ contentHash: string | null;
2577
+ createdAt: string;
2578
+ expiresAt: string | null;
2579
+ label: string | null;
2580
+ revision: number;
2581
+ updatedAt: string;
2582
+ versionId: string;
2583
+ versionNumber: number | null;
2584
+ }[];
2585
+ nextCursor: string | null;
2586
+ };
2587
+ };
2588
+ };
2589
+ /** @description Invalid request */
2590
+ 400: {
2591
+ headers: {
2592
+ [name: string]: unknown;
2593
+ };
2594
+ content: {
2595
+ "application/json": components["schemas"]["Error"];
2596
+ };
2597
+ };
2598
+ /** @description Unauthorized */
2599
+ 401: {
2600
+ headers: {
2601
+ [name: string]: unknown;
2602
+ };
2603
+ content: {
2604
+ "application/json": components["schemas"]["Error"];
2605
+ };
2606
+ };
2607
+ /** @description Insufficient permissions */
2608
+ 403: {
2609
+ headers: {
2610
+ [name: string]: unknown;
2611
+ };
2612
+ content: {
2613
+ "application/json": components["schemas"]["Error"];
2614
+ };
2615
+ };
2616
+ /** @description Agent not found */
2617
+ 404: {
2618
+ headers: {
2619
+ [name: string]: unknown;
2620
+ };
2621
+ content: {
2622
+ "application/json": components["schemas"]["Error"];
2623
+ };
2624
+ };
2625
+ /** @description Internal server error */
2626
+ 500: {
2627
+ headers: {
2628
+ [name: string]: unknown;
2629
+ };
2630
+ content: {
2631
+ "application/json": components["schemas"]["Error"];
2632
+ };
2633
+ };
2634
+ };
2635
+ };
2636
+ put?: never;
2637
+ post?: never;
2638
+ delete?: never;
2639
+ options?: never;
2640
+ head?: never;
2641
+ patch?: never;
2642
+ trace?: never;
2643
+ };
2644
+ "/v1/agents/{id}/aliases/{alias}": {
2645
+ parameters: {
2646
+ query?: never;
2647
+ header?: never;
2648
+ path?: never;
2649
+ cookie?: never;
2650
+ };
2651
+ /**
2652
+ * Get one release alias
2653
+ * @description Read one pointer. A missing or archived alias answers a structured 404 naming the alias; it never falls back to live.
2654
+ */
2655
+ get: {
2656
+ parameters: {
2657
+ query?: {
2658
+ includeArchived?: string;
2659
+ };
2660
+ header?: never;
2661
+ path: {
2662
+ id: string;
2663
+ alias: string;
2664
+ };
2665
+ cookie?: never;
2666
+ };
2667
+ requestBody?: never;
2668
+ responses: {
2669
+ /** @description Release alias */
2670
+ 200: {
2671
+ headers: {
2672
+ [name: string]: unknown;
2673
+ };
2674
+ content: {
2675
+ "application/json": {
2676
+ alias: string;
2677
+ archivedAt: string | null;
2678
+ contentHash: string | null;
2679
+ createdAt: string;
2680
+ expiresAt: string | null;
2681
+ label: string | null;
2682
+ revision: number;
2683
+ updatedAt: string;
2684
+ versionId: string;
2685
+ versionNumber: number | null;
2686
+ };
2687
+ };
2688
+ };
2689
+ /** @description Invalid request */
2690
+ 400: {
2691
+ headers: {
2692
+ [name: string]: unknown;
2693
+ };
2694
+ content: {
2695
+ "application/json": components["schemas"]["Error"];
2696
+ };
2697
+ };
2698
+ /** @description Unauthorized */
2699
+ 401: {
2700
+ headers: {
2701
+ [name: string]: unknown;
2702
+ };
2703
+ content: {
2704
+ "application/json": components["schemas"]["Error"];
2705
+ };
2706
+ };
2707
+ /** @description Insufficient permissions */
2708
+ 403: {
2709
+ headers: {
2710
+ [name: string]: unknown;
2711
+ };
2712
+ content: {
2713
+ "application/json": components["schemas"]["Error"];
2714
+ };
2715
+ };
2716
+ /** @description Alias or agent not found */
2717
+ 404: {
2718
+ headers: {
2719
+ [name: string]: unknown;
2720
+ };
2721
+ content: {
2722
+ "application/json": components["schemas"]["Error"] & {
2723
+ agentId: string;
2724
+ alias: string;
2725
+ /** @enum {string} */
2726
+ code: "alias_not_found";
2727
+ };
2728
+ };
2729
+ };
2730
+ /** @description Internal server error */
2731
+ 500: {
2732
+ headers: {
2733
+ [name: string]: unknown;
2734
+ };
2735
+ content: {
2736
+ "application/json": components["schemas"]["Error"];
2737
+ };
2738
+ };
2739
+ };
2740
+ };
2741
+ /**
2742
+ * Activate a version at a release alias
2743
+ * @description Aim one alias at one immutable version of the same agent, appending a deployment receipt in the same transaction. Moving an existing `live` pointer requires the AGENTS:DEPLOY:LIVE scope and an `If-Match` revision; preview aliases require AGENTS:DEPLOY:PREVIEW. Dependency references the version names are fingerprinted first, and an unresolvable reference refuses the activation.
2744
+ */
2745
+ put: {
2746
+ parameters: {
2747
+ query?: never;
2748
+ header?: {
2749
+ /** @description The alias revision this write expects. Required on a `live` alias that already exists (428 without it) and refused with 412 when the stored revision has moved on. Optional on preview aliases and on the first `live` deployment, which has no revision yet. */
2750
+ "if-match"?: string;
2751
+ /** @description Replay key. Repeating an activation with the same key returns the receipt the first call produced instead of moving the pointer twice. */
2752
+ "idempotency-key"?: string;
2753
+ };
2754
+ path: {
2755
+ id: string;
2756
+ alias: string;
2757
+ };
2758
+ cookie?: never;
2759
+ };
2760
+ requestBody?: {
2761
+ content: {
2762
+ "application/json": {
2763
+ /** @description Why this deployment happened, recorded on the receipt for humans. Context only: nothing branches on it. */
2764
+ reason?: string;
2765
+ versionId: string;
2766
+ };
2767
+ };
2768
+ };
2769
+ responses: {
2770
+ /** @description Alias activated */
2771
+ 200: {
2772
+ headers: {
2773
+ [name: string]: unknown;
2774
+ };
2775
+ content: {
2776
+ "application/json": {
2777
+ alias: string;
2778
+ changed: boolean;
2779
+ receiptId: string;
2780
+ revision: number;
2781
+ versionId: string;
2782
+ versionNumber: number | null;
2783
+ };
2784
+ };
2785
+ };
2786
+ /** @description Invalid request */
2787
+ 400: {
2788
+ headers: {
2789
+ [name: string]: unknown;
2790
+ };
2791
+ content: {
2792
+ "application/json": components["schemas"]["Error"];
2793
+ };
2794
+ };
2795
+ /** @description Unauthorized */
2796
+ 401: {
2797
+ headers: {
2798
+ [name: string]: unknown;
2799
+ };
2800
+ content: {
2801
+ "application/json": components["schemas"]["Error"];
2802
+ };
2803
+ };
2804
+ /** @description Insufficient permissions */
2805
+ 403: {
2806
+ headers: {
2807
+ [name: string]: unknown;
2808
+ };
2809
+ content: {
2810
+ "application/json": components["schemas"]["Error"];
2811
+ };
2812
+ };
2813
+ /** @description Agent or version not found */
2814
+ 404: {
2815
+ headers: {
2816
+ [name: string]: unknown;
2817
+ };
2818
+ content: {
2819
+ "application/json": components["schemas"]["Error"];
2820
+ };
2821
+ };
2822
+ /** @description Idempotency key already used for a different activation */
2823
+ 409: {
2824
+ headers: {
2825
+ [name: string]: unknown;
2826
+ };
2827
+ content: {
2828
+ "application/json": components["schemas"]["Error"] & {
2829
+ /** @enum {string} */
2830
+ code: "idempotency_key_reused";
2831
+ };
2832
+ };
2833
+ };
2834
+ /** @description Alias revision mismatch */
2835
+ 412: {
2836
+ headers: {
2837
+ [name: string]: unknown;
2838
+ };
2839
+ content: {
2840
+ "application/json": components["schemas"]["Error"] & {
2841
+ actual: number | null;
2842
+ /** @enum {string} */
2843
+ code: "alias_revision_mismatch";
2844
+ expected: number;
2845
+ };
2846
+ };
2847
+ };
2848
+ /** @description Version references a dependency that no longer resolves */
2849
+ 422: {
2850
+ headers: {
2851
+ [name: string]: unknown;
2852
+ };
2853
+ content: {
2854
+ "application/json": components["schemas"]["Error"] & {
2855
+ /** @enum {string} */
2856
+ code: "alias_dependency_unresolved";
2857
+ refs: string[];
2858
+ };
2859
+ };
2860
+ };
2861
+ /** @description If-Match required for the live alias */
2862
+ 428: {
2863
+ headers: {
2864
+ [name: string]: unknown;
2865
+ };
2866
+ content: {
2867
+ "application/json": components["schemas"]["Error"];
2868
+ };
2869
+ };
2870
+ /** @description Internal server error */
2871
+ 500: {
2872
+ headers: {
2873
+ [name: string]: unknown;
2874
+ };
2875
+ content: {
2876
+ "application/json": components["schemas"]["Error"];
2877
+ };
2878
+ };
2879
+ };
2880
+ };
2881
+ post?: never;
2882
+ /**
2883
+ * Archive a release alias
2884
+ * @description Archive a preview alias: it stops resolving for new executions, keeps its deployment history, and does not interrupt admitted runs. The row is never deleted, so a later activation revives the same pointer. `live` cannot be archived.
2885
+ */
2886
+ delete: {
2887
+ parameters: {
2888
+ query?: never;
2889
+ header?: {
2890
+ /** @description The alias revision this write expects. Required on a `live` alias that already exists (428 without it) and refused with 412 when the stored revision has moved on. Optional on preview aliases and on the first `live` deployment, which has no revision yet. */
2891
+ "if-match"?: string;
2892
+ /** @description Replay key. Repeating an activation with the same key returns the receipt the first call produced instead of moving the pointer twice. */
2893
+ "idempotency-key"?: string;
2894
+ };
2895
+ path: {
2896
+ id: string;
2897
+ alias: string;
2898
+ };
2899
+ cookie?: never;
2900
+ };
2901
+ requestBody?: never;
2902
+ responses: {
2903
+ /** @description Alias archived */
2904
+ 200: {
2905
+ headers: {
2906
+ [name: string]: unknown;
2907
+ };
2908
+ content: {
2909
+ "application/json": {
2910
+ alias: string;
2911
+ /** @enum {boolean} */
2912
+ archived: true;
2913
+ receiptId: string;
2914
+ revision: number;
2915
+ };
2916
+ };
2917
+ };
2918
+ /** @description Invalid request */
2919
+ 400: {
2920
+ headers: {
2921
+ [name: string]: unknown;
2922
+ };
2923
+ content: {
2924
+ "application/json": components["schemas"]["Error"];
2925
+ };
2926
+ };
2927
+ /** @description Unauthorized */
2928
+ 401: {
2929
+ headers: {
2930
+ [name: string]: unknown;
2931
+ };
2932
+ content: {
2933
+ "application/json": components["schemas"]["Error"];
2934
+ };
2935
+ };
2936
+ /** @description Insufficient permissions */
2937
+ 403: {
2938
+ headers: {
2939
+ [name: string]: unknown;
2940
+ };
2941
+ content: {
2942
+ "application/json": components["schemas"]["Error"];
2943
+ };
2944
+ };
2945
+ /** @description Alias or agent not found */
2946
+ 404: {
2947
+ headers: {
2948
+ [name: string]: unknown;
2949
+ };
2950
+ content: {
2951
+ "application/json": components["schemas"]["Error"] & {
2952
+ agentId: string;
2953
+ alias: string;
2954
+ /** @enum {string} */
2955
+ code: "alias_not_found";
2956
+ };
2957
+ };
2958
+ };
2959
+ /** @description The live alias cannot be archived */
2960
+ 409: {
2961
+ headers: {
2962
+ [name: string]: unknown;
2963
+ };
2964
+ content: {
2965
+ "application/json": components["schemas"]["Error"] & {
2966
+ /** @enum {string} */
2967
+ code: "alias_archive_forbidden";
2968
+ };
2969
+ };
2970
+ };
2971
+ /** @description Alias revision mismatch */
2972
+ 412: {
2973
+ headers: {
2974
+ [name: string]: unknown;
2975
+ };
2976
+ content: {
2977
+ "application/json": components["schemas"]["Error"] & {
2978
+ actual: number | null;
2979
+ /** @enum {string} */
2980
+ code: "alias_revision_mismatch";
2981
+ expected: number;
2982
+ };
2983
+ };
2984
+ };
2985
+ /** @description Internal server error */
2986
+ 500: {
2987
+ headers: {
2988
+ [name: string]: unknown;
2989
+ };
2990
+ content: {
2991
+ "application/json": components["schemas"]["Error"];
2992
+ };
2993
+ };
2994
+ };
2995
+ };
2996
+ options?: never;
2997
+ head?: never;
2998
+ patch?: never;
2999
+ trace?: never;
3000
+ };
3001
+ "/v1/agents/{id}/aliases/{alias}/rollback": {
3002
+ parameters: {
3003
+ query?: never;
3004
+ header?: never;
3005
+ path?: never;
3006
+ cookie?: never;
3007
+ };
3008
+ get?: never;
3009
+ put?: never;
3010
+ /**
3011
+ * Roll a release alias back to its previous version
3012
+ * @description Re-aim an alias at the version recorded as `previousVersionId` on its most recent pointer-moving receipt, walking `steps` receipts back. Writes a `rollback` receipt. Rolling back `live` follows the same scope and `If-Match` rules as activation, and restores configuration only: external data and side effects are not rolled back.
3013
+ */
3014
+ post: {
3015
+ parameters: {
3016
+ query?: never;
3017
+ header?: {
3018
+ /** @description The alias revision this write expects. Required on a `live` alias that already exists (428 without it) and refused with 412 when the stored revision has moved on. Optional on preview aliases and on the first `live` deployment, which has no revision yet. */
3019
+ "if-match"?: string;
3020
+ /** @description Replay key. Repeating an activation with the same key returns the receipt the first call produced instead of moving the pointer twice. */
3021
+ "idempotency-key"?: string;
3022
+ };
3023
+ path: {
3024
+ id: string;
3025
+ alias: string;
3026
+ };
3027
+ cookie?: never;
3028
+ };
3029
+ requestBody?: {
3030
+ content: {
3031
+ "application/json": {
3032
+ reason?: string;
3033
+ /** @default 1 */
3034
+ steps?: number;
3035
+ };
3036
+ };
3037
+ };
3038
+ responses: {
3039
+ /** @description Alias rolled back */
3040
+ 200: {
3041
+ headers: {
3042
+ [name: string]: unknown;
3043
+ };
3044
+ content: {
3045
+ "application/json": {
3046
+ alias: string;
3047
+ changed: boolean;
3048
+ receiptId: string;
3049
+ revision: number;
3050
+ versionId: string;
3051
+ versionNumber: number | null;
3052
+ };
3053
+ };
3054
+ };
3055
+ /** @description Invalid request */
3056
+ 400: {
3057
+ headers: {
3058
+ [name: string]: unknown;
3059
+ };
3060
+ content: {
3061
+ "application/json": components["schemas"]["Error"];
3062
+ };
3063
+ };
3064
+ /** @description Unauthorized */
3065
+ 401: {
3066
+ headers: {
3067
+ [name: string]: unknown;
3068
+ };
3069
+ content: {
3070
+ "application/json": components["schemas"]["Error"];
3071
+ };
3072
+ };
3073
+ /** @description Insufficient permissions */
3074
+ 403: {
3075
+ headers: {
3076
+ [name: string]: unknown;
3077
+ };
3078
+ content: {
3079
+ "application/json": components["schemas"]["Error"];
3080
+ };
3081
+ };
3082
+ /** @description Alias, agent, or rollback target not found */
3083
+ 404: {
3084
+ headers: {
3085
+ [name: string]: unknown;
3086
+ };
3087
+ content: {
3088
+ "application/json": components["schemas"]["Error"] & {
3089
+ agentId: string;
3090
+ alias: string;
3091
+ /** @enum {string} */
3092
+ code: "alias_not_found";
3093
+ };
3094
+ };
3095
+ };
3096
+ /** @description Alias revision mismatch */
3097
+ 412: {
3098
+ headers: {
3099
+ [name: string]: unknown;
3100
+ };
3101
+ content: {
3102
+ "application/json": components["schemas"]["Error"] & {
3103
+ actual: number | null;
3104
+ /** @enum {string} */
3105
+ code: "alias_revision_mismatch";
3106
+ expected: number;
3107
+ };
3108
+ };
3109
+ };
3110
+ /** @description Target version references a dependency that no longer resolves */
3111
+ 422: {
3112
+ headers: {
3113
+ [name: string]: unknown;
3114
+ };
3115
+ content: {
3116
+ "application/json": components["schemas"]["Error"] & {
3117
+ /** @enum {string} */
3118
+ code: "alias_dependency_unresolved";
3119
+ refs: string[];
3120
+ };
3121
+ };
3122
+ };
3123
+ /** @description If-Match required for the live alias */
3124
+ 428: {
3125
+ headers: {
3126
+ [name: string]: unknown;
3127
+ };
3128
+ content: {
3129
+ "application/json": components["schemas"]["Error"];
3130
+ };
3131
+ };
3132
+ /** @description Internal server error */
3133
+ 500: {
3134
+ headers: {
3135
+ [name: string]: unknown;
3136
+ };
3137
+ content: {
3138
+ "application/json": components["schemas"]["Error"];
3139
+ };
3140
+ };
3141
+ };
3142
+ };
3143
+ delete?: never;
3144
+ options?: never;
3145
+ head?: never;
3146
+ patch?: never;
3147
+ trace?: never;
3148
+ };
2469
3149
  "/v1/agents/{id}/approve": {
2470
3150
  parameters: {
2471
3151
  query?: never;
@@ -2887,6 +3567,116 @@ interface paths {
2887
3567
  patch?: never;
2888
3568
  trace?: never;
2889
3569
  };
3570
+ "/v1/agents/{id}/deployments": {
3571
+ parameters: {
3572
+ query?: never;
3573
+ header?: never;
3574
+ path?: never;
3575
+ cookie?: never;
3576
+ };
3577
+ /**
3578
+ * List deployment receipts for an agent
3579
+ * @description The append-only deployment history of this agent, newest first, cursor-paginated. Each receipt records the pointer, the previous and new versions, the alias revision, the actor, provenance and the dependency fingerprints checked at activation.
3580
+ */
3581
+ get: {
3582
+ parameters: {
3583
+ query?: {
3584
+ alias?: string;
3585
+ limit?: string;
3586
+ cursor?: string;
3587
+ };
3588
+ header?: never;
3589
+ path: {
3590
+ id: string;
3591
+ };
3592
+ cookie?: never;
3593
+ };
3594
+ requestBody?: never;
3595
+ responses: {
3596
+ /** @description Deployment receipts */
3597
+ 200: {
3598
+ headers: {
3599
+ [name: string]: unknown;
3600
+ };
3601
+ content: {
3602
+ "application/json": {
3603
+ data: {
3604
+ action: string;
3605
+ actorUserId: string | null;
3606
+ alias: string;
3607
+ aliasRevision: number;
3608
+ createdAt: string;
3609
+ dependencies: {
3610
+ [key: string]: unknown;
3611
+ } | null;
3612
+ id: string;
3613
+ previousVersionId: string | null;
3614
+ source: {
3615
+ [key: string]: unknown;
3616
+ };
3617
+ versionId: string;
3618
+ }[];
3619
+ pagination: {
3620
+ [key: string]: unknown;
3621
+ };
3622
+ };
3623
+ };
3624
+ };
3625
+ /** @description Invalid request */
3626
+ 400: {
3627
+ headers: {
3628
+ [name: string]: unknown;
3629
+ };
3630
+ content: {
3631
+ "application/json": components["schemas"]["Error"];
3632
+ };
3633
+ };
3634
+ /** @description Unauthorized */
3635
+ 401: {
3636
+ headers: {
3637
+ [name: string]: unknown;
3638
+ };
3639
+ content: {
3640
+ "application/json": components["schemas"]["Error"];
3641
+ };
3642
+ };
3643
+ /** @description Insufficient permissions */
3644
+ 403: {
3645
+ headers: {
3646
+ [name: string]: unknown;
3647
+ };
3648
+ content: {
3649
+ "application/json": components["schemas"]["Error"];
3650
+ };
3651
+ };
3652
+ /** @description Agent not found */
3653
+ 404: {
3654
+ headers: {
3655
+ [name: string]: unknown;
3656
+ };
3657
+ content: {
3658
+ "application/json": components["schemas"]["Error"];
3659
+ };
3660
+ };
3661
+ /** @description Internal server error */
3662
+ 500: {
3663
+ headers: {
3664
+ [name: string]: unknown;
3665
+ };
3666
+ content: {
3667
+ "application/json": components["schemas"]["Error"];
3668
+ };
3669
+ };
3670
+ };
3671
+ };
3672
+ put?: never;
3673
+ post?: never;
3674
+ delete?: never;
3675
+ options?: never;
3676
+ head?: never;
3677
+ patch?: never;
3678
+ trace?: never;
3679
+ };
2890
3680
  "/v1/agents/{id}/execute": {
2891
3681
  parameters: {
2892
3682
  query?: never;
@@ -2898,7 +3688,7 @@ interface paths {
2898
3688
  put?: never;
2899
3689
  /**
2900
3690
  * Execute agent
2901
- * @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.
3691
+ * @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. The optional `durability` body field pins the lane for this request (`forced`: `durable` or `in_process`) or bounds its attached watch (`watchLeaseMs`), and outranks the saved agent config.
2902
3692
  */
2903
3693
  post: {
2904
3694
  parameters: {
@@ -3067,6 +3857,19 @@ interface paths {
3067
3857
  agentId: string | null;
3068
3858
  agentSource: string | null;
3069
3859
  agentSpec?: unknown;
3860
+ /**
3861
+ * @description How the run selected its definition: `alias` or `version` for a request that named a selector, `legacy-live-row` for a run that read the mutable agent row.
3862
+ * @enum {string}
3863
+ */
3864
+ agentTargetResolution: "alias" | "version" | "legacy-live-row";
3865
+ /** @description Version number and label for `agentVersionId`, joined from `agent_versions`. `null` exactly when `agentVersionId` is `null`. */
3866
+ agentVersion: {
3867
+ id: string;
3868
+ label: string | null;
3869
+ versionNumber: number;
3870
+ } | null;
3871
+ /** @description The `agent_versions` row this run was recorded against, or `null`. `null` means the surface that admitted the run stamps no version (A2A, Product API, A2A pause admission and the Product MCP capability path record none today) or the run predates version stamping. It is never a claim that the run executed an unversioned configuration. */
3872
+ agentVersionId: string | null;
3070
3873
  /** @description Whether the agent loop ended by exhausting its `maxTurns` budget. Read this rather than inferring truncation from `stopReason`: a single-turn loop publishes `end_turn` on a budget end to preserve its original payload shape, and several clean success paths publish that same value. `null` means UNKNOWN — a run recorded before this field existed, or one executed by a lane that reports no per-iteration breakdown (external agents, Claude Managed) — and must not be read as `false`. */
3071
3874
  budgetExhausted: boolean | null;
3072
3875
  cancelRequestedAt: string | null;
@@ -3204,6 +4007,19 @@ interface paths {
3204
4007
  agentId: string | null;
3205
4008
  agentSource: string | null;
3206
4009
  agentSpec?: unknown;
4010
+ /**
4011
+ * @description How the run selected its definition: `alias` or `version` for a request that named a selector, `legacy-live-row` for a run that read the mutable agent row.
4012
+ * @enum {string}
4013
+ */
4014
+ agentTargetResolution: "alias" | "version" | "legacy-live-row";
4015
+ /** @description Version number and label for `agentVersionId`, joined from `agent_versions`. `null` exactly when `agentVersionId` is `null`. */
4016
+ agentVersion: {
4017
+ id: string;
4018
+ label: string | null;
4019
+ versionNumber: number;
4020
+ } | null;
4021
+ /** @description The `agent_versions` row this run was recorded against, or `null`. `null` means the surface that admitted the run stamps no version (A2A, Product API, A2A pause admission and the Product MCP capability path record none today) or the run predates version stamping. It is never a claim that the run executed an unversioned configuration. */
4022
+ agentVersionId: string | null;
3207
4023
  /** @description Whether the agent loop ended by exhausting its `maxTurns` budget. Read this rather than inferring truncation from `stopReason`: a single-turn loop publishes `end_turn` on a budget end to preserve its original payload shape, and several clean success paths publish that same value. `null` means UNKNOWN — a run recorded before this field existed, or one executed by a lane that reports no per-iteration breakdown (external agents, Claude Managed) — and must not be read as `false`. */
3208
4024
  budgetExhausted: boolean | null;
3209
4025
  cancelRequestedAt: string | null;
@@ -4623,11 +5439,16 @@ interface paths {
4623
5439
  results: {
4624
5440
  completionTokens: number | null;
4625
5441
  createdAt: string;
5442
+ /**
5443
+ * @deprecated
5444
+ * @description Deprecated alias for `modelCost`; identical value.
5445
+ */
4626
5446
  estimatedCost: string | null;
4627
5447
  executionTimeMs: number | null;
4628
5448
  flowId: string | null;
4629
5449
  flowName: string | null;
4630
5450
  id: string;
5451
+ modelCost: string | null;
4631
5452
  modelUsed: string | null;
4632
5453
  promptId: string | null;
4633
5454
  promptName: string | null;
@@ -4639,6 +5460,8 @@ interface paths {
4639
5460
  recordType: string;
4640
5461
  result: string | null;
4641
5462
  status: string;
5463
+ /** @description Built-in tool spend for this execution, as a decimal string. `null` means unknown, not zero: rows written before per-run cost was split into model and tool portions carry no tool figure. A run that genuinely used no billable tool records `"0"`. Sum with `modelCost` for the run total, and treat `null` as unknown rather than zero. */
5464
+ toolCost: string | null;
4642
5465
  totalTokens: number | null;
4643
5466
  }[];
4644
5467
  };
@@ -11094,7 +11917,7 @@ interface paths {
11094
11917
  put?: never;
11095
11918
  /**
11096
11919
  * Execute a flow or agent
11097
- * @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.
11920
+ * @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. A saved agent may run on the durable session lane; the admission headers `x-runtype-concurrency` (reject, supersede, queue), `x-runtype-coalesce` (true) and `idempotency-key` then apply exactly as on `POST /v1/agents/{id}/execute`, and are ignored for a turn that resolves to the in-process lane.
11098
11921
  */
11099
11922
  post: {
11100
11923
  parameters: {
@@ -11114,6 +11937,7 @@ interface paths {
11114
11937
  agentId?: string;
11115
11938
  /** @enum {string} */
11116
11939
  agentType?: "runtype" | "claude_managed";
11940
+ alias?: string;
11117
11941
  artifacts?: {
11118
11942
  /** @enum {boolean} */
11119
11943
  enabled: true;
@@ -11129,6 +11953,12 @@ interface paths {
11129
11953
  setupMode?: "create" | "connect";
11130
11954
  systemPrompt?: string;
11131
11955
  };
11956
+ durability?: {
11957
+ /** @enum {string} */
11958
+ forced?: "durable" | "in_process";
11959
+ maxBudgetMs?: number | null;
11960
+ watchLeaseMs?: number | null;
11961
+ };
11132
11962
  errorHandling?: {
11133
11963
  fallbacks?: ({
11134
11964
  delay?: number;
@@ -11189,16 +12019,25 @@ interface paths {
11189
12019
  };
11190
12020
  sandbox?: {
11191
12021
  enabled: boolean;
11192
- /** @enum {string} */
12022
+ /**
12023
+ * @description Only standard-4 is supported on the hosted Agent Sandbox path; other sizes cannot be enabled.
12024
+ * @enum {string}
12025
+ */
11193
12026
  instanceType?: "standard-1" | "standard-2" | "standard-3" | "standard-4";
11194
12027
  networkAccess?: ("none" | "essentials" | "open") | {
11195
12028
  allow?: string[];
11196
12029
  /** @enum {string} */
11197
12030
  profile?: "none" | "essentials" | "open";
11198
12031
  };
11199
- /** @enum {string} */
12032
+ /**
12033
+ * @description Supported: ephemeral or conversation. Named remains parseable for stored configs but cannot be enabled.
12034
+ * @enum {string}
12035
+ */
11200
12036
  persistence?: "ephemeral" | "conversation" | "named";
11201
- /** @enum {string} */
12037
+ /**
12038
+ * @description Only runtype-sandbox is currently supported. Daytona is retained for stored-config parsing but rejected at authoring/execution.
12039
+ * @enum {string}
12040
+ */
11202
12041
  provider?: "runtype-sandbox" | "daytona";
11203
12042
  secretEnv?: {
11204
12043
  [key: string]: string;
@@ -11284,6 +12123,7 @@ interface paths {
11284
12123
  };
11285
12124
  topK?: number;
11286
12125
  topP?: number;
12126
+ versionId?: string;
11287
12127
  voice?: {
11288
12128
  elevenLabs?: {
11289
12129
  modelId?: string;
@@ -11514,6 +12354,7 @@ interface paths {
11514
12354
  agentId?: string;
11515
12355
  /** @enum {string} */
11516
12356
  agentType?: "runtype" | "claude_managed";
12357
+ alias?: string;
11517
12358
  artifacts?: {
11518
12359
  /** @enum {boolean} */
11519
12360
  enabled: true;
@@ -11529,6 +12370,12 @@ interface paths {
11529
12370
  setupMode?: "create" | "connect";
11530
12371
  systemPrompt?: string;
11531
12372
  };
12373
+ durability?: {
12374
+ /** @enum {string} */
12375
+ forced?: "durable" | "in_process";
12376
+ maxBudgetMs?: number | null;
12377
+ watchLeaseMs?: number | null;
12378
+ };
11532
12379
  errorHandling?: {
11533
12380
  fallbacks?: ({
11534
12381
  delay?: number;
@@ -11589,16 +12436,25 @@ interface paths {
11589
12436
  };
11590
12437
  sandbox?: {
11591
12438
  enabled: boolean;
11592
- /** @enum {string} */
12439
+ /**
12440
+ * @description Only standard-4 is supported on the hosted Agent Sandbox path; other sizes cannot be enabled.
12441
+ * @enum {string}
12442
+ */
11593
12443
  instanceType?: "standard-1" | "standard-2" | "standard-3" | "standard-4";
11594
12444
  networkAccess?: ("none" | "essentials" | "open") | {
11595
12445
  allow?: string[];
11596
12446
  /** @enum {string} */
11597
12447
  profile?: "none" | "essentials" | "open";
11598
12448
  };
11599
- /** @enum {string} */
12449
+ /**
12450
+ * @description Supported: ephemeral or conversation. Named remains parseable for stored configs but cannot be enabled.
12451
+ * @enum {string}
12452
+ */
11600
12453
  persistence?: "ephemeral" | "conversation" | "named";
11601
- /** @enum {string} */
12454
+ /**
12455
+ * @description Only runtype-sandbox is currently supported. Daytona is retained for stored-config parsing but rejected at authoring/execution.
12456
+ * @enum {string}
12457
+ */
11602
12458
  provider?: "runtype-sandbox" | "daytona";
11603
12459
  secretEnv?: {
11604
12460
  [key: string]: string;
@@ -11684,6 +12540,7 @@ interface paths {
11684
12540
  };
11685
12541
  topK?: number;
11686
12542
  topP?: number;
12543
+ versionId?: string;
11687
12544
  voice?: {
11688
12545
  elevenLabs?: {
11689
12546
  modelId?: string;
@@ -16158,6 +17015,106 @@ interface paths {
16158
17015
  patch?: never;
16159
17016
  trace?: never;
16160
17017
  };
17018
+ "/v1/executions/{executionId}/events": {
17019
+ parameters: {
17020
+ query?: never;
17021
+ header?: never;
17022
+ path?: never;
17023
+ cookie?: never;
17024
+ };
17025
+ /**
17026
+ * Stream execution events
17027
+ * @description Execution-scoped alias of `GET /v1/agents/{id}/executions/{executionId}/events`: reconnect to a durable turn and replay-and-tail its Server-Sent Events without already knowing which agent ran it. The agent is resolved from the execution's own persisted record, so a run started through `/v1/dispatch` reconnects by execution id alone; a record with no agent (an inline definition, which addresses no durable session) answers 404. A turn that streams over an expired watch lease ends with `await` / `awaitReason: "detached"` while the execution keeps running; pass the last seen SSE `id:` as `after` to rejoin it. Replays buffered events strictly past the `after` cursor, then live-tails if the turn is still running. Each event carries an SSE `id:` line — a durable row seq, or (unified vocabulary) a composite `<seq>.<subIndex>` when one durable row translates to multiple events. Pass that id verbatim after any disconnect (tab reload, sleep, stream timeout) to resume without missing or duplicating events. Replayed and live-tailed frames use the unified execution vocabulary. An API key needs `AGENTS:READ`, `AGENTS:*`, `DISPATCH:*`, or `*`; `DISPATCH:*` is admitted because this alias exists for dispatch-started runs.
17028
+ */
17029
+ get: {
17030
+ parameters: {
17031
+ query?: {
17032
+ /** @description Fallback session key, honored only for a turn that persists no session key of its own (the Claude Managed lane). A durable turn resolves its session owner from the persisted execution, and a subagent run from its private child thread. */
17033
+ conversationId?: string;
17034
+ /** @description Replay only events strictly past this cursor (the last seen SSE id, passed verbatim): a plain row seq, or the composite `<seq>.<subIndex>` a unified-vocabulary stream stamps on intermediate sub-frames. Defaults to 0 (replay the whole turn). */
17035
+ after?: string;
17036
+ };
17037
+ header?: never;
17038
+ path: {
17039
+ executionId: string;
17040
+ };
17041
+ cookie?: never;
17042
+ };
17043
+ requestBody?: never;
17044
+ responses: {
17045
+ /** @description Server-Sent Events stream (buffered replay followed by a live tail) */
17046
+ 200: {
17047
+ headers: {
17048
+ [name: string]: unknown;
17049
+ };
17050
+ content: {
17051
+ "text/event-stream": unknown;
17052
+ };
17053
+ };
17054
+ /** @description No session owner resolves for this execution */
17055
+ 400: {
17056
+ headers: {
17057
+ [name: string]: unknown;
17058
+ };
17059
+ content: {
17060
+ "application/json": components["schemas"]["Error"];
17061
+ };
17062
+ };
17063
+ /** @description Unauthorized */
17064
+ 401: {
17065
+ headers: {
17066
+ [name: string]: unknown;
17067
+ };
17068
+ content: {
17069
+ "application/json": components["schemas"]["Error"];
17070
+ };
17071
+ };
17072
+ /** @description Insufficient API key permissions */
17073
+ 403: {
17074
+ headers: {
17075
+ [name: string]: unknown;
17076
+ };
17077
+ content: {
17078
+ "application/json": components["schemas"]["Error"];
17079
+ };
17080
+ };
17081
+ /** @description Execution not found, or it addresses no durable session */
17082
+ 404: {
17083
+ headers: {
17084
+ [name: string]: unknown;
17085
+ };
17086
+ content: {
17087
+ "application/json": components["schemas"]["Error"];
17088
+ };
17089
+ };
17090
+ /** @description Internal server error */
17091
+ 500: {
17092
+ headers: {
17093
+ [name: string]: unknown;
17094
+ };
17095
+ content: {
17096
+ "application/json": components["schemas"]["Error"];
17097
+ };
17098
+ };
17099
+ /** @description Failed to attach to the execution stream */
17100
+ 502: {
17101
+ headers: {
17102
+ [name: string]: unknown;
17103
+ };
17104
+ content: {
17105
+ "application/json": components["schemas"]["Error"];
17106
+ };
17107
+ };
17108
+ };
17109
+ };
17110
+ put?: never;
17111
+ post?: never;
17112
+ delete?: never;
17113
+ options?: never;
17114
+ head?: never;
17115
+ patch?: never;
17116
+ trace?: never;
17117
+ };
16161
17118
  "/v1/executions/{executionId}/journal": {
16162
17119
  parameters: {
16163
17120
  query?: never;
@@ -16289,6 +17246,19 @@ interface paths {
16289
17246
  };
16290
17247
  content: {
16291
17248
  "application/json": {
17249
+ /**
17250
+ * @description How the run selected its definition: `alias` or `version` for a request that named a selector, `legacy-live-row` for a run that read the mutable agent row.
17251
+ * @enum {string}
17252
+ */
17253
+ agentTargetResolution?: "alias" | "version" | "legacy-live-row";
17254
+ /** @description Version number and label for `agentVersionId`. `null` exactly when `agentVersionId` is `null`. */
17255
+ agentVersion?: {
17256
+ id: string;
17257
+ label: string | null;
17258
+ versionNumber: number;
17259
+ } | null;
17260
+ /** @description The `agent_versions` row the run was recorded against. Present only for durable agent executions; `null` when that surface stamps no version. */
17261
+ agentVersionId?: string | null;
16292
17262
  createdAt: string;
16293
17263
  error?: string;
16294
17264
  executionId: string;
@@ -17528,7 +18498,7 @@ interface paths {
17528
18498
  put?: never;
17529
18499
  /**
17530
18500
  * Ensure flow (config-as-code converge)
17531
- * @description Idempotently converge a repo-defined flow definition onto the platform. Identity is name + account scope. Hash-only probes skip the payload in the steady state (a miss is a normal 200 `definitionRequired` response, not an error); full requests create the flow or append a new version when the canonical content hash differs. Non-executing: never touches the execution pipeline — the deploy-time sibling of the dispatch-coupled `flowMode: "upsert"` (which saves and runs in one request). The response always carries the server-computed canonical hash. Set dryRun to plan without writing (CI drift gate), onConflict: "overwrite" to converge over dashboard/API edits, and release: "publish" to also re-aim the published-version pointer.
18501
+ * @description Idempotently converge a repo-defined flow definition onto the platform. Identity is name + account scope. Hash-only probes skip the payload in the steady state (a miss is a normal 200 `definitionRequired` response, not an error); full requests create the flow or append a new version when the canonical content hash differs. Non-executing: never touches the execution pipeline — the deploy-time sibling of the dispatch-coupled `flowMode: "upsert"` (which saves and runs in one request). The response always carries the server-computed canonical hash. Set dryRun to plan without writing (CI drift gate), onConflict: "overwrite" to converge over dashboard/API edits, and release: "publish" to also re-aim the published-version pointer. Optional version.label / version.notes stamp provenance (a git SHA, a release tag) on the appended version row.
17532
18502
  */
17533
18503
  post: {
17534
18504
  parameters: {
@@ -17561,6 +18531,7 @@ interface paths {
17561
18531
  onConflict?: "error" | "overwrite";
17562
18532
  /** @enum {string} */
17563
18533
  release?: "none" | "publish";
18534
+ version?: components["schemas"]["EnsureVersionMetadata"];
17564
18535
  };
17565
18536
  };
17566
18537
  };
@@ -37063,6 +38034,10 @@ interface paths {
37063
38034
  "application/json": {
37064
38035
  data: {
37065
38036
  createdAt: string;
38037
+ /**
38038
+ * @deprecated
38039
+ * @description Deprecated alias for `modelCost`; identical value.
38040
+ */
37066
38041
  estimatedCost: string | null;
37067
38042
  /**
37068
38043
  * @description Engine that actually executed this record execution ('runtime' | 'legacy'). Recorded at write time from the committed lane decision; never inferred later. Null for rows written before attribution shipped and for units that never started executing (externally executed runs carry no engine).
@@ -37073,12 +38048,15 @@ interface paths {
37073
38048
  flowId: string | null;
37074
38049
  flowName: string | null;
37075
38050
  id: string;
38051
+ modelCost: string | null;
37076
38052
  modelUsed: string | null;
37077
38053
  promptId: string | null;
37078
38054
  promptName: string | null;
37079
38055
  recordId: string;
37080
38056
  result?: unknown;
37081
38057
  status: string;
38058
+ /** @description Built-in tool spend for this execution, as a decimal string. `null` means unknown, not zero: rows written before per-run cost was split into model and tool portions carry no tool figure. A run that genuinely used no billable tool records `"0"`. Sum with `modelCost` for the run total, and treat `null` as unknown rather than zero. */
38059
+ toolCost: string | null;
37082
38060
  totalTokens: number | null;
37083
38061
  }[];
37084
38062
  pagination: {
@@ -43766,7 +44744,7 @@ interface paths {
43766
44744
  put?: never;
43767
44745
  /**
43768
44746
  * Deploy Runtype Sandbox
43769
- * @description Deploy code to a persistent Runtype Sandbox container and return a preview URL.
44747
+ * @description Deploy a live Runtype Sandbox preview. Omitted retention preserves unlimited legacy retention; explicit retention is metered and rollout-gated. Provider sleep or loss can end availability earlier.
43770
44748
  */
43771
44749
  post: {
43772
44750
  parameters: {
@@ -43778,6 +44756,30 @@ interface paths {
43778
44756
  requestBody?: {
43779
44757
  content: {
43780
44758
  "application/json": {
44759
+ code: string;
44760
+ files?: {
44761
+ [key: string]: string;
44762
+ };
44763
+ /** @enum {string} */
44764
+ language?: "javascript" | "typescript" | "python";
44765
+ /** @enum {boolean} */
44766
+ managed?: false;
44767
+ packageJson?: string;
44768
+ port?: number;
44769
+ /** @enum {string} */
44770
+ retention?: "10m" | "1h" | "24h" | "unlimited";
44771
+ sandboxId?: string;
44772
+ sleepPolicy?: {
44773
+ /** @enum {string} */
44774
+ mode: "never";
44775
+ } | {
44776
+ /** @enum {string} */
44777
+ after: "5m" | "15m" | "30m" | "1h";
44778
+ /** @enum {string} */
44779
+ mode: "idle";
44780
+ };
44781
+ startCommand?: string;
44782
+ } & {
43781
44783
  [key: string]: unknown;
43782
44784
  };
43783
44785
  };
@@ -43790,6 +44792,26 @@ interface paths {
43790
44792
  };
43791
44793
  content: {
43792
44794
  "application/json": {
44795
+ effectivePolicy?: {
44796
+ autoDeleteInterval?: number;
44797
+ autoStopInterval?: number;
44798
+ expiresAt: string | null;
44799
+ /** @enum {string} */
44800
+ metering: "active" | "legacy-untracked";
44801
+ /** @enum {string} */
44802
+ origin: "explicit" | "legacy-default";
44803
+ /** @enum {string} */
44804
+ retention: "10m" | "1h" | "24h" | "unlimited";
44805
+ sleepPolicy?: {
44806
+ /** @enum {string} */
44807
+ mode: "never";
44808
+ } | {
44809
+ /** @enum {string} */
44810
+ after: "5m" | "15m" | "30m" | "1h";
44811
+ /** @enum {string} */
44812
+ mode: "idle";
44813
+ };
44814
+ };
43793
44815
  error?: string;
43794
44816
  output?: string;
43795
44817
  previewUrl?: string;
@@ -43826,6 +44848,15 @@ interface paths {
43826
44848
  "application/json": components["schemas"]["Error"];
43827
44849
  };
43828
44850
  };
44851
+ /** @description Sandbox lifecycle enrollment conflict */
44852
+ 409: {
44853
+ headers: {
44854
+ [name: string]: unknown;
44855
+ };
44856
+ content: {
44857
+ "application/json": components["schemas"]["Error"];
44858
+ };
44859
+ };
43829
44860
  /** @description Internal server error */
43830
44861
  500: {
43831
44862
  headers: {
@@ -43924,7 +44955,7 @@ interface paths {
43924
44955
  put?: never;
43925
44956
  /**
43926
44957
  * Deploy Daytona sandbox
43927
- * @description Deploy code to a persistent Daytona sandbox and return a preview URL.
44958
+ * @description Deploy a live Daytona preview. Retention defaults to 10m; provider sleep or deletion can end availability earlier. Preview URLs are not durable hosting.
43928
44959
  */
43929
44960
  post: {
43930
44961
  parameters: {
@@ -43936,6 +44967,35 @@ interface paths {
43936
44967
  requestBody?: {
43937
44968
  content: {
43938
44969
  "application/json": {
44970
+ autoDeleteInterval?: number;
44971
+ autoStopInterval?: number;
44972
+ code: string;
44973
+ files?: {
44974
+ [key: string]: string;
44975
+ };
44976
+ labels?: {
44977
+ [key: string]: string;
44978
+ };
44979
+ /** @enum {string} */
44980
+ language?: "javascript" | "typescript" | "python";
44981
+ /** @enum {boolean} */
44982
+ managed?: false;
44983
+ packageJson?: string;
44984
+ port?: number;
44985
+ /** @enum {string} */
44986
+ retention?: "10m" | "1h" | "24h" | "unlimited";
44987
+ sandboxId?: string;
44988
+ sleepPolicy?: {
44989
+ /** @enum {string} */
44990
+ mode: "never";
44991
+ } | {
44992
+ /** @enum {string} */
44993
+ after: "5m" | "15m" | "30m" | "1h";
44994
+ /** @enum {string} */
44995
+ mode: "idle";
44996
+ };
44997
+ startCommand?: string;
44998
+ } & {
43939
44999
  [key: string]: unknown;
43940
45000
  };
43941
45001
  };
@@ -43948,6 +45008,26 @@ interface paths {
43948
45008
  };
43949
45009
  content: {
43950
45010
  "application/json": {
45011
+ effectivePolicy?: {
45012
+ autoDeleteInterval?: number;
45013
+ autoStopInterval?: number;
45014
+ expiresAt: string | null;
45015
+ /** @enum {string} */
45016
+ metering: "active" | "legacy-untracked";
45017
+ /** @enum {string} */
45018
+ origin: "explicit" | "legacy-default";
45019
+ /** @enum {string} */
45020
+ retention: "10m" | "1h" | "24h" | "unlimited";
45021
+ sleepPolicy?: {
45022
+ /** @enum {string} */
45023
+ mode: "never";
45024
+ } | {
45025
+ /** @enum {string} */
45026
+ after: "5m" | "15m" | "30m" | "1h";
45027
+ /** @enum {string} */
45028
+ mode: "idle";
45029
+ };
45030
+ };
43951
45031
  error?: string;
43952
45032
  output?: string;
43953
45033
  previewUrl?: string;
@@ -43983,6 +45063,15 @@ interface paths {
43983
45063
  "application/json": components["schemas"]["Error"];
43984
45064
  };
43985
45065
  };
45066
+ /** @description Sandbox not found */
45067
+ 404: {
45068
+ headers: {
45069
+ [name: string]: unknown;
45070
+ };
45071
+ content: {
45072
+ "application/json": components["schemas"]["Error"];
45073
+ };
45074
+ };
43986
45075
  /** @description Internal server error */
43987
45076
  500: {
43988
45077
  headers: {
@@ -43992,6 +45081,15 @@ interface paths {
43992
45081
  "application/json": components["schemas"]["Error"];
43993
45082
  };
43994
45083
  };
45084
+ /** @description Sandbox metering unavailable */
45085
+ 503: {
45086
+ headers: {
45087
+ [name: string]: unknown;
45088
+ };
45089
+ content: {
45090
+ "application/json": components["schemas"]["Error"];
45091
+ };
45092
+ };
43995
45093
  };
43996
45094
  };
43997
45095
  delete?: never;
@@ -45521,6 +46619,14 @@ interface components {
45521
46619
  /** @enum {string} */
45522
46620
  status: "running";
45523
46621
  };
46622
+ AgentEnsureBadRequest: {
46623
+ /**
46624
+ * @description A release alias is organization-owned, so a personal-scope agent cannot carry one.
46625
+ * @enum {string}
46626
+ */
46627
+ code?: "alias_requires_organization";
46628
+ error: string;
46629
+ };
45524
46630
  AgentEnsureConflict: {
45525
46631
  /** @enum {string} */
45526
46632
  code: "external_modification" | "remote_changed";
@@ -45529,6 +46635,25 @@ interface components {
45529
46635
  lastModifiedSource?: string;
45530
46636
  modifiedAt?: string | null;
45531
46637
  };
46638
+ /** @description Atomically save this definition and activate it at a release alias. Use { alias: "live" } to deploy to production, or any name matching ^[a-z0-9][a-z0-9-]{0,62}$ for a preview pointer. A non-live alias appends a candidate version and moves that one pointer: it never writes the agent row, its config hash, its capabilities, its draft pointer or its live pointer, so onConflict and expectedRemoteHash describe writes it never performs and are rejected with a 400 alongside it. A release alias is organization-owned, so a non-live deploy on a personal-scope agent is a 400 with code alias_requires_organization. Mutually exclusive with release. */
46639
+ AgentEnsureDeployTarget: {
46640
+ alias: string;
46641
+ };
46642
+ /** @description Present when the converge carried release or deploy and the activation was applied. */
46643
+ AgentEnsureDeployment: {
46644
+ /** @description The release alias this converge aimed. */
46645
+ alias: string;
46646
+ /** @description Whether this converge moved the pointer (on a dry run, whether it would move it). */
46647
+ changed: boolean;
46648
+ /** @description The deployment receipt this converge appended. Absent when the pointer did not move. */
46649
+ receiptId?: string;
46650
+ /** @description Compare-and-swap revision of the alias, null when the alias does not exist yet. */
46651
+ revision: number | null;
46652
+ /** @description The version the alias selects as of this response (null on a dry run against an alias that does not exist yet). */
46653
+ versionId: string | null;
46654
+ /** @description Version number of that version, when known. */
46655
+ versionNumber: number | null;
46656
+ };
45532
46657
  AgentEnsureHashMismatch: {
45533
46658
  /** @enum {string} */
45534
46659
  code: "content_hash_mismatch";
@@ -45540,6 +46665,9 @@ interface components {
45540
46665
  agentId: string;
45541
46666
  /** @description Server-computed canonical content hash. Clients should echo this hash in probes. */
45542
46667
  contentHash: string;
46668
+ deployment?: components["schemas"]["AgentEnsureDeployment"];
46669
+ /** @description For a non-live deploy: the content hash the alias carried before this converge (absent when the alias is new). */
46670
+ remoteHash?: string;
45543
46671
  /** @enum {string} */
45544
46672
  result: "unchanged" | "created" | "updated";
45545
46673
  /** @description The version snapshot backing this state (null if snapshotting failed). */
@@ -45553,10 +46681,18 @@ interface components {
45553
46681
  /** @enum {string} */
45554
46682
  changes: "none" | "create" | "update";
45555
46683
  contentHash: string;
46684
+ deployment?: components["schemas"]["AgentEnsureDeployment"] & unknown;
45556
46685
  remoteHash?: string;
45557
46686
  /** @enum {string} */
45558
46687
  result: "plan";
45559
46688
  };
46689
+ AgentEnsureServerError: {
46690
+ /** @description The release alias whose activation failed. No pointer was moved. */
46691
+ alias?: string;
46692
+ /** @enum {string} */
46693
+ code?: "alias_activation_failed";
46694
+ error: string;
46695
+ };
45560
46696
  AgentPullResponse: {
45561
46697
  agentId: string;
45562
46698
  contentHash: string;
@@ -45654,16 +46790,25 @@ interface components {
45654
46790
  };
45655
46791
  sandbox?: {
45656
46792
  enabled: boolean;
45657
- /** @enum {string} */
46793
+ /**
46794
+ * @description Only standard-4 is supported on the hosted Agent Sandbox path; other sizes cannot be enabled.
46795
+ * @enum {string}
46796
+ */
45658
46797
  instanceType?: "standard-1" | "standard-2" | "standard-3" | "standard-4";
45659
46798
  networkAccess?: ("none" | "essentials" | "open") | {
45660
46799
  allow?: string[];
45661
46800
  /** @enum {string} */
45662
46801
  profile?: "none" | "essentials" | "open";
45663
46802
  };
45664
- /** @enum {string} */
46803
+ /**
46804
+ * @description Supported: ephemeral or conversation. Named remains parseable for stored configs but cannot be enabled.
46805
+ * @enum {string}
46806
+ */
45665
46807
  persistence?: "ephemeral" | "conversation" | "named";
45666
- /** @enum {string} */
46808
+ /**
46809
+ * @description Only runtype-sandbox is currently supported. Daytona is retained for stored-config parsing but rejected at authoring/execution.
46810
+ * @enum {string}
46811
+ */
45667
46812
  provider?: "runtype-sandbox" | "daytona";
45668
46813
  secretEnv?: {
45669
46814
  [key: string]: string;
@@ -46169,6 +47314,19 @@ interface components {
46169
47314
  versionNumber: number;
46170
47315
  } | null;
46171
47316
  };
47317
+ /** @description Provenance recorded on the version row this converge appends. Omit to keep the default "sdk-ensure" label and the server-generated notes. */
47318
+ EnsureVersionMetadata: {
47319
+ /**
47320
+ * @description Short provenance label recorded on the appended version row (e.g. a git SHA or release tag). Defaults to "sdk-ensure". An empty string is treated as omitted.
47321
+ * @example a1b2c3d
47322
+ */
47323
+ label?: string;
47324
+ /**
47325
+ * @description Free-form notes recorded on the appended version row, used verbatim. Defaults to the server-generated converge summary. An empty string is treated as omitted.
47326
+ * @example Promoted from CI run 4821 (main@a1b2c3d).
47327
+ */
47328
+ notes?: string;
47329
+ };
46172
47330
  Error: {
46173
47331
  details?: {
46174
47332
  /** @description Stable Runtype validation code (e.g. MISSING_REQUIRED_FIELD, INVALID_ENUM). */
@@ -49879,6 +51037,22 @@ interface ExecuteToolResponse {
49879
51037
  errorMessage?: string;
49880
51038
  executionTimeMs: number;
49881
51039
  }
51040
+ type SandboxDeployRetention = '10m' | '1h' | '24h' | 'unlimited';
51041
+ type SandboxDeploySleepPolicy = {
51042
+ mode: 'never';
51043
+ } | {
51044
+ mode: 'idle';
51045
+ after: '5m' | '15m' | '30m' | '1h';
51046
+ };
51047
+ interface SandboxDeployEffectivePolicy {
51048
+ retention: SandboxDeployRetention;
51049
+ origin: 'explicit' | 'legacy-default';
51050
+ expiresAt: string | null;
51051
+ metering: 'active' | 'legacy-untracked';
51052
+ sleepPolicy?: SandboxDeploySleepPolicy;
51053
+ autoStopInterval?: number;
51054
+ autoDeleteInterval?: number;
51055
+ }
49882
51056
  interface DeploySandboxRequest {
49883
51057
  code: string;
49884
51058
  packageJson?: string;
@@ -49893,6 +51067,10 @@ interface DeploySandboxRequest {
49893
51067
  autoStopInterval?: number;
49894
51068
  /** Auto-delete interval in minutes (Daytona); 0 deletes immediately on stop. Disabled when omitted. */
49895
51069
  autoDeleteInterval?: number;
51070
+ /** Runtype destruction backstop; defaults to 10m independently of provider autostop. */
51071
+ retention?: SandboxDeployRetention;
51072
+ /** Cannot be combined with autoStopInterval. Does not extend retention. */
51073
+ sleepPolicy?: SandboxDeploySleepPolicy;
49896
51074
  }
49897
51075
  interface DeploySandboxResponse {
49898
51076
  sandboxId: string;
@@ -49900,6 +51078,7 @@ interface DeploySandboxResponse {
49900
51078
  output: string;
49901
51079
  status: 'running' | 'error';
49902
51080
  error?: string;
51081
+ effectivePolicy?: SandboxDeployEffectivePolicy;
49903
51082
  }
49904
51083
  interface DeployCfSandboxRequest {
49905
51084
  code: string;
@@ -49909,6 +51088,10 @@ interface DeployCfSandboxRequest {
49909
51088
  sandboxId?: string;
49910
51089
  startCommand?: string;
49911
51090
  files?: Record<string, string>;
51091
+ /** Omission preserves unlimited legacy retention. Explicit policy requires lifecycle rollout enablement. */
51092
+ retention?: SandboxDeployRetention;
51093
+ /** Legacy Runtype Sandbox supports idle sleep only; continuous keepAlive is unavailable. */
51094
+ sleepPolicy?: SandboxDeploySleepPolicy;
49912
51095
  }
49913
51096
  interface DeployCfSandboxResponse {
49914
51097
  sandboxId: string;
@@ -49917,6 +51100,7 @@ interface DeployCfSandboxResponse {
49917
51100
  status: 'running' | 'error';
49918
51101
  stage?: 'validate_port' | 'validate_files' | 'write_package_json' | 'npm_install' | 'write_main_file' | 'write_additional_files' | 'start_process' | 'expose_port';
49919
51102
  error?: string;
51103
+ effectivePolicy?: SandboxDeployEffectivePolicy;
49920
51104
  }
49921
51105
  interface ModelUsageQueryParams {
49922
51106
  startDate?: string;
@@ -50552,6 +51736,164 @@ interface BillingSpendAnalyticsParams {
50552
51736
  */
50553
51737
  period?: 'billing_period' | 'current_month' | 'last_7_days' | 'last_30_days' | 'last_90_days';
50554
51738
  }
51739
+ interface ProductionHealthQuery {
51740
+ /** Length of the reporting window in days (1-90). Defaults to 7. */
51741
+ days?: number;
51742
+ }
51743
+ /**
51744
+ * A metric beside its comparison value: the preceding period of equal length,
51745
+ * unless the field says otherwise. `null` means "not computable", never
51746
+ * "zero".
51747
+ *
51748
+ * These metrics are read from run ledgers that record one row per run. No row
51749
+ * exists for a run that finished before those ledgers were deployed and none
51750
+ * can be reconstructed, so `previous` is empty rather than wrong until the
51751
+ * preceding period is entirely made up of ledger-era runs.
51752
+ */
51753
+ interface MetricDelta {
51754
+ value: number | null;
51755
+ previous: number | null;
51756
+ }
51757
+ /**
51758
+ * Run counts for one population. `successes + failures + unsettled` equals
51759
+ * `current`; the success rate divides `successes` by the settled runs only, so
51760
+ * `failures` must be read rather than derived as `current - successes`.
51761
+ */
51762
+ interface ExecutionCounts {
51763
+ /** Runs that started inside the current period. */
51764
+ current: number;
51765
+ /** Runs that started inside the preceding period of equal length. */
51766
+ previous: number;
51767
+ /** Current-period runs that finished successfully. */
51768
+ successes: number;
51769
+ /** Current-period runs that ended in an error or lost their stream. */
51770
+ failures: number;
51771
+ /**
51772
+ * Current-period runs with no verdict: still running, paused waiting on an
51773
+ * approval or a client tool, or cancelled by the caller. They are inside
51774
+ * `current` because they happened, and outside the success rate entirely.
51775
+ */
51776
+ unsettled: number;
51777
+ }
51778
+ interface HealthInsight {
51779
+ id: string;
51780
+ severity: 'critical' | 'warning' | 'info';
51781
+ title: string;
51782
+ detail: string;
51783
+ href?: string;
51784
+ }
51785
+ interface ProductionHealthResponse {
51786
+ /** Daily intervals anchored to period.start, counting root runs once. */
51787
+ activity?: Array<{
51788
+ date: string;
51789
+ agents: number;
51790
+ flows: number;
51791
+ unclassified: number;
51792
+ }>;
51793
+ period: {
51794
+ days: number;
51795
+ start: string;
51796
+ end: string;
51797
+ previousStart: string;
51798
+ };
51799
+ /**
51800
+ * Run totals across BOTH populations, one row per run whatever it did.
51801
+ * `agents` is broken out first: an agent turn drives a flow internally, so
51802
+ * before this split the same run was counted on the headline and again on
51803
+ * the agents line. Every field is agents plus flows plus unclassified history.
51804
+ *
51805
+ * The two halves come from different tables because neither is complete on
51806
+ * its own. Agent counts come from `agent_executions`, which is the only
51807
+ * record of an agent the customer hosts themselves (reported over
51808
+ * OpenTelemetry, or proxied over HTTP) since no Runtype runtime ran it. Flow
51809
+ * counts come from `flow_executions` rows that no agent drove.
51810
+ */
51811
+ executions: ExecutionCounts & {
51812
+ /** Agent runs. Includes agents running outside Runtype. */
51813
+ agents: ExecutionCounts;
51814
+ /** Flow runs. */
51815
+ flows: ExecutionCounts;
51816
+ unclassified: ExecutionCounts;
51817
+ };
51818
+ /**
51819
+ * Successful runs over SETTLED runs. Runs still open, paused mid-run, or
51820
+ * cancelled are outside both halves of this division rather than counted as
51821
+ * either outcome. Null when nothing in the period settled.
51822
+ */
51823
+ successRate: MetricDelta;
51824
+ /**
51825
+ * 95th percentile of a run's wall clock, start to finish: context steps,
51826
+ * tool-call steps and queueing included. Measured over settled runs only, so
51827
+ * a run that is still open or still paused contributes nothing. A run that
51828
+ * paused for an approval or a client tool and then resumed carries that wait
51829
+ * inside its wall clock, because the caller waited for it too. Null when no
51830
+ * settled run in the period recorded a duration.
51831
+ */
51832
+ p95LatencyMs: MetricDelta;
51833
+ /**
51834
+ * Model cost including retries, compaction, fallback and descendants, divided
51835
+ * by successful runs. Null when any run has incomplete model accounting.
51836
+ * Estimated execution cost excludes billing margin and is not billed spend.
51837
+ */
51838
+ modelCostPerSuccess: MetricDelta;
51839
+ /** Estimated model cost across every run in the window, failed runs included. Same caveats. */
51840
+ totalModelCost: MetricDelta;
51841
+ costs: Record<'model' | 'tool' | 'total', MetricDelta & {
51842
+ knownValue: number;
51843
+ knownPrevious: number;
51844
+ incompleteRuns: number;
51845
+ previousIncompleteRuns: number;
51846
+ }>;
51847
+ /**
51848
+ * Share of runs where at least one attempt routed to a fallback model instead
51849
+ * of the configured one, over every run in the period. Null when any run has
51850
+ * incomplete model accounting.
51851
+ */
51852
+ fallbackShare: MetricDelta;
51853
+ /**
51854
+ * Eval pass rates. `value` and `previous` are the latest scored run and the previous scored run
51855
+ * in the same suite, compared run over run rather than period over
51856
+ * period, so either may predate the window.
51857
+ */
51858
+ evals: MetricDelta & {
51859
+ suiteId: string | null;
51860
+ suiteName: string | null;
51861
+ /** When the most recent eval run of any kind was created; null if none has ever run. */
51862
+ lastRunAt: string | null;
51863
+ /**
51864
+ * When the run behind `value` was created; null while nothing has ever
51865
+ * scored. This is older than `lastRunAt` whenever the newest run is still
51866
+ * processing, cancelled, failed, or graded nothing, so it is the only
51867
+ * timestamp a pass rate may be presented beside. Pairing `value` with
51868
+ * `lastRunAt` attributes a rate to a run that did not produce it.
51869
+ */
51870
+ lastScoredRunAt: string | null;
51871
+ /**
51872
+ * Whether `lastRunAt` falls inside the current period. Any eval run counts,
51873
+ * including one still processing, cancelled, failed, or with no graders, so
51874
+ * this can be true while `value` is null (nothing scored yet) and false
51875
+ * while `value` is set (the last run that scored predates the window).
51876
+ */
51877
+ ranInPeriod: boolean;
51878
+ };
51879
+ agents: {
51880
+ /**
51881
+ * Share of agent runs that stopped because they hit the turn ceiling.
51882
+ * Agent run counts live on `executions.agents`, not here.
51883
+ */
51884
+ maxTurnsShare: MetricDelta;
51885
+ };
51886
+ surfaces: Array<{
51887
+ /** Surface the agent executions were attributed to; rows with no surface type are grouped as `unknown`. */
51888
+ surfaceType: string;
51889
+ /** Agent executions on this surface in the current period. Counts agent runs only, not flow runs. */
51890
+ executions: number;
51891
+ /** Share of those agent executions that completed. */
51892
+ successRate: number | null;
51893
+ }>;
51894
+ insights: HealthInsight[];
51895
+ generatedAt: string;
51896
+ }
50555
51897
 
50556
51898
  /**
50557
51899
  * Per-grader severity (mirror of `@runtypelabs/shared`'s `GraderSeverity`). A
@@ -51182,6 +52524,12 @@ interface EnsureFlowOptions {
51182
52524
  * the remote still hashes to this value (409 remote_changed otherwise).
51183
52525
  */
51184
52526
  expectedRemoteHash?: string;
52527
+ /**
52528
+ * Provenance stamped on the version row this converge appends (a git SHA, a
52529
+ * release tag). Omit to keep the default 'sdk-ensure' label and the
52530
+ * server-generated notes.
52531
+ */
52532
+ version?: components['schemas']['EnsureVersionMetadata'];
51185
52533
  /** Implies dryRun; throws FlowDriftError unless the plan is 'none'. */
51186
52534
  expectNoChanges?: boolean;
51187
52535
  }
@@ -53284,6 +54632,12 @@ interface EnsureAgentOptions {
53284
54632
  * the remote still hashes to this value (409 remote_changed otherwise).
53285
54633
  */
53286
54634
  expectedRemoteHash?: string;
54635
+ /**
54636
+ * Provenance stamped on the version row this converge appends (a git SHA, a
54637
+ * release tag). Omit to keep the default 'sdk-ensure' label and the
54638
+ * server-generated notes.
54639
+ */
54640
+ version?: components['schemas']['EnsureVersionMetadata'];
53287
54641
  /** Implies dryRun; throws AgentDriftError unless the plan is 'none'. */
53288
54642
  expectNoChanges?: boolean;
53289
54643
  }
@@ -53916,6 +55270,97 @@ declare class SurfacesNamespace {
53916
55270
  pull(productId: string, name: string): Promise<SurfacePullResult>;
53917
55271
  }
53918
55272
 
55273
+ /**
55274
+ * Transparent reconnect for a DETACHED agent stream (ADR 0020 point 6;
55275
+ * blueprint `2026-08-25-durable-by-default-agent-turns.md` §4).
55276
+ *
55277
+ * ## What the server does
55278
+ *
55279
+ * A durable agent turn runs inside a Durable Object, and the socket it streams
55280
+ * over carries a WATCH LEASE (10 minutes by default), not the turn's lifetime.
55281
+ * When the lease expires the server emits a unified `await` frame with
55282
+ * `awaitReason: 'detached'` and CLOSES the stream — the execution keeps running
55283
+ * server-side. Detach is part of the public contract, not an error:
55284
+ *
55285
+ * id: 118
55286
+ * event: await
55287
+ * data: {"type":"await","awaitReason":"detached","executionId":"aex_…",…}
55288
+ *
55289
+ * Raw-HTTP consumers get documented behavior. The SDKs are expected to follow
55290
+ * it, which is what this module does: it reopens the turn through the events
55291
+ * route with `?after=<last SSE id>` and keeps yielding frames until a real
55292
+ * terminal arrives.
55293
+ *
55294
+ * ## Why it wraps the stream rather than the callbacks
55295
+ *
55296
+ * `executeStream` is the single place every consumer goes through
55297
+ * (`executeWithCallbacks` and the local-tool loop both build on it), so
55298
+ * wrapping the `Response` body makes reconnect transparent for all of them at
55299
+ * once — and for a caller reading the raw stream by hand.
55300
+ *
55301
+ * Bytes are forwarded VERBATIM. This is not a re-encoder: it parses complete
55302
+ * SSE blocks only to observe three things (the last `id:`, the executionId, and
55303
+ * whether a terminal or a detach frame went by), and passes the original text
55304
+ * straight through. That matters because the `id:` line IS the relay cursor —
55305
+ * re-stamping it would break the very reconnect this exists to perform.
55306
+ *
55307
+ * ## Cursor and duplicate-freedom
55308
+ *
55309
+ * The server replays strictly AFTER the cursor, so a reconnect produces no
55310
+ * duplicates. A cursor that is malformed or lost fails OPEN to a replay from
55311
+ * the start of the turn, which is why the last-seen `id:` is tracked as the
55312
+ * raw string rather than being parsed into a number here.
55313
+ *
55314
+ * ## The detach frame is not swallowed
55315
+ *
55316
+ * It is forwarded like any other frame. The wire vocabulary is unchanged, so a
55317
+ * consumer that renders `await` states keeps rendering this one; the difference
55318
+ * is only that the stream no longer ENDS there.
55319
+ *
55320
+ * The Python SDK mirrors this behavior — a follow-up, tracked with the rest of
55321
+ * the SDK work in the blueprint's §4 slice 2.
55322
+ */
55323
+ /**
55324
+ * How many times a single logical turn may be re-opened. A detached turn is
55325
+ * bounded by its absolute budget (30 minutes by default, 24 hours at most) and
55326
+ * each leg covers a full watch lease, so this is a safety stop against a server
55327
+ * that detaches immediately and repeatedly — not a normal-path limit.
55328
+ */
55329
+ declare const DEFAULT_MAX_DETACHED_RECONNECTS = 12;
55330
+ interface DetachedReconnectOptions {
55331
+ /**
55332
+ * Turn transparent reconnect OFF and hand back the raw stream, ending at the
55333
+ * detach frame. The documented escape hatch: a caller that wants to own the
55334
+ * reconnect (its own backoff, its own cursor storage, a handoff to another
55335
+ * process) sets this and drives the events route itself.
55336
+ */
55337
+ autoReconnect?: boolean;
55338
+ /** Safety stop; see {@link DEFAULT_MAX_DETACHED_RECONNECTS}. */
55339
+ maxReconnects?: number;
55340
+ /** Milliseconds to wait before each reconnect attempt. */
55341
+ reconnectDelayMs?: number;
55342
+ }
55343
+ /**
55344
+ * Link a caller's cancellation to the reconnect wrapper's own signal.
55345
+ *
55346
+ * Cancelling the wrapped stream must abort a reattach request that is already
55347
+ * opening, so a reattach honors BOTH signals rather than only the caller's.
55348
+ */
55349
+ declare function combineAbortSignals(...signals: Array<AbortSignal | undefined>): AbortSignal | undefined;
55350
+ /** Open the next leg of a detached turn. Returns `null` when it cannot. */
55351
+ type DetachedReattach = (args: {
55352
+ executionId: string;
55353
+ after: string;
55354
+ signal?: AbortSignal;
55355
+ }) => Promise<Response | null>;
55356
+ /**
55357
+ * Wrap a durable-turn SSE `Response` so a detach transparently continues.
55358
+ *
55359
+ * A non-streaming or failed response is returned untouched — there is nothing
55360
+ * to follow, and swallowing it here would hide the error from the caller.
55361
+ */
55362
+ declare function withDetachedReconnect(response: Response, reattach: DetachedReattach, options?: DetachedReconnectOptions): Response;
55363
+
53919
55364
  interface RuntypeConfig {
53920
55365
  /** API key for authentication */
53921
55366
  apiKey?: string;
@@ -53972,8 +55417,14 @@ declare class RuntypeClient$1 {
53972
55417
  * (`RuntypeFlowBuilder`), so it normalizes the request to the canonical
53973
55418
  * `/v1/dispatch` wire contract here — every builder path inherits the same
53974
55419
  * normalization the `DispatchEndpoint` applies, with no per-builder call.
55420
+ *
55421
+ * A dispatched agent turn runs on the durable lane, so the stream follows a
55422
+ * detach through {@link executionEvents}; pass `autoReconnect: false` to own
55423
+ * the reconnect yourself.
53975
55424
  */
53976
- dispatch(config: unknown): Promise<Response>;
55425
+ dispatch(config: unknown, init?: {
55426
+ signal?: AbortSignal;
55427
+ } & DetachedReconnectOptions): Promise<Response>;
53977
55428
  /**
53978
55429
  * Dispatch flow execution (non-streaming JSON).
53979
55430
  *
@@ -53985,6 +55436,26 @@ declare class RuntypeClient$1 {
53985
55436
  /** Start a normalized dispatch and return a durable handle immediately. */
53986
55437
  dispatchAsync(config: unknown): Promise<AsyncExecutionHandle>;
53987
55438
  getExecutionStatus(executionId: string): Promise<AsyncExecutionStatus>;
55439
+ /**
55440
+ * Rejoin a durable execution's Server-Sent Events by execution id.
55441
+ *
55442
+ * The execution-scoped alias of the agent events route, so a turn started
55443
+ * through `/v1/dispatch` reconnects without knowing which agent served it.
55444
+ * Pass the last SSE `id:` the stream delivered as `after` to replay strictly
55445
+ * past that cursor and then live-tail while the run is still going. This is
55446
+ * the same leg a detached dispatch stream follows on its own, exposed for a
55447
+ * caller that stores the cursor and reattaches later or from elsewhere.
55448
+ *
55449
+ * @example
55450
+ * ```typescript
55451
+ * const events = await client.executionEvents('aex_123', { after: '118' })
55452
+ * ```
55453
+ */
55454
+ executionEvents(executionId: string, opts?: {
55455
+ after?: string;
55456
+ conversationId?: string;
55457
+ signal?: AbortSignal;
55458
+ }): Promise<Response>;
53988
55459
  /**
53989
55460
  * Build full URL with query parameters
53990
55461
  */
@@ -54287,90 +55758,6 @@ declare class Runtype {
54287
55758
  static get surfaces(): SurfacesNamespace;
54288
55759
  }
54289
55760
 
54290
- /**
54291
- * Transparent reconnect for a DETACHED agent stream (ADR 0020 point 6;
54292
- * blueprint `2026-08-25-durable-by-default-agent-turns.md` §4).
54293
- *
54294
- * ## What the server does
54295
- *
54296
- * A durable agent turn runs inside a Durable Object, and the socket it streams
54297
- * over carries a WATCH LEASE (10 minutes by default), not the turn's lifetime.
54298
- * When the lease expires the server emits a unified `await` frame with
54299
- * `awaitReason: 'detached'` and CLOSES the stream — the execution keeps running
54300
- * server-side. Detach is part of the public contract, not an error:
54301
- *
54302
- * id: 118
54303
- * event: await
54304
- * data: {"type":"await","awaitReason":"detached","executionId":"aex_…",…}
54305
- *
54306
- * Raw-HTTP consumers get documented behavior. The SDKs are expected to follow
54307
- * it, which is what this module does: it reopens the turn through the events
54308
- * route with `?after=<last SSE id>` and keeps yielding frames until a real
54309
- * terminal arrives.
54310
- *
54311
- * ## Why it wraps the stream rather than the callbacks
54312
- *
54313
- * `executeStream` is the single place every consumer goes through
54314
- * (`executeWithCallbacks` and the local-tool loop both build on it), so
54315
- * wrapping the `Response` body makes reconnect transparent for all of them at
54316
- * once — and for a caller reading the raw stream by hand.
54317
- *
54318
- * Bytes are forwarded VERBATIM. This is not a re-encoder: it parses complete
54319
- * SSE blocks only to observe three things (the last `id:`, the executionId, and
54320
- * whether a terminal or a detach frame went by), and passes the original text
54321
- * straight through. That matters because the `id:` line IS the relay cursor —
54322
- * re-stamping it would break the very reconnect this exists to perform.
54323
- *
54324
- * ## Cursor and duplicate-freedom
54325
- *
54326
- * The server replays strictly AFTER the cursor, so a reconnect produces no
54327
- * duplicates. A cursor that is malformed or lost fails OPEN to a replay from
54328
- * the start of the turn, which is why the last-seen `id:` is tracked as the
54329
- * raw string rather than being parsed into a number here.
54330
- *
54331
- * ## The detach frame is not swallowed
54332
- *
54333
- * It is forwarded like any other frame. The wire vocabulary is unchanged, so a
54334
- * consumer that renders `await` states keeps rendering this one; the difference
54335
- * is only that the stream no longer ENDS there.
54336
- *
54337
- * The Python SDK mirrors this behavior — a follow-up, tracked with the rest of
54338
- * the SDK work in the blueprint's §4 slice 2.
54339
- */
54340
- /**
54341
- * How many times a single logical turn may be re-opened. A detached turn is
54342
- * bounded by its absolute budget (30 minutes by default, 24 hours at most) and
54343
- * each leg covers a full watch lease, so this is a safety stop against a server
54344
- * that detaches immediately and repeatedly — not a normal-path limit.
54345
- */
54346
- declare const DEFAULT_MAX_DETACHED_RECONNECTS = 12;
54347
- interface DetachedReconnectOptions {
54348
- /**
54349
- * Turn transparent reconnect OFF and hand back the raw stream, ending at the
54350
- * detach frame. The documented escape hatch: a caller that wants to own the
54351
- * reconnect (its own backoff, its own cursor storage, a handoff to another
54352
- * process) sets this and drives the events route itself.
54353
- */
54354
- autoReconnect?: boolean;
54355
- /** Safety stop; see {@link DEFAULT_MAX_DETACHED_RECONNECTS}. */
54356
- maxReconnects?: number;
54357
- /** Milliseconds to wait before each reconnect attempt. */
54358
- reconnectDelayMs?: number;
54359
- }
54360
- /** Open the next leg of a detached turn. Returns `null` when it cannot. */
54361
- type DetachedReattach = (args: {
54362
- executionId: string;
54363
- after: string;
54364
- signal?: AbortSignal;
54365
- }) => Promise<Response | null>;
54366
- /**
54367
- * Wrap a durable-turn SSE `Response` so a detach transparently continues.
54368
- *
54369
- * A non-streaming or failed response is returned untouched — there is nothing
54370
- * to follow, and swallowing it here would hide the error from the caller.
54371
- */
54372
- declare function withDetachedReconnect(response: Response, reattach: DetachedReattach, options?: DetachedReconnectOptions): Response;
54373
-
54374
55761
  /**
54375
55762
  * Agent API key request types.
54376
55763
  *
@@ -54973,6 +56360,20 @@ interface ApiClient {
54973
56360
  postBinary<T>(path: string, body: Uint8Array, contentType: string): Promise<T>;
54974
56361
  requestStream(path: string, options?: RequestInit): Promise<Response>;
54975
56362
  }
56363
+ /**
56364
+ * Path of the execution-scoped events alias,
56365
+ * `GET /v1/executions/{executionId}/events`.
56366
+ *
56367
+ * The reconnect leg a dispatch-started durable turn rejoins through: it names
56368
+ * no agent, because the alias resolves the agent from the execution's own
56369
+ * persisted record. Single-sourced here so the transparent reattach inside
56370
+ * `DispatchEndpoint.executeStream` and the explicit `executionEvents` method on
56371
+ * the client build the same URL, cursor and session key included.
56372
+ */
56373
+ declare function buildExecutionEventsPath(executionId: string, query?: {
56374
+ after?: string;
56375
+ conversationId?: string;
56376
+ }): string;
54976
56377
  /**
54977
56378
  * Flows endpoint handlers
54978
56379
  */
@@ -55540,8 +56941,23 @@ declare class DispatchEndpoint {
55540
56941
  executeAsync(data: DispatchRequest): Promise<AsyncExecutionHandle>;
55541
56942
  /**
55542
56943
  * Dispatch with streaming response
56944
+ *
56945
+ * A dispatched agent turn runs on the durable lane, so its socket can close
56946
+ * with `await` / `awaitReason: 'detached'` while the run continues. The
56947
+ * stream follows that detach through the execution-scoped events alias;
56948
+ * `autoReconnect: false` hands back the raw stream instead.
56949
+ */
56950
+ executeStream(data: DispatchRequest, init?: {
56951
+ signal?: AbortSignal;
56952
+ } & DetachedReconnectOptions): Promise<Response>;
56953
+ /**
56954
+ * The `?after=` reattach leg a detached dispatch stream is followed with.
56955
+ *
56956
+ * Unlike an agent execute, a dispatch knows no agent id at the call site, so
56957
+ * it rejoins by execution id alone through the execution-scoped alias. The
56958
+ * cursor is the last SSE `id:` the stream delivered, forwarded verbatim.
55543
56959
  */
55544
- executeStream(data: DispatchRequest): Promise<Response>;
56960
+ private buildDetachedReattach;
55545
56961
  /**
55546
56962
  * Resume paused flow execution
55547
56963
  * Uses buffered JSON when streamResponse is omitted.
@@ -55652,6 +57068,12 @@ declare class AnalyticsEndpoint {
55652
57068
  * Get execution and platform-spend usage grouped by projected product end user.
55653
57069
  */
55654
57070
  getEndUserUsage(params: EndUserUsageQuery): Promise<EndUserUsageResponse>;
57071
+ /**
57072
+ * Get reliability, latency, unit economics, and eval health for the current
57073
+ * period against the preceding period of equal length, plus a derived feed of
57074
+ * notable changes.
57075
+ */
57076
+ getProductionHealth(params?: ProductionHealthQuery): Promise<ProductionHealthResponse>;
55655
57077
  }
55656
57078
  /**
55657
57079
  * Flow Steps endpoint handlers
@@ -55794,7 +57216,7 @@ declare class ToolsEndpoint {
55794
57216
  */
55795
57217
  getBuiltInToolSchema(toolId: string): Promise<BuiltInTool>;
55796
57218
  /**
55797
- * Deploy code to a persistent Daytona sandbox and get a preview URL
57219
+ * Deploy a Daytona preview; retention defaults to ten minutes and the URL is not durable hosting.
55798
57220
  */
55799
57221
  deploySandbox(data: DeploySandboxRequest): Promise<DeploySandboxResponse>;
55800
57222
  /**
@@ -55802,7 +57224,7 @@ declare class ToolsEndpoint {
55802
57224
  */
55803
57225
  cleanupSandbox(sandboxId: string): Promise<void>;
55804
57226
  /**
55805
- * Deploy code to a persistent Cloudflare Sandbox container and get a preview URL
57227
+ * Deploy a Runtype Sandbox preview; omitted retention preserves the legacy unlimited backstop.
55806
57228
  */
55807
57229
  deployCfSandbox(data: DeployCfSandboxRequest): Promise<DeployCfSandboxResponse>;
55808
57230
  /**
@@ -56623,6 +58045,16 @@ interface AgentExecuteRequest {
56623
58045
  * Mirrors `DispatchRequest.options.cache`.
56624
58046
  */
56625
58047
  cache?: boolean;
58048
+ /**
58049
+ * Per-request durability override. `forced` pins this turn's lane and outranks the saved
58050
+ * agent's `config.durability` pin; `watchLeaseMs` bounds only the single attached socket,
58051
+ * after which the watcher detaches and the turn keeps running. Durability does not imply
58052
+ * async: `Prefer: respond-async` stays a separate choice. Mirrors `DispatchRequest.agent.durability`.
58053
+ */
58054
+ durability?: {
58055
+ forced?: 'durable' | 'in_process';
58056
+ watchLeaseMs?: number;
58057
+ };
56626
58058
  }
56627
58059
  /**
56628
58060
  * Agent execute response (non-streaming)
@@ -59363,4 +60795,4 @@ declare function getLikelySupportingCandidatePaths(bestCandidatePath: string | u
59363
60795
  declare function getDefaultPlanPath(taskName: string): string;
59364
60796
  declare function sanitizeTaskSlug(taskName: string): string;
59365
60797
 
59366
- export { type AIGrader, type Agent, type AgentAdmissionOptions, 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_MAX_DETACHED_RECONNECTS, 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 DetachedReattach, type DetachedReconnectOptions, 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 SlackAppStatusResponse, 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 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 VersionPublishOptions, 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, buildAgentAdmissionHeaders, buildEmptySessionNudge, buildGeneratedRuntimeToolGateOutput, buildLedgerOffloadReference, buildObservationMaskMarker, 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, withDetachedReconnect, withUnifiedEvents };
60798
+ export { type AIGrader, type Agent, type AgentAdmissionOptions, 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_MAX_DETACHED_RECONNECTS, 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 DetachedReattach, type DetachedReconnectOptions, 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 ExecutionCounts, 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 HealthInsight, 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 MetricDelta, 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, type ProductionHealthQuery, type ProductionHealthResponse, 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 SandboxDeployEffectivePolicy, type SandboxDeployRetention, type SandboxDeploySleepPolicy, 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 SlackAppStatusResponse, 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 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 VersionPublishOptions, 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, buildAgentAdmissionHeaders, buildEmptySessionNudge, buildExecutionEventsPath, buildGeneratedRuntimeToolGateOutput, buildLedgerOffloadReference, buildObservationMaskMarker, buildPolicyGuidance, buildSendViewOffloadMarker, calledTool, combineAbortSignals, 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, withDetachedReconnect, withUnifiedEvents };