cool-workflow 0.1.98 → 0.2.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 (306) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/README.md +11 -2
  4. package/apps/architecture-review/app.json +1 -1
  5. package/apps/architecture-review-fast/app.json +1 -1
  6. package/apps/end-to-end-golden-path/app.json +1 -1
  7. package/apps/pr-review-fix-ci/app.json +1 -1
  8. package/apps/release-cut/app.json +1 -1
  9. package/apps/research-synthesis/app.json +1 -1
  10. package/dist/cli/dispatch.js +236 -0
  11. package/dist/cli/entry.js +120 -0
  12. package/dist/cli/io.js +21 -4
  13. package/dist/cli/parseargv.js +157 -0
  14. package/dist/cli.js +6 -33
  15. package/dist/core/capability-table.js +3534 -0
  16. package/dist/core/format/help.js +314 -0
  17. package/dist/{state-explosion/format.js → core/format/state-explosion-text.js} +10 -1
  18. package/dist/core/hash.js +137 -0
  19. package/dist/core/multi-agent/candidate-scoring.js +219 -0
  20. package/dist/core/multi-agent/collaboration.js +481 -0
  21. package/dist/core/multi-agent/coordinator.js +515 -0
  22. package/dist/core/multi-agent/eval-replay.js +306 -0
  23. package/dist/core/multi-agent/runtime.js +929 -0
  24. package/dist/core/multi-agent/topology.js +298 -0
  25. package/dist/core/multi-agent/trust-policy.js +197 -0
  26. package/dist/core/pipeline/commit-gate.js +320 -0
  27. package/dist/{pipeline-contract.js → core/pipeline/contract.js} +24 -37
  28. package/dist/core/pipeline/dispatch.js +103 -0
  29. package/dist/core/pipeline/drive-decide.js +227 -0
  30. package/dist/core/pipeline/error-feedback.js +161 -0
  31. package/dist/core/pipeline/loop-expansion.js +124 -0
  32. package/dist/{result-normalize.js → core/pipeline/result-normalize.js} +14 -37
  33. package/dist/core/pipeline/runner.js +230 -0
  34. package/dist/{contract-migration.js → core/state/contract-migration.js} +68 -92
  35. package/dist/{state-migrations.js → core/state/migrations.js} +103 -96
  36. package/dist/core/state/node-projection.js +95 -0
  37. package/dist/core/state/node-snapshot.js +230 -0
  38. package/dist/core/state/run-paths.js +93 -0
  39. package/dist/{schema-validate.js → core/state/schema-validate.js} +35 -28
  40. package/dist/core/state/schema.js +50 -0
  41. package/dist/core/state/state-explosion/digest.js +243 -0
  42. package/dist/core/state/state-explosion/graph.js +527 -0
  43. package/dist/{state-explosion → core/state/state-explosion}/helpers.js +34 -3
  44. package/dist/core/state/state-explosion/report.js +187 -0
  45. package/dist/{state-explosion → core/state/state-explosion}/size.js +25 -7
  46. package/dist/{state-node.js → core/state/state-node.js} +90 -113
  47. package/dist/core/state/types.js +19 -0
  48. package/dist/{validation.js → core/state/validation.js} +64 -131
  49. package/dist/core/trust/evidence-grounding.js +134 -0
  50. package/dist/core/trust/ledger.js +199 -0
  51. package/dist/{telemetry-attestation.js → core/trust/telemetry-attestation.js} +94 -68
  52. package/dist/core/trust/telemetry-ledger.js +127 -0
  53. package/dist/core/types.js +20 -0
  54. package/dist/core/version.js +16 -0
  55. package/dist/{workflow-app-framework.js → core/workflow-apps/app-schema.js} +337 -426
  56. package/dist/mcp/dispatch.js +104 -0
  57. package/dist/mcp/server.js +144 -0
  58. package/dist/mcp-server.js +6 -84
  59. package/dist/{agent-config.js → shell/agent-config.js} +118 -71
  60. package/dist/shell/app-run-cli.js +88 -0
  61. package/dist/shell/audit-cli.js +259 -0
  62. package/dist/shell/audit-provenance.js +83 -0
  63. package/dist/shell/candidate-scoring-io.js +459 -0
  64. package/dist/shell/collaboration-io.js +264 -0
  65. package/dist/shell/commit-summary.js +104 -0
  66. package/dist/shell/commit.js +290 -0
  67. package/dist/shell/coordinator-io.js +476 -0
  68. package/dist/shell/demo-cli.js +19 -0
  69. package/dist/shell/dispatch.js +162 -0
  70. package/dist/{doctor.js → shell/doctor.js} +123 -56
  71. package/dist/shell/drive.js +873 -0
  72. package/dist/shell/error-feedback-io.js +305 -0
  73. package/dist/shell/eval-io.js +473 -0
  74. package/dist/{multi-agent-eval/format.js → shell/eval-text.js} +78 -49
  75. package/dist/{evidence-reasoning.js → shell/evidence-reasoning.js} +124 -255
  76. package/dist/shell/exec-backend-cli.js +88 -0
  77. package/dist/shell/execution-backend/agent.js +475 -0
  78. package/dist/shell/execution-backend/ci.js +15 -0
  79. package/dist/shell/execution-backend/container.js +69 -0
  80. package/dist/shell/execution-backend/envelopes.js +55 -0
  81. package/dist/shell/execution-backend/local.js +113 -0
  82. package/dist/shell/execution-backend/probes.js +175 -0
  83. package/dist/shell/execution-backend/registry.js +402 -0
  84. package/dist/shell/execution-backend/remote.js +128 -0
  85. package/dist/shell/execution-backend/types.js +11 -0
  86. package/dist/shell/feedback-cli.js +81 -0
  87. package/dist/shell/feedback-operations.js +48 -0
  88. package/dist/shell/fs-atomic.js +276 -0
  89. package/dist/shell/harness.js +98 -0
  90. package/dist/shell/ledger-cli.js +212 -0
  91. package/dist/shell/ledger-io.js +169 -0
  92. package/dist/shell/man-cli.js +89 -0
  93. package/dist/shell/metrics-cli.js +98 -0
  94. package/dist/shell/multi-agent-cli.js +1002 -0
  95. package/dist/shell/multi-agent-host.js +563 -0
  96. package/dist/shell/multi-agent-io.js +387 -0
  97. package/dist/{multi-agent-operator-ux.js → shell/multi-agent-operator-ux.js} +234 -191
  98. package/dist/shell/node-store.js +124 -0
  99. package/dist/{observability/format.js → shell/observability-format.js} +7 -1
  100. package/dist/{observability/intake.js → shell/observability-intake.js} +79 -56
  101. package/dist/{observability.js → shell/observability.js} +159 -332
  102. package/dist/{onramp.js → shell/onramp.js} +11 -0
  103. package/dist/{operator-ux/format.js → shell/operator-ux-text.js} +250 -239
  104. package/dist/shell/operator-ux.js +431 -0
  105. package/dist/shell/orchestrator.js +231 -0
  106. package/dist/shell/pipeline-cli.js +667 -0
  107. package/dist/shell/pipeline.js +217 -0
  108. package/dist/shell/reclamation-io.js +1366 -0
  109. package/dist/shell/registry-cli.js +329 -0
  110. package/dist/{remote-source.js → shell/remote-source.js} +2 -2
  111. package/dist/shell/report-cli.js +101 -0
  112. package/dist/shell/report-view-cli.js +117 -0
  113. package/dist/{orchestrator → shell}/report.js +289 -282
  114. package/dist/shell/reporter.js +62 -0
  115. package/dist/shell/run-export-cli.js +106 -0
  116. package/dist/shell/run-export.js +680 -0
  117. package/dist/shell/run-registry-io.js +1014 -0
  118. package/dist/shell/run-store.js +164 -0
  119. package/dist/{sandbox-profile.js → shell/sandbox-profile.js} +134 -95
  120. package/dist/{scheduler.js → shell/scheduler-io.js} +248 -48
  121. package/dist/shell/scheduling-io.js +311 -0
  122. package/dist/shell/state-cli.js +181 -0
  123. package/dist/shell/state-explosion-cli.js +197 -0
  124. package/dist/shell/telemetry-cli.js +85 -0
  125. package/dist/{telemetry-demo.js → shell/telemetry-demo.js} +149 -119
  126. package/dist/shell/telemetry-ledger-io.js +132 -0
  127. package/dist/{term.js → shell/term.js} +36 -46
  128. package/dist/shell/topology-io.js +361 -0
  129. package/dist/shell/trust-audit.js +471 -0
  130. package/dist/{multi-agent-trust.js → shell/trust-policy-io.js} +67 -205
  131. package/dist/shell/verifier.js +48 -0
  132. package/dist/shell/workbench-host.js +250 -0
  133. package/dist/shell/workbench-text.js +18 -0
  134. package/dist/shell/workbench.js +175 -0
  135. package/dist/shell/worker-cli.js +124 -0
  136. package/dist/shell/worker-isolation.js +852 -0
  137. package/dist/shell/workflow-app-loader.js +650 -0
  138. package/docs/agent-delegation-drive.7.md +2 -0
  139. package/docs/cli-mcp-parity.7.md +280 -219
  140. package/docs/contract-migration-tooling.7.md +2 -0
  141. package/docs/control-plane-scheduling.7.md +2 -0
  142. package/docs/durable-state-and-locking.7.md +2 -0
  143. package/docs/evidence-adoption-reasoning-chain.7.md +2 -0
  144. package/docs/execution-backends.7.md +2 -0
  145. package/docs/multi-agent-cli-mcp-surface.7.md +2 -0
  146. package/docs/multi-agent-eval-replay-harness.7.md +2 -0
  147. package/docs/multi-agent-operator-ux.7.md +2 -0
  148. package/docs/node-snapshot-diff-replay.7.md +2 -0
  149. package/docs/observability-cost-accounting.7.md +2 -0
  150. package/docs/project-index.md +132 -71
  151. package/docs/real-execution-backends.7.md +2 -0
  152. package/docs/release-and-migration.7.md +2 -0
  153. package/docs/release-tooling.7.md +2 -0
  154. package/docs/run-registry-control-plane.7.md +2 -0
  155. package/docs/run-retention-reclamation.7.md +23 -0
  156. package/docs/state-explosion-management.7.md +2 -0
  157. package/docs/team-collaboration.7.md +2 -0
  158. package/docs/web-desktop-workbench.7.md +2 -0
  159. package/manifest/plugin.manifest.json +1 -1
  160. package/manifest/source-context-profiles.json +9 -13
  161. package/package.json +1 -1
  162. package/scripts/agents/cw-attest-wrap.js +2 -2
  163. package/scripts/bump-version.js +4 -3
  164. package/scripts/canonical-apps.js +4 -4
  165. package/scripts/dogfood-architecture-review.js +2 -3
  166. package/scripts/dogfood-release.js +3 -3
  167. package/scripts/gen-parity-doc.js +15 -2
  168. package/scripts/golden-path.js +4 -4
  169. package/scripts/onramp-check.js +1 -1
  170. package/scripts/parity-check.js +38 -21
  171. package/scripts/release-flow.js +2 -2
  172. package/scripts/sync-project-index.js +51 -27
  173. package/scripts/validate-run-state-schema.js +2 -2
  174. package/scripts/version-sync-check.js +30 -30
  175. package/dist/candidate-scoring.js +0 -729
  176. package/dist/capability-core.js +0 -1189
  177. package/dist/capability-registry.js +0 -885
  178. package/dist/cli/command-surface.js +0 -494
  179. package/dist/cli/format.js +0 -56
  180. package/dist/cli/handlers/audit.js +0 -82
  181. package/dist/cli/handlers/blackboard.js +0 -81
  182. package/dist/cli/handlers/candidate.js +0 -40
  183. package/dist/cli/handlers/clones.js +0 -34
  184. package/dist/cli/handlers/collaboration.js +0 -61
  185. package/dist/cli/handlers/eval.js +0 -40
  186. package/dist/cli/handlers/ledger.js +0 -169
  187. package/dist/cli/handlers/maintenance.js +0 -107
  188. package/dist/cli/handlers/multi-agent.js +0 -165
  189. package/dist/cli/handlers/node.js +0 -41
  190. package/dist/cli/handlers/operational.js +0 -155
  191. package/dist/cli/handlers/operator.js +0 -146
  192. package/dist/cli/handlers/registry.js +0 -68
  193. package/dist/cli/handlers/run.js +0 -153
  194. package/dist/cli/handlers/scheduling.js +0 -132
  195. package/dist/cli/handlers/workbench.js +0 -41
  196. package/dist/cli/handlers/worker.js +0 -45
  197. package/dist/cli/run-summary.js +0 -45
  198. package/dist/clones.js +0 -162
  199. package/dist/collaboration.js +0 -726
  200. package/dist/commit.js +0 -592
  201. package/dist/compare.js +0 -18
  202. package/dist/coordinator/classify.js +0 -45
  203. package/dist/coordinator/paths.js +0 -42
  204. package/dist/coordinator/util.js +0 -126
  205. package/dist/coordinator.js +0 -990
  206. package/dist/daemon.js +0 -44
  207. package/dist/dispatch.js +0 -250
  208. package/dist/drive.js +0 -864
  209. package/dist/error-feedback.js +0 -419
  210. package/dist/evidence-grounding.js +0 -184
  211. package/dist/execution-backend/agent.js +0 -354
  212. package/dist/execution-backend/probes.js +0 -112
  213. package/dist/execution-backend/util.js +0 -47
  214. package/dist/execution-backend.js +0 -961
  215. package/dist/gates.js +0 -48
  216. package/dist/harness.js +0 -61
  217. package/dist/ledger.js +0 -313
  218. package/dist/loop-expansion.js +0 -60
  219. package/dist/mcp/tool-call.js +0 -470
  220. package/dist/mcp/tool-definitions.js +0 -1066
  221. package/dist/mcp-surface.js +0 -30
  222. package/dist/multi-agent/graph.js +0 -84
  223. package/dist/multi-agent/helpers.js +0 -141
  224. package/dist/multi-agent/ids.js +0 -20
  225. package/dist/multi-agent/paths.js +0 -22
  226. package/dist/multi-agent-eval/normalize.js +0 -51
  227. package/dist/multi-agent-eval.js +0 -678
  228. package/dist/multi-agent-host.js +0 -777
  229. package/dist/multi-agent.js +0 -984
  230. package/dist/node-projection.js +0 -59
  231. package/dist/node-snapshot.js +0 -260
  232. package/dist/operator-ux.js +0 -631
  233. package/dist/orchestrator/app-operations.js +0 -211
  234. package/dist/orchestrator/audit-operations.js +0 -182
  235. package/dist/orchestrator/candidate-operations.js +0 -117
  236. package/dist/orchestrator/cli-options.js +0 -294
  237. package/dist/orchestrator/collaboration-operations.js +0 -86
  238. package/dist/orchestrator/feedback-operations.js +0 -81
  239. package/dist/orchestrator/host-operations.js +0 -78
  240. package/dist/orchestrator/lifecycle-operations.js +0 -650
  241. package/dist/orchestrator/migration-operations.js +0 -44
  242. package/dist/orchestrator/multi-agent-operations.js +0 -362
  243. package/dist/orchestrator/topology-operations.js +0 -84
  244. package/dist/orchestrator.js +0 -925
  245. package/dist/pipeline-runner.js +0 -285
  246. package/dist/reclamation/hash.js +0 -72
  247. package/dist/reclamation.js +0 -812
  248. package/dist/reporter.js +0 -67
  249. package/dist/run-export.js +0 -815
  250. package/dist/run-registry/derive.js +0 -175
  251. package/dist/run-registry/format.js +0 -124
  252. package/dist/run-registry/gc.js +0 -251
  253. package/dist/run-registry/policy.js +0 -16
  254. package/dist/run-registry/queue.js +0 -115
  255. package/dist/run-registry.js +0 -850
  256. package/dist/run-state-schema.js +0 -68
  257. package/dist/scheduling.js +0 -184
  258. package/dist/state-explosion.js +0 -1014
  259. package/dist/state.js +0 -367
  260. package/dist/telemetry-ledger.js +0 -196
  261. package/dist/topology.js +0 -565
  262. package/dist/triggers.js +0 -184
  263. package/dist/trust-audit.js +0 -644
  264. package/dist/types/blackboard.js +0 -2
  265. package/dist/types/candidate.js +0 -2
  266. package/dist/types/collaboration.js +0 -2
  267. package/dist/types/core.js +0 -2
  268. package/dist/types/drive.js +0 -10
  269. package/dist/types/error-feedback.js +0 -2
  270. package/dist/types/evidence-reasoning.js +0 -2
  271. package/dist/types/execution-backend.js +0 -2
  272. package/dist/types/multi-agent.js +0 -2
  273. package/dist/types/observability.js +0 -2
  274. package/dist/types/pipeline.js +0 -2
  275. package/dist/types/reclamation.js +0 -8
  276. package/dist/types/report-bundle.js +0 -6
  277. package/dist/types/result.js +0 -2
  278. package/dist/types/run-registry.js +0 -2
  279. package/dist/types/run.js +0 -2
  280. package/dist/types/sandbox.js +0 -2
  281. package/dist/types/schedule.js +0 -2
  282. package/dist/types/state-node.js +0 -2
  283. package/dist/types/topology.js +0 -2
  284. package/dist/types/trust.js +0 -2
  285. package/dist/types/workbench.js +0 -2
  286. package/dist/types/worker.js +0 -2
  287. package/dist/types/workflow-app.js +0 -2
  288. package/dist/types.js +0 -44
  289. package/dist/util/fingerprint.js +0 -19
  290. package/dist/util/fingerprint.test.js +0 -27
  291. package/dist/verifier.js +0 -78
  292. package/dist/version.js +0 -8
  293. package/dist/workbench-host.js +0 -192
  294. package/dist/workbench.js +0 -192
  295. package/dist/worker-accept/acceptance.js +0 -114
  296. package/dist/worker-accept/blackboard-fanout.js +0 -80
  297. package/dist/worker-accept/blackboard-linkage.js +0 -19
  298. package/dist/worker-accept/context.js +0 -2
  299. package/dist/worker-accept/telemetry-ledger.js +0 -126
  300. package/dist/worker-accept/validation.js +0 -77
  301. package/dist/worker-accept/verifier-completion.js +0 -73
  302. package/dist/worker-isolation/helpers.js +0 -51
  303. package/dist/worker-isolation/paths.js +0 -46
  304. package/dist/worker-isolation.js +0 -656
  305. package/dist/workflow-api.js +0 -131
  306. /package/dist/{types → core/types}/boundary.js +0 -0
