ace-swarm 2.1.2 → 2.3.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 (121) hide show
  1. package/CHANGELOG.md +52 -1
  2. package/README.md +86 -40
  3. package/assets/.agents/ACE/AGENT_REGISTRY.md +7 -1
  4. package/assets/.agents/ACE/agent-eval/instructions.md +41 -1
  5. package/assets/.agents/ACE/agent-memory/instructions.md +35 -1
  6. package/assets/.agents/ACE/agent-observability/instructions.md +35 -1
  7. package/assets/.agents/ACE/agent-release/instructions.md +34 -1
  8. package/assets/.agents/ACE/agent-security/instructions.md +35 -1
  9. package/assets/.agents/ACE/agent-skeptic/instructions.md +49 -0
  10. package/assets/.agents/ACE/orchestrator/AGENTS.md +11 -0
  11. package/assets/.github/hooks/ace-copilot.json +16 -16
  12. package/assets/agent-state/ACE_WORKFLOW.md +65 -0
  13. package/assets/agent-state/INTERFACE_REGISTRY.md +1 -0
  14. package/assets/agent-state/MODULES/schemas/ACE_RUNTIME_PROFILE.schema.json +79 -0
  15. package/assets/agent-state/MODULES/schemas/VERICIFY_PROCESS_POST_LOG.schema.json +1 -0
  16. package/assets/scripts/ace-hook-dispatch.mjs +447 -0
  17. package/assets/scripts/copilot-hook-dispatch.mjs +1 -265
  18. package/assets/scripts/render-mcp-configs.sh +328 -1
  19. package/assets/tasks/README.md +26 -0
  20. package/dist/ace-autonomy.d.ts +137 -0
  21. package/dist/ace-autonomy.d.ts.map +1 -0
  22. package/dist/ace-autonomy.js +472 -0
  23. package/dist/ace-autonomy.js.map +1 -0
  24. package/dist/ace-context.d.ts +29 -0
  25. package/dist/ace-context.d.ts.map +1 -0
  26. package/dist/ace-context.js +240 -0
  27. package/dist/ace-context.js.map +1 -0
  28. package/dist/ace-internal-tools.d.ts +8 -0
  29. package/dist/ace-internal-tools.d.ts.map +1 -0
  30. package/dist/ace-internal-tools.js +76 -0
  31. package/dist/ace-internal-tools.js.map +1 -0
  32. package/dist/ace-server-instructions.d.ts +12 -0
  33. package/dist/ace-server-instructions.d.ts.map +1 -0
  34. package/dist/ace-server-instructions.js +299 -0
  35. package/dist/ace-server-instructions.js.map +1 -0
  36. package/dist/agent-runtime/role-adapters.d.ts.map +1 -1
  37. package/dist/agent-runtime/role-adapters.js +47 -6
  38. package/dist/agent-runtime/role-adapters.js.map +1 -1
  39. package/dist/helpers.d.ts.map +1 -1
  40. package/dist/helpers.js +90 -0
  41. package/dist/helpers.js.map +1 -1
  42. package/dist/internal-tool-runtime.d.ts +21 -0
  43. package/dist/internal-tool-runtime.d.ts.map +1 -0
  44. package/dist/internal-tool-runtime.js +136 -0
  45. package/dist/internal-tool-runtime.js.map +1 -0
  46. package/dist/local-model-runtime.d.ts +36 -0
  47. package/dist/local-model-runtime.d.ts.map +1 -0
  48. package/dist/local-model-runtime.js +161 -0
  49. package/dist/local-model-runtime.js.map +1 -0
  50. package/dist/model-bridge.d.ts +54 -0
  51. package/dist/model-bridge.d.ts.map +1 -0
  52. package/dist/model-bridge.js +587 -0
  53. package/dist/model-bridge.js.map +1 -0
  54. package/dist/orchestrator-supervisor.d.ts +100 -0
  55. package/dist/orchestrator-supervisor.d.ts.map +1 -0
  56. package/dist/orchestrator-supervisor.js +399 -0
  57. package/dist/orchestrator-supervisor.js.map +1 -0
  58. package/dist/prompts.d.ts.map +1 -1
  59. package/dist/prompts.js +101 -0
  60. package/dist/prompts.js.map +1 -1
  61. package/dist/public-surface.d.ts.map +1 -1
  62. package/dist/public-surface.js +6 -0
  63. package/dist/public-surface.js.map +1 -1
  64. package/dist/resources.d.ts.map +1 -1
  65. package/dist/resources.js +29 -0
  66. package/dist/resources.js.map +1 -1
  67. package/dist/runtime-executor.d.ts.map +1 -1
  68. package/dist/runtime-executor.js +121 -0
  69. package/dist/runtime-executor.js.map +1 -1
  70. package/dist/runtime-profile.d.ts +18 -0
  71. package/dist/runtime-profile.d.ts.map +1 -1
  72. package/dist/runtime-profile.js +39 -3
  73. package/dist/runtime-profile.js.map +1 -1
  74. package/dist/schemas.js +1 -1
  75. package/dist/schemas.js.map +1 -1
  76. package/dist/server.d.ts +5 -1
  77. package/dist/server.d.ts.map +1 -1
  78. package/dist/server.js +9 -1
  79. package/dist/server.js.map +1 -1
  80. package/dist/shared.d.ts +3 -3
  81. package/dist/shared.d.ts.map +1 -1
  82. package/dist/shared.js +1 -0
  83. package/dist/shared.js.map +1 -1
  84. package/dist/tools-agent.d.ts +1 -0
  85. package/dist/tools-agent.d.ts.map +1 -1
  86. package/dist/tools-agent.js +456 -1
  87. package/dist/tools-agent.js.map +1 -1
  88. package/dist/tools-framework.d.ts.map +1 -1
  89. package/dist/tools-framework.js +366 -128
  90. package/dist/tools-framework.js.map +1 -1
  91. package/dist/tools-memory.d.ts.map +1 -1
  92. package/dist/tools-memory.js +80 -0
  93. package/dist/tools-memory.js.map +1 -1
  94. package/dist/tui/agent-runner.d.ts +6 -0
  95. package/dist/tui/agent-runner.d.ts.map +1 -1
  96. package/dist/tui/agent-runner.js +15 -1
  97. package/dist/tui/agent-runner.js.map +1 -1
  98. package/dist/tui/agent-worker.d.ts +3 -1
  99. package/dist/tui/agent-worker.d.ts.map +1 -1
  100. package/dist/tui/agent-worker.js +117 -9
  101. package/dist/tui/agent-worker.js.map +1 -1
  102. package/dist/tui/chat.d.ts +19 -0
  103. package/dist/tui/chat.d.ts.map +1 -1
  104. package/dist/tui/chat.js +108 -0
  105. package/dist/tui/chat.js.map +1 -1
  106. package/dist/tui/index.d.ts +1 -0
  107. package/dist/tui/index.d.ts.map +1 -1
  108. package/dist/tui/index.js +3 -0
  109. package/dist/tui/index.js.map +1 -1
  110. package/dist/vericify-bridge.d.ts +5 -1
  111. package/dist/vericify-bridge.d.ts.map +1 -1
  112. package/dist/vericify-bridge.js +10 -0
  113. package/dist/vericify-bridge.js.map +1 -1
  114. package/dist/vericify-context.d.ts +10 -0
  115. package/dist/vericify-context.d.ts.map +1 -0
  116. package/dist/vericify-context.js +72 -0
  117. package/dist/vericify-context.js.map +1 -0
  118. package/dist/workspace-manager.d.ts.map +1 -1
  119. package/dist/workspace-manager.js +13 -2
  120. package/dist/workspace-manager.js.map +1 -1
  121. package/package.json +2 -1
