@assemblyline-agents/runtime 0.1.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 (331) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +19 -0
  3. package/dist/agent-harness.d.ts +108 -0
  4. package/dist/agent-harness.d.ts.map +1 -0
  5. package/dist/agent-harness.js +2 -0
  6. package/dist/agent-harness.js.map +1 -0
  7. package/dist/attachments-legacy.d.ts +17 -0
  8. package/dist/attachments-legacy.d.ts.map +1 -0
  9. package/dist/attachments-legacy.js +273 -0
  10. package/dist/attachments-legacy.js.map +1 -0
  11. package/dist/attachments.d.ts +49 -0
  12. package/dist/attachments.d.ts.map +1 -0
  13. package/dist/attachments.js +832 -0
  14. package/dist/attachments.js.map +1 -0
  15. package/dist/builtin-tool-executors.d.ts +96 -0
  16. package/dist/builtin-tool-executors.d.ts.map +1 -0
  17. package/dist/builtin-tool-executors.js +501 -0
  18. package/dist/builtin-tool-executors.js.map +1 -0
  19. package/dist/builtin-tools.d.ts +30 -0
  20. package/dist/builtin-tools.d.ts.map +1 -0
  21. package/dist/builtin-tools.js +690 -0
  22. package/dist/builtin-tools.js.map +1 -0
  23. package/dist/capability-catalog.d.ts +27 -0
  24. package/dist/capability-catalog.d.ts.map +1 -0
  25. package/dist/capability-catalog.js +193 -0
  26. package/dist/capability-catalog.js.map +1 -0
  27. package/dist/channel-http-util.d.ts +34 -0
  28. package/dist/channel-http-util.d.ts.map +1 -0
  29. package/dist/channel-http-util.js +93 -0
  30. package/dist/channel-http-util.js.map +1 -0
  31. package/dist/channel-ingress.d.ts +56 -0
  32. package/dist/channel-ingress.d.ts.map +1 -0
  33. package/dist/channel-ingress.js +273 -0
  34. package/dist/channel-ingress.js.map +1 -0
  35. package/dist/channel.d.ts +146 -0
  36. package/dist/channel.d.ts.map +1 -0
  37. package/dist/channel.js +2 -0
  38. package/dist/channel.js.map +1 -0
  39. package/dist/checkpoints.d.ts +34 -0
  40. package/dist/checkpoints.d.ts.map +1 -0
  41. package/dist/checkpoints.js +86 -0
  42. package/dist/checkpoints.js.map +1 -0
  43. package/dist/code-mode.d.ts +20 -0
  44. package/dist/code-mode.d.ts.map +1 -0
  45. package/dist/code-mode.js +658 -0
  46. package/dist/code-mode.js.map +1 -0
  47. package/dist/computer-relay-protocol.d.ts +36 -0
  48. package/dist/computer-relay-protocol.d.ts.map +1 -0
  49. package/dist/computer-relay-protocol.js +127 -0
  50. package/dist/computer-relay-protocol.js.map +1 -0
  51. package/dist/concurrency.d.ts +68 -0
  52. package/dist/concurrency.d.ts.map +1 -0
  53. package/dist/concurrency.js +193 -0
  54. package/dist/concurrency.js.map +1 -0
  55. package/dist/connection-auth-util.d.ts +56 -0
  56. package/dist/connection-auth-util.d.ts.map +1 -0
  57. package/dist/connection-auth-util.js +154 -0
  58. package/dist/connection-auth-util.js.map +1 -0
  59. package/dist/connection-clients.d.ts +50 -0
  60. package/dist/connection-clients.d.ts.map +1 -0
  61. package/dist/connection-clients.js +402 -0
  62. package/dist/connection-clients.js.map +1 -0
  63. package/dist/connection-stores.d.ts +108 -0
  64. package/dist/connection-stores.d.ts.map +1 -0
  65. package/dist/connection-stores.js +127 -0
  66. package/dist/connection-stores.js.map +1 -0
  67. package/dist/connection-util.d.ts +27 -0
  68. package/dist/connection-util.d.ts.map +1 -0
  69. package/dist/connection-util.js +118 -0
  70. package/dist/connection-util.js.map +1 -0
  71. package/dist/connections.d.ts +152 -0
  72. package/dist/connections.d.ts.map +1 -0
  73. package/dist/connections.js +838 -0
  74. package/dist/connections.js.map +1 -0
  75. package/dist/content-capture.d.ts +32 -0
  76. package/dist/content-capture.d.ts.map +1 -0
  77. package/dist/content-capture.js +77 -0
  78. package/dist/content-capture.js.map +1 -0
  79. package/dist/context-policy-util.d.ts +45 -0
  80. package/dist/context-policy-util.d.ts.map +1 -0
  81. package/dist/context-policy-util.js +120 -0
  82. package/dist/context-policy-util.js.map +1 -0
  83. package/dist/conversation-context.d.ts +55 -0
  84. package/dist/conversation-context.d.ts.map +1 -0
  85. package/dist/conversation-context.js +179 -0
  86. package/dist/conversation-context.js.map +1 -0
  87. package/dist/conversation-transcript.d.ts +49 -0
  88. package/dist/conversation-transcript.d.ts.map +1 -0
  89. package/dist/conversation-transcript.js +77 -0
  90. package/dist/conversation-transcript.js.map +1 -0
  91. package/dist/conversation-turn-dispatch.d.ts +46 -0
  92. package/dist/conversation-turn-dispatch.d.ts.map +1 -0
  93. package/dist/conversation-turn-dispatch.js +201 -0
  94. package/dist/conversation-turn-dispatch.js.map +1 -0
  95. package/dist/delivery-queue.d.ts +89 -0
  96. package/dist/delivery-queue.d.ts.map +1 -0
  97. package/dist/delivery-queue.js +244 -0
  98. package/dist/delivery-queue.js.map +1 -0
  99. package/dist/delivery-send.d.ts +44 -0
  100. package/dist/delivery-send.d.ts.map +1 -0
  101. package/dist/delivery-send.js +494 -0
  102. package/dist/delivery-send.js.map +1 -0
  103. package/dist/env-config.d.ts +6 -0
  104. package/dist/env-config.d.ts.map +1 -0
  105. package/dist/env-config.js +27 -0
  106. package/dist/env-config.js.map +1 -0
  107. package/dist/eval-run-options.d.ts +37 -0
  108. package/dist/eval-run-options.d.ts.map +1 -0
  109. package/dist/eval-run-options.js +106 -0
  110. package/dist/eval-run-options.js.map +1 -0
  111. package/dist/harness-continuation.d.ts +54 -0
  112. package/dist/harness-continuation.d.ts.map +1 -0
  113. package/dist/harness-continuation.js +58 -0
  114. package/dist/harness-continuation.js.map +1 -0
  115. package/dist/harness-loop.d.ts +110 -0
  116. package/dist/harness-loop.d.ts.map +1 -0
  117. package/dist/harness-loop.js +575 -0
  118. package/dist/harness-loop.js.map +1 -0
  119. package/dist/hook-dispatch.d.ts +19 -0
  120. package/dist/hook-dispatch.d.ts.map +1 -0
  121. package/dist/hook-dispatch.js +37 -0
  122. package/dist/hook-dispatch.js.map +1 -0
  123. package/dist/http.d.ts +26 -0
  124. package/dist/http.d.ts.map +1 -0
  125. package/dist/http.js +114 -0
  126. package/dist/http.js.map +1 -0
  127. package/dist/in-memory-conversation-turn-store.d.ts +29 -0
  128. package/dist/in-memory-conversation-turn-store.d.ts.map +1 -0
  129. package/dist/in-memory-conversation-turn-store.js +166 -0
  130. package/dist/in-memory-conversation-turn-store.js.map +1 -0
  131. package/dist/in-memory-run-store.d.ts +39 -0
  132. package/dist/in-memory-run-store.d.ts.map +1 -0
  133. package/dist/in-memory-run-store.js +332 -0
  134. package/dist/in-memory-run-store.js.map +1 -0
  135. package/dist/in-memory-sandbox-session-store.d.ts +33 -0
  136. package/dist/in-memory-sandbox-session-store.d.ts.map +1 -0
  137. package/dist/in-memory-sandbox-session-store.js +186 -0
  138. package/dist/in-memory-sandbox-session-store.js.map +1 -0
  139. package/dist/in-memory-small-stores.d.ts +117 -0
  140. package/dist/in-memory-small-stores.d.ts.map +1 -0
  141. package/dist/in-memory-small-stores.js +340 -0
  142. package/dist/in-memory-small-stores.js.map +1 -0
  143. package/dist/in-memory-usage-store.d.ts +15 -0
  144. package/dist/in-memory-usage-store.d.ts.map +1 -0
  145. package/dist/in-memory-usage-store.js +49 -0
  146. package/dist/in-memory-usage-store.js.map +1 -0
  147. package/dist/index.d.ts +467 -0
  148. package/dist/index.d.ts.map +1 -0
  149. package/dist/index.js +2046 -0
  150. package/dist/index.js.map +1 -0
  151. package/dist/json-util.d.ts +19 -0
  152. package/dist/json-util.d.ts.map +1 -0
  153. package/dist/json-util.js +59 -0
  154. package/dist/json-util.js.map +1 -0
  155. package/dist/local-sandbox.d.ts +16 -0
  156. package/dist/local-sandbox.d.ts.map +1 -0
  157. package/dist/local-sandbox.js +327 -0
  158. package/dist/local-sandbox.js.map +1 -0
  159. package/dist/logging.d.ts +16 -0
  160. package/dist/logging.d.ts.map +1 -0
  161. package/dist/logging.js +41 -0
  162. package/dist/logging.js.map +1 -0
  163. package/dist/mcp-client.d.ts +27 -0
  164. package/dist/mcp-client.d.ts.map +1 -0
  165. package/dist/mcp-client.js +169 -0
  166. package/dist/mcp-client.js.map +1 -0
  167. package/dist/model-harnesses.d.ts +4 -0
  168. package/dist/model-harnesses.d.ts.map +1 -0
  169. package/dist/model-harnesses.js +6 -0
  170. package/dist/model-harnesses.js.map +1 -0
  171. package/dist/model-media.d.ts +36 -0
  172. package/dist/model-media.d.ts.map +1 -0
  173. package/dist/model-media.js +234 -0
  174. package/dist/model-media.js.map +1 -0
  175. package/dist/operator-controls.d.ts +31 -0
  176. package/dist/operator-controls.d.ts.map +1 -0
  177. package/dist/operator-controls.js +71 -0
  178. package/dist/operator-controls.js.map +1 -0
  179. package/dist/pi-agent-harness.d.ts +40 -0
  180. package/dist/pi-agent-harness.d.ts.map +1 -0
  181. package/dist/pi-agent-harness.js +222 -0
  182. package/dist/pi-agent-harness.js.map +1 -0
  183. package/dist/pi-harness.d.ts +42 -0
  184. package/dist/pi-harness.d.ts.map +1 -0
  185. package/dist/pi-harness.js +142 -0
  186. package/dist/pi-harness.js.map +1 -0
  187. package/dist/relay-mcp-client.d.ts +17 -0
  188. package/dist/relay-mcp-client.d.ts.map +1 -0
  189. package/dist/relay-mcp-client.js +119 -0
  190. package/dist/relay-mcp-client.js.map +1 -0
  191. package/dist/replay-resume.d.ts +107 -0
  192. package/dist/replay-resume.d.ts.map +1 -0
  193. package/dist/replay-resume.js +495 -0
  194. package/dist/replay-resume.js.map +1 -0
  195. package/dist/resource-projection-util.d.ts +58 -0
  196. package/dist/resource-projection-util.d.ts.map +1 -0
  197. package/dist/resource-projection-util.js +298 -0
  198. package/dist/resource-projection-util.js.map +1 -0
  199. package/dist/resource-projection.d.ts +45 -0
  200. package/dist/resource-projection.d.ts.map +1 -0
  201. package/dist/resource-projection.js +481 -0
  202. package/dist/resource-projection.js.map +1 -0
  203. package/dist/run-heartbeat.d.ts +34 -0
  204. package/dist/run-heartbeat.d.ts.map +1 -0
  205. package/dist/run-heartbeat.js +62 -0
  206. package/dist/run-heartbeat.js.map +1 -0
  207. package/dist/run-outcome.d.ts +47 -0
  208. package/dist/run-outcome.d.ts.map +1 -0
  209. package/dist/run-outcome.js +92 -0
  210. package/dist/run-outcome.js.map +1 -0
  211. package/dist/run-recovery.d.ts +117 -0
  212. package/dist/run-recovery.d.ts.map +1 -0
  213. package/dist/run-recovery.js +466 -0
  214. package/dist/run-recovery.js.map +1 -0
  215. package/dist/run-resolver.d.ts +35 -0
  216. package/dist/run-resolver.d.ts.map +1 -0
  217. package/dist/run-resolver.js +84 -0
  218. package/dist/run-resolver.js.map +1 -0
  219. package/dist/run-stream.d.ts +37 -0
  220. package/dist/run-stream.d.ts.map +1 -0
  221. package/dist/run-stream.js +78 -0
  222. package/dist/run-stream.js.map +1 -0
  223. package/dist/runs-query.d.ts +29 -0
  224. package/dist/runs-query.d.ts.map +1 -0
  225. package/dist/runs-query.js +142 -0
  226. package/dist/runs-query.js.map +1 -0
  227. package/dist/runtime-bundle.d.ts +3 -0
  228. package/dist/runtime-bundle.d.ts.map +1 -0
  229. package/dist/runtime-bundle.js +18 -0
  230. package/dist/runtime-bundle.js.map +1 -0
  231. package/dist/runtime-types.d.ts +397 -0
  232. package/dist/runtime-types.d.ts.map +1 -0
  233. package/dist/runtime-types.js +2 -0
  234. package/dist/runtime-types.js.map +1 -0
  235. package/dist/runtime-util.d.ts +45 -0
  236. package/dist/runtime-util.d.ts.map +1 -0
  237. package/dist/runtime-util.js +116 -0
  238. package/dist/runtime-util.js.map +1 -0
  239. package/dist/sandbox-cli-client.d.ts +20 -0
  240. package/dist/sandbox-cli-client.d.ts.map +1 -0
  241. package/dist/sandbox-cli-client.js +97 -0
  242. package/dist/sandbox-cli-client.js.map +1 -0
  243. package/dist/sandbox-fs.d.ts +56 -0
  244. package/dist/sandbox-fs.d.ts.map +1 -0
  245. package/dist/sandbox-fs.js +276 -0
  246. package/dist/sandbox-fs.js.map +1 -0
  247. package/dist/sandbox-session-key.d.ts +8 -0
  248. package/dist/sandbox-session-key.d.ts.map +1 -0
  249. package/dist/sandbox-session-key.js +32 -0
  250. package/dist/sandbox-session-key.js.map +1 -0
  251. package/dist/sandbox-snapshot-policy.d.ts +27 -0
  252. package/dist/sandbox-snapshot-policy.d.ts.map +1 -0
  253. package/dist/sandbox-snapshot-policy.js +94 -0
  254. package/dist/sandbox-snapshot-policy.js.map +1 -0
  255. package/dist/sandbox-sync-worker.d.ts +63 -0
  256. package/dist/sandbox-sync-worker.d.ts.map +1 -0
  257. package/dist/sandbox-sync-worker.js +448 -0
  258. package/dist/sandbox-sync-worker.js.map +1 -0
  259. package/dist/schedule-execution.d.ts +59 -0
  260. package/dist/schedule-execution.d.ts.map +1 -0
  261. package/dist/schedule-execution.js +951 -0
  262. package/dist/schedule-execution.js.map +1 -0
  263. package/dist/scheduler.d.ts +19 -0
  264. package/dist/scheduler.d.ts.map +1 -0
  265. package/dist/scheduler.js +38 -0
  266. package/dist/scheduler.js.map +1 -0
  267. package/dist/security.d.ts +20 -0
  268. package/dist/security.d.ts.map +1 -0
  269. package/dist/security.js +145 -0
  270. package/dist/security.js.map +1 -0
  271. package/dist/self-improvement.d.ts +245 -0
  272. package/dist/self-improvement.d.ts.map +1 -0
  273. package/dist/self-improvement.js +554 -0
  274. package/dist/self-improvement.js.map +1 -0
  275. package/dist/source-loader.d.ts +19 -0
  276. package/dist/source-loader.d.ts.map +1 -0
  277. package/dist/source-loader.js +160 -0
  278. package/dist/source-loader.js.map +1 -0
  279. package/dist/state-store-helpers.d.ts +28 -0
  280. package/dist/state-store-helpers.d.ts.map +1 -0
  281. package/dist/state-store-helpers.js +164 -0
  282. package/dist/state-store-helpers.js.map +1 -0
  283. package/dist/state-stores.d.ts +25 -0
  284. package/dist/state-stores.d.ts.map +1 -0
  285. package/dist/state-stores.js +157 -0
  286. package/dist/state-stores.js.map +1 -0
  287. package/dist/state.d.ts +736 -0
  288. package/dist/state.d.ts.map +1 -0
  289. package/dist/state.js +46 -0
  290. package/dist/state.js.map +1 -0
  291. package/dist/storage.d.ts +188 -0
  292. package/dist/storage.d.ts.map +1 -0
  293. package/dist/storage.js +752 -0
  294. package/dist/storage.js.map +1 -0
  295. package/dist/subagent-execution.d.ts +80 -0
  296. package/dist/subagent-execution.d.ts.map +1 -0
  297. package/dist/subagent-execution.js +135 -0
  298. package/dist/subagent-execution.js.map +1 -0
  299. package/dist/telemetry.d.ts +49 -0
  300. package/dist/telemetry.d.ts.map +1 -0
  301. package/dist/telemetry.js +60 -0
  302. package/dist/telemetry.js.map +1 -0
  303. package/dist/tool-apis.d.ts +22 -0
  304. package/dist/tool-apis.d.ts.map +1 -0
  305. package/dist/tool-apis.js +344 -0
  306. package/dist/tool-apis.js.map +1 -0
  307. package/dist/tool-execution.d.ts +143 -0
  308. package/dist/tool-execution.d.ts.map +1 -0
  309. package/dist/tool-execution.js +573 -0
  310. package/dist/tool-execution.js.map +1 -0
  311. package/dist/trusted-attachments.d.ts +20 -0
  312. package/dist/trusted-attachments.d.ts.map +1 -0
  313. package/dist/trusted-attachments.js +276 -0
  314. package/dist/trusted-attachments.js.map +1 -0
  315. package/dist/usage-accounting.d.ts +37 -0
  316. package/dist/usage-accounting.d.ts.map +1 -0
  317. package/dist/usage-accounting.js +181 -0
  318. package/dist/usage-accounting.js.map +1 -0
  319. package/dist/usage-budget.d.ts +29 -0
  320. package/dist/usage-budget.d.ts.map +1 -0
  321. package/dist/usage-budget.js +145 -0
  322. package/dist/usage-budget.js.map +1 -0
  323. package/dist/usage-reconciliation.d.ts +76 -0
  324. package/dist/usage-reconciliation.d.ts.map +1 -0
  325. package/dist/usage-reconciliation.js +463 -0
  326. package/dist/usage-reconciliation.js.map +1 -0
  327. package/dist/usage-records.d.ts +24 -0
  328. package/dist/usage-records.d.ts.map +1 -0
  329. package/dist/usage-records.js +445 -0
  330. package/dist/usage-records.js.map +1 -0
  331. package/package.json +51 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { JsonObject, JsonValue } from "@assemblyline-agents/core";
