@jterrats/open-orchestra 1.0.5 → 1.0.6

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 (56) hide show
  1. package/dist/cli.js +7 -1
  2. package/dist/cli.js.map +1 -1
  3. package/dist/command-manifest.js +2 -0
  4. package/dist/command-manifest.js.map +1 -1
  5. package/dist/commands.d.ts +1 -1
  6. package/dist/commands.js +1 -1
  7. package/dist/commands.js.map +1 -1
  8. package/dist/constants.js +5 -0
  9. package/dist/constants.js.map +1 -1
  10. package/dist/runtime-bootstrap.js +9 -1
  11. package/dist/runtime-bootstrap.js.map +1 -1
  12. package/dist/runtime-commands.d.ts +2 -0
  13. package/dist/runtime-commands.js +44 -1
  14. package/dist/runtime-commands.js.map +1 -1
  15. package/dist/runtime-execution-adapters.js +44 -4
  16. package/dist/runtime-execution-adapters.js.map +1 -1
  17. package/dist/runtime-execution-renderer.d.ts +7 -1
  18. package/dist/runtime-execution-renderer.js +63 -0
  19. package/dist/runtime-execution-renderer.js.map +1 -1
  20. package/dist/runtime-execution.d.ts +11 -1
  21. package/dist/runtime-execution.js +68 -12
  22. package/dist/runtime-execution.js.map +1 -1
  23. package/dist/runtime-guardrails.js +2 -0
  24. package/dist/runtime-guardrails.js.map +1 -1
  25. package/dist/runtime-spawn-bridge.d.ts +25 -0
  26. package/dist/runtime-spawn-bridge.js +172 -0
  27. package/dist/runtime-spawn-bridge.js.map +1 -0
  28. package/dist/runtime-spawn-guidance.d.ts +3 -0
  29. package/dist/runtime-spawn-guidance.js +52 -0
  30. package/dist/runtime-spawn-guidance.js.map +1 -0
  31. package/dist/skills-planning.js +6 -20
  32. package/dist/skills-planning.js.map +1 -1
  33. package/dist/subagent-protocol.js +4 -0
  34. package/dist/subagent-protocol.js.map +1 -1
  35. package/dist/telemetry-export.js +19 -24
  36. package/dist/telemetry-export.js.map +1 -1
  37. package/dist/types/runtime.d.ts +32 -0
  38. package/dist/types/workflow-run.d.ts +1 -0
  39. package/dist/types.d.ts +1 -1
  40. package/dist/types.js.map +1 -1
  41. package/dist/web-api.js +21 -0
  42. package/dist/web-api.js.map +1 -1
  43. package/dist/web-runtime-actions.d.ts +4 -0
  44. package/dist/web-runtime-actions.js +53 -0
  45. package/dist/web-runtime-actions.js.map +1 -0
  46. package/dist/workflow-approval-service.js +14 -18
  47. package/dist/workflow-approval-service.js.map +1 -1
  48. package/dist/workflow-background-subagents.d.ts +13 -0
  49. package/dist/workflow-background-subagents.js +80 -0
  50. package/dist/workflow-background-subagents.js.map +1 -0
  51. package/dist/workflow-run-commands.js +40 -1
  52. package/dist/workflow-run-commands.js.map +1 -1
  53. package/dist/workflow-task-service.js +13 -16
  54. package/dist/workflow-task-service.js.map +1 -1
  55. package/docs/runtime-adapters.md +56 -8
  56. package/package.json +1 -1
