@bolloon/bolloon-agent 0.1.0 → 0.1.1

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 (431) hide show
  1. package/package.json +1 -1
  2. package/dist/constraint-runtime/tests/agent.test.js +0 -16
  3. package/dist/constraint-runtime/tests/constraint.test.js +0 -41
  4. package/dist/constraint-runtime/tests/skill.test.js +0 -19
  5. package/dist/constraint-runtime/tests/thinking.test.js +0 -22
  6. package/dist/electron-preload.js +0 -15
  7. package/dist/electron-preload.js.map +0 -1
  8. package/dist/electron.js +0 -206
  9. package/dist/electron.js.map +0 -1
  10. package/dist/test/constraint-layer.test.js +0 -164
  11. package/dist/test/global-shared-context.test.js +0 -315
  12. package/dist/test/pi-sdk.test.js +0 -47
  13. package/dist/test/set-persona.test.js +0 -38
  14. package/dist/test/subagent-manager.test.js +0 -276
  15. package/dist/test/workflow-engine.test.js +0 -87
  16. package/dist/workflows/collaboration.js +0 -374
  17. package/dist/workflows/index.js +0 -54
  18. package/docs/agent-communication.md +0 -333
  19. package/docs/plans/2026-05-15-document-agent-design.md +0 -479
  20. package/docs/plans/2026-05-15-document-agent-implementation-plan.md +0 -792
  21. package/docs/plans/2026-05-16-chat-ui-design.md +0 -86
  22. package/docs/plans/2026-05-16-constraint-runtime-design.md +0 -106
  23. package/docs/plans/2026-05-16-constraint-runtime-implementation.md +0 -441
  24. package/docs//346/225/260/345/255/246/350/276/205/345/212/251/346/231/272/350/203/275/344/275/223-/346/240/270/345/277/203/346/225/210/346/236/234/345/256/232/344/271/211.md +0 -287
  25. package/src/bollharness/.boll/CLAUDE.md.template +0 -34
  26. package/src/bollharness/.boll/MANIFEST.yaml +0 -213
  27. package/src/bollharness/.boll/active-review-agents/.gitkeep +0 -0
  28. package/src/bollharness/.boll/agents/review-base.yaml +0 -108
  29. package/src/bollharness/.boll/deploy-allowlist.yaml +0 -38
  30. package/src/bollharness/.boll/inbox/schema/message-v1.json +0 -99
  31. package/src/bollharness/.boll/install-staging/.gitkeep +0 -0
  32. package/src/bollharness/.boll/issue-adapter.yaml +0 -31
  33. package/src/bollharness/.boll/plugins/boll-mode-toolkit/contracts/mode-contract.md +0 -85
  34. package/src/bollharness/.boll/plugins/boll-review-toolkit/contracts/evidence-packet-schema.json +0 -102
  35. package/src/bollharness/.boll/plugins/boll-review-toolkit/contracts/review-contract.yaml +0 -247
  36. package/src/bollharness/.boll/rules/backend-routes.md +0 -31
  37. package/src/bollharness/.boll/rules/closure-semantics.md +0 -30
  38. package/src/bollharness/.boll/rules/env-vars.md +0 -32
  39. package/src/bollharness/.boll/rules/hanis-protocol.md +0 -145
  40. package/src/bollharness/.boll/rules/repo-structure.md +0 -42
  41. package/src/bollharness/.boll/rules/review-agent-isolation.md +0 -73
  42. package/src/bollharness/.boll/rules/source-of-truth.md +0 -33
  43. package/src/bollharness/.boll/settings.json +0 -180
  44. package/src/bollharness/.boll/settings.json.template +0 -31
  45. package/src/bollharness/.boll/skills/arch/SKILL.md +0 -372
  46. package/src/bollharness/.boll/skills/bug-pipeline/SKILL.md +0 -168
  47. package/src/bollharness/.boll/skills/bug-triage/SKILL.md +0 -161
  48. package/src/bollharness/.boll/skills/context-chains/SKILL.md +0 -250
  49. package/src/bollharness/.boll/skills/context-chains/context-chain-index.md +0 -48
  50. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/code_change_extractor.ts +0 -142
  51. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/debugging_extractor.ts +0 -126
  52. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/design_extractor.ts +0 -148
  53. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/planning_extractor.ts +0 -162
  54. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/question_extractor.ts +0 -116
  55. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/review_extractor.ts +0 -136
  56. package/src/bollharness/.boll/skills/crystal-learn/SKILL.md +0 -93
  57. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-0.md +0 -34
  58. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-1.md +0 -34
  59. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-2.md +0 -35
  60. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-3.md +0 -34
  61. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-4.md +0 -43
  62. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-5.md +0 -34
  63. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-6.md +0 -37
  64. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-7.md +0 -46
  65. package/src/bollharness/.boll/skills/guardian-fixer/PROMPT.md +0 -415
  66. package/src/bollharness/.boll/skills/guardian-fixer/SKILL.md +0 -320
  67. package/src/bollharness/.boll/skills/harness-dev/SKILL.md +0 -93
  68. package/src/bollharness/.boll/skills/harness-dev/examples/README.md +0 -227
  69. package/src/bollharness/.boll/skills/harness-dev-handoff/SKILL.md +0 -165
  70. package/src/bollharness/.boll/skills/harness-eng/SKILL.md +0 -110
  71. package/src/bollharness/.boll/skills/harness-eng-test/SKILL.md +0 -79
  72. package/src/bollharness/.boll/skills/harness-lab/SKILL.md +0 -170
  73. package/src/bollharness/.boll/skills/harness-ops/SKILL.md +0 -57
  74. package/src/bollharness/.boll/skills/harness-voice/SKILL.md +0 -183
  75. package/src/bollharness/.boll/skills/judgment/SKILL.md +0 -115
  76. package/src/bollharness/.boll/skills/lead/SKILL.md +0 -245
  77. package/src/bollharness/.boll/skills/lead/install-wow-harness.md +0 -77
  78. package/src/bollharness/.boll/skills/lead/ref-review-sop.md +0 -91
  79. package/src/bollharness/.boll/skills/lead/ref-stages.md +0 -129
  80. package/src/bollharness/.boll/skills/skill-discovery/SKILL.md +0 -169
  81. package/src/bollharness/.boll/skills/task-arch/SKILL.md +0 -106
  82. package/src/bollharness/.boll/skills/toolkit/SKILL.md +0 -57
  83. package/src/bollharness/.boll/tasks/.gitkeep +0 -0
  84. package/src/bollharness/.boll/toolkit-index.yaml +0 -112
  85. package/src/bollharness/.claude/agents/review-base.yaml +0 -108
  86. package/src/bollharness/.claude/plugins/boll-mode-toolkit/.claude-plugin/plugin.json +0 -44
  87. package/src/bollharness/.claude/plugins/boll-review-toolkit/.claude-plugin/plugin.json +0 -24
  88. package/src/bollharness/.claude/plugins/boll-review-toolkit/contracts/evidence-packet-schema.json +0 -102
  89. package/src/bollharness/.claude/plugins/boll-review-toolkit/contracts/review-contract.yaml +0 -247
  90. package/src/bollharness/.claude/settings.json +0 -157
  91. package/src/bollharness/.claude/skills/arch/SKILL.md +0 -64
  92. package/src/bollharness/.claude/skills/crystal-learn/SKILL.md +0 -93
  93. package/src/bollharness/.claude/skills/guardian-fixer/PROMPT.md +0 -44
  94. package/src/bollharness/.claude/skills/guardian-fixer/SKILL.md +0 -324
  95. package/src/bollharness/.claude/skills/harness-dev/SKILL.md +0 -93
  96. package/src/bollharness/.claude/skills/harness-dev/examples/README.md +0 -17
  97. package/src/bollharness/.claude/skills/harness-dev-handoff/SKILL.md +0 -165
  98. package/src/bollharness/.claude/skills/harness-eng/SKILL.md +0 -183
  99. package/src/bollharness/.claude/skills/harness-eng-test/SKILL.md +0 -57
  100. package/src/bollharness/.claude/skills/harness-ops/SKILL.md +0 -57
  101. package/src/bollharness/.claude/skills/harness-voice/SKILL.md +0 -84
  102. package/src/bollharness/.claude/skills/lead/INDEX.md +0 -28
  103. package/src/bollharness/.claude/skills/lead/SKILL.md +0 -24
  104. package/src/bollharness/.claude/skills/lead/install-wow-harness.md +0 -77
  105. package/src/bollharness/.claude/skills/lead/ref-review-sop.md +0 -48
  106. package/src/bollharness/.claude/skills/lead/ref-stages.md +0 -58
  107. package/src/bollharness/.claude/skills/plan-lock/SKILL.md +0 -74
  108. package/src/bollharness/.claude/skills/skill-discovery/SKILL.md +0 -120
  109. package/src/bollharness/.claude/skills/task-arch/SKILL.md +0 -106
  110. package/src/bollharness/.claude/skills/toolkit/SKILL.md +0 -57
  111. package/src/bollharness/.claude/skills/toolkit/list.sh +0 -92
  112. package/src/bollharness/.githooks/pre-commit +0 -21
  113. package/src/bollharness/.github/workflows/ci.yml +0 -88
  114. package/src/bollharness/CLAUDE.md +0 -73
  115. package/src/bollharness/README.md +0 -143
  116. package/src/bollharness/README.zh-CN.md +0 -131
  117. package/src/bollharness/docs/decisions/ADR-030-guard-signal-protocol-and-governance-reload.md +0 -1076
  118. package/src/bollharness/docs/decisions/ADR-038-harness-optimization-strategy.md +0 -2039
  119. package/src/bollharness/docs/decisions/ADR-041-codex-claude-code-division-of-labor.md +0 -128
  120. package/src/bollharness/docs/decisions/ADR-H1-crystal-learn-revival.md +0 -188
  121. package/src/bollharness/docs/decisions/ADR-H2-identity-isolation.md +0 -183
  122. package/src/bollharness/docs/decisions/ADR-H3-memory-scope.md +0 -133
  123. package/src/bollharness/docs/decisions/ADR-H4-prompt-governance.md +0 -146
  124. package/src/bollharness/docs/decisions/ADR-H5-gate-quantization.md +0 -212
  125. package/src/bollharness/docs/decisions/ADR-H6-state-file-health.md +0 -211
  126. package/src/bollharness/docs/decisions/ADR-H8-issue-and-doc-compliance.md +0 -202
  127. package/src/bollharness/docs/decisions/ADR-H9-mailbox.md +0 -231
  128. package/src/bollharness/docs/decisions/PLAN-H1-crystal-learn-revival.md +0 -270
  129. package/src/bollharness/docs/decisions/PLAN-H2-identity-isolation.md +0 -291
  130. package/src/bollharness/docs/decisions/PLAN-H3-memory-scope.md +0 -228
  131. package/src/bollharness/docs/decisions/PLAN-H4-prompt-governance.md +0 -227
  132. package/src/bollharness/docs/decisions/PLAN-H5-gate-quantization.md +0 -239
  133. package/src/bollharness/docs/decisions/PLAN-H6-state-file-health.md +0 -325
  134. package/src/bollharness/docs/decisions/PLAN-H8-issue-and-doc-compliance.md +0 -242
  135. package/src/bollharness/docs/decisions/PLAN-H9-mailbox.md +0 -378
  136. package/src/bollharness/docs/launch-article-en.md +0 -276
  137. package/src/bollharness/docs/launch-article-zh.md +0 -305
  138. package/src/bollharness/docs/practice.html +0 -356
  139. package/src/bollharness/docs/practice.md +0 -82
  140. package/src/bollharness/docs/research/round-1/README.md +0 -11
  141. package/src/bollharness/docs/research/round-2/README.md +0 -11
  142. package/src/bollharness/docs/research/round-3/README.md +0 -11
  143. package/src/bollharness/docs/research/round-4/README.md +0 -11
  144. package/src/bollharness/docs/research/round-5/README.md +0 -11
  145. package/src/bollharness/docs/research/round-6/README.md +0 -11
  146. package/src/bollharness/package-lock.json +0 -48
  147. package/src/bollharness/reference/boll-reference/.claude/rules/backend-routes.md +0 -268
  148. package/src/bollharness/reference/boll-reference/.claude/rules/bridge.md +0 -20
  149. package/src/bollharness/reference/boll-reference/.claude/rules/closure-semantics.md +0 -30
  150. package/src/bollharness/reference/boll-reference/.claude/rules/coaching.md +0 -13
  151. package/src/bollharness/reference/boll-reference/.claude/rules/env-vars.md +0 -50
  152. package/src/bollharness/reference/boll-reference/.claude/rules/hackathon.md +0 -12
  153. package/src/bollharness/reference/boll-reference/.claude/rules/repo-structure.md +0 -184
  154. package/src/bollharness/reference/boll-reference/.claude/rules/review-agent-isolation.md +0 -112
  155. package/src/bollharness/reference/boll-reference/.claude/rules/scenes.md +0 -12
  156. package/src/bollharness/reference/boll-reference/.claude/skills/arch/SKILL.md +0 -551
  157. package/src/bollharness/reference/boll-reference/.claude/skills/boll-animation/SKILL.md +0 -26
  158. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/SKILL.md +0 -227
  159. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/agents/openai.yaml +0 -4
  160. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/references/bridge-failure-taxonomy.md +0 -142
  161. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/references/bridge-validation-ladder.md +0 -107
  162. package/src/bollharness/reference/boll-reference/.claude/skills/boll-crystal/SKILL.md +0 -893
  163. package/src/bollharness/reference/boll-reference/.claude/skills/boll-crystal-learn/SKILL.md +0 -89
  164. package/src/bollharness/reference/boll-reference/.claude/skills/boll-dev/SKILL.md +0 -93
  165. package/src/bollharness/reference/boll-reference/.claude/skills/boll-dev/examples/README.md +0 -209
  166. package/src/bollharness/reference/boll-reference/.claude/skills/boll-dev-handoff/SKILL.md +0 -165
  167. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng/SKILL.md +0 -110
  168. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-frontend/SKILL.md +0 -203
  169. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-hdc/SKILL.md +0 -27
  170. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-orchestrator/SKILL.md +0 -28
  171. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-prompt/SKILL.md +0 -27
  172. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-test/SKILL.md +0 -79
  173. package/src/bollharness/reference/boll-reference/.claude/skills/boll-lab/SKILL.md +0 -372
  174. package/src/bollharness/reference/boll-reference/.claude/skills/boll-run/SKILL.md +0 -437
  175. package/src/bollharness/reference/boll-reference/.claude/skills/boll-ux-appstore/SKILL.md +0 -27
  176. package/src/bollharness/reference/boll-reference/.claude/skills/boll-voice/SKILL.md +0 -442
  177. package/src/bollharness/reference/boll-reference/.claude/skills/guardian-fixer/PROMPT.md +0 -421
  178. package/src/bollharness/reference/boll-reference/.claude/skills/guardian-fixer/SKILL.md +0 -326
  179. package/src/bollharness/reference/boll-reference/.claude/skills/lead/SKILL.md +0 -155
  180. package/src/bollharness/reference/boll-reference/.claude/skills/lead/ref-review-sop.md +0 -91
  181. package/src/bollharness/reference/boll-reference/.claude/skills/lead/ref-stages.md +0 -129
  182. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-preview.png +0 -0
  183. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-v2.png +0 -0
  184. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-v3.png +0 -0
  185. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-v4.png +0 -0
  186. package/src/bollharness/reference/boll-reference/.claude/skills/plan-lock/SKILL.md +0 -425
  187. package/src/bollharness/reference/boll-reference/.claude/skills/plan-lock/ref-three-checks.md +0 -62
  188. package/src/bollharness/reference/boll-reference/.claude/skills/plan-lock/ref-wp-templates.md +0 -78
  189. package/src/bollharness/reference/boll-reference/.claude/skills/task-arch/SKILL.md +0 -76
  190. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-graph/SKILL.md +0 -57
  191. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-graph/beads-graph.sh +0 -153
  192. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-init/SKILL.md +0 -52
  193. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-init/beads-auto-link.sh +0 -76
  194. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-sync/SKILL.md +0 -50
  195. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-sync/beads-sync-proj.sh +0 -108
  196. package/src/bollharness/reference/boll-reference/docs/architecture/AGENT-PROFILE.md +0 -151
  197. package/src/bollharness/reference/boll-reference/docs/architecture/COST-STRUCTURE.md +0 -56
  198. package/src/bollharness/reference/boll-reference/docs/architecture/INDEX.md +0 -76
  199. package/src/bollharness/reference/boll-reference/docs/architecture/MODULE1-INTENT-FIELD.md +0 -116
  200. package/src/bollharness/reference/boll-reference/docs/architecture/MODULE2-CRYSTALLIZATION.md +0 -200
  201. package/src/bollharness/reference/boll-reference/docs/architecture/PRINCIPLES.md +0 -84
  202. package/src/bollharness/reference/boll-reference/docs/architecture/PROTOCOL-CORE.md +0 -209
  203. package/src/bollharness/reference/boll-reference/docs/architecture/VISION.md +0 -181
  204. package/src/bollharness/reference/boll-reference/docs/architecture/discussions/D-01-MARKET-SCENE-PROTOCOL.md +0 -754
  205. package/src/bollharness/reference/boll-reference/scripts/hooks/stop-evaluator.md +0 -57
  206. package/src/bollharness/scripts/context-fragments/artifact-linkage.md +0 -14
  207. package/src/bollharness/scripts/context-fragments/auth-consumers.md +0 -17
  208. package/src/bollharness/scripts/context-fragments/bridge-constitution.md +0 -13
  209. package/src/bollharness/scripts/context-fragments/catalyst-distributed.md +0 -18
  210. package/src/bollharness/scripts/context-fragments/closure-checklist.md +0 -13
  211. package/src/bollharness/scripts/context-fragments/contract-consumers.md +0 -15
  212. package/src/bollharness/scripts/context-fragments/db-shared-structures.md +0 -15
  213. package/src/bollharness/scripts/context-fragments/fixed-three-layers.md +0 -19
  214. package/src/bollharness/scripts/context-fragments/general-dev-principles.md +0 -11
  215. package/src/bollharness/scripts/context-fragments/issue-first.md +0 -8
  216. package/src/bollharness/scripts/context-fragments/mcp-parity.md +0 -16
  217. package/src/bollharness/scripts/context-fragments/pi-agent-operations.md +0 -74
  218. package/src/bollharness/scripts/context-fragments/protocol-consumers.md +0 -15
  219. package/src/bollharness/scripts/context-fragments/run-events-consumers.md +0 -15
  220. package/src/bollharness/scripts/context-fragments/scene-fidelity.md +0 -13
  221. package/src/bollharness/scripts/context-fragments/truth-source-hierarchy.md +0 -15
  222. package/src/bollharness/scripts/context-fragments/two-language.md +0 -15
  223. package/src/bollharness/scripts/context-fragments/version-sources.md +0 -14
  224. package/src/bollharness/scripts/hooks/stop-evaluator.md +0 -83
  225. package/src/bollharness/templates/scaffold/.boll/guard/.gitkeep +0 -0
  226. package/src/bollharness/templates/scaffold/.boll/metrics/.gitkeep +0 -0
  227. package/src/bollharness/templates/scaffold/.boll/state/.gitkeep +0 -0
  228. package/src/bollharness/templates/scaffold/CLAUDE.md +0 -89
  229. package/src/bollharness/templates/scaffold/docs/INDEX.md +0 -3
  230. package/src/bollharness/templates/scaffold/docs/decisions/ADR_TEMPLATE.md +0 -38
  231. package/src/bollharness/templates/scaffold/docs/decisions/PLAN_TEMPLATE.md +0 -45
  232. package/src/bollharness/templates/scaffold/docs/decisions/tasks/.gitkeep +0 -2
  233. package/src/bollharness/templates/scaffold/docs/issues/.gitkeep +0 -0
  234. package/src/bollharness/templates/scaffold/docs/issues/GUARD_ISSUE_TEMPLATE.md +0 -35
  235. package/src/bollharness/templates/scaffold/docs/issues/ISSUE_TEMPLATE.md +0 -51
  236. package/src/bollharness/tsconfig.json +0 -26
  237. package/src/constraint-runtime/package-lock.json +0 -48
  238. package/src/constraint-runtime/package.json +0 -34
  239. package/src/constraint-runtime/src/_archive_helper.ts +0 -16
  240. package/src/constraint-runtime/src/agent/coordinator.ts +0 -71
  241. package/src/constraint-runtime/src/agent/index.ts +0 -1
  242. package/src/constraint-runtime/src/assistant/index.ts +0 -15
  243. package/src/constraint-runtime/src/bootstrap/index.ts +0 -15
  244. package/src/constraint-runtime/src/bootstrap_graph.ts +0 -17
  245. package/src/constraint-runtime/src/bridge/index.ts +0 -15
  246. package/src/constraint-runtime/src/buddy/index.ts +0 -15
  247. package/src/constraint-runtime/src/cli/index.ts +0 -15
  248. package/src/constraint-runtime/src/command_graph.ts +0 -20
  249. package/src/constraint-runtime/src/commands.ts +0 -83
  250. package/src/constraint-runtime/src/components/index.ts +0 -15
  251. package/src/constraint-runtime/src/constants/index.ts +0 -15
  252. package/src/constraint-runtime/src/constraint/budget.ts +0 -25
  253. package/src/constraint-runtime/src/constraint/index.ts +0 -3
  254. package/src/constraint-runtime/src/constraint/permission.ts +0 -28
  255. package/src/constraint-runtime/src/context.ts +0 -45
  256. package/src/constraint-runtime/src/coordinator/index.ts +0 -15
  257. package/src/constraint-runtime/src/cost_hook.ts +0 -6
  258. package/src/constraint-runtime/src/cost_tracker.ts +0 -9
  259. package/src/constraint-runtime/src/deferred_init.ts +0 -18
  260. package/src/constraint-runtime/src/direct_modes.ts +0 -13
  261. package/src/constraint-runtime/src/dynamic-tool-loader.ts +0 -115
  262. package/src/constraint-runtime/src/entrypoints/index.ts +0 -15
  263. package/src/constraint-runtime/src/execution_registry.ts +0 -41
  264. package/src/constraint-runtime/src/history.ts +0 -16
  265. package/src/constraint-runtime/src/hooks/index.ts +0 -15
  266. package/src/constraint-runtime/src/index.ts +0 -28
  267. package/src/constraint-runtime/src/ink.ts +0 -4
  268. package/src/constraint-runtime/src/keybindings/index.ts +0 -15
  269. package/src/constraint-runtime/src/memdir/index.ts +0 -15
  270. package/src/constraint-runtime/src/migrations/index.ts +0 -15
  271. package/src/constraint-runtime/src/models.ts +0 -49
  272. package/src/constraint-runtime/src/moreright/index.ts +0 -15
  273. package/src/constraint-runtime/src/native_ts/index.ts +0 -15
  274. package/src/constraint-runtime/src/output_styles/index.ts +0 -15
  275. package/src/constraint-runtime/src/parity_audit.ts +0 -23
  276. package/src/constraint-runtime/src/plugins/index.ts +0 -15
  277. package/src/constraint-runtime/src/port_manifest.ts +0 -20
  278. package/src/constraint-runtime/src/prefetch.ts +0 -17
  279. package/src/constraint-runtime/src/query.ts +0 -7
  280. package/src/constraint-runtime/src/reference_data/archive_surface_snapshot.json +0 -63
  281. package/src/constraint-runtime/src/reference_data/commands_snapshot.json +0 -1037
  282. package/src/constraint-runtime/src/reference_data/subsystems/OpenCLI.json +0 -10
  283. package/src/constraint-runtime/src/reference_data/subsystems/PolymarketSDK.json +0 -12
  284. package/src/constraint-runtime/src/reference_data/subsystems/SafeSDK.json +0 -14
  285. package/src/constraint-runtime/src/reference_data/subsystems/assistant.json +0 -8
  286. package/src/constraint-runtime/src/reference_data/subsystems/bootstrap.json +0 -8
  287. package/src/constraint-runtime/src/reference_data/subsystems/bridge.json +0 -32
  288. package/src/constraint-runtime/src/reference_data/subsystems/buddy.json +0 -13
  289. package/src/constraint-runtime/src/reference_data/subsystems/cli.json +0 -26
  290. package/src/constraint-runtime/src/reference_data/subsystems/components.json +0 -32
  291. package/src/constraint-runtime/src/reference_data/subsystems/constants.json +0 -28
  292. package/src/constraint-runtime/src/reference_data/subsystems/coordinator.json +0 -8
  293. package/src/constraint-runtime/src/reference_data/subsystems/entrypoints.json +0 -15
  294. package/src/constraint-runtime/src/reference_data/subsystems/hooks.json +0 -32
  295. package/src/constraint-runtime/src/reference_data/subsystems/keybindings.json +0 -21
  296. package/src/constraint-runtime/src/reference_data/subsystems/memdir.json +0 -15
  297. package/src/constraint-runtime/src/reference_data/subsystems/migrations.json +0 -18
  298. package/src/constraint-runtime/src/reference_data/subsystems/moreright.json +0 -8
  299. package/src/constraint-runtime/src/reference_data/subsystems/native_ts.json +0 -11
  300. package/src/constraint-runtime/src/reference_data/subsystems/outputStyles.json +0 -8
  301. package/src/constraint-runtime/src/reference_data/subsystems/plugins.json +0 -9
  302. package/src/constraint-runtime/src/reference_data/subsystems/remote.json +0 -11
  303. package/src/constraint-runtime/src/reference_data/subsystems/schemas.json +0 -8
  304. package/src/constraint-runtime/src/reference_data/subsystems/screens.json +0 -10
  305. package/src/constraint-runtime/src/reference_data/subsystems/server.json +0 -10
  306. package/src/constraint-runtime/src/reference_data/subsystems/services.json +0 -32
  307. package/src/constraint-runtime/src/reference_data/subsystems/skills.json +0 -27
  308. package/src/constraint-runtime/src/reference_data/subsystems/state.json +0 -13
  309. package/src/constraint-runtime/src/reference_data/subsystems/types.json +0 -18
  310. package/src/constraint-runtime/src/reference_data/subsystems/upstreamproxy.json +0 -9
  311. package/src/constraint-runtime/src/reference_data/subsystems/utils.json +0 -32
  312. package/src/constraint-runtime/src/reference_data/subsystems/vim.json +0 -12
  313. package/src/constraint-runtime/src/reference_data/subsystems/voice.json +0 -8
  314. package/src/constraint-runtime/src/reference_data/tools_snapshot.json +0 -1042
  315. package/src/constraint-runtime/src/remote/index.ts +0 -15
  316. package/src/constraint-runtime/src/remote_runtime.ts +0 -17
  317. package/src/constraint-runtime/src/runtime/index.ts +0 -1
  318. package/src/constraint-runtime/src/runtime/session.ts +0 -42
  319. package/src/constraint-runtime/src/schemas/index.ts +0 -15
  320. package/src/constraint-runtime/src/screens/index.ts +0 -15
  321. package/src/constraint-runtime/src/server/index.ts +0 -15
  322. package/src/constraint-runtime/src/services/index.ts +0 -15
  323. package/src/constraint-runtime/src/session_store.ts +0 -32
  324. package/src/constraint-runtime/src/setup.ts +0 -50
  325. package/src/constraint-runtime/src/skills/index.ts +0 -1
  326. package/src/constraint-runtime/src/skills/skill-registry.ts +0 -40
  327. package/src/constraint-runtime/src/state/index.ts +0 -15
  328. package/src/constraint-runtime/src/system_init.ts +0 -21
  329. package/src/constraint-runtime/src/thinking/engine.ts +0 -61
  330. package/src/constraint-runtime/src/thinking/index.ts +0 -1
  331. package/src/constraint-runtime/src/tool_pool.ts +0 -20
  332. package/src/constraint-runtime/src/tools/OpenCLI/execAdapter.ts +0 -12
  333. package/src/constraint-runtime/src/tools/OpenCLI/listAdapters.ts +0 -12
  334. package/src/constraint-runtime/src/tools/OpenCLI/runCommand.ts +0 -13
  335. package/src/constraint-runtime/src/tools/PolymarketSDK/cancelOrder.ts +0 -10
  336. package/src/constraint-runtime/src/tools/PolymarketSDK/createOrder.ts +0 -13
  337. package/src/constraint-runtime/src/tools/PolymarketSDK/getMarket.ts +0 -14
  338. package/src/constraint-runtime/src/tools/PolymarketSDK/getOrders.ts +0 -10
  339. package/src/constraint-runtime/src/tools/PolymarketSDK/listMarkets.ts +0 -24
  340. package/src/constraint-runtime/src/tools/SafeSDK/confirmTransaction.ts +0 -13
  341. package/src/constraint-runtime/src/tools/SafeSDK/createTransaction.ts +0 -23
  342. package/src/constraint-runtime/src/tools/SafeSDK/deploySafe.ts +0 -12
  343. package/src/constraint-runtime/src/tools/SafeSDK/executeTransaction.ts +0 -12
  344. package/src/constraint-runtime/src/tools/SafeSDK/getBalance.ts +0 -10
  345. package/src/constraint-runtime/src/tools/SafeSDK/getPendingTransactions.ts +0 -10
  346. package/src/constraint-runtime/src/tools/SafeSDK/proposeTransaction.ts +0 -14
  347. package/src/constraint-runtime/src/tools/WalletTools/autoPay.ts +0 -58
  348. package/src/constraint-runtime/src/tools/WalletTools/createWallet.ts +0 -19
  349. package/src/constraint-runtime/src/tools/WalletTools/getBalance.ts +0 -28
  350. package/src/constraint-runtime/src/tools/WalletTools/importWallet.ts +0 -34
  351. package/src/constraint-runtime/src/tools/WalletTools/sendTransaction.ts +0 -50
  352. package/src/constraint-runtime/src/tools/WalletTools/signMessage.ts +0 -23
  353. package/src/constraint-runtime/src/tools/WalletTools/transferToken.ts +0 -49
  354. package/src/constraint-runtime/src/tools.ts +0 -100
  355. package/src/constraint-runtime/src/transcript.ts +0 -23
  356. package/src/constraint-runtime/src/types/index.ts +0 -15
  357. package/src/constraint-runtime/src/upstream_proxy/index.ts +0 -15
  358. package/src/constraint-runtime/src/utils/index.ts +0 -15
  359. package/src/constraint-runtime/src/vim/index.ts +0 -15
  360. package/src/constraint-runtime/src/voice/index.ts +0 -15
  361. package/src/constraint-runtime/tests/agent.test.ts +0 -20
  362. package/src/constraint-runtime/tests/constraint.test.ts +0 -47
  363. package/src/constraint-runtime/tests/skill.test.ts +0 -23
  364. package/src/constraint-runtime/tests/thinking.test.ts +0 -28
  365. package/src/constraint-runtime/tsconfig.json +0 -13
  366. package/src/pi-ecosystem/index.ts +0 -453
  367. package/src/pi-ecosystem-colony/index.ts +0 -482
  368. package/src/pi-ecosystem-goals/index.ts +0 -585
  369. package/src/pi-ecosystem-judgment/decision.ts +0 -431
  370. package/src/pi-ecosystem-judgment/distillation.ts +0 -398
  371. package/src/pi-ecosystem-judgment/human-value-store.ts +0 -580
  372. package/src/pi-ecosystem-judgment/index.ts +0 -678
  373. package/src/pi-ecosystem-judgment/value-injection.ts +0 -744
  374. package/src/pi-ecosystem-mcp/index.ts +0 -427
  375. package/src/pi-ecosystem-subagents/index.ts +0 -408
  376. package/src/test/ai-judgment-test.ts +0 -92
  377. package/src/test/bollharness-integration.test.ts +0 -398
  378. package/src/test/channel-agent-multi-dialogue.ts +0 -265
  379. package/src/test/channel-heartbeat-agent-test.ts +0 -244
  380. package/src/test/constraint-layer.test.ts +0 -191
  381. package/src/test/diap-identity-test.ts +0 -222
  382. package/src/test/diap-quick-test.ts +0 -73
  383. package/src/test/global-shared-context.test.ts +0 -393
  384. package/src/test/harness-judgment-injection.test.ts +0 -353
  385. package/src/test/harness-workflow-integrator-test.ts +0 -285
  386. package/src/test/human-value-store.test.ts +0 -316
  387. package/src/test/hybrid-integration-test.ts +0 -126
  388. package/src/test/hybrid-messenger-verify.ts +0 -68
  389. package/src/test/iroh-bistream-debug.ts +0 -50
  390. package/src/test/iroh-communication.test.ts +0 -81
  391. package/src/test/iroh-debug-test.ts +0 -69
  392. package/src/test/iroh-diap-test.ts +0 -90
  393. package/src/test/iroh-direct-connect.ts +0 -65
  394. package/src/test/iroh-e2e-fixed.ts +0 -106
  395. package/src/test/iroh-e2e-same-process.ts +0 -83
  396. package/src/test/iroh-e2e.ts +0 -83
  397. package/src/test/iroh-final-e2e.ts +0 -84
  398. package/src/test/iroh-relay-test.ts +0 -46
  399. package/src/test/iroh-simple-test.ts +0 -49
  400. package/src/test/iroh-transport-verify.ts +0 -60
  401. package/src/test/iroh-transport.test.ts +0 -47
  402. package/src/test/iroh-two-nodes.ts +0 -87
  403. package/src/test/iroh-verify.ts +0 -55
  404. package/src/test/judgment-decision.test.ts +0 -373
  405. package/src/test/llm-judgment-integration.test.ts +0 -257
  406. package/src/test/p2p-agent-complex-dialogue.ts +0 -490
  407. package/src/test/p2p-agent-dialogue.ts +0 -423
  408. package/src/test/p2p-agent-full-bidirectional.ts +0 -686
  409. package/src/test/p2p-agent-harness-flow.ts +0 -562
  410. package/src/test/p2p-agent-harness-single.ts +0 -175
  411. package/src/test/p2p-ai-dialogue-test.ts +0 -374
  412. package/src/test/p2p-cid-connect-test.ts +0 -245
  413. package/src/test/p2p-connect-receiver.ts +0 -85
  414. package/src/test/p2p-iroh-test.ts +0 -214
  415. package/src/test/p2p-minimal-test.ts +0 -264
  416. package/src/test/p2p-node-1.ts +0 -172
  417. package/src/test/p2p-node-2.ts +0 -172
  418. package/src/test/p2p-server.ts +0 -335
  419. package/src/test/p2p-two-nodes-test.ts +0 -542
  420. package/src/test/pi-sdk.test.ts +0 -47
  421. package/src/test/set-persona.ts +0 -56
  422. package/src/test/simple.test.ts +0 -11
  423. package/src/test/storage-integration.test.ts +0 -191
  424. package/src/test/subagent-manager.test.ts +0 -392
  425. package/src/test/test-gate-flow.test.ts +0 -92
  426. package/src/test/workflow-engine.test.ts +0 -101
  427. package/src/web/design.md +0 -99
  428. package/src/workflows/collaboration.ts +0 -455
  429. package/src/workflows/index.ts +0 -64
  430. package/vitest.config.ts +0 -12
  431. package//346/203/263/346/263/225.md +0 -79
