cool-workflow 0.1.78

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 (193) hide show
  1. package/.claude-plugin/plugin.json +20 -0
  2. package/.codex-plugin/mcp.json +10 -0
  3. package/.codex-plugin/plugin.json +38 -0
  4. package/.mcp.json +10 -0
  5. package/LICENSE +24 -0
  6. package/README.md +638 -0
  7. package/apps/architecture-review/app.json +51 -0
  8. package/apps/architecture-review/workflow.js +116 -0
  9. package/apps/end-to-end-golden-path/app.json +30 -0
  10. package/apps/end-to-end-golden-path/workflow.js +33 -0
  11. package/apps/pr-review-fix-ci/app.json +59 -0
  12. package/apps/pr-review-fix-ci/workflow.js +90 -0
  13. package/apps/release-cut/app.json +54 -0
  14. package/apps/release-cut/workflow.js +82 -0
  15. package/apps/research-synthesis/app.json +50 -0
  16. package/apps/research-synthesis/workflow.js +76 -0
  17. package/apps/workflow-app-framework-demo/app.json +29 -0
  18. package/apps/workflow-app-framework-demo/workflow.js +44 -0
  19. package/dist/agent-config.js +223 -0
  20. package/dist/candidate-scoring.js +715 -0
  21. package/dist/capability-core.js +630 -0
  22. package/dist/capability-dispatcher.js +86 -0
  23. package/dist/capability-registry.js +523 -0
  24. package/dist/cli.js +1276 -0
  25. package/dist/collaboration.js +727 -0
  26. package/dist/commit.js +570 -0
  27. package/dist/contract-migration.js +234 -0
  28. package/dist/coordinator.js +1163 -0
  29. package/dist/daemon.js +44 -0
  30. package/dist/dispatch.js +201 -0
  31. package/dist/drive.js +503 -0
  32. package/dist/error-feedback.js +415 -0
  33. package/dist/evidence-grounding.js +179 -0
  34. package/dist/evidence-reasoning.js +733 -0
  35. package/dist/execution-backend.js +1279 -0
  36. package/dist/harness.js +61 -0
  37. package/dist/mcp-server.js +1615 -0
  38. package/dist/multi-agent-eval.js +857 -0
  39. package/dist/multi-agent-host.js +764 -0
  40. package/dist/multi-agent-operator-ux.js +537 -0
  41. package/dist/multi-agent-trust.js +366 -0
  42. package/dist/multi-agent.js +1173 -0
  43. package/dist/node-snapshot.js +270 -0
  44. package/dist/observability.js +922 -0
  45. package/dist/operator-ux.js +971 -0
  46. package/dist/orchestrator/audit-operations.js +182 -0
  47. package/dist/orchestrator/candidate-operations.js +117 -0
  48. package/dist/orchestrator/cli-options.js +288 -0
  49. package/dist/orchestrator/collaboration-operations.js +86 -0
  50. package/dist/orchestrator/feedback-operations.js +81 -0
  51. package/dist/orchestrator/host-operations.js +78 -0
  52. package/dist/orchestrator/lifecycle-operations.js +462 -0
  53. package/dist/orchestrator/migration-operations.js +44 -0
  54. package/dist/orchestrator/multi-agent-operations.js +362 -0
  55. package/dist/orchestrator/report.js +369 -0
  56. package/dist/orchestrator/topology-operations.js +84 -0
  57. package/dist/orchestrator.js +874 -0
  58. package/dist/pipeline-contract.js +92 -0
  59. package/dist/pipeline-runner.js +285 -0
  60. package/dist/reclamation.js +882 -0
  61. package/dist/result-normalize.js +194 -0
  62. package/dist/run-export.js +64 -0
  63. package/dist/run-registry.js +1347 -0
  64. package/dist/run-state-schema.js +67 -0
  65. package/dist/sandbox-profile.js +471 -0
  66. package/dist/scheduler.js +266 -0
  67. package/dist/scheduling.js +184 -0
  68. package/dist/schema-validate.js +98 -0
  69. package/dist/state-explosion.js +1213 -0
  70. package/dist/state-migrations.js +463 -0
  71. package/dist/state-node.js +301 -0
  72. package/dist/state.js +308 -0
  73. package/dist/telemetry-attestation.js +156 -0
  74. package/dist/telemetry-ledger.js +145 -0
  75. package/dist/topology.js +527 -0
  76. package/dist/triggers.js +159 -0
  77. package/dist/trust-audit.js +475 -0
  78. package/dist/types/blackboard.js +2 -0
  79. package/dist/types/boundary.js +29 -0
  80. package/dist/types/candidate.js +2 -0
  81. package/dist/types/collaboration.js +2 -0
  82. package/dist/types/core.js +2 -0
  83. package/dist/types/drive.js +10 -0
  84. package/dist/types/error-feedback.js +2 -0
  85. package/dist/types/evidence-reasoning.js +2 -0
  86. package/dist/types/execution-backend.js +2 -0
  87. package/dist/types/multi-agent.js +2 -0
  88. package/dist/types/observability.js +2 -0
  89. package/dist/types/pipeline.js +2 -0
  90. package/dist/types/reclamation.js +8 -0
  91. package/dist/types/result.js +2 -0
  92. package/dist/types/run-registry.js +2 -0
  93. package/dist/types/run.js +2 -0
  94. package/dist/types/sandbox.js +2 -0
  95. package/dist/types/schedule.js +2 -0
  96. package/dist/types/state-node.js +2 -0
  97. package/dist/types/topology.js +2 -0
  98. package/dist/types/trust.js +2 -0
  99. package/dist/types/workbench.js +2 -0
  100. package/dist/types/worker.js +2 -0
  101. package/dist/types/workflow-app.js +2 -0
  102. package/dist/types.js +43 -0
  103. package/dist/verifier-registry.js +46 -0
  104. package/dist/verifier.js +78 -0
  105. package/dist/version.js +8 -0
  106. package/dist/workbench-host.js +172 -0
  107. package/dist/workbench.js +190 -0
  108. package/dist/worker-isolation.js +1028 -0
  109. package/dist/workflow-api.js +98 -0
  110. package/dist/workflow-app-framework.js +626 -0
  111. package/docs/agent-delegation-drive.7.md +190 -0
  112. package/docs/agent-framework.md +176 -0
  113. package/docs/candidate-scoring.7.md +106 -0
  114. package/docs/canonical-workflow-apps.7.md +137 -0
  115. package/docs/capability-topology-registry.7.md +168 -0
  116. package/docs/cli-mcp-parity.7.md +373 -0
  117. package/docs/contract-migration-tooling.7.md +123 -0
  118. package/docs/control-plane-scheduling.7.md +110 -0
  119. package/docs/coordinator-blackboard.7.md +183 -0
  120. package/docs/dogfood/architecture-review-cool-workflow.md +16 -0
  121. package/docs/dogfood-one-real-repo.7.md +168 -0
  122. package/docs/durable-state-and-locking.7.md +107 -0
  123. package/docs/end-to-end-golden-path.7.md +117 -0
  124. package/docs/error-feedback.7.md +153 -0
  125. package/docs/evidence-adoption-reasoning-chain.7.md +270 -0
  126. package/docs/execution-backends.7.md +300 -0
  127. package/docs/getting-started.md +99 -0
  128. package/docs/index.md +41 -0
  129. package/docs/mcp-app-surface.7.md +235 -0
  130. package/docs/multi-agent-cli-mcp-surface.7.md +265 -0
  131. package/docs/multi-agent-eval-replay-harness.7.md +302 -0
  132. package/docs/multi-agent-operator-ux.7.md +314 -0
  133. package/docs/multi-agent-runtime-core.7.md +231 -0
  134. package/docs/multi-agent-topologies.7.md +103 -0
  135. package/docs/multi-agent-trust-policy-audit.7.md +154 -0
  136. package/docs/node-snapshot-diff-replay.7.md +135 -0
  137. package/docs/observability-cost-accounting.7.md +194 -0
  138. package/docs/operator-ux.7.md +180 -0
  139. package/docs/pipeline-runner.7.md +136 -0
  140. package/docs/project-index.md +261 -0
  141. package/docs/real-execution-backends.7.md +142 -0
  142. package/docs/release-and-migration.7.md +280 -0
  143. package/docs/release-tooling.7.md +159 -0
  144. package/docs/routines.md +48 -0
  145. package/docs/run-registry-control-plane.7.md +312 -0
  146. package/docs/run-retention-reclamation.7.md +191 -0
  147. package/docs/sandbox-profiles.7.md +137 -0
  148. package/docs/scheduled-tasks.md +80 -0
  149. package/docs/security-trust-hardening.7.md +117 -0
  150. package/docs/state-explosion-management.7.md +264 -0
  151. package/docs/state-node.7.md +96 -0
  152. package/docs/team-collaboration.7.md +207 -0
  153. package/docs/unix-principles.md +192 -0
  154. package/docs/verifier-gated-commit.7.md +140 -0
  155. package/docs/web-desktop-workbench.7.md +215 -0
  156. package/docs/worker-isolation.7.md +167 -0
  157. package/docs/workflow-app-framework.7.md +274 -0
  158. package/manifest/README.md +43 -0
  159. package/manifest/plugin.manifest.json +316 -0
  160. package/manifest/pricing.policy.json +14 -0
  161. package/package.json +79 -0
  162. package/scripts/agents/claude-p-agent.js +104 -0
  163. package/scripts/agents/claude-p-agent.sh +9 -0
  164. package/scripts/agents/cw-attest-keygen.js +55 -0
  165. package/scripts/agents/cw-attest-wrap.js +143 -0
  166. package/scripts/block-unapproved-tag.sh +39 -0
  167. package/scripts/bump-version.js +249 -0
  168. package/scripts/canonical-apps.js +171 -0
  169. package/scripts/cw.js +4 -0
  170. package/scripts/dist-drift-check.js +79 -0
  171. package/scripts/dogfood-architecture-review.js +237 -0
  172. package/scripts/dogfood-release.js +624 -0
  173. package/scripts/forward-ref-docs.js +73 -0
  174. package/scripts/gen-manifests.js +232 -0
  175. package/scripts/golden-path.js +300 -0
  176. package/scripts/mcp-server.js +4 -0
  177. package/scripts/new-feature.js +121 -0
  178. package/scripts/parity-check.js +213 -0
  179. package/scripts/release-check.js +118 -0
  180. package/scripts/release-flow.js +272 -0
  181. package/scripts/release-gate.sh +85 -0
  182. package/scripts/sync-project-index.js +387 -0
  183. package/scripts/validate-run-state-schema.js +126 -0
  184. package/scripts/verify-container-selfref.js +64 -0
  185. package/scripts/version-sync-check.js +237 -0
  186. package/skills/cool-workflow/SKILL.md +162 -0
  187. package/skills/cool-workflow/references/commands.md +282 -0
  188. package/tsconfig.json +16 -0
  189. package/ui/workbench/app.css +76 -0
  190. package/ui/workbench/app.js +159 -0
  191. package/ui/workbench/index.html +32 -0
  192. package/workflows/architecture-review.workflow.js +84 -0
  193. package/workflows/research-synthesis.workflow.js +47 -0
