@jterrats/open-orchestra 1.0.11 → 1.0.13

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 (34) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/command-manifest.js +1 -1
  3. package/dist/command-manifest.js.map +1 -1
  4. package/dist/runtime-claude-native-bridge.d.ts +2 -0
  5. package/dist/runtime-claude-native-bridge.js +59 -0
  6. package/dist/runtime-claude-native-bridge.js.map +1 -0
  7. package/dist/runtime-execution.js +3 -0
  8. package/dist/runtime-execution.js.map +1 -1
  9. package/dist/runtime-parent-action-capacity.d.ts +10 -0
  10. package/dist/runtime-parent-action-capacity.js +110 -0
  11. package/dist/runtime-parent-action-capacity.js.map +1 -0
  12. package/dist/runtime-parent-action-dispatch.d.ts +1 -7
  13. package/dist/runtime-parent-action-dispatch.js +84 -90
  14. package/dist/runtime-parent-action-dispatch.js.map +1 -1
  15. package/dist/runtime-parent-action-eligibility.d.ts +10 -1
  16. package/dist/runtime-parent-action-eligibility.js +15 -2
  17. package/dist/runtime-parent-action-eligibility.js.map +1 -1
  18. package/dist/runtime-parent-action-fallback.d.ts +11 -0
  19. package/dist/runtime-parent-action-fallback.js +12 -0
  20. package/dist/runtime-parent-action-fallback.js.map +1 -0
  21. package/dist/task-graph-commands.js +18 -14
  22. package/dist/task-graph-commands.js.map +1 -1
  23. package/dist/types/runtime.d.ts +8 -0
  24. package/dist/workflow-run-commands.js +17 -9
  25. package/dist/workflow-run-commands.js.map +1 -1
  26. package/dist/workflow-task-service.js +27 -1
  27. package/dist/workflow-task-service.js.map +1 -1
  28. package/docs/audio-video-transcription-skill.md +441 -45
  29. package/docs/autonomous-workflow.md +38 -0
  30. package/docs/backlog/web-code-editor-lsp-spike.md +289 -0
  31. package/docs/context-vault.md +80 -0
  32. package/docs/runtime-adapters.md +11 -0
  33. package/docs/site-manifest.json +1 -0
  34. package/package.json +1 -1
@@ -1,9 +1,12 @@
1
1
  import { getRuntimeExecutionAdapter } from "./runtime-adapters.js";
2
+ import { resolveClaudeNativeBridge } from "./runtime-claude-native-bridge.js";
2
3
  import { normalizeRuntimeDelegationGuardrails, summarizeRuntimeDelegationOperations, } from "./runtime-guardrails.js";
4
+ import { runtimeParentActionCapacity } from "./runtime-parent-action-capacity.js";
3
5
  import { listPendingRuntimeParentActions } from "./runtime-parent-actions.js";
4
6
  import { evaluateRuntimeParentActionEligibility, runtimeParentActionLegacyRationale, } from "./runtime-parent-action-eligibility.js";
7
+ import { runtimeParentActionFallback } from "./runtime-parent-action-fallback.js";
5
8
  import { recordRuntimeSpawnLifecycle } from "./runtime-spawn-bridge.js";
6
- import { readEvents } from "./workspace.js";
9
+ import { appendEvent, readEvents } from "./workspace.js";
7
10
  import { getWorkflowConfig } from "./workflow-services.js";
8
11
  import { removeUndefined } from "./command-utils.js";
9
12
  export async function dispatchPendingRuntimeParentActions({ root, taskId, runtime, }) {
@@ -11,18 +14,27 @@ export async function dispatchPendingRuntimeParentActions({ root, taskId, runtim
11
14
  events: await readEvents(root),
12
15
  ...(taskId ? { taskId } : {}),
13
16
  });
14
- return Promise.all(actions.map((action) => dispatchRuntimeParentAction(removeUndefined({ root, action, runtime }))));
17
+ const results = [];
18
+ for (const action of actions) {
19
+ results.push(await dispatchRuntimeParentAction(removeUndefined({ root, action, runtime })));
20
+ }
21
+ return results;
15
22
  }