@@ -1,276 +0,0 @@
1
- import { describe, it, expect, beforeEach } from 'vitest';
2
- import * as fs from 'fs/promises';
3
- import * as path from 'path';
4
- import { SubAgentManager, resetSubAgentManager } from '../agents/subagent-manager.js';
5
- const TEST_STORAGE_PATH = path.join('/tmp', '.bolloon-test', 'agents');
6
- describe('SubAgentManager', () => {
7
- let manager;
8
- beforeEach(async () => {
9
- resetSubAgentManager();
10
- manager = new SubAgentManager({ storagePath: TEST_STORAGE_PATH });
11
- try {
12
- await fs.rm(TEST_STORAGE_PATH, { recursive: true, force: true });
13
- }
14
- catch { }
15
- });
16
- describe('Agent Registration', () => {
17
- it('should register a new agent', async () => {
18
- await manager.initialize();
19
- const agent = await manager.registerAgent({
20
- name: 'TestAgent',
21
- capabilities: ['coding', 'debugging'],
22
- parentAgentId: 'parent-001'
23
- });
24
- expect(agent.id).toBeDefined();
25
- expect(agent.name).toBe('TestAgent');
26
- expect(agent.capabilities).toEqual(['coding', 'debugging']);
27
- expect(agent.status).toBe('active');
28
- expect(agent.parentAgentId).toBe('parent-001');
29
- });
30
- it('should update agent status', async () => {
31
- await manager.initialize();
32
- const agent = await manager.registerAgent({
33
- name: 'TestAgent',
34
- capabilities: ['coding']
35
- });
36
- await manager.updateAgentStatus(agent.id, 'busy');
37
- const updated = await manager.getAgent(agent.id);
38
- expect(updated?.status).toBe('busy');
39
- });
40
- it('should update agent info', async () => {
41
- await manager.initialize();
42
- const agent = await manager.registerAgent({
43
- name: 'TestAgent',
44
- capabilities: ['coding']
45
- });
46
- await manager.updateAgent(agent.id, {
47
- did: 'did:key:test123',
48
- walletAddress: '0x123...'
49
- });
50
- const updated = await manager.getAgent(agent.id);
51
- expect(updated?.did).toBe('did:key:test123');
52
- expect(updated?.walletAddress).toBe('0x123...');
53
- });
54
- it('should get all agents', async () => {
55
- await manager.initialize();
56
- await manager.registerAgent({ name: 'Agent1', capabilities: ['coding'] });
57
- await manager.registerAgent({ name: 'Agent2', capabilities: ['writing'] });
58
- const agents = await manager.getAllAgents();
59
- expect(agents).toHaveLength(2);
60
- });
61
- it('should get active agents only', async () => {
62
- await manager.initialize();
63
- const agent1 = await manager.registerAgent({ name: 'Agent1', capabilities: ['coding'] });
64
- await manager.registerAgent({ name: 'Agent2', capabilities: ['writing'] });
65
- await manager.updateAgentStatus(agent1.id, 'terminated');
66
- const activeAgents = await manager.getActiveAgents();
67
- expect(activeAgents).toHaveLength(1);
68
- expect(activeAgents[0].name).toBe('Agent2');
69
- });
70
- it('should find agents by capability', async () => {
71
- await manager.initialize();
72
- await manager.registerAgent({ name: 'Coder', capabilities: ['coding', 'debugging'] });
73
- await manager.registerAgent({ name: 'Writer', capabilities: ['writing', 'editing'] });
74
- await manager.registerAgent({ name: 'FullStack', capabilities: ['coding', 'writing'] });
75
- const coders = await manager.getAgentsByCapability('coding');
76
- expect(coders).toHaveLength(2);
77
- });
78
- it('should find agent by DID', async () => {
79
- await manager.initialize();
80
- await manager.registerAgent({ name: 'Agent1', capabilities: ['coding'], did: 'did:key:abc' });
81
- const agent = await manager.getAgentByDid('did:key:abc');
82
- expect(agent?.name).toBe('Agent1');
83
- });
84
- it('should unregister agent', async () => {
85
- await manager.initialize();
86
- const agent = await manager.registerAgent({ name: 'Agent1', capabilities: ['coding'] });
87
- await manager.unregisterAgent(agent.id);
88
- const deleted = await manager.getAgent(agent.id);
89
- expect(deleted).toBeUndefined();
90
- });
91
- });
92
- describe('Task Management', () => {
93
- it('should create a task', async () => {
94
- await manager.initialize();
95
- const task = await manager.createTask('delegate', 'Fix bug', 'Fix the login bug in the authentication module', 'parent-001', 'agent-001', 'high', 'Bug ID: #1234');
96
- expect(task.id).toBeDefined();
97
- expect(task.title).toBe('Fix bug');
98
- expect(task.type).toBe('delegate');
99
- expect(task.priority).toBe('high');
100
- expect(task.status).toBe('assigned');
101
- });
102
- it('should create pending task without assignee', async () => {
103
- await manager.initialize();
104
- const task = await manager.createTask('consult', 'Code review', 'Review the new API implementation', 'parent-001');
105
- expect(task.status).toBe('pending');
106
- expect(task.toAgentId).toBeUndefined();
107
- });
108
- it('should assign task to agent', async () => {
109
- await manager.initialize();
110
- const agent = await manager.registerAgent({ name: 'Agent1', capabilities: ['coding'] });
111
- const task = await manager.createTask('delegate', 'Task', 'Description', 'parent-001');
112
- await manager.assignTask(task.id, agent.id);
113
- const updated = await manager.getTask(task.id);
114
- expect(updated?.assignedAgentId).toBe(agent.id);
115
- expect(updated?.status).toBe('assigned');
116
- });
117
- it('should update task status', async () => {
118
- await manager.initialize();
119
- const task = await manager.createTask('delegate', 'Task', 'Description', 'parent-001');
120
- await manager.updateTaskStatus(task.id, 'completed', 'Task result', undefined);
121
- const updated = await manager.getTask(task.id);
122
- expect(updated?.status).toBe('completed');
123
- expect(updated?.result).toBe('Task result');
124
- expect(updated?.completedAt).toBeDefined();
125
- });
126
- it('should get tasks for agent', async () => {
127
- await manager.initialize();
128
- const agent = await manager.registerAgent({ name: 'Agent1', capabilities: ['coding'] });
129
- await manager.createTask('delegate', 'Task1', 'Desc1', 'parent-001', agent.id);
130
- await manager.createTask('delegate', 'Task2', 'Desc2', 'parent-001', agent.id);
131
- const tasks = await manager.getTasksForAgent(agent.id);
132
- expect(tasks).toHaveLength(2);
133
- });
134
- it('should get pending tasks', async () => {
135
- await manager.initialize();
136
- await manager.createTask('delegate', 'Task1', 'Desc1', 'parent-001');
137
- await manager.createTask('delegate', 'Task2', 'Desc2', 'parent-001');
138
- await manager.createTask('delegate', 'Task3', 'Desc3', 'parent-001', 'agent-001');
139
- const pending = await manager.getPendingTasks();
140
- expect(pending).toHaveLength(2);
141
- });
142
- });
143
- describe('Task Delegation', () => {
144
- it('should find best agent for task', async () => {
145
- await manager.initialize();
146
- await manager.registerAgent({ name: 'Coder', capabilities: ['coding'] });
147
- await manager.registerAgent({ name: 'Writer', capabilities: ['writing'] });
148
- await manager.registerAgent({ name: 'FullStack', capabilities: ['coding', 'writing'] });
149
- const agent = await manager.findBestAgentForTask(['coding']);
150
- expect(agent).toBeDefined();
151
- expect(agent?.capabilities).toContain('coding');
152
- });
153
- it('should delegate task to best available agent', async () => {
154
- await manager.initialize();
155
- await manager.registerAgent({ name: 'Coder', capabilities: ['coding'] });
156
- const { task, agent } = await manager.delegateTask('parent-001', 'Implement the new feature', ['coding']);
157
- expect(task.status).toBe('assigned');
158
- expect(agent).toBeDefined();
159
- expect(agent?.name).toBe('Coder');
160
- });
161
- it('should create pending task if no agent available', async () => {
162
- await manager.initialize();
163
- const { task, agent } = await manager.delegateTask('parent-001', 'Implement the new feature', ['quantum-computing']);
164
- expect(task.status).toBe('pending');
165
- expect(agent).toBeUndefined();
166
- });
167
- });
168
- describe('Inter-Agent Messaging', () => {
169
- it('should send message between agents', async () => {
170
- await manager.initialize();
171
- await manager.registerAgent({ name: 'Sender', capabilities: ['coding'] });
172
- await manager.registerAgent({ name: 'Receiver', capabilities: ['coding'] });
173
- const message = await manager.sendMessage('sender-id', 'receiver-id', 'Hello, can you help with this task?', 'query');
174
- expect(message.id).toBeDefined();
175
- expect(message.content).toBe('Hello, can you help with this task?');
176
- expect(message.type).toBe('query');
177
- });
178
- it('should get messages for agent', async () => {
179
- await manager.initialize();
180
- await manager.registerAgent({ name: 'Sender', capabilities: ['coding'] });
181
- await manager.registerAgent({ name: 'Receiver', capabilities: ['coding'] });
182
- await manager.sendMessage('sender-id', 'receiver-id', 'Message 1');
183
- await manager.sendMessage('sender-id', 'receiver-id', 'Message 2');
184
- const messages = await manager.getMessagesForAgent('receiver-id');
185
- expect(messages).toHaveLength(2);
186
- });
187
- it('should receive messages via listener', async () => {
188
- await manager.initialize();
189
- await manager.registerAgent({ name: 'Sender', capabilities: ['coding'] });
190
- await manager.registerAgent({ name: 'Receiver', capabilities: ['coding'] });
191
- let receivedMessage = null;
192
- const unsubscribe = manager.onMessage('receiver-id', (msg) => {
193
- receivedMessage = msg;
194
- });
195
- await manager.sendMessage('sender-id', 'receiver-id', 'Test message');
196
- expect(receivedMessage).toBeDefined();
197
- expect(receivedMessage.content).toBe('Test message');
198
- unsubscribe();
199
- });
200
- it('should broadcast message to all agents', async () => {
201
- await manager.initialize();
202
- const agent1 = await manager.registerAgent({ name: 'Agent1', capabilities: ['coding'] });
203
- const agent2 = await manager.registerAgent({ name: 'Agent2', capabilities: ['coding'] });
204
- const agent3 = await manager.registerAgent({ name: 'Agent3', capabilities: ['coding'] });
205
- await manager.broadcastMessage('parent-id', 'System-wide notification');
206
- const msgs1 = await manager.getMessagesForAgent(agent1.id);
207
- const msgs2 = await manager.getMessagesForAgent(agent2.id);
208
- const msgs3 = await manager.getMessagesForAgent(agent3.id);
209
- expect(msgs1).toHaveLength(1);
210
- expect(msgs2).toHaveLength(1);
211
- expect(msgs3).toHaveLength(1);
212
- });
213
- it('should consult another agent', async () => {
214
- await manager.initialize();
215
- await manager.registerAgent({ name: 'Agent1', capabilities: ['coding'] });
216
- await manager.registerAgent({ name: 'Agent2', capabilities: ['coding'] });
217
- const message = await manager.consultAgent('agent1-id', 'agent2-id', 'What is the best approach for this?');
218
- expect(message.type).toBe('query');
219
- expect(message.toAgentId).toBe('agent2-id');
220
- });
221
- });
222
- describe('Task Listeners', () => {
223
- it('should notify task listeners on status change', async () => {
224
- await manager.initialize();
225
- const task = await manager.createTask('delegate', 'Task', 'Desc', 'parent-001');
226
- let updatedTask = null;
227
- manager.onTask((t) => {
228
- updatedTask = t;
229
- });
230
- await manager.updateTaskStatus(task.id, 'completed', 'Done');
231
- expect(updatedTask).toBeDefined();
232
- expect(updatedTask?.status).toBe('completed');
233
- });
234
- });
235
- describe('Statistics', () => {
236
- it('should return agent statistics', async () => {
237
- await manager.initialize();
238
- await manager.registerAgent({ name: 'Agent1', capabilities: ['coding'] });
239
- await manager.registerAgent({ name: 'Agent2', capabilities: ['writing'] });
240
- await manager.createTask('delegate', 'Task1', 'Desc', 'parent-001');
241
- await manager.createTask('delegate', 'Task2', 'Desc', 'parent-001', 'agent-001');
242
- const stats = await manager.getAgentStatistics();
243
- expect(stats.total).toBe(2);
244
- expect(stats.pendingTasks).toBe(1);
245
- expect(stats.activeTasks).toBe(1);
246
- });
247
- });
248
- describe('Persistence', () => {
249
- it('should persist and reload agents', async () => {
250
- await manager.initialize();
251
- await manager.registerAgent({ name: 'Agent1', capabilities: ['coding'] });
252
- const newManager = new SubAgentManager({ storagePath: TEST_STORAGE_PATH });
253
- await newManager.initialize();
254
- const agents = await newManager.getAllAgents();
255
- expect(agents).toHaveLength(1);
256
- expect(agents[0].name).toBe('Agent1');
257
- });
258
- it('should persist and reload tasks', async () => {
259
- await manager.initialize();
260
- await manager.createTask('delegate', 'Task1', 'Desc', 'parent-001');
261
- const newManager = new SubAgentManager({ storagePath: TEST_STORAGE_PATH });
262
- await newManager.initialize();
263
- const tasks = await newManager.getPendingTasks();
264
- expect(tasks).toHaveLength(1);
265
- });
266
- });
267
- describe('Destroy', () => {
268
- it('should clean up all data on destroy', async () => {
269
- await manager.initialize();
270
- await manager.registerAgent({ name: 'Agent1', capabilities: ['coding'] });
271
- await manager.destroy();
272
- const agents = await manager.getAllAgents();
273
- expect(agents).toHaveLength(0);
274
- });
275
- });
276
- });
@@ -1,87 +0,0 @@
1
- /**
2
- * WorkflowEngine Tests
3
- */
4
- import { describe, it, expect, vi, beforeEach } from 'vitest';
5
- import { WorkflowEngine } from '../agents/workflow-engine.js';
6
- import { ConstraintLayer } from '../agents/constraint-layer.js';
7
- // Mock dependencies
8
- vi.mock('../documents/reader.js', () => ({
9
- documentReader: {
10
- read: vi.fn().mockResolvedValue({
11
- text: 'test content',
12
- metadata: { filename: 'test.txt', size: 12, type: '.txt' }
13
- }),
14
- chunk: vi.fn().mockReturnValue(['test content'])
15
- }
16
- }));
17
- vi.mock('../llm/minimax.js', () => ({
18
- getMinimax: vi.fn().mockReturnValue({
19
- summarize: vi.fn().mockResolvedValue({ summary: 'test summary', qualityScore: 0.8 }),
20
- improveContent: vi.fn().mockResolvedValue('improved content')
21
- })
22
- }));
23
- vi.mock('../network/p2p.js', () => ({
24
- p2pNetwork: {
25
- getPeers: vi.fn().mockReturnValue(['peer1', 'peer2']),
26
- sendMessage: vi.fn().mockResolvedValue(undefined),
27
- broadcast: vi.fn().mockResolvedValue(undefined)
28
- }
29
- }));
30
- describe('WorkflowEngine', () => {
31
- let engine;
32
- beforeEach(() => {
33
- engine = new WorkflowEngine();
34
- vi.clearAllMocks();
35
- });
36
- describe('executeStep', () => {
37
- it('should execute read step successfully', async () => {
38
- const step = {
39
- id: 'read',
40
- type: 'read',
41
- config: { path: 'test.txt' },
42
- retry: { max: 0, current: 0, backoffMs: 0 },
43
- onFail: 'abort'
44
- };
45
- const context = { peers: [], logs: [] };
46
- const result = await engine.executeStep(step, context);
47
- expect(result.status).toBe('success');
48
- });
49
- });
50
- describe('executeWorkflow', () => {
51
- it('should execute multiple steps in order', async () => {
52
- const steps = [
53
- {
54
- id: 'read',
55
- type: 'read',
56
- config: { path: 'test.txt' },
57
- retry: { max: 0, current: 0, backoffMs: 0 },
58
- onFail: 'abort'
59
- },
60
- {
61
- id: 'chunk',
62
- type: 'chunk',
63
- config: { maxChunkSize: 1000 },
64
- retry: { max: 0, current: 0, backoffMs: 0 },
65
- onFail: 'abort'
66
- }
67
- ];
68
- const workflow = await engine.executeWorkflow(steps);
69
- expect(workflow.status).toBe('completed');
70
- expect(workflow.results.size).toBe(2);
71
- });
72
- });
73
- describe('getConstraintLayer', () => {
74
- it('should return the constraint layer instance', () => {
75
- const layer = engine.getConstraintLayer();
76
- expect(layer).toBeDefined();
77
- expect(layer instanceof ConstraintLayer).toBe(true);
78
- });
79
- });
80
- describe('setConstraintLayer', () => {
81
- it('should allow setting a custom constraint layer', () => {
82
- const customLayer = new ConstraintLayer();
83
- engine.setConstraintLayer(customLayer);
84
- expect(engine.getConstraintLayer()).toBe(customLayer);
85
- });
86
- });
87
- });