@@ -0,0 +1,172 @@
1
+ import path from "node:path";
2
+ import { renderPhasePlaybookMarkdown } from "./phase-playbooks.js";
3
+ import { runtimeSpawnRequestContent } from "./runtime-execution-renderer.js";
4
+ import { appendEvent, readEvents, writeArtifact } from "./workspace.js";
5
+ export async function renderRuntimeSpawnRequestArtifact({ root, taskId, runId, phase, role, runtime, sessionId, status, assignment, context, guardrails, phasePlaybook, }) {
6
+ if (runtime.subagents.spawn.mode === "unsupported") {
7
+ throw new Error(`runtime ${runtime.id} does not declare a safe subagent spawn bridge`);
8
+ }
9
+ const promptArtifact = `.agent-workflow/runs/${taskId}-${runId ?? "manual"}-${phase}-runtime-${runtime.id}-spawn-prompt.md`;
10
+ const expectedResultArtifact = `.agent-workflow/handoffs/${taskId}-${runId ?? "manual"}-${phase}-${role}-runtime-handoff.md`;
11
+ const requestWithoutContent = {
12
+ taskId,
13
+ ...(runId ? { runId } : {}),
14
+ phase,
15
+ role,
16
+ runtime: runtime.id,
17
+ sessionId,
18
+ status,
19
+ spawnCapability: runtime.subagents.spawn,
20
+ assignment,
21
+ promptArtifact,
22
+ expectedResultArtifact,
23
+ directProviderApiAllowed: false,
24
+ contextBudget: context.contextBudget,
25
+ guardrails,
26
+ };
27
+ const promptContent = [
28
+ `# Runtime Child Prompt: ${taskId}`,
29
+ "",
30
+ `- Runtime: ${runtime.id}`,
31
+ `- Phase: ${phase}`,
32
+ `- Role: ${role}`,
33
+ `- Session id: ${sessionId}`,
34
+ "- Direct provider API calls: forbidden",
35
+ "",
36
+ "## Goal",
37
+ context.task.goal ?? context.task.title,
38
+ "",
39
+ "## Acceptance Criteria",
40
+ ...listOrNone(context.task.acceptanceCriteria),
41
+ "",
42
+ "## Ownership Paths",
43
+ ...listOrNone(assignment.paths),
44
+ "",
45
+ ...(phasePlaybook ? [renderPhasePlaybookMarkdown(phasePlaybook), ""] : []),
46
+ "## Return Contract",
47
+ `- Write or summarize result evidence for ${expectedResultArtifact}.`,
48
+ "- Include touched files, commands run, pass/fail result, risks, and close status.",
49
+ ].join("\n");
50
+ await writeArtifact(root, "runs", `${taskId}-${runId ?? "manual"}-${phase}-runtime-${runtime.id}-spawn-prompt.md`, promptContent);
51
+ const content = runtimeSpawnRequestContent({
52
+ context,
53
+ runtime,
54
+ request: requestWithoutContent,
55
+ ...(phasePlaybook ? { phasePlaybook } : {}),
56
+ });
57
+ const artifact = await writeArtifact(root, "runs", `${taskId}-${runId ?? "manual"}-${phase}-runtime-${runtime.id}-spawn-request.md`, content);
58
+ const request = {
59
+ ...requestWithoutContent,
60
+ artifact,
61
+ content,
62
+ };
63
+ await appendEvent(root, {
64
+ type: status === "queued"
65
+ ? "RUNTIME_DELEGATION_SESSION_QUEUED"
66
+ : "RUNTIME_SPAWN_REQUEST_RENDERED",
67
+ taskId,
68
+ actor: "parent",
69
+ summary: `Runtime spawn request ${status}: ${phase} via ${runtime.id}`,
70
+ artifacts: [artifact, promptArtifact],
71
+ metadata: {
72
+ sessionId,
73
+ runtime: runtime.id,
74
+ phase,
75
+ role,
76
+ status,
77
+ spawnMode: runtime.subagents.spawn.mode,
78
+ spawnTool: runtime.subagents.spawn.tool,
79
+ directProviderApiAllowed: false,
80
+ guardrails,
81
+ },
82
+ });
83
+ return request;
84
+ }
85
+ export async function recordRuntimeSpawnLifecycle({ root, sessionId, status, summary, spawnedAgentId, artifact, }) {
86
+ const events = await readEvents(root);
87
+ const session = latestSessionEvent(events, sessionId);
88
+ if (!session) {
89
+ throw new Error(`unknown runtime delegation session: ${sessionId}`);
90
+ }
91
+ if (artifact) {
92
+ assertWorkflowArtifactPath(artifact);
93
+ }
94
+ if (!session.taskId) {
95
+ throw new Error(`runtime delegation session is missing task id: ${sessionId}`);
96
+ }
97
+ const previousAgentId = stringMetadata(session, "spawnedAgentId");
98
+ return appendEvent(root, {
99
+ type: runtimeSpawnLifecycleEvent(status),
100
+ taskId: session.taskId,
101
+ actor: "parent",
102
+ summary: summary ?? `Runtime spawn lifecycle ${status}: ${sessionId}`,
103
+ artifacts: artifact ? [artifact] : (session.artifacts ?? []),
104
+ metadata: {
105
+ sessionId,
106
+ runtime: stringMetadata(session, "runtime"),
107
+ phase: stringMetadata(session, "phase"),
108
+ role: stringMetadata(session, "role"),
109
+ roles: arrayMetadata(session, "roles").length
110
+ ? arrayMetadata(session, "roles")
111
+ : [stringMetadata(session, "role")].filter(Boolean),
112
+ spawnedAgentId: spawnedAgentId ?? previousAgentId,
113
+ previousEventType: session.type,
114
+ status,
115
+ directProviderApiAllowed: false,
116
+ },
117
+ });
118
+ }
119
+ export function parseRuntimeSpawnLifecycleStatus(value) {
120
+ if (value === "spawned" ||
121
+ value === "active" ||
122
+ value === "completed" ||
123
+ value === "failed" ||
124
+ value === "timed_out" ||
125
+ value === "canceled" ||
126
+ value === "closed") {
127
+ return value;
128
+ }
129
+ throw new Error("runtime spawn lifecycle status must be spawned, active, completed, failed, timed_out, canceled, or closed");
130
+ }
131
+ function latestSessionEvent(events, sessionId) {
132
+ return events
133
+ .filter((event) => event.metadata.sessionId === sessionId)
134
+ .sort((left, right) => right.timestamp.localeCompare(left.timestamp))[0];
135
+ }
136
+ function runtimeSpawnLifecycleEvent(status) {
137
+ const events = {
138
+ spawned: "RUNTIME_DELEGATION_SESSION_SPAWNED",
139
+ active: "RUNTIME_DELEGATION_SESSION_HEARTBEAT",
140
+ completed: "RUNTIME_DELEGATION_SESSION_COMPLETED",
141
+ failed: "RUNTIME_DELEGATION_SESSION_FAILED",
142
+ timed_out: "RUNTIME_DELEGATION_SESSION_TIMED_OUT",
143
+ canceled: "RUNTIME_DELEGATION_SESSION_CANCELED",
144
+ closed: "RUNTIME_DELEGATION_SESSION_CLOSED",
145
+ };
146
+ return events[status];
147
+ }
148
+ function stringMetadata(event, key) {
149
+ const value = event.metadata[key];
150
+ return typeof value === "string" && value.trim() ? value : undefined;
151
+ }
152
+ function arrayMetadata(event, key) {
153
+ const value = event.metadata[key];
154
+ return Array.isArray(value)
155
+ ? value.filter((item) => typeof item === "string")
156
+ : [];
157
+ }
158
+ function assertWorkflowArtifactPath(artifact) {
159
+ const normalized = path.normalize(artifact);
160
+ if (normalized.startsWith("..") ||
161
+ path.isAbsolute(normalized) ||
162
+ !normalized.startsWith(".agent-workflow")) {
163
+ throw new Error("runtime artifact must be workspace workflow-local");
164
+ }
165
+ }
166
+ function listOrNone(items) {
167
+ if (!items || items.length === 0) {
168
+ return ["- none declared"];
169
+ }
170
+ return items.map((item) => `- ${item}`);
171
+ }
172
+ //# sourceMappingURL=runtime-spawn-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-spawn-bridge.js","sourceRoot":"","sources":["../src/runtime-spawn-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { SkillRenderTarget } from "./types.js";
2
+ export declare function runtimeBootstrapSpawnLines(target: SkillRenderTarget): string[];
3
+ export declare function runtimeSpawnProtocolLines(target: SkillRenderTarget): string[];
@@ -0,0 +1,52 @@
1
+ export function runtimeBootstrapSpawnLines(target) {
2
+ if (target === "codex") {
3
+ return [
4
+ "- Codex parent runtimes should use `spawn_agent` for the rendered packet and avoid waiting by default.",
5
+ ];
6
+ }
7
+ if (target === "claude") {
8
+ return [
9
+ "- Claude Code parent runtimes should launch the rendered packet with the native Agent/Subagent tool; use Task only when that is the exposed legacy alias.",
10
+ "- Prefer a role-named Claude subagent and record the resulting id or label in spawn lifecycle.",
11
+ ];
12
+ }
13
+ if (target === "cursor") {
14
+ return [
15
+ "- Cursor parent runtimes should launch the rendered packet as a Background Agent so work continues in parallel with the current chat.",
16
+ "- Record the Cursor Background Agent id or branch label in spawn lifecycle before resuming the workflow.",
17
+ ];
18
+ }
19
+ return [
20
+ "- If the runtime has no safe native background-agent mechanism, leave the packet as request-only and ask the user before falling back to single-agent execution.",
21
+ ];
22
+ }
23
+ export function runtimeSpawnProtocolLines(target) {
24
+ const common = [
25
+ "- Spawn only from an Orchestra `runtime spawn-request` artifact; do not invent child context.",
26
+ "- Keep detached children in background and let the parent continue talking to the user.",
27
+ "- Record `spawned`, terminal status, evidence artifact, and agent id through `runtime spawn-lifecycle`.",
28
+ ];
29
+ if (target === "claude") {
30
+ return [
31
+ ...common,
32
+ "- Claude Code: use the native Agent/Subagent tool for the packet; use Task only if exposed as the legacy alias.",
33
+ ];
34
+ }
35
+ if (target === "cursor") {
36
+ return [
37
+ ...common,
38
+ "- Cursor: launch the packet as a Background Agent and record the Background Agent id or branch label.",
39
+ ];
40
+ }
41
+ if (target === "codex") {
42
+ return [
43
+ ...common,
44
+ "- Codex: use `spawn_agent` for the packet and avoid `wait_agent` unless the next critical step is blocked.",
45
+ ];
46
+ }
47
+ return [
48
+ ...common,
49
+ "- Unknown runtimes: keep the request-only packet and ask before falling back to single-agent execution.",
50
+ ];
51
+ }
52
+ //# sourceMappingURL=runtime-spawn-guidance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-spawn-guidance.js","sourceRoot":"","sources":["../src/runtime-spawn-guidance.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,0BAA0B,CACxC,MAAyB;IAEzB,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO;YACL,wGAAwG;SACzG,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO;YACL,2JAA2J;YAC3J,gGAAgG;SACjG,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO;YACL,uIAAuI;YACvI,0GAA0G;SAC3G,CAAC;IACJ,CAAC;IACD,OAAO;QACL,kKAAkK;KACnK,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAyB;IACjE,MAAM,MAAM,GAAG;QACb,+FAA+F;QAC/F,yFAAyF;QACzF,yGAAyG;KAC1G,CAAC;IACF,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO;YACL,GAAG,MAAM;YACT,iHAAiH;SAClH,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO;YACL,GAAG,MAAM;YACT,uGAAuG;SACxG,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO;YACL,GAAG,MAAM;YACT,4GAA4G;SAC7G,CAAC;IACJ,CAAC;IACD,OAAO;QACL,GAAG,MAAM;QACT,yGAAyG;KAC1G,CAAC;AACJ,CAAC"}
@@ -18,28 +18,16 @@ export async function planSkillsForTask(taskId, root = process.cwd()) {
18
18
  const roleCapabilities = uniqueSortedStrings(taskRoles.flatMap((roleId) => workspace.roles.find((candidate) => candidate.id === roleId)
19
19
  ?.capabilities ?? []));
20
20
  const scored = listSkills().map((skill) => scoreSkill(skill, task, roleCapabilities, role?.id));
21
- const selected = scored
22
- .filter((item) => item.score > 0 || item.skill.id === "source-of-truth")
23
- .sort((left, right) => right.score - left.score || left.skill.id.localeCompare(right.skill.id));
24
- const skipped = scored
25
- .filter((item) => !selected.some((selectedItem) => selectedItem.skill.id === item.skill.id))
26
- .map(({ skill }) => ({
27
- skill,
28
- score: 0,
29
- rationale: ["No matching task signal, role, capability, or risk area."],
30
- }));
31
- return {
32
- taskId,
33
- selected: selected.map(toPlanItem),
34
- skipped: skipped.map(toPlanItem),
35
- sourceGroups: uniqueSortedStrings(selected.flatMap((item) => item.skill.sourceGroups)),
36
- };
21
+ return buildSkillPlan(taskId, scored, "No matching task signal, role, capability, or risk area.");
37
22
  }
