@aexhq/sdk 0.46.5-canary → 0.51.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 (346) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +38 -0
  3. package/README.md +54 -29
  4. package/dist/client/aex.d.ts +33 -0
  5. package/dist/client/aex.js +108 -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 +18 -0
  14. package/dist/downloads/download.js +67 -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 +82 -0
  18. package/dist/generated/errors.js.map +1 -0
  19. package/dist/generated/models.d.ts +1392 -0
  20. package/dist/generated/models.js +62 -0
  21. package/dist/generated/models.js.map +1 -0
  22. package/dist/generated/resources.d.ts +710 -0
  23. package/dist/generated/resources.js +582 -0
  24. package/dist/generated/resources.js.map +1 -0
  25. package/dist/generated/routes.d.ts +44 -0
  26. package/dist/generated/routes.js +1905 -0
  27. package/dist/generated/routes.js.map +1 -0
  28. package/dist/index.d.ts +21 -50
  29. package/dist/index.js +14 -62
  30. package/dist/index.js.map +1 -1
  31. package/dist/node/session-file-limits.d.ts +4 -0
  32. package/dist/node/session-file-limits.js +7 -0
  33. package/dist/node/session-file-limits.js.map +1 -0
  34. package/dist/node/session-files.d.ts +80 -0
  35. package/dist/node/session-files.js +254 -0
  36. package/dist/node/session-files.js.map +1 -0
  37. package/dist/observations/stream.d.ts +1 -0
  38. package/dist/observations/stream.js +18 -0
  39. package/dist/observations/stream.js.map +1 -0
  40. package/dist/transport/errors.d.ts +60 -0
  41. package/dist/transport/errors.js +107 -0
  42. package/dist/transport/errors.js.map +1 -0
  43. package/dist/transport/pagination.d.ts +8 -0
  44. package/dist/transport/pagination.js +34 -0
  45. package/dist/transport/pagination.js.map +1 -0
  46. package/dist/transport/retry.d.ts +21 -0
  47. package/dist/transport/retry.js +37 -0
  48. package/dist/transport/retry.js.map +1 -0
  49. package/dist/transport/transport.d.ts +25 -0
  50. package/dist/transport/transport.js +33 -0
  51. package/dist/transport/transport.js.map +1 -0
  52. package/package.json +67 -30
  53. package/dist/_contracts/account-operations.d.ts +0 -101
  54. package/dist/_contracts/account-operations.js +0 -242
  55. package/dist/_contracts/account-types.d.ts +0 -461
  56. package/dist/_contracts/account-types.js +0 -1
  57. package/dist/_contracts/api-key.d.ts +0 -61
  58. package/dist/_contracts/api-key.js +0 -101
  59. package/dist/_contracts/api-routes.d.ts +0 -20
  60. package/dist/_contracts/api-routes.js +0 -109
  61. package/dist/_contracts/archive-limits.d.ts +0 -3
  62. package/dist/_contracts/archive-limits.js +0 -23
  63. package/dist/_contracts/asset-authoring.d.ts +0 -22
  64. package/dist/_contracts/asset-authoring.js +0 -106
  65. package/dist/_contracts/asset-bundle.d.ts +0 -64
  66. package/dist/_contracts/asset-bundle.js +0 -263
  67. package/dist/_contracts/asset-upload-helper.d.ts +0 -31
  68. package/dist/_contracts/asset-upload-helper.js +0 -84
  69. package/dist/_contracts/billing-admission.d.ts +0 -29
  70. package/dist/_contracts/billing-admission.js +0 -28
  71. package/dist/_contracts/bundle-manifest.d.ts +0 -89
  72. package/dist/_contracts/bundle-manifest.js +0 -158
  73. package/dist/_contracts/canonical-sha256.d.ts +0 -8
  74. package/dist/_contracts/canonical-sha256.js +0 -8
  75. package/dist/_contracts/connection-ticket.d.ts +0 -22
  76. package/dist/_contracts/connection-ticket.js +0 -54
  77. package/dist/_contracts/continuation-event.d.ts +0 -31
  78. package/dist/_contracts/continuation-event.js +0 -6
  79. package/dist/_contracts/contract-parse-error.d.ts +0 -12
  80. package/dist/_contracts/contract-parse-error.js +0 -51
  81. package/dist/_contracts/error-codes.d.ts +0 -26
  82. package/dist/_contracts/error-codes.js +0 -116
  83. package/dist/_contracts/error-factory.d.ts +0 -32
  84. package/dist/_contracts/error-factory.js +0 -174
  85. package/dist/_contracts/event-envelope.d.ts +0 -471
  86. package/dist/_contracts/event-envelope.js +0 -501
  87. package/dist/_contracts/event-stream-client.d.ts +0 -122
  88. package/dist/_contracts/event-stream-client.js +0 -445
  89. package/dist/_contracts/event-view.d.ts +0 -44
  90. package/dist/_contracts/event-view.js +0 -69
  91. package/dist/_contracts/failure-class.d.ts +0 -29
  92. package/dist/_contracts/failure-class.js +0 -73
  93. package/dist/_contracts/http.d.ts +0 -135
  94. package/dist/_contracts/http.js +0 -434
  95. package/dist/_contracts/ids.d.ts +0 -66
  96. package/dist/_contracts/ids.js +0 -119
  97. package/dist/_contracts/index.d.ts +0 -42
  98. package/dist/_contracts/index.js +0 -52
  99. package/dist/_contracts/internal.d.ts +0 -55
  100. package/dist/_contracts/internal.js +0 -113
  101. package/dist/_contracts/models.d.ts +0 -30
  102. package/dist/_contracts/models.js +0 -28
  103. package/dist/_contracts/operation-core.d.ts +0 -36
  104. package/dist/_contracts/operation-core.js +0 -70
  105. package/dist/_contracts/operations.d.ts +0 -218
  106. package/dist/_contracts/operations.js +0 -1496
  107. package/dist/_contracts/otlp-projection.d.ts +0 -78
  108. package/dist/_contracts/otlp-projection.js +0 -171
  109. package/dist/_contracts/post-hook.d.ts +0 -31
  110. package/dist/_contracts/post-hook.js +0 -61
  111. package/dist/_contracts/provider-fault.d.ts +0 -34
  112. package/dist/_contracts/provider-fault.js +0 -68
  113. package/dist/_contracts/retry-core.d.ts +0 -29
  114. package/dist/_contracts/retry-core.js +0 -79
  115. package/dist/_contracts/runner-event.d.ts +0 -117
  116. package/dist/_contracts/runner-event.js +0 -172
  117. package/dist/_contracts/runtime-kind.d.ts +0 -60
  118. package/dist/_contracts/runtime-kind.js +0 -70
  119. package/dist/_contracts/runtime-manifest.d.ts +0 -121
  120. package/dist/_contracts/runtime-manifest.js +0 -83
  121. package/dist/_contracts/runtime-security-profile.d.ts +0 -26
  122. package/dist/_contracts/runtime-security-profile.js +0 -73
  123. package/dist/_contracts/runtime-sizes.d.ts +0 -104
  124. package/dist/_contracts/runtime-sizes.js +0 -111
  125. package/dist/_contracts/runtime-types.d.ts +0 -618
  126. package/dist/_contracts/runtime-types.js +0 -58
  127. package/dist/_contracts/schemas/asset-bundle.d.ts +0 -70
  128. package/dist/_contracts/schemas/asset-bundle.js +0 -107
  129. package/dist/_contracts/schemas/asset-ref.d.ts +0 -61
  130. package/dist/_contracts/schemas/asset-ref.js +0 -118
  131. package/dist/_contracts/schemas/bundle-manifest.d.ts +0 -66
  132. package/dist/_contracts/schemas/bundle-manifest.js +0 -77
  133. package/dist/_contracts/schemas/index.d.ts +0 -32
  134. package/dist/_contracts/schemas/index.js +0 -30
  135. package/dist/_contracts/schemas/mcp-server.d.ts +0 -99
  136. package/dist/_contracts/schemas/mcp-server.js +0 -209
  137. package/dist/_contracts/schemas/models.d.ts +0 -29
  138. package/dist/_contracts/schemas/models.js +0 -51
  139. package/dist/_contracts/schemas/numeric.d.ts +0 -18
  140. package/dist/_contracts/schemas/numeric.js +0 -28
  141. package/dist/_contracts/schemas/post-hook.d.ts +0 -45
  142. package/dist/_contracts/schemas/post-hook.js +0 -68
  143. package/dist/_contracts/schemas/response-assets.d.ts +0 -75
  144. package/dist/_contracts/schemas/response-assets.js +0 -81
  145. package/dist/_contracts/schemas/response-billing.d.ts +0 -208
  146. package/dist/_contracts/schemas/response-billing.js +0 -139
  147. package/dist/_contracts/schemas/response-common.d.ts +0 -132
  148. package/dist/_contracts/schemas/response-common.js +0 -162
  149. package/dist/_contracts/schemas/response-identity.d.ts +0 -648
  150. package/dist/_contracts/schemas/response-identity.js +0 -131
  151. package/dist/_contracts/schemas/response-mcp-servers.d.ts +0 -51
  152. package/dist/_contracts/schemas/response-mcp-servers.js +0 -32
  153. package/dist/_contracts/schemas/response-secrets.d.ts +0 -50
  154. package/dist/_contracts/schemas/response-secrets.js +0 -32
  155. package/dist/_contracts/schemas/response-sessions-internal.d.ts +0 -200
  156. package/dist/_contracts/schemas/response-sessions-internal.js +0 -142
  157. package/dist/_contracts/schemas/response-sessions.d.ts +0 -1598
  158. package/dist/_contracts/schemas/response-sessions.js +0 -377
  159. package/dist/_contracts/schemas/response-webhooks.d.ts +0 -76
  160. package/dist/_contracts/schemas/response-webhooks.js +0 -42
  161. package/dist/_contracts/schemas/response-workspace.d.ts +0 -225
  162. package/dist/_contracts/schemas/response-workspace.js +0 -99
  163. package/dist/_contracts/schemas/runtime-kind.d.ts +0 -31
  164. package/dist/_contracts/schemas/runtime-kind.js +0 -29
  165. package/dist/_contracts/schemas/runtime-security-profile.d.ts +0 -28
  166. package/dist/_contracts/schemas/runtime-security-profile.js +0 -26
  167. package/dist/_contracts/schemas/runtime-sizes.d.ts +0 -70
  168. package/dist/_contracts/schemas/runtime-sizes.js +0 -127
  169. package/dist/_contracts/schemas/session-limits.d.ts +0 -34
  170. package/dist/_contracts/schemas/session-limits.js +0 -39
  171. package/dist/_contracts/schemas/session-machine.d.ts +0 -23
  172. package/dist/_contracts/schemas/session-machine.js +0 -24
  173. package/dist/_contracts/schemas/session-request-config.d.ts +0 -58
  174. package/dist/_contracts/schemas/session-request-config.js +0 -134
  175. package/dist/_contracts/schemas/session-webhook.d.ts +0 -11
  176. package/dist/_contracts/schemas/session-webhook.js +0 -38
  177. package/dist/_contracts/schemas/side-effect-audit.d.ts +0 -98
  178. package/dist/_contracts/schemas/side-effect-audit.js +0 -102
  179. package/dist/_contracts/schemas/submission-assets.d.ts +0 -117
  180. package/dist/_contracts/schemas/submission-assets.js +0 -147
  181. package/dist/_contracts/schemas/submission-body.d.ts +0 -251
  182. package/dist/_contracts/schemas/submission-body.js +0 -378
  183. package/dist/_contracts/schemas/submission-environment.d.ts +0 -79
  184. package/dist/_contracts/schemas/submission-environment.js +0 -179
  185. package/dist/_contracts/schemas/submission-request.d.ts +0 -158
  186. package/dist/_contracts/schemas/submission-request.js +0 -49
  187. package/dist/_contracts/schemas/submission-secrets.d.ts +0 -47
  188. package/dist/_contracts/schemas/submission-secrets.js +0 -108
  189. package/dist/_contracts/schemas/wire.d.ts +0 -118
  190. package/dist/_contracts/schemas/wire.js +0 -171
  191. package/dist/_contracts/schemas/workspace-resources.d.ts +0 -50
  192. package/dist/_contracts/schemas/workspace-resources.js +0 -87
  193. package/dist/_contracts/sdk-errors.d.ts +0 -212
  194. package/dist/_contracts/sdk-errors.js +0 -313
  195. package/dist/_contracts/sdk-secrets.d.ts +0 -67
  196. package/dist/_contracts/sdk-secrets.js +0 -427
  197. package/dist/_contracts/session-archive.d.ts +0 -16
  198. package/dist/_contracts/session-archive.js +0 -92
  199. package/dist/_contracts/session-artifacts.d.ts +0 -189
  200. package/dist/_contracts/session-artifacts.js +0 -264
  201. package/dist/_contracts/session-config.d.ts +0 -373
  202. package/dist/_contracts/session-config.js +0 -562
  203. package/dist/_contracts/session-cost-types.d.ts +0 -211
  204. package/dist/_contracts/session-cost-types.js +0 -69
  205. package/dist/_contracts/session-cost.d.ts +0 -8
  206. package/dist/_contracts/session-cost.js +0 -582
  207. package/dist/_contracts/session-custody.d.ts +0 -165
  208. package/dist/_contracts/session-custody.js +0 -345
  209. package/dist/_contracts/session-file-query.d.ts +0 -14
  210. package/dist/_contracts/session-file-query.js +0 -178
  211. package/dist/_contracts/session-record.d.ts +0 -112
  212. package/dist/_contracts/session-record.js +0 -165
  213. package/dist/_contracts/session-retention.d.ts +0 -201
  214. package/dist/_contracts/session-retention.js +0 -450
  215. package/dist/_contracts/side-effect-audit.d.ts +0 -126
  216. package/dist/_contracts/side-effect-audit.js +0 -520
  217. package/dist/_contracts/sse.d.ts +0 -74
  218. package/dist/_contracts/sse.js +0 -227
  219. package/dist/_contracts/stable.d.ts +0 -45
  220. package/dist/_contracts/stable.js +0 -62
  221. package/dist/_contracts/status.d.ts +0 -25
  222. package/dist/_contracts/status.js +0 -57
  223. package/dist/_contracts/submission-limits.d.ts +0 -61
  224. package/dist/_contracts/submission-limits.js +0 -60
  225. package/dist/_contracts/submission.d.ts +0 -547
  226. package/dist/_contracts/submission.js +0 -812
  227. package/dist/_contracts/suggest.d.ts +0 -15
  228. package/dist/_contracts/suggest.js +0 -53
  229. package/dist/_contracts/testing/response-bindings.d.ts +0 -45
  230. package/dist/_contracts/testing/response-bindings.js +0 -256
  231. package/dist/_contracts/testing/wire-conformance-entry.d.ts +0 -10
  232. package/dist/_contracts/testing/wire-conformance-entry.js +0 -8
  233. package/dist/_contracts/testing/wire-conformance.d.ts +0 -169
  234. package/dist/_contracts/testing/wire-conformance.js +0 -276
  235. package/dist/_contracts/turn-trace.d.ts +0 -28
  236. package/dist/_contracts/turn-trace.js +0 -1
  237. package/dist/_contracts/unknown-field-error.d.ts +0 -13
  238. package/dist/_contracts/unknown-field-error.js +0 -21
  239. package/dist/_contracts/value-guards.d.ts +0 -20
  240. package/dist/_contracts/value-guards.js +0 -34
  241. package/dist/_contracts/webhook-verify.d.ts +0 -34
  242. package/dist/_contracts/webhook-verify.js +0 -93
  243. package/dist/_contracts/wire-observer.d.ts +0 -49
  244. package/dist/_contracts/wire-observer.js +0 -34
  245. package/dist/_contracts/workflow-status.d.ts +0 -7
  246. package/dist/_contracts/workflow-status.js +0 -43
  247. package/dist/_contracts/workspace-resources.d.ts +0 -98
  248. package/dist/_contracts/workspace-resources.js +0 -39
  249. package/dist/archive-limits.d.ts +0 -1
  250. package/dist/archive-limits.js +0 -2
  251. package/dist/archive-limits.js.map +0 -1
  252. package/dist/asset-upload.d.ts +0 -47
  253. package/dist/asset-upload.js +0 -269
  254. package/dist/asset-upload.js.map +0 -1
  255. package/dist/bundle.d.ts +0 -9
  256. package/dist/bundle.js +0 -20
  257. package/dist/bundle.js.map +0 -1
  258. package/dist/canonical-zip.d.ts +0 -68
  259. package/dist/canonical-zip.js +0 -355
  260. package/dist/canonical-zip.js.map +0 -1
  261. package/dist/cli.mjs +0 -12048
  262. package/dist/cli.mjs.sha256 +0 -1
  263. package/dist/client-types.d.ts +0 -192
  264. package/dist/client-types.js +0 -2
  265. package/dist/client-types.js.map +0 -1
  266. package/dist/client.d.ts +0 -464
  267. package/dist/client.js +0 -1207
  268. package/dist/client.js.map +0 -1
  269. package/dist/event-projection.d.ts +0 -22
  270. package/dist/event-projection.js +0 -380
  271. package/dist/event-projection.js.map +0 -1
  272. package/dist/fetch-archive.d.ts +0 -16
  273. package/dist/fetch-archive.js +0 -252
  274. package/dist/fetch-archive.js.map +0 -1
  275. package/dist/file.d.ts +0 -96
  276. package/dist/file.js +0 -272
  277. package/dist/file.js.map +0 -1
  278. package/dist/instructions.d.ts +0 -20
  279. package/dist/instructions.js +0 -40
  280. package/dist/instructions.js.map +0 -1
  281. package/dist/legacy-session-provider-fault.d.ts +0 -7
  282. package/dist/legacy-session-provider-fault.js +0 -38
  283. package/dist/legacy-session-provider-fault.js.map +0 -1
  284. package/dist/mcp-server.d.ts +0 -84
  285. package/dist/mcp-server.js +0 -117
  286. package/dist/mcp-server.js.map +0 -1
  287. package/dist/node-fs.d.ts +0 -29
  288. package/dist/node-fs.js +0 -19
  289. package/dist/node-fs.js.map +0 -1
  290. package/dist/node-walk.d.ts +0 -69
  291. package/dist/node-walk.js +0 -151
  292. package/dist/node-walk.js.map +0 -1
  293. package/dist/path-basename.d.ts +0 -5
  294. package/dist/path-basename.js +0 -9
  295. package/dist/path-basename.js.map +0 -1
  296. package/dist/retry.d.ts +0 -70
  297. package/dist/retry.js +0 -155
  298. package/dist/retry.js.map +0 -1
  299. package/dist/secret.d.ts +0 -65
  300. package/dist/secret.js +0 -110
  301. package/dist/secret.js.map +0 -1
  302. package/dist/session-validate.d.ts +0 -100
  303. package/dist/session-validate.js +0 -303
  304. package/dist/session-validate.js.map +0 -1
  305. package/dist/skill.d.ts +0 -99
  306. package/dist/skill.js +0 -169
  307. package/dist/skill.js.map +0 -1
  308. package/dist/submission-wire.d.ts +0 -13
  309. package/dist/submission-wire.js +0 -69
  310. package/dist/submission-wire.js.map +0 -1
  311. package/dist/tool.d.ts +0 -41
  312. package/dist/tool.js +0 -76
  313. package/dist/tool.js.map +0 -1
  314. package/dist/version.d.ts +0 -9
  315. package/dist/version.js +0 -10
  316. package/dist/version.js.map +0 -1
  317. package/docs/authentication.md +0 -125
  318. package/docs/billing.md +0 -164
  319. package/docs/cleanup.md +0 -27
  320. package/docs/concepts/agent-tools.md +0 -47
  321. package/docs/concepts/composition.md +0 -60
  322. package/docs/concepts/providers-and-runtimes.md +0 -121
  323. package/docs/concepts/sessions.md +0 -51
  324. package/docs/concepts/subagents.md +0 -35
  325. package/docs/credentials.md +0 -116
  326. package/docs/defaults.md +0 -51
  327. package/docs/errors.md +0 -258
  328. package/docs/events.md +0 -143
  329. package/docs/files.md +0 -130
  330. package/docs/limits-and-quotas.md +0 -114
  331. package/docs/limits.md +0 -51
  332. package/docs/mcp.md +0 -47
  333. package/docs/networking.md +0 -114
  334. package/docs/provider-runtime-capabilities.md +0 -32
  335. package/docs/public-surface.json +0 -73
  336. package/docs/quickstart.md +0 -135
  337. package/docs/release.md +0 -44
  338. package/docs/retries.md +0 -108
  339. package/docs/secrets.md +0 -141
  340. package/docs/session-config.md +0 -51
  341. package/docs/session-record.md +0 -58
  342. package/docs/skills.md +0 -65
  343. package/docs/telemetry.md +0 -66
  344. package/docs/testing.md +0 -35
  345. package/docs/vision-skills.md +0 -94
  346. package/docs/webhooks.md +0 -143
