@revisium/orchestrator 0.1.0 → 0.2.0-alpha.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 (212) hide show
  1. package/README.md +78 -0
  2. package/control-plane/bootstrap.config.json +43 -1
  3. package/control-plane/default-playbook/catalog/pipelines.json +941 -3
  4. package/control-plane/default-playbook/catalog/roles.json +54 -0
  5. package/dist/api/graphql-api/graphql-ws/pubsub.module.js +0 -1
  6. package/dist/api/graphql-api/graphql-ws/pubsub.module.js.map +1 -1
  7. package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js +0 -1
  8. package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js.map +1 -1
  9. package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js +0 -1
  10. package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js.map +1 -1
  11. package/dist/api/graphql-api/pr/model/pr-readiness.model.js +0 -4
  12. package/dist/api/graphql-api/pr/model/pr-readiness.model.js.map +1 -1
  13. package/dist/cli/commands/doctor-report.js +0 -18
  14. package/dist/cli/commands/doctor-report.js.map +1 -1
  15. package/dist/cli/commands/lifecycle.js +3 -71
  16. package/dist/cli/commands/lifecycle.js.map +1 -1
  17. package/dist/cli/commands/mcp.js +0 -14
  18. package/dist/cli/commands/mcp.js.map +1 -1
  19. package/dist/cli/commands/process-tree.js +4 -26
  20. package/dist/cli/commands/process-tree.js.map +1 -1
  21. package/dist/cli/commands/revisium-helpers.js +0 -6
  22. package/dist/cli/commands/revisium-helpers.js.map +1 -1
  23. package/dist/cli/commands/rogue-reaper.js +0 -34
  24. package/dist/cli/commands/rogue-reaper.js.map +1 -1
  25. package/dist/cli/index.js +0 -4
  26. package/dist/cli/index.js.map +1 -1
  27. package/dist/cli/program.js +0 -5
  28. package/dist/cli/program.js.map +1 -1
  29. package/dist/config.js +0 -25
  30. package/dist/config.js.map +1 -1
  31. package/dist/control-plane/bootstrap.js +0 -28
  32. package/dist/control-plane/bootstrap.js.map +1 -1
  33. package/dist/control-plane/change-notifications.js +0 -1
  34. package/dist/control-plane/change-notifications.js.map +1 -1
  35. package/dist/control-plane/client-transport.js +0 -11
  36. package/dist/control-plane/client-transport.js.map +1 -1
  37. package/dist/control-plane/definitions.js +8 -17
  38. package/dist/control-plane/definitions.js.map +1 -1
  39. package/dist/control-plane/inbox.js +2 -120
  40. package/dist/control-plane/inbox.js.map +1 -1
  41. package/dist/control-plane/resolve-cwd.js +0 -61
  42. package/dist/control-plane/resolve-cwd.js.map +1 -1
  43. package/dist/control-plane/schema-migration.js +0 -9
  44. package/dist/control-plane/schema-migration.js.map +1 -1
  45. package/dist/control-plane/seed-default-playbook.js +5 -70
  46. package/dist/control-plane/seed-default-playbook.js.map +1 -1
  47. package/dist/control-plane/steps.js +0 -15
  48. package/dist/control-plane/steps.js.map +1 -1
  49. package/dist/e2e/kit/assertions.js +1 -1
  50. package/dist/e2e/kit/assertions.js.map +1 -1
  51. package/dist/engine/dbos.service.js +9 -179
  52. package/dist/engine/dbos.service.js.map +1 -1
  53. package/dist/engine/ensure-postgres.js +0 -48
  54. package/dist/engine/ensure-postgres.js.map +1 -1
  55. package/dist/host/daemon.js +2 -21
  56. package/dist/host/daemon.js.map +1 -1
  57. package/dist/host/dbos-identity.js +0 -31
  58. package/dist/host/dbos-identity.js.map +1 -1
  59. package/dist/host/ensure-host.js +1 -37
  60. package/dist/host/ensure-host.js.map +1 -1
  61. package/dist/host/ensure-revisium.js +1 -135
  62. package/dist/host/ensure-revisium.js.map +1 -1
  63. package/dist/host/host-runtime.js +0 -28
  64. package/dist/host/host-runtime.js.map +1 -1
  65. package/dist/host/host.lifecycle.js +0 -27
  66. package/dist/host/host.lifecycle.js.map +1 -1
  67. package/dist/host/queue-ownership.js +0 -42
  68. package/dist/host/queue-ownership.js.map +1 -1
  69. package/dist/host/queue-poller-census.js +1 -28
  70. package/dist/host/queue-poller-census.js.map +1 -1
  71. package/dist/http/graphql-host.module.js +0 -3
  72. package/dist/http/graphql-host.module.js.map +1 -1
  73. package/dist/mcp/mcp-capabilities.js +19 -14
  74. package/dist/mcp/mcp-capabilities.js.map +1 -1
  75. package/dist/mcp/mcp-facade.service.js +41 -23
  76. package/dist/mcp/mcp-facade.service.js.map +1 -1
  77. package/dist/mcp/mcp-http.service.js +0 -18
  78. package/dist/mcp/mcp-http.service.js.map +1 -1
  79. package/dist/mcp/mcp-tools.js +18 -40
  80. package/dist/mcp/mcp-tools.js.map +1 -1
  81. package/dist/observability/activity-signal.js +0 -4
  82. package/dist/observability/activity-signal.js.map +1 -1
  83. package/dist/observability/agent-activity-reporter.js +0 -4
  84. package/dist/observability/agent-activity-reporter.js.map +1 -1
  85. package/dist/pipeline/await-human.js +0 -40
  86. package/dist/pipeline/await-human.js.map +1 -1
  87. package/dist/pipeline/data-driven-task.workflow.js +106 -236
  88. package/dist/pipeline/data-driven-task.workflow.js.map +1 -1
  89. package/dist/pipeline/data-driven-template.js +0 -25
  90. package/dist/pipeline/data-driven-template.js.map +1 -1
  91. package/dist/pipeline/pipeline.module.js +0 -12
  92. package/dist/pipeline/pipeline.module.js.map +1 -1
  93. package/dist/pipeline/pipeline.service.js +10 -99
  94. package/dist/pipeline/pipeline.service.js.map +1 -1
  95. package/dist/pipeline-core/index.js +1 -13
  96. package/dist/pipeline-core/index.js.map +1 -1
  97. package/dist/pipeline-core/interpret.js +21 -94
  98. package/dist/pipeline-core/interpret.js.map +1 -1
  99. package/dist/pipeline-core/kit/assertions.js +0 -19
  100. package/dist/pipeline-core/kit/assertions.js.map +1 -1
  101. package/dist/pipeline-core/kit/builders.js +1 -21
  102. package/dist/pipeline-core/kit/builders.js.map +1 -1
  103. package/dist/pipeline-core/kit/drive.js +1 -31
  104. package/dist/pipeline-core/kit/drive.js.map +1 -1
  105. package/dist/pipeline-core/kit/fixtures.js +8 -82
  106. package/dist/pipeline-core/kit/fixtures.js.map +1 -1
  107. package/dist/pipeline-core/kit/index.js +0 -8
  108. package/dist/pipeline-core/kit/index.js.map +1 -1
  109. package/dist/pipeline-core/types.js +13 -52
  110. package/dist/pipeline-core/types.js.map +1 -1
  111. package/dist/pipeline-core/validate-capability.js +0 -3
  112. package/dist/pipeline-core/validate-capability.js.map +1 -1
  113. package/dist/pipeline-core/validate-conflicts.js +0 -9
  114. package/dist/pipeline-core/validate-conflicts.js.map +1 -1
  115. package/dist/pipeline-core/validate-dataflow.js +0 -17
  116. package/dist/pipeline-core/validate-dataflow.js.map +1 -1
  117. package/dist/pipeline-core/validate-diff.js +3 -36
  118. package/dist/pipeline-core/validate-diff.js.map +1 -1
  119. package/dist/pipeline-core/validate-edges.js +0 -6
  120. package/dist/pipeline-core/validate-edges.js.map +1 -1
  121. package/dist/pipeline-core/validate-graph.js +0 -11
  122. package/dist/pipeline-core/validate-graph.js.map +1 -1
  123. package/dist/pipeline-core/validate-loops.js +37 -44
  124. package/dist/pipeline-core/validate-loops.js.map +1 -1
  125. package/dist/pipeline-core/validate-parallel.js +9 -15
  126. package/dist/pipeline-core/validate-parallel.js.map +1 -1
  127. package/dist/pipeline-core/validate-sink.js +0 -7
  128. package/dist/pipeline-core/validate-sink.js.map +1 -1
  129. package/dist/pipeline-core/validate-topology.js +1 -20
  130. package/dist/pipeline-core/validate-topology.js.map +1 -1
  131. package/dist/pipeline-core/validate-verdict.js +52 -7
  132. package/dist/pipeline-core/validate-verdict.js.map +1 -1
  133. package/dist/pipeline-core/validate.js +5 -29
  134. package/dist/pipeline-core/validate.js.map +1 -1
  135. package/dist/playbook/catalog-loader.js +8 -3
  136. package/dist/playbook/catalog-loader.js.map +1 -1
  137. package/dist/playbook/import-mapper.js +1 -9
  138. package/dist/playbook/import-mapper.js.map +1 -1
  139. package/dist/poller/pr-readiness-core.js +0 -74
  140. package/dist/poller/pr-readiness-core.js.map +1 -1
  141. package/dist/revisium/inbox.service.js +0 -24
  142. package/dist/revisium/inbox.service.js.map +1 -1
  143. package/dist/revisium/playbooks.service.js +2 -4
  144. package/dist/revisium/playbooks.service.js.map +1 -1
  145. package/dist/revisium/revisium.module.js +0 -12
  146. package/dist/revisium/revisium.module.js.map +1 -1
  147. package/dist/revisium/roles.service.js +0 -6
  148. package/dist/revisium/roles.service.js.map +1 -1
  149. package/dist/revisium/run.service.js +1 -75
  150. package/dist/revisium/run.service.js.map +1 -1
  151. package/dist/revisium/tokens.js +0 -4
  152. package/dist/revisium/tokens.js.map +1 -1
  153. package/dist/run/append-event.js +0 -34
  154. package/dist/run/append-event.js.map +1 -1
  155. package/dist/run/block-run.js.map +1 -1
  156. package/dist/run/cancel-run.js +0 -33
  157. package/dist/run/cancel-run.js.map +1 -1
  158. package/dist/run/complete-run.js.map +1 -1
  159. package/dist/run/create-run.js +0 -7
  160. package/dist/run/create-run.js.map +1 -1
  161. package/dist/run/fail-run.js +0 -3
  162. package/dist/run/fail-run.js.map +1 -1
  163. package/dist/run/inspect-run.js +0 -26
  164. package/dist/run/inspect-run.js.map +1 -1
  165. package/dist/run/run-outputs.js +0 -19
  166. package/dist/run/run-outputs.js.map +1 -1
  167. package/dist/run/terminal-run-status.js +0 -12
  168. package/dist/run/terminal-run-status.js.map +1 -1
  169. package/dist/runners/claude-code.service.js +0 -11
  170. package/dist/runners/claude-code.service.js.map +1 -1
  171. package/dist/runners/codex.service.js +0 -9
  172. package/dist/runners/codex.service.js.map +1 -1
  173. package/dist/runners/gh-identity.js +0 -52
  174. package/dist/runners/gh-identity.js.map +1 -1
  175. package/dist/runners/integrator-branch-naming.js +3 -11
  176. package/dist/runners/integrator-branch-naming.js.map +1 -1
  177. package/dist/runners/integrator-git.js +0 -25
  178. package/dist/runners/integrator-git.js.map +1 -1
  179. package/dist/runners/integrator-remote.js +0 -2
  180. package/dist/runners/integrator-remote.js.map +1 -1
  181. package/dist/runners/integrator-types.js +0 -7
  182. package/dist/runners/integrator-types.js.map +1 -1
  183. package/dist/runners/integrator.js +3 -167
  184. package/dist/runners/integrator.js.map +1 -1
  185. package/dist/runners/runner.module.js +0 -6
  186. package/dist/runners/runner.module.js.map +1 -1
  187. package/dist/runners/tokens.js +0 -4
  188. package/dist/runners/tokens.js.map +1 -1
  189. package/dist/runners/worktree.service.js +1 -17
  190. package/dist/runners/worktree.service.js.map +1 -1
  191. package/dist/task-control-plane/run-watch.service.js +49 -173
  192. package/dist/task-control-plane/run-watch.service.js.map +1 -1
  193. package/dist/task-control-plane/task-control-plane-api.service.js +15 -17
  194. package/dist/task-control-plane/task-control-plane-api.service.js.map +1 -1
  195. package/dist/worker/build-context.js +0 -16
  196. package/dist/worker/build-context.js.map +1 -1
  197. package/dist/worker/claude-code-runner.js +9 -42
  198. package/dist/worker/claude-code-runner.js.map +1 -1
  199. package/dist/worker/codex-runner.js +88 -22
  200. package/dist/worker/codex-runner.js.map +1 -1
  201. package/dist/worker/git-worktree-manager.js +20 -67
  202. package/dist/worker/git-worktree-manager.js.map +1 -1
  203. package/dist/worker/process-executor.js +0 -12
  204. package/dist/worker/process-executor.js.map +1 -1
  205. package/dist/worker/result-envelope.js +33 -49
  206. package/dist/worker/result-envelope.js.map +1 -1
  207. package/dist/worker/runner-dispatch.js +0 -3
  208. package/dist/worker/runner-dispatch.js.map +1 -1
  209. package/dist/worker/runner.js.map +1 -1
  210. package/dist/worker/stub-runner.js +0 -7
  211. package/dist/worker/stub-runner.js.map +1 -1
  212. package/package.json +2 -2