@@ -0,0 +1,362 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.createMultiAgentRun = createMultiAgentRun;
37
+ exports.transitionMultiAgentRun = transitionMultiAgentRun;
38
+ exports.createAgentRole = createAgentRole;
39
+ exports.createAgentGroup = createAgentGroup;
40
+ exports.assignAgentMembership = assignAgentMembership;
41
+ exports.createAgentFanout = createAgentFanout;
42
+ exports.collectAgentFanin = collectAgentFanin;
43
+ exports.showMultiAgentRun = showMultiAgentRun;
44
+ exports.showAgentRole = showAgentRole;
45
+ exports.showAgentGroup = showAgentGroup;
46
+ exports.showAgentMembership = showAgentMembership;
47
+ exports.showAgentFanout = showAgentFanout;
48
+ exports.showAgentFanin = showAgentFanin;
49
+ exports.blackboardSummary = blackboardSummary;
50
+ exports.blackboardGraph = blackboardGraph;
51
+ exports.resolveRunBlackboard = resolveRunBlackboard;
52
+ exports.createBlackboardTopic = createBlackboardTopic;
53
+ exports.postBlackboardMessage = postBlackboardMessage;
54
+ exports.listBlackboardMessages = listBlackboardMessages;
55
+ exports.putBlackboardContext = putBlackboardContext;
56
+ exports.addBlackboardArtifact = addBlackboardArtifact;
57
+ exports.listBlackboardArtifacts = listBlackboardArtifacts;
58
+ exports.snapshotBlackboard = snapshotBlackboard;
59
+ exports.recordCoordinatorDecision = recordCoordinatorDecision;
60
+ const state_1 = require("../state");
61
+ const report_1 = require("./report");
62
+ const cli_options_1 = require("./cli-options");
63
+ const ma = __importStar(require("../multi-agent"));
64
+ const cb = __importStar(require("../coordinator"));
65
+ function createMultiAgentRun(run, options = {}) {
66
+ const record = ma.createMultiAgentRun(run, {
67
+ id: (0, cli_options_1.stringOption)(options.id),
68
+ title: (0, cli_options_1.stringOption)(options.title),
69
+ objective: (0, cli_options_1.stringOption)(options.objective || options.reason),
70
+ parentMultiAgentRunId: (0, cli_options_1.stringOption)(options.parent || options.parentMultiAgentRunId),
71
+ phase: (0, cli_options_1.stringOption)(options.phase),
72
+ phaseId: (0, cli_options_1.stringOption)(options.phaseId),
73
+ blackboardId: (0, cli_options_1.stringOption)(options.blackboard || options.blackboardId),
74
+ topicIds: (0, cli_options_1.arrayOption)(options.topic || options.topicId || options.topics).map(String),
75
+ metadata: (0, cli_options_1.metadataOption)(options)
76
+ });
77
+ (0, report_1.writeReport)(run);
78
+ (0, state_1.saveCheckpoint)(run);
79
+ return record;
80
+ }
81
+ function transitionMultiAgentRun(run, multiAgentRunId, options = {}) {
82
+ const record = ma.transitionMultiAgentRun(run, multiAgentRunId, String(options.status || "running"), {
83
+ reason: (0, cli_options_1.stringOption)(options.reason),
84
+ actor: (0, cli_options_1.stringOption)(options.actor),
85
+ metadata: (0, cli_options_1.metadataOption)(options)
86
+ });
87
+ (0, report_1.writeReport)(run);
88
+ (0, state_1.saveCheckpoint)(run);
89
+ return record;
90
+ }
91
+ function createAgentRole(run, options = {}) {
92
+ const record = ma.createAgentRole(run, {
93
+ id: (0, cli_options_1.stringOption)(options.id),
94
+ multiAgentRunId: (0, cli_options_1.requiredStringOption)(options.multiAgentRun || options.multiAgentRunId || options["multi-agent-run"], "multi-agent run id"),
95
+ title: (0, cli_options_1.stringOption)(options.title),
96
+ responsibilities: (0, cli_options_1.arrayOption)(options.responsibility || options.responsibilities).map(String),
97
+ requiredEvidence: (0, cli_options_1.arrayOption)(options.requiredEvidence || options["required-evidence"]).map(String),
98
+ sandboxProfileHints: (0, cli_options_1.arrayOption)(options.sandbox || options.sandboxProfile || options.sandboxProfileHint || options["sandbox-profile"]).map(String),
99
+ expectedArtifacts: (0, cli_options_1.arrayOption)(options.expectedArtifact || options.expectedArtifacts || options["expected-artifact"]).map(String),
100
+ faninObligations: (0, cli_options_1.arrayOption)(options.faninObligation || options.faninObligations || options["fanin-obligation"]).map(String),
101
+ parentRoleId: (0, cli_options_1.stringOption)(options.parent || options.parentRoleId),
102
+ blackboardId: (0, cli_options_1.stringOption)(options.blackboard || options.blackboardId),
103
+ topicIds: (0, cli_options_1.arrayOption)(options.topic || options.topicId || options.topics).map(String),
104
+ metadata: (0, cli_options_1.metadataOption)(options)
105
+ });
106
+ (0, report_1.writeReport)(run);
107
+ (0, state_1.saveCheckpoint)(run);
108
+ return record;
109
+ }
110
+ function createAgentGroup(run, options = {}) {
111
+ const record = ma.createAgentGroup(run, {
112
+ id: (0, cli_options_1.stringOption)(options.id),
113
+ multiAgentRunId: (0, cli_options_1.requiredStringOption)(options.multiAgentRun || options.multiAgentRunId || options["multi-agent-run"], "multi-agent run id"),
114
+ title: (0, cli_options_1.stringOption)(options.title),
115
+ phase: (0, cli_options_1.stringOption)(options.phase),
116
+ phaseId: (0, cli_options_1.stringOption)(options.phaseId),
117
+ taskIds: (0, cli_options_1.arrayOption)(options.task || options.taskId || options.tasks).map(String),
118
+ parentGroupId: (0, cli_options_1.stringOption)(options.parent || options.parentGroupId),
119
+ blackboardId: (0, cli_options_1.stringOption)(options.blackboard || options.blackboardId),
120
+ topicIds: (0, cli_options_1.arrayOption)(options.topic || options.topicId || options.topics).map(String),
121
+ metadata: (0, cli_options_1.metadataOption)(options)
122
+ });
123
+ (0, report_1.writeReport)(run);
124
+ (0, state_1.saveCheckpoint)(run);
125
+ return record;
126
+ }
127
+ function assignAgentMembership(run, options = {}) {
128
+ const record = ma.assignAgentMembership(run, {
129
+ id: (0, cli_options_1.stringOption)(options.id),
130
+ multiAgentRunId: (0, cli_options_1.stringOption)(options.multiAgentRun || options.multiAgentRunId || options["multi-agent-run"]),
131
+ groupId: (0, cli_options_1.requiredStringOption)(options.group || options.groupId || options["multi-agent-group"], "group id"),
132
+ roleId: (0, cli_options_1.requiredStringOption)(options.role || options.roleId || options["multi-agent-role"], "role id"),
133
+ taskId: (0, cli_options_1.requiredStringOption)(options.task || options.taskId, "task id"),
134
+ workerId: (0, cli_options_1.stringOption)(options.worker || options.workerId),
135
+ dispatchId: (0, cli_options_1.stringOption)(options.dispatch || options.dispatchId),
136
+ fanoutId: (0, cli_options_1.stringOption)(options.fanout || options.fanoutId || options["multi-agent-fanout"]),
137
+ status: (0, cli_options_1.stringOption)(options.status),
138
+ blackboardId: (0, cli_options_1.stringOption)(options.blackboard || options.blackboardId),
139
+ topicIds: (0, cli_options_1.arrayOption)(options.topic || options.topicId || options.topics).map(String),
140
+ metadata: (0, cli_options_1.metadataOption)(options)
141
+ });
142
+ (0, report_1.writeReport)(run);
143
+ (0, state_1.saveCheckpoint)(run);
144
+ return record;
145
+ }
146
+ function createAgentFanout(run, options = {}) {
147
+ const record = ma.createAgentFanout(run, {
148
+ id: (0, cli_options_1.stringOption)(options.id),
149
+ multiAgentRunId: (0, cli_options_1.stringOption)(options.multiAgentRun || options.multiAgentRunId || options["multi-agent-run"]),
150
+ groupId: (0, cli_options_1.requiredStringOption)(options.group || options.groupId || options["multi-agent-group"], "group id"),
151
+ reason: (0, cli_options_1.stringOption)(options.reason) || "work split",
152
+ roleIds: (0, cli_options_1.arrayOption)(options.role || options.roleId || options.roles).map(String),
153
+ taskIds: (0, cli_options_1.arrayOption)(options.task || options.taskId || options.tasks).map(String),
154
+ workerIds: (0, cli_options_1.arrayOption)(options.worker || options.workerId || options.workers).map(String),
155
+ membershipIds: (0, cli_options_1.arrayOption)(options.membership || options.membershipId || options.memberships).map(String),
156
+ dispatchIds: (0, cli_options_1.arrayOption)(options.dispatch || options.dispatchId || options.dispatches).map(String),
157
+ concurrencyLimit: (0, cli_options_1.numberOption)(options.limit || options.concurrency || options.concurrencyLimit),
158
+ sandboxProfileChoices: (0, cli_options_1.parseSandboxChoices)(options),
159
+ expectedReturnShape: (0, cli_options_1.stringOption)(options.expectedReturnShape || options["expected-return-shape"]),
160
+ blackboardId: (0, cli_options_1.stringOption)(options.blackboard || options.blackboardId),
161
+ topicIds: (0, cli_options_1.arrayOption)(options.topic || options.topicId || options.topics).map(String),
162
+ metadata: (0, cli_options_1.metadataOption)(options)
163
+ });
164
+ (0, report_1.writeReport)(run);
165
+ (0, state_1.saveCheckpoint)(run);
166
+ return record;
167
+ }
168
+ function collectAgentFanin(run, options = {}) {
169
+ const record = ma.collectAgentFanin(run, {
170
+ id: (0, cli_options_1.stringOption)(options.id),
171
+ multiAgentRunId: (0, cli_options_1.stringOption)(options.multiAgentRun || options.multiAgentRunId || options["multi-agent-run"]),
172
+ groupId: (0, cli_options_1.stringOption)(options.group || options.groupId || options["multi-agent-group"]),
173
+ fanoutId: (0, cli_options_1.stringOption)(options.fanout || options.fanoutId || options["multi-agent-fanout"]),
174
+ requiredRoleIds: (0, cli_options_1.arrayOption)(options.requiredRole || options.requiredRoleId || options["required-role"]).map(String),
175
+ strategy: (0, cli_options_1.stringOption)(options.strategy),
176
+ blackboardId: (0, cli_options_1.stringOption)(options.blackboard || options.blackboardId),
177
+ topicIds: (0, cli_options_1.arrayOption)(options.topic || options.topicId || options.topics).map(String),
178
+ metadata: (0, cli_options_1.metadataOption)(options)
179
+ });
180
+ (0, report_1.writeReport)(run);
181
+ (0, state_1.saveCheckpoint)(run);
182
+ return record;
183
+ }
184
+ function showMultiAgentRun(run, multiAgentRunId) {
185
+ const record = ma.getMultiAgentRun(run, multiAgentRunId);
186
+ if (!record)
187
+ throw new Error(`Unknown MultiAgentRun id for run ${run.id}: ${multiAgentRunId}`);
188
+ return record;
189
+ }
190
+ function showAgentRole(run, roleId) {
191
+ const record = ma.getAgentRole(run, roleId);
192
+ if (!record)
193
+ throw new Error(`Unknown AgentRole id for run ${run.id}: ${roleId}`);
194
+ return record;
195
+ }
196
+ function showAgentGroup(run, groupId) {
197
+ const record = ma.getAgentGroup(run, groupId);
198
+ if (!record)
199
+ throw new Error(`Unknown AgentGroup id for run ${run.id}: ${groupId}`);
200
+ return record;
201
+ }
202
+ function showAgentMembership(run, membershipId) {
203
+ const record = ma.getAgentMembership(run, membershipId);
204
+ if (!record)
205
+ throw new Error(`Unknown AgentMembership id for run ${run.id}: ${membershipId}`);
206
+ return record;
207
+ }
208
+ function showAgentFanout(run, fanoutId) {
209
+ const record = ma.getAgentFanout(run, fanoutId);
210
+ if (!record)
211
+ throw new Error(`Unknown AgentFanout id for run ${run.id}: ${fanoutId}`);
212
+ return record;
213
+ }
214
+ function showAgentFanin(run, faninId) {
215
+ const record = ma.getAgentFanin(run, faninId);
216
+ if (!record)
217
+ throw new Error(`Unknown AgentFanin id for run ${run.id}: ${faninId}`);
218
+ return record;
219
+ }
220
+ function blackboardSummary(run, options = {}) {
221
+ return cb.summarizeBlackboard(run, (0, cli_options_1.stringOption)(options.blackboard || options.blackboardId));
222
+ }
223
+ function blackboardGraph(run) {
224
+ return cb.buildBlackboardGraph(run);
225
+ }
226
+ function resolveRunBlackboard(run, options = {}) {
227
+ const board = cb.resolveBlackboard(run, {
228
+ id: (0, cli_options_1.stringOption)(options.id || options.blackboard || options.blackboardId),
229
+ title: (0, cli_options_1.stringOption)(options.title),
230
+ multiAgentRunId: (0, cli_options_1.stringOption)(options.multiAgentRun || options.multiAgentRunId || options["multi-agent-run"]),
231
+ groupId: (0, cli_options_1.stringOption)(options.group || options.groupId || options["multi-agent-group"]),
232
+ roleId: (0, cli_options_1.stringOption)(options.role || options.roleId || options["multi-agent-role"]),
233
+ membershipId: (0, cli_options_1.stringOption)(options.membership || options.membershipId || options["multi-agent-membership"]),
234
+ author: (0, cli_options_1.parseBlackboardAuthor)(options),
235
+ scope: (0, cli_options_1.parseBlackboardScope)(options),
236
+ tags: (0, cli_options_1.arrayOption)(options.tag || options.tags).map(String),
237
+ metadata: (0, cli_options_1.metadataOption)(options)
238
+ });
239
+ (0, report_1.writeReport)(run);
240
+ (0, state_1.saveCheckpoint)(run);
241
+ return board;
242
+ }
243
+ function createBlackboardTopic(run, options = {}) {
244
+ const topic = cb.createBlackboardTopic(run, {
245
+ id: (0, cli_options_1.stringOption)(options.id),
246
+ title: (0, cli_options_1.requiredStringOption)(options.title, "topic title"),
247
+ description: (0, cli_options_1.stringOption)(options.description),
248
+ blackboardId: (0, cli_options_1.stringOption)(options.blackboard || options.blackboardId),
249
+ author: (0, cli_options_1.parseBlackboardAuthor)(options),
250
+ scope: (0, cli_options_1.parseBlackboardScope)(options),
251
+ tags: (0, cli_options_1.arrayOption)(options.tag || options.tags).map(String),
252
+ metadata: (0, cli_options_1.metadataOption)(options)
253
+ });
254
+ (0, report_1.writeReport)(run);
255
+ (0, state_1.saveCheckpoint)(run);
256
+ return topic;
257
+ }
258
+ function postBlackboardMessage(run, options = {}) {
259
+ const message = cb.postBlackboardMessage(run, {
260
+ id: (0, cli_options_1.stringOption)(options.id),
261
+ topicId: (0, cli_options_1.requiredStringOption)(options.topic || options.topicId, "topic id"),
262
+ body: (0, cli_options_1.requiredStringOption)(options.body || options.message, "message body"),
263
+ blackboardId: (0, cli_options_1.stringOption)(options.blackboard || options.blackboardId),
264
+ replyToId: (0, cli_options_1.stringOption)(options.replyTo || options.replyToId || options.parent),
265
+ visibility: (0, cli_options_1.stringOption)(options.visibility),
266
+ author: (0, cli_options_1.parseBlackboardAuthor)(options),
267
+ scope: (0, cli_options_1.parseBlackboardScope)(options),
268
+ evidenceRefs: (0, cli_options_1.arrayOption)(options.evidence || options.evidenceRef || options["evidence-ref"]).map(String),
269
+ artifactRefIds: (0, cli_options_1.arrayOption)(options.artifact || options.artifactRef || options.artifactRefId || options["artifact-ref"]).map(String),
270
+ auditEventIds: (0, cli_options_1.arrayOption)(options.audit || options.auditEvent || options.auditEventId || options["audit-event"]).map(String),
271
+ parentIds: (0, cli_options_1.arrayOption)(options.parentId || options.parentIds).map(String),
272
+ tags: (0, cli_options_1.arrayOption)(options.tag || options.tags).map(String),
273
+ metadata: (0, cli_options_1.metadataOption)(options)
274
+ });
275
+ (0, report_1.writeReport)(run);
276
+ (0, state_1.saveCheckpoint)(run);
277
+ return message;
278
+ }
279
+ function listBlackboardMessages(run, options = {}) {
280
+ return cb.listBlackboardMessages(run, {
281
+ topicId: (0, cli_options_1.stringOption)(options.topic || options.topicId),
282
+ blackboardId: (0, cli_options_1.stringOption)(options.blackboard || options.blackboardId)
283
+ });
284
+ }
285
+ function putBlackboardContext(run, options = {}) {
286
+ const context = cb.putBlackboardContext(run, {
287
+ id: (0, cli_options_1.stringOption)(options.id),
288
+ topicId: (0, cli_options_1.requiredStringOption)(options.topic || options.topicId, "topic id"),
289
+ kind: (0, cli_options_1.requiredStringOption)(options.kind, "context kind"),
290
+ key: (0, cli_options_1.stringOption)(options.key),
291
+ value: (0, cli_options_1.requiredStringOption)(options.value || options.body, "context value"),
292
+ blackboardId: (0, cli_options_1.stringOption)(options.blackboard || options.blackboardId),
293
+ supersedesContextIds: (0, cli_options_1.arrayOption)(options.supersedes || options.supersedesContext || options.supersedesContextId).map(String),
294
+ author: (0, cli_options_1.parseBlackboardAuthor)(options),
295
+ scope: (0, cli_options_1.parseBlackboardScope)(options),
296
+ evidenceRefs: (0, cli_options_1.arrayOption)(options.evidence || options.evidenceRef || options["evidence-ref"]).map(String),
297
+ artifactRefIds: (0, cli_options_1.arrayOption)(options.artifact || options.artifactRef || options.artifactRefId || options["artifact-ref"]).map(String),
298
+ parentIds: (0, cli_options_1.arrayOption)(options.parent || options.parentId || options.parentIds).map(String),
299
+ tags: (0, cli_options_1.arrayOption)(options.tag || options.tags).map(String),
300
+ metadata: (0, cli_options_1.metadataOption)(options)
301
+ });
302
+ (0, report_1.writeReport)(run);
303
+ (0, state_1.saveCheckpoint)(run);
304
+ return context;
305
+ }
306
+ function addBlackboardArtifact(run, options = {}) {
307
+ const artifact = cb.addBlackboardArtifact(run, {
308
+ id: (0, cli_options_1.stringOption)(options.id),
309
+ topicId: (0, cli_options_1.stringOption)(options.topic || options.topicId),
310
+ kind: (0, cli_options_1.requiredStringOption)(options.kind, "artifact kind"),
311
+ path: (0, cli_options_1.stringOption)(options.path),
312
+ locator: (0, cli_options_1.stringOption)(options.locator),
313
+ blackboardId: (0, cli_options_1.stringOption)(options.blackboard || options.blackboardId),
314
+ owner: (0, cli_options_1.parseBlackboardAuthor)({ ...options, authorKind: options.ownerKind || options.authorKind, authorId: options.owner || options.ownerId || options.authorId }),
315
+ author: (0, cli_options_1.parseBlackboardAuthor)(options),
316
+ scope: (0, cli_options_1.parseBlackboardScope)(options),
317
+ source: (0, cli_options_1.stringOption)(options.source),
318
+ provenance: (0, cli_options_1.parseBlackboardLinks)(run.id, options),
319
+ evidenceRefs: (0, cli_options_1.arrayOption)(options.evidence || options.evidenceRef || options["evidence-ref"]).map(String),
320
+ auditEventIds: (0, cli_options_1.arrayOption)(options.audit || options.auditEvent || options.auditEventId || options["audit-event"]).map(String),
321
+ parentIds: (0, cli_options_1.arrayOption)(options.parent || options.parentId || options.parentIds).map(String),
322
+ tags: (0, cli_options_1.arrayOption)(options.tag || options.tags).map(String),
323
+ metadata: (0, cli_options_1.metadataOption)(options)
324
+ });
325
+ (0, report_1.writeReport)(run);
326
+ (0, state_1.saveCheckpoint)(run);
327
+ return artifact;
328
+ }
329
+ function listBlackboardArtifacts(run, options = {}) {
330
+ return cb.listBlackboardArtifacts(run, {
331
+ topicId: (0, cli_options_1.stringOption)(options.topic || options.topicId),
332
+ blackboardId: (0, cli_options_1.stringOption)(options.blackboard || options.blackboardId)
333
+ });
334
+ }
335
+ function snapshotBlackboard(run, options = {}) {
336
+ const snapshot = cb.createBlackboardSnapshot(run, (0, cli_options_1.stringOption)(options.blackboard || options.blackboardId));
337
+ (0, report_1.writeReport)(run);
338
+ (0, state_1.saveCheckpoint)(run);
339
+ return snapshot;
340
+ }
341
+ function recordCoordinatorDecision(run, options = {}) {
342
+ const decision = cb.recordCoordinatorDecision(run, {
343
+ id: (0, cli_options_1.stringOption)(options.id),
344
+ blackboardId: (0, cli_options_1.stringOption)(options.blackboard || options.blackboardId),
345
+ kind: (0, cli_options_1.requiredStringOption)(options.kind, "decision kind"),
346
+ outcome: (0, cli_options_1.requiredStringOption)(options.outcome, "decision outcome"),
347
+ reason: (0, cli_options_1.requiredStringOption)(options.reason, "decision reason"),
348
+ subjectIds: (0, cli_options_1.arrayOption)(options.subject || options.subjectId || options.subjectIds).map(String),
349
+ topicId: (0, cli_options_1.stringOption)(options.topic || options.topicId),
350
+ author: (0, cli_options_1.parseBlackboardAuthor)({ ...options, authorKind: options.authorKind || "coordinator", authorId: options.authorId || "cw" }),
351
+ scope: (0, cli_options_1.parseBlackboardScope)(options),
352
+ evidenceRefs: (0, cli_options_1.arrayOption)(options.evidence || options.evidenceRef || options["evidence-ref"]).map(String),
353
+ artifactRefIds: (0, cli_options_1.arrayOption)(options.artifact || options.artifactRef || options.artifactRefId || options["artifact-ref"]).map(String),
354
+ messageIds: (0, cli_options_1.arrayOption)(options.message || options.messageId || options.messageIds).map(String),
355
+ parentIds: (0, cli_options_1.arrayOption)(options.parent || options.parentId || options.parentIds).map(String),
356
+ tags: (0, cli_options_1.arrayOption)(options.tag || options.tags).map(String),
357
+ metadata: (0, cli_options_1.metadataOption)(options)
358
+ });
359
+ (0, report_1.writeReport)(run);
360
+ (0, state_1.saveCheckpoint)(run);
361
+ return decision;
362
+ }