@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.
- package/dist/cli.js +7 -1
- package/dist/cli.js.map +1 -1
- package/dist/command-manifest.js +2 -0
- package/dist/command-manifest.js.map +1 -1
- package/dist/commands.d.ts +1 -1
- package/dist/commands.js +1 -1
- package/dist/commands.js.map +1 -1
- package/dist/constants.js +5 -0
- package/dist/constants.js.map +1 -1
- package/dist/runtime-bootstrap.js +9 -1
- package/dist/runtime-bootstrap.js.map +1 -1
- package/dist/runtime-commands.d.ts +2 -0
- package/dist/runtime-commands.js +44 -1
- package/dist/runtime-commands.js.map +1 -1
- package/dist/runtime-execution-adapters.js +44 -4
- package/dist/runtime-execution-adapters.js.map +1 -1
- package/dist/runtime-execution-renderer.d.ts +7 -1
- package/dist/runtime-execution-renderer.js +63 -0
- package/dist/runtime-execution-renderer.js.map +1 -1
- package/dist/runtime-execution.d.ts +11 -1
- package/dist/runtime-execution.js +68 -12
- package/dist/runtime-execution.js.map +1 -1
- package/dist/runtime-guardrails.js +2 -0
- package/dist/runtime-guardrails.js.map +1 -1
- package/dist/runtime-spawn-bridge.d.ts +25 -0
- package/dist/runtime-spawn-bridge.js +172 -0
- package/dist/runtime-spawn-bridge.js.map +1 -0
- package/dist/runtime-spawn-guidance.d.ts +3 -0
- package/dist/runtime-spawn-guidance.js +52 -0
- package/dist/runtime-spawn-guidance.js.map +1 -0
- package/dist/skills-planning.js +6 -20
- package/dist/skills-planning.js.map +1 -1
- package/dist/subagent-protocol.js +4 -0
- package/dist/subagent-protocol.js.map +1 -1
- package/dist/telemetry-export.js +19 -24
- package/dist/telemetry-export.js.map +1 -1
- package/dist/types/runtime.d.ts +32 -0
- package/dist/types/workflow-run.d.ts +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.js.map +1 -1
- package/dist/web-api.js +21 -0
- package/dist/web-api.js.map +1 -1
- package/dist/web-runtime-actions.d.ts +4 -0
- package/dist/web-runtime-actions.js +53 -0
- package/dist/web-runtime-actions.js.map +1 -0
- package/dist/workflow-approval-service.js +14 -18
- package/dist/workflow-approval-service.js.map +1 -1
- package/dist/workflow-background-subagents.d.ts +13 -0
- package/dist/workflow-background-subagents.js +80 -0
- package/dist/workflow-background-subagents.js.map +1 -0
- package/dist/workflow-run-commands.js +40 -1
- package/dist/workflow-run-commands.js.map +1 -1
- package/dist/workflow-task-service.js +13 -16
- package/dist/workflow-task-service.js.map +1 -1
- package/docs/runtime-adapters.md +56 -8
- 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,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"}
|
package/dist/skills-planning.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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":"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,
|
|
1
|
+
{"version":3,"file":"skills-planning.js","sourceRoot":"","sources":["../src/skills-planning.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"subagent-protocol.js","sourceRoot":"","sources":["../src/subagent-protocol.ts"],"names":[],"mappings":"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"}
|
package/dist/telemetry-export.js
CHANGED
|
@@ -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
|
|
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
|
|
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":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAC3C,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,EACpB,MAAM,GAAG,KAAK,MAIZ,EAAE;IACJ,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IAC5E,MAAM,
|
|
1
|
+
{"version":3,"file":"telemetry-export.js","sourceRoot":"","sources":["../src/telemetry-export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAC3C,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,EACpB,MAAM,GAAG,KAAK,MAIZ,EAAE;IACJ,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IAC5E,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,sBAAsB,CACtD,OAAO,EACP,OAAO,EACP,MAAM,CACP,CAAC;IACF,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,mBAAmB,CACpC,IAAI,EACJ,kBAAkB,EAClB,YAAY,CACb,CAAC;IACF,MAAM,WAAW,CAAC,IAAI,EAAE;QACtB,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,uCAAuC;QAChD,SAAS,EAAE,CAAC,IAAI,CAAC;QACjB,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,MAAM,EAAE;KACrE,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAC3C,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,EACpB,IAAI,EACJ,QAAQ,GAKT;IACC,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,QAAQ,GAAG,4BAA4B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,KAAK,GAA6B;QACtC,QAAQ;QACR,IAAI;QACJ,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC5D,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC;QAClC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,kEAAkE;KAC5E,CAAC;IACF,MAAM,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IAC1D,MAAM,cAAc,CAClB,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,mBAAmB,CAAC,EAC7D,KAAK,CACN,CAAC;IACF,MAAM,WAAW,CAAC,IAAI,EAAE;QACtB,IAAI,EAAE,+BAA+B;QACrC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,2CAA2C;QACpD,SAAS,EAAE;YACT,IAAI;YACJ,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,CAAC;SACjE;QACD,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;KACvE,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,EAC/C,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,EACpB,MAAM,GAAG,KAAK,MAIZ,EAAE;IACJ,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,qBAAqB,CACzC,IAAI,EACJ,OAAO,EACP,mBAAmB,CACpB,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CACzC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,UAAU,CAAC,CAC3C,CAAC;IACF,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,sBAAsB,CACtD,QAAQ,EACR,OAAO,EACP,MAAM,CACP,CAAC;IACF,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IAC3E,MAAM,WAAW,CAAC,IAAI,EAAE;QACtB,IAAI,EAAE,iCAAiC;QACvC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,iCAAiC;QAC1C,SAAS,EAAE,CAAC,IAAI,CAAC;QACjB,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,MAAM,EAAE;KACrE,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAgC,EAChC,OAA8B,EAC9B,MAAe;IAKf,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,qBAAqB,CACrC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CACtC,CAAC;IACF,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5C,GAAG,KAAK,CAAC,KAAK;QACd,SAAS,EAAE,qBAAqB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KACxE,CAAC,CAAC,CAAC;IACJ,OAAO;QACL,YAAY;QACZ,OAAO,EAAE;YACP,MAAM;YACN,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,YAAY,CAAC,MAAM;YAChC,SAAS;SACV;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,IAAY,EACZ,MAAc,EACd,OAAgC;IAEhC,MAAM,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IAC1D,MAAM,QAAQ,GACZ,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC;IAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IACvE,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EACzB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACxD,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAClC,MAAM,CACP,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAY,EAAE,IAAY;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,IAAY;IAEZ,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/types/runtime.d.ts
CHANGED
|
@@ -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;
|
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":"
|
|
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));
|