38
23
  export function planSkillsForRuntimeRequest(request) {
39
24
  const roleId = request.role ?? "parent";
40
25
  const role = defaultRoles.find((candidate) => candidate.id === roleId);
41
26
  const task = runtimeRequestToTask(request, roleId);
42
27
  const scored = listSkills().map((skill) => scoreSkill(skill, task, role?.capabilities ?? []));
28
+ return buildSkillPlan("runtime-advisory", scored, "No matching runtime signal, role, capability, or risk area.");
29
+ }
30
+ function buildSkillPlan(taskId, scored, skippedRationale) {
43
31
  const selected = scored
44
32
  .filter((item) => item.score > 0 || item.skill.id === "source-of-truth")
45
33
  .sort((left, right) => right.score - left.score || left.skill.id.localeCompare(right.skill.id));
@@ -48,12 +36,10 @@ export function planSkillsForRuntimeRequest(request) {
48
36
  .map(({ skill }) => ({
49
37
  skill,
50
38
  score: 0,
51
- rationale: [
52
- "No matching runtime signal, role, capability, or risk area.",
53
- ],
39
+ rationale: [skippedRationale],
54
40
  }));
55
41
  return {
56
- taskId: "runtime-advisory",
42
+ taskId,
57
43
  selected: selected.map(toPlanItem),
58
44
  skipped: skipped.map(toPlanItem),
59
45
  sourceGroups: uniqueSortedStrings(selected.flatMap((item) => item.skill.sourceGroups)),
@@ -1 +1 @@
1
- {"version":3,"file":"skills-planning.js","sourceRoot":"","sources":["../src/skills-planning.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills-planning.js","sourceRoot":"","sources":["../src/skills-planning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAShD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;IAEpB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAC1E,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAC/B,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS,CAC/C,CAAC;IACF,MAAM,SAAS,GAAG;QAChB,IAAI,CAAC,SAAS;QACd,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC;KACxC,CAAC;IACF,MAAM,gBAAgB,GAAG,mBAAmB,CAC1C,SAAS,CAAC,OAAO,CACf,CAAC,MAAM,EAAE,EAAE,CACT,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC;QAC1D,EAAE,YAAY,IAAI,EAAE,CACzB,CACF,CAAC;IACF,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACxC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,CAAC,CACpD,CAAC;IACF,OAAO,cAAc,CACnB,MAAM,EACN,MAAM,EACN,0DAA0D,CAC3D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAgC;IAEhC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC;IACxC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACxC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,IAAI,EAAE,CAAC,CAClD,CAAC;IACF,OAAO,cAAc,CACnB,kBAAkB,EAClB,MAAM,EACN,6DAA6D,CAC9D,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,MAAc,EACd,MAAqB,EACrB,gBAAwB;IAExB,MAAM,QAAQ,GAAG,MAAM;SACpB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,iBAAiB,CAAC;SACvE,IAAI,CACH,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACd,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAC1E,CAAC;IACJ,MAAM,OAAO,GAAG,MAAM;SACnB,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,QAAQ,CAAC,IAAI,CACZ,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAC1D,CACJ;SACA,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACnB,KAAK;QACL,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,CAAC,gBAAgB,CAAC;KAC9B,CAAC,CAAC,CAAC;IACN,OAAO;QACL,MAAM;QACN,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;QAClC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QAChC,YAAY,EAAE,mBAAmB,CAC/B,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CACpD;KACF,CAAC;AACJ,CAAC;AAQD,SAAS,oBAAoB,CAC3B,OAAgC,EAChC,MAAc;IAEd,MAAM,IAAI,GAAS;QACjB,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM;QACjB,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,EAAE;QAChB,IAAI,EAAE,OAAO,CAAC,MAAM;QACpB,kBAAkB,EAAE;YAClB,GAAG,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;YACrC,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,WAAW,CAAC;SAC9D;KACF,CAAC;IACF,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,kBAAkB,OAAO,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CACjB,KAAY,EACZ,IAAU,EACV,gBAA0B,EAC1B,WAAW,GAAG,IAAI,CAAC,SAAS;IAE5B,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE;QAChC,SAAS,EAAE,IAAI;QACf,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;QACzB,kBAAkB,EAAE,IAAI;KACzB,CAAC,CAAC;IACH,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,iBAAiB,GAAG;QACxB,IAAI,CAAC,SAAS;QACd,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC;KACxC,CAAC;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/C,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CACjC,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,aAAa,IAAI,CAAC,CAAC;QACnB,SAAS,CAAC,IAAI,CAAC,wBAAwB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7C,aAAa,IAAI,CAAC,CAAC;QACnB,SAAS,CAAC,IAAI,CAAC,2BAA2B,WAAW,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACxD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CACrC,CAAC;IACF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9C,SAAS,CAAC,IAAI,CAAC,+BAA+B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACrB,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,IAAI,EAAE,CAAC;KACtC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACnD,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAClD,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,eAAe,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,SAAS,CAAC,IAAI,CAAC,qBAAqB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CACnE,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CACtC,CAAC;IACF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,aAAa,IAAI,mBAAmB,CAAC,MAAM,CAAC;QAC5C,SAAS,CAAC,IAAI,CACZ,4BAA4B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7D,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,EAAE,KAAK,iBAAiB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACpE,eAAe,IAAI,CAAC,CAAC;QACrB,SAAS,CAAC,IAAI,CACZ,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,EAAE,KAAK,iBAAiB,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;QAC5D,SAAS,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,KAAK,GAAG,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,KAAK,EACL,KAAK,EACL,SAAS,GAKV;IACC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACrC,CAAC"}
@@ -6,6 +6,7 @@ import { loadWorkspace } from "./workspace.js";
6
6
  import { getRuntimeAdapter } from "./runtime-adapters.js";
7
7
  import { roleForRiskArea } from "./role-aliases.js";
8
8
  import { isCompletedTaskStatus } from "./task-status.js";
9
+ import { runtimeSpawnProtocolLines } from "./runtime-spawn-guidance.js";
9
10
  const PROTOCOL_BLOCK_ID = "subagent-protocol";
10
11
  const PROTOCOL_VERSION = "1";
11
12
  const SOURCE_MANIFEST = ".agent-workflow/roles.json,.agent-workflow/tasks.json,skills/catalog";
@@ -159,6 +160,9 @@ function renderProtocolMarkdown(protocol, target) {
159
160
  "- Run `orchestra validate --pre-run --task <ID> --json` before implementation.",
160
161
  '- Record accepted deviations with `orchestra validate --pre-run --task <ID> --bypass --bypass-rationale "..."`.',
161
162
  "",
163
+ "## Runtime Spawn Handling",
164
+ ...runtimeSpawnProtocolLines(target),
165
+ "",
162
166
  "## Conflict Precedence",
163
167
  ...protocol.conflictPrecedence.map((item) => `- ${item}`),
164
168
  "",
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-protocol.js","sourceRoot":"","sources":["../src/subagent-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagent-protocol.js","sourceRoot":"","sources":["../src/subagent-protocol.ts"],"names":[],"mappings":"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"}
@@ -9,18 +9,7 @@ import { buildTelemetryRecords } from "./telemetry-records.js";
9
9
  export async function exportTelemetryDataset({ root = process.cwd(), dryRun = false, } = {}) {
10
10
  const consent = await requireTelemetryEnabled(root);
11
11
  const records = await buildTelemetryRecords(root, consent, "workflow-task");
12
- const redacted = records.map((record) => redactTelemetryData(record));
13
- const redaction = mergeRedactionReports(redacted.map((entry) => entry.report));
14
- const cleanRecords = redacted.map((entry) => ({
15
- ...entry.value,
16
- redaction: mergeRedactionReports([entry.value.redaction, entry.report]),
17
- }));
18
- const summary = {
19
- dryRun,
20
- level: consent.level,
21
- recordCount: cleanRecords.length,
22
- redaction,
23
- };
12
+ const { cleanRecords, summary } = prepareTelemetryExport(records, consent, dryRun);
24
13
  if (dryRun) {
25
14
  return summary;
26
15
  }
@@ -75,18 +64,7 @@ export async function exportTelemetryEvalDataset({ root = process.cwd(), dryRun
75
64
  }
76
65
  const records = await buildTelemetryRecords(root, consent, "eval-dataset-item");
77
66
  const approved = records.filter((record) => record.qualityLabels?.includes("approved"));
78
- const redacted = approved.map((record) => redactTelemetryData(record));
79
- const redaction = mergeRedactionReports(redacted.map((entry) => entry.report));
80
- const cleanRecords = redacted.map((entry) => ({
81
- ...entry.value,
82
- redaction: mergeRedactionReports([entry.value.redaction, entry.report]),
83
- }));
84
- const summary = {
85
- dryRun,
86
- level: consent.level,
87
- recordCount: cleanRecords.length,
88
- redaction,
89
- };
67
+ const { cleanRecords, summary } = prepareTelemetryExport(approved, consent, dryRun);
90
68
  if (dryRun) {
91
69
  return summary;
92
70
  }
@@ -100,6 +78,23 @@ export async function exportTelemetryEvalDataset({ root = process.cwd(), dryRun
100
78
  });
101
79
  return { ...summary, file };
102
80
  }
81
+ function prepareTelemetryExport(records, consent, dryRun) {
82
+ const redacted = records.map((record) => redactTelemetryData(record));
83
+ const redaction = mergeRedactionReports(redacted.map((entry) => entry.report));
84
+ const cleanRecords = redacted.map((entry) => ({
85
+ ...entry.value,
86
+ redaction: mergeRedactionReports([entry.value.redaction, entry.report]),
87
+ }));
88
+ return {
89
+ cleanRecords,
90
+ summary: {
91
+ dryRun,
92
+ level: consent.level,
93
+ recordCount: cleanRecords.length,
94
+ redaction,
95
+ },
96
+ };
97
+ }
103
98
  async function writeTelemetryJsonl(root, prefix, records) {
104
99
  await ensureDir(resolveWorkflowPath(root, TELEMETRY_DIR));
105
100
  const fileName = prefix + "-" + new Date().toISOString().replace(/[:.]/g, "-") + ".jsonl";
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-export.js","sourceRoot":"","sources":["../src/telemetry-export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry-export.js","sourceRoot":"","sources":["../src/telemetry-export.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,16 @@ import type { AutonomousGateMode } from "./workflow-run.js";
4
4
  export type RuntimeAdapterKind = "llm" | "ide" | "cli";
5
5
  export type RuntimeExecutionId = "claude-cli" | "codex-cli" | "opencode-cli" | "cursor-cli" | "vscode-agent" | "windsurf-agent" | "generic-runtime";
6
6
  export type RuntimeDelegationMode = "runtime-native" | "brief-only";
7
+ export type RuntimeSpawnCapabilityMode = "unsupported" | "request-only" | "parent-tool" | "local-process";
8
+ export interface RuntimeSpawnCapability {
9
+ mode: RuntimeSpawnCapabilityMode;
10
+ tool: string | null;
11
+ requestArtifact: boolean;
12
+ supportsQueue: boolean;
13
+ supportsAgentId: boolean;
14
+ requiresParentRuntime: boolean;
15
+ guidance: string;
16
+ }
7
17
  export interface RuntimeAdapter {
8
18
  target: SkillRenderTarget;
9
19
  label: string;
@@ -47,6 +57,7 @@ export interface RuntimeSubagentCapabilities {
47
57
  structuredHandoff: boolean;
48
58
  fileOwnership: boolean;
49
59
  requiresParentApproval: boolean;
60
+ spawn: RuntimeSpawnCapability;
50
61
  }
51
62
  export interface RuntimeExecutionAdapter {
52
63
  id: RuntimeExecutionId;
@@ -119,6 +130,7 @@ export interface RuntimeDelegationSessionSummary {
119
130
  taskId: string;
120
131
  runtime?: RuntimeExecutionId | string;
121
132
  mode?: RuntimeDelegationMode;
133
+ spawnedAgentId?: string;
122
134
  roles: string[];
123
135
  status: RuntimeDelegationSessionStatus;
124
136
  lastEventType: string;
@@ -157,12 +169,32 @@ export interface RuntimeDelegationPacket {
157
169
  artifact: string;
158
170
  content: string;
159
171
  mode: RuntimeDelegationMode;
172
+ spawnCapability: RuntimeSpawnCapability;
160
173
  directProviderApiAllowed: false;
161
174
  assignments: RuntimeDelegationAssignment[];
162
175
  requiresApproval: boolean;
163
176
  contextBudget: ContextBudgetMetadata;
164
177
  guardrails: RuntimeDelegationGuardrailEvaluation;
165
178
  }
179
+ export type RuntimeSpawnRequestStatus = "requested" | "queued";
180
+ export interface RuntimeSpawnRequest {
181
+ taskId: string;
182
+ runId?: string;
183
+ phase: string;
184
+ role: string;
185
+ runtime: RuntimeExecutionId;
186
+ sessionId: string;
187
+ artifact: string;
188
+ content: string;
189
+ status: RuntimeSpawnRequestStatus;
190
+ spawnCapability: RuntimeSpawnCapability;
191
+ assignment: RuntimeDelegationAssignment;
192
+ promptArtifact: string;
193
+ expectedResultArtifact: string;
194
+ directProviderApiAllowed: false;
195
+ contextBudget: ContextBudgetMetadata;
196
+ guardrails: RuntimeDelegationGuardrailEvaluation;
197
+ }
166
198
  export interface RuntimeInvocationPlan {
167
199
  runtime: RuntimeExecutionId;
168
200
  gates: AutonomousGateMode;
@@ -9,6 +9,7 @@ export interface WorkflowPhaseExecutorProvenance {
9
9
  phase: string;
10
10
  sessionId?: string;
11
11
  artifact?: string;
12
+ completionMode?: "blocking" | "detached";
12
13
  fallbackReason?: string;
13
14
  directProviderApiAllowed: false;
14
15
  plannedAt: string;
package/dist/types.d.ts CHANGED
@@ -4,7 +4,7 @@ import type { CollaborationFlowRecommendation, MemoryPacket, SkillPlan, SkillRen
4
4
  import type { EventEntry, LockEntry, Task, TaskStatus } from "./types/tasks.js";
5
5
  export type { ContextBudgetMetadata, ContextBudgetSection, } from "./types/context.js";
6
6
  export type { BudgetLimit, BudgetPolicy, ConfiguredProviderSummary, GitHubConfig, GitHubNotificationConfig, ModelMessage, ModelProvider, ModelProviderCapabilities, ModelProviderError, ModelProvenanceInput, ModelProvenanceRecord, ModelRequest, ModelResponse, ModelStreamEvent, NotificationChannelResult, NotificationsConfig, PhaseExecutionMode, PhaseExecutorPhase, PhaseLlmResult, PhaseOutcome, PhaseStructuredOutput, ProviderFallbackResult, ProviderFailureDetail, ProviderProfileSmokeCheck, ProviderProfileSmokeResult, ProviderCredentialConfig, ProviderCredentialsConfig, ProviderPolicyConfig, ProviderRuntimeProfile, ProviderRuntimeProfileSummary, ProviderRouting, SlackNotificationConfig, TelemetryConsentState, TelemetryLevel, ToolConfig, WorkflowConfig, WorkflowProvidersConfig, } from "./types/model-config.js";
7
- export type { RuntimeAdapter, RuntimeAdapterCatalogEntry, RuntimeAdapterKind, RuntimeBrief, RuntimeDelegationAssignment, RuntimeDelegationGuardrailEvaluation, RuntimeDelegationGuardrailStatus, RuntimeDelegationGuardrails, RuntimeDelegationLimitAction, RuntimeDelegationMode, RuntimeDelegationOperationsReport, RuntimeDelegationPacket, RuntimeDelegationPolicy, RuntimeDelegationSessionStatus, RuntimeDelegationSessionSummary, RuntimeExecutionAdapter, RuntimeExecutionCapabilities, RuntimeExecutionId, RuntimeExecutionPolicy, RuntimeExecutorConfig, RuntimeInvocationPlan, RuntimeSelection, RuntimeSubagentCapabilities, } from "./types/runtime.js";
7
+ export type { RuntimeAdapter, RuntimeAdapterCatalogEntry, RuntimeAdapterKind, RuntimeBrief, RuntimeDelegationAssignment, RuntimeDelegationGuardrailEvaluation, RuntimeDelegationGuardrailStatus, RuntimeDelegationGuardrails, RuntimeDelegationLimitAction, RuntimeDelegationMode, RuntimeDelegationOperationsReport, RuntimeDelegationPacket, RuntimeDelegationPolicy, RuntimeDelegationSessionStatus, RuntimeDelegationSessionSummary, RuntimeExecutionAdapter, RuntimeExecutionCapabilities, RuntimeExecutionId, RuntimeExecutionPolicy, RuntimeExecutorConfig, RuntimeInvocationPlan, RuntimeSelection, RuntimeSpawnCapability, RuntimeSpawnCapabilityMode, RuntimeSpawnRequest, RuntimeSpawnRequestStatus, RuntimeSubagentCapabilities, } from "./types/runtime.js";
8
8
  export type { AgentLesson, AgentLessonInput, CollaborationFlow, CollaborationFlowRecommendation, CollaborationFlowStep, MemoryHookPoint, MemoryLessonSnippet, MemoryPacket, MemoryPromptSnippet, MemorySectionReport, RuntimeSkillPlanRequest, Skill, SkillLoadBudget, SkillPlan, SkillPlanItem, SkillRenderTarget, PhasePlaybook, SkillValidationReport, RenderedWorkflowTemplate, WorkflowTemplate, WorkflowTemplateSelection, } from "./types/skills.js";
9
9
  export { SIZING_LABELS, type BenchmarkQualitySignals, type BenchmarkResult, type BenchmarkSummary, type BurndownPoint, type BurndownSeries, type CalibrationReport, type CalibrationRoleReport, type EffortBreakdown, type EstimateCalibration, type EstimateConfidence, type EstimateInput, type EstimateRecord, type SizingLabel, type SprintRecord, type SprintVelocity, type SprintVelocityReport, type TaskEstimateBreakdown, type VelocityReport, type VelocityWeek, } from "./types/metrics.js";
10
10
  export type { AddTaskInput, ArchitectureApproval, ArtifactResult, ClaimLockInput, DecisionInput, DecisionRecord, EventEntry, EventInput, EvidenceInput, EvidenceType, ExternalTaskReferences, HandoffInput, LockEntry, MechanicalOverride, PlaywrightEvidenceInput, QaGateMetadata, ReviewInput, ReviewResult, RiskAcceptance, RiskGateMetadata, RiskImpactArea, SetupAgentsTaskReference, Severity, Task, TaskStatus, TaskWorkflowMetadata, UpdateTaskInput, } from "./types/tasks.js";
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA6GA,OAAO,EACL,aAAa,GAoBd,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAiHA,OAAO,EACL,aAAa,GAoBd,MAAM,oBAAoB,CAAC"}
package/dist/web-api.js CHANGED
@@ -17,6 +17,7 @@ import { generateQaAutomationCoverage } from "./qa-coverage.js";
17
17
  import { repairRecoveryItem } from "./web-recovery.js";
18
18
  import { renderWebConsoleHtml } from "./web-console.js";
19
19
  import { runWorkflowRun } from "./workflow-run-commands.js";
20
+ import { handleRuntimeSpawnLifecyclePost, handleRuntimeSpawnRequestPost, } from "./web-runtime-actions.js";
20
21
  import { renderSubagentProtocol } from "./subagent-protocol.js";
21
22
  import { recommendCollaborationFlow } from "./collaboration-flows.js";
22
23
  import { renderWorkflowTemplates, selectWorkflowTemplates, } from "./workflow-templates.js";
@@ -226,6 +227,18 @@ export async function startWebApiServer(options = {}) {
226
227
  writeJson(response, result.status, result.body);
227
228
  return;
228
229
  }
230
+ if (request.method === "POST" &&
231
+ url.pathname === "/api/runtime/spawn-request") {
232
+ const result = await safeWebPost(() => handleRuntimeSpawnRequestPost(request, root, readJsonBody));
233
+ writeJson(response, result.status, result.body);
234
+ return;
235
+ }
236
+ if (request.method === "POST" &&
237
+ url.pathname === "/api/runtime/spawn-lifecycle") {
238
+ const result = await safeWebPost(() => handleRuntimeSpawnLifecyclePost(request, root, readJsonBody));
239
+ writeJson(response, result.status, result.body);
240
+ return;
241
+ }
229
242
  if (request.method === "POST" &&
230
243
  url.pathname === "/api/workflow/gate-approve") {
231
244
  const result = await handleWorkflowGateApprovePost(request, root);
@@ -760,6 +773,14 @@ async function safeRequestRoute(handler, context) {
760
773
  return errorResult(error);
761
774
  }
762
775
  }
776
+ async function safeWebPost(handler) {
777
+ try {
778
+ return await handler();
779
+ }
780
+ catch (error) {
781
+ return errorResult(error);
782
+ }
783
+ }
763
784
  async function handlePlaywrightEvidencePost(request, root) {
764
785
  try {
765
786
  const input = (await readJsonBody(request));