@aexhq/sdk 0.46.4-canary → 0.50.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.
Files changed (337) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +38 -0
  3. package/README.md +23 -31
  4. package/dist/client/aex.d.ts +33 -0
  5. package/dist/client/aex.js +98 -0
  6. package/dist/client/aex.js.map +1 -0
  7. package/dist/client/credentials.d.ts +25 -0
  8. package/dist/client/credentials.js +97 -0
  9. package/dist/client/credentials.js.map +1 -0
  10. package/dist/client/routing.d.ts +7 -0
  11. package/dist/client/routing.js +29 -0
  12. package/dist/client/routing.js.map +1 -0
  13. package/dist/downloads/download.d.ts +25 -0
  14. package/dist/downloads/download.js +53 -0
  15. package/dist/downloads/download.js.map +1 -0
  16. package/dist/generated/errors.d.ts +12 -0
  17. package/dist/generated/errors.js +81 -0
  18. package/dist/generated/errors.js.map +1 -0
  19. package/dist/generated/resources.d.ts +730 -0
  20. package/dist/generated/resources.js +606 -0
  21. package/dist/generated/resources.js.map +1 -0
  22. package/dist/generated/routes.d.ts +42 -0
  23. package/dist/generated/routes.js +2101 -0
  24. package/dist/generated/routes.js.map +1 -0
  25. package/dist/index.d.ts +20 -50
  26. package/dist/index.js +11 -62
  27. package/dist/index.js.map +1 -1
  28. package/dist/observations/stream.d.ts +1 -0
  29. package/dist/observations/stream.js +18 -0
  30. package/dist/observations/stream.js.map +1 -0
  31. package/dist/transport/errors.d.ts +60 -0
  32. package/dist/transport/errors.js +107 -0
  33. package/dist/transport/errors.js.map +1 -0
  34. package/dist/transport/pagination.d.ts +8 -0
  35. package/dist/transport/pagination.js +34 -0
  36. package/dist/transport/pagination.js.map +1 -0
  37. package/dist/transport/retry.d.ts +21 -0
  38. package/dist/transport/retry.js +37 -0
  39. package/dist/transport/retry.js.map +1 -0
  40. package/dist/transport/transport.d.ts +25 -0
  41. package/dist/transport/transport.js +28 -0
  42. package/dist/transport/transport.js.map +1 -0
  43. package/package.json +63 -30
  44. package/dist/_contracts/account-operations.d.ts +0 -101
  45. package/dist/_contracts/account-operations.js +0 -242
  46. package/dist/_contracts/account-types.d.ts +0 -461
  47. package/dist/_contracts/account-types.js +0 -1
  48. package/dist/_contracts/api-key.d.ts +0 -61
  49. package/dist/_contracts/api-key.js +0 -101
  50. package/dist/_contracts/api-routes.d.ts +0 -20
  51. package/dist/_contracts/api-routes.js +0 -109
  52. package/dist/_contracts/archive-limits.d.ts +0 -3
  53. package/dist/_contracts/archive-limits.js +0 -23
  54. package/dist/_contracts/asset-authoring.d.ts +0 -22
  55. package/dist/_contracts/asset-authoring.js +0 -106
  56. package/dist/_contracts/asset-bundle.d.ts +0 -64
  57. package/dist/_contracts/asset-bundle.js +0 -263
  58. package/dist/_contracts/asset-upload-helper.d.ts +0 -31
  59. package/dist/_contracts/asset-upload-helper.js +0 -84
  60. package/dist/_contracts/billing-admission.d.ts +0 -29
  61. package/dist/_contracts/billing-admission.js +0 -28
  62. package/dist/_contracts/bundle-manifest.d.ts +0 -89
  63. package/dist/_contracts/bundle-manifest.js +0 -158
  64. package/dist/_contracts/canonical-sha256.d.ts +0 -8
  65. package/dist/_contracts/canonical-sha256.js +0 -8
  66. package/dist/_contracts/connection-ticket.d.ts +0 -22
  67. package/dist/_contracts/connection-ticket.js +0 -54
  68. package/dist/_contracts/continuation-event.d.ts +0 -31
  69. package/dist/_contracts/continuation-event.js +0 -6
  70. package/dist/_contracts/contract-parse-error.d.ts +0 -12
  71. package/dist/_contracts/contract-parse-error.js +0 -51
  72. package/dist/_contracts/error-codes.d.ts +0 -26
  73. package/dist/_contracts/error-codes.js +0 -116
  74. package/dist/_contracts/error-factory.d.ts +0 -32
  75. package/dist/_contracts/error-factory.js +0 -174
  76. package/dist/_contracts/event-envelope.d.ts +0 -471
  77. package/dist/_contracts/event-envelope.js +0 -501
  78. package/dist/_contracts/event-stream-client.d.ts +0 -122
  79. package/dist/_contracts/event-stream-client.js +0 -445
  80. package/dist/_contracts/event-view.d.ts +0 -44
  81. package/dist/_contracts/event-view.js +0 -69
  82. package/dist/_contracts/failure-class.d.ts +0 -29
  83. package/dist/_contracts/failure-class.js +0 -73
  84. package/dist/_contracts/http.d.ts +0 -135
  85. package/dist/_contracts/http.js +0 -434
  86. package/dist/_contracts/ids.d.ts +0 -66
  87. package/dist/_contracts/ids.js +0 -119
  88. package/dist/_contracts/index.d.ts +0 -42
  89. package/dist/_contracts/index.js +0 -52
  90. package/dist/_contracts/internal.d.ts +0 -55
  91. package/dist/_contracts/internal.js +0 -113
  92. package/dist/_contracts/models.d.ts +0 -30
  93. package/dist/_contracts/models.js +0 -28
  94. package/dist/_contracts/operation-core.d.ts +0 -36
  95. package/dist/_contracts/operation-core.js +0 -70
  96. package/dist/_contracts/operations.d.ts +0 -218
  97. package/dist/_contracts/operations.js +0 -1496
  98. package/dist/_contracts/otlp-projection.d.ts +0 -78
  99. package/dist/_contracts/otlp-projection.js +0 -171
  100. package/dist/_contracts/post-hook.d.ts +0 -31
  101. package/dist/_contracts/post-hook.js +0 -61
  102. package/dist/_contracts/provider-fault.d.ts +0 -34
  103. package/dist/_contracts/provider-fault.js +0 -68
  104. package/dist/_contracts/retry-core.d.ts +0 -29
  105. package/dist/_contracts/retry-core.js +0 -79
  106. package/dist/_contracts/runner-event.d.ts +0 -117
  107. package/dist/_contracts/runner-event.js +0 -172
  108. package/dist/_contracts/runtime-kind.d.ts +0 -60
  109. package/dist/_contracts/runtime-kind.js +0 -70
  110. package/dist/_contracts/runtime-manifest.d.ts +0 -121
  111. package/dist/_contracts/runtime-manifest.js +0 -83
  112. package/dist/_contracts/runtime-security-profile.d.ts +0 -26
  113. package/dist/_contracts/runtime-security-profile.js +0 -73
  114. package/dist/_contracts/runtime-sizes.d.ts +0 -104
  115. package/dist/_contracts/runtime-sizes.js +0 -111
  116. package/dist/_contracts/runtime-types.d.ts +0 -618
  117. package/dist/_contracts/runtime-types.js +0 -58
  118. package/dist/_contracts/schemas/asset-bundle.d.ts +0 -70
  119. package/dist/_contracts/schemas/asset-bundle.js +0 -107
  120. package/dist/_contracts/schemas/asset-ref.d.ts +0 -61
  121. package/dist/_contracts/schemas/asset-ref.js +0 -118
  122. package/dist/_contracts/schemas/bundle-manifest.d.ts +0 -66
  123. package/dist/_contracts/schemas/bundle-manifest.js +0 -77
  124. package/dist/_contracts/schemas/index.d.ts +0 -32
  125. package/dist/_contracts/schemas/index.js +0 -30
  126. package/dist/_contracts/schemas/mcp-server.d.ts +0 -99
  127. package/dist/_contracts/schemas/mcp-server.js +0 -209
  128. package/dist/_contracts/schemas/models.d.ts +0 -29
  129. package/dist/_contracts/schemas/models.js +0 -51
  130. package/dist/_contracts/schemas/numeric.d.ts +0 -18
  131. package/dist/_contracts/schemas/numeric.js +0 -28
  132. package/dist/_contracts/schemas/post-hook.d.ts +0 -45
  133. package/dist/_contracts/schemas/post-hook.js +0 -68
  134. package/dist/_contracts/schemas/response-assets.d.ts +0 -75
  135. package/dist/_contracts/schemas/response-assets.js +0 -81
  136. package/dist/_contracts/schemas/response-billing.d.ts +0 -208
  137. package/dist/_contracts/schemas/response-billing.js +0 -139
  138. package/dist/_contracts/schemas/response-common.d.ts +0 -132
  139. package/dist/_contracts/schemas/response-common.js +0 -162
  140. package/dist/_contracts/schemas/response-identity.d.ts +0 -648
  141. package/dist/_contracts/schemas/response-identity.js +0 -131
  142. package/dist/_contracts/schemas/response-mcp-servers.d.ts +0 -51
  143. package/dist/_contracts/schemas/response-mcp-servers.js +0 -32
  144. package/dist/_contracts/schemas/response-secrets.d.ts +0 -50
  145. package/dist/_contracts/schemas/response-secrets.js +0 -32
  146. package/dist/_contracts/schemas/response-sessions-internal.d.ts +0 -200
  147. package/dist/_contracts/schemas/response-sessions-internal.js +0 -142
  148. package/dist/_contracts/schemas/response-sessions.d.ts +0 -1598
  149. package/dist/_contracts/schemas/response-sessions.js +0 -377
  150. package/dist/_contracts/schemas/response-webhooks.d.ts +0 -76
  151. package/dist/_contracts/schemas/response-webhooks.js +0 -42
  152. package/dist/_contracts/schemas/response-workspace.d.ts +0 -225
  153. package/dist/_contracts/schemas/response-workspace.js +0 -99
  154. package/dist/_contracts/schemas/runtime-kind.d.ts +0 -31
  155. package/dist/_contracts/schemas/runtime-kind.js +0 -29
  156. package/dist/_contracts/schemas/runtime-security-profile.d.ts +0 -28
  157. package/dist/_contracts/schemas/runtime-security-profile.js +0 -26
  158. package/dist/_contracts/schemas/runtime-sizes.d.ts +0 -70
  159. package/dist/_contracts/schemas/runtime-sizes.js +0 -127
  160. package/dist/_contracts/schemas/session-limits.d.ts +0 -34
  161. package/dist/_contracts/schemas/session-limits.js +0 -39
  162. package/dist/_contracts/schemas/session-machine.d.ts +0 -23
  163. package/dist/_contracts/schemas/session-machine.js +0 -24
  164. package/dist/_contracts/schemas/session-request-config.d.ts +0 -58
  165. package/dist/_contracts/schemas/session-request-config.js +0 -134
  166. package/dist/_contracts/schemas/session-webhook.d.ts +0 -11
  167. package/dist/_contracts/schemas/session-webhook.js +0 -38
  168. package/dist/_contracts/schemas/side-effect-audit.d.ts +0 -98
  169. package/dist/_contracts/schemas/side-effect-audit.js +0 -102
  170. package/dist/_contracts/schemas/submission-assets.d.ts +0 -117
  171. package/dist/_contracts/schemas/submission-assets.js +0 -147
  172. package/dist/_contracts/schemas/submission-body.d.ts +0 -251
  173. package/dist/_contracts/schemas/submission-body.js +0 -378
  174. package/dist/_contracts/schemas/submission-environment.d.ts +0 -79
  175. package/dist/_contracts/schemas/submission-environment.js +0 -179
  176. package/dist/_contracts/schemas/submission-request.d.ts +0 -158
  177. package/dist/_contracts/schemas/submission-request.js +0 -49
  178. package/dist/_contracts/schemas/submission-secrets.d.ts +0 -47
  179. package/dist/_contracts/schemas/submission-secrets.js +0 -108
  180. package/dist/_contracts/schemas/wire.d.ts +0 -118
  181. package/dist/_contracts/schemas/wire.js +0 -171
  182. package/dist/_contracts/schemas/workspace-resources.d.ts +0 -50
  183. package/dist/_contracts/schemas/workspace-resources.js +0 -87
  184. package/dist/_contracts/sdk-errors.d.ts +0 -212
  185. package/dist/_contracts/sdk-errors.js +0 -313
  186. package/dist/_contracts/sdk-secrets.d.ts +0 -67
  187. package/dist/_contracts/sdk-secrets.js +0 -427
  188. package/dist/_contracts/session-archive.d.ts +0 -16
  189. package/dist/_contracts/session-archive.js +0 -92
  190. package/dist/_contracts/session-artifacts.d.ts +0 -189
  191. package/dist/_contracts/session-artifacts.js +0 -264
  192. package/dist/_contracts/session-config.d.ts +0 -373
  193. package/dist/_contracts/session-config.js +0 -562
  194. package/dist/_contracts/session-cost-types.d.ts +0 -211
  195. package/dist/_contracts/session-cost-types.js +0 -69
  196. package/dist/_contracts/session-cost.d.ts +0 -8
  197. package/dist/_contracts/session-cost.js +0 -582
  198. package/dist/_contracts/session-custody.d.ts +0 -165
  199. package/dist/_contracts/session-custody.js +0 -345
  200. package/dist/_contracts/session-file-query.d.ts +0 -14
  201. package/dist/_contracts/session-file-query.js +0 -178
  202. package/dist/_contracts/session-record.d.ts +0 -112
  203. package/dist/_contracts/session-record.js +0 -165
  204. package/dist/_contracts/session-retention.d.ts +0 -201
  205. package/dist/_contracts/session-retention.js +0 -450
  206. package/dist/_contracts/side-effect-audit.d.ts +0 -126
  207. package/dist/_contracts/side-effect-audit.js +0 -520
  208. package/dist/_contracts/sse.d.ts +0 -74
  209. package/dist/_contracts/sse.js +0 -227
  210. package/dist/_contracts/stable.d.ts +0 -45
  211. package/dist/_contracts/stable.js +0 -62
  212. package/dist/_contracts/status.d.ts +0 -25
  213. package/dist/_contracts/status.js +0 -57
  214. package/dist/_contracts/submission-limits.d.ts +0 -61
  215. package/dist/_contracts/submission-limits.js +0 -60
  216. package/dist/_contracts/submission.d.ts +0 -547
  217. package/dist/_contracts/submission.js +0 -812
  218. package/dist/_contracts/suggest.d.ts +0 -15
  219. package/dist/_contracts/suggest.js +0 -53
  220. package/dist/_contracts/testing/response-bindings.d.ts +0 -45
  221. package/dist/_contracts/testing/response-bindings.js +0 -256
  222. package/dist/_contracts/testing/wire-conformance-entry.d.ts +0 -10
  223. package/dist/_contracts/testing/wire-conformance-entry.js +0 -8
  224. package/dist/_contracts/testing/wire-conformance.d.ts +0 -169
  225. package/dist/_contracts/testing/wire-conformance.js +0 -276
  226. package/dist/_contracts/turn-trace.d.ts +0 -28
  227. package/dist/_contracts/turn-trace.js +0 -1
  228. package/dist/_contracts/unknown-field-error.d.ts +0 -13
  229. package/dist/_contracts/unknown-field-error.js +0 -21
  230. package/dist/_contracts/value-guards.d.ts +0 -20
  231. package/dist/_contracts/value-guards.js +0 -34
  232. package/dist/_contracts/webhook-verify.d.ts +0 -34
  233. package/dist/_contracts/webhook-verify.js +0 -93
  234. package/dist/_contracts/wire-observer.d.ts +0 -49
  235. package/dist/_contracts/wire-observer.js +0 -34
  236. package/dist/_contracts/workflow-status.d.ts +0 -7
  237. package/dist/_contracts/workflow-status.js +0 -43
  238. package/dist/_contracts/workspace-resources.d.ts +0 -98
  239. package/dist/_contracts/workspace-resources.js +0 -39
  240. package/dist/archive-limits.d.ts +0 -1
  241. package/dist/archive-limits.js +0 -2
  242. package/dist/archive-limits.js.map +0 -1
  243. package/dist/asset-upload.d.ts +0 -47
  244. package/dist/asset-upload.js +0 -269
  245. package/dist/asset-upload.js.map +0 -1
  246. package/dist/bundle.d.ts +0 -9
  247. package/dist/bundle.js +0 -20
  248. package/dist/bundle.js.map +0 -1
  249. package/dist/canonical-zip.d.ts +0 -68
  250. package/dist/canonical-zip.js +0 -355
  251. package/dist/canonical-zip.js.map +0 -1
  252. package/dist/cli.mjs +0 -12048
  253. package/dist/cli.mjs.sha256 +0 -1
  254. package/dist/client-types.d.ts +0 -192
  255. package/dist/client-types.js +0 -2
  256. package/dist/client-types.js.map +0 -1
  257. package/dist/client.d.ts +0 -464
  258. package/dist/client.js +0 -1207
  259. package/dist/client.js.map +0 -1
  260. package/dist/event-projection.d.ts +0 -22
  261. package/dist/event-projection.js +0 -380
  262. package/dist/event-projection.js.map +0 -1
  263. package/dist/fetch-archive.d.ts +0 -16
  264. package/dist/fetch-archive.js +0 -252
  265. package/dist/fetch-archive.js.map +0 -1
  266. package/dist/file.d.ts +0 -96
  267. package/dist/file.js +0 -272
  268. package/dist/file.js.map +0 -1
  269. package/dist/instructions.d.ts +0 -20
  270. package/dist/instructions.js +0 -40
  271. package/dist/instructions.js.map +0 -1
  272. package/dist/legacy-session-provider-fault.d.ts +0 -7
  273. package/dist/legacy-session-provider-fault.js +0 -38
  274. package/dist/legacy-session-provider-fault.js.map +0 -1
  275. package/dist/mcp-server.d.ts +0 -84
  276. package/dist/mcp-server.js +0 -117
  277. package/dist/mcp-server.js.map +0 -1
  278. package/dist/node-fs.d.ts +0 -29
  279. package/dist/node-fs.js +0 -19
  280. package/dist/node-fs.js.map +0 -1
  281. package/dist/node-walk.d.ts +0 -69
  282. package/dist/node-walk.js +0 -151
  283. package/dist/node-walk.js.map +0 -1
  284. package/dist/path-basename.d.ts +0 -5
  285. package/dist/path-basename.js +0 -9
  286. package/dist/path-basename.js.map +0 -1
  287. package/dist/retry.d.ts +0 -70
  288. package/dist/retry.js +0 -155
  289. package/dist/retry.js.map +0 -1
  290. package/dist/secret.d.ts +0 -65
  291. package/dist/secret.js +0 -110
  292. package/dist/secret.js.map +0 -1
  293. package/dist/session-validate.d.ts +0 -100
  294. package/dist/session-validate.js +0 -303
  295. package/dist/session-validate.js.map +0 -1
  296. package/dist/skill.d.ts +0 -99
  297. package/dist/skill.js +0 -169
  298. package/dist/skill.js.map +0 -1
  299. package/dist/submission-wire.d.ts +0 -13
  300. package/dist/submission-wire.js +0 -69
  301. package/dist/submission-wire.js.map +0 -1
  302. package/dist/tool.d.ts +0 -41
  303. package/dist/tool.js +0 -76
  304. package/dist/tool.js.map +0 -1
  305. package/dist/version.d.ts +0 -9
  306. package/dist/version.js +0 -10
  307. package/dist/version.js.map +0 -1
  308. package/docs/authentication.md +0 -125
  309. package/docs/billing.md +0 -164
  310. package/docs/cleanup.md +0 -27
  311. package/docs/concepts/agent-tools.md +0 -47
  312. package/docs/concepts/composition.md +0 -60
  313. package/docs/concepts/providers-and-runtimes.md +0 -121
  314. package/docs/concepts/sessions.md +0 -51
  315. package/docs/concepts/subagents.md +0 -35
  316. package/docs/credentials.md +0 -116
  317. package/docs/defaults.md +0 -51
  318. package/docs/errors.md +0 -258
  319. package/docs/events.md +0 -143
  320. package/docs/files.md +0 -130
  321. package/docs/limits-and-quotas.md +0 -114
  322. package/docs/limits.md +0 -51
  323. package/docs/mcp.md +0 -47
  324. package/docs/networking.md +0 -114
  325. package/docs/provider-runtime-capabilities.md +0 -32
  326. package/docs/public-surface.json +0 -73
  327. package/docs/quickstart.md +0 -135
  328. package/docs/release.md +0 -44
  329. package/docs/retries.md +0 -108
  330. package/docs/secrets.md +0 -141
  331. package/docs/session-config.md +0 -51
  332. package/docs/session-record.md +0 -58
  333. package/docs/skills.md +0 -65
  334. package/docs/telemetry.md +0 -66
  335. package/docs/testing.md +0 -35
  336. package/docs/vision-skills.md +0 -94
  337. package/docs/webhooks.md +0 -143
