@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,86 +0,0 @@
1
- # Bolloon Agent 对话界面设计
2
-
3
- ## 概述
4
-
5
- 为 Bolloon Agent 设计一个混合模式(终端+浏览器)的对话界面,用户可在浏览器中与 AI Agent 对话。
6
-
7
- ## 交互流程
8
-
9
- 1. 终端运行 `npm run dev` 启动
10
- 2. 终端显示启动进度,浏览器自动打开 Web 界面
11
- 3. 用户在浏览器中发送消息
12
- 4. 后端处理并通过 P2P 网络通信
13
- 5. AI 回复显示在浏览器中
14
-
15
- ## 终端显示
16
-
17
- ```
18
- 🤖 Bolloon Agent
19
-
20
- 身份生成... ✓
21
- P2P连接... ✓
22
- HTTP服务... ✓
23
-
24
- 🌐 浏览器已打开 → http://localhost:54188
25
- ```
26
-
27
- ## Web 界面设计
28
-
29
- ### 布局
30
- - 固定高度视口,全屏显示
31
- - 顶部标题栏
32
- - 中部消息区域(可滚动)
33
- - 底部输入框
34
-
35
- ### 消息样式
36
- - 用户消息:右对齐,蓝色/深色背景
37
- - AI消息:左对齐,浅色背景
38
- - 时间戳在消息下方(小字灰色)
39
-
40
- ### 视觉风格
41
- - 简洁对话流,无多余装饰
42
- - 适合纯对话场景
43
- - 深色/浅色主题可扩展
44
-
45
- ## 技术方案
46
-
47
- ### 目录结构
48
- ```
49
- src/
50
- web/
51
- index.html # 极简HTML
52
- style.css # 对话样式
53
- client.js # 前端JS
54
- server.ts # Express + SSE后端
55
- ```
56
-
57
- ### 端口
58
- - 默认 3000
59
- - 可通过 PORT 环境变量配置
60
-
61
- ### API
62
- - `GET /` - 返回 Web 界面
63
- - `GET /events` - SSE 流式事件
64
- - `POST /message` - 发送消息
65
-
66
- ## 消息格式
67
-
68
- ### 请求
69
- ```json
70
- POST /message
71
- { "text": "读取 想法.md" }
72
- ```
73
-
74
- ### 响应 (SSE)
75
- ```
76
- data: {"type":"user","content":"读取 想法.md"}
77
- data: {"type":"ai","content":"📝 摘要..."}
78
- data: {"type":"done"}
79
- ```
80
-
81
- ## 状态
82
-
83
- - [ ] 创建 Web 静态文件
84
- - [ ] 实现 Express + SSE 后端
85
- - [ ] 集成到 main.ts
86
- - [ ] 测试完整流程
@@ -1,106 +0,0 @@
1
- # ConstraintRuntime Design
2
-
3
- ## Overview
4
-
5
- A TypeScript implementation that replicates and extends the py-bolloon architecture for AI constraint management, deep thinking, and multi-agent coordination.
6
-
7
- ## Architecture
8
-
9
- ```
10
- constraint-runtime/
11
- ├── src/
12
- │ ├── index.ts # Main entry
13
- │ ├── constraint/ # Permission & resource constraints
14
- │ │ ├── index.ts
15
- │ │ ├── permission.ts # Tool allowlist/denylist
16
- │ │ └── budget.ts # Token/turn budget tracking
17
- │ ├── thinking/ # Deep thinking engine
18
- │ │ ├── index.ts
19
- │ │ ├── engine.ts # Multi-step reasoning
20
- │ │ └── reflection.ts # Self-reflection loops
21
- │ ├── agent/ # Multi-agent coordination
22
- │ │ ├── index.ts
23
- │ │ ├── coordinator.ts # Task distribution
24
- │ │ ├── agent-pool.ts # Agent lifecycle
25
- │ │ └── result-aggregator.ts # Result merging
26
- │ ├── skills/ # Skill registry
27
- │ │ ├── index.ts
28
- │ │ └── skill-registry.ts
29
- │ ├── runtime/ # Core runtime
30
- │ │ ├── index.ts
31
- │ │ ├── session.ts # Session management
32
- │ │ └── turn-engine.ts # Turn loop execution
33
- │ └── reference_data/ # Mirrored snapshots
34
- │ └── subsystems/
35
- └── package.json
36
- ```
37
-
38
- ## Core Components
39
-
40
- ### 1. ConstraintLayer
41
-
42
- - **ToolPermissionContext**: allowlist/denylist for tools
43
- - **BudgetTracker**: token budget, max turns, compact_after_turns
44
- - **PermissionDenial**: reason when tool access denied
45
-
46
- ### 2. DeepThinkingEngine
47
-
48
- - Configurable `maxDepth` (1-10 steps)
49
- - Chain-of-thought reasoning with reflection
50
- - `think(prompt) → ThinkResult` with intermediate steps
51
-
52
- ### 3. AgentCoordinator
53
-
54
- - **TaskSplitter**: breaks prompt into parallel subtasks
55
- - **AgentPool**: manages agent lifecycle
56
- - **ResultAggregator**: merges parallel results
57
- - Parallel dispatch pattern
58
-
59
- ### 4. SkillRegistry
60
-
61
- - Loads skills from `skills/` directory
62
- - Skill = { name, description, execute(params) }
63
- - Compatible with py-bolloon skill snapshot format
64
-
65
- ### 5. Runtime
66
-
67
- - **Session**: maintains context, history, state
68
- - **TurnEngine**: executes turns with constraint checking
69
- - Mirrors py-bolloon `PortRuntime` pattern
70
-
71
- ## Data Flow
72
-
73
- ```
74
- User Prompt
75
-
76
- [ConstraintLayer] ← permission check
77
-
78
- [DeepThinkingEngine] ← multi-step reasoning (optional)
79
-
80
- [AgentCoordinator] ← task split
81
-
82
- [AgentPool] ← parallel execution
83
-
84
- [ResultAggregator]
85
-
86
- [SkillRegistry] ← skill enrichment
87
-
88
- Response + Updated Session
89
- ```
90
-
91
- ## CLI Commands (mirrors py-bolloon)
92
-
93
- - `summary` - render markdown summary
94
- - `manifest` - print module manifest
95
- - `tool-pool` - show tool constraints
96
- - `bootstrap` - build session
97
- - `turn-loop` - run turn loop
98
- - `think` - run deep thinking mode
99
- - `dispatch` - parallel agent dispatch
100
-
101
- ## Implementation Notes
102
-
103
- - Follow py-bolloon module mirroring pattern
104
- - Use `PortingModule` model for tools/commands
105
- - Preserve `QueryEnginePort` patterns
106
- - TypeScript-first with strict mode
@@ -1,441 +0,0 @@
1
- # ConstraintRuntime Implementation Plan
2
-
3
- > **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.
4
-
5
- **Goal:** Create a TypeScript implementation that replicates py-bolloon architecture with AI constraint management, deep thinking, and multi-agent coordination.
6
-
7
- **Architecture:** Module mirroring pattern (py-bolloon style) with TypeScript-first implementation. Core components: ConstraintLayer, DeepThinkingEngine, AgentCoordinator, SkillRegistry.
8
-
9
- **Tech Stack:** TypeScript, Node.js, strict mode
10
-
11
- ---
12
-
13
- ## Task 1: Project Scaffold
14
-
15
- **Files:**
16
- - Create: `src/constraint-runtime/index.ts`
17
- - Create: `src/constraint-runtime/package.json`
18
- - Create: `src/constraint-runtime/tsconfig.json`
19
-
20
- **Step 1: Create project structure**
21
-
22
- ```bash
23
- mkdir -p src/constraint-runtime/{src/{constraint,thinking,agent,skills,runtime,reference_data/subsystems},tests}
24
- ```
25
-
26
- **Step 2: Create package.json**
27
-
28
- ```json
29
- {
30
- "name": "@bolloon/constraint-runtime",
31
- "version": "0.1.0",
32
- "type": "module",
33
- "main": "dist/index.js",
34
- "types": "dist/index.d.ts",
35
- "scripts": {
36
- "build": "tsc",
37
- "test": "vitest run"
38
- }
39
- }
40
- ```
41
-
42
- **Step 3: Create tsconfig.json**
43
-
44
- ```json
45
- {
46
- "compilerOptions": {
47
- "target": "ES2022",
48
- "module": "NodeNext",
49
- "moduleResolution": "NodeNext",
50
- "strict": true,
51
- "outDir": "dist",
52
- "rootDir": "src"
53
- },
54
- "include": ["src/**/*"]
55
- }
56
- ```
57
-
58
- ---
59
-
60
- ## Task 2: Core Models
61
-
62
- **Files:**
63
- - Create: `src/constraint-runtime/src/models.ts`
64
-
65
- **Step 1: Create models**
66
-
67
- ```typescript
68
- export interface PortingModule {
69
- name: string;
70
- responsibility: string;
71
- source_hint: string;
72
- status: 'mirrored' | 'ported' | 'pending';
73
- }
74
-
75
- export interface PermissionDenial {
76
- tool_name: string;
77
- reason: string;
78
- }
79
-
80
- export interface UsageSummary {
81
- input_tokens: number;
82
- output_tokens: number;
83
- }
84
-
85
- export interface TurnResult {
86
- prompt: string;
87
- output: string;
88
- matched_commands: string[];
89
- matched_tools: string[];
90
- permission_denials: PermissionDenial[];
91
- usage: UsageSummary;
92
- stop_reason: string;
93
- }
94
- ```
95
-
96
- ---
97
-
98
- ## Task 3: ConstraintLayer
99
-
100
- **Files:**
101
- - Create: `src/constraint-runtime/src/constraint/index.ts`
102
- - Create: `src/constraint-runtime/src/constraint/permission.ts`
103
- - Create: `src/constraint-runtime/src/constraint/budget.ts`
104
-
105
- **Step 1: Create permission context**
106
-
107
- ```typescript
108
- export class ToolPermissionContext {
109
- private denyTools: Set<string>;
110
- private denyPrefixes: string[];
111
-
112
- static fromIterables(denyTools: string[] = [], denyPrefixes: string[] = []): ToolPermissionContext {
113
- return new ToolPermissionContext(new Set(denyTools.map(t => t.toLowerCase())), denyPrefixes);
114
- }
115
-
116
- blocks(name: string): boolean {
117
- const lower = name.toLowerCase();
118
- if (this.denyTools.has(lower)) return true;
119
- return this.denyPrefixes.some(p => lower.startsWith(p.toLowerCase()));
120
- }
121
- }
122
- ```
123
-
124
- **Step 2: Create budget tracker**
125
-
126
- ```typescript
127
- export class BudgetTracker {
128
- constructor(
129
- public maxBudgetTokens: number = 2000,
130
- public maxTurns: number = 8,
131
- public compactAfterTurns: number = 12
132
- ) {}
133
-
134
- addTurn(inputTokens: number, outputTokens: number): UsageSummary {
135
- return { input_tokens: inputTokens, output_tokens: outputTokens };
136
- }
137
-
138
- isBudgetExceeded(usage: UsageSummary): boolean {
139
- return usage.input_tokens + usage.output_tokens > this.maxBudgetTokens;
140
- }
141
- }
142
- ```
143
-
144
- ---
145
-
146
- ## Task 4: DeepThinkingEngine
147
-
148
- **Files:**
149
- - Create: `src/constraint-runtime/src/thinking/index.ts`
150
- - Create: `src/constraint-runtime/src/thinking/engine.ts`
151
- - Create: `src/constraint-runtime/src/thinking/reflection.ts`
152
-
153
- **Step 1: Create thinking engine**
154
-
155
- ```typescript
156
- export interface ThinkStep {
157
- step: number;
158
- thought: string;
159
- reflection?: string;
160
- improvement?: string;
161
- }
162
-
163
- export interface ThinkResult {
164
- originalPrompt: string;
165
- steps: ThinkStep[];
166
- finalOutput: string;
167
- depth: number;
168
- }
169
-
170
- export class DeepThinkingEngine {
171
- constructor(private maxDepth: number = 3) {}
172
-
173
- async think(prompt: string): Promise<ThinkResult> {
174
- const steps: ThinkStep[] = [];
175
- let current = prompt;
176
-
177
- for (let i = 0; i < this.maxDepth; i++) {
178
- const thought = await this.generateThought(current, i);
179
- const reflection = await this.reflect(thought, current);
180
-
181
- steps.push({
182
- step: i + 1,
183
- thought,
184
- reflection: reflection.question,
185
- improvement: reflection.improvement
186
- });
187
-
188
- if (reflection.improvement) {
189
- current = reflection.improvement;
190
- }
191
- }
192
-
193
- return {
194
- originalPrompt: prompt,
195
- steps,
196
- finalOutput: steps[steps.length - 1]?.improvement ?? current,
197
- depth: this.maxDepth
198
- };
199
- }
200
-
201
- private async generateThought(prompt: string, step: number): Promise<string> {
202
- return `[Step ${step + 1}] Thinking about: ${prompt}`;
203
- }
204
-
205
- private async reflect(thought: string, original: string): Promise<{ question: string; improvement?: string }> {
206
- return {
207
- question: `Is "${thought}" the best approach?`,
208
- improvement: step < this.maxDepth - 1 ? `${thought} (refined)` : undefined
209
- };
210
- }
211
- }
212
- ```
213
-
214
- ---
215
-
216
- ## Task 5: AgentCoordinator
217
-
218
- **Files:**
219
- - Create: `src/constraint-runtime/src/agent/index.ts`
220
- - Create: `src/constraint-runtime/src/agent/coordinator.ts`
221
- - Create: `src/constraint-runtime/src/agent/agent-pool.ts`
222
- - Create: `src/constraint-runtime/src/agent/result-aggregator.ts`
223
-
224
- **Step 1: Create coordinator**
225
-
226
- ```typescript
227
- import { DeepThinkingEngine } from '../thinking/engine.js';
228
-
229
- export interface SubTask {
230
- id: string;
231
- description: string;
232
- priority: number;
233
- }
234
-
235
- export interface AgentResult {
236
- taskId: string;
237
- output: string;
238
- success: boolean;
239
- metadata?: Record<string, unknown>;
240
- }
241
-
242
- export class AgentCoordinator {
243
- private engine: DeepThinkingEngine;
244
-
245
- constructor(maxDepth: number = 3) {
246
- this.engine = new DeepThinkingEngine(maxDepth);
247
- }
248
-
249
- async dispatch(prompt: string, parallelCount: number = 3): Promise<AgentResult[]> {
250
- const tasks = this.splitTask(prompt, parallelCount);
251
- const agents = Array.from({ length: Math.min(tasks.length, parallelCount) }, (_, i) => ({
252
- id: `agent-${i}`,
253
- execute: (task: SubTask) => this.executeTask(task)
254
- }));
255
-
256
- const results = await Promise.all(
257
- tasks.map(task =>
258
- agents[task.id.charCodeAt(task.id.length - 1) % agents.length].execute(task)
259
- )
260
- );
261
-
262
- return this.aggregate(results);
263
- }
264
-
265
- private splitTask(prompt: string, count: number): SubTask[] {
266
- const words = prompt.split(' ');
267
- const chunkSize = Math.ceil(words.length / count);
268
- const chunks: SubTask[] = [];
269
-
270
- for (let i = 0; i < count; i++) {
271
- const chunk = words.slice(i * chunkSize, (i + 1) * chunkSize).join(' ');
272
- if (chunk) {
273
- chunks.push({
274
- id: `task-${i}`,
275
- description: chunk,
276
- priority: i
277
- });
278
- }
279
- }
280
- return chunks;
281
- }
282
-
283
- private async executeTask(task: SubTask): Promise<AgentResult> {
284
- const thinkResult = await this.engine.think(task.description);
285
- return {
286
- taskId: task.id,
287
- output: thinkResult.finalOutput,
288
- success: true
289
- };
290
- }
291
-
292
- private aggregate(results: AgentResult[]): AgentResult[] {
293
- return results.sort((a, b) => a.taskId.localeCompare(b.taskId));
294
- }
295
- }
296
- ```
297
-
298
- ---
299
-
300
- ## Task 6: SkillRegistry
301
-
302
- **Files:**
303
- - Create: `src/constraint-runtime/src/skills/index.ts`
304
- - Create: `src/constraint-runtime/src/skills/skill-registry.ts`
305
-
306
- **Step 1: Create skill registry**
307
-
308
- ```typescript
309
- export interface Skill {
310
- name: string;
311
- description: string;
312
- execute(params: Record<string, unknown>): Promise<string>;
313
- }
314
-
315
- export class SkillRegistry {
316
- private skills: Map<string, Skill> = new Map();
317
-
318
- register(skill: Skill): void {
319
- this.skills.set(skill.name, skill);
320
- }
321
-
322
- get(name: string): Skill | undefined {
323
- return this.skills.get(name);
324
- }
325
-
326
- list(): Skill[] {
327
- return Array.from(this.skills.values());
328
- }
329
-
330
- async execute(name: string, params: Record<string, unknown>): Promise<string> {
331
- const skill = this.skills.get(name);
332
- if (!skill) throw new Error(`Skill not found: ${name}`);
333
- return skill.execute(params);
334
- }
335
- }
336
- ```
337
-
338
- ---
339
-
340
- ## Task 7: Runtime Session
341
-
342
- **Files:**
343
- - Create: `src/constraint-runtime/src/runtime/index.ts`
344
- - Create: `src/constraint-runtime/src/runtime/session.ts`
345
- - Create: `src/constraint-runtime/src/runtime/turn-engine.ts`
346
-
347
- **Step 1: Create session**
348
-
349
- ```typescript
350
- import { ToolPermissionContext } from '../constraint/permission.js';
351
- import { BudgetTracker } from '../constraint/budget.js';
352
- import { DeepThinkingEngine } from '../thinking/engine.js';
353
- import { AgentCoordinator } from '../agent/coordinator.js';
354
-
355
- export interface RuntimeSession {
356
- sessionId: string;
357
- messages: string[];
358
- context: Record<string, unknown>;
359
- permissionContext: ToolPermissionContext;
360
- budget: BudgetTracker;
361
- }
362
-
363
- export class Session {
364
- constructor(
365
- public sessionId: string,
366
- public messages: string[] = [],
367
- public context: Record<string, unknown> = {},
368
- public permissionContext: ToolPermissionContext = new ToolPermissionContext(),
369
- public budget: BudgetTracker = new BudgetTracker()
370
- ) {}
371
-
372
- addMessage(msg: string): void {
373
- this.messages.push(msg);
374
- }
375
- }
376
- ```
377
-
378
- ---
379
-
380
- ## Task 8: Main Entry Point
381
-
382
- **Files:**
383
- - Create: `src/constraint-runtime/src/index.ts`
384
-
385
- **Step 1: Create main export**
386
-
387
- ```typescript
388
- export { ToolPermissionContext } from './constraint/permission.js';
389
- export { BudgetTracker } from './constraint/budget.js';
390
- export { DeepThinkingEngine, type ThinkResult, type ThinkStep } from './thinking/engine.js';
391
- export { AgentCoordinator, type SubTask, type AgentResult } from './agent/coordinator.js';
392
- export { SkillRegistry, type Skill } from './skills/skill-registry.js';
393
- export { Session, type RuntimeSession } from './runtime/session.js';
394
- ```
395
-
396
- ---
397
-
398
- ## Task 9: Tests
399
-
400
- **Files:**
401
- - Create: `src/constraint-runtime/tests/constraint.test.ts`
402
- - Create: `src/constraint-runtime/tests/thinking.test.ts`
403
- - Create: `src/constraint-runtime/tests/agent.test.ts`
404
-
405
- **Step 1: Write constraint tests**
406
-
407
- ```typescript
408
- import { describe, it, expect } from 'vitest';
409
- import { ToolPermissionContext } from '../src/constraint/permission.js';
410
-
411
- describe('ToolPermissionContext', () => {
412
- it('blocks denied tools', () => {
413
- const ctx = ToolPermissionContext.fromIterables(['BashTool'], []);
414
- expect(ctx.blocks('BashTool')).toBe(true);
415
- expect(ctx.blocks('FileReadTool')).toBe(false);
416
- });
417
- });
418
- ```
419
-
420
- ---
421
-
422
- ## Task 10: Build & Verify
423
-
424
- **Step 1: Install dependencies**
425
-
426
- ```bash
427
- cd src/constraint-runtime
428
- npm install typescript vitest @types/node --save-dev
429
- ```
430
-
431
- **Step 2: Build**
432
-
433
- ```bash
434
- npm run build
435
- ```
436
-
437
- **Step 3: Test**
438
-
439
- ```bash
440
- npm run test
441
- ```