@@ -0,0 +1,100 @@
1
+ import type { BridgeResult } from "./model-bridge.js";
2
+ export type TaskStepStatus = "planned" | "running" | "done" | "failed" | "skipped" | "blocked";
3
+ export type TaskPlanStatus = "planning" | "executing" | "reviewing" | "blocked" | "done" | "failed";
4
+ export interface TaskStep {
5
+ step_id: string;
6
+ role: string;
7
+ task: string;
8
+ depends_on?: string[];
9
+ parallel_group?: string;
10
+ status: TaskStepStatus;
11
+ result_summary?: string;
12
+ evidence_refs?: string[];
13
+ tool_scope?: string[];
14
+ job_id?: string;
15
+ handoff_id?: string;
16
+ blocked_reason?: string;
17
+ }
18
+ export interface TaskPlan {
19
+ plan_id: string;
20
+ task: string;
21
+ steps: TaskStep[];
22
+ status: TaskPlanStatus;
23
+ execution_mode: "sequential" | "scheduled";
24
+ vcx_cursor?: string;
25
+ }
26
+ export interface TaskPlanAmendment {
27
+ steps_to_add?: Array<Omit<TaskStep, "step_id" | "status">>;
28
+ add_after_step_id?: string;
29
+ append_steps?: Array<Omit<TaskStep, "step_id" | "status">>;
30
+ prepend_steps?: Array<Omit<TaskStep, "step_id" | "status">>;
31
+ remove_step_ids?: string[];
32
+ update_steps?: Array<{
33
+ step_id: string;
34
+ patch: Partial<Omit<TaskStep, "step_id">>;
35
+ }>;
36
+ reorder_step_ids?: string[];
37
+ execution_mode?: TaskPlan["execution_mode"];
38
+ vcx_cursor?: string;
39
+ }
40
+ export interface SupervisorHooks {
41
+ spawnStep: (step: TaskStep, plan: TaskPlan) => Promise<BridgeResult>;
42
+ createHandoff?: (input: {
43
+ step: TaskStep;
44
+ plan: TaskPlan;
45
+ }) => Promise<{
46
+ handoff_id: string;
47
+ }>;
48
+ ackHandoff?: (handoffId: string, status: "accepted" | "blocked" | "completed", note?: string) => Promise<void>;
49
+ getVericifyContext?: (plan: TaskPlan) => Promise<unknown>;
50
+ getVericifyDelta?: (since: string, context: {
51
+ plan: TaskPlan;
52
+ step: TaskStep;
53
+ result: BridgeResult;
54
+ }) => Promise<unknown>;
55
+ amendPlan?: (input: {
56
+ plan: TaskPlan;
57
+ step: TaskStep;
58
+ result: BridgeResult;
59
+ vericify_delta?: unknown;
60
+ }) => Promise<TaskPlan | TaskPlanAmendment | undefined> | TaskPlan | TaskPlanAmendment | undefined;
61
+ openCircuitBreaker?: (reason: string, context: {
62
+ plan: TaskPlan;
63
+ step: TaskStep;
64
+ result: BridgeResult;
65
+ }) => Promise<void>;
66
+ closeCircuitBreaker?: (reason: string, context: {
67
+ plan: TaskPlan;
68
+ }) => Promise<void>;
69
+ executeGates?: (plan: TaskPlan) => Promise<unknown>;
70
+ contextSnapshot?: (plan: TaskPlan) => Promise<void>;
71
+ emitStatusEvent?: (input: {
72
+ status: string;
73
+ summary: string;
74
+ step_id?: string;
75
+ }) => Promise<void>;
76
+ }
77
+ export interface SupervisorRunResult {
78
+ plan: TaskPlan;
79
+ handoff_ids: string[];
80
+ job_ids: string[];
81
+ circuit_opened: boolean;
82
+ final_gate?: unknown;
83
+ }
84
+ export declare function deriveTaskPlanStatus(plan: TaskPlan): TaskPlanStatus;
85
+ export declare function createTaskPlan(input: {
86
+ task: string;
87
+ steps: Array<Omit<TaskStep, "step_id" | "status">>;
88
+ execution_mode?: TaskPlan["execution_mode"];
89
+ vcx_cursor?: string;
90
+ }): TaskPlan;
91
+ export declare function getReadyTaskSteps(plan: TaskPlan): TaskStep[];
92
+ export declare function markTaskStepStatus(plan: TaskPlan, stepId: string, status: TaskStepStatus, patch?: Partial<Omit<TaskStep, "step_id" | "status">>): TaskPlan;
93
+ export declare function applyBridgeResultToStep(plan: TaskPlan, stepId: string, result: BridgeResult): TaskPlan;
94
+ export declare function amendTaskPlan(plan: TaskPlan, amendment: TaskPlanAmendment): TaskPlan;
95
+ export declare function promoteParallelGroupToScheduler(plan: TaskPlan, parallelGroup: string, owner?: string): Promise<{
96
+ plan: TaskPlan;
97
+ job_ids: string[];
98
+ }>;
99
+ export declare function superviseTaskPlan(inputPlan: TaskPlan, hooks: SupervisorHooks): Promise<SupervisorRunResult>;
100
+ //# sourceMappingURL=orchestrator-supervisor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator-supervisor.d.ts","sourceRoot":"","sources":["../src/orchestrator-supervisor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,399 @@
1
+ import { existsSync } from "node:fs";
2
+ import { dirname } from "node:path";
3
+ import { randomUUID } from "node:crypto";
4
+ import { dispatchJobs, enqueueJob, getJobQueuePath } from "./job-scheduler.js";
5
+ import { appendVericifyProcessPostSafe, deriveWorkspaceVericifyRunRef, } from "./vericify-bridge.js";
6
+ function parseNumericStepId(stepId) {
7
+ const numeric = Number(stepId.replace(/^step-/, ""));
8
+ return Number.isFinite(numeric) && numeric > 0 ? numeric : 0;
9
+ }
10
+ function cloneSteps(steps) {
11
+ return steps.map((step) => ({ ...step }));
12
+ }
13
+ function nextStepId(steps) {
14
+ const max = steps.reduce((best, step) => Math.max(best, parseNumericStepId(step.step_id)), 0);
15
+ return `step-${max + 1}`;
16
+ }
17
+ function appendNewSteps(steps, additions) {
18
+ const next = [...steps];
19
+ for (const addition of additions) {
20
+ next.push({
21
+ ...addition,
22
+ step_id: nextStepId(next),
23
+ status: "planned",
24
+ });
25
+ }
26
+ return next;
27
+ }
28
+ function deriveStepEvidence(result) {
29
+ return Array.from(new Set(result.tool_calls.map((tool) => tool.tool)));
30
+ }
31
+ function isTaskPlan(value) {
32
+ return Boolean(value) && typeof value === "object" && Array.isArray(value.steps);
33
+ }
34
+ function extractVcxCursor(payload) {
35
+ if (!payload || typeof payload !== "object")
36
+ return undefined;
37
+ const candidate = payload;
38
+ const direct = candidate.vcx_cursor ?? candidate.cursor ?? candidate.next_cursor;
39
+ if (typeof direct === "string" && direct.trim()) {
40
+ return direct.trim();
41
+ }
42
+ const liveSignal = candidate.live_signal;
43
+ if (liveSignal && typeof liveSignal === "object") {
44
+ const nested = liveSignal.vcx_cursor;
45
+ if (typeof nested === "string" && nested.trim()) {
46
+ return nested.trim();
47
+ }
48
+ }
49
+ return undefined;
50
+ }
51
+ export function deriveTaskPlanStatus(plan) {
52
+ if (plan.steps.some((step) => step.status === "failed")) {
53
+ return "failed";
54
+ }
55
+ if (plan.steps.some((step) => step.status === "blocked")) {
56
+ return "blocked";
57
+ }
58
+ if (plan.steps.length > 0 && plan.steps.every((step) => step.status === "done" || step.status === "skipped")) {
59
+ return "done";
60
+ }
61
+ if (plan.steps.some((step) => step.status === "running")) {
62
+ return "executing";
63
+ }
64
+ if (plan.steps.every((step) => step.status === "planned")) {
65
+ return "planning";
66
+ }
67
+ if (plan.steps.some((step) => step.status === "done")) {
68
+ return "reviewing";
69
+ }
70
+ return plan.status;
71
+ }
72
+ function withDerivedStatus(plan) {
73
+ return {
74
+ ...plan,
75
+ steps: cloneSteps(plan.steps),
76
+ status: deriveTaskPlanStatus(plan),
77
+ };
78
+ }
79
+ export function createTaskPlan(input) {
80
+ return withDerivedStatus({
81
+ plan_id: `plan-${randomUUID()}`,
82
+ task: input.task,
83
+ steps: input.steps.map((step, index) => ({
84
+ ...step,
85
+ step_id: `step-${index + 1}`,
86
+ status: "planned",
87
+ })),
88
+ status: "planning",
89
+ execution_mode: input.execution_mode ?? "sequential",
90
+ vcx_cursor: input.vcx_cursor,
91
+ });
92
+ }
93
+ export function getReadyTaskSteps(plan) {
94
+ const completed = new Set(plan.steps
95
+ .filter((step) => step.status === "done" || step.status === "skipped")
96
+ .map((step) => step.step_id));
97
+ return plan.steps.filter((step) => {
98
+ if (step.status !== "planned")
99
+ return false;
100
+ const dependencies = step.depends_on ?? [];
101
+ return dependencies.every((dependency) => completed.has(dependency));
102
+ });
103
+ }
104
+ export function markTaskStepStatus(plan, stepId, status, patch = {}) {
105
+ return withDerivedStatus({
106
+ ...plan,
107
+ steps: plan.steps.map((step) => step.step_id === stepId
108
+ ? {
109
+ ...step,
110
+ ...patch,
111
+ status,
112
+ }
113
+ : step),
114
+ });
115
+ }
116
+ export function applyBridgeResultToStep(plan, stepId, result) {
117
+ const nextStatus = result.status === "completed"
118
+ ? "done"
119
+ : result.status === "needs_input" || result.status === "max_turns"
120
+ ? "blocked"
121
+ : "failed";
122
+ return withDerivedStatus({
123
+ ...plan,
124
+ steps: plan.steps.map((step) => step.step_id === stepId
125
+ ? {
126
+ ...step,
127
+ status: nextStatus,
128
+ result_summary: result.summary,
129
+ evidence_refs: deriveStepEvidence(result),
130
+ blocked_reason: nextStatus === "blocked" ? result.summary : undefined,
131
+ }
132
+ : step),
133
+ });
134
+ }
135
+ export function amendTaskPlan(plan, amendment) {
136
+ let steps = cloneSteps(plan.steps);
137
+ if (Array.isArray(amendment.remove_step_ids) && amendment.remove_step_ids.length > 0) {
138
+ const removeSet = new Set(amendment.remove_step_ids);
139
+ steps = steps.filter((step) => !removeSet.has(step.step_id));
140
+ }
141
+ if (Array.isArray(amendment.update_steps)) {
142
+ for (const update of amendment.update_steps) {
143
+ steps = steps.map((step) => step.step_id === update.step_id
144
+ ? {
145
+ ...step,
146
+ ...update.patch,
147
+ }
148
+ : step);
149
+ }
150
+ }
151
+ if (Array.isArray(amendment.prepend_steps) && amendment.prepend_steps.length > 0) {
152
+ const prepended = [];
153
+ for (const addition of amendment.prepend_steps) {
154
+ prepended.push({
155
+ ...addition,
156
+ step_id: nextStepId([...prepended, ...steps]),
157
+ status: "planned",
158
+ });
159
+ }
160
+ steps = [...prepended, ...steps];
161
+ }
162
+ if (Array.isArray(amendment.steps_to_add) && amendment.steps_to_add.length > 0) {
163
+ if (amendment.add_after_step_id) {
164
+ const insertionIndex = steps.findIndex((step) => step.step_id === amendment.add_after_step_id);
165
+ const injected = [];
166
+ for (const addition of amendment.steps_to_add) {
167
+ injected.push({
168
+ ...addition,
169
+ step_id: nextStepId([...steps, ...injected]),
170
+ status: "planned",
171
+ });
172
+ }
173
+ if (insertionIndex >= 0) {
174
+ steps = [
175
+ ...steps.slice(0, insertionIndex + 1),
176
+ ...injected,
177
+ ...steps.slice(insertionIndex + 1),
178
+ ];
179
+ }
180
+ else {
181
+ steps = [...steps, ...injected];
182
+ }
183
+ }
184
+ else {
185
+ steps = appendNewSteps(steps, amendment.steps_to_add);
186
+ }
187
+ }
188
+ if (Array.isArray(amendment.append_steps) && amendment.append_steps.length > 0) {
189
+ steps = appendNewSteps(steps, amendment.append_steps);
190
+ }
191
+ if (Array.isArray(amendment.reorder_step_ids) && amendment.reorder_step_ids.length > 0) {
192
+ const order = new Map(amendment.reorder_step_ids.map((stepId, index) => [stepId, index]));
193
+ steps = steps
194
+ .slice()
195
+ .sort((left, right) => {
196
+ const leftRank = order.get(left.step_id);
197
+ const rightRank = order.get(right.step_id);
198
+ if (leftRank === undefined && rightRank === undefined) {
199
+ return parseNumericStepId(left.step_id) - parseNumericStepId(right.step_id);
200
+ }
201
+ if (leftRank === undefined)
202
+ return 1;
203
+ if (rightRank === undefined)
204
+ return -1;
205
+ return leftRank - rightRank;
206
+ });
207
+ }
208
+ return withDerivedStatus({
209
+ ...plan,
210
+ steps,
211
+ execution_mode: amendment.execution_mode ?? plan.execution_mode,
212
+ vcx_cursor: amendment.vcx_cursor ?? plan.vcx_cursor,
213
+ });
214
+ }
215
+ export async function promoteParallelGroupToScheduler(plan, parallelGroup, owner = "capability-ops") {
216
+ const readySteps = getReadyTaskSteps(plan).filter((step) => step.parallel_group === parallelGroup);
217
+ if (readySteps.length === 0) {
218
+ return { plan, job_ids: [] };
219
+ }
220
+ if (!existsSync(dirname(getJobQueuePath()))) {
221
+ console.warn(`[orchestrator-supervisor] Scheduler state is not ready under ${dirname(getJobQueuePath())}; skipping promotion for parallel group '${parallelGroup}'.`);
222
+ return { plan, job_ids: [] };
223
+ }
224
+ const jobIds = [];
225
+ const nextSteps = cloneSteps(plan.steps);
226
+ for (const step of readySteps) {
227
+ const enqueued = await enqueueJob({
228
+ kind: step.role,
229
+ payload: {
230
+ task: step.task,
231
+ tool_scope: step.tool_scope ?? [],
232
+ plan_id: plan.plan_id,
233
+ step_id: step.step_id,
234
+ },
235
+ priority: "P1",
236
+ dependencies: step.depends_on?.map((dependency) => ({
237
+ kind: "handoff",
238
+ ref: dependency,
239
+ })) ?? [],
240
+ });
241
+ const jobId = enqueued.ack?.job_id;
242
+ if (!jobId)
243
+ continue;
244
+ jobIds.push(jobId);
245
+ const stepIndex = nextSteps.findIndex((candidate) => candidate.step_id === step.step_id);
246
+ if (stepIndex >= 0) {
247
+ nextSteps[stepIndex] = {
248
+ ...nextSteps[stepIndex],
249
+ status: "running",
250
+ job_id: jobId,
251
+ };
252
+ }
253
+ }
254
+ if (jobIds.length > 0) {
255
+ const refs = deriveWorkspaceVericifyRunRef({
256
+ session_id: plan.plan_id,
257
+ role: "orchestrator",
258
+ });
259
+ await dispatchJobs({ owner });
260
+ await appendVericifyProcessPostSafe({
261
+ run_id: refs.run_id,
262
+ branch_id: refs.branch_id,
263
+ lane_id: refs.lane_id,
264
+ agent_id: "agent-orchestrator",
265
+ kind: "progress",
266
+ summary: `Promoted parallel group '${parallelGroup}' to scheduler: ${jobIds.join(", ")}`,
267
+ tool_refs: ["enqueue_job", "dispatch_jobs"],
268
+ evidence_refs: jobIds,
269
+ });
270
+ }
271
+ return {
272
+ plan: withDerivedStatus({
273
+ ...plan,
274
+ execution_mode: "scheduled",
275
+ steps: nextSteps,
276
+ status: "executing",
277
+ }),
278
+ job_ids: jobIds,
279
+ };
280
+ }
281
+ export async function superviseTaskPlan(inputPlan, hooks) {
282
+ let plan = withDerivedStatus({
283
+ ...inputPlan,
284
+ steps: cloneSteps(inputPlan.steps),
285
+ });
286
+ const handoffIds = [];
287
+ const jobIds = [];
288
+ if (!plan.vcx_cursor && hooks.getVericifyContext) {
289
+ const contextPacket = await hooks.getVericifyContext(plan);
290
+ const vcxCursor = extractVcxCursor(contextPacket);
291
+ if (vcxCursor) {
292
+ plan = {
293
+ ...plan,
294
+ vcx_cursor: vcxCursor,
295
+ };
296
+ }
297
+ }
298
+ const maxIterations = Math.max(1, plan.steps.length * 4);
299
+ for (let iteration = 0; iteration < maxIterations; iteration += 1) {
300
+ const readySteps = getReadyTaskSteps(plan);
301
+ if (readySteps.length === 0) {
302
+ break;
303
+ }
304
+ if (plan.execution_mode === "scheduled") {
305
+ const readyGroup = readySteps.find((step) => step.parallel_group)?.parallel_group;
306
+ if (readyGroup) {
307
+ const promoted = await promoteParallelGroupToScheduler(plan, readyGroup);
308
+ jobIds.push(...promoted.job_ids);
309
+ plan = promoted.plan;
310
+ break;
311
+ }
312
+ }
313
+ const currentStep = readySteps[0];
314
+ plan = markTaskStepStatus(plan, currentStep.step_id, "running");
315
+ await hooks.emitStatusEvent?.({
316
+ status: "in_progress",
317
+ summary: `Running ${currentStep.step_id}: ${currentStep.task}`,
318
+ step_id: currentStep.step_id,
319
+ });
320
+ let handoffId;
321
+ if (hooks.createHandoff) {
322
+ const created = await hooks.createHandoff({ step: currentStep, plan });
323
+ handoffId = created.handoff_id;
324
+ handoffIds.push(handoffId);
325
+ plan = amendTaskPlan(plan, {
326
+ update_steps: [{ step_id: currentStep.step_id, patch: { handoff_id: handoffId } }],
327
+ });
328
+ await hooks.ackHandoff?.(handoffId, "accepted", `Started ${currentStep.step_id}`);
329
+ }
330
+ const result = await hooks.spawnStep(currentStep, plan);
331
+ plan = applyBridgeResultToStep(plan, currentStep.step_id, result);
332
+ if (handoffId) {
333
+ await hooks.ackHandoff?.(handoffId, result.status === "completed" ? "completed" : "blocked", result.summary);
334
+ }
335
+ let vericifyDelta;
336
+ if (plan.vcx_cursor && hooks.getVericifyDelta) {
337
+ vericifyDelta = await hooks.getVericifyDelta(plan.vcx_cursor, {
338
+ plan,
339
+ step: currentStep,
340
+ result,
341
+ });
342
+ const nextCursor = extractVcxCursor(vericifyDelta);
343
+ if (nextCursor) {
344
+ plan = {
345
+ ...plan,
346
+ vcx_cursor: nextCursor,
347
+ };
348
+ }
349
+ }
350
+ const amended = await hooks.amendPlan?.({
351
+ plan,
352
+ step: plan.steps.find((step) => step.step_id === currentStep.step_id) ?? currentStep,
353
+ result,
354
+ vericify_delta: vericifyDelta,
355
+ });
356
+ if (amended) {
357
+ plan = isTaskPlan(amended) ? withDerivedStatus(amended) : amendTaskPlan(plan, amended);
358
+ }
359
+ if (result.status === "failed" || result.status === "needs_input" || result.status === "max_turns") {
360
+ await hooks.openCircuitBreaker?.(result.summary, {
361
+ plan,
362
+ step: plan.steps.find((step) => step.step_id === currentStep.step_id) ?? currentStep,
363
+ result,
364
+ });
365
+ return {
366
+ plan: withDerivedStatus(plan),
367
+ handoff_ids: handoffIds,
368
+ job_ids: jobIds,
369
+ circuit_opened: true,
370
+ };
371
+ }
372
+ }
373
+ if (plan.steps.length > 0 && plan.steps.every((step) => step.status === "done" || step.status === "skipped")) {
374
+ const finalGate = await hooks.executeGates?.(plan);
375
+ await hooks.contextSnapshot?.(plan);
376
+ await hooks.emitStatusEvent?.({
377
+ status: "done",
378
+ summary: `Task plan ${plan.plan_id} completed`,
379
+ });
380
+ await hooks.closeCircuitBreaker?.("Task plan completed.", { plan });
381
+ return {
382
+ plan: {
383
+ ...plan,
384
+ status: "done",
385
+ },
386
+ handoff_ids: handoffIds,
387
+ job_ids: jobIds,
388
+ circuit_opened: false,
389
+ final_gate: finalGate,
390
+ };
391
+ }
392
+ return {
393
+ plan: withDerivedStatus(plan),
394
+ handoff_ids: handoffIds,
395
+ job_ids: jobIds,
396
+ circuit_opened: false,
397
+ };
398
+ }
399
+ //# sourceMappingURL=orchestrator-supervisor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator-supervisor.js","sourceRoot":"","sources":["../src/orchestrator-supervisor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWpE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8nBvD"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6GpE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkpBvD"}
package/dist/prompts.js CHANGED
@@ -5,6 +5,87 @@
5
5
  import { z } from "zod";