@@ -4,6 +4,11 @@ import { resolveEffectiveRunnerTimeoutPolicy, } from './process-executor.js';
4
4
  import { RunAgentError } from './runner.js';
5
5
  import { boundedPreview, boundedPreviewValue, buildAttemptResult, buildUsageCosts, runnerError, runnerTimeoutFailure, tail, } from './runner-common.js';
6
6
  const DEFAULT_COMMAND = 'codex';
7
+ const FALLBACK_VERDICT_TOKENS = ['approved', 'changes_requested', 'blocker', 'clean', 'dirty'];
8
+ function verdictMenu(acceptedVerdicts) {
9
+ const tokens = acceptedVerdicts && acceptedVerdicts.length > 0 ? acceptedVerdicts : FALLBACK_VERDICT_TOKENS;
10
+ return tokens.join(' | ');
11
+ }
7
12
  export const CODEX_OUTPUT_SCHEMA = {
8
13
  type: 'object',
9
14
  additionalProperties: false,
@@ -14,46 +19,76 @@ export const CODEX_OUTPUT_SCHEMA = {
14
19
  description: 'the single routing token for the role, lowercase',
15
20
  },
16
21
  output: {
17
- description: 'the structured or textual output consumed by the orchestrator',
22
+ type: 'string',
23
+ description: 'the textual output consumed by the orchestrator; encode structured payloads as JSON text',
18
24
  },
19
25
  artifacts: {
20
- description: 'nullable JSON artifacts; use null when there are no artifacts',
26
+ type: ['string', 'null'],
27
+ description: 'nullable artifact payload; encode structured artifacts as JSON text, or use null',
21
28
  },
22
29
  nextSteps: {
23
- anyOf: [
24
- {
25
- type: 'array',
26
- description: 'follow-up step specs; use [] when no follow-up work is needed',
27
- items: { type: 'object' },
30
+ type: ['array', 'null'],
31
+ description: 'follow-up step specs; use [] when no follow-up work is needed',
32
+ items: {
33
+ type: 'object',
34
+ additionalProperties: false,
35
+ properties: {
36
+ taskId: { type: ['string', 'null'] },
37
+ role: { type: ['string', 'null'] },
38
+ kind: { type: ['string', 'null'] },
39
+ input: { type: ['string', 'null'] },
40
+ modelProfile: { type: ['string', 'null'] },
41
+ priority: { type: ['number', 'null'] },
42
+ maxAttempts: { type: ['number', 'null'] },
43
+ dependsOn: { type: ['array', 'null'], items: { type: 'string' } },
44
+ runAfter: { type: ['string', 'null'] },
28
45
  },
29
- { type: 'null' },
30
- ],
46
+ required: ['taskId', 'role', 'kind', 'input', 'modelProfile', 'priority', 'maxAttempts', 'dependsOn', 'runAfter'],
47
+ },
31
48
  },
32
49
  needsHuman: {
33
- anyOf: [{ type: 'boolean' }, { type: 'null' }],
50
+ type: ['boolean', 'null'],
34
51
  description: 'true only when a human must intervene; null is normalized to false',
35
52
  },
36
53
  lesson: {
37
- anyOf: [{ type: 'string' }, { type: 'null' }],
54
+ type: ['string', 'null'],
38
55
  description: 'nullable one-line lesson for a future attempt',
39
56
  },
40
57
  },
41
58
  required: ['verdict', 'output', 'artifacts', 'nextSteps', 'needsHuman', 'lesson'],
42
59
  };
