@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,316 +0,0 @@
1
- /**
2
- * Human Value Store 测试
3
- *
4
- * 测试内容:
5
- * 1. 存储人类判断
6
- * 2. 从反馈中学习
7
- * 3. 从修正中学习
8
- * 4. 获取相关价值观
9
- * 5. 价值观注入到 Prompt
10
- *
11
- * 运行: npx tsx src/test/human-value-store.test.ts
12
- */
13
-
14
- import { config } from 'dotenv';
15
- import {
16
- storeHumanJudgment,
17
- learnFromFeedback,
18
- learnFromCorrection,
19
- getRelevantValues,
20
- getValueProfile,
21
- getValueStats,
22
- type HumanJudgment
23
- } from '../pi-ecosystem-judgment/human-value-store.js';
24
- import {
25
- generateValueInjection,
26
- generateJudgmentPromptWithValues,
27
- generateValueSummary,
28
- detectValueConflicts,
29
- suggestBasedOnValues
30
- } from '../pi-ecosystem-judgment/value-injection.js';
31
-
32
- config();
33
-
34
- // ============================================================
35
- // 测试数据
36
- // ============================================================
37
-
38
- const SAMPLE_JUDGMENTS: Array<Omit<HumanJudgment, 'id' | 'timestamp'>> = [
39
- {
40
- decision: '添加单元测试覆盖认证模块',
41
- decision_type: 'approve',
42
- reasons: ['测试是代码质量的基本保障', '认证模块是高风险区域'],
43
- values_derived: [
44
- { category: 'quality', value: 'test-coverage', weight: 0.9 },
45
- { category: 'safety', value: 'security-first', weight: 0.8 }
46
- ],
47
- context: {
48
- domain: 'code',
49
- complexity: 'moderate',
50
- stakes: 'high',
51
- time_pressure: 'medium'
52
- },
53
- outcome: { approved: true },
54
- metadata: { source: 'explicit', confidence: 0.9, revisable: false }
55
- },
56
- {
57
- decision: '使用简单的实现方案,不要过度设计',
58
- decision_type: 'approve',
59
- reasons: ['简单优于复杂', '过度设计浪费资源'],
60
- values_derived: [
61
- { category: 'efficiency', value: 'simplicity', weight: 0.9 },
62
- { category: 'efficiency', value: 'pragmatism', weight: 0.8 }
63
- ],
64
- context: {
65
- domain: 'architecture',
66
- complexity: 'moderate',
67
- stakes: 'medium',
68
- time_pressure: 'low'
69
- },
70
- outcome: { approved: true },
71
- metadata: { source: 'explicit', confidence: 0.85, revisable: true }
72
- },
73
- {
74
- decision: '提交前必须通过所有测试',
75
- decision_type: 'approve',
76
- reasons: ['保持 CI 流程的健康', '避免破坏性提交'],
77
- values_derived: [
78
- { category: 'quality', value: 'ci- discipline', weight: 0.9 },
79
- { category: 'collaboration', value: 'team-trust', weight: 0.7 }
80
- ],
81
- context: {
82
- domain: 'process',
83
- complexity: 'simple',
84
- stakes: 'medium',
85
- time_pressure: 'medium'
86
- },
87
- outcome: { approved: true },
88
- metadata: { source: 'trajectory', confidence: 0.9, revisable: false }
89
- },
90
- {
91
- decision: '代码审查发现安全漏洞,需要修复后才能合并',
92
- decision_type: 'approve',
93
- reasons: ['安全问题是阻塞性的', '不能为了速度牺牲安全'],
94
- values_derived: [
95
- { category: 'safety', value: 'security-blocker', weight: 1.0 },
96
- { category: 'quality', value: 'review-discipline', weight: 0.8 }
97
- ],
98
- context: {
99
- domain: 'security',
100
- complexity: 'moderate',
101
- stakes: 'critical',
102
- time_pressure: 'low'
103
- },
104
- outcome: { approved: true },
105
- metadata: { source: 'explicit', confidence: 1.0, revisable: false }
106
- }
107
- ];
108
-
109
- // ============================================================
110
- // 测试函数
111
- // ============================================================
112
-
113
- async function testStoreJudgments() {
114
- console.log('\n━━━ 测试: 存储人类判断 ━━━\n');
115
-
116
- for (const judgment of SAMPLE_JUDGMENTS) {
117
- const stored = await storeHumanJudgment(judgment);
118
- console.log(`✓ 存储判断: ${stored.id}`);
119
- console.log(` 决策: ${stored.decision}`);
120
- console.log(` 价值观: ${stored.values_derived.map(v => v.value).join(', ')}`);
121
- }
122
- }
123
-
124
- async function testLearnFromFeedback() {
125
- console.log('\n━━━ 测试: 从反馈中学习 ━━━\n');
126
-
127
- // 批准一个行动
128
- const approved = await learnFromFeedback(
129
- '添加输入验证',
130
- true,
131
- '输入验证很重要,防止注入攻击'
132
- );
133
- console.log(`✓ 从批准中学习: ${approved.id}`);
134
-
135
- // 拒绝一个行动
136
- const rejected = await learnFromFeedback(
137
- '跳过测试直接提交',
138
- false,
139
- '测试是质量保障,必须执行'
140
- );
141
- console.log(`✓ 从拒绝中学习: ${rejected.id}`);
142
- }
143
-
144
- async function testLearnFromCorrection() {
145
- console.log('\n━━━ 测试: 从修正中学习 ━━━\n');
146
-
147
- const corrected = await learnFromCorrection(
148
- '使用全局变量存储用户状态',
149
- '使用 Context 存储用户状态',
150
- '全局变量难以追踪和测试,Context 更清晰'
151
- );
152
- console.log(`✓ 从修正中学习: ${corrected.id}`);
153
- console.log(` 修正前: 使用全局变量存储用户状态`);
154
- console.log(` 修正后: 使用 Context 存储用户状态`);
155
- console.log(` 理由: ${corrected.reasons[0]}`);
156
- }
157
-
158
- async function testGetRelevantValues() {
159
- console.log('\n━━━ 测试: 获取相关价值观 ━━━\n');
160
-
161
- const securityValues = await getRelevantValues('安全 认证');
162
- console.log('安全/认证相关的价值观:');
163
- for (const v of securityValues) {
164
- console.log(` - ${v.value} (权重: ${(v.weight * 100).toFixed(0)}%)`);
165
- }
166
-
167
- const qualityValues = await getRelevantValues('测试 代码质量');
168
- console.log('\n测试/代码质量相关的价值观:');
169
- for (const v of qualityValues) {
170
- console.log(` - ${v.value} (权重: ${(v.weight * 100).toFixed(0)}%)`);
171
- }
172
- }
173
-
174
- async function testGetValueProfile() {
175
- console.log('\n━━━ 测试: 获取价值画像 ━━━\n');
176
-
177
- const profile = await getValueProfile('current');
178
- console.log(`决策者画像 (${profile.agent_id}):`);
179
- console.log(` - 决策总数: ${profile.decision_count}`);
180
- console.log(` - 质量关注度: ${(profile.quality_focus * 100).toFixed(0)}%`);
181
- console.log(` - 效率关注度: ${(profile.efficiency_focus * 100).toFixed(0)}%`);
182
- console.log(` - 安全关注度: ${(profile.safety_focus * 100).toFixed(0)}%`);
183
- console.log(` - 协作关注度: ${(profile.collaboration_focus * 100).toFixed(0)}%`);
184
-
185
- if (profile.decision_patterns.length > 0) {
186
- console.log(` - 决策模式:`);
187
- for (const p of profile.decision_patterns) {
188
- console.log(` * ${p.pattern} (频率: ${p.frequency}, 成功率: ${(p.success_rate * 100).toFixed(0)}%)`);
189
- }
190
- }
191
-
192
- if (profile.priority_rules.length > 0) {
193
- console.log(` - 优先级规则:`);
194
- for (const r of profile.priority_rules.slice(0, 3)) {
195
- console.log(` * ${r.when} → ${r.prefer}`);
196
- }
197
- }
198
- }
199
-
200
- async function testValueInjection() {
201
- console.log('\n━━━ 测试: 价值观注入到 Prompt ━━━\n');
202
-
203
- const injection = await generateValueInjection('代码安全问题', {
204
- mode: 'standard',
205
- maxTokens: 600,
206
- includeExamples: true,
207
- includeRules: true,
208
- includeBoundaries: true
209
- });
210
-
211
- console.log('生成的价值观注入内容:');
212
- console.log('─'.repeat(50));
213
- console.log(injection);
214
- console.log('─'.repeat(50));
215
- }
216
-
217
- async function testJudgmentPromptWithValues() {
218
- console.log('\n━━━ 测试: 带价值观的判断 Prompt ━━━\n');
219
-
220
- const prompt = await generateJudgmentPromptWithValues(
221
- '帮我检查这段代码有没有安全漏洞',
222
- '代码安全问题',
223
- ['用户询问了登录功能', '用户提到了密码存储']
224
- );
225
-
226
- console.log('生成的判断 Prompt:');
227
- console.log('─'.repeat(50));
228
- console.log(prompt.substring(0, 800) + '...');
229
- console.log('─'.repeat(50));
230
- }
231
-
232
- async function testValueSummary() {
233
- console.log('\n━━━ 测试: 价值观摘要 ━━━\n');
234
-
235
- const summary = await generateValueSummary();
236
- console.log(summary);
237
- }
238
-
239
- async function testDetectValueConflicts() {
240
- console.log('\n━━━ 测试: 价值观冲突检测 ━━━\n');
241
-
242
- const result = await detectValueConflicts(
243
- '添加更多测试来保证质量',
244
- '跳过测试加快交付速度'
245
- );
246
-
247
- console.log(`发现冲突: ${result.hasConflict ? '是' : '否'}`);
248
- if (result.conflicts.length > 0) {
249
- console.log('冲突点:');
250
- for (const c of result.conflicts) {
251
- console.log(` - ${c}`);
252
- }
253
- }
254
- }
255
-
256
- async function testSuggestBasedOnValues() {
257
- console.log('\n━━━ 测试: 基于价值观建议 ━━━\n');
258
-
259
- const situation = '需要选择测试框架';
260
-
261
- const result = await suggestBasedOnValues(situation, [
262
- 'Jest - 简单易用,社区大',
263
- 'Vitest - 现代化,性能好',
264
- 'Mocha - 灵活但配置复杂'
265
- ]);
266
-
267
- console.log(`情况: ${situation}`);
268
- console.log(`建议: ${result.recommended}`);
269
- console.log(`理由: ${result.reasoning}`);
270
- }
271
-
272
- async function testGetValueStats() {
273
- console.log('\n━━━ 测试: 价值观统计 ━━━\n');
274
-
275
- const stats = await getValueStats();
276
- console.log(`总判断数: ${stats.total_judgments}`);
277
- console.log(`按类型分布:`, stats.by_type);
278
- console.log(`按来源分布:`, stats.by_source);
279
- console.log('Top 价值观:');
280
- for (const v of stats.top_values) {
281
- console.log(` - ${v.category}: ${v.value} (${(v.weight * 100).toFixed(0)}%)`);
282
- }
283
- }
284
-
285
- // ============================================================
286
- // 主测试
287
- // ============================================================
288
-
289
- async function main() {
290
- console.log('========================================');
291
- console.log(' Human Value Store & Value Injection 测试');
292
- console.log('========================================');
293
-
294
- try {
295
- await testStoreJudgments();
296
- await testLearnFromFeedback();
297
- await testLearnFromCorrection();
298
- await testGetRelevantValues();
299
- await testGetValueProfile();
300
- await testValueInjection();
301
- await testJudgmentPromptWithValues();
302
- await testValueSummary();
303
- await testDetectValueConflicts();
304
- await testSuggestBasedOnValues();
305
- await testGetValueStats();
306
-
307
- console.log('\n========================================');
308
- console.log(' 所有测试通过 ✓');
309
- console.log('========================================\n');
310
- } catch (err) {
311
- console.error('\n测试失败:', err);
312
- process.exit(1);
313
- }
314
- }
315
-
316
- main();
@@ -1,126 +0,0 @@
1
- import { irohTransport } from '../network/iroh-transport.js';
2
- import { IrohDiscoveryService } from '../network/iroh-discovery.js';
3
- import { HybridMessenger } from '../network/hybrid-messenger.js';
4
- import { AgentAuthManager, KeyManager } from '@diap/sdk';
5
-
6
- const IPFS_API = 'http://127.0.0.1:5001';
7
- const IPFS_GATEWAY = 'http://127.0.0.1:8080';
8
-
9
- async function test() {
10
- console.log('╔═══════════════════════════════════════════╗');
11
- console.log('║ Hybrid P2P + DIAP Integration Test ║');
12
- console.log('╚═══════════════════════════════════════════╝\n');
13
-
14
- let passed = 0;
15
- let failed = 0;
16
-
17
- console.log('[1] Generate DIAP identity...');
18
- try {
19
- const keyPair = KeyManager.generate();
20
- console.log(' DID:', keyPair.did.substring(0, 30) + '...');
21
- console.log(' ✅ Identity generated');
22
- passed++;
23
- } catch (e) {
24
- console.log(' ❌ Failed:', e);
25
- failed++;
26
- }
27
-
28
- console.log('\n[2] Create AgentAuthManager...');
29
- let authManager: AgentAuthManager | null = null;
30
- try {
31
- authManager = await AgentAuthManager.newWithRemoteIpfs(IPFS_API, IPFS_GATEWAY);
32
- console.log(' ✅ AuthManager created');
33
- passed++;
34
- } catch (e) {
35
- console.log(' ⚠️ AuthManager failed (IPFS may not be running):', e);
36
- console.log(' Continuing without full DIAP integration...');
37
- passed++;
38
- }
39
-
40
- console.log('\n[3] Start IrohDiscoveryService...');
41
- let discovery: IrohDiscoveryService | null = null;
42
- try {
43
- if (authManager) {
44
- const keyPair = KeyManager.generate();
45
- discovery = new IrohDiscoveryService({
46
- agentAuthManager: authManager,
47
- keyPair: keyPair,
48
- agentName: 'test-agent-' + Date.now(),
49
- });
50
- await discovery.start();
51
- const nodeId = discovery.getOwnIrohNodeId();
52
- console.log(' Iroh node ID:', nodeId?.substring(0, 20) + '...');
53
- console.log(' ✅ Discovery started');
54
- passed++;
55
- }
56
- } catch (e) {
57
- console.log(' ❌ Failed:', e);
58
- failed++;
59
- }
60
-
61
- console.log('\n[4] Create HybridMessenger...');
62
- try {
63
- const messenger = new HybridMessenger();
64
- console.log(' Config:', JSON.stringify(messenger.getConfig()));
65
- console.log(' ✅ Messenger created');
66
- passed++;
67
- } catch (e) {
68
- console.log(' ❌ Failed:', e);
69
- failed++;
70
- }
71
-
72
- console.log('\n[5] Test transport selection...');
73
- try {
74
- const messenger = new HybridMessenger();
75
-
76
- const tests = [
77
- { type: 'task', size: 100, expected: 'hyperswarm' },
78
- { type: 'blob', size: 100 * 1024, expected: 'iroh' },
79
- { type: 'relay', size: 100, expected: 'libp2p' },
80
- ];
81
-
82
- for (const test of tests) {
83
- console.log(` ${test.type} (${test.size}b) ->`, test.expected);
84
- }
85
- console.log(' ✅ Transport selection configured');
86
- passed++;
87
- } catch (e) {
88
- console.log(' ❌ Failed:', e);
89
- failed++;
90
- }
91
-
92
- console.log('\n[6] Verify iroh transport is running...');
93
- try {
94
- console.log(' Node ID:', irohTransport.getNodeId()?.substring(0, 16) + '...');
95
- console.log(' Running:', irohTransport.isRunning());
96
- console.log(' Peers:', irohTransport.getPeers().length);
97
- console.log(' ✅ Iroh transport is running');
98
- passed++;
99
- } catch (e) {
100
- console.log(' ❌ Failed:', e);
101
- failed++;
102
- }
103
-
104
- console.log('\n[7] Cleanup...');
105
- try {
106
- if (discovery) {
107
- await discovery.shutdown();
108
- }
109
- console.log(' ✅ Cleanup complete');
110
- } catch (e) {
111
- console.log(' ⚠️ Cleanup warning:', e);
112
- }
113
-
114
- console.log('\n╔═══════════════════════════════════════════╗');
115
- console.log(`║ Results: ${passed} passed, ${failed} failed ║`);
116
- console.log('╚═══════════════════════════════════════════╝');
117
-
118
- if (failed > 0) {
119
- process.exit(1);
120
- }
121
- }
122
-
123
- test().catch((e) => {
124
- console.error('Test error:', e);
125
- process.exit(1);
126
- });
@@ -1,68 +0,0 @@
1
- import { irohTransport } from '../network/iroh-transport.js';
2
- import { HybridMessenger } from '../network/hybrid-messenger.js';
3
-
4
- async function testHybridMessenger() {
5
- console.log('=== HybridMessenger Verification ===\n');
6
-
7
- console.log('[1] Starting iroh transport...');
8
- await irohTransport.start();
9
- console.log(' Iroh node ID:', irohTransport.getNodeId()?.substring(0, 16) + '...');
10
- console.log(' ✅ Iroh started\n');
11
-
12
- console.log('[2] Creating HybridMessenger...');
13
- const messenger = new HybridMessenger({
14
- preferIrohForLarge: true,
15
- largeThresholdBytes: 64 * 1024,
16
- enableRelay: true,
17
- });
18
- console.log(' ✅ Messenger created\n');
19
-
20
- console.log('[3] Testing transport selection logic...');
21
- const config = messenger.getConfig();
22
- console.log(' Config:', JSON.stringify(config));
23
- console.log(' ✅ Config correct\n');
24
-
25
- console.log('[4] Testing message handlers...');
26
- let handlerCalled = false;
27
-
28
- messenger.onMessage('task', (msg) => {
29
- handlerCalled = true;
30
- console.log(' Handler called for:', msg.type);
31
- });
32
-
33
- messenger.onWildcard((msg) => {
34
- console.log(' Wildcard called for:', msg.type);
35
- });
36
-
37
- messenger.dispatchMessage({
38
- type: 'task',
39
- payload: new TextEncoder().encode('test'),
40
- from: 'test-peer',
41
- });
42
-
43
- messenger.dispatchMessage({
44
- type: 'unknown',
45
- payload: new TextEncoder().encode('test'),
46
- from: 'test-peer',
47
- });
48
- console.log(' ✅ Handlers work\n');
49
-
50
- console.log('[5] Testing config modification...');
51
- messenger.setLargeThreshold(1024);
52
- messenger.setPreferIrohForLarge(false);
53
- const newConfig = messenger.getConfig();
54
- console.log(' New threshold:', newConfig.largeThresholdBytes);
55
- console.log(' Prefer iroh:', newConfig.preferIrohForLarge);
56
- console.log(' ✅ Config modification works\n');
57
-
58
- console.log('[6] Shutting down...');
59
- await irohTransport.shutdown();
60
- console.log(' ✅ Shutdown complete\n');
61
-
62
- console.log('=== ✅ HybridMessenger Verification Passed ===');
63
- }
64
-
65
- testHybridMessenger().catch((e) => {
66
- console.error('Test failed:', e);
67
- process.exit(1);
68
- });
@@ -1,50 +0,0 @@
1
- import { Endpoint, Connection } from '@rayhanadev/iroh';
2
-
3
- const IROH_ALPN = 'bolloon/iroh/1';
4
-
5
- async function main() {
6
- console.log('=== iroh Debug Bi-stream ===\n');
7
-
8
- const server = await Endpoint.createWithOptions({ alpns: [IROH_ALPN] });
9
- await server.online();
10
- console.log('[Server] ID:', server.nodeId());
11
-
12
- const client = await Endpoint.createWithOptions({ alpns: [IROH_ALPN] });
13
- await client.online();
14
- console.log('[Client] ID:', client.nodeId());
15
-
16
- console.log('\n[Connect] Client connecting...');
17
- const clientConn = await client.connect(server.nodeId(), IROH_ALPN);
18
- console.log('[Client] Connected!');
19
-
20
- console.log('[Accept] Server accepting...');
21
- const serverConn = await server.accept();
22
- console.log('[Server] Accepted!');
23
-
24
- console.log('\n[Bi-stream] Client opening...');
25
- const clientBi = await clientConn.openBi();
26
- console.log('[Client] Bi-stream opened');
27
-
28
- console.log('[Bi-stream] Server accepting (with 2s timeout)...');
29
- const acceptPromise = serverConn.acceptBi();
30
- const timeoutPromise = new Promise((_, reject) =>
31
- setTimeout(() => reject(new Error('acceptBi timeout')), 2000)
32
- );
33
-
34
- try {
35
- const serverBi = await Promise.race([acceptPromise, timeoutPromise]);
36
- console.log('[Server] Bi-stream accepted!');
37
- } catch (e: any) {
38
- console.log('[Server] Bi-stream accept error:', e.message);
39
- console.log('[Debug] Checking serverConn state...');
40
- console.log(' serverConn:', !!serverConn);
41
- console.log(' serverConn.remoteNodeId:', serverConn?.remoteNodeId?.());
42
- }
43
-
44
- console.log('\n[Cleanup]');
45
- clientConn.close();
46
- await server.close();
47
- await client.close();
48
- }
49
-
50
- main().catch(console.error);
@@ -1,81 +0,0 @@
1
- import { irohTransport } from '../network/iroh-transport.js';
2
-
3
- async function testTwoNodesCommunication() {
4
- console.log('=== Two Node Communication Test ===\n');
5
-
6
- // 启动第一个节点 (server)
7
- console.log('[Node1] Starting...');
8
- const node1 = await irohTransport.start();
9
- console.log('[Node1] Node ID:', node1.nodeId.substring(0, 16) + '...');
10
- console.log('[Node1] Addr:', node1.addr.substring(0, 32) + '...\n');
11
-
12
- // 注册消息处理器
13
- let messageCount = 0;
14
- const messages: any[] = [];
15
-
16
- irohTransport.onMessage('hello', (msg) => {
17
- messageCount++;
18
- messages.push(msg);
19
- console.log(`[Node1] Received message #${messageCount} from ${msg.from.substring(0, 8)}...`);
20
- console.log(`[Node1] Payload: ${new TextDecoder().decode(msg.payload)}`);
21
- });
22
-
23
- // 模拟第二个节点连接并发送消息
24
- // 注意: 在实际场景中,两个节点需要在不同进程/机器上运行
25
- // 这里我们测试的是单节点的消息处理能力
26
-
27
- console.log('[Node1] Listening for incoming connections...\n');
28
-
29
- // 等待一段时间看是否有连接
30
- await new Promise(resolve => setTimeout(resolve, 2000));
31
-
32
- console.log(`[Node1] Messages received: ${messageCount}`);
33
-
34
- // 测试发送消息 API (模拟)
35
- console.log('\n[Node1] Testing sendMessage API...');
36
- const fakeTargetId = 'c0b07356bcf4a505000000000000000000000000';
37
- // 注意: 这会失败因为目标节点不存在,但测试 API 是否正常调用
38
- try {
39
- await irohTransport.sendMessage(fakeTargetId, 'test', new TextEncoder().encode('test'));
40
- } catch (e) {
41
- console.log('[Node1] Expected failure:', (e as Error).message);
42
- }
43
-
44
- await irohTransport.shutdown();
45
- console.log('\n=== Test Complete ===');
46
- }
47
-
48
- async function testMessageParsing() {
49
- console.log('=== Message Parsing Test ===\n');
50
-
51
- await irohTransport.start();
52
-
53
- // 测试不同的消息格式
54
- const testCases = [
55
- { type: 'task', payload: '{"id":"1","type":"summarize"}' },
56
- { type: 'relay', payload: 'forward-data' },
57
- { type: 'blob', payload: 'binary-data-here' },
58
- ];
59
-
60
- for (const tc of testCases) {
61
- const encoded = new TextEncoder().encode(tc.payload);
62
- const formatted = tc.type + ':' + tc.payload;
63
- console.log(`Parsed: type=${tc.type}, payload_len=${encoded.length}`);
64
- }
65
-
66
- await irohTransport.shutdown();
67
- console.log('\n=== Parsing Test Complete ===');
68
- }
69
-
70
- runTests();
71
-
72
- async function runTests() {
73
- try {
74
- await testTwoNodesCommunication();
75
- await testMessageParsing();
76
- console.log('\n✅ All communication tests passed');
77
- } catch (e) {
78
- console.error('❌ Test failed:', e);
79
- process.exit(1);
80
- }
81
- }