6
6
  import { readKernelArtifact, listAvailableSkills, readAgentInstructions, readSkillInstructions, readTaskArtifact, } from "./helpers.js";
7
7
  import { readRuntimeProfileState, renderRuntimePrompt } from "./runtime-profile.js";
8
+ import { buildAceContinuityPacket, buildAceRecallContext, formatAceContinuityPacketMarkdown, formatAceRecallMarkdown, normalizeAutonomyPolicy, normalizeContinuityPolicy, } from "./ace-autonomy.js";
9
+ function formatRecallSlices(task) {
10
+ const recall = buildAceRecallContext();
11
+ const slices = recall.state_slices
12
+ .filter((entry) => entry.present)
13
+ .slice(0, 5)
14
+ .flatMap((entry) => [
15
+ `### ${entry.path}`,
16
+ "```text",
17
+ entry.excerpt,
18
+ "```",
19
+ ]);
20
+ return [
21
+ "## ACE Preflight",
22
+ "ACE-Orchestrator owns preflight before any substantial dispatch.",
23
+ formatAceRecallMarkdown(recall),
24
+ task ? `- Requested task: ${task}` : "",
25
+ "",
26
+ "## ACE Recall",
27
+ ...(slices.length > 0 ? slices : ["(no current ACE state slices found)"]),
28
+ ...(recall.snapshot
29
+ ? [
30
+ "",
31
+ "## Latest Context Snapshot",
32
+ `Name: ${recall.snapshot.name}`,
33
+ `Timestamp: ${recall.snapshot.timestamp}`,
34
+ `Summary: ${recall.snapshot.summary}`,
35
+ "```json",
36
+ recall.snapshot.content,
37
+ "```",
38
+ ]
39
+ : []),
40
+ ]
41
+ .filter(Boolean)
42
+ .join("\n");
43
+ }
44
+ function resolveSnapshotName(context) {
45
+ const candidates = [context.context_snapshot_name, context.snapshot_name];
46
+ for (const candidate of candidates) {
47
+ if (typeof candidate === "string" && candidate.trim().length > 0) {
48
+ return candidate.trim();
49
+ }
50
+ }
51
+ return undefined;
52
+ }
53
+ function renderRuntimeRecallSections(input) {
54
+ const recall = buildAceRecallContext({
55
+ state_sources: input.stateSources,
56
+ snapshot_name: input.snapshotName,
57
+ });
58
+ const slices = input.includeSlices
59
+ ? recall.state_slices
60
+ .filter((entry) => entry.present)
61
+ .slice(0, 5)
62
+ .flatMap((entry) => [
63
+ `### ${entry.path}`,
64
+ "```text",
65
+ entry.excerpt,
66
+ "```",
67
+ ])
68
+ : [];
69
+ return {
70
+ recallMd: [
71
+ formatAceRecallMarkdown(recall),
72
+ input.task ? `- Requested task: ${input.task}` : "",
73
+ ...(slices.length > 0 ? ["", ...slices] : []),
74
+ ]
75
+ .filter(Boolean)
76
+ .join("\n"),
77
+ snapshotMd: recall.snapshot
78
+ ? [
79
+ `Name: ${recall.snapshot.name}`,
80
+ `Timestamp: ${recall.snapshot.timestamp}`,
81
+ `Summary: ${recall.snapshot.summary}`,
82
+ "```json",
83
+ recall.snapshot.content,
84
+ "```",
85
+ ].join("\n")
86
+ : "",
87
+ };
88
+ }
8
89
  export function registerPrompts(server) {
9
90
  // ── Token-budget mode ─────────────────────────────────────────────
10
91
  const BRIEF_SCHEMA = z
@@ -35,8 +116,26 @@ export function registerPrompts(server) {
35
116
  }
36
117
  }