43
- const STRUCTURED_RESULT_NOTE = `
60
+ function codexOutputSchemaFor(acceptedVerdicts) {
61
+ const verdictEnum = acceptedVerdicts && acceptedVerdicts.length > 0 ? { enum: [...acceptedVerdicts] } : {};
62
+ return {
63
+ ...CODEX_OUTPUT_SCHEMA,
64
+ properties: {
65
+ ...CODEX_OUTPUT_SCHEMA.properties,
66
+ verdict: {
67
+ ...CODEX_OUTPUT_SCHEMA.properties.verdict,
68
+ ...verdictEnum,
69
+ description: `the single routing token for the role, lowercase, exactly one of: ${verdictMenu(acceptedVerdicts)}`,
70
+ },
71
+ },
72
+ };
73
+ }
74
+ function structuredResultNote(acceptedVerdicts) {
75
+ return `
44
76
  Return only JSON matching the provided output schema as your final answer.
45
77
  All fields are required: verdict, output, artifacts, nextSteps, needsHuman, lesson.
78
+ "verdict" must be exactly one of: ${verdictMenu(acceptedVerdicts)}. Use no other token.
79
+ Output must be a string. Encode structured payloads as JSON text inside output/artifacts when needed.
46
80
  Use null for nullable fields when they do not apply. Do not put the result only in prose.
