@acpus/runtime 0.8.0 → 0.9.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/dist/.tsbuildinfo +1 -0
  2. package/dist/admission/input.d.ts +5 -0
  3. package/dist/admission/input.d.ts.map +1 -0
  4. package/dist/admission/input.js +17 -0
  5. package/dist/admission/input.js.map +1 -0
  6. package/dist/artifacts/rewrite.d.ts +7 -0
  7. package/dist/artifacts/rewrite.d.ts.map +1 -0
  8. package/dist/artifacts/rewrite.js +28 -0
  9. package/dist/artifacts/rewrite.js.map +1 -0
  10. package/dist/control/agent-overrides.d.ts +4 -0
  11. package/dist/control/agent-overrides.d.ts.map +1 -0
  12. package/dist/control/agent-overrides.js +40 -0
  13. package/dist/control/agent-overrides.js.map +1 -0
  14. package/dist/daemon/loop.d.ts +16 -0
  15. package/dist/daemon/loop.d.ts.map +1 -0
  16. package/dist/daemon/loop.js +191 -0
  17. package/dist/daemon/loop.js.map +1 -0
  18. package/dist/daemon/sessions.d.ts +23 -0
  19. package/dist/daemon/sessions.d.ts.map +1 -0
  20. package/dist/daemon/sessions.js +190 -0
  21. package/dist/daemon/sessions.js.map +1 -0
  22. package/dist/daemon/socket.d.ts +82 -0
  23. package/dist/daemon/socket.d.ts.map +1 -0
  24. package/dist/daemon/socket.js +341 -0
  25. package/dist/daemon/socket.js.map +1 -0
  26. package/dist/daemon/tick.d.ts +9 -0
  27. package/dist/daemon/tick.d.ts.map +1 -0
  28. package/dist/daemon/tick.js +18 -0
  29. package/dist/daemon/tick.js.map +1 -0
  30. package/dist/evaluation/admissible.d.ts +2 -0
  31. package/dist/evaluation/admissible.d.ts.map +1 -0
  32. package/dist/evaluation/admissible.js +50 -0
  33. package/dist/evaluation/admissible.js.map +1 -0
  34. package/dist/evaluation/evaluator.d.ts +14 -0
  35. package/dist/evaluation/evaluator.d.ts.map +1 -0
  36. package/dist/evaluation/evaluator.js +34 -0
  37. package/dist/evaluation/evaluator.js.map +1 -0
  38. package/dist/evaluation/loop-limit.d.ts +4 -0
  39. package/dist/evaluation/loop-limit.d.ts.map +1 -0
  40. package/dist/evaluation/loop-limit.js +9 -0
  41. package/dist/evaluation/loop-limit.js.map +1 -0
  42. package/dist/evaluation/schema.d.ts +4 -0
  43. package/dist/evaluation/schema.d.ts.map +1 -0
  44. package/dist/evaluation/schema.js +92 -0
  45. package/dist/evaluation/schema.js.map +1 -0
  46. package/dist/execution/advance.d.ts +18 -0
  47. package/dist/execution/advance.d.ts.map +1 -0
  48. package/dist/execution/advance.js +57 -0
  49. package/dist/execution/advance.js.map +1 -0
  50. package/dist/execution/agent-node.d.ts +23 -0
  51. package/dist/execution/agent-node.d.ts.map +1 -0
  52. package/dist/execution/agent-node.js +512 -0
  53. package/dist/execution/agent-node.js.map +1 -0
  54. package/dist/execution/duration.d.ts +2 -0
  55. package/dist/execution/duration.d.ts.map +1 -0
  56. package/dist/execution/duration.js +15 -0
  57. package/dist/execution/duration.js.map +1 -0
  58. package/dist/execution/ir.d.ts +3 -0
  59. package/dist/execution/ir.d.ts.map +1 -0
  60. package/dist/execution/ir.js +46 -0
  61. package/dist/execution/ir.js.map +1 -0
  62. package/dist/execution/scheduler.d.ts +59 -0
  63. package/dist/execution/scheduler.d.ts.map +1 -0
  64. package/dist/execution/scheduler.js +306 -0
  65. package/dist/execution/scheduler.js.map +1 -0
  66. package/dist/execution/task-executor.d.ts +14 -0
  67. package/dist/execution/task-executor.d.ts.map +1 -0
  68. package/dist/execution/task-executor.js +186 -0
  69. package/dist/execution/task-executor.js.map +1 -0
  70. package/dist/hooks/config.d.ts +32 -0
  71. package/dist/hooks/config.d.ts.map +1 -0
  72. package/dist/hooks/config.js +112 -0
  73. package/dist/hooks/config.js.map +1 -0
  74. package/dist/hooks/context.d.ts +50 -0
  75. package/dist/hooks/context.d.ts.map +1 -0
  76. package/dist/hooks/context.js +116 -0
  77. package/dist/hooks/context.js.map +1 -0
  78. package/dist/hooks/events.d.ts +22 -0
  79. package/dist/hooks/events.d.ts.map +1 -0
  80. package/dist/hooks/events.js +41 -0
  81. package/dist/hooks/events.js.map +1 -0
  82. package/dist/hooks/journal.d.ts +21 -19
  83. package/dist/hooks/journal.d.ts.map +1 -1
  84. package/dist/hooks/journal.js +1 -48
  85. package/dist/hooks/journal.js.map +1 -1
  86. package/dist/hooks/loader.d.ts +33 -39
  87. package/dist/hooks/loader.d.ts.map +1 -1
  88. package/dist/hooks/loader.js +79 -95
  89. package/dist/hooks/loader.js.map +1 -1
  90. package/dist/hooks/runner.d.ts +14 -41
  91. package/dist/hooks/runner.d.ts.map +1 -1
  92. package/dist/hooks/runner.js +177 -145
  93. package/dist/hooks/runner.js.map +1 -1
  94. package/dist/index.d.ts +13 -28
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +13 -33
  97. package/dist/index.js.map +1 -1
  98. package/dist/runs/advance-runtime.d.ts +50 -0
  99. package/dist/runs/advance-runtime.d.ts.map +1 -0
  100. package/dist/runs/advance-runtime.js +82 -0
  101. package/dist/runs/advance-runtime.js.map +1 -0
  102. package/dist/runs/use-cases.d.ts +111 -0
  103. package/dist/runs/use-cases.d.ts.map +1 -0
  104. package/dist/runs/use-cases.js +539 -0
  105. package/dist/runs/use-cases.js.map +1 -0
  106. package/dist/scheduler/advance.d.ts +65 -0
  107. package/dist/scheduler/advance.d.ts.map +1 -0
  108. package/dist/scheduler/advance.js +435 -0
  109. package/dist/scheduler/advance.js.map +1 -0
  110. package/dist/scheduler/control.d.ts +49 -0
  111. package/dist/scheduler/control.d.ts.map +1 -0
  112. package/dist/scheduler/control.js +212 -0
  113. package/dist/scheduler/control.js.map +1 -0
  114. package/dist/scheduler/event-codec.d.ts +4 -0
  115. package/dist/scheduler/event-codec.d.ts.map +1 -0
  116. package/dist/scheduler/event-codec.js +57 -0
  117. package/dist/scheduler/event-codec.js.map +1 -0
  118. package/dist/scheduler/events.d.ts +193 -0
  119. package/dist/scheduler/events.d.ts.map +1 -0
  120. package/dist/scheduler/events.js +13 -0
  121. package/dist/scheduler/events.js.map +1 -0
  122. package/dist/scheduler/fork-seed.d.ts +38 -0
  123. package/dist/scheduler/fork-seed.d.ts.map +1 -0
  124. package/dist/scheduler/fork-seed.js +590 -0
  125. package/dist/scheduler/fork-seed.js.map +1 -0
  126. package/dist/scheduler/identity.d.ts +8 -0
  127. package/dist/scheduler/identity.d.ts.map +1 -0
  128. package/dist/scheduler/identity.js +49 -0
  129. package/dist/scheduler/identity.js.map +1 -0
  130. package/dist/scheduler/ir-walk.d.ts +3 -0
  131. package/dist/scheduler/ir-walk.d.ts.map +1 -0
  132. package/dist/scheduler/ir-walk.js +25 -0
  133. package/dist/scheduler/ir-walk.js.map +1 -0
  134. package/dist/scheduler/limiter.d.ts +7 -0
  135. package/dist/scheduler/limiter.d.ts.map +1 -0
  136. package/dist/scheduler/limiter.js +10 -0
  137. package/dist/scheduler/limiter.js.map +1 -0
  138. package/dist/scheduler/materialize.d.ts +7 -0
  139. package/dist/scheduler/materialize.d.ts.map +1 -0
  140. package/dist/scheduler/materialize.js +756 -0
  141. package/dist/scheduler/materialize.js.map +1 -0
  142. package/dist/scheduler/membership.d.ts +12 -0
  143. package/dist/scheduler/membership.d.ts.map +1 -0
  144. package/dist/scheduler/membership.js +74 -0
  145. package/dist/scheduler/membership.js.map +1 -0
  146. package/dist/scheduler/node-executor.d.ts +15 -0
  147. package/dist/scheduler/node-executor.d.ts.map +1 -0
  148. package/dist/scheduler/node-executor.js +69 -0
  149. package/dist/scheduler/node-executor.js.map +1 -0
  150. package/dist/scheduler/runtime-runner.d.ts +44 -0
  151. package/dist/scheduler/runtime-runner.d.ts.map +1 -0
  152. package/dist/scheduler/runtime-runner.js +155 -0
  153. package/dist/scheduler/runtime-runner.js.map +1 -0
  154. package/dist/scheduler/scope.d.ts +6 -0
  155. package/dist/scheduler/scope.d.ts.map +1 -0
  156. package/dist/scheduler/scope.js +56 -0
  157. package/dist/scheduler/scope.js.map +1 -0
  158. package/dist/scheduler/store-port.d.ts +211 -0
  159. package/dist/scheduler/store-port.d.ts.map +1 -0
  160. package/dist/scheduler/store-port.js +28 -0
  161. package/dist/scheduler/store-port.js.map +1 -0
  162. package/dist/scheduler/transitions.d.ts +89 -0
  163. package/dist/scheduler/transitions.d.ts.map +1 -0
  164. package/dist/scheduler/transitions.js +967 -0
  165. package/dist/scheduler/transitions.js.map +1 -0
  166. package/dist/scheduler/types.d.ts +146 -0
  167. package/dist/scheduler/types.d.ts.map +1 -0
  168. package/dist/{executors → scheduler}/types.js.map +1 -1
  169. package/dist/store/store.d.ts +390 -0
  170. package/dist/store/store.d.ts.map +1 -0
  171. package/dist/store/store.js +3053 -0
  172. package/dist/store/store.js.map +1 -0
  173. package/dist/visualization/overlay.d.ts +86 -0
  174. package/dist/visualization/overlay.d.ts.map +1 -0
  175. package/dist/visualization/overlay.js +161 -0
  176. package/dist/visualization/overlay.js.map +1 -0
  177. package/package.json +19 -37
  178. package/README.md +0 -7
  179. package/dist/agent-telemetry.d.ts +0 -56
  180. package/dist/agent-telemetry.d.ts.map +0 -1
  181. package/dist/agent-telemetry.js +0 -304
  182. package/dist/agent-telemetry.js.map +0 -1
  183. package/dist/artifacts.d.ts +0 -45
  184. package/dist/artifacts.d.ts.map +0 -1
  185. package/dist/artifacts.js +0 -163
  186. package/dist/artifacts.js.map +0 -1
  187. package/dist/attempt-artifacts.d.ts +0 -35
  188. package/dist/attempt-artifacts.d.ts.map +0 -1
  189. package/dist/attempt-artifacts.js +0 -90
  190. package/dist/attempt-artifacts.js.map +0 -1
  191. package/dist/client.d.ts +0 -82
  192. package/dist/client.d.ts.map +0 -1
  193. package/dist/client.js +0 -200
  194. package/dist/client.js.map +0 -1
  195. package/dist/evaluator.d.ts +0 -36
  196. package/dist/evaluator.d.ts.map +0 -1
  197. package/dist/evaluator.js +0 -101
  198. package/dist/evaluator.js.map +0 -1
  199. package/dist/executors/agent.d.ts +0 -103
  200. package/dist/executors/agent.d.ts.map +0 -1
  201. package/dist/executors/agent.js +0 -516
  202. package/dist/executors/agent.js.map +0 -1
  203. package/dist/executors/mock-program.d.ts +0 -26
  204. package/dist/executors/mock-program.d.ts.map +0 -1
  205. package/dist/executors/mock-program.js +0 -100
  206. package/dist/executors/mock-program.js.map +0 -1
  207. package/dist/executors/output-preview.d.ts +0 -2
  208. package/dist/executors/output-preview.d.ts.map +0 -1
  209. package/dist/executors/output-preview.js +0 -20
  210. package/dist/executors/output-preview.js.map +0 -1
  211. package/dist/executors/program.d.ts +0 -30
  212. package/dist/executors/program.d.ts.map +0 -1
  213. package/dist/executors/program.js +0 -230
  214. package/dist/executors/program.js.map +0 -1
  215. package/dist/executors/types.d.ts +0 -32
  216. package/dist/executors/types.d.ts.map +0 -1
  217. package/dist/fork.d.ts +0 -74
  218. package/dist/fork.d.ts.map +0 -1
  219. package/dist/fork.js +0 -278
  220. package/dist/fork.js.map +0 -1
  221. package/dist/hooks/payload.d.ts +0 -17
  222. package/dist/hooks/payload.d.ts.map +0 -1
  223. package/dist/hooks/payload.js +0 -45
  224. package/dist/hooks/payload.js.map +0 -1
  225. package/dist/interpreter.d.ts +0 -168
  226. package/dist/interpreter.d.ts.map +0 -1
  227. package/dist/interpreter.js +0 -1747
  228. package/dist/interpreter.js.map +0 -1
  229. package/dist/keys.d.ts +0 -77
  230. package/dist/keys.d.ts.map +0 -1
  231. package/dist/keys.js +0 -382
  232. package/dist/keys.js.map +0 -1
  233. package/dist/run-control.d.ts +0 -45
  234. package/dist/run-control.d.ts.map +0 -1
  235. package/dist/run-control.js +0 -255
  236. package/dist/run-control.js.map +0 -1
  237. package/dist/run-id.d.ts +0 -3
  238. package/dist/run-id.d.ts.map +0 -1
  239. package/dist/run-id.js +0 -10
  240. package/dist/run-id.js.map +0 -1
  241. package/dist/state-machine.d.ts +0 -31
  242. package/dist/state-machine.d.ts.map +0 -1
  243. package/dist/state-machine.js +0 -102
  244. package/dist/state-machine.js.map +0 -1
  245. package/dist/store.d.ts +0 -92
  246. package/dist/store.d.ts.map +0 -1
  247. package/dist/store.js +0 -420
  248. package/dist/store.js.map +0 -1
  249. package/dist/supervisor-app.d.ts +0 -27
  250. package/dist/supervisor-app.d.ts.map +0 -1
  251. package/dist/supervisor-app.js +0 -694
  252. package/dist/supervisor-app.js.map +0 -1
  253. package/dist/supervisor-discovery.d.ts +0 -18
  254. package/dist/supervisor-discovery.d.ts.map +0 -1
  255. package/dist/supervisor-discovery.js +0 -180
  256. package/dist/supervisor-discovery.js.map +0 -1
  257. package/dist/supervisor-entry.d.ts +0 -11
  258. package/dist/supervisor-entry.d.ts.map +0 -1
  259. package/dist/supervisor-entry.js +0 -50
  260. package/dist/supervisor-entry.js.map +0 -1
  261. package/dist/supervisor-lock.d.ts +0 -26
  262. package/dist/supervisor-lock.d.ts.map +0 -1
  263. package/dist/supervisor-lock.js +0 -49
  264. package/dist/supervisor-lock.js.map +0 -1
  265. package/dist/supervisor-runner.d.ts +0 -11
  266. package/dist/supervisor-runner.d.ts.map +0 -1
  267. package/dist/supervisor-runner.js +0 -128
  268. package/dist/supervisor-runner.js.map +0 -1
  269. package/dist/types.d.ts +0 -375
  270. package/dist/types.d.ts.map +0 -1
  271. package/dist/types.js +0 -7
  272. package/dist/types.js.map +0 -1
  273. package/dist/validate-input.d.ts +0 -27
  274. package/dist/validate-input.d.ts.map +0 -1
  275. package/dist/validate-input.js +0 -56
  276. package/dist/validate-input.js.map +0 -1
  277. package/dist/validate-signal.d.ts +0 -14
  278. package/dist/validate-signal.d.ts.map +0 -1
  279. package/dist/validate-signal.js +0 -31
  280. package/dist/validate-signal.js.map +0 -1
  281. package/dist/workflow-context.d.ts +0 -4
  282. package/dist/workflow-context.d.ts.map +0 -1
  283. package/dist/workflow-context.js +0 -11
  284. package/dist/workflow-context.js.map +0 -1
  285. package/dist/workflow-outputs.d.ts +0 -9
  286. package/dist/workflow-outputs.d.ts.map +0 -1
  287. package/dist/workflow-outputs.js +0 -60
  288. package/dist/workflow-outputs.js.map +0 -1
  289. /package/dist/{executors → scheduler}/types.js +0 -0