@@ -1,165 +0,0 @@
1
- import type { ProviderName } from "./submission.js";
2
- export declare const CUSTODY_MANIFEST_SCHEMA_VERSION = 1;
3
- export declare const CUSTODY_REDACTION_SCANNER_VERSION = 1;
4
- export declare const CUSTODY_MANIFEST_KIND = "aex.custody_manifest.v1";
5
- export declare const CUSTODY_MANIFEST_CONTENT_TYPE = "application/json; charset=utf-8";
6
- export declare const CUSTODY_MANIFEST_SESSION_REL_PATH = "metadata/custody.json";
7
- export declare const CUSTODY_SECRET_CLASSES: readonly ["provider_api_key", "mcp_credential", "proxy_endpoint_auth", "runner_bearer", "managed_system_credential"];
8
- export type CustodySecretClass = (typeof CUSTODY_SECRET_CLASSES)[number];
9
- export declare const CUSTODY_RESOURCE_CLASSES: readonly ["runtime_machine", "proxy_token", "execution_secret", "event_archive", "session_file", "session_log", "session_asset"];
10
- export type CustodyResourceClass = (typeof CUSTODY_RESOURCE_CLASSES)[number];
11
- export declare const CUSTODY_EXPOSURE_SURFACES: readonly ["aex_vault", "aex_kv", "host_env", "host_file", "dashboard_proxy", "api_provider_proxy", "api_mcp_proxy", "session_artifact_store", "coordinator_event_archive"];
12
- export type CustodyExposureSurface = (typeof CUSTODY_EXPOSURE_SURFACES)[number];
13
- export declare const CUSTODY_EXPOSURE_ACCESS_KINDS: readonly ["stored", "injected", "proxied", "replicated", "observed", "unknown"];
14
- export type CustodyExposureAccessKind = (typeof CUSTODY_EXPOSURE_ACCESS_KINDS)[number];
15
- export declare const CUSTODY_EXPOSURE_STATUSES: readonly ["exposed", "revoked", "retained", "failed", "not_applicable"];
16
- export type CustodyExposureStatus = (typeof CUSTODY_EXPOSURE_STATUSES)[number];
17
- export declare const CUSTODY_DISPOSITION_STATUSES: readonly ["destroyed", "revoked", "not_found", "retained_by_policy", "cleanup_failed", "parked_for_operator", "pending", "not_applicable"];
18
- export type CustodyDispositionStatus = (typeof CUSTODY_DISPOSITION_STATUSES)[number];
19
- export declare const CUSTODY_CLEANUP_STATUSES: readonly ["succeeded", "partial", "failed", "retained", "pending"];
20
- export type CustodyCleanupStatus = (typeof CUSTODY_CLEANUP_STATUSES)[number];
21
- export declare const CUSTODY_EVIDENCE_SOURCES: readonly ["session_row", "runtime_manifest", "terminal_event", "cleanup_step", "file_capture", "proxy_audit", "provider_cleanup_summary"];
22
- export type CustodyEvidenceSource = (typeof CUSTODY_EVIDENCE_SOURCES)[number];
23
- export declare const CUSTODY_MANIFEST_EXCLUDED_VALUE_CLASSES: readonly ["raw_secret_values", "bearer_hashes", "provider_response_bodies", "signed_urls", "object_store_keys", "vault_ids", "private_resource_handles"];
24
- export type CustodyManifestExcludedValueClass = (typeof CUSTODY_MANIFEST_EXCLUDED_VALUE_CLASSES)[number];
25
- export interface CustodyManifestSessionV1 {
26
- readonly sessionId: string;
27
- readonly workspaceId: string;
28
- readonly provider: ProviderName | string;
29
- readonly terminalStatus: string;
30
- readonly createdAt?: string;
31
- readonly terminalAt?: string;
32
- }
33
- export interface CustodyManifestExposureV1 {
34
- readonly surface: CustodyExposureSurface | string;
35
- readonly access: CustodyExposureAccessKind;
36
- readonly status?: CustodyExposureStatus;
37
- readonly count?: number;
38
- readonly firstExposedAt?: string;
39
- readonly lastExposedAt?: string;
40
- readonly revokedAt?: string;
41
- }
42
- export interface CustodyManifestDispositionV1 {
43
- readonly status: CustodyDispositionStatus;
44
- readonly reason?: string;
45
- readonly decidedAt?: string;
46
- readonly errorClass?: string;
47
- readonly followUpRequired?: boolean;
48
- }
49
- export interface CustodyManifestEvidenceSummaryV1 {
50
- readonly source: CustodyEvidenceSource | string;
51
- readonly status?: string;
52
- readonly observedAt?: string;
53
- readonly count?: number;
54
- readonly errorClass?: string;
55
- }
56
- export interface CustodyManifestSecretClassV1 {
57
- readonly class: CustodySecretClass | string;
58
- readonly present: boolean;
59
- readonly count: number;
60
- readonly exposures: readonly CustodyManifestExposureV1[];
61
- readonly disposition: CustodyManifestDispositionV1;
62
- readonly evidence?: readonly CustodyManifestEvidenceSummaryV1[];
63
- }
64
- export interface CustodyManifestResourceClassV1 {
65
- readonly class: CustodyResourceClass | string;
66
- readonly count: number;
67
- readonly exposures: readonly CustodyManifestExposureV1[];
68
- readonly disposition: CustodyManifestDispositionV1;
69
- readonly evidence?: readonly CustodyManifestEvidenceSummaryV1[];
70
- }
71
- export interface CustodyManifestCleanupV1 {
72
- readonly status: CustodyCleanupStatus;
73
- readonly startedAt?: string;
74
- readonly finishedAt?: string;
75
- readonly errorClass?: string;
76
- readonly followUpRequiredCount?: number;
77
- }
78
- export interface CustodyManifestSummaryV1 {
79
- readonly secretClassCount: number;
80
- readonly secretInstanceCount: number;
81
- readonly resourceClassCount: number;
82
- readonly resourceInstanceCount: number;
83
- readonly exposureCount: number;
84
- readonly revokedExposureCount: number;
85
- readonly retainedCount: number;
86
- readonly cleanupFailedCount: number;
87
- readonly parkedForOperatorCount: number;
88
- readonly pendingCount: number;
89
- readonly followUpRequiredCount: number;
90
- readonly dispositionCounts: Readonly<Partial<Record<CustodyDispositionStatus, number>>>;
91
- }
92
- export interface CustodyManifestRedactionV1 {
93
- readonly policy: "metadata_only";
94
- readonly scannerVersion: typeof CUSTODY_REDACTION_SCANNER_VERSION;
95
- readonly excludes: readonly CustodyManifestExcludedValueClass[];
96
- }
97
- export interface CustodyManifestV1 {
98
- readonly schemaVersion: typeof CUSTODY_MANIFEST_SCHEMA_VERSION;
99
- readonly kind: typeof CUSTODY_MANIFEST_KIND;
100
- readonly generatedAt: string;
101
- readonly finalizedAt?: string;
102
- readonly session: CustodyManifestSessionV1;
103
- readonly secrets: readonly CustodyManifestSecretClassV1[];
104
- readonly resources: readonly CustodyManifestResourceClassV1[];
105
- readonly cleanup: CustodyManifestCleanupV1;
106
- readonly summary: CustodyManifestSummaryV1;
107
- readonly redaction: CustodyManifestRedactionV1;
108
- }
109
- export type CustodyManifestSessionInput = CustodyManifestSessionV1;
110
- export type CustodyManifestExposureInput = CustodyManifestExposureV1;
111
- export type CustodyManifestDispositionInput = CustodyManifestDispositionV1;
112
- export type CustodyManifestEvidenceSummaryInput = CustodyManifestEvidenceSummaryV1;
113
- export type CustodyManifestCleanupInput = CustodyManifestCleanupV1;
114
- export interface CustodyManifestSecretClassInput extends Omit<CustodyManifestSecretClassV1, "count" | "exposures"> {
115
- readonly count?: number;
116
- readonly exposures?: readonly CustodyManifestExposureInput[];
117
- }
118
- export interface CustodyManifestResourceClassInput extends Omit<CustodyManifestResourceClassV1, "count" | "exposures"> {
119
- readonly count?: number;
120
- readonly exposures?: readonly CustodyManifestExposureInput[];
121
- }
122
- export interface CustodyManifestInput {
123
- readonly generatedAt: string;
124
- readonly finalizedAt?: string;
125
- readonly session: CustodyManifestSessionInput;
126
- readonly secrets?: readonly CustodyManifestSecretClassInput[];
127
- readonly resources?: readonly CustodyManifestResourceClassInput[];
128
- readonly cleanup?: CustodyManifestCleanupInput;
129
- }
130
- export interface CustodyManifestWriteObject {
131
- readonly key: string;
132
- readonly contentType: typeof CUSTODY_MANIFEST_CONTENT_TYPE;
133
- readonly manifest: CustodyManifestV1;
134
- }
135
- export interface CustodyManifestObjectStore {
136
- putCustodyManifestObject(object: CustodyManifestWriteObject): Promise<void>;
137
- }
138
- export interface CustodyManifestWriteResult {
139
- readonly status: "written";
140
- readonly schemaVersion: typeof CUSTODY_MANIFEST_SCHEMA_VERSION;
141
- readonly sessionId: string;
142
- readonly workspaceId: string;
143
- readonly key: string;
144
- readonly writtenAt: string;
145
- }
146
- export interface CustodyManifestWriter {
147
- writeCustodyManifest(input: CustodyManifestInput): Promise<CustodyManifestWriteResult>;
148
- }
149
- export type CustodyRedactionReason = "forbidden_field_name" | "uninspectable_value" | "bearer_token" | "provider_key" | "signed_url" | "object_store_key" | "vault_id" | "private_resource_handle" | "high_entropy_token";
150
- export interface CustodyRedactionFinding {
151
- readonly path: string;
152
- readonly reason: CustodyRedactionReason;
153
- readonly valueLength?: number;
154
- }
155
- export declare class CustodyManifestRedactionError extends Error {
156
- readonly code = "custody_manifest_not_public_safe";
157
- readonly findings: readonly CustodyRedactionFinding[];
158
- constructor(findings: readonly CustodyRedactionFinding[]);
159
- }
160
- export declare function custodyManifestObjectKey(sessionId: string): string;
161
- export declare function createCustodyManifestWriter(store: CustodyManifestObjectStore): CustodyManifestWriter;
162
- export declare function writeCustodyManifest(store: CustodyManifestObjectStore, input: CustodyManifestInput): Promise<CustodyManifestWriteResult>;
163
- export declare function buildCustodyManifest(input: CustodyManifestInput): CustodyManifestV1;
164
- export declare function scanCustodyPayloadForSensitiveValues(input: unknown): readonly CustodyRedactionFinding[];
165
- export declare function assertPublicSafeCustodyPayload(input: unknown): void;
@@ -1,345 +0,0 @@
1
- import { createForbiddenFieldNamePredicate, isPlatformContentDigest, privateResourceHandlePattern, PUBLIC_SAFE_SECRET_PATTERNS, scanPublicSafePayload } from "./sdk-secrets.js";
2
- export const CUSTODY_MANIFEST_SCHEMA_VERSION = 1;
3
- export const CUSTODY_REDACTION_SCANNER_VERSION = 1;
4
- export const CUSTODY_MANIFEST_KIND = "aex.custody_manifest.v1";
5
- export const CUSTODY_MANIFEST_CONTENT_TYPE = "application/json; charset=utf-8";
6
- export const CUSTODY_MANIFEST_SESSION_REL_PATH = "metadata/custody.json";
7
- export const CUSTODY_SECRET_CLASSES = [
8
- "provider_api_key",
9
- "mcp_credential",
10
- "proxy_endpoint_auth",
11
- "runner_bearer",
12
- "managed_system_credential"
13
- ];
14
- export const CUSTODY_RESOURCE_CLASSES = [
15
- "runtime_machine",
16
- "proxy_token",
17
- "execution_secret",
18
- "event_archive",
19
- "session_file",
20
- "session_log",
21
- "session_asset"
22
- ];
23
- export const CUSTODY_EXPOSURE_SURFACES = [
24
- "aex_vault",
25
- "aex_kv",
26
- "host_env",
27
- "host_file",
28
- "dashboard_proxy",
29
- "api_provider_proxy",
30
- "api_mcp_proxy",
31
- "session_artifact_store",
32
- "coordinator_event_archive"
33
- ];
34
- export const CUSTODY_EXPOSURE_ACCESS_KINDS = [
35
- "stored",
36
- "injected",
37
- "proxied",
38
- "replicated",
39
- "observed",
40
- "unknown"
41
- ];
42
- export const CUSTODY_EXPOSURE_STATUSES = [
43
- "exposed",
44
- "revoked",
45
- "retained",
46
- "failed",
47
- "not_applicable"
48
- ];
49
- export const CUSTODY_DISPOSITION_STATUSES = [
50
- "destroyed",
51
- "revoked",
52
- "not_found",
53
- "retained_by_policy",
54
- "cleanup_failed",
55
- "parked_for_operator",
56
- "pending",
57
- "not_applicable"
58
- ];
59
- export const CUSTODY_CLEANUP_STATUSES = [
60
- "succeeded",
61
- "partial",
62
- "failed",
63
- "retained",
64
- "pending"
65
- ];
66
- export const CUSTODY_EVIDENCE_SOURCES = [
67
- "session_row",
68
- "runtime_manifest",
69
- "terminal_event",
70
- "cleanup_step",
71
- "file_capture",
72
- "proxy_audit",
73
- "provider_cleanup_summary"
74
- ];
75
- export const CUSTODY_MANIFEST_EXCLUDED_VALUE_CLASSES = [
76
- "raw_secret_values",
77
- "bearer_hashes",
78
- "provider_response_bodies",
79
- "signed_urls",
80
- "object_store_keys",
81
- "vault_ids",
82
- "private_resource_handles"
83
- ];
84
- export class CustodyManifestRedactionError extends Error {
85
- code = "custody_manifest_not_public_safe";
86
- findings;
87
- constructor(findings) {
88
- super(`custody manifest contains non-public custody data at ${formatFindingPaths(findings)}`);
89
- this.name = "CustodyManifestRedactionError";
90
- this.findings = Object.freeze([...findings]);
91
- }
92
- }
93
- export function custodyManifestObjectKey(sessionId) {
94
- assertSafeIdentifier(sessionId, "sessionId");
95
- return `sessions/${sessionId}/${CUSTODY_MANIFEST_SESSION_REL_PATH}`;
96
- }
97
- export function createCustodyManifestWriter(store) {
98
- return {
99
- async writeCustodyManifest(input) {
100
- return writeCustodyManifest(store, input);
101
- }
102
- };
103
- }
104
- export async function writeCustodyManifest(store, input) {
105
- const manifest = buildCustodyManifest(input);
106
- const key = custodyManifestObjectKey(manifest.session.sessionId);
107
- await store.putCustodyManifestObject({
108
- key,
109
- contentType: CUSTODY_MANIFEST_CONTENT_TYPE,
110
- manifest
111
- });
112
- return Object.freeze({
113
- status: "written",
114
- schemaVersion: CUSTODY_MANIFEST_SCHEMA_VERSION,
115
- sessionId: manifest.session.sessionId,
116
- workspaceId: manifest.session.workspaceId,
117
- key,
118
- writtenAt: manifest.finalizedAt ?? manifest.generatedAt
119
- });
120
- }
121
- export function buildCustodyManifest(input) {
122
- const secrets = Object.freeze((input.secrets ?? []).map(normalizeSecretClass));
123
- const resources = Object.freeze((input.resources ?? []).map(normalizeResourceClass));
124
- const cleanup = normalizeCleanup(input.cleanup);
125
- const manifest = Object.freeze({
126
- schemaVersion: CUSTODY_MANIFEST_SCHEMA_VERSION,
127
- kind: CUSTODY_MANIFEST_KIND,
128
- generatedAt: assertTimestamp(input.generatedAt, "generatedAt"),
129
- ...(input.finalizedAt ? { finalizedAt: assertTimestamp(input.finalizedAt, "finalizedAt") } : {}),
130
- session: normalizeSession(input.session),
131
- secrets,
132
- resources,
133
- cleanup,
134
- summary: buildCustodySummary(secrets, resources, cleanup),
135
- redaction: Object.freeze({
136
- policy: "metadata_only",
137
- scannerVersion: CUSTODY_REDACTION_SCANNER_VERSION,
138
- excludes: Object.freeze([...CUSTODY_MANIFEST_EXCLUDED_VALUE_CLASSES])
139
- })
140
- });
141
- assertPublicSafeCustodyPayload(manifest);
142
- return manifest;
143
- }
144
- export function scanCustodyPayloadForSensitiveValues(input) {
145
- return scanPublicSafePayload(input, {
146
- patterns: custodyStringPatterns,
147
- isForbiddenFieldName: isForbiddenCustodyFieldName,
148
- isPatternExempt: ({ reason, match }) => reason === "high_entropy_token" && isPlatformContentDigest(match)
149
- });
150
- }
151
- export function assertPublicSafeCustodyPayload(input) {
152
- const findings = scanCustodyPayloadForSensitiveValues(input);
153
- if (findings.length > 0) {
154
- throw new CustodyManifestRedactionError(findings);
155
- }
156
- }
157
- function normalizeSession(input) {
158
- return Object.freeze({
159
- sessionId: assertSafeIdentifier(input.sessionId, "session.sessionId"),
160
- workspaceId: assertSafeIdentifier(input.workspaceId, "session.workspaceId"),
161
- provider: assertSafeMetadataString(input.provider, "session.provider"),
162
- terminalStatus: assertSafeMetadataString(input.terminalStatus, "session.terminalStatus"),
163
- ...(input.createdAt ? { createdAt: assertTimestamp(input.createdAt, "session.createdAt") } : {}),
164
- ...(input.terminalAt ? { terminalAt: assertTimestamp(input.terminalAt, "session.terminalAt") } : {})
165
- });
166
- }
167
- function normalizeSecretClass(input) {
168
- const count = nonNegativeInteger(input.count ?? (input.present ? 1 : 0), "secret.count");
169
- return Object.freeze({
170
- class: assertSafeMetadataString(input.class, "secret.class"),
171
- present: input.present,
172
- count,
173
- exposures: Object.freeze((input.exposures ?? []).map(normalizeExposure)),
174
- disposition: normalizeDisposition(input.disposition),
175
- ...(input.evidence ? { evidence: Object.freeze(input.evidence.map(normalizeEvidence)) } : {})
176
- });
177
- }
178
- function normalizeResourceClass(input) {
179
- const count = nonNegativeInteger(input.count ?? 1, "resource.count");
180
- return Object.freeze({
181
- class: assertSafeMetadataString(input.class, "resource.class"),
182
- count,
183
- exposures: Object.freeze((input.exposures ?? []).map(normalizeExposure)),
184
- disposition: normalizeDisposition(input.disposition),
185
- ...(input.evidence ? { evidence: Object.freeze(input.evidence.map(normalizeEvidence)) } : {})
186
- });
187
- }
188
- function normalizeExposure(input) {
189
- return Object.freeze({
190
- surface: assertSafeMetadataString(input.surface, "exposure.surface"),
191
- access: input.access,
192
- ...(input.status ? { status: input.status } : {}),
193
- ...(input.count !== undefined ? { count: nonNegativeInteger(input.count, "exposure.count") } : {}),
194
- ...(input.firstExposedAt
195
- ? { firstExposedAt: assertTimestamp(input.firstExposedAt, "exposure.firstExposedAt") }
196
- : {}),
197
- ...(input.lastExposedAt
198
- ? { lastExposedAt: assertTimestamp(input.lastExposedAt, "exposure.lastExposedAt") }
199
- : {}),
200
- ...(input.revokedAt ? { revokedAt: assertTimestamp(input.revokedAt, "exposure.revokedAt") } : {})
201
- });
202
- }
203
- function normalizeDisposition(input) {
204
- return Object.freeze({
205
- status: input.status,
206
- ...(input.reason ? { reason: assertSafeMetadataString(input.reason, "disposition.reason") } : {}),
207
- ...(input.decidedAt ? { decidedAt: assertTimestamp(input.decidedAt, "disposition.decidedAt") } : {}),
208
- ...(input.errorClass ? { errorClass: assertSafeMetadataString(input.errorClass, "disposition.errorClass") } : {}),
209
- ...(input.followUpRequired !== undefined ? { followUpRequired: input.followUpRequired } : {})
210
- });
211
- }
212
- function normalizeEvidence(input) {
213
- return Object.freeze({
214
- source: assertSafeMetadataString(input.source, "evidence.source"),
215
- ...(input.status ? { status: assertSafeMetadataString(input.status, "evidence.status") } : {}),
216
- ...(input.observedAt ? { observedAt: assertTimestamp(input.observedAt, "evidence.observedAt") } : {}),
217
- ...(input.count !== undefined ? { count: nonNegativeInteger(input.count, "evidence.count") } : {}),
218
- ...(input.errorClass ? { errorClass: assertSafeMetadataString(input.errorClass, "evidence.errorClass") } : {})
219
- });
220
- }
221
- function normalizeCleanup(input) {
222
- if (!input) {
223
- return Object.freeze({ status: "pending" });
224
- }
225
- return Object.freeze({
226
- status: input.status,
227
- ...(input.startedAt ? { startedAt: assertTimestamp(input.startedAt, "cleanup.startedAt") } : {}),
228
- ...(input.finishedAt ? { finishedAt: assertTimestamp(input.finishedAt, "cleanup.finishedAt") } : {}),
229
- ...(input.errorClass ? { errorClass: assertSafeMetadataString(input.errorClass, "cleanup.errorClass") } : {}),
230
- ...(input.followUpRequiredCount !== undefined
231
- ? {
232
- followUpRequiredCount: nonNegativeInteger(input.followUpRequiredCount, "cleanup.followUpRequiredCount")
233
- }
234
- : {})
235
- });
236
- }
237
- function buildCustodySummary(secrets, resources, cleanup) {
238
- const records = [...secrets, ...resources];
239
- const dispositionCounts = {};
240
- let exposureCount = 0;
241
- let revokedExposureCount = 0;
242
- let followUpRequiredCount = cleanup.followUpRequiredCount ?? 0;
243
- for (const record of records) {
244
- dispositionCounts[record.disposition.status] = (dispositionCounts[record.disposition.status] ?? 0) + 1;
245
- exposureCount += record.exposures.length;
246
- revokedExposureCount += record.exposures.filter((exposure) => exposure.status === "revoked").length;
247
- if (record.disposition.followUpRequired) {
248
- followUpRequiredCount++;
249
- }
250
- }
251
- return Object.freeze({
252
- secretClassCount: secrets.length,
253
- secretInstanceCount: secrets.reduce((sum, record) => sum + record.count, 0),
254
- resourceClassCount: resources.length,
255
- resourceInstanceCount: resources.reduce((sum, record) => sum + record.count, 0),
256
- exposureCount,
257
- revokedExposureCount,
258
- retainedCount: dispositionCounts.retained_by_policy ?? 0,
259
- cleanupFailedCount: dispositionCounts.cleanup_failed ?? 0,
260
- parkedForOperatorCount: dispositionCounts.parked_for_operator ?? 0,
261
- pendingCount: dispositionCounts.pending ?? 0,
262
- followUpRequiredCount,
263
- dispositionCounts: Object.freeze({ ...dispositionCounts })
264
- });
265
- }
266
- function normalizeSummary(input) {
267
- return Object.freeze({
268
- secretClassCount: nonNegativeInteger(input.secretClassCount, "summary.secretClassCount"),
269
- secretInstanceCount: nonNegativeInteger(input.secretInstanceCount, "summary.secretInstanceCount"),
270
- resourceClassCount: nonNegativeInteger(input.resourceClassCount, "summary.resourceClassCount"),
271
- resourceInstanceCount: nonNegativeInteger(input.resourceInstanceCount, "summary.resourceInstanceCount"),
272
- exposureCount: nonNegativeInteger(input.exposureCount, "summary.exposureCount"),
273
- revokedExposureCount: nonNegativeInteger(input.revokedExposureCount, "summary.revokedExposureCount"),
274
- retainedCount: nonNegativeInteger(input.retainedCount, "summary.retainedCount"),
275
- cleanupFailedCount: nonNegativeInteger(input.cleanupFailedCount, "summary.cleanupFailedCount"),
276
- parkedForOperatorCount: nonNegativeInteger(input.parkedForOperatorCount, "summary.parkedForOperatorCount"),
277
- pendingCount: nonNegativeInteger(input.pendingCount, "summary.pendingCount"),
278
- followUpRequiredCount: nonNegativeInteger(input.followUpRequiredCount, "summary.followUpRequiredCount"),
279
- dispositionCounts: Object.freeze(Object.fromEntries(Object.entries(input.dispositionCounts).map(([key, value]) => [
280
- key,
281
- nonNegativeInteger(value, `summary.dispositionCounts.${key}`)
282
- ])))
283
- });
284
- }
285
- const custodyStringPatterns = Object.freeze([
286
- ...PUBLIC_SAFE_SECRET_PATTERNS,
287
- privateResourceHandlePattern([
288
- "machine",
289
- "agent",
290
- "resource",
291
- "handle",
292
- "token_hash",
293
- "bearer_hash"
294
- ])
295
- ]);
296
- const isForbiddenCustodyFieldName = createForbiddenFieldNamePredicate([
297
- "apiKey",
298
- "apiKeys",
299
- "secretValue",
300
- "bearerHash",
301
- "signedUrl",
302
- "objectStoreKey",
303
- "objectKey",
304
- "vaultId",
305
- "providerResponseBody",
306
- "responseBody",
307
- "privateResourceHandle",
308
- "resourceHandle",
309
- "rawBody"
310
- ]);
311
- function assertSafeIdentifier(value, field) {
312
- assertNonEmptyString(value, field);
313
- if (!/^[A-Za-z0-9._:-]+$/.test(value)) {
314
- throw new Error(`custody manifest ${field} must be an opaque identifier without path separators`);
315
- }
316
- assertPublicSafeCustodyPayload(value);
317
- return value;
318
- }
319
- function assertSafeMetadataString(value, field) {
320
- assertNonEmptyString(value, field);
321
- assertPublicSafeCustodyPayload(value);
322
- return value;
323
- }
324
- function assertNonEmptyString(value, field) {
325
- if (typeof value !== "string" || value.trim().length === 0) {
326
- throw new Error(`custody manifest ${field} must be a non-empty string`);
327
- }
328
- }
329
- function assertTimestamp(value, field) {
330
- assertSafeMetadataString(value, field);
331
- const ms = Date.parse(value);
332
- if (!Number.isFinite(ms)) {
333
- throw new Error(`custody manifest ${field} must be an ISO timestamp string`);
334
- }
335
- return value;
336
- }
337
- function nonNegativeInteger(value, field) {
338
- if (!Number.isSafeInteger(value) || value < 0) {
339
- throw new Error(`custody manifest ${field} must be a non-negative safe integer`);
340
- }
341
- return value;
342
- }
343
- function formatFindingPaths(findings) {
344
- return findings.map((finding) => `${finding.path} (${finding.reason})`).join(", ");
345
- }
@@ -1,14 +0,0 @@
1
- import type { SessionFile, SessionFilePathSelector, SessionFileQuery, SessionFileSelector, SessionFileType } from "./runtime-types.js";
2
- /** Package-private path-selector guard shared by transport orchestration. */
3
- export declare function isPathSelector(selector: SessionFileSelector): selector is SessionFilePathSelector;
4
- export declare function resolveSessionFileSelector(files: readonly SessionFile[], selector: SessionFilePathSelector, sessionId?: string): SessionFile;
5
- export declare function filterSessionFiles(files: readonly SessionFile[], query: SessionFileQuery): readonly SessionFile[];
6
- /**
7
- * The single filename-matcher for cross-session / per-session file SEARCH. A
8
- * string is a case-insensitive SUBSTRING match; a RegExp is tested as given (and
9
- * reset to `lastIndex = 0` so a reused `/g` regex is safe). Sharing this SSoT is
10
- * what closes the T16 crash class: session-file search no longer assumes `filename`
11
- * is a string and passes a RegExp into `escapeRegExp(...).replace(...)`.
12
- */
13
- export declare function toFilenameMatcher(filename: string | RegExp): (name: string) => boolean;
14
- export declare function classifySessionFile(file: Pick<SessionFile, "filename" | "contentType">): SessionFileType;