47
81
  `;
48
- function writeCodexOutputSchema(processDir) {
82
+ }
83
+ function writeCodexOutputSchema(processDir, acceptedVerdicts) {
49
84
  mkdirSync(processDir, { recursive: true });
50
85
  const schemaPath = join(processDir, 'codex-output.schema.json');
51
- writeFileSync(schemaPath, JSON.stringify(CODEX_OUTPUT_SCHEMA, null, 2) + '\n', 'utf8');
86
+ writeFileSync(schemaPath, JSON.stringify(codexOutputSchemaFor(acceptedVerdicts), null, 2) + '\n', 'utf8');
52
87
  return schemaPath;
53
88
  }
54
- function buildPrompt(context, attemptId) {
89
+ function buildPrompt(context, attemptId, acceptedVerdicts) {
55
90
  const idempotencyLine = `Attempt-Id: ${attemptId} - idempotency key. Reference it on any external effect you create.`;
56
- return [context, idempotencyLine, STRUCTURED_RESULT_NOTE].join('\n');
91
+ return [context, idempotencyLine, structuredResultNote(acceptedVerdicts)].join('\n');
57
92
  }
58
93
  function isOpenAiCompatibleProvider(provider) {
59
94
  const normalized = provider.trim().toLowerCase();
@@ -170,6 +205,7 @@ const TERMINAL_STRUCTURED_KEYS = ['structured_output', 'structuredOutput', 'fina
170
205
  const TERMINAL_OBJECT_KEYS = ['output', 'result'];
171
206
  const TERMINAL_CONTENT_HOLDER_KEYS = ['output'];
172
207
  const TERMINAL_TEXT_KEYS = ['output_text', 'text', 'result'];
208
+ const AGENT_MESSAGE_TEXT_KEYS = ['text', 'message', 'output_text', 'result'];
173
209
  function structuredCandidateFromObjectKeys(source, keys) {
174
210
  for (const key of keys) {
175
211
  const candidate = source[key];
@@ -185,8 +221,8 @@ function structuredCandidateFromContentHolder(value) {
185
221
  const outputCandidate = structuredCandidateFromObjectKeys(obj, TERMINAL_CONTENT_HOLDER_KEYS);
186
222
  return outputCandidate ?? candidateFromContentArray(obj.content);
187
223
  }
188
- function structuredCandidateFromTextKeys(source) {
189
- for (const key of TERMINAL_TEXT_KEYS) {
224
+ function structuredCandidateFromTextKeys(source, keys = TERMINAL_TEXT_KEYS) {
225
+ for (const key of keys) {
190
226
  const value = readString(source[key]);
191
227
  if (!value)
192
228
  continue;
@@ -205,6 +241,22 @@ function structuredCandidateFromTerminalEvent(event) {
205
241
  ?? structuredCandidateFromContentHolder(event.message)
206
242
  ?? structuredCandidateFromTextKeys(event);
207
243
  }
244
+ function structuredCandidateFromAgentMessagePayload(payload) {
245
+ return structuredCandidateFromObjectKeys(payload, TERMINAL_STRUCTURED_KEYS)
246
+ ?? candidateFromContentArray(payload.content)
247
+ ?? structuredCandidateFromTextKeys(payload, AGENT_MESSAGE_TEXT_KEYS);
248
+ }
249
+ function structuredCandidateFromAgentMessageEvent(event) {
250
+ const type = readString(event.type);
251
+ if (type === 'agent_message')
252
+ return structuredCandidateFromAgentMessagePayload(event);
253
+ if (type !== 'item.completed')
254
+ return undefined;
255
+ const item = maybeObject(event.item);
256
+ if (!item || readString(item.type) !== 'agent_message')
257
+ return undefined;
258
+ return structuredCandidateFromAgentMessagePayload(item);
259
+ }
208
260
  function eventFailureMessage(event) {
209
261
  if (event.type !== 'turn.failed')
210
262
  return undefined;
@@ -269,8 +321,13 @@ function applyFailureSummary(summary, event) {
269
321
  }
270
322
  function applyStructuredSummary(summary, event) {
271
323
  const structured = structuredCandidateFromTerminalEvent(event);
272
- if (structured !== undefined)
324
+ if (structured !== undefined) {
273
325
  summary.finalStructured = structured;
326
+ return;
327
+ }
328
+ const agentMessageStructured = structuredCandidateFromAgentMessageEvent(event);
329
+ if (agentMessageStructured !== undefined)
330
+ summary.latestAgentMessageStructured = agentMessageStructured;
274
331
  }
275
332
  function summarizeCodexEvents(events) {
276
333
  if (events.length === 0)
@@ -281,6 +338,9 @@ function summarizeCodexEvents(events) {
281
338
  applyFailureSummary(summary, event);
282
339
  applyStructuredSummary(summary, event);
283
340
  }
341
+ if (events.some((event) => event.type === 'turn.completed')) {
342
+ summary.finalStructured ??= summary.latestAgentMessageStructured;
343
+ }
284
344
  return summary;
285
345
  }
286
346
  function parseCodexJsonl(stdout, reporter, activity) {
@@ -361,6 +421,12 @@ function fieldTypeIssues(obj) {
361
421
  if ('verdict' in obj && (typeof obj.verdict !== 'string' || obj.verdict.trim().length === 0)) {
362
422
  issues.push({ path: '$.verdict', message: 'must be a non-empty string' });
363
423
  }
424
+ if ('output' in obj && typeof obj.output !== 'string') {
425
+ issues.push({ path: '$.output', message: 'must be a string' });
426
+ }
427
+ if ('artifacts' in obj && obj.artifacts !== null && typeof obj.artifacts !== 'string') {
428
+ issues.push({ path: '$.artifacts', message: 'must be a string or null' });
429
+ }
364
430
  if ('nextSteps' in obj && obj.nextSteps !== null && !Array.isArray(obj.nextSteps)) {
365
431
  issues.push({ path: '$.nextSteps', message: 'must be an array or null' });
366
432
  }
@@ -403,7 +469,7 @@ export function createCodexRunner(deps) {
403
469
  wallClockLimitMs: deps.timeoutMs,
404
470
  });
405
471
  const command = deps.command ?? DEFAULT_COMMAND;
406
- return async ({ role, profile, context, attemptId, step, reporter }) => {
472
+ return async ({ role, profile, context, attemptId, step, reporter, acceptedVerdicts }) => {
407
473
  let processArtifact;
408
474
  let processActivity;
409
475
  try {
@@ -415,7 +481,7 @@ export function createCodexRunner(deps) {
415
481
  });
416
482
  const cwd = await deps.resolveCwd(step);
417
483
  const sandbox = sandboxForRole(role);
418
- const schemaPath = writeCodexOutputSchema(deps.artifactStore.resolveAttemptDir(step.runId, attemptId));
484
+ const schemaPath = writeCodexOutputSchema(deps.artifactStore.resolveAttemptDir(step.runId, attemptId), acceptedVerdicts);
419
485
  const args = buildArgs(profile.modelId, sandbox, cwd, schemaPath);
420
486
  processArtifact = deps.artifactStore.startProcess({
421
487
  runId: step.runId,
@@ -438,7 +504,7 @@ export function createCodexRunner(deps) {
438
504
  cwd,
439
505
  timeoutMs: timeoutPolicy.wallClockLimitMs,
440
506
  idleTimeoutMs: timeoutPolicy.idleTimeoutMs,
441
- input: buildPrompt(context, attemptId),
507
+ input: buildPrompt(context, attemptId, acceptedVerdicts),
442
508
  onSpawn: (pid) => reporter?.spawned(pid),
443
509
  onActivityTracker: (activity) => {
444
510
  processActivity = activity;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-runner.js","sourceRoot":"","sources":["../../src/worker/codex-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-runner.js","sourceRoot":"","sources":["../../src/worker/codex-runner.ts"],"names":[],"mappings":"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"}
@@ -1,61 +1,29 @@
1
- /**
2
- * git-worktree-manager.ts — per-RUN git worktree lifecycle (plan 0017).
3
- *
4
- * DBOS-SEALED: zero @dbos-inc imports. Create/release are registered as memoized DBOS steps in
5
- * PipelineService; this module is pure git side effects + deterministic paths.
6
- *
7
- * Each LIVE run gets ONE isolated worktree at `<dataDir>/worktrees/<runId>`, checked out on the run's
8
- * feature branch (the SAME `feat/<taskId>-<slug>` the integrator computes) off a freshly-fetched
9
- * `origin/<base>`. The developer (and rework) steps + the integrator all resolve their cwd to it
10
- * (see resolveRunCwd), so the user's base checkout is never mutated and concurrent runs on one repo
11
- * cannot collide. The durable artifact is the pushed branch; the worktree is execution scratch.
12
- *
13
- * Replay-safety: `createRunWorktree` is create-IF-ABSENT (a no-op returning the existing path when the
14
- * worktree is already valid), so a DBOS replay / crash-recovery re-entry never errors and preserves
15
- * in-flight uncommitted developer work. `releaseRunWorktree` is best-effort and no-ops if absent.
16
- */
17
1
  import { execFileSync } from 'node:child_process';
18
2
  import { existsSync, mkdirSync, rmSync, symlinkSync, writeFileSync, } from 'node:fs';
19
3
  import { dirname, join } from 'node:path';
20
4
  import { worktreePathFor, worktreeMarkerFor, isWorktreeDir, } from '../control-plane/resolve-cwd.js';
21
5
  import { resolveExecutable } from '../runners/integrator.js';
22
6
  const GIT_TIMEOUT_MS = 60_000;
23
- // Resolve `git` to an ABSOLUTE path once (mirrors the integrator's defaultExecGit): execFileSync is
24
- // never handed a bare command name resolved against a mutable PATH at spawn time.
25
7
  let _gitAbsPath;
26
8
  function gitAbsPath() {
27
9
  if (_gitAbsPath === undefined)
28
10
  _gitAbsPath = resolveExecutable('git');
29
11
  return _gitAbsPath;
30
12
  }
31
- /** Default git executor — runs the absolute `git` binary in `cwd`. */
32
13
  function defaultExecGit(args, cwd) {
33
14
  return execFileSync(gitAbsPath(), args, { encoding: 'utf8', cwd, timeout: GIT_TIMEOUT_MS });
34
15
  }
35
16
  const INSTALL_TIMEOUT_MS = 300_000;
36
- /** Default pnpm install executor — runs the absolute `pnpm` binary. Throws if pnpm is unavailable
37
- * (the caller treats a throw as "fall back to the node_modules symlink"). */
38
17
  function defaultExecInstall(args, cwd) {
39
18
  execFileSync(resolveExecutable('pnpm'), args, { cwd, timeout: INSTALL_TIMEOUT_MS, stdio: 'ignore' });
40
19
  }
41
- /**
42
- * Provision the worktree's dependencies so the developer/tests can build & run.
43
- *
44
- * Why pnpm gets a real install (not the symlink): pnpm's `node_modules` is a virtual store of symlinks
45
- * into `node_modules/.pnpm` wired to the project layout; symlinking the base's `node_modules` into a
46
- * worktree at a different path shares a MUTABLE tree across runs (one install/postinstall leaks into
47
- * the base and parallel runs). A `pnpm install --frozen-lockfile` in the worktree is cheap (hard-links
48
- * from the global content-addressed store, no re-download) and yields a correct, ISOLATED tree from the
49
- * committed `pnpm-lock.yaml`. Non-pnpm repos keep the best-effort base-`node_modules` symlink.
50
- */
51
20
  function provisionDeps(worktreePath, baseRepoCwd, execInstall) {
52
21
  if (existsSync(join(worktreePath, 'pnpm-lock.yaml'))) {
53
22
  try {
54
23
  execInstall(['install', '--frozen-lockfile'], worktreePath);
55
- return; // isolated install succeeded — do NOT also symlink
24
+ return;
56
25
  }
57
26
  catch {
58
- // pnpm unavailable / install failed — fall through to the symlink fallback below
59
27
  }
60
28
  }
61
29
  try {
@@ -66,20 +34,8 @@ function provisionDeps(worktreePath, baseRepoCwd, execInstall) {
66
34
  }
67
35
  }
68
36
  catch {
69
- // ignore — the developer simply runs without provisioned node_modules
70
37
  }
71
38
  }
72
- /**
73
- * Create the run's isolated worktree if absent (idempotent). Returns its path.
74
- *
75
- * 1. If a valid worktree already exists at the deterministic path → write the live marker and return
76
- * it (replay / recovery: never clobber in-flight developer work).
77
- * 2. Else: fetch `origin/<base>`, then `git worktree add -B <branch> <path> origin/<base>` (create-or-
78
- * reset the feature branch and check it out in the new worktree).
79
- * 3. Provision deps (provisionDeps): `pnpm install --frozen-lockfile` for a pnpm repo, else a
80
- * best-effort base-`node_modules` symlink — so the developer can build/test in the isolated tree.
81
- * 4. Write the `<runId>.live` marker (fail-loud signal for the resolver).
82
- */
83
39
  export function createRunWorktree(opts) {
84
40
  const { runId, baseRepoCwd, base, branch, dataDir } = opts;
85
41
  const execGit = opts.execGit ?? defaultExecGit;
@@ -90,58 +46,55 @@ export function createRunWorktree(opts) {
90
46
  return { worktreePath };
91
47
  }
92
48
  mkdirSync(dirname(worktreePath), { recursive: true });
93
- // Fetch the base so the worktree is cut from fresh origin/<base>.
94
49
  execGit(['fetch', 'origin', base], baseRepoCwd);
95
- // -B: create-or-reset <branch> at origin/<base> and check it out in the new linked worktree.
96
50
  execGit(['worktree', 'add', '-B', branch, worktreePath, `origin/${base}`], baseRepoCwd);
97
- // Provision dependencies (pnpm install for a pnpm repo, else node_modules symlink) — best-effort.
98
51
  provisionDeps(worktreePath, baseRepoCwd, execInstall);
99
52
  writeMarker(dataDir, runId);
100
53
  return { worktreePath };
101
54
  }
102
- /**
103
- * Release the run's worktree (best-effort, idempotent). Removes the linked worktree + prunes stale
104
- * administrative entries + drops the live marker. No-ops if the worktree is already gone. Called only
105
- * at a TERMINAL state — never while parked at a gate (the workflow stays alive across `recv`, so the
106
- * lifecycle `finally` does not run during a park).
107
- */
108
55
  export function releaseRunWorktree(opts) {
109
- const { runId, baseRepoCwd, dataDir } = opts;
56
+ const { runId, baseRepoCwd, dataDir, force = false } = opts;
110
57
  const execGit = opts.execGit ?? defaultExecGit;
111
58
  const worktreePath = worktreePathFor(dataDir, runId);
112
- try {
113
- if (existsSync(worktreePath)) {
114
- execGit(['worktree', 'remove', '--force', worktreePath], baseRepoCwd);
59
+ if (!existsSync(worktreePath)) {
60
+ try {
61
+ execGit(['worktree', 'prune'], baseRepoCwd);
115
62
  }
63
+ catch { }
64
+ return { released: false, reason: 'absent' };
65
+ }
66
+ if (!force) {
67
+ try {
68
+ const status = execGit(['status', '--porcelain'], worktreePath);
69
+ if (status.trim().length > 0) {
70
+ return { released: false, reason: 'dirty' };
71
+ }
72
+ }
73
+ catch { }
74
+ }
75
+ try {
76
+ execGit(['worktree', 'remove', '--force', worktreePath], baseRepoCwd);
116
77
  }
117
78
  catch {
118
- // ignore — fall through to a best-effort dir removal, then prune the admin entry
119
79
  }
120
80
  try {
121
81
  if (existsSync(worktreePath))
122
82
  rmSync(worktreePath, { recursive: true, force: true });
123
83
  }
124
84
  catch {
125
- // ignore
126
85
  }
127
- // Prune AFTER any manual removal so the `.git/worktrees/<id>` admin entry is cleaned in both the
128
- // `git worktree remove` path and the manual-rm fallback path.
129
86
  try {
130
87
  execGit(['worktree', 'prune'], baseRepoCwd);
131
88
  }
132
89
  catch {
133
- // ignore — prune is housekeeping only
134
90
  }
135
91
  try {
136
92
  rmSync(worktreeMarkerFor(dataDir, runId), { force: true });
137
93
  }
138
94
  catch {
139
- // ignore
140
95
  }
96
+ return { released: true };
141
97
  }
142
- // The live marker is the signal that makes resolveRunCwd FAIL LOUD on a lost worktree. If it cannot be
143
- // written we must NOT proceed silently (a later lost worktree would then fall back to the shared base
144
- // checkout, masking the isolation failure) — throw so the create step fails and the run surfaces it.
145
98
  function writeMarker(dataDir, runId) {
146
99
  writeFileSync(worktreeMarkerFor(dataDir, runId), `${runId}\n`, 'utf8');
147
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"git-worktree-manager.js","sourceRoot":"","sources":["../../src/worker/git-worktree-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-worktree-manager.js","sourceRoot":"","sources":["../../src/worker/git-worktree-manager.ts"],"names":[],"mappings":"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"}
@@ -41,9 +41,6 @@ export function resolveEffectiveRunnerTimeoutPolicy(opts = {}) {
41
41
  ?? DEFAULT_RUNNER_WALL_CLOCK_LIMIT_MS, 'wallClockLimitMs'),
42
42
  };
43
43
  }
44
- // Kill the whole process group, not just the leader: external runners can spawn subprocesses, and
45
- // only a negative-PID signal reaches the group. `detached: true` below makes the child its own group
46
- // leader. Fall back to a direct kill if the group send throws.
47
44
  function killGroup(child) {
48
45
  const pid = child.pid;
49
46
  if (pid === undefined) {
@@ -57,7 +54,6 @@ function killGroup(child) {
57
54
  child.kill('SIGKILL');
58
55
  }
59
56
  }
60
- // Real implementation, used only in production wiring (never in unit tests).
61
57
  export const spawnExecutor = (req) => new Promise((resolve, reject) => {
62
58
  const policy = resolveRunnerTimeoutPolicy({
63
59
  idleTimeoutMs: req.idleTimeoutMs,
@@ -76,8 +72,6 @@ export const spawnExecutor = (req) => new Promise((resolve, reject) => {
76
72
  const child = spawn(req.command, req.args, {
77
73
  cwd: req.cwd,
78
74
  env: req.env ? { ...process.env, ...req.env } : process.env,
79
- // Own process group → a negative-PID SIGKILL reaps the runner and its children on timeout.
80
- // Do NOT unref(): the parent must stay attached to collect stdout/stderr and observe exit.
81
75
  detached: true,
82
76
  stdio: ['pipe', 'pipe', 'pipe'],
83
77
  });
@@ -101,7 +95,6 @@ export const spawnExecutor = (req) => new Promise((resolve, reject) => {
101
95
  killGroup(child);
102
96
  reject(err);
103
97
  }
104
- // Spawn-level errors (binary missing) reject — the runner converts that to a lesson.
105
98
  child.on('error', (err) => {
106
99
  if (settled)
107
100
  return;
@@ -161,9 +154,6 @@ export const spawnExecutor = (req) => new Promise((resolve, reject) => {
161
154
  }
162
155
  child.stdout?.setEncoding('utf8');
163
156
  child.stderr?.setEncoding('utf8');
164
- // Guard the sink callbacks: a throw here (e.g. a failed artifact write) would otherwise
165
- // escape the stream 'data' handler as an uncaughtException and crash the worker. The
166
- // in-memory capture above is unaffected, so the result envelope is still collected.
167
157
  child.stdout?.on('data', (chunk) => {
168
158
  stdout += chunk;
169
159
  activity.recordOutput('stdout', Buffer.byteLength(chunk, 'utf8'));
@@ -188,7 +178,6 @@ export const spawnExecutor = (req) => new Promise((resolve, reject) => {
188
178
  killFor(RUNNER_WALL_CLOCK_LIMIT_KIND);
189
179
  }, policy.wallClockLimitMs);
190
180
  scheduleIdleTimer();
191
- // Never reject for a non-zero exit; return the result and let the runner decide how to map it.
192
181
  child.on('close', (code) => {
193
182
  if (settled)
194
183
  return;
@@ -203,7 +192,6 @@ export const spawnExecutor = (req) => new Promise((resolve, reject) => {
203
192
  ...(timeoutEvidence ? { timeoutEvidence } : {}),
204
193
  });
205
194
  });
206
- // Swallow EPIPE: the child may exit before draining stdin; the 'close' handler reports the result.
207
195
  child.stdin?.on('error', () => { });
208
196
  if (req.input !== undefined)
209
197
  child.stdin?.write(req.input);
@@ -1 +1 @@
1
- {"version":3,"file":"process-executor.js","sourceRoot":"","sources":["../../src/worker/process-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,2BAA2B,GAG5B,MAAM,qCAAqC,CAAC;AAoB7C,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAA8B,CAAC;AACvE,MAAM,CAAC,MAAM,4BAA4B,GAAG,yBAAkC,CAAC;AAK/E,MAAM,CAAC,MAAM,8BAA8B,GAAG,OAAO,CAAC;AACtD,MAAM,CAAC,MAAM,kCAAkC,GAAG,SAAS,CAAC;AA8B5D,SAAS,kBAAkB,CAAC,GAAsB,EAAE,GAAW;IAC7D,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,oDAAoD,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,oDAAoD,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,KAAa;IAC/C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,oDAAoD,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,OAII,EAAE;IAEN,OAAO,mCAAmC,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,OAKI,EAAE;IAEN,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,MAAM,oBAAoB,GACxB,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC;QAC9D,CAAC,CAAC,IAAI,CAAC,aAAa;QACpB,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO;QACL,aAAa,EAAE,WAAW,CACxB,kBAAkB,CAAC,GAAG,EAAE,6BAA6B,CAAC;eACjD,IAAI,CAAC,aAAa;eAClB,8BAA8B,EACnC,eAAe,CAChB;QACD,gBAAgB,EAAE,WAAW,CAC3B,kBAAkB,CAAC,GAAG,EAAE,iCAAiC,CAAC;eACrD,oBAAoB;eACpB,IAAI,CAAC,gBAAgB;eACrB,kCAAkC,EACvC,kBAAkB,CACnB;KACF,CAAC;AACJ,CAAC;AAED,kGAAkG;AAClG,qGAAqG;AACrG,+DAA+D;AAC/D,SAAS,SAAS,CAAC,KAAmB;IACpC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAoB,CAAC,GAAG,EAAE,EAAE,CACpD,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC1C,MAAM,MAAM,GAAG,0BAA0B,CAAC;QACxC,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,gBAAgB,EAAE,GAAG,CAAC,SAAS;KAChC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,MAAM,GAGR,EAAE,CAAC;IACP,IAAI,cAAyD,CAAC;IAC9D,MAAM,QAAQ,GAAG,2BAA2B,CAAC;QAC3C,SAAS;QACT,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;YACrB,cAAc,GAAG,QAAQ,CAAC;YAC1B,iBAAiB,EAAE,CAAC;QACtB,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE;QACzC,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG;QAC3D,2FAA2F;QAC3F,2FAA2F;QAC3F,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;KAChC,CAAC,CAAC;IAEH,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,WAAiD,CAAC;IACtD,IAAI,eAAkD,CAAC;IACvD,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,SAAS,WAAW;QAClB,IAAI,MAAM,CAAC,IAAI;YAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,SAAS;YAAE,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,SAAS,eAAe,CAAC,GAAY;QACnC,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,WAAW,EAAE,CAAC;QACd,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;IAED,qFAAqF;IACrF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACxB,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,WAAW,EAAE,CAAC;QACd,MAAM,CAAC,GAAG,CAAC,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;YAAE,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,GAAG,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAe,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,SAAS,oBAAoB,CAAC,QAAuC;QACnE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO;YACL,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;YACvC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC;YAClD,cAAc,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE;YAC/D,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB;YACvD,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC;IACJ,CAAC;IAED,SAAS,OAAO,CAAC,IAA8B;QAC7C,IAAI,OAAO,IAAI,QAAQ;YAAE,OAAO;QAChC,QAAQ,GAAG,IAAI,CAAC;QAChB,WAAW,GAAG,IAAI,CAAC;QACnB,eAAe,GAAG,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5D,WAAW,EAAE,CAAC;QACd,SAAS,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,SAAS,iBAAiB;QACxB,IAAI,OAAO,IAAI,QAAQ;YAAE,OAAO;QAChC,IAAI,MAAM,CAAC,IAAI;YAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,cAAc,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACvD,IAAI,QAAQ,CAAC,sBAAsB,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,iBAAiB,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC;QAClD,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,wBAAwB,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,wFAAwF;IACxF,qFAAqF;IACrF,oFAAoF;IACpF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC;QAChB,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC;YACH,GAAG,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,uCAAuC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC;QAChB,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC;YACH,GAAG,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,uCAAuC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;QACjC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACxC,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC5B,iBAAiB,EAAE,CAAC;IAEpB,+FAA+F;IAC/F,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,WAAW,EAAE,CAAC;QACd,OAAO,CAAC;YACN,IAAI;YACJ,MAAM;YACN,MAAM;YACN,QAAQ;YACR,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,mGAAmG;IACnG,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAqC,CAAC,CAAC,CAAC;IACtE,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3D,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"process-executor.js","sourceRoot":"","sources":["../../src/worker/process-executor.ts"],"names":[],"mappings":"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"}