16
23
  export async function dispatchRuntimeParentAction({ root, action, runtime, }) {
17
- const base = runtimeParentActionDispatchBase(action);
18
- const sessions = await runtimeSessions(root, action.taskId);
19
- const session = sessions.find((candidate) => candidate.sessionId === action.sessionId);
24
+ const effectiveAction = await promoteQueuedRuntimeParentAction(root, action);
25
+ const base = runtimeParentActionDispatchBase(effectiveAction);
26
+ const events = await readEvents(root);
27
+ const sessions = await runtimeSessions(root, effectiveAction.taskId, events);
28
+ const session = sessions.find((candidate) => candidate.sessionId === effectiveAction.sessionId);
29
+ const guardrails = await runtimeGuardrailPolicy(root);
30
+ const capacity = runtimeParentActionCapacity(events, effectiveAction, guardrails);
20
31
  const eligibility = evaluateRuntimeParentActionEligibility({
21
- action,
22
- adapter: safeRuntimeAdapter(action.runtime),
32
+ action: effectiveAction,
33
+ adapter: safeRuntimeAdapter(effectiveAction.runtime),
23
34
  ...(runtime ? { runtimeFilter: runtime } : {}),
24
35
  ...(session ? { session } : {}),
25
36
  safetyState: session ? "safe" : "unknown",
37
+ capacity,
26
38
  });
27
39
  if (!eligibility.dispatchable) {
28
40
  return {
@@ -30,11 +42,11 @@ export async function dispatchRuntimeParentAction({ root, action, runtime, }) {
30
42
  status: "skipped",
31
43
  reason: runtimeParentActionDispatchReason(eligibility),
32
44
  eligibility,
33
- fallback: runtimeParentActionFallback(action, eligibility),
45
+ fallback: runtimeParentActionFallback(effectiveAction, eligibility),
34
46
  };
35
47
  }
36
- if (action.action.kind === "claude-agent-request") {
37
- const bridge = resolveClaudeNativeBridge(action);
48
+ if (effectiveAction.action.kind === "claude-agent-request") {
49
+ const bridge = resolveClaudeNativeBridge(effectiveAction);
38
50
  if (bridge.status === "unsupported") {
39
51
  return {
40
52
  ...base,
@@ -42,22 +54,22 @@ export async function dispatchRuntimeParentAction({ root, action, runtime, }) {
42
54
  reason: bridge.reason,
43
55
  eligibility,
44
56
  nativeBridge: bridge,
45
- fallback: runtimeParentActionFallback(action, eligibility, bridge),
57
+ fallback: runtimeParentActionFallback(effectiveAction, eligibility, bridge),
46
58
  };
47
59
  }
48
60
  await recordRuntimeSpawnLifecycle({
49
61
  root,
50
- sessionId: action.sessionId,
62
+ sessionId: effectiveAction.sessionId,
51
63
  status: "spawned",
52
64
  spawnedAgentId: bridge.childId,
53
65
  summary: bridge.summary,
54
66
  });
55
67
  await recordRuntimeSpawnLifecycle({
56
68
  root,
57
- sessionId: action.sessionId,
69
+ sessionId: effectiveAction.sessionId,
58
70
  status: "active",
59
71
  spawnedAgentId: bridge.childId,
60
- summary: `Claude native callback bridge active: ${action.action.kind}`,
72
+ summary: `Claude native callback bridge active: ${effectiveAction.action.kind}`,
61
73
  });
62
74
  return {
63
75
  ...base,
@@ -68,22 +80,60 @@ export async function dispatchRuntimeParentAction({ root, action, runtime, }) {
68
80
  nativeBridge: bridge,
69
81
  };
70
82
  }
71
- const agentId = runtimeParentActionAgentId(action);
83
+ const agentId = runtimeParentActionAgentId(effectiveAction);
72
84
  await recordRuntimeSpawnLifecycle({
73
85
  root,
74
- sessionId: action.sessionId,
86
+ sessionId: effectiveAction.sessionId,
75
87
  status: "spawned",
76
88
  spawnedAgentId: agentId,
77
- summary: `Runtime parent action dispatched: ${action.action.kind}`,
89
+ summary: `Runtime parent action dispatched: ${effectiveAction.action.kind}`,
78
90
  });
79
91
  return {
80
92
  ...base,
81
93
  status: "dispatched",
82
94
  agentId,
83
- reason: `dispatched ${action.action.kind} through active parent runtime`,
95
+ reason: `dispatched ${effectiveAction.action.kind} through active parent runtime`,
84
96
  eligibility,
85
97
  };
86
98
  }
99
+ async function promoteQueuedRuntimeParentAction(root, action) {
100
+ if (action.status !== "queued") {
101
+ return action;
102
+ }
103
+ const events = await readEvents(root);
104
+ const capacity = runtimeParentActionCapacity(events, action, await runtimeGuardrailPolicy(root));
105
+ if (capacity.status === "queued") {
106
+ return action;
107
+ }
108
+ const event = await appendEvent(root, {
109
+ type: "RUNTIME_SPAWN_REQUEST_RENDERED",
110
+ taskId: action.taskId,
111
+ actor: "parent",
112
+ summary: `Runtime spawn request requested: ${action.phase} via ${action.runtime}`,
113
+ artifacts: action.artifacts,
114
+ metadata: {
115
+ sessionId: action.sessionId,
116
+ runtime: action.runtime,
117
+ phase: action.phase,
118
+ role: action.role,
119
+ status: "requested",
120
+ spawnMode: action.action.mode,
121
+ spawnTool: action.action.tool,
122
+ parentRuntimeAction: action.action,
123
+ promptArtifact: action.action.payload.promptArtifact,
124
+ contextManifestArtifact: action.action.payload.contextManifestArtifact,
125
+ expectedResultArtifact: action.action.payload.expectedResultArtifact,
126
+ directProviderApiAllowed: false,
127
+ promotedFromQueued: true,
128
+ },
129
+ });
130
+ return {
131
+ ...action,
132
+ status: "requested",
133
+ updatedAt: event.timestamp,
134
+ actionable: true,
135
+ };
136
+ }
87
137
  function runtimeParentActionDispatchBase(action) {
88
138
  return {
89
139
  sessionId: action.sessionId,
@@ -103,88 +153,32 @@ function deterministicSessionLabel(sessionId) {
103
153
  return sessionId.replace(/[^a-zA-Z0-9._-]+/g, "-");
104
154
  }
105
155
  function runtimeParentActionDispatchReason(eligibility) {
156
+ const runtimeMismatch = eligibility.reasons.find((reason) => reason.code === "runtime-mismatch");
157
+ if (runtimeMismatch) {
158
+ return runtimeMismatch.message;
159
+ }
160
+ const suspended = eligibility.reasons.find((reason) => reason.code === "suspended");
161
+ if (suspended) {
162
+ return suspended.message;
163
+ }
106
164
  const queued = eligibility.reasons.find((reason) => reason.code === "queued");
107
165
  if (queued) {
108
166
  return queued.message;
109
167
  }
110
- const runtimeMismatch = eligibility.reasons.find((reason) => reason.code === "runtime-mismatch");
111
- return (runtimeMismatch?.message ?? runtimeParentActionLegacyRationale(eligibility));
168
+ return runtimeParentActionLegacyRationale(eligibility);
112
169
  }
113
- function runtimeParentActionFallback(action, eligibility, bridge) {
114
- return {
115
- summary: bridge?.reason ?? runtimeParentActionLegacyRationale(eligibility),
116
- guidance: bridge?.guidance ??
117
- "Inspect the prompt artifact, launch the active parent runtime's native subagent tool manually when supported, then record lifecycle with the provided commands. Do not call provider APIs from Orchestra.",
118
- lifecycleCommands: action.action.lifecycleCommands,
119
- promptArtifact: action.action.payload.promptArtifact,
120
- expectedResultArtifact: action.action.payload.expectedResultArtifact,
121
- };
122
- }
123
- function resolveClaudeNativeBridge(action) {
124
- const metadata = {
125
- taskId: action.taskId,
126
- sessionId: action.sessionId,
127
- phase: action.phase,
128
- role: action.role,
129
- runtime: "claude-cli",
130
- actionKind: "claude-agent-request",
131
- tool: "claude-code-agent",
132
- promptArtifact: action.action.payload.promptArtifact,
133
- expectedResultArtifact: action.action.payload.expectedResultArtifact,
134
- directProviderApiAllowed: false,
135
- };
136
- if (!isClaudeParentRuntime()) {
137
- return {
138
- status: "unsupported",
139
- reason: "Claude native callback bridge unavailable: active parent runtime is not Claude",
140
- guidance: claudeNativeBridgeFallbackGuidance(),
141
- metadata,
142
- };
143
- }
144
- if (!hasClaudeNativeCallbackCapability()) {
145
- return {
146
- status: "unsupported",
147
- reason: "Claude native callback bridge unavailable: no verified Agent/Subagent callback capability was provided",
148
- guidance: claudeNativeBridgeFallbackGuidance(),
149
- metadata,
150
- };
151
- }
152
- const childId = process.env.OPEN_ORCHESTRA_CLAUDE_NATIVE_CHILD_ID?.trim() ||
153
- `claude-native-callback:${deterministicSessionLabel(action.sessionId)}`;
154
- return {
155
- status: "native-dispatched",
156
- childId,
157
- metadata,
158
- summary: `Claude native callback bridge dispatched: ${action.action.kind}`,
159
- };
160
- }
161
- function isClaudeParentRuntime() {
162
- const activeRuntime = process.env.OPEN_ORCHESTRA_ACTIVE_RUNTIME?.trim();
163
- return (activeRuntime === "claude" ||
164
- activeRuntime === "claude-cli" ||
165
- process.env.CLAUDECODE === "1" ||
166
- process.env.CLAUDE_CODE === "1");
167
- }
168
- function hasClaudeNativeCallbackCapability() {
169
- return process.env.OPEN_ORCHESTRA_CLAUDE_NATIVE_CALLBACK === "1";
170
- }
171
- function claudeNativeBridgeFallbackGuidance() {
172
- return [
173
- "Native Claude Agent/Subagent dispatch was not recorded.",
174
- "Inspect the prompt artifact, launch it from a supported Claude Code parent runtime, then record lifecycle with the provided manual commands.",
175
- "Do not call Anthropic or other provider APIs from Orchestra.",
176
- ].join(" ");
177
- }
178
- async function runtimeSessions(root, taskId) {
179
- const config = await getWorkflowConfig(root);
180
- const policy = normalizeRuntimeDelegationGuardrails(config.runtimePolicy?.delegation?.guardrails);
170
+ async function runtimeSessions(root, taskId, events) {
181
171
  return summarizeRuntimeDelegationOperations({
182
- policy,
183
- events: await readEvents(root),
172
+ policy: await runtimeGuardrailPolicy(root),
173
+ events: events ?? (await readEvents(root)),
184
174
  taskId,
185
175
  includeClosed: true,
186
176
  }).sessions;
187
177
  }
178
+ async function runtimeGuardrailPolicy(root) {
179
+ const config = await getWorkflowConfig(root);
180
+ return normalizeRuntimeDelegationGuardrails(config.runtimePolicy?.delegation?.guardrails);
181
+ }
188
182
  function safeRuntimeAdapter(runtime) {
189
183
  try {
190
184
  return getRuntimeExecutionAdapter(runtime);
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-parent-action-dispatch.js","sourceRoot":"","sources":["../src/runtime-parent-action-dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-parent-action-dispatch.js","sourceRoot":"","sources":["../src/runtime-parent-action-dispatch.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,16 @@ export interface RuntimeParentActionEligibilityInput {
6
6
  session?: RuntimeDelegationSessionSummary | undefined;
7
7
  safetyState?: RuntimeParentActionSafetyState;
8
8
  isLatestAction?: boolean;
9
+ capacity?: RuntimeParentActionEligibilityCapacity | undefined;
10
+ }
11
+ export interface RuntimeParentActionEligibilityCapacity {
12
+ status: "available" | "reserved" | "queued";
13
+ activeSessions: number;
14
+ maxConcurrentDelegates: number;
15
+ activeTaskSessions: number;
16
+ maxSpawnsPerTask: number;
17
+ reason?: string;
9
18
  }
10
19
  export type RuntimeParentActionEligibilityCandidate = Omit<PendingRuntimeParentAction, "actionable" | "rationale" | "eligibility"> & Partial<Pick<PendingRuntimeParentAction, "actionable" | "rationale" | "eligibility">>;
11
- export declare function evaluateRuntimeParentActionEligibility({ action, adapter, runtimeFilter, session, safetyState, isLatestAction, }: RuntimeParentActionEligibilityInput): RuntimeParentActionEligibility;
20
+ export declare function evaluateRuntimeParentActionEligibility({ action, adapter, runtimeFilter, session, safetyState, isLatestAction, capacity, }: RuntimeParentActionEligibilityInput): RuntimeParentActionEligibility;
12
21
  export declare function runtimeParentActionLegacyRationale(eligibility: RuntimeParentActionEligibility): string;
@@ -10,7 +10,7 @@ const EXPECTED_ACTION_KIND_BY_RUNTIME = {
10
10
  "codex-cli": "codex-spawn-agent",
11
11
  "cursor-cli": "cursor-background-agent",
12
12
  };
13
- export function evaluateRuntimeParentActionEligibility({ action, adapter, runtimeFilter, session, safetyState = "unknown", isLatestAction = true, }) {
13
+ export function evaluateRuntimeParentActionEligibility({ action, adapter, runtimeFilter, session, safetyState = "unknown", isLatestAction = true, capacity, }) {
14
14
  const sessionStatus = action.status === "queued" ? "queued" : (session?.status ?? action.status);
15
15
  const reasons = runtimeParentActionSkipReasons({
16
16
  action,
@@ -20,6 +20,7 @@ export function evaluateRuntimeParentActionEligibility({ action, adapter, runtim
20
20
  safetyState,
21
21
  sessionIsStale: Boolean(session?.stale),
22
22
  isLatestAction,
23
+ capacity,
23
24
  });
24
25
  return {
25
26
  status: reasons.length > 0 ? "skipped" : "dispatchable",
@@ -32,6 +33,7 @@ export function evaluateRuntimeParentActionEligibility({ action, adapter, runtim
32
33
  sessionStatus,
33
34
  ...(runtimeFilter ? { runtimeFilter } : {}),
34
35
  safetyState,
36
+ ...(capacity ? { capacity } : {}),
35
37
  },
36
38
  };
37
39
  }
@@ -42,8 +44,9 @@ export function runtimeParentActionLegacyRationale(eligibility) {
42
44
  return (eligibility.reasons[0]?.message ??
43
45
  "parent runtime action is not dispatchable");
44
46
  }
45
- function runtimeParentActionSkipReasons({ action, adapter, runtimeFilter, sessionStatus, safetyState, sessionIsStale, isLatestAction, }) {
47
+ function runtimeParentActionSkipReasons({ action, adapter, runtimeFilter, sessionStatus, safetyState, sessionIsStale, isLatestAction, capacity, }) {
46
48
  const reasons = [];
49
+ addCapacityReason(reasons, capacity);
47
50
  addStatusReasons(reasons, sessionStatus);
48
51
  addStaleOrUnsafeReasons(reasons, {
49
52
  action,
@@ -57,11 +60,21 @@ function runtimeParentActionSkipReasons({ action, adapter, runtimeFilter, sessio
57
60
  addToolPolicyReason(reasons, action, adapter);
58
61
  return reasons;
59
62
  }
63
+ function addCapacityReason(reasons, capacity) {
64
+ if (!capacity || capacity.status !== "queued") {
65
+ return;
66
+ }
67
+ reasons.push(skipReason("queued", capacity.reason ??
68
+ "request is queued until runtime-native subagent capacity is available"));
69
+ }
60
70
  function addStatusReasons(reasons, sessionStatus) {
61
71
  if (sessionStatus === "spawned" || sessionStatus === "active") {
62
72
  reasons.push(skipReason("already-dispatched", `session status ${sessionStatus} already has an active parent dispatch`));
63
73
  }
64
74
  if (sessionStatus === "queued") {
75
+ if (reasons.some((reason) => reason.code === "queued")) {
76
+ return;
77
+ }
65
78
  reasons.push(skipReason("queued", "request is queued until delegation capacity is available"));
66
79
  }
67
80
  if (sessionStatus === "suspended") {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-parent-action-eligibility.js","sourceRoot":"","sources":["../src/runtime-parent-action-eligibility.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-parent-action-eligibility.js","sourceRoot":"","sources":["../src/runtime-parent-action-eligibility.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { PendingRuntimeParentAction, RuntimeClaudeNativeBridgeResult, RuntimeParentActionEligibility } from "./types.js";
2
+ export interface RuntimeParentActionDispatchFallback {
3
+ summary: string;
4
+ guidance: string;
5
+ lifecycleCommands: PendingRuntimeParentAction["action"]["lifecycleCommands"];
6
+ promptArtifact: string;
7
+ expectedResultArtifact: string;
8
+ }
9
+ export declare function runtimeParentActionFallback(action: PendingRuntimeParentAction, eligibility: RuntimeParentActionEligibility, bridge?: Extract<RuntimeClaudeNativeBridgeResult, {
10
+ status: "unsupported";
11
+ }>): RuntimeParentActionDispatchFallback;
@@ -0,0 +1,12 @@
1
+ import { runtimeParentActionLegacyRationale } from "./runtime-parent-action-eligibility.js";
2
+ export function runtimeParentActionFallback(action, eligibility, bridge) {
3
+ return {
4
+ summary: bridge?.reason ?? runtimeParentActionLegacyRationale(eligibility),
5
+ guidance: bridge?.guidance ??
6
+ "Inspect the prompt artifact, launch the active parent runtime's native subagent tool manually when supported, then record lifecycle with the provided commands. Do not call provider APIs from Orchestra.",
7
+ lifecycleCommands: action.action.lifecycleCommands,
8
+ promptArtifact: action.action.payload.promptArtifact,
9
+ expectedResultArtifact: action.action.payload.expectedResultArtifact,
10
+ };
11
+ }
12
+ //# sourceMappingURL=runtime-parent-action-fallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-parent-action-fallback.js","sourceRoot":"","sources":["../src/runtime-parent-action-fallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,wCAAwC,CAAC;AAe5F,MAAM,UAAU,2BAA2B,CACzC,MAAkC,EAClC,WAA2C,EAC3C,MAA4E;IAE5E,OAAO;QACL,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,kCAAkC,CAAC,WAAW,CAAC;QAC1E,QAAQ,EACN,MAAM,EAAE,QAAQ;YAChB,2MAA2M;QAC7M,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB;QAClD,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc;QACpD,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB;KACrE,CAAC;AACJ,CAAC"}
@@ -5,6 +5,7 @@ import { workflowPhaseIds } from "./workflow-phases.js";
5
5
  import { addTask, archiveTask, checkTaskDependencies, claimLock, deleteTask, executeNextReadyTask, executeReadyTaskBatch, generateTaskGraphPlan, listLocks, listTasks, previewTaskGraphRun, releaseLock, updateTask, } from "./workflow-services.js";
6
6
  import { renderExecutionRunMarkdown } from "./workflow-markdown.js";
7
7
  export async function taskAddCommand(options, io) {
8
+ const root = targetRootOption(options);
8
9
  const input = removeUndefined({
9
10
  id: requireArg(options, "id"),
10
11
  title: requireArg(options, "title"),
@@ -23,7 +24,7 @@ export async function taskAddCommand(options, io) {
23
24
  riskGate: parseRiskGate(options),
24
25
  workflow: parseTaskWorkflow(options),
25
26
  });
26
- const task = await addTask(input);
27
+ const task = await addTask(input, root);
27
28
  io.log(`Added task ${task.id}`);
28
29
  }
29
30
  export async function taskListCommand(options, io) {
@@ -46,7 +47,7 @@ export async function taskListCommand(options, io) {
46
47
  }
47
48
  export async function taskShowCommand(options, io) {
48
49
  const id = requireArg(options, "id");
49
- const task = (await listTasks()).find((candidate) => candidate.id === id);
50
+ const task = (await listTasks(targetRootOption(options))).find((candidate) => candidate.id === id);
50
51
  if (!task) {
51
52
  throw new Error(`unknown task: ${id}`);
52
53
  }
@@ -61,7 +62,7 @@ export async function taskShowCommand(options, io) {
61
62
  export async function taskDeleteCommand(options, io) {
62
63
  const task = await deleteTask(requireArg(options, "id"), {
63
64
  force: Boolean(options.force),
64
- });
65
+ }, targetRootOption(options));
65
66
  if (options.json) {
66
67
  io.log(JSON.stringify(task, null, 2));
67
68
  return;
@@ -71,7 +72,7 @@ export async function taskDeleteCommand(options, io) {
71
72
  export async function taskArchiveCommand(options, io) {
72
73
  const task = await archiveTask(requireArg(options, "id"), {
73
74
  force: Boolean(options.force),
74
- });
75
+ }, targetRootOption(options));
75
76
  if (options.json) {
76
77
  io.log(JSON.stringify(task, null, 2));
77
78
  return;
@@ -80,6 +81,7 @@ export async function taskArchiveCommand(options, io) {
80
81
  }
81
82
  export async function taskUpdateCommand(options, io) {
82
83
  const id = requireArg(options, "id");
84
+ const root = targetRootOption(options);
83
85
  await updateTask(removeUndefined({
84
86
  id,
85
87
  title: stringOption(options.title),
@@ -98,11 +100,11 @@ export async function taskUpdateCommand(options, io) {
98
100
  qaGate: parseQaGate(options),
99
101
  riskGate: parseRiskGate(options),
100
102
  workflow: parseTaskWorkflow(options),
101
- }));
103
+ }), root);
102
104
  io.log(`Updated task ${id}`);
103
105
  }
104
106
  export async function taskDepsCommand(options, io) {
105
- const report = await checkTaskDependencies(requireArg(options, "id"));
107
+ const report = await checkTaskDependencies(requireArg(options, "id"), targetRootOption(options));
106
108
  if (options.json) {
107
109
  io.log(JSON.stringify(report, null, 2));
108
110
  return;
@@ -110,7 +112,7 @@ export async function taskDepsCommand(options, io) {
110
112
  io.log(renderDependencyReport(report));
111
113
  }
112
114
  export async function graphPlanCommand(options, io) {
113
- const plan = await generateTaskGraphPlan();
115
+ const plan = await generateTaskGraphPlan(targetRootOption(options));
114
116
  if (options.json) {
115
117
  io.log(JSON.stringify(plan, null, 2));
116
118
  return;
@@ -118,8 +120,9 @@ export async function graphPlanCommand(options, io) {
118
120
  io.log(renderTaskGraphPlan(plan));
119
121
  }
120
122
  export async function graphRunNextCommand(options, io) {
123
+ const root = targetRootOption(options);
121
124
  if (options["dry-run"]) {
122
- const preview = await previewTaskGraphRun("run-next");
125
+ const preview = await previewTaskGraphRun("run-next", root);
123
126
  if (options.json) {
124
127
  io.log(JSON.stringify(preview, null, 2));
125
128
  return;
@@ -127,7 +130,7 @@ export async function graphRunNextCommand(options, io) {
127
130
  io.log(renderTaskGraphDryRunPreview(preview));
128
131
  return;
129
132
  }
130
- const run = await executeNextReadyTask();
133
+ const run = await executeNextReadyTask(root);
131
134
  if (options.json) {
132
135
  io.log(JSON.stringify(run, null, 2));
133
136
  return;
@@ -135,8 +138,9 @@ export async function graphRunNextCommand(options, io) {
135
138
  io.log(renderExecutionRunMarkdown(run));
136
139
  }
137
140
  export async function graphRunReadyCommand(options, io) {
141
+ const root = targetRootOption(options);
138
142
  if (options["dry-run"]) {
139
- const preview = await previewTaskGraphRun("run-ready");
143
+ const preview = await previewTaskGraphRun("run-ready", root);
140
144
  if (options.json) {
141
145
  io.log(JSON.stringify(preview, null, 2));
142
146
  return;
@@ -144,7 +148,7 @@ export async function graphRunReadyCommand(options, io) {
144
148
  io.log(renderTaskGraphDryRunPreview(preview));
145
149
  return;
146
150
  }
147
- const batch = await executeReadyTaskBatch();
151
+ const batch = await executeReadyTaskBatch(root);
148
152
  if (options.json) {
149
153
  io.log(JSON.stringify(batch, null, 2));
150
154
  return;
@@ -155,7 +159,7 @@ export async function graphRunReadyCommand(options, io) {
155
159
  }
156
160
  }
157
161
  export async function lockListCommand(options, io) {
158
- const locks = await listLocks();
162
+ const locks = await listLocks(targetRootOption(options));
159
163
  if (options.json) {
160
164
  io.log(JSON.stringify(locks, null, 2));
161
165
  return;
@@ -176,12 +180,12 @@ export async function lockClaimCommand(options, io) {
176
180
  path: requireArg(options, "path"),
177
181
  reason: requireArg(options, "reason"),
178
182
  expiresAt: stringOption(options.expires),
179
- }));
183
+ }), targetRootOption(options));
180
184
  io.log(`Claimed lock ${lock.id}`);
181
185
  }
182
186
  export async function lockReleaseCommand(options, io) {
183
187
  const id = requireArg(options, "id");
184
- await releaseLock(id);
188
+ await releaseLock(id, targetRootOption(options));
185
189
  io.log(`Released lock ${id}`);
186
190
  }
187
191
  function filterTasks(tasks, options) {