2
+ /**
3
+ * Pure JSON helpers shared across the runtime: structural coercion, bounded
4
+ * previews for event payloads, and sensitive-key redaction for observability.
5
+ * Redaction here is an observability concern only — it must never be applied to
6
+ * values that are later re-executed (e.g. a persisted tool-call input replayed
7
+ * on approval resume), or the resumed action runs with "[REDACTED]" arguments.
8
+ */
9
+ /** Coerce an arbitrary value into plain JSON (drops undefined, functions, cycles throw). */
10
+ export declare function safeJson(value: unknown): JsonValue;
11
+ export declare function isJsonObject(value: unknown): value is JsonObject;
12
+ export declare function previewString(value: string, maxLength?: number): string;
13
+ export declare function previewJson(value: unknown, maxLength?: number): JsonObject;
14
+ export declare function redactedRunInput(input: JsonObject): JsonObject;
15
+ /** Deep-copy replacing values under sensitive keys with "[REDACTED]" — for logs/events only. */
16
+ export declare function redactSensitiveJsonValue(value: JsonValue): JsonValue;
17
+ /** Sensitive-redacted JSON view of a tool input — for the event stream, NOT for execution. */
18
+ export declare function redactedToolInput(value: unknown): JsonValue;
19
+ //# sourceMappingURL=json-util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-util.d.ts","sourceRoot":"","sources":["../src/json-util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGvE;;;;;;GAMG;AAEH,4FAA4F;AAC5F,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAElD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAGpE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,SAAM,GAAG,UAAU,CAQvE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAS9D;AAED,gGAAgG;AAChG,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAQpE;AAED,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAE3D"}
@@ -0,0 +1,59 @@
1
+ import { createHash } from "node:crypto";
2
+ import { isSensitiveInputKey } from "./content-capture.js";
3
+ /**
4
+ * Pure JSON helpers shared across the runtime: structural coercion, bounded
5
+ * previews for event payloads, and sensitive-key redaction for observability.
6
+ * Redaction here is an observability concern only — it must never be applied to
7
+ * values that are later re-executed (e.g. a persisted tool-call input replayed
8
+ * on approval resume), or the resumed action runs with "[REDACTED]" arguments.
9
+ */
10
+ /** Coerce an arbitrary value into plain JSON (drops undefined, functions, cycles throw). */
11
+ export function safeJson(value) {
12
+ return JSON.parse(JSON.stringify(value ?? null));
13
+ }
14
+ export function isJsonObject(value) {
15
+ return Boolean(value && typeof value === "object" && !Array.isArray(value));
16
+ }
17
+ export function previewString(value, maxLength = 500) {
18
+ if (value.length <= maxLength)
19
+ return value;
20
+ return `${value.slice(0, Math.max(0, maxLength - 3))}...`;
21
+ }
22
+ export function previewJson(value, maxLength = 500) {
23
+ const json = safeJson(value);
24
+ const serialized = JSON.stringify(json);
25
+ return {
26
+ preview: previewString(serialized, maxLength),
27
+ sha256: createHash("sha256").update(serialized).digest("hex"),
28
+ bytes: Buffer.byteLength(serialized)
29
+ };
30
+ }
31
+ export function redactedRunInput(input) {
32
+ const out = { redacted: true };
33
+ for (const key of ["channel", "eventId", "conversationId", "userId", "parentRunId", "subagent"]) {
34
+ const value = input[key];
35
+ if (typeof value === "string")
36
+ out[key] = value;
37
+ }
38
+ const metadata = input.metadata;
39
+ if (isJsonObject(metadata))
40
+ out.metadataPreview = previewJson(metadata);
41
+ return out;
42
+ }
43
+ /** Deep-copy replacing values under sensitive keys with "[REDACTED]" — for logs/events only. */
44
+ export function redactSensitiveJsonValue(value) {
45
+ if (Array.isArray(value))
46
+ return value.map((item) => redactSensitiveJsonValue(item));
47
+ if (!value || typeof value !== "object")
48
+ return value;
49
+ const out = {};
50
+ for (const [key, item] of Object.entries(value)) {
51
+ out[key] = isSensitiveInputKey(key) ? "[REDACTED]" : redactSensitiveJsonValue(item);
52
+ }
53
+ return out;
54
+ }
55
+ /** Sensitive-redacted JSON view of a tool input — for the event stream, NOT for execution. */
56
+ export function redactedToolInput(value) {
57
+ return redactSensitiveJsonValue(safeJson(value));
58
+ }
59
+ //# sourceMappingURL=json-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-util.js","sourceRoot":"","sources":["../src/json-util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { SandboxSession } from "@assemblyline-agents/core";
2
+ import type { RunRecord, SandboxAdapter, SandboxCreateInput, SandboxLookupInput, SandboxLookupResult, SandboxReconnectInput } from "./index.js";
3
+ export declare class LocalSandboxAdapter implements SandboxAdapter {
4
+ readonly provider = "local";
5
+ private readonly root;
6
+ constructor(root?: string);
7
+ acquire(run: RunRecord): Promise<SandboxSession>;
8
+ create(run: RunRecord, input?: SandboxCreateInput): Promise<SandboxSession>;
9
+ lookup(input: SandboxLookupInput): Promise<SandboxLookupResult | undefined>;
10
+ connect(input: SandboxReconnectInput): Promise<SandboxSession | undefined>;
11
+ wake(input: SandboxReconnectInput): Promise<SandboxSession | undefined>;
12
+ pauseOrRetain(_session: SandboxSession): Promise<void>;
13
+ disposeClean(session: SandboxSession): Promise<void>;
14
+ private openSession;
15
+ }
16
+ //# sourceMappingURL=local-sandbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-sandbox.d.ts","sourceRoot":"","sources":["../src/local-sandbox.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAMV,cAAc,EAEf,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAQpB,qBAAa,mBAAoB,YAAW,cAAc;IACxD,QAAQ,CAAC,QAAQ,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAElB,IAAI,GAAE,MAA0D;IAItE,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC;IAIhD,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,GAAE,kBAA2C,GAAG,OAAO,CAAC,cAAc,CAAC;IAUnG,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAY3E,OAAO,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAQ1E,IAAI,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAIvE,aAAa,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1D,OAAO,CAAC,WAAW;CAoIpB"}
@@ -0,0 +1,327 @@
1
+ import { exec, spawn as spawnChild } from "node:child_process";
2
+ import { chmodSync, existsSync, mkdirSync, readdirSync, readFileSync, rmSync, statSync, writeFileSync } from "node:fs";
3
+ import { tmpdir } from "node:os";
4
+ import { dirname, join, relative, resolve, sep } from "node:path";
5
+ import { promisify } from "node:util";
6
+ import { createHash, randomUUID } from "node:crypto";
7
+ import { canonicalizeSandboxListingPath, hasCurrentSandboxFilesystemContract, resolveSandboxPath as resolveCoreSandboxPath, sandboxFilesystemContractKey, sandboxFilesystemContractMetadata } from "@assemblyline-agents/core";
8
+ const execAsync = promisify(exec);
9
+ function sanitizeShellTimeoutMs(value) {
10
+ return typeof value === "number" && Number.isFinite(value) && value > 0 ? Math.floor(value) : 30_000;
11
+ }
12
+ export class LocalSandboxAdapter {
13
+ provider = "local";
14
+ root;
15
+ constructor(root = join(tmpdir(), `openeve-sandbox-${randomUUID()}`)) {
16
+ this.root = resolve(root);
17
+ }
18
+ async acquire(run) {
19
+ return this.create(run, { sessionKey: run.id });
20
+ }
21
+ async create(run, input = { sessionKey: run.id }) {
22
+ const sessionIdentity = sandboxFilesystemContractKey(input.sessionKey);
23
+ const sessionRoot = join(this.root, sessionIdentity);
24
+ mkdirSync(sessionRoot, { recursive: true });
25
+ return this.openSession(`local-${sessionIdentity}`, sessionRoot, {
26
+ ...(input.metadata ?? {}),
27
+ ...sandboxFilesystemContractMetadata("emulated")
28
+ });
29
+ }
30
+ async lookup(input) {
31
+ const sessionIdentity = sandboxFilesystemContractKey(input.sessionKey);
32
+ const root = join(this.root, sessionIdentity);
33
+ if (!existsSync(root))
34
+ return undefined;
35
+ return {
36
+ sandboxId: `local-${sessionIdentity}`,
37
+ state: "live",
38
+ root,
39
+ manifest: { root, ...sandboxFilesystemContractMetadata("emulated") }
40
+ };
41
+ }
42
+ async connect(input) {
43
+ if (!hasCurrentSandboxFilesystemContract(input.manifest, "emulated"))
44
+ return undefined;
45
+ const root = input.root ?? stringValue(input.manifest?.sandboxRoot) ?? join(this.root, input.runId);
46
+ const resolvedRoot = resolve(root);
47
+ if (!isContained(this.root, resolvedRoot) || !existsSync(resolvedRoot))
48
+ return undefined;
49
+ return this.openSession(input.sandboxId, resolvedRoot, input.manifest);
50
+ }
51
+ async wake(input) {
52
+ return this.connect(input);
53
+ }
54
+ async pauseOrRetain(_session) {
55
+ return;
56
+ }
57
+ async disposeClean(session) {
58
+ const sessionRoot = session.root ? resolve(session.root) : undefined;
59
+ if (!sessionRoot || !isContained(this.root, sessionRoot) || !existsSync(sessionRoot))
60
+ return;
61
+ markWritable(sessionRoot);
62
+ rmSync(sessionRoot, { recursive: true, force: true });
63
+ }
64
+ openSession(id, sessionRoot, metadata) {
65
+ return {
66
+ id,
67
+ root: sessionRoot,
68
+ provider: this.provider,
69
+ metadata: {
70
+ ...(metadata ?? {}),
71
+ ...sandboxFilesystemContractMetadata("emulated")
72
+ },
73
+ async readFile(path) {
74
+ return readFileSync(resolveSandboxPath(sessionRoot, path), "utf8");
75
+ },
76
+ async writeFile(path, contents) {
77
+ const fullPath = resolveSandboxPath(sessionRoot, path);
78
+ mkdirSync(dirname(fullPath), { recursive: true });
79
+ writeFileSync(fullPath, contents);
80
+ },
81
+ async listFiles(path, options) {
82
+ const rootPath = resolveSandboxPath(sessionRoot, path);
83
+ return scanLocalFiles(rootPath, options?.excludeTopLevel).map((file) => {
84
+ const contents = readFileSync(file.absolutePath);
85
+ return {
86
+ path: canonicalizeSandboxListingPath(sessionRoot, file.absolutePath),
87
+ contents,
88
+ size: contents.byteLength
89
+ };
90
+ });
91
+ },
92
+ async deletePath(path, options = {}) {
93
+ const fullPath = resolveSandboxPath(sessionRoot, path);
94
+ rmSync(fullPath, { recursive: options.recursive !== false, force: true });
95
+ },
96
+ async shell(command, options = {}) {
97
+ const started = Date.now();
98
+ try {
99
+ const result = await execAsync(command, {
100
+ cwd: options.cwd ? resolveSandboxPath(sessionRoot, options.cwd) : sessionRoot,
101
+ env: { ...process.env, ...options.env },
102
+ // Node exec treats timeout 0/negative as NO timeout — never let a
103
+ // caller-supplied value disable the guard.
104
+ timeout: sanitizeShellTimeoutMs(options.timeoutMs),
105
+ maxBuffer: 1024 * 1024 * 100
106
+ });
107
+ return {
108
+ command,
109
+ exitCode: 0,
110
+ stdout: result.stdout,
111
+ stderr: result.stderr,
112
+ durationMs: Date.now() - started
113
+ };
114
+ }
115
+ catch (error) {
116
+ const candidate = error;
117
+ return {
118
+ command,
119
+ exitCode: typeof candidate.code === "number" ? candidate.code : 1,
120
+ stdout: candidate.stdout ?? "",
121
+ stderr: candidate.stderr ?? String(error),
122
+ durationMs: Date.now() - started
123
+ };
124
+ }
125
+ },
126
+ async spawn(command, args, options = {}) {
127
+ const started = Date.now();
128
+ const child = spawnChild(command, args, {
129
+ cwd: options.cwd ? resolveSandboxPath(sessionRoot, options.cwd) : sessionRoot,
130
+ env: { ...process.env, ...options.env },
131
+ stdio: ["pipe", "pipe", "pipe"]
132
+ });
133
+ const stdout = createProcessTextStream(child.stdout);
134
+ const stderr = createProcessTextStream(child.stderr);
135
+ let stdoutText = "";
136
+ let stderrText = "";
137
+ child.stdout.on("data", (chunk) => {
138
+ stdoutText += Buffer.isBuffer(chunk) ? chunk.toString("utf8") : String(chunk);
139
+ });
140
+ child.stderr.on("data", (chunk) => {
141
+ stderrText += Buffer.isBuffer(chunk) ? chunk.toString("utf8") : String(chunk);
142
+ });
143
+ if (options.stdin !== undefined) {
144
+ child.stdin.write(options.stdin);
145
+ child.stdin.end();
146
+ }
147
+ let timeout;
148
+ const completed = new Promise((resolveCompleted) => {
149
+ if (options.timeoutMs && options.timeoutMs > 0) {
150
+ timeout = setTimeout(() => {
151
+ child.kill("SIGTERM");
152
+ }, options.timeoutMs);
153
+ }
154
+ child.once("error", (error) => {
155
+ if (timeout)
156
+ clearTimeout(timeout);
157
+ resolveCompleted({
158
+ command: [command, ...args].join(" "),
159
+ exitCode: 1,
160
+ stdout: stdoutText,
161
+ stderr: stderrText || error.message,
162
+ durationMs: Date.now() - started
163
+ });
164
+ });
165
+ child.once("close", (code, signal) => {
166
+ if (timeout)
167
+ clearTimeout(timeout);
168
+ resolveCompleted({
169
+ command: [command, ...args].join(" "),
170
+ exitCode: code ?? (signal ? 128 : 1),
171
+ stdout: stdoutText,
172
+ stderr: stderrText,
173
+ durationMs: Date.now() - started
174
+ });
175
+ });
176
+ });
177
+ return {
178
+ id: child.pid ? String(child.pid) : randomUUID(),
179
+ stdout,
180
+ stderr,
181
+ completed,
182
+ write: async (input) => {
183
+ child.stdin.write(input);
184
+ },
185
+ kill: async (signal) => {
186
+ child.kill(signal);
187
+ }
188
+ };
189
+ },
190
+ async snapshot(request) {
191
+ return {
192
+ id: createHash("sha256").update(sessionRoot).update(String(Date.now())).digest("hex"),
193
+ createdAt: timestamp(),
194
+ metadata: request ? safeJson(request) : {}
195
+ };
196
+ }
197
+ };
198
+ }
199
+ }
200
+ function createProcessTextStream(stream) {
201
+ const queue = [];
202
+ const waiters = [];
203
+ let ended = false;
204
+ let error;
205
+ const flush = () => {
206
+ while (waiters.length > 0 && queue.length > 0) {
207
+ const waiter = waiters.shift();
208
+ const value = queue.shift();
209
+ if (waiter && value !== undefined)
210
+ waiter({ done: false, value });
211
+ }
212
+ if (ended || error) {
213
+ while (waiters.length > 0) {
214
+ const waiter = waiters.shift();
215
+ if (waiter) {
216
+ waiter({ done: true, value: undefined });
217
+ }
218
+ }
219
+ }
220
+ };
221
+ stream.on("data", (chunk) => {
222
+ queue.push(Buffer.isBuffer(chunk) ? chunk.toString("utf8") : String(chunk));
223
+ flush();
224
+ });
225
+ stream.on("end", () => {
226
+ ended = true;
227
+ flush();
228
+ });
229
+ stream.on("error", (err) => {
230
+ error = err instanceof Error ? err : new Error(String(err));
231
+ ended = true;
232
+ flush();
233
+ });
234
+ return {
235
+ [Symbol.asyncIterator]() {
236
+ return {
237
+ next() {
238
+ if (queue.length > 0) {
239
+ return Promise.resolve({ done: false, value: queue.shift() ?? "" });
240
+ }
241
+ if (error)
242
+ return Promise.reject(error);
243
+ if (ended)
244
+ return Promise.resolve({ done: true, value: undefined });
245
+ return new Promise((resolveNext) => waiters.push(resolveNext));
246
+ }
247
+ };
248
+ }
249
+ };
250
+ }
251
+ function markWritable(path) {
252
+ setLocalTreeMode(path, false);
253
+ }
254
+ function setLocalTreeMode(path, readOnly) {
255
+ try {
256
+ if (!existsSync(path))
257
+ return;
258
+ const stat = statSync(path);
259
+ if (stat.isDirectory()) {
260
+ for (const entry of readdirSync(path)) {
261
+ setLocalTreeMode(join(path, entry), readOnly);
262
+ }
263
+ chmodSync(path, readOnly ? 0o555 : 0o755);
264
+ return;
265
+ }
266
+ if (stat.isFile())
267
+ chmodSync(path, readOnly ? 0o444 : 0o644);
268
+ }
269
+ catch {
270
+ return;
271
+ }
272
+ }
273
+ function scanLocalFiles(root, excludeTopLevel = []) {
274
+ if (!existsSync(root))
275
+ return [];
276
+ const files = [];
277
+ walkLocal(root, root, files, new Set(excludeTopLevel));
278
+ return files.sort((a, b) => a.relativePath.localeCompare(b.relativePath));
279
+ }
280
+ function walkLocal(root, dir, out, excludeTopLevel) {
281
+ for (const entry of readdirSync(dir)) {
282
+ const absolutePath = join(dir, entry);
283
+ const stat = statSync(absolutePath);
284
+ if (stat.isDirectory()) {
285
+ if (dir === root && excludeTopLevel.has(entry))
286
+ continue;
287
+ walkLocal(root, absolutePath, out, excludeTopLevel);
288
+ continue;
289
+ }
290
+ if (stat.isFile()) {
291
+ out.push({ absolutePath, relativePath: absolutePath.slice(root.length + 1) });
292
+ }
293
+ }
294
+ }
295
+ function resolveSandboxPath(root, path) {
296
+ const fullPath = resolve(resolveCoreSandboxPath(root, path));
297
+ if (!isContained(root, fullPath))
298
+ throw new Error(`Invalid sandbox path: ${path}`);
299
+ return fullPath;
300
+ }
301
+ function isContained(root, candidate) {
302
+ const relativePath = relative(resolve(root), resolve(candidate));
303
+ return relativePath === "" || (!relativePath.startsWith("..") && !relativePath.startsWith(sep) && !relativePath.includes(`..${sep}`));
304
+ }
305
+ function stringValue(value) {
306
+ return typeof value === "string" ? value : undefined;
307
+ }
308
+ function safeJson(value) {
309
+ if (value === null || typeof value === "string" || typeof value === "number" || typeof value === "boolean")
310
+ return value;
311
+ if (value === undefined || typeof value === "function" || typeof value === "symbol")
312
+ return null;
313
+ if (Array.isArray(value))
314
+ return value.map((item) => safeJson(item));
315
+ if (value && typeof value === "object") {
316
+ const out = {};
317
+ for (const [key, item] of Object.entries(value)) {
318
+ out[key] = safeJson(item);
319
+ }
320
+ return out;
321
+ }
322
+ return String(value);
323
+ }
324
+ function timestamp() {
325
+ return new Date().toISOString();
326
+ }
327
+ //# sourceMappingURL=local-sandbox.js.map