acpus 0.5.2 → 0.6.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/README.md +19 -5
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/agent-progress-format.d.ts +7 -0
  4. package/dist/agent-progress-format.d.ts.map +1 -0
  5. package/dist/agent-progress-format.js +102 -0
  6. package/dist/agent-progress-format.js.map +1 -0
  7. package/dist/authoring/core.d.ts +2 -0
  8. package/dist/authoring/core.d.ts.map +1 -0
  9. package/dist/authoring/core.js +2 -0
  10. package/dist/authoring/core.js.map +1 -0
  11. package/dist/authoring/expression.d.ts +2 -0
  12. package/dist/authoring/expression.d.ts.map +1 -0
  13. package/dist/authoring/expression.js +2 -0
  14. package/dist/authoring/expression.js.map +1 -0
  15. package/dist/authoring/tasks/git.d.ts +2 -0
  16. package/dist/authoring/tasks/git.d.ts.map +1 -0
  17. package/dist/authoring/tasks/git.js +2 -0
  18. package/dist/authoring/tasks/git.js.map +1 -0
  19. package/dist/catalog.d.ts +18 -24
  20. package/dist/catalog.d.ts.map +1 -1
  21. package/dist/catalog.js +164 -174
  22. package/dist/catalog.js.map +1 -1
  23. package/dist/cli.d.ts +3 -0
  24. package/dist/cli.d.ts.map +1 -0
  25. package/dist/cli.js +14 -0
  26. package/dist/cli.js.map +1 -0
  27. package/dist/commands/daemon.d.ts +14 -0
  28. package/dist/commands/daemon.d.ts.map +1 -0
  29. package/dist/commands/daemon.js +89 -0
  30. package/dist/commands/daemon.js.map +1 -0
  31. package/dist/commands/doctor.d.ts +11 -0
  32. package/dist/commands/doctor.d.ts.map +1 -0
  33. package/dist/commands/doctor.js +26 -0
  34. package/dist/commands/doctor.js.map +1 -0
  35. package/dist/commands/hooks.d.ts +11 -0
  36. package/dist/commands/hooks.d.ts.map +1 -0
  37. package/dist/commands/hooks.js +64 -0
  38. package/dist/commands/hooks.js.map +1 -0
  39. package/dist/commands/json.d.ts +7 -0
  40. package/dist/commands/json.d.ts.map +1 -0
  41. package/dist/commands/json.js +43 -0
  42. package/dist/commands/json.js.map +1 -0
  43. package/dist/commands/runs-picker.d.ts +21 -0
  44. package/dist/commands/runs-picker.d.ts.map +1 -0
  45. package/dist/commands/runs-picker.js +76 -0
  46. package/dist/commands/runs-picker.js.map +1 -0
  47. package/dist/commands/runs.d.ts +12 -0
  48. package/dist/commands/runs.d.ts.map +1 -0
  49. package/dist/commands/runs.js +285 -0
  50. package/dist/commands/runs.js.map +1 -0
  51. package/dist/commands/skill.d.ts +11 -0
  52. package/dist/commands/skill.d.ts.map +1 -0
  53. package/dist/commands/skill.js +221 -0
  54. package/dist/commands/skill.js.map +1 -0
  55. package/dist/commands/web.d.ts +24 -0
  56. package/dist/commands/web.d.ts.map +1 -0
  57. package/dist/commands/web.js +57 -0
  58. package/dist/commands/web.js.map +1 -0
  59. package/dist/commands/workflow.d.ts +11 -0
  60. package/dist/commands/workflow.d.ts.map +1 -0
  61. package/dist/commands/workflow.js +324 -0
  62. package/dist/commands/workflow.js.map +1 -0
  63. package/dist/daemon-entry.d.ts +3 -0
  64. package/dist/daemon-entry.d.ts.map +1 -0
  65. package/dist/daemon-entry.js +26 -0
  66. package/dist/daemon-entry.js.map +1 -0
  67. package/dist/errors.d.ts +19 -0
  68. package/dist/errors.d.ts.map +1 -0
  69. package/dist/errors.js +28 -0
  70. package/dist/errors.js.map +1 -0
  71. package/dist/output.d.ts +91 -11
  72. package/dist/output.d.ts.map +1 -1
  73. package/dist/output.js +203 -44
  74. package/dist/output.js.map +1 -1
  75. package/dist/program.d.ts +9 -0
  76. package/dist/program.d.ts.map +1 -0
  77. package/dist/program.js +85 -0
  78. package/dist/program.js.map +1 -0
  79. package/dist/run-status-surface.d.ts +12 -0
  80. package/dist/run-status-surface.d.ts.map +1 -0
  81. package/dist/run-status-surface.js +324 -0
  82. package/dist/run-status-surface.js.map +1 -0
  83. package/dist/workflow-preparation.d.ts +3 -0
  84. package/dist/workflow-preparation.d.ts.map +1 -0
  85. package/dist/workflow-preparation.js +34 -0
  86. package/dist/workflow-preparation.js.map +1 -0
  87. package/package.json +35 -35
  88. package/skills/acpus/SKILL.md +120 -0
  89. package/skills/acpus/eval/evaluations.md +47 -0
  90. package/skills/acpus/examples/hooks.example.json +17 -0
  91. package/skills/acpus/examples/workflows/adversarial-review/workflow.ts +248 -0
  92. package/skills/acpus/examples/workflows/change-approval/workflow.ts +121 -0
  93. package/skills/acpus/examples/workflows/issue-triage/tasks.ts +14 -0
  94. package/skills/acpus/examples/workflows/issue-triage/workflow.ts +146 -0
  95. package/skills/acpus/examples/workflows/multi-aspect-brainstorm/workflow.ts +304 -0
  96. package/skills/acpus/examples/workflows/worktree-tournament/workflow.ts +194 -0
  97. package/skills/acpus/references/authoring.md +205 -0
  98. package/skills/acpus/references/cli-operations.md +94 -0
  99. package/skills/acpus/references/hooks-json.md +81 -0
  100. package/skills/acpus/references/runtime-recovery.md +97 -0
  101. package/dist/agent-activity.d.ts +0 -3
  102. package/dist/agent-activity.d.ts.map +0 -1
  103. package/dist/agent-activity.js +0 -50
  104. package/dist/agent-activity.js.map +0 -1
  105. package/dist/agent-overrides.d.ts +0 -3
  106. package/dist/agent-overrides.d.ts.map +0 -1
  107. package/dist/agent-overrides.js +0 -39
  108. package/dist/agent-overrides.js.map +0 -1
  109. package/dist/follow.d.ts +0 -23
  110. package/dist/follow.d.ts.map +0 -1
  111. package/dist/follow.js +0 -164
  112. package/dist/follow.js.map +0 -1
  113. package/dist/hooks.d.ts +0 -4
  114. package/dist/hooks.d.ts.map +0 -1
  115. package/dist/hooks.js +0 -159
  116. package/dist/hooks.js.map +0 -1
  117. package/dist/index.d.ts +0 -3
  118. package/dist/index.d.ts.map +0 -1
  119. package/dist/index.js +0 -592
  120. package/dist/index.js.map +0 -1
  121. package/dist/io.d.ts +0 -3
  122. package/dist/io.d.ts.map +0 -1
  123. package/dist/io.js +0 -27
  124. package/dist/io.js.map +0 -1
  125. package/dist/observations.d.ts +0 -39
  126. package/dist/observations.d.ts.map +0 -1
  127. package/dist/observations.js +0 -83
  128. package/dist/observations.js.map +0 -1
  129. package/dist/runs-show.d.ts +0 -40
  130. package/dist/runs-show.d.ts.map +0 -1
  131. package/dist/runs-show.js +0 -296
  132. package/dist/runs-show.js.map +0 -1
  133. package/dist/supervisor-client.d.ts +0 -9
  134. package/dist/supervisor-client.d.ts.map +0 -1
  135. package/dist/supervisor-client.js +0 -8
  136. package/dist/supervisor-client.js.map +0 -1
  137. package/dist/supervisor.d.ts +0 -18
  138. package/dist/supervisor.d.ts.map +0 -1
  139. package/dist/supervisor.js +0 -24
  140. package/dist/supervisor.js.map +0 -1