@@ -1,26 +0,0 @@
1
- import type { ExecutorResult, FailureKind } from "../types.js";
2
- import type { ExecutorAdapter, ProgramExecutionRequest } from "./types.js";
3
- import { ExpressionEvaluator } from "../evaluator.js";
4
- export interface MockProgramResponse {
5
- stdout?: string;
6
- stderr?: string;
7
- exitCode?: number;
8
- parsedOutput?: unknown;
9
- /** Raw captured output used in diagnostics; useful for file captures. */
10
- capturedOutputRaw?: string;
11
- /** Simulate a non-recoverable failure (timeout/spawn/killed/capture). */
12
- failureKind?: FailureKind;
13
- delay?: number;
14
- }
15
- /**
16
- * Mock program executor for testing. Takes a step-id → {stdout, exitCode, parsedOutput} map,
17
- * resolves cmd template, handles capture config.
18
- */
19
- export declare class MockProgramExecutor implements ExecutorAdapter<ProgramExecutionRequest> {
20
- private readonly responses;
21
- private readonly evaluator;
22
- private readonly ajv;
23
- constructor(responses: Record<string, MockProgramResponse>, evaluator?: ExpressionEvaluator);
24
- execute({ node, context, signal }: ProgramExecutionRequest): Promise<ExecutorResult>;
25
- }
26
- //# sourceMappingURL=mock-program.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-program.d.ts","sourceRoot":"","sources":["../../src/executors/mock-program.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAItD,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yEAAyE;IACzE,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,eAAe,CAAC,uBAAuB,CAAC;IAClF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA+C;IAEnE,YAAY,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE,SAAS,CAAC,EAAE,mBAAmB,EAG1F;IAEK,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,uBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC,CA+FzF;CACF"}
@@ -1,100 +0,0 @@
1
- import { ExpressionEvaluator } from "../evaluator.js";
2
- import { Ajv } from "ajv";
3
- import { schemaValidationError } from "./output-preview.js";
4
- /**
5
- * Mock program executor for testing. Takes a step-id → {stdout, exitCode, parsedOutput} map,
6
- * resolves cmd template, handles capture config.
7
- */
8
- export class MockProgramExecutor {
9
- responses;
10
- evaluator;
11
- ajv = new Ajv({ allErrors: true, strict: false });
12
- constructor(responses, evaluator) {
13
- this.responses = new Map(Object.entries(responses));
14
- this.evaluator = evaluator ?? new ExpressionEvaluator();
15
- }
16
- async execute({ node, context, signal }) {
17
- const stepId = node.id;
18
- const response = this.responses.get(stepId);
19
- if (!response) {
20
- return { error: `No mock response configured for step '${stepId}'`, exitCode: 1 };
21
- }
22
- // Resolve cmd template
23
- const cmdTemplate = node.metadata.cmd;
24
- if (cmdTemplate) {
25
- if (Array.isArray(cmdTemplate)) {
26
- cmdTemplate.map((c) => this.evaluator.evaluateTemplate(c, context));
27
- }
28
- else {
29
- this.evaluator.evaluateTemplate(cmdTemplate, context);
30
- }
31
- }
32
- // Check for abort
33
- if (signal.aborted) {
34
- return { partial: true, error: "Aborted before execution" };
35
- }
36
- let aborted = false;
37
- const onAbort = () => { aborted = true; };
38
- signal.addEventListener("abort", onAbort, { once: true });
39
- try {
40
- await new Promise((resolve) => setTimeout(resolve, response.delay ?? 5));
41
- if (aborted || signal.aborted) {
42
- return { partial: true, error: "Aborted during execution" };
43
- }
44
- const stdout = response.stdout ?? "";
45
- const stderr = response.stderr ?? "";
46
- // Simulate a non-recoverable failure if configured.
47
- if (response.failureKind) {
48
- return { failureKind: response.failureKind, error: `Simulated ${response.failureKind} failure`, stdout, stderr };
49
- }
50
- const exitCode = response.exitCode ?? 0;
51
- // Mirror ADR-0006: a non-zero exit not allow-listed by `expect.exit_code`
52
- // (default `[0]`) fails the node fast and precedes capture/schema checks.
53
- const expect = node.metadata.expect;
54
- const allowedExitCodes = expect?.exit_code ?? [0];
55
- if (!allowedExitCodes.includes(exitCode)) {
56
- return {
57
- failureKind: "exit",
58
- error: `exit_code=${exitCode}`,
59
- exitCode,
60
- stdout,
61
- stderr
62
- };
63
- }
64
- // Handle capture config — an allow-listed exit code is step data.
65
- const capture = node.metadata.capture;
66
- let output = response.parsedOutput;
67
- let capturedOutputRaw = response.capturedOutputRaw;
68
- if (capturedOutputRaw === undefined && capture?.from === "stdout") {
69
- capturedOutputRaw = response.stdout;
70
- }
71
- if (output === undefined && capturedOutputRaw !== undefined && capture?.parse === "json") {
72
- try {
73
- output = JSON.parse(capturedOutputRaw);
74
- }
75
- catch {
76
- return { failureKind: "capture", error: "Failed to parse stdout as JSON", exitCode, stdout, stderr };
77
- }
78
- }
79
- if (output === undefined && capturedOutputRaw !== undefined && capture?.parse === "text") {
80
- output = capturedOutputRaw;
81
- }
82
- if (!capture) {
83
- capturedOutputRaw = undefined;
84
- }
85
- // Validate output against schema when declared (mirrors real ProgramExecutor).
86
- const outputSchema = node.metadata.output;
87
- if (outputSchema && output !== undefined) {
88
- const validate = this.ajv.compile(outputSchema);
89
- if (!validate(output)) {
90
- return { failureKind: "schema", error: schemaValidationError(this.ajv.errorsText(validate.errors), capturedOutputRaw, output), exitCode, stdout, stderr };
91
- }
92
- }
93
- return { output, exitCode, stdout, stderr };
94
- }
95
- finally {
96
- signal.removeEventListener("abort", onAbort);
97
- }
98
- }
99
- }
100
- //# sourceMappingURL=mock-program.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-program.js","sourceRoot":"","sources":["../../src/executors/mock-program.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function schemaValidationError(validationMessage: string, rawOutput: string | undefined, output: unknown): string;
2
- //# sourceMappingURL=output-preview.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output-preview.d.ts","sourceRoot":"","sources":["../../src/executors/output-preview.ts"],"names":[],"mappings":"AAEA,wBAAgB,qBAAqB,CACnC,iBAAiB,EAAE,MAAM,EACzB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,OAAO,GACd,MAAM,CAER"}
@@ -1,20 +0,0 @@
1
- const DEFAULT_CAPTURED_OUTPUT_PREVIEW_CHARS = 2048;
2
- export function schemaValidationError(validationMessage, rawOutput, output) {
3
- return `Output validation failed: ${validationMessage}; captured output preview: ${capturedOutputPreview(rawOutput, output)}`;
4
- }
5
- function capturedOutputPreview(rawOutput, output) {
6
- const text = rawOutput ?? stringifyOutput(output);
7
- if (text.length <= DEFAULT_CAPTURED_OUTPUT_PREVIEW_CHARS)
8
- return text;
9
- return `${text.slice(0, DEFAULT_CAPTURED_OUTPUT_PREVIEW_CHARS)}... [truncated, ${text.length} chars total]`;
10
- }
11
- function stringifyOutput(output) {
12
- try {
13
- const json = JSON.stringify(output);
14
- return json === undefined ? String(output) : json;
15
- }
16
- catch {
17
- return String(output);
18
- }
19
- }
20
- //# sourceMappingURL=output-preview.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output-preview.js","sourceRoot":"","sources":["../../src/executors/output-preview.ts"],"names":[],"mappings":"AAAA,MAAM,qCAAqC,GAAG,IAAI,CAAC;AAEnD,MAAM,UAAU,qBAAqB,CACnC,iBAAyB,EACzB,SAA6B,EAC7B,MAAe;IAEf,OAAO,6BAA6B,iBAAiB,8BAA8B,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;AAChI,CAAC;AAED,SAAS,qBAAqB,CAAC,SAA6B,EAAE,MAAe;IAC3E,MAAM,IAAI,GAAG,SAAS,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,IAAI,CAAC,MAAM,IAAI,qCAAqC;QAAE,OAAO,IAAI,CAAC;IACtE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,qCAAqC,CAAC,mBAAmB,IAAI,CAAC,MAAM,eAAe,CAAC;AAC9G,CAAC;AAED,SAAS,eAAe,CAAC,MAAe;IACtC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;AACH,CAAC"}
@@ -1,30 +0,0 @@
1
- import type { ExecutorResult } from "../types.js";
2
- import type { ExecutorAdapter, ProgramExecutionRequest } from "./types.js";
3
- import { ExpressionEvaluator } from "../evaluator.js";
4
- /**
5
- * Real program executor using execa for subprocess management.
6
- * Handles cmd template resolution, capture config, timeout, and abort signal.
7
- *
8
- * A non-zero exit code that is not listed in the step's `expect.exit_code`
9
- * allow-list (default `[0]`) fails the node with `failureKind: "exit"`. This
10
- * fail-fast policy lets dynamic shell/python script breakage (syntax errors,
11
- * missing tools, unbound paths) surface at the broken Program Step rather than
12
- * far downstream at a Guard Node. Authors who treat exit codes as a business
13
- * signal (test runners, grep, diff) opt out by listing the expected codes in
14
- * `expect.exit_code`.
15
- *
16
- * Other non-recoverable conditions — timeout, signal kill, spawn failure,
17
- * capture parse failure — also fail the node via `failureKind`.
18
- */
19
- export declare class ProgramExecutor implements ExecutorAdapter<ProgramExecutionRequest> {
20
- private readonly evaluator;
21
- private readonly ajv;
22
- constructor(evaluator?: ExpressionEvaluator);
23
- execute({ node, context, signal, injectedEnv }: ProgramExecutionRequest): Promise<ExecutorResult>;
24
- private resolveCmd;
25
- /** Evaluate template expressions in env values; non-strings are stringified. */
26
- private evaluateEnv;
27
- /** Resolve the optional step-level cwd template; falls back to the process cwd. */
28
- private resolveCwd;
29
- }
30
- //# sourceMappingURL=program.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/executors/program.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAqB,cAAc,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGtD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,eAAgB,YAAW,eAAe,CAAC,uBAAuB,CAAC;IAC9E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA+C;IAEnE,YAAY,SAAS,CAAC,EAAE,mBAAmB,EAE1C;IAEK,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,uBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC,CAsKtG;IAED,OAAO,CAAC,UAAU;IAelB,gFAAgF;IAChF,OAAO,CAAC,WAAW;IASnB,mFAAmF;IACnF,OAAO,CAAC,UAAU;CAMnB"}
@@ -1,230 +0,0 @@
1
- import { execa } from "execa";
2
- import { readFileSync } from "node:fs";
3
- import { resolve } from "node:path";
4
- import { Ajv } from "ajv";
5
- import { parseDurationMs } from "@acpus/core";
6
- import { ExpressionEvaluator } from "../evaluator.js";
7
- import { schemaValidationError } from "./output-preview.js";
8
- /**
9
- * Real program executor using execa for subprocess management.
10
- * Handles cmd template resolution, capture config, timeout, and abort signal.
11
- *
12
- * A non-zero exit code that is not listed in the step's `expect.exit_code`
13
- * allow-list (default `[0]`) fails the node with `failureKind: "exit"`. This
14
- * fail-fast policy lets dynamic shell/python script breakage (syntax errors,
15
- * missing tools, unbound paths) surface at the broken Program Step rather than
16
- * far downstream at a Guard Node. Authors who treat exit codes as a business
17
- * signal (test runners, grep, diff) opt out by listing the expected codes in
18
- * `expect.exit_code`.
19
- *
20
- * Other non-recoverable conditions — timeout, signal kill, spawn failure,
21
- * capture parse failure — also fail the node via `failureKind`.
22
- */
23
- export class ProgramExecutor {
24
- evaluator;
25
- ajv = new Ajv({ allErrors: true, strict: false });
26
- constructor(evaluator) {
27
- this.evaluator = evaluator ?? new ExpressionEvaluator();
28
- }
29
- async execute({ node, context, signal, injectedEnv }) {
30
- const cmdTemplate = node.metadata.cmd;
31
- const timeoutRaw = node.metadata.timeout;
32
- const capture = node.metadata.capture;
33
- // Resolve cmd template
34
- const cmd = this.resolveCmd(cmdTemplate, context);
35
- if (signal.aborted) {
36
- return { partial: true, error: "Aborted before execution" };
37
- }
38
- const shell = typeof cmd === "string";
39
- const args = Array.isArray(cmd) ? cmd.slice(1) : [];
40
- const command = Array.isArray(cmd) ? cmd[0] : cmd;
41
- const renderedCommand = Array.isArray(cmd) ? cmd.join(" ") : cmd;
42
- // Numeric timeout is milliseconds directly; string timeout is a duration.
43
- const timeoutMs = typeof timeoutRaw === "number" && timeoutRaw > 0
44
- ? timeoutRaw
45
- : typeof timeoutRaw === "string"
46
- ? parseDurationMs(timeoutRaw) || undefined
47
- : undefined;
48
- // Evaluate env templates. A bad expression (e.g. referencing an unknown step)
49
- // is a user-facing error, not a spawn failure — catch and report clearly.
50
- // Hook-injected env layers on top of the step's env.
51
- let env;
52
- let cwd;
53
- try {
54
- env = {
55
- ...Object.fromEntries(Object.entries(process.env).filter(([, v]) => v !== undefined)),
56
- ...this.evaluateEnv(node.metadata.env, context),
57
- ...(injectedEnv ?? {})
58
- };
59
- cwd = this.resolveCwd(node.metadata.cwd, context);
60
- }
61
- catch (error) {
62
- return {
63
- failureKind: "config",
64
- error: `Failed to evaluate configuration template: ${error instanceof Error ? error.message : String(error)}`,
65
- stdout: "",
66
- stderr: ""
67
- };
68
- }
69
- const meta = { command: renderedCommand, shell, subprocessEnv: env };
70
- let result;
71
- try {
72
- result = await execa(command, args, {
73
- shell,
74
- cwd,
75
- reject: false,
76
- timeout: timeoutMs && timeoutMs > 0 ? timeoutMs : 0,
77
- killSignal: "SIGKILL",
78
- cancelSignal: signal,
79
- env,
80
- });
81
- }
82
- catch (error) {
83
- // Spawn-level failure (e.g. command not found) — non-recoverable.
84
- return {
85
- failureKind: "spawn",
86
- error: error instanceof Error ? error.message : String(error),
87
- stdout: "",
88
- stderr: error instanceof Error ? error.message : String(error)
89
- };
90
- }
91
- const stdout = result.stdout ?? "";
92
- const stderr = result.stderr ?? "";
93
- // Operator abort (pause/cancel) → partial.
94
- if (result.isCanceled) {
95
- return { partial: true, output: stdout, stdout, stderr, error: "Aborted during execution" };
96
- }
97
- // Timeout → non-recoverable.
98
- if (result.timedOut) {
99
- return { failureKind: "timeout", error: `Process timed out after ${timeoutMs}ms`, stdout, stderr };
100
- }
101
- // Killed by signal (SIGKILL etc.) → non-recoverable.
102
- if (result.isTerminated || (result.signal !== undefined && result.signal !== null)) {
103
- return { failureKind: "killed", error: `Process killed by signal ${result.signal}`, stdout, stderr };
104
- }
105
- // Spawn failure (e.g. command not found) — execa with reject:false reports
106
- // `failed` with no exit code rather than throwing.
107
- if (result.failed && (result.exitCode === undefined || result.exitCode === null)) {
108
- return {
109
- failureKind: "spawn",
110
- error: result.shortMessage || result.message || "Failed to spawn process",
111
- stdout,
112
- stderr
113
- };
114
- }
115
- const exitCode = result.exitCode ?? 0;
116
- // ADR-0006: a non-zero exit not allow-listed by `expect.exit_code` fails
117
- // the node fast. The default allow-list is `[0]`. This precedes capture
118
- // and schema checks so a broken script never masquerades as a parse error.
119
- const expect = node.metadata.expect;
120
- const allowedExitCodes = expect?.exit_code ?? [0];
121
- if (!allowedExitCodes.includes(exitCode)) {
122
- const tail = stderrTail(stderr, 20);
123
- const message = tail
124
- ? `exit_code=${exitCode}; stderr (last ${tail.lines} line${tail.lines === 1 ? "" : "s"}):\n${tail.text}`
125
- : `exit_code=${exitCode}`;
126
- return { failureKind: "exit", error: message, exitCode, stdout, stderr };
127
- }
128
- // Handle capture config.
129
- let output;
130
- let capturedOutputRaw;
131
- if (capture) {
132
- const from = capture.from;
133
- const parse = capture.parse;
134
- let raw;
135
- if (from === "file") {
136
- const filePath = resolve(cwd, capture.path);
137
- try {
138
- raw = readFileSync(filePath, "utf8");
139
- }
140
- catch (error) {
141
- return {
142
- failureKind: "capture",
143
- error: `Failed to read capture file '${capture.path}': ${error instanceof Error ? error.message : String(error)}`,
144
- exitCode,
145
- stdout,
146
- stderr
147
- };
148
- }
149
- }
150
- else {
151
- raw = stdout;
152
- }
153
- capturedOutputRaw = raw;
154
- if (parse === "json") {
155
- try {
156
- output = JSON.parse(raw);
157
- }
158
- catch {
159
- return { failureKind: "capture", error: "Failed to parse captured output as JSON", exitCode, stdout, stderr };
160
- }
161
- }
162
- else {
163
- output = raw;
164
- }
165
- }
166
- else {
167
- output = stdout || undefined;
168
- }
169
- // Validate output against schema when declared (mirrors agent schema validation).
170
- const outputSchema = node.metadata.output;
171
- if (outputSchema && output !== undefined) {
172
- const validate = this.ajv.compile(outputSchema);
173
- if (!validate(output)) {
174
- return {
175
- failureKind: "schema",
176
- error: schemaValidationError(this.ajv.errorsText(validate.errors), capturedOutputRaw, output),
177
- exitCode,
178
- stdout,
179
- stderr
180
- };
181
- }
182
- }
183
- return { exitCode, output, stdout, stderr, ...meta };
184
- }
185
- resolveCmd(cmd, context) {
186
- if (Array.isArray(cmd)) {
187
- return cmd.map((c) => {
188
- if (typeof c === "string") {
189
- return this.evaluator.evaluateTemplate(c, context);
190
- }
191
- return String(c);
192
- });
193
- }
194
- if (typeof cmd === "string") {
195
- return this.evaluator.evaluateTemplate(cmd, context);
196
- }
197
- return String(cmd);
198
- }
199
- /** Evaluate template expressions in env values; non-strings are stringified. */
200
- evaluateEnv(env, context) {
201
- if (!env)
202
- return {};
203
- const out = {};
204
- for (const [k, v] of Object.entries(env)) {
205
- out[k] = typeof v === "string" ? this.evaluator.evaluateTemplate(v, context) : String(v);
206
- }
207
- return out;
208
- }
209
- /** Resolve the optional step-level cwd template; falls back to the process cwd. */
210
- resolveCwd(cwd, context) {
211
- if (typeof cwd === "string" && cwd.length > 0) {
212
- return resolve(this.evaluator.evaluateTemplate(cwd, context));
213
- }
214
- return process.cwd();
215
- }
216
- }
217
- /**
218
- * Return the last `max` non-empty lines of stderr for inclusion in a Node-failed
219
- * error summary. Returns undefined when there's nothing useful to show.
220
- */
221
- function stderrTail(stderr, max) {
222
- if (!stderr)
223
- return undefined;
224
- const lines = stderr.replace(/\s+$/u, "").split(/\r?\n/u);
225
- const trimmed = lines.slice(-max);
226
- if (trimmed.length === 0 || (trimmed.length === 1 && trimmed[0] === ""))
227
- return undefined;
228
- return { text: trimmed.join("\n"), lines: trimmed.length };
229
- }
230
- //# sourceMappingURL=program.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/executors/program.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- import type { ExpressionContext, ExecutorResult } from "../types.js";
2
- import type { IrNode } from "@acpus/core";
3
- export interface BaseExecutionRequest {
4
- node: IrNode;
5
- context: ExpressionContext;
6
- signal: AbortSignal;
7
- /** Resolved node key (includes loop/fanout/lane/subworkflow dimensions). */
8
- nodeKey: string;
9
- }
10
- export interface AgentExecutionRequest extends BaseExecutionRequest {
11
- kind: "agent";
12
- /** Fully prepared prompt/request text for this executor call. */
13
- prompt?: string;
14
- /** Fully rendered semantic session key for explicit same-Run session sharing. */
15
- sessionKey?: string;
16
- /** True when continuing a previously paused node (continuation prompt). */
17
- continuation?: boolean;
18
- /** True when this is a parse/schema auto-retry iteration (continuation prompt + schema section). */
19
- retry?: boolean;
20
- /** Called with raw stdout/stderr chunks while the executor is still running. */
21
- onStream?: (stream: "stdout" | "stderr", chunk: string) => void;
22
- }
23
- export interface ProgramExecutionRequest extends BaseExecutionRequest {
24
- kind: "program";
25
- /** Injected env from beforeProgramExec; the executor merges into the child env. */
26
- injectedEnv?: Record<string, string>;
27
- }
28
- export type ExecutionRequest = AgentExecutionRequest | ProgramExecutionRequest;
29
- export interface ExecutorAdapter<TRequest extends ExecutionRequest = ExecutionRequest> {
30
- execute(request: TRequest): Promise<ExecutorResult>;
31
- }
32
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/executors/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,IAAI,EAAE,OAAO,CAAC;IACd,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oGAAoG;IACpG,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACjE;AAED,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE,IAAI,EAAE,SAAS,CAAC;IAChB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AAE/E,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,gBAAgB,GAAG,gBAAgB;IACnF,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACrD"}
package/dist/fork.d.ts DELETED
@@ -1,74 +0,0 @@
1
- import type { AcpusIr, AgentOverrideWarning, AgentOverrides } from "@acpus/core";
2
- import type { RunState } from "./types.js";
3
- import type { RunStore } from "./store.js";
4
- /**
5
- * Plan describing how a Forked Run will inherit Nodes from a prior Run.
6
- *
7
- * The plan is computed from the prior Run's Run Checkpoints (in `sequence`
8
- * order) and the new Workflow Spec's compiled IR. The Forked Run inherits each
9
- * Node whose Node Key exists in the new Spec, whose prior state is `completed`,
10
- * and whose Node Definition Hash matches; inheritance stops at the first Node
11
- * that fails any of these checks (the inheritance boundary). The boundary Node
12
- * (and every Node after it) executes fresh.
13
- */
14
- export interface ForkPlan {
15
- /** Run ID of the prior Run we are forking from. */
16
- sourceRunId: string;
17
- /** Inherited Node Keys, in checkpoint order (state==="completed", hash match). */
18
- inheritedNodeKeys: string[];
19
- /** The default inheritance boundary derived from checkpoint scanning. */
20
- defaultForkOriginNodeKey: string;
21
- /** The effective Fork Origin (operator override or default). */
22
- forkOriginNodeKey: string;
23
- /** Reason the boundary was placed at the default origin. */
24
- boundaryReason: BoundaryReason;
25
- }
26
- export type BoundaryReason = "all-completed" | "missing-in-new-spec" | "hash-mismatch" | "non-completed" | "operator-override";
27
- export interface PlanForkedRunOptions {
28
- /** Run ID of the prior terminal Run. */
29
- sourceRunId: string;
30
- /** Compiled IR of the repaired Workflow Spec. */
31
- ir: AcpusIr;
32
- /** Optional operator-selected Fork Origin. */
33
- overrideOriginNodeKey?: string;
34
- }
35
- export interface MaterializeForkedRunOptions extends PlanForkedRunOptions {
36
- /** Run ID to assign to the new Forked Run. */
37
- forkRunId: string;
38
- /** Explicit input override. When omitted, the source Run input is inherited. */
39
- input?: Record<string, unknown>;
40
- /** Catalog ref used to start this Forked Run, when applicable. */
41
- workflowRef?: string;
42
- /** Absolute Workflow Spec path used to compile this Forked Run. */
43
- workflowSourcePath?: string;
44
- /** Effective submit-time Agent Overrides applied before this Run's IR was frozen. */
45
- agentOverrides?: AgentOverrides;
46
- /** Non-fatal warnings produced while resolving submit-time metadata. */
47
- submissionWarnings?: AgentOverrideWarning[];
48
- /** True when the Forked Run should preserve a source Run's hook-disabled metadata. */
49
- skipHooks?: boolean;
50
- /** Reuse a dry-run Fork Plan when the caller already computed one. */
51
- plan?: ForkPlan;
52
- }
53
- export interface MaterializedFork {
54
- /** Initial persisted state of the new Forked Run. */
55
- run: RunState;
56
- /** Fork Plan used to materialize the Run. */
57
- plan: ForkPlan;
58
- /** Validated input snapshot written for the new Forked Run. */
59
- input: Record<string, unknown>;
60
- }
61
- export declare function planForkedRun(store: RunStore, options: PlanForkedRunOptions): ForkPlan;
62
- /**
63
- * Materialize a Forked Run on disk from a previously computed Fork Plan.
64
- *
65
- * This is the stateful counterpart to {@link planForkedRun}: it creates the
66
- * new Run, inherits the source input unless the operator supplied an override,
67
- * copies inherited Node states and artifacts through RunStore, and persists
68
- * immediate prior lineage on the new Run.
69
- */
70
- export declare function materializeForkedRun(store: RunStore, options: MaterializeForkedRunOptions): MaterializedFork;
71
- export declare class ForkError extends Error {
72
- constructor(message: string);
73
- }
74
- //# sourceMappingURL=fork.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../src/fork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAU,MAAM,aAAa,CAAC;AAEzF,OAAO,KAAK,EAAqC,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAK3C;;;;;;;;;GASG;AACH,MAAM,WAAW,QAAQ;IACvB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,yEAAyE;IACzE,wBAAwB,EAAE,MAAM,CAAC;IACjC,gEAAgE;IAChE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,4DAA4D;IAC5D,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,MAAM,cAAc,GACtB,eAAe,GACf,qBAAqB,GACrB,eAAe,GACf,eAAe,GACf,mBAAmB,CAAC;AAExB,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,EAAE,EAAE,OAAO,CAAC;IACZ,8CAA8C;IAC9C,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACvE,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qFAAqF;IACrF,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC5C,sFAAsF;IACtF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sEAAsE;IACtE,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,GAAG,EAAE,QAAQ,CAAC;IACd,6CAA6C;IAC7C,IAAI,EAAE,QAAQ,CAAC;IACf,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAoLD,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,GAAG,QAAQ,CAGtF;AAkBD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,2BAA2B,GACnC,gBAAgB,CA0DlB;AA+CD,qBAAa,SAAU,SAAQ,KAAK;IAClC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF"}