@@ -1,44 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.migrationList = migrationList;
7
- exports.migrationCheck = migrationCheck;
8
- exports.migrationProve = migrationProve;
9
- exports.loadMigrationSnapshot = loadMigrationSnapshot;
10
- // Contract-migration domain operations (v0.1.40 self-audit P3 router pattern).
11
- // Carved out of CoolWorkflowRunner; pure functions (no instance state). Behavior
12
- // is identical to the inline versions.
13
- const node_fs_1 = __importDefault(require("node:fs"));
14
- const node_path_1 = __importDefault(require("node:path"));
15
- const state_1 = require("../state");
16
- const contract_migration_1 = require("../contract-migration");
17
- function migrationList() {
18
- return { contracts: (0, contract_migration_1.listMigrationContracts)() };
19
- }
20
- function migrationCheck(target, options = {}) {
21
- const { snapshot, contract } = loadMigrationSnapshot(target, options);
22
- return (0, contract_migration_1.checkMigration)(contract, snapshot);
23
- }
24
- function migrationProve(target, options = {}) {
25
- const { snapshot, contract, dir } = loadMigrationSnapshot(target, options);
26
- const proof = (0, contract_migration_1.proveMigration)(contract, snapshot);
27
- // Append-only: persist the proof beside the target, NEVER overwriting source.
28
- try {
29
- (0, state_1.writeJson)(node_path_1.default.join(dir, "migration", `${proof.fingerprint.replace("sha256:", "").slice(0, 16)}.json`), proof);
30
- }
31
- catch {
32
- /* read-only target — the proof is still returned */
33
- }
34
- return proof;
35
- }
36
- function loadMigrationSnapshot(target, options) {
37
- const contract = options.contract === "workflow-app" ? "workflow-app" : "run-state";
38
- const file = node_fs_1.default.existsSync(target) && node_fs_1.default.statSync(target).isFile()
39
- ? node_path_1.default.resolve(target)
40
- : node_path_1.default.join(process.cwd(), ".cw", "runs", target, "state.json");
41
- if (!node_fs_1.default.existsSync(file))
42
- throw new Error(`Migration target not found: ${target}`);
43
- return { snapshot: (0, state_1.readJson)(file), contract, dir: node_path_1.default.dirname(file) };
44
- }
@@ -1,362 +0,0 @@
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
- }
@@ -1,84 +0,0 @@
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.listTopologies = listTopologies;
37
- exports.showTopology = showTopology;
38
- exports.validateTopology = validateTopology;
39
- exports.applyTopology = applyTopology;
40
- exports.showTopologyRun = showTopologyRun;
41
- exports.topologySummary = topologySummary;
42
- exports.topologyGraph = topologyGraph;
43
- const state_1 = require("../state");
44
- const report_1 = require("./report");
45
- const cli_options_1 = require("./cli-options");
46
- const topo = __importStar(require("../topology"));
47
- function listTopologies() {
48
- return topo.listTopologyDefinitions();
49
- }
50
- function showTopology(topologyId) {
51
- const definition = topo.getTopologyDefinition(topologyId);
52
- if (!definition)
53
- throw new Error(`Unknown topology id: ${topologyId}`);
54
- return definition;
55
- }
56
- function validateTopology(topologyId) {
57
- return topo.validateTopologyDefinition(topologyId);
58
- }
59
- function applyTopology(run, topologyId, options = {}) {
60
- const record = topo.applyTopology(run, topologyId, {
61
- id: (0, cli_options_1.stringOption)(options.id),
62
- title: (0, cli_options_1.stringOption)(options.title),
63
- multiAgentRunId: (0, cli_options_1.stringOption)(options.multiAgentRun || options.multiAgentRunId || options["multi-agent-run"]),
64
- blackboardId: (0, cli_options_1.stringOption)(options.blackboard || options.blackboardId),
65
- taskIds: (0, cli_options_1.arrayOption)(options.task || options.taskId || options.tasks).map(String),
66
- mapperCount: (0, cli_options_1.numberOption)(options.mapperCount || options["mapper-count"] || options.mappers || options.mapper),
67
- judgeCount: (0, cli_options_1.numberOption)(options.judgeCount || options["judge-count"] || options.judges || options.judge),
68
- debateRounds: (0, cli_options_1.numberOption)(options.debateRounds || options["debate-rounds"] || options.rounds),
69
- collectInitialFanin: Boolean(options.collectInitialFanin || options["collect-initial-fanin"]),
70
- metadata: (0, cli_options_1.metadataOption)(options)
71
- });
72
- (0, report_1.writeReport)(run);
73
- (0, state_1.saveCheckpoint)(run);
74
- return record;
75
- }
76
- function showTopologyRun(run, topologyRunId) {
77
- return topo.showTopologyRun(run, topologyRunId);
78
- }
79
- function topologySummary(run) {
80
- return topo.summarizeTopologies(run);
81
- }
82
- function topologyGraph(run) {
83
- return topo.buildTopologyGraph(run);
84
- }