@@ -1,547 +0,0 @@
1
- import type { McpServerRef } from "./session-config.js";
2
- import { type RuntimeSize } from "./runtime-sizes.js";
3
- import type { RuntimeKind } from "./runtime-kind.js";
4
- import type { ModelName } from "./models.js";
5
- import type { RuntimeSecurityProfileName } from "./runtime-security-profile.js";
6
- import type { SubmissionAssets } from "./workspace-resources.js";
7
- import { OUTPUT_MODES, RESPONSE_FORMAT_KINDS } from "./schemas/submission-body.js";
8
- import { type JsonValue } from "./value-guards.js";
9
- export type { JsonPrimitive, JsonValue } from "./value-guards.js";
10
- /**
11
- * Networking + runtime-package snapshot carried inside a flat submission
12
- * so the hosted API can deep-clone and mutate it per session (e.g. injecting the
13
- * proxy hostname into `allowed_hosts`) without sharing state across
14
- * concurrent sessions.
15
- *
16
- * `envVars` is the customer-controlled key/value bag delivered into the
17
- * managed container process and mirrored in the mounted `RUNTIME.env` /
18
- * `RUNTIME.json` files. The same keys become `__KEY__` substitution targets
19
- * in agent-facing markdown inside skill / instruction / file bundles. Aex-set
20
- * runtime keys use the reserved `AEX_*` prefix; customer keys MUST NOT
21
- * collide with that prefix.
22
- */
23
- export interface PlatformEnvironment {
24
- readonly networking?: PlatformNetworking;
25
- readonly packages?: readonly PlatformPackage[];
26
- readonly envVars?: Readonly<Record<string, string>>;
27
- }
28
- /**
29
- * Wire/input form of {@link PlatformEnvironment}, i.e. what a customer hands
30
- * to the SDK / sends to the submission endpoint BEFORE parsing. Identical to
31
- * the parsed shape except `packages` use the customer-supplied
32
- * {@link PlatformPackageInput} (prefixed name, no `ecosystem`). The shared
33
- * parser resolves it into a {@link PlatformEnvironment}.
34
- */
35
- export type PlatformEnvironmentInput = Omit<PlatformEnvironment, "packages"> & {
36
- readonly packages?: readonly PlatformPackageInput[];
37
- };
38
- export { AEX_RESERVED_ENV_PREFIX, ENV_VARS_MAX_ENTRIES, ENV_VARS_MAX_VALUE_BYTES, ENV_VARS_MAX_TOTAL_BYTES, PLATFORM_PACKAGE_ECOSYSTEMS } from "./submission-limits.js";
39
- export type { PlatformPackageEcosystem } from "./submission-limits.js";
40
- import type { PlatformPackageEcosystem } from "./submission-limits.js";
41
- export interface PlatformNetworking {
42
- readonly mode: "limited" | "open";
43
- /** Lowercase host names. The hosted API always appends the proxy host. */
44
- readonly allowedHosts?: readonly string[];
45
- }
46
- export interface PlatformPackage {
47
- readonly name: string;
48
- readonly version?: string;
49
- readonly ecosystem: PlatformPackageEcosystem;
50
- }
51
- /**
52
- * Submission package as the CUSTOMER supplies it on the wire: the target
53
- * ecosystem is encoded as an optional `name` prefix (`"pip:pandas"`,
54
- * `"npm:express"`, `"apt:ffmpeg"`; an unprefixed name defaults to `apt`).
55
- * Customers never set `ecosystem` directly — `parsePackages` resolves it and
56
- * the submission schema rejects `ecosystem` as an unknown field. The parsed
57
- * result is a {@link PlatformPackage} (bare `name` + explicit `ecosystem`).
58
- */
59
- export interface PlatformPackageInput {
60
- readonly name: string;
61
- readonly version?: string;
62
- }
63
- /**
64
- * Render a parsed {@link PlatformPackage} as the version-embedded install
65
- * string used by runtime materialization. The join differs per manager:
66
- * - pip → `name==version`
67
- * - npm → `name@version`
68
- * - apt → `name=version`
69
- * With no `version`, just the bare `name`. Pure; used by the managed runner
70
- * package installer.
71
- */
72
- export declare function packageInstallString(pkg: PlatformPackage): string;
73
- /**
74
- * A serving-provider label. Under the managed Vercel AI Gateway there is NO
75
- * public provider selector and no closed provider set — routing is the
76
- * gateway's job. This thin alias survives only because telemetry / cost /
77
- * custody records still carry the *serving provider string* reported by the
78
- * gateway's generation info (e.g. `"anthropic"`, `"deepseek"`); it is an open
79
- * string, never a customer input.
80
- */
81
- export type ProviderName = string;
82
- export interface PlatformMcpServerSecret {
83
- readonly name: string;
84
- readonly url: string;
85
- readonly headers?: Record<string, string>;
86
- }
87
- /**
88
- * Per-session inline secrets bundle. Under managed gateway keys the customer
89
- * supplies NO provider API keys — the platform's single managed gateway key
90
- * routes all model traffic. This bundle carries only non-LLM secret material:
91
- * `mcpServers` credentials (an MCP credential is the same secret whichever
92
- * model is driving the MCP client) and per-session `envSecrets`.
93
- */
94
- export interface PlatformInlineSecrets {
95
- readonly mcpServers?: readonly PlatformMcpServerSecret[];
96
- /**
97
- * Per-session env-var secret VALUES, keyed by env name. Each entry pairs with a
98
- * `submission.secretEnv[<envName>] = { ephemeral: true }` declaration. Lives
99
- * in the secrets channel so it is vaulted and excluded from the idempotency
100
- * hash; the runtime injects it as the named env var and it is deleted at the
101
- * session's terminal. Workspace `{ ref }` bindings resolve server-side and never
102
- * appear here.
103
- */
104
- readonly envSecrets?: Readonly<Record<string, string>>;
105
- }
106
- export declare const SECRETS_KEY = "secrets";
107
- /**
108
- * The `secretEnv` grammars, declared in the leaf bounds module so
109
- * `schemas/submission-body.ts` can enforce them without importing this file
110
- * back, and re-exported here so the published surface is unchanged.
111
- */
112
- export { SECRET_ENV_NAME_PATTERN, SECRET_HANDLE_PATTERN } from "./submission-limits.js";
113
- /**
114
- * One `submission.secretEnv` entry — VALUE-FREE, so it rides the (hashed)
115
- * submission safely. `{ ref }` resolves a workspace secret server-side;
116
- * `{ ephemeral: true }` pairs with a `secrets.envSecrets[<envName>]` value
117
- * (per-session, vaulted, deleted at the session's terminal).
118
- */
119
- export type PlatformSecretEnvEntry = {
120
- readonly ref: string;
121
- } | {
122
- readonly ephemeral: true;
123
- };
124
- export declare const deniedSecretFields: Set<string>;
125
- /**
126
- * Cross-check `submission.secretEnv` declarations against `secrets.envSecrets`
127
- * values:
128
- *
129
- * - `{ ephemeral: true }` MUST have a matching `secrets.envSecrets` value.
130
- * - `{ ref }` MUST NOT supply a value (the value lives in the workspace store).
131
- * - every `secrets.envSecrets` value MUST have a matching `{ ephemeral: true }`
132
- * declaration (no orphan values that would never be injected).
133
- */
134
- export declare function crossValidateSecretEnvAndValues(secretEnv: Readonly<Record<string, PlatformSecretEnvEntry>> | undefined, envSecrets: Readonly<Record<string, string>> | undefined): void;
135
- export declare function parseInlineSecrets(input: unknown): PlatformInlineSecrets;
136
- export declare function assertNoSecretBearingFields(input: unknown, path: readonly string[]): void;
137
- export declare function requireRecord(input: unknown, field: string): Record<string, unknown>;
138
- export declare function requireString(input: unknown, field: string): string;
139
- export declare function optionalString(input: unknown, field: string): string | undefined;
140
- export declare function optionalEnum<const T extends readonly string[]>(input: unknown, field: string, allowed: T): T[number] | undefined;
141
- export declare function optionalPositiveInt(input: unknown, field: string): number | undefined;
142
- /**
143
- * A finite positive NUMBER (fractional allowed — e.g. a USD amount like `2.5`), or
144
- * undefined when absent. Rejects non-numbers, NaN/Infinity, and `<= 0`.
145
- */
146
- export declare function optionalPositiveNumber(input: unknown, field: string): number | undefined;
147
- /**
148
- * Wire-level submission posted to /api/sessions in the flat surface. The
149
- * `prompt` is always an array internally so the hosted API, the audit log,
150
- * and the BFF idempotency hash all see one shape. `mcpServers` carries
151
- * only the non-secret half; bearer headers travel in
152
- * `secrets.mcpServers` keyed by `name`.
153
- *
154
- * Reusable resources are immutable, version-pinned refs grouped under `assets`.
155
- * Builtin capabilities and MCP servers remain separate submission fields.
156
- */
157
- export interface PlatformSubmission {
158
- readonly model: ModelName;
159
- readonly system?: string;
160
- readonly prompt: readonly string[];
161
- /** Immutable, version-pinned workspace resources materialized for this run. */
162
- readonly assets: SubmissionAssets;
163
- readonly mcpServers: readonly McpServerRef[];
164
- /**
165
- * Env-var secret bindings — VALUE-FREE declarations keyed by env name. Each
166
- * value is `{ ref }` (resolve a workspace secret server-side) or
167
- * `{ ephemeral: true }` (value supplied in `secrets.envSecrets`, vaulted and
168
- * deleted at terminal). The runtime injects the resolved value as the named
169
- * env var. Lifecycle parity with skills/files: per-session by default, persisted
170
- * only when promoted to the workspace store.
171
- */
172
- readonly secretEnv?: Readonly<Record<string, PlatformSecretEnvEntry>>;
173
- readonly environment?: PlatformEnvironment;
174
- readonly securityProfile?: RuntimeSecurityProfileName;
175
- readonly metadata?: Record<string, JsonValue>;
176
- /**
177
- * File capture policy. Omit `fileCapture.allowedDirs` to expose regular
178
- * workspace files from the latest complete checkpoint; provide it to narrow
179
- * capture to the listed roots. `fileCapture.deniedDirs` subtracts denied
180
- * roots/patterns from the allowed set.
181
- */
182
- readonly fileCapture?: PlatformFileCaptureConfig;
183
- /** Builtin capabilities are separate from uploaded custom-tool assets. */
184
- readonly builtinTools: BuiltinToolsSelection;
185
- /**
186
- * Assistant-output granularity. `buffered` (the default) emits one event per
187
- * assistant message; `stream` emits the agent's per-token text deltas as they
188
- * arrive, THEN a final coalesced block. Every model streams through the
189
- * managed gateway, so `stream` is honored for ALL models.
190
- */
191
- readonly outputMode?: OutputMode;
192
- /**
193
- * Structured-output policy. `{ kind: 'text' }` (default) is free-form; a
194
- * `{ kind: 'json_schema', … }` requests provider-native constrained decode.
195
- * The session's typed outcome is then `decoded | refused` — no untyped path yields
196
- * a hallucinated object. Fail-closed for a provider lacking the capability.
197
- */
198
- readonly responseFormat?: ResponseFormat;
199
- /**
200
- * Declarative HITL write-gate: the platform parks the session
201
- * `awaiting_approval` BEFORE dispatching any listed tool, holding for an
202
- * `approve()`/`deny()`. Structural — independent of model prose. Empty/absent
203
- * ⇒ no gate.
204
- */
205
- readonly approvalGate?: ApprovalGate;
206
- /**
207
- * Platform-injection controls. The platform prepends a small system
208
- * prompt (see `platformSystemPrompt`) ahead of `system` to explain
209
- * managed-session expectations such as durable file capture. Set
210
- * `systemPrompt: "off"` to suppress that injection and have the runtime
211
- * see only the customer's own `system`. Omitting the field (or
212
- * `systemPrompt: "default"`) keeps the injection on.
213
- *
214
- * This does not change file capture scope. Omitted
215
- * `fileCapture.allowedDirs` means expose regular workspace files from the
216
- * latest complete checkpoint; explicit `fileCapture.allowedDirs` narrows it.
217
- */
218
- readonly platform?: PlatformInjectionConfig;
219
- }
220
- export interface PlatformFileCaptureConfig {
221
- /**
222
- * Allowed capture roots. Omit or pass an empty list to expose regular
223
- * workspace files from the latest complete checkpoint. Entries are absolute
224
- * UNIX paths.
225
- */
226
- readonly allowedDirs?: readonly string[];
227
- /**
228
- * Denied capture roots/patterns. These are subtracted from the allowed roots;
229
- * platform-mandatory denies always apply and cannot be re-included.
230
- */
231
- readonly deniedDirs?: readonly string[];
232
- /**
233
- * Maximum time the platform may spend capturing files after the agent exits.
234
- * Positive integer milliseconds; values above the platform maximum are clamped.
235
- */
236
- readonly captureTimeoutMs?: number;
237
- /** Maximum size of a single captured file in bytes. Positive integer. */
238
- readonly maxFileBytes?: number;
239
- /** Maximum total captured file bytes for the session. Positive integer. */
240
- readonly maxTotalBytes?: number;
241
- /** Maximum number of captured files for the session. Positive integer. */
242
- readonly maxFiles?: number;
243
- }
244
- export interface PlatformInjectionConfig {
245
- readonly systemPrompt?: "default" | "off";
246
- }
247
- export interface PlatformSessionSubmissionRequest {
248
- readonly workspaceId: string;
249
- readonly idempotencyKey: string;
250
- readonly submission: PlatformSubmission;
251
- readonly secrets: PlatformInlineSecrets;
252
- /**
253
- * Managed runtime size. One of the closed {@link RuntimeSize} preset tokens
254
- * or absent (downstream applies the default).
255
- */
256
- readonly runtimeSize?: RuntimeSize;
257
- /**
258
- * Execution-runtime selector — which backend runs the session
259
- * ({@link RuntimeKind}: `container` | `spot_container` | `lambda`). Distinct
260
- * from {@link runtimeSize} (the box preset). Absent ⇒ downstream applies
261
- * {@link import("./runtime-kind.js").DEFAULT_RUNTIME_KIND} (`spot_container`).
262
- * `spot_container` implies interruptible capacity (reconciled with
263
- * {@link machine}); `lambda` is availability-gated server-side.
264
- */
265
- readonly runtimeKind?: RuntimeKind;
266
- /**
267
- * Session deadline in milliseconds, normalised by the parser from the wire
268
- * `timeout` duration string (bounded to [1m, 8h]). Absent ⇒
269
- * {@link DEFAULT_SESSION_TIMEOUT_MS} (8h). Applies to the managed runner's
270
- * terminal wait window and self-kill deadline.
271
- */
272
- readonly timeoutMs?: number;
273
- /**
274
- * Optional callback URL registered on this session. The platform delivers one
275
- * run-scoped `run.finished` or `run.error` event after each run finalizes,
276
- * signed Standard-Webhooks style. It is a sibling of {@link idempotencyKey} — an
277
- * operational/delivery concern, NOT part of the hashed submission brief, so
278
- * the same idempotency key with a different callback URL never 409s and the
279
- * field never enters `request_hash`.
280
- */
281
- readonly webhook?: SessionWebhookSpec;
282
- /**
283
- * Optional per-session override of the lineage limits (max concurrent child sessions,
284
- * max subagent depth, per-session spend cap). These are dials the client may
285
- * *request*; the server resolves them against the per-workspace ceiling and
286
- * the hard platform ceiling (clamping happens in the resolver, NOT this
287
- * parser). Absent fields fall back to the platform defaults. Only shape +
288
- * positivity are validated here.
289
- */
290
- readonly limits?: SessionLimits;
291
- /**
292
- * Optional capacity intent for the session's managed machine. `spot: true` opts
293
- * the session into interruptible capacity; absent / `spot: false` requests
294
- * standard capacity (the default). Intent only — the managed runtime selects
295
- * capacity from it.
296
- */
297
- readonly machine?: SessionMachine;
298
- }
299
- /** Per-session registration for finalized run callbacks; the URL must be https. */
300
- export interface SessionWebhookSpec {
301
- readonly url: string;
302
- }
303
- /**
304
- * Per-session override of the lineage limits. Both fields are optional; an absent
305
- * field means "use the platform default". The parser ({@link parseSessionLimits})
306
- * only validates positivity/shape — clamping to the workspace + platform
307
- * ceilings is the resolver's job (see `resolveSessionLimits` in `@aexhq/shared`).
308
- */
309
- export interface SessionLimits {
310
- readonly maxConcurrentChildSessions?: number;
311
- readonly maxSubagentDepth?: number;
312
- /**
313
- * Per-session spend cap in USD (defense-in-depth). The platform kills the session once
314
- * it would out-spend the cap. A positive number; omitted ⇒ unbounded per-session
315
- * (only the session's wall-clock `timeout` + the per-workspace spend cap apply).
316
- * Only shape/positivity are validated here.
317
- *
318
- * The frozen boot session config the managed runtime folds the loop against
319
- * names this same USD value `budgetUsd`; {@link sessionBudgetLimits} is the
320
- * single source of truth for that wire→boot name mapping.
321
- */
322
- readonly maxSpendUsd?: number;
323
- /**
324
- * Maximum number of agent ITERATIONS (turns) the session may take before the
325
- * platform parks it terminal. A positive integer; omitted ⇒ the platform
326
- * default (`SESSION_DEFAULT_MAX_TURNS`). Previously a bare server literal absent
327
- * from both the public contract and the limits SSoT — now a settable dial.
328
- * Only shape/positivity are validated here; clamping to the ceiling is the
329
- * resolver's job.
330
- */
331
- readonly maxTurns?: number;
332
- /**
333
- * Maximum number of agent STEPS (LLM+tool cycles) a single turn may take before
334
- * the platform terminalizes it — the per-turn runaway-loop backstop (doc 13 G2),
335
- * one level below {@link maxTurns}. A positive integer; omitted ⇒ the platform
336
- * default (`SESSION_DEFAULT_MAX_STEPS_PER_TURN`). Only shape/positivity are
337
- * validated here; clamping to the ceiling is the resolver's job.
338
- */
339
- readonly maxStepsPerTurn?: number;
340
- }
341
- /**
342
- * Per-session machine/capacity intent. v1 exposes only `spot`: opt the session into
343
- * interruptible capacity (`spot: true`) vs standard capacity (absent /
344
- * `spot: false`, the default). Only the boolean intent is public — capacity
345
- * selection is a runtime concern.
346
- */
347
- export interface SessionMachine {
348
- readonly spot?: boolean;
349
- }
350
- /**
351
- * Internal pre-parser input used by authenticated platform adapters. The public
352
- * SDK and CLI post {@link SessionCreateRequest}; adapters derive `workspaceId`
353
- * and inject header idempotency before calling the platform parser.
354
- *
355
- * This type remains available from `@aexhq/contracts/internal` for platform
356
- * consumers and is intentionally absent from the public contracts barrel.
357
- */
358
- export type PlatformSessionSubmissionInput = Omit<PlatformSessionSubmissionRequest, "workspaceId" | "timeoutMs"> & {
359
- readonly workspaceId?: string;
360
- /**
361
- * Session deadline as a human duration string (`"1h"`, `"90m"`, `"30s"`).
362
- * Parsed + bounded to [1m, 8h] server-side into
363
- * {@link PlatformSessionSubmissionRequest.timeoutMs}. Absent ⇒ 8h default.
364
- */
365
- readonly timeout?: string;
366
- };
367
- export declare function parseSessionSubmissionRequest(input: unknown): PlatformSessionSubmissionRequest;
368
- /**
369
- * Parse + SSRF-shape-validate the optional per-session `webhook`. The URL must be
370
- * https with no userinfo (a `user:pass@host` URL is rejected — credentials must
371
- * not ride in a callback URL). Unknown subfields are rejected so the strict
372
- * top-level allow-list extends to the nested object. Returns `undefined` when
373
- * absent. Delivery-time re-resolution + IP-deny checks live server-side; this
374
- * is the submit-time shape gate.
375
- */
376
- export declare function parseSessionWebhook(input: unknown): SessionWebhookSpec | undefined;
377
- /**
378
- * Parse the optional per-session `limits` override. Mirrors {@link parseSessionWebhook}:
379
- * absent ⇒ `undefined`; a non-object or any unknown subfield is rejected so the
380
- * strict top-level allow-list extends to the nested object. Each present field
381
- * is validated as a positive safe integer via {@link optionalPositiveInt}.
382
- *
383
- * This is a SHAPE/positivity gate only — it does NOT clamp to the workspace or
384
- * platform ceilings (that precedence lives in the resolver, `resolveSessionLimits`).
385
- * Only the present fields are returned; an all-absent override (e.g. `{}`)
386
- * collapses to `undefined` so it carries no signal onto the request.
387
- */
388
- export declare function parseSessionLimits(input: unknown): SessionLimits | undefined;
389
- /**
390
- * Boot-session budget fragment. The public submit surface names a session's spend
391
- * cap `limits.maxSpendUsd`; the frozen boot session config the managed runtime
392
- * folds the loop against names the SAME USD value `budgetUsd` — the field the
393
- * session planner reads to enforce/terminate a session that would out-spend its cap.
394
- * This is the single source of truth for that wire→boot name mapping so the two
395
- * layers can never drift.
396
- *
397
- * Returns a fragment safe to spread into `sessionConfig.limits`: `{ budgetUsd }`
398
- * when a cap is set, `{}` when none is (an absent cap stays absent — the session is
399
- * unbounded per-session, subject only to the session timeout + the per-workspace cap).
400
- * Pure: same input ⇒ same output.
401
- */
402
- export declare function sessionBudgetLimits(limits: SessionLimits | undefined): {
403
- budgetUsd?: number;
404
- };
405
- /**
406
- * Parse the optional per-session `machine` capacity intent. Mirrors
407
- * {@link parseSessionWebhook}: absent ⇒ `undefined`; a non-object or any unknown
408
- * subfield is rejected so the strict top-level allow-list extends to the nested
409
- * object. `spot` must be a boolean when present. A no-signal object (e.g.
410
- * `machine: {}`) collapses to `undefined` so it never lands an empty object on
411
- * the request. An explicit `spot` (true or false) is preserved verbatim. Only
412
- * shape is validated here — capacity selection is a runtime concern.
413
- */
414
- export declare function parseSessionMachine(input: unknown): SessionMachine | undefined;
415
- export declare function parseSubmission(input: unknown): PlatformSubmission;
416
- /**
417
- * Assistant-output granularity values and the structured-output kinds, declared
418
- * with the schemas that enforce them and re-exported here so the published
419
- * surface is unchanged — see the sibling note on the `secretEnv` grammars.
420
- */
421
- export { OUTPUT_MODES, RESPONSE_FORMAT_KINDS } from "./schemas/submission-body.js";
422
- export type OutputMode = (typeof OUTPUT_MODES)[number];
423
- export declare const DEFAULT_OUTPUT_MODE: OutputMode;
424
- export type ResponseFormatKind = (typeof RESPONSE_FORMAT_KINDS)[number];
425
- /**
426
- * Structured-output policy. `{ kind: 'text' }` is free-form; `{ kind:
427
- * 'json_schema', schema, strict?, name? }` requests provider-native constrained
428
- * decode against `schema` (a JSON Schema object).
429
- */
430
- export type ResponseFormat = {
431
- readonly kind: "text";
432
- } | {
433
- readonly kind: "json_schema";
434
- readonly schema: JsonValue;
435
- readonly strict?: boolean;
436
- readonly name?: string;
437
- };
438
- /**
439
- * Parse the optional `submission.responseFormat`. Absent ⇒ undefined; a bad
440
- * `kind` or unknown subfield is rejected (fail-fast). `json_schema` requires a
441
- * JSON-object `schema`.
442
- */
443
- export declare function parseResponseFormat(input: unknown): ResponseFormat | undefined;
444
- /** Declarative HITL write-gate: park `awaiting_approval` before any listed tool. */
445
- export interface ApprovalGate {
446
- readonly tools: readonly string[];
447
- }
448
- /**
449
- * Parse the optional `submission.approvalGate`. Absent / empty tool list ⇒
450
- * undefined (no gate). Tool names are deduped; the strict allow-list mirrors the
451
- * sibling parsers.
452
- */
453
- export declare function parseApprovalGate(input: unknown): ApprovalGate | undefined;
454
- /**
455
- * The CLOSED set of builtin tool NAMES the managed runtime can inject — one per
456
- * machine tool the hands implement. This list is the single source of truth for
457
- * validating builtin tool references; the platform's `HANDS_TOOLS` (the execute
458
- * vocabulary) is pinned EQUAL to it at module load (`platform-runtime-agent`
459
- * `assertNamesMatch`), so a rename on either side fails loudly rather than
460
- * silently shipping a name the executors do not speak.
461
- *
462
- * Order mirrors `HANDS_TOOLS`. A builtin tool reference (a bare string in
463
- * `submission.tools`) must be a member of this set.
464
- */
465
- export declare const BUILTIN_TOOL_NAMES: readonly ["bash", "read_file", "write_file", "edit_file", "grep", "glob", "head", "tail", "todo_write", "subagent", "subagent_result", "web_fetch", "web_search", "bash_output", "bash_kill", "code_execution", "wait", "git", "ls", "stat", "wc"];
466
- export type BuiltinToolName = (typeof BUILTIN_TOOL_NAMES)[number];
467
- /**
468
- * Typo-safe accessors for the closed builtin tool set: each key maps to the
469
- * real tool NAME string. Reference a builtin in `submission.tools` via
470
- * `BuiltinTools.web_search` rather than the bare string so a rename is a
471
- * compile error, not a runtime 400.
472
- *
473
- * Keys are the real tool names; a unit test asserts `Object.values(BuiltinTools)`
474
- * deep-equals `BUILTIN_TOOL_NAMES` so the two can never drift.
475
- */
476
- export declare const BuiltinTools: {
477
- readonly bash: "bash";
478
- readonly read_file: "read_file";
479
- readonly write_file: "write_file";
480
- readonly edit_file: "edit_file";
481
- readonly grep: "grep";
482
- readonly glob: "glob";
483
- readonly head: "head";
484
- readonly tail: "tail";
485
- readonly todo_write: "todo_write";
486
- readonly subagent: "subagent";
487
- readonly subagent_result: "subagent_result";
488
- readonly web_fetch: "web_fetch";
489
- readonly web_search: "web_search";
490
- readonly bash_output: "bash_output";
491
- readonly bash_kill: "bash_kill";
492
- readonly code_execution: "code_execution";
493
- readonly wait: "wait";
494
- readonly git: "git";
495
- readonly ls: "ls";
496
- readonly stat: "stat";
497
- readonly wc: "wc";
498
- };
499
- /**
500
- * The complete builtin set selected by `builtinTools: "default"`.
501
- */
502
- export declare const DEFAULT_BUILTIN_TOOLS: readonly BuiltinToolName[];
503
- /**
504
- * Fixed name of the single skills meta-tool. Deliberately NOT a member of
505
- * {@link BUILTIN_TOOL_NAMES} (that closed set is the customer-cherry-pickable
506
- * toggle surface, pinned equal to `HANDS_TOOLS`) — the skills tool is IMPLIED by
507
- * a session having ≥1 skill, not chosen, and is injected platform-side. Kept in
508
- * lockstep with {@link SKILL_RESERVED_NAMES} so it can never be shadowed by a
509
- * custom tool or skill of the same name.
510
- */
511
- export declare const SKILLS_TOOL_NAME = "skills";
512
- /**
513
- * The single default `skills` meta-tool (list/load) the platform injects when a
514
- * session references ≥1 workspace skill. Shared by the platform tool composer and
515
- * kept adjacent to the reserved-name guard so the model-visible contract and the
516
- * name reservation stay in one place. It replaces the former N per-skill no-arg
517
- * load-tools with one arg-taking dispatcher.
518
- */
519
- export declare const SKILLS_TOOL_DEFINITION: {
520
- readonly name: "skills";
521
- readonly description: string;
522
- readonly input_schema: {
523
- readonly type: "object";
524
- readonly properties: {
525
- readonly action: {
526
- readonly type: "string";
527
- readonly enum: readonly ["list", "load"];
528
- readonly description: "'list' all skills, or 'load' one by name.";
529
- };
530
- readonly name: {
531
- readonly type: "string";
532
- readonly description: "Skill name to load (required when action='load').";
533
- };
534
- };
535
- readonly required: readonly ["action"];
536
- readonly additionalProperties: false;
537
- };
538
- };
539
- /**
540
- * Resolve the set of builtin tool NAMES a submission injects, deduplicated and
541
- * in {@link BUILTIN_TOOL_NAMES} order.
542
- *
543
- * `"default"` selects the standard set, `"none"` selects none, and an array
544
- * selects a validated subset in canonical order.
545
- */
546
- export type BuiltinToolsSelection = "default" | "none" | readonly BuiltinToolName[];
547
- export declare function resolveBuiltinToolNames(selection?: BuiltinToolsSelection): readonly BuiltinToolName[];