package/dist/output.js CHANGED
@@ -1,60 +1,219 @@
1
- export function printLint(result, options) {
2
- if (options.quiet) {
3
- return;
1
+ import { formatAgentProgressLines } from "./agent-progress-format.js";
2
+ export function writeResult(result, format, streams, exitCode) {
3
+ if (format === "json") {
4
+ streams.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
5
+ return exitCode;
4
6
  }
5
- if (options.json) {
6
- writeJsonLine({ ok: result.ok, diagnostics: result.diagnostics });
7
- return;
7
+ const stream = result.ok ? streams.stdout : streams.stderr;
8
+ if (!result.hooks)
9
+ stream.write(`${result.message ?? (result.ok ? "OK" : "Failed")}\n`);
10
+ if (result.workflow) {
11
+ stream.write(`Workflow: ${result.workflow.name}\n`);
12
+ if (result.workflow.description)
13
+ stream.write(`Description: ${result.workflow.description}\n`);
14
+ stream.write(`IR version: ${result.workflow.irVersion}\n`);
15
+ stream.write(`Nodes: ${result.workflow.nodeCount}\n`);
16
+ stream.write(`Outputs: ${result.workflow.outputKeys.length ? result.workflow.outputKeys.join(", ") : "(none)"}\n`);
17
+ stream.write(`Diagnostics: ${result.workflow.diagnostics.errors} errors, ${result.workflow.diagnostics.warnings} warnings, ${result.workflow.diagnostics.infos} infos\n`);
18
+ }
19
+ if (result.catalog)
20
+ writeCatalogEntry(stream, result.catalog);
21
+ if (result.catalogEntries) {
22
+ if (result.catalogEntries.length === 0) {
23
+ stream.write("No cataloged workflows.\n");
24
+ }
25
+ else {
26
+ for (const entry of result.catalogEntries) {
27
+ stream.write(`${entry.scope}\t${entry.status}\t${entry.requiresScope ? "requires-scope" : "ready"}\t${entry.name}\t${entry.entryPath}\n`);
28
+ }
29
+ }
30
+ }
31
+ if (result.run) {
32
+ stream.write(`Run: ${result.run.id}\n`);
33
+ stream.write(`Status: ${result.run.status}\n`);
34
+ stream.write(`Workflow entry: ${result.run.workflowEntry}\n`);
35
+ if ("eventCount" in result.run) {
36
+ stream.write(`Events: ${result.run.eventCount}\n`);
37
+ stream.write(`Nodes: ${result.run.nodeCount}\n`);
38
+ if (result.run.output !== undefined)
39
+ stream.write(`Output: ${previewJson(result.run.output)}\n`);
40
+ if (result.run.dynamic)
41
+ writeCompactDynamicSummary(stream, result.run);
42
+ }
43
+ }
44
+ if (result.errorCode)
45
+ stream.write(`Error code: ${result.errorCode}\n`);
46
+ if (result.control)
47
+ stream.write(`Control: ${result.control.type} ${result.control.runId}\n`);
48
+ if (result.outputPath)
49
+ stream.write(`Output: ${result.outputPath}\n`);
50
+ if (result.runs) {
51
+ if (result.runs.length === 0) {
52
+ stream.write("No runs.\n");
53
+ }
54
+ else {
55
+ for (const run of result.runs) {
56
+ stream.write(`${run.id}\t${run.status}\t${run.updatedAt}\t${run.name}\t${run.workflowEntry}\n`);
57
+ }
58
+ if (result.list?.truncated)
59
+ stream.write(`showing ${result.runs.length} of ${result.list.total}\n`);
60
+ }
61
+ }
62
+ if (result.deletedRuns) {
63
+ for (const run of result.deletedRuns)
64
+ stream.write(`Deleted: ${run.id}\t${run.status}\t${run.name}\n`);
65
+ }
66
+ if (result.skippedRuns?.length) {
67
+ for (const run of result.skippedRuns)
68
+ stream.write(`Skipped: ${run.id}\t${run.status}\t${run.name}\n`);
8
69
  }
9
- printDiagnostics(result.diagnostics);
10
- if (result.ok) {
11
- console.log("acpus lint: ok");
70
+ if (result.forkRunId)
71
+ stream.write(`Fork run: ${result.forkRunId}\n`);
72
+ if (result.checks) {
73
+ for (const check of result.checks)
74
+ stream.write(`${check.status}\t${check.area}\t${check.message}\n`);
12
75
  }
76
+ if (result.hooks)
77
+ writeHooks(stream, result.hooks);
78
+ if (result.skill)
79
+ writeSkillResult(stream, result.skill);
80
+ if (result.irDigest)
81
+ stream.write(`IR digest: ${result.irDigest}\n`);
82
+ if (result.diagnostics?.length) {
83
+ for (const diagnostic of result.diagnostics) {
84
+ stream.write(`[${diagnostic.severity}] ${diagnostic.code}${diagnostic.path ? ` ${diagnostic.path}` : ""}: ${diagnostic.message}\n`);
85
+ if (diagnostic.source)
86
+ stream.write(` source: ${diagnostic.source.file}:${diagnostic.source.line}:${diagnostic.source.column}\n`);
87
+ if (diagnostic.hint)
88
+ stream.write(` hint: ${diagnostic.hint}\n`);
89
+ }
90
+ }
91
+ return exitCode;
13
92
  }
14
- export function printCompile(result, options) {
15
- if (options.quiet) {
16
- if (options.json) {
17
- writeJsonLine({
18
- ok: result.ok,
19
- diagnostics: result.diagnostics,
20
- ir: result.ir,
21
- schedule: result.schedule,
22
- agentOverrides: result.agentOverrides,
23
- submissionWarnings: result.submissionWarnings
24
- });
93
+ function writeSkillResult(stream, result) {
94
+ stream.write(`Skill: ${result.packageName}/${result.skillName}\n`);
95
+ stream.write(`Target: ${result.targetName}\n`);
96
+ stream.write(`Scope: ${result.scope}\n`);
97
+ if (result.installations) {
98
+ for (const installation of result.installations) {
99
+ stream.write(`${installation.status}\t${installation.kind}\t${installation.targetPath}${installation.error ? `\t${installation.error}` : ""}\n`);
25
100
  }
26
- return;
27
101
  }
28
- if (options.json) {
29
- writeJsonLine({
30
- ok: result.ok,
31
- diagnostics: result.diagnostics,
32
- ir: result.ir,
33
- schedule: result.schedule,
34
- agentOverrides: result.agentOverrides,
35
- submissionWarnings: result.submissionWarnings
36
- });
102
+ if (result.removals) {
103
+ for (const removal of result.removals) {
104
+ stream.write(`${removal.status}\t${removal.kind}\t${removal.targetPath}${removal.error ? `\t${removal.error}` : ""}\n`);
105
+ }
106
+ }
107
+ }
108
+ function writeHooks(stream, scopes) {
109
+ stream.write(scopes.project && scopes.global ? "Hooks (project + global):\n\n" : "Hooks:\n\n");
110
+ if (scopes.project)
111
+ writeHookScope(stream, "Project", scopes.project);
112
+ if (scopes.project && scopes.global)
113
+ stream.write("\n");
114
+ if (scopes.global)
115
+ writeHookScope(stream, "Global", scopes.global);
116
+ }
117
+ function writeHookScope(stream, label, scope) {
118
+ stream.write(`${label}: ${scope.path}\n`);
119
+ if (scope.hooks.length === 0) {
120
+ stream.write(" (none)\n");
37
121
  return;
38
122
  }
39
- printDiagnostics(result.diagnostics);
40
- if (result.ok) {
41
- console.log(JSON.stringify(result.schedule, null, 2));
123
+ const byEvent = new Map();
124
+ for (const hook of scope.hooks)
125
+ byEvent.set(hook.event, [...(byEvent.get(hook.event) ?? []), hook]);
126
+ for (const [event, hooks] of byEvent) {
127
+ stream.write(` ${event}\n`);
128
+ for (const hook of hooks) {
129
+ const match = hook.match ? ` (match: ${Object.entries(hook.match).map(([key, value]) => `${key}=${value}`).join(", ")})` : "";
130
+ stream.write(` ${hook.id ?? hook.effectiveId} -> ${hook.command}${match}\n`);
131
+ }
42
132
  }
43
133
  }
44
- export function printError(message, options) {
45
- if (options.json) {
46
- writeJsonLine({ ok: false, diagnostics: [{ severity: "error", code: "CLI_ERROR", message, path: "$" }] });
134
+ function writeCatalogEntry(stream, entry) {
135
+ stream.write(`Catalog: ${entry.scope}/${entry.name}\n`);
136
+ stream.write(`Catalog status: ${entry.status}${entry.requiresScope ? " (requires --project or --global when unscoped)" : ""}\n`);
137
+ stream.write(`Catalog package: ${entry.packagePath}\n`);
138
+ stream.write(`Catalog entry: ${entry.entryPath}\n`);
139
+ }
140
+ export function writeJsonLine(stream, value) {
141
+ stream.write(`${JSON.stringify(value)}\n`);
142
+ }
143
+ function previewJson(value) {
144
+ const raw = JSON.stringify(value);
145
+ if (raw.length <= 500)
146
+ return raw;
147
+ return `${raw.slice(0, 500)}... (${raw.length - 500} bytes omitted)`;
148
+ }
149
+ function writeCompactDynamicSummary(stream, run) {
150
+ const dynamic = run.dynamic;
151
+ if (!dynamic)
47
152
  return;
153
+ for (const wait of dynamic.signalWaits.filter(wait => wait.status === "awaiting").slice(0, 20)) {
154
+ stream.write(`Awaiting signal: ${wait.nodeKey}\n`);
155
+ stream.write(`Use: acpus runs signal ${run.id} --target ${wait.nodeKey} --payload '<json>'\n`);
48
156
  }
49
- console.error(message);
50
- }
51
- function printDiagnostics(diagnostics) {
52
- for (const diagnostic of diagnostics) {
53
- const target = diagnostic.severity === "error" ? console.error : console.warn;
54
- target(`${diagnostic.severity.toUpperCase()} ${diagnostic.code} ${diagnostic.path}: ${diagnostic.message}`);
157
+ const actionable = dynamic.nodeInstances.filter(node => node.status !== "completed")
158
+ .map(node => `${node.nodeKey} ${node.status}`)
159
+ .slice(0, 20);
160
+ if (actionable.length > 0)
161
+ stream.write(`Actionable nodes: ${actionable.join(", ")}\n`);
162
+ const omitted = dynamic.nodeInstances.length - actionable.length;
163
+ if (omitted > 0)
164
+ stream.write(`Node details omitted: ${omitted}\n`);
165
+ const signalWaitsOmitted = Math.max(0, dynamic.signalWaits.length - 20);
166
+ if (signalWaitsOmitted > 0)
167
+ stream.write(`Signal waits omitted: ${signalWaitsOmitted}\n`);
168
+ for (const progress of dynamic.progress.filter(progress => progress.kind === "agent").slice(-5)) {
169
+ for (const line of formatAgentProgressLines(progress))
170
+ stream.write(`${line}\n`);
55
171
  }
172
+ const agentAttempts = dynamic.executionMetadata.filter(entry => entry.kind === "agent_attempt").length;
173
+ if (agentAttempts > 0)
174
+ stream.write(`Agent attempt details omitted: ${agentAttempts}. Use --json for full metadata.\n`);
56
175
  }
57
- function writeJsonLine(value) {
58
- console.log(JSON.stringify(value));
176
+ export function summarizeWorkflow(ir) {
177
+ const diagnostics = {
178
+ total: ir.diagnostics.length,
179
+ errors: ir.diagnostics.filter(diagnostic => diagnostic.severity === "error").length,
180
+ warnings: ir.diagnostics.filter(diagnostic => diagnostic.severity === "warning").length,
181
+ infos: ir.diagnostics.filter(diagnostic => diagnostic.severity === "info").length,
182
+ };
183
+ return {
184
+ name: ir.name,
185
+ ...(ir.description === undefined ? {} : { description: ir.description }),
186
+ irVersion: ir.irVersion,
187
+ nodeCount: countNodes(ir.root),
188
+ outputKeys: Object.keys(ir.outputs).sort(),
189
+ diagnostics,
190
+ };
191
+ }
192
+ function countNodes(scope) {
193
+ let total = scope.nodes.length;
194
+ for (const node of scope.nodes) {
195
+ if (node.kind === "if") {
196
+ total += countNodes(node.then);
197
+ if (node.else)
198
+ total += countNodes(node.else);
199
+ }
200
+ else if (node.kind === "switch") {
201
+ for (const c of node.cases)
202
+ total += countNodes(c.then);
203
+ if (node.default)
204
+ total += countNodes(node.default);
205
+ }
206
+ else if (node.kind === "parallel") {
207
+ for (const branch of Object.values(node.branches))
208
+ total += countNodes(branch.scope);
209
+ }
210
+ else if (node.kind === "fanout") {
211
+ total += countNodes(node.do);
212
+ }
213
+ else if (node.kind === "loop") {
214
+ total += countNodes(node.do);
215
+ }
216
+ }
217
+ return total;
59
218
  }
60
219
  //# sourceMappingURL=output.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,SAAS,CAAC,MAAkB,EAAE,OAAsB;IAClE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IACD,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,MAAwG,EACxG,OAAsB;IAEtB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,aAAa,CAAC;gBACZ,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;aAC9C,CAAC,CAAC;QACL,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,aAAa,CAAC;YACZ,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;SAC9C,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,OAAsB;IAChE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,aAAa,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1G,OAAO;IACT,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAyB;IACjD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAC9E,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9G,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Readable, Writable } from "node:stream";
2
+ export type CliIo = {
3
+ cwd: string;
4
+ stdin?: Readable;
5
+ stdout: Writable;
6
+ stderr: Writable;
7
+ };
8
+ export declare function runCli(argv: string[], io: CliIo): Promise<number>;
9
+ //# sourceMappingURL=program.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAWtD,MAAM,MAAM,KAAK,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBvE"}
@@ -0,0 +1,85 @@
1
+ import { Command, CommanderError } from "commander";
2
+ import { createDoctorCommand } from "./commands/doctor.js";
3
+ import { createHooksCommand } from "./commands/hooks.js";
4
+ import { createRunsCommand } from "./commands/runs.js";
5
+ import { createSkillCommand } from "./commands/skill.js";
6
+ import { createWebCommand } from "./commands/web.js";
7
+ import { createWorkflowCommand } from "./commands/workflow.js";
8
+ import { CliError, usageError } from "./errors.js";
9
+ import { writeResult } from "./output.js";
10
+ export async function runCli(argv, io) {
11
+ let exitCode = 0;
12
+ const wantsJson = argv.includes("--json");
13
+ const normalizedArgv = argv.filter(arg => arg !== "--json");
14
+ const program = createProgram(io, code => {
15
+ exitCode = code;
16
+ }, wantsJson);
17
+ try {
18
+ await program.parseAsync(normalizedArgv, { from: "user" });
19
+ return exitCode;
20
+ }
21
+ catch (error) {
22
+ if (error instanceof CliError) {
23
+ return writeResult(error.result, wantsJson ? "json" : "text", io, error.exitCode);
24
+ }
25
+ if (error instanceof CommanderError) {
26
+ if (error.code === "commander.helpDisplayed")
27
+ return error.exitCode;
28
+ if (wantsJson) {
29
+ const result = usageError(error.message).result;
30
+ return writeResult(result, "json", io, 2);
31
+ }
32
+ return 2;
33
+ }
34
+ throw error;
35
+ }
36
+ }
37
+ function createProgram(io, setExitCode, wantsJson) {
38
+ const stdin = io.stdin ?? process.stdin;
39
+ const program = new Command()
40
+ .name("acpus")
41
+ .description("Acpus TypeScript workflow CLI.")
42
+ .exitOverride()
43
+ .helpCommand(false)
44
+ .showHelpAfterError()
45
+ .configureOutput({
46
+ writeOut: text => io.stdout.write(text),
47
+ writeErr: text => {
48
+ if (!wantsJson)
49
+ io.stderr.write(text);
50
+ },
51
+ outputError: (text, write) => write(text),
52
+ });
53
+ program.addCommand(createWorkflowCommand({
54
+ ...io,
55
+ wantsJson,
56
+ setExitCode,
57
+ }));
58
+ program.addCommand(createRunsCommand({
59
+ ...io,
60
+ stdin,
61
+ wantsJson,
62
+ setExitCode,
63
+ }));
64
+ program.addCommand(createHooksCommand({
65
+ ...io,
66
+ wantsJson,
67
+ setExitCode,
68
+ }));
69
+ program.addCommand(createDoctorCommand({
70
+ ...io,
71
+ wantsJson,
72
+ setExitCode,
73
+ }));
74
+ program.addCommand(createSkillCommand({
75
+ ...io,
76
+ wantsJson,
77
+ setExitCode,
78
+ }));
79
+ program.addCommand(createWebCommand({
80
+ ...io,
81
+ wantsJson,
82
+ }));
83
+ return program;
84
+ }
85
+ //# sourceMappingURL=program.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { NodeIR, SchemaIR, WorkflowIR } from "@acpus/core/ir";
2
+ import type { RunDetails } from "@acpus/runtime";
3
+ export type RunStatusStaticNode = {
4
+ nodeId: string;
5
+ kind: NodeIR["kind"];
6
+ order: number;
7
+ outputSchema?: SchemaIR;
8
+ };
9
+ export declare function staticNodesForWorkflow(ir: WorkflowIR): RunStatusStaticNode[];
10
+ export declare function formatRunStatusSurface(run: RunDetails, staticNodes?: readonly RunStatusStaticNode[], nowMs?: number): string;
11
+ export declare function formatRunObservationRow(run: RunDetails, nodeKey: string, nowMs?: number, staticNodes?: readonly RunStatusStaticNode[]): string | undefined;
12
+ //# sourceMappingURL=run-status-surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-status-surface.d.ts","sourceRoot":"","sources":["../src/run-status-surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAW,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAoF,MAAM,gBAAgB,CAAC;AAGnI,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,QAAQ,CAAC;CACzB,CAAC;AAmBF,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,UAAU,GAAG,mBAAmB,EAAE,CAI5E;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,GAAE,SAAS,mBAAmB,EAAO,EAAE,KAAK,SAAa,GAAG,MAAM,CAqBpI;AASD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,SAAa,EAAE,WAAW,GAAE,SAAS,mBAAmB,EAAO,GAAG,MAAM,GAAG,SAAS,CA6BlK"}