37
118
  const active = readRuntimeProfileState();
119
+ const autonomy = normalizeAutonomyPolicy(active.profile.autonomy);
120
+ const continuity = normalizeContinuityPolicy(active.profile.continuity);
121
+ const snapshotName = resolveSnapshotName(extraContext);
122
+ const recallSections = renderRuntimeRecallSections({
123
+ task,
124
+ snapshotName,
125
+ stateSources: autonomy.state_sources,
126
+ includeSlices: !continuity.enabled,
127
+ });
128
+ const continuityPacket = buildAceContinuityPacket({
129
+ snapshot_name: snapshotName,
130
+ policy: continuity,
131
+ });
38
132
  const rendered = renderRuntimePrompt({
39
133
  task: task ?? "No task provided.",
134
+ autonomy,
135
+ continuity,
136
+ ace_state_recall_md: recallSections.recallMd,
137
+ ace_context_snapshot_md: recallSections.snapshotMd,
138
+ ace_continuity_packet_md: formatAceContinuityPacketMarkdown(continuityPacket),
40
139
  ...extraContext,
41
140
  });
42
141
  return {
@@ -73,6 +172,8 @@ export function registerPrompts(server) {
73
172
  "",
74
173
  "## Orchestrator Instructions",
75
174
  readAgentInstructions("orchestrator"),
175
+ "",
176
+ ...(brief ? ["## ACE Preflight", formatAceRecallMarkdown(buildAceRecallContext())] : [formatRecallSlices(task)]),
76
177
  ...(brief
77
178
  ? []
78
179
  : [