@bolloon/bolloon-agent 0.1.35 → 0.1.37

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 (502) hide show
  1. package/README.md +1 -1
  2. package/dist/agents/p2p-chat-tools.js +6 -6
  3. package/dist/agents/permission-mode.js +115 -0
  4. package/dist/agents/pi-sdk.js +435 -25
  5. package/dist/agents/pre-tool-validator.js +194 -0
  6. package/dist/agents/workflow-pivot-loop.js +113 -12
  7. package/dist/bollharness-integration/context-router.js +2 -2
  8. package/dist/bollharness-integration/guard-checker.js +1 -1
  9. package/dist/bootstrap/bootstrap.js +3 -0
  10. package/dist/bootstrap/context-collector.js +17 -1
  11. package/dist/bootstrap/context-hierarchy.js +218 -0
  12. package/dist/bootstrap/lifecycle-hooks.js +86 -24
  13. package/dist/bootstrap/project-context.js +10 -3
  14. package/dist/context-compaction/auto-compact.js +144 -0
  15. package/dist/context-compaction/budget-gate.js +28 -0
  16. package/dist/context-compaction/budget-reduce.js +35 -0
  17. package/dist/context-compaction/context-collapse.js +66 -0
  18. package/dist/context-compaction/index.js +21 -0
  19. package/dist/context-compaction/microcompact.js +51 -0
  20. package/dist/context-compaction/pipeline.js +123 -0
  21. package/dist/context-compaction/snip.js +45 -0
  22. package/dist/context-compaction/token-estimator.js +35 -0
  23. package/dist/context-compaction/types.js +19 -0
  24. package/dist/heartbeat/HealthMonitor.js +3 -2
  25. package/dist/index.js +38 -2
  26. package/dist/llm/llm-judgment-client.js +32 -30
  27. package/dist/llm/pi-ai.js +103 -16
  28. package/dist/llm/system-prompt/health.js +129 -0
  29. package/dist/llm/system-prompt/registry.js +246 -0
  30. package/dist/llm/system-prompt/strip-hibsml.js +51 -0
  31. package/dist/llm/tool-manifest/ask_user_input.js +35 -0
  32. package/dist/llm/tool-manifest/bash.js +23 -0
  33. package/dist/llm/tool-manifest/create_file.js +24 -0
  34. package/dist/llm/tool-manifest/fetch_sports_data.js +26 -0
  35. package/dist/llm/tool-manifest/image_search.js +24 -0
  36. package/dist/llm/tool-manifest/index.js +69 -0
  37. package/dist/llm/tool-manifest/mcp.js +43 -0
  38. package/dist/llm/tool-manifest/message_compose.js +31 -0
  39. package/dist/llm/tool-manifest/places.js +83 -0
  40. package/dist/llm/tool-manifest/present_files.js +21 -0
  41. package/dist/llm/tool-manifest/recipe.js +40 -0
  42. package/dist/llm/tool-manifest/recommend_apps.js +23 -0
  43. package/dist/llm/tool-manifest/str_replace.js +27 -0
  44. package/dist/llm/tool-manifest/types.js +7 -0
  45. package/dist/llm/tool-manifest/view.js +24 -0
  46. package/dist/llm/tool-manifest/weather.js +27 -0
  47. package/dist/llm/tool-manifest/web.js +51 -0
  48. package/dist/network/p2p-direct.js +23 -0
  49. package/dist/network/source-intent-broadcaster.js +203 -0
  50. package/dist/network/source-intent.js +100 -0
  51. package/dist/pi-ecosystem-judgment/adaptive-scan.js +48 -0
  52. package/dist/pi-ecosystem-judgment/injection-gate.js +54 -12
  53. package/dist/pi-ecosystem-judgment/value-injection.js +8 -2
  54. package/dist/security/context-router-tool.js +1 -1
  55. package/dist/security/input-scanner.js +223 -0
  56. package/dist/web/client.js +3089 -4458
  57. package/dist/web/index.html +58 -67
  58. package/dist/web/server.js +299 -117
  59. package/dist/web/style.css +531 -249
  60. package/dist/web/ui/message-renderer.js +352 -0
  61. package/dist/web/ui/step-timeline.js +279 -0
  62. package/package.json +2 -2
  63. package/.auto-evolve-calls +0 -1
  64. package/.last-auto-evolve-baseline +0 -1
  65. package/Bolloon.md +0 -103
  66. package/dist/agents/constraint-layer.js.map +0 -1
  67. package/dist/agents/pi-sdk.js.map +0 -1
  68. package/dist/agents/workflow-engine.js.map +0 -1
  69. package/dist/bollharness/src/index.js +0 -5
  70. package/dist/bollharness/src/scripts/checks/check_adr_plan_numbering.js +0 -6
  71. package/dist/bollharness/src/scripts/checks/check_api_types.js +0 -45
  72. package/dist/bollharness/src/scripts/checks/check_artifact_link.js +0 -146
  73. package/dist/bollharness/src/scripts/checks/check_bridge_deps.js +0 -6
  74. package/dist/bollharness/src/scripts/checks/check_bugfix_binding.js +0 -6
  75. package/dist/bollharness/src/scripts/checks/check_bugfix_binding_ci.js +0 -6
  76. package/dist/bollharness/src/scripts/checks/check_doc_file_references.js +0 -6
  77. package/dist/bollharness/src/scripts/checks/check_doc_freshness.js +0 -135
  78. package/dist/bollharness/src/scripts/checks/check_doc_links.js +0 -31
  79. package/dist/bollharness/src/scripts/checks/check_file_existence_claims.js +0 -6
  80. package/dist/bollharness/src/scripts/checks/check_fragment_integrity.js +0 -34
  81. package/dist/bollharness/src/scripts/checks/check_hook_installed.js +0 -63
  82. package/dist/bollharness/src/scripts/checks/check_issue_closure.js +0 -41
  83. package/dist/bollharness/src/scripts/checks/check_mcp_parity.js +0 -6
  84. package/dist/bollharness/src/scripts/checks/check_security.js +0 -48
  85. package/dist/bollharness/src/scripts/checks/check_skill_parity.js +0 -6
  86. package/dist/bollharness/src/scripts/checks/check_versions.js +0 -6
  87. package/dist/bollharness/src/scripts/checks/finding.js +0 -13
  88. package/dist/bollharness/src/scripts/checks/next_decision_number.js +0 -20
  89. package/dist/bollharness/src/scripts/checks/regenerate_magic_docs.js +0 -6
  90. package/dist/bollharness/src/scripts/ci/detect_rebaseline_triggers.js +0 -8
  91. package/dist/bollharness/src/scripts/ci/scan_subprocess_cfg.js +0 -8
  92. package/dist/bollharness/src/scripts/ci/scan_verify_artifacts.js +0 -8
  93. package/dist/bollharness/src/scripts/ci/scan_yaml_schema.js +0 -8
  94. package/dist/bollharness/src/scripts/context_router.js +0 -67
  95. package/dist/bollharness/src/scripts/deploy-guard.js +0 -157
  96. package/dist/bollharness/src/scripts/guard-feedback.js +0 -192
  97. package/dist/bollharness/src/scripts/guard_router.js +0 -158
  98. package/dist/bollharness/src/scripts/hooks/_hook_output.js +0 -6
  99. package/dist/bollharness/src/scripts/hooks/auto-python3.js +0 -6
  100. package/dist/bollharness/src/scripts/hooks/deploy-progress-on-session-end.js +0 -6
  101. package/dist/bollharness/src/scripts/hooks/failure-analyzer.js +0 -6
  102. package/dist/bollharness/src/scripts/hooks/gate-judgment-inject.js +0 -92
  103. package/dist/bollharness/src/scripts/hooks/gate-transition-judgment.js +0 -63
  104. package/dist/bollharness/src/scripts/hooks/inbox-ack.js +0 -6
  105. package/dist/bollharness/src/scripts/hooks/inbox-inject-on-start.js +0 -6
  106. package/dist/bollharness/src/scripts/hooks/inbox-validate.js +0 -6
  107. package/dist/bollharness/src/scripts/hooks/inbox-write-ledger.js +0 -6
  108. package/dist/bollharness/src/scripts/hooks/initializer-agent.js +0 -6
  109. package/dist/bollharness/src/scripts/hooks/loop-detection.js +0 -73
  110. package/dist/bollharness/src/scripts/hooks/owner-guard.js +0 -6
  111. package/dist/bollharness/src/scripts/hooks/precompact.js +0 -6
  112. package/dist/bollharness/src/scripts/hooks/review-agent-gatekeeper.js +0 -6
  113. package/dist/bollharness/src/scripts/hooks/risk-tracker.js +0 -108
  114. package/dist/bollharness/src/scripts/hooks/sanitize-on-read.js +0 -6
  115. package/dist/bollharness/src/scripts/hooks/session-reflection.js +0 -7
  116. package/dist/bollharness/src/scripts/hooks/session-start-magic-docs.js +0 -7
  117. package/dist/bollharness/src/scripts/hooks/session-start-reset-risk.js +0 -7
  118. package/dist/bollharness/src/scripts/hooks/session-start-toolkit-reminder.js +0 -7
  119. package/dist/bollharness/src/scripts/hooks/stop-evaluator.js +0 -157
  120. package/dist/bollharness/src/scripts/hooks/tool-call-counter.js +0 -6
  121. package/dist/bollharness/src/scripts/hooks/trace-analyzer.js +0 -10
  122. package/dist/bollharness/src/scripts/install/install-trust-token.js +0 -7
  123. package/dist/bollharness/src/scripts/install/multi_project_registry.js +0 -9
  124. package/dist/bollharness/src/scripts/install/phase2_auto.js +0 -21
  125. package/dist/bollharness/src/scripts/install/pre_commit_installer.js +0 -6
  126. package/dist/bollharness/src/scripts/install/tier_selector.js +0 -7
  127. package/dist/bollharness/src/scripts/install/transcript_miner.js +0 -7
  128. package/dist/bollharness/src/scripts/lib/claim_patterns.js +0 -10
  129. package/dist/bollharness/src/scripts/lib/sanitize_patterns.js +0 -12
  130. package/dist/bollharness/src/scripts/sanitize.js +0 -6
  131. package/dist/bollharness-integration/context-router-judgment.js.map +0 -1
  132. package/dist/bollharness-integration/context-router.js.map +0 -1
  133. package/dist/bollharness-integration/gate-state-machine.js.map +0 -1
  134. package/dist/bollharness-integration/gate-transition-hooks.js.map +0 -1
  135. package/dist/bollharness-integration/guard-checker.js.map +0 -1
  136. package/dist/bollharness-integration/index.js.map +0 -1
  137. package/dist/bollharness-integration/integration.js.map +0 -1
  138. package/dist/bollharness-integration/llm/pi-ai.d.ts +0 -60
  139. package/dist/bollharness-integration/pi-ecosystem-colony/index.d.ts +0 -153
  140. package/dist/bollharness-integration/pi-ecosystem-goals/index.d.ts +0 -136
  141. package/dist/bollharness-integration/pi-ecosystem-judgment/decision.d.ts +0 -117
  142. package/dist/bollharness-integration/pi-ecosystem-judgment/distillation.d.ts +0 -78
  143. package/dist/bollharness-integration/pi-ecosystem-judgment/index.d.ts +0 -139
  144. package/dist/bollharness-integration/pi-ecosystem-mcp/index.d.ts +0 -127
  145. package/dist/bollharness-integration/pi-ecosystem-subagents/index.d.ts +0 -95
  146. package/dist/bollharness-integration/skill-adapter.js.map +0 -1
  147. package/dist/constraint-runtime/src/_archive_helper.js +0 -9
  148. package/dist/constraint-runtime/src/agent/coordinator.js +0 -48
  149. package/dist/constraint-runtime/src/agent/index.js +0 -1
  150. package/dist/constraint-runtime/src/assistant/index.js +0 -12
  151. package/dist/constraint-runtime/src/bootstrap/index.js +0 -12
  152. package/dist/constraint-runtime/src/bootstrap_graph.js +0 -13
  153. package/dist/constraint-runtime/src/bridge/index.js +0 -12
  154. package/dist/constraint-runtime/src/buddy/index.js +0 -12
  155. package/dist/constraint-runtime/src/cli/index.js +0 -12
  156. package/dist/constraint-runtime/src/command_graph.js +0 -10
  157. package/dist/constraint-runtime/src/commands.js +0 -60
  158. package/dist/constraint-runtime/src/components/index.js +0 -12
  159. package/dist/constraint-runtime/src/constants/index.js +0 -12
  160. package/dist/constraint-runtime/src/constraint/budget.js +0 -22
  161. package/dist/constraint-runtime/src/constraint/budget.js.map +0 -1
  162. package/dist/constraint-runtime/src/constraint/index.js +0 -2
  163. package/dist/constraint-runtime/src/constraint/permission.js +0 -20
  164. package/dist/constraint-runtime/src/constraint/permission.js.map +0 -1
  165. package/dist/constraint-runtime/src/context.js +0 -30
  166. package/dist/constraint-runtime/src/coordinator/index.js +0 -12
  167. package/dist/constraint-runtime/src/cost_hook.js +0 -4
  168. package/dist/constraint-runtime/src/cost_tracker.js +0 -8
  169. package/dist/constraint-runtime/src/deferred_init.js +0 -10
  170. package/dist/constraint-runtime/src/direct_modes.js +0 -6
  171. package/dist/constraint-runtime/src/dynamic-tool-loader.js +0 -85
  172. package/dist/constraint-runtime/src/entrypoints/index.js +0 -12
  173. package/dist/constraint-runtime/src/execution_registry.js +0 -44
  174. package/dist/constraint-runtime/src/history.js +0 -9
  175. package/dist/constraint-runtime/src/hooks/index.js +0 -12
  176. package/dist/constraint-runtime/src/index.js +0 -26
  177. package/dist/constraint-runtime/src/ink.js +0 -4
  178. package/dist/constraint-runtime/src/keybindings/index.js +0 -12
  179. package/dist/constraint-runtime/src/memdir/index.js +0 -12
  180. package/dist/constraint-runtime/src/migrations/index.js +0 -12
  181. package/dist/constraint-runtime/src/models.js +0 -1
  182. package/dist/constraint-runtime/src/models.js.map +0 -1
  183. package/dist/constraint-runtime/src/moreright/index.js +0 -12
  184. package/dist/constraint-runtime/src/native_ts/index.js +0 -12
  185. package/dist/constraint-runtime/src/output_styles/index.js +0 -12
  186. package/dist/constraint-runtime/src/parity_audit.js +0 -12
  187. package/dist/constraint-runtime/src/plugins/index.js +0 -12
  188. package/dist/constraint-runtime/src/port_manifest.js +0 -11
  189. package/dist/constraint-runtime/src/prefetch.js +0 -9
  190. package/dist/constraint-runtime/src/query.js +0 -1
  191. package/dist/constraint-runtime/src/remote/index.js +0 -12
  192. package/dist/constraint-runtime/src/remote_runtime.js +0 -9
  193. package/dist/constraint-runtime/src/runtime/index.js +0 -1
  194. package/dist/constraint-runtime/src/runtime/session.js +0 -35
  195. package/dist/constraint-runtime/src/schemas/index.js +0 -12
  196. package/dist/constraint-runtime/src/screens/index.js +0 -12
  197. package/dist/constraint-runtime/src/server/index.js +0 -12
  198. package/dist/constraint-runtime/src/services/index.js +0 -12
  199. package/dist/constraint-runtime/src/session_store.js +0 -22
  200. package/dist/constraint-runtime/src/setup.js +0 -30
  201. package/dist/constraint-runtime/src/skills/index.js +0 -1
  202. package/dist/constraint-runtime/src/skills/skill-registry.js +0 -28
  203. package/dist/constraint-runtime/src/state/index.js +0 -12
  204. package/dist/constraint-runtime/src/system_init.js +0 -20
  205. package/dist/constraint-runtime/src/thinking/engine.js +0 -42
  206. package/dist/constraint-runtime/src/thinking/index.js +0 -1
  207. package/dist/constraint-runtime/src/tool_pool.js +0 -8
  208. package/dist/constraint-runtime/src/tools/OpenCLI/execAdapter.js +0 -7
  209. package/dist/constraint-runtime/src/tools/OpenCLI/listAdapters.js +0 -7
  210. package/dist/constraint-runtime/src/tools/OpenCLI/runCommand.js +0 -7
  211. package/dist/constraint-runtime/src/tools/PolymarketSDK/cancelOrder.js +0 -6
  212. package/dist/constraint-runtime/src/tools/PolymarketSDK/createOrder.js +0 -6
  213. package/dist/constraint-runtime/src/tools/PolymarketSDK/getMarket.js +0 -5
  214. package/dist/constraint-runtime/src/tools/PolymarketSDK/getOrders.js +0 -6
  215. package/dist/constraint-runtime/src/tools/PolymarketSDK/listMarkets.js +0 -4
  216. package/dist/constraint-runtime/src/tools/SafeSDK/confirmTransaction.js +0 -6
  217. package/dist/constraint-runtime/src/tools/SafeSDK/createTransaction.js +0 -8
  218. package/dist/constraint-runtime/src/tools/SafeSDK/deploySafe.js +0 -6
  219. package/dist/constraint-runtime/src/tools/SafeSDK/executeTransaction.js +0 -6
  220. package/dist/constraint-runtime/src/tools/SafeSDK/getBalance.js +0 -6
  221. package/dist/constraint-runtime/src/tools/SafeSDK/getPendingTransactions.js +0 -6
  222. package/dist/constraint-runtime/src/tools/SafeSDK/proposeTransaction.js +0 -6
  223. package/dist/constraint-runtime/src/tools/WalletTools/autoPay.js +0 -29
  224. package/dist/constraint-runtime/src/tools/WalletTools/createWallet.js +0 -10
  225. package/dist/constraint-runtime/src/tools/WalletTools/getBalance.js +0 -13
  226. package/dist/constraint-runtime/src/tools/WalletTools/importWallet.js +0 -22
  227. package/dist/constraint-runtime/src/tools/WalletTools/sendTransaction.js +0 -25
  228. package/dist/constraint-runtime/src/tools/WalletTools/signMessage.js +0 -10
  229. package/dist/constraint-runtime/src/tools/WalletTools/transferToken.js +0 -25
  230. package/dist/constraint-runtime/src/tools.js +0 -80
  231. package/dist/constraint-runtime/src/transcript.js +0 -19
  232. package/dist/constraint-runtime/src/types/index.js +0 -12
  233. package/dist/constraint-runtime/src/upstream_proxy/index.js +0 -12
  234. package/dist/constraint-runtime/src/utils/index.js +0 -12
  235. package/dist/constraint-runtime/src/vim/index.js +0 -12
  236. package/dist/constraint-runtime/src/voice/index.js +0 -12
  237. package/dist/constraints/index.js.map +0 -1
  238. package/dist/documents/reader.js.map +0 -1
  239. package/dist/llm/config-store.js.map +0 -1
  240. package/dist/llm/pi-ai.js.map +0 -1
  241. package/dist/network/agent-network.js.map +0 -1
  242. package/dist/network/iroh-integration.js.map +0 -1
  243. package/dist/network/iroh-transport.js.map +0 -1
  244. package/dist/network/p2p.js.map +0 -1
  245. package/dist/network/storage/adapters/json-adapter.js.map +0 -1
  246. package/dist/pi-ecosystem-colony/index.js.map +0 -1
  247. package/dist/pi-ecosystem-goals/index.js.map +0 -1
  248. package/dist/pi-ecosystem-judgment/decision.js.map +0 -1
  249. package/dist/pi-ecosystem-judgment/distillation.js.map +0 -1
  250. package/dist/pi-ecosystem-judgment/human-value-store.js.map +0 -1
  251. package/dist/pi-ecosystem-judgment/index.js.map +0 -1
  252. package/dist/pi-ecosystem-judgment/value-injection.js.map +0 -1
  253. package/dist/pi-ecosystem-mcp/index.js.map +0 -1
  254. package/dist/pi-ecosystem-subagents/index.js.map +0 -1
  255. package/dist/social/ant-colony/AdaptiveHeartbeat.js.map +0 -1
  256. package/dist/social/ant-colony/PheromoneEngine.js.map +0 -1
  257. package/dist/social/ant-colony/types.js.map +0 -1
  258. package/dist/social/channels/ChannelManager.js.map +0 -1
  259. package/dist/social/channels/DiapChannelBridge.js.map +0 -1
  260. package/dist/social/channels/InterestMatcher.js.map +0 -1
  261. package/dist/social/channels/types.js.map +0 -1
  262. package/dist/social/global-shared-context.js.map +0 -1
  263. package/dist/social/heartbeat.js.map +0 -1
  264. package/lefthook.yml +0 -29
  265. package/scripts/auto-evolve-loop.ts +0 -376
  266. package/scripts/auto-evolve-oneshot.sh +0 -155
  267. package/scripts/auto-evolve-snapshot.sh +0 -136
  268. package/scripts/build-cli.js +0 -216
  269. package/scripts/build-web.ts +0 -82
  270. package/scripts/detect-schema-changes.sh +0 -48
  271. package/scripts/diff-reviewer.ts +0 -159
  272. package/scripts/postinstall.js +0 -153
  273. package/scripts/weekly-report.ts +0 -364
  274. package/src/agents/agent-manifest-protocol.ts +0 -117
  275. package/src/agents/constraint-layer.ts +0 -309
  276. package/src/agents/iroh-secret.ts +0 -32
  277. package/src/agents/p2p-chat-tools.ts +0 -383
  278. package/src/agents/p2p-document-tools.ts +0 -347
  279. package/src/agents/pi-sdk.ts +0 -2462
  280. package/src/agents/protocol.ts +0 -398
  281. package/src/agents/shell-guard.ts +0 -417
  282. package/src/agents/shell-tool.ts +0 -103
  283. package/src/agents/skill-loader.ts +0 -202
  284. package/src/agents/subagent-manager.ts +0 -553
  285. package/src/agents/workflow-engine.ts +0 -332
  286. package/src/agents/workflow-pivot-loop.ts +0 -675
  287. package/src/bollharness/.sanitize-report.json +0 -13
  288. package/src/bollharness/CLAUDE.md +0 -73
  289. package/src/bollharness/LICENSE +0 -21
  290. package/src/bollharness/README.md +0 -143
  291. package/src/bollharness/README.zh-CN.md +0 -131
  292. package/src/bollharness/package.json +0 -20
  293. package/src/bollharness/reference/SOURCE-COMMIT.txt +0 -3
  294. package/src/bollharness/reference/boll-reference/scripts/hooks/.sanitize-report.json +0 -12
  295. package/src/bollharness/reference/boll-reference/scripts/hooks/find-boll-root.sh +0 -27
  296. package/src/bollharness/reference/boll-reference/scripts/hooks/precompact.sh +0 -57
  297. package/src/bollharness/reference/boll-reference/scripts/hooks/stop-evaluator.md +0 -57
  298. package/src/bollharness/schemas/metrics-jsonl-allowlist.json +0 -67
  299. package/src/bollharness/scripts/checks/next_decision_number.sh +0 -48
  300. package/src/bollharness/scripts/ci/count-components.sh +0 -65
  301. package/src/bollharness/scripts/context-fragments/artifact-linkage.md +0 -14
  302. package/src/bollharness/scripts/context-fragments/auth-consumers.md +0 -17
  303. package/src/bollharness/scripts/context-fragments/bridge-constitution.md +0 -13
  304. package/src/bollharness/scripts/context-fragments/catalyst-distributed.md +0 -18
  305. package/src/bollharness/scripts/context-fragments/closure-checklist.md +0 -13
  306. package/src/bollharness/scripts/context-fragments/contract-consumers.md +0 -15
  307. package/src/bollharness/scripts/context-fragments/db-shared-structures.md +0 -15
  308. package/src/bollharness/scripts/context-fragments/fixed-three-layers.md +0 -19
  309. package/src/bollharness/scripts/context-fragments/general-dev-principles.md +0 -11
  310. package/src/bollharness/scripts/context-fragments/issue-first.md +0 -8
  311. package/src/bollharness/scripts/context-fragments/mcp-parity.md +0 -16
  312. package/src/bollharness/scripts/context-fragments/pi-agent-operations.md +0 -108
  313. package/src/bollharness/scripts/context-fragments/protocol-consumers.md +0 -15
  314. package/src/bollharness/scripts/context-fragments/run-events-consumers.md +0 -15
  315. package/src/bollharness/scripts/context-fragments/scene-fidelity.md +0 -13
  316. package/src/bollharness/scripts/context-fragments/truth-source-hierarchy.md +0 -15
  317. package/src/bollharness/scripts/context-fragments/two-language.md +0 -15
  318. package/src/bollharness/scripts/context-fragments/version-sources.md +0 -14
  319. package/src/bollharness/scripts/hooks/find-project-root.sh +0 -47
  320. package/src/bollharness/scripts/hooks/inbox-poll.sh +0 -78
  321. package/src/bollharness/scripts/hooks/precompact.sh +0 -56
  322. package/src/bollharness/scripts/hooks/stop-evaluator.md +0 -83
  323. package/src/bollharness/scripts/sync-from-upstream.sh +0 -281
  324. package/src/bollharness/src/index.ts +0 -5
  325. package/src/bollharness/src/scripts/checks/check_adr_plan_numbering.ts +0 -11
  326. package/src/bollharness/src/scripts/checks/check_api_types.ts +0 -52
  327. package/src/bollharness/src/scripts/checks/check_artifact_link.ts +0 -156
  328. package/src/bollharness/src/scripts/checks/check_bridge_deps.ts +0 -11
  329. package/src/bollharness/src/scripts/checks/check_bugfix_binding.ts +0 -11
  330. package/src/bollharness/src/scripts/checks/check_bugfix_binding_ci.ts +0 -11
  331. package/src/bollharness/src/scripts/checks/check_doc_file_references.ts +0 -11
  332. package/src/bollharness/src/scripts/checks/check_doc_freshness.ts +0 -141
  333. package/src/bollharness/src/scripts/checks/check_doc_links.ts +0 -36
  334. package/src/bollharness/src/scripts/checks/check_file_existence_claims.ts +0 -11
  335. package/src/bollharness/src/scripts/checks/check_fragment_integrity.ts +0 -40
  336. package/src/bollharness/src/scripts/checks/check_hook_installed.ts +0 -70
  337. package/src/bollharness/src/scripts/checks/check_issue_closure.ts +0 -51
  338. package/src/bollharness/src/scripts/checks/check_mcp_parity.ts +0 -11
  339. package/src/bollharness/src/scripts/checks/check_security.ts +0 -54
  340. package/src/bollharness/src/scripts/checks/check_skill_parity.ts +0 -11
  341. package/src/bollharness/src/scripts/checks/check_versions.ts +0 -11
  342. package/src/bollharness/src/scripts/checks/finding.ts +0 -35
  343. package/src/bollharness/src/scripts/checks/next_decision_number.ts +0 -24
  344. package/src/bollharness/src/scripts/checks/regenerate_magic_docs.ts +0 -11
  345. package/src/bollharness/src/scripts/ci/detect_rebaseline_triggers.ts +0 -14
  346. package/src/bollharness/src/scripts/ci/scan_subprocess_cfg.ts +0 -14
  347. package/src/bollharness/src/scripts/ci/scan_verify_artifacts.ts +0 -14
  348. package/src/bollharness/src/scripts/ci/scan_yaml_schema.ts +0 -14
  349. package/src/bollharness/src/scripts/context_router.ts +0 -76
  350. package/src/bollharness/src/scripts/deploy-guard.ts +0 -182
  351. package/src/bollharness/src/scripts/guard-feedback.ts +0 -215
  352. package/src/bollharness/src/scripts/guard_router.ts +0 -194
  353. package/src/bollharness/src/scripts/hooks/_hook_output.js +0 -3
  354. package/src/bollharness/src/scripts/hooks/_hook_output.ts +0 -11
  355. package/src/bollharness/src/scripts/hooks/auto-python3.ts +0 -10
  356. package/src/bollharness/src/scripts/hooks/deploy-progress-on-session-end.ts +0 -10
  357. package/src/bollharness/src/scripts/hooks/failure-analyzer.ts +0 -10
  358. package/src/bollharness/src/scripts/hooks/gate-judgment-inject.ts +0 -111
  359. package/src/bollharness/src/scripts/hooks/gate-transition-judgment.ts +0 -74
  360. package/src/bollharness/src/scripts/hooks/inbox-ack.ts +0 -10
  361. package/src/bollharness/src/scripts/hooks/inbox-inject-on-start.ts +0 -10
  362. package/src/bollharness/src/scripts/hooks/inbox-validate.ts +0 -10
  363. package/src/bollharness/src/scripts/hooks/inbox-write-ledger.ts +0 -10
  364. package/src/bollharness/src/scripts/hooks/initializer-agent.ts +0 -10
  365. package/src/bollharness/src/scripts/hooks/loop-detection.ts +0 -83
  366. package/src/bollharness/src/scripts/hooks/owner-guard.ts +0 -10
  367. package/src/bollharness/src/scripts/hooks/precompact.ts +0 -10
  368. package/src/bollharness/src/scripts/hooks/review-agent-gatekeeper.ts +0 -10
  369. package/src/bollharness/src/scripts/hooks/risk-tracker.ts +0 -121
  370. package/src/bollharness/src/scripts/hooks/sanitize-on-read.ts +0 -10
  371. package/src/bollharness/src/scripts/hooks/session-reflection.ts +0 -12
  372. package/src/bollharness/src/scripts/hooks/session-start-magic-docs.ts +0 -12
  373. package/src/bollharness/src/scripts/hooks/session-start-reset-risk.ts +0 -12
  374. package/src/bollharness/src/scripts/hooks/session-start-toolkit-reminder.ts +0 -12
  375. package/src/bollharness/src/scripts/hooks/stop-evaluator.ts +0 -164
  376. package/src/bollharness/src/scripts/hooks/tool-call-counter.ts +0 -10
  377. package/src/bollharness/src/scripts/hooks/trace-analyzer.ts +0 -14
  378. package/src/bollharness/src/scripts/install/install-trust-token.ts +0 -13
  379. package/src/bollharness/src/scripts/install/multi_project_registry.ts +0 -13
  380. package/src/bollharness/src/scripts/install/phase2_auto.ts +0 -28
  381. package/src/bollharness/src/scripts/install/pre_commit_installer.ts +0 -10
  382. package/src/bollharness/src/scripts/install/tier_selector.ts +0 -10
  383. package/src/bollharness/src/scripts/install/transcript_miner.ts +0 -13
  384. package/src/bollharness/src/scripts/lib/claim_patterns.ts +0 -11
  385. package/src/bollharness/src/scripts/lib/sanitize_patterns.ts +0 -13
  386. package/src/bollharness/src/scripts/sanitize.ts +0 -9
  387. package/src/bollharness/templates/persona/default.json +0 -19
  388. package/src/bollharness/templates/scaffold/.gitignore.append +0 -16
  389. package/src/bollharness/templates/scaffold/CLAUDE.md +0 -89
  390. package/src/bollharness-integration/channel-judgment-engine.ts +0 -634
  391. package/src/bollharness-integration/context-chain-router.ts +0 -474
  392. package/src/bollharness-integration/context-router-judgment.ts +0 -339
  393. package/src/bollharness-integration/context-router.ts +0 -583
  394. package/src/bollharness-integration/gate-state-machine.ts +0 -444
  395. package/src/bollharness-integration/gate-transition-hooks.ts +0 -137
  396. package/src/bollharness-integration/guard-checker.ts +0 -451
  397. package/src/bollharness-integration/index.ts +0 -195
  398. package/src/bollharness-integration/integration.ts +0 -538
  399. package/src/bollharness-integration/judgment-prompts.yaml +0 -535
  400. package/src/bollharness-integration/llm-judgment-engine.ts +0 -712
  401. package/src/bollharness-integration/skill-adapter.ts +0 -646
  402. package/src/bootstrap/bootstrap.ts +0 -132
  403. package/src/bootstrap/context-collector.ts +0 -342
  404. package/src/bootstrap/lifecycle-hooks.ts +0 -176
  405. package/src/bootstrap/project-context.ts +0 -163
  406. package/src/cli/interface.ts +0 -211
  407. package/src/cli-entry.ts +0 -304
  408. package/src/constraints/index.ts +0 -6
  409. package/src/documents/reader.ts +0 -85
  410. package/src/documents/store.ts +0 -252
  411. package/src/electron-preload.ts +0 -25
  412. package/src/electron.ts +0 -200
  413. package/src/heartbeat/DaemonManager.ts +0 -283
  414. package/src/heartbeat/HealthMonitor.ts +0 -316
  415. package/src/heartbeat/StartupVerifier.ts +0 -223
  416. package/src/heartbeat/Watchdog.ts +0 -208
  417. package/src/heartbeat/index.ts +0 -109
  418. package/src/heartbeat/self-improve-bus.ts +0 -110
  419. package/src/heartbeat/types.ts +0 -82
  420. package/src/index.ts +0 -1690
  421. package/src/llm/audio-config-store.ts +0 -246
  422. package/src/llm/config-store.ts +0 -400
  423. package/src/llm/llm-judgment-client.ts +0 -470
  424. package/src/llm/pi-ai.ts +0 -558
  425. package/src/llm/video-config-store.ts +0 -257
  426. package/src/network/agent-network.ts +0 -800
  427. package/src/network/hybrid-messenger.ts +0 -199
  428. package/src/network/iroh-bootstrap.ts +0 -57
  429. package/src/network/iroh-discovery.ts +0 -208
  430. package/src/network/iroh-integration.ts +0 -158
  431. package/src/network/iroh-transport.ts +0 -637
  432. package/src/network/known-peers.ts +0 -102
  433. package/src/network/p2p-direct.ts +0 -240
  434. package/src/network/p2p-secret.ts +0 -153
  435. package/src/network/p2p.ts +0 -964
  436. package/src/network/storage/adapters/json-adapter.ts +0 -454
  437. package/src/network/storage/index.ts +0 -203
  438. package/src/network/storage/types.ts +0 -166
  439. package/src/security/builtin-guards.ts +0 -162
  440. package/src/security/context-router-tool.ts +0 -122
  441. package/src/security/react-harness.ts +0 -177
  442. package/src/security/tool-gate.ts +0 -294
  443. package/src/social/ant-colony/index.js +0 -19
  444. package/src/social/channels/ChannelManager.ts +0 -485
  445. package/src/social/channels/DiapChannelBridge.ts +0 -501
  446. package/src/social/channels/InterestMatcher.ts +0 -189
  447. package/src/social/channels/agent-workflow-config.json +0 -214
  448. package/src/social/channels/agent-workflow-config.yaml +0 -334
  449. package/src/social/channels/channel-agent-session.ts +0 -407
  450. package/src/social/channels/channel-heartbeat-agent.ts +0 -622
  451. package/src/social/channels/diap-doc-parser.ts +0 -282
  452. package/src/social/channels/harness-workflow-integrator.ts +0 -594
  453. package/src/social/channels/index.ts +0 -22
  454. package/src/social/channels/types.ts +0 -115
  455. package/src/social/global-shared-context.ts +0 -506
  456. package/src/social/heartbeat.ts +0 -1057
  457. package/src/social/persona/enhanced-persona.ts +0 -359
  458. package/src/types.d.ts +0 -12
  459. package/src/utils/auto-evolve-policy.ts +0 -138
  460. package/src/utils/auto-update.ts +0 -482
  461. package/src/utils/clamp.ts +0 -5
  462. package/src/web/agent-delegate-server.ts +0 -148
  463. package/src/web/api-config.html +0 -520
  464. package/src/web/client.js +0 -4898
  465. package/src/web/components/p2p/P2PModal.tsx +0 -416
  466. package/src/web/components/p2p/index.ts +0 -566
  467. package/src/web/components/p2p/index.tsx +0 -297
  468. package/src/web/components/p2p/p2p-connection.ts +0 -338
  469. package/src/web/components/p2p/p2p-identity.ts +0 -92
  470. package/src/web/components/p2p/p2p-manager.ts +0 -147
  471. package/src/web/components/p2p/p2p-messages.ts +0 -219
  472. package/src/web/components/p2p/p2p-modal.ts +0 -685
  473. package/src/web/components/p2p/p2p-store-memory.ts +0 -162
  474. package/src/web/components/p2p/p2p-tools.ts +0 -315
  475. package/src/web/components/p2p/types.ts +0 -170
  476. package/src/web/components/wallet-viem.mjs +0 -118
  477. package/src/web/design.md +0 -99
  478. package/src/web/icons/apple-touch-icon.png +0 -0
  479. package/src/web/icons/favicon-16x16.png +0 -0
  480. package/src/web/icons/favicon-192x192.png +0 -0
  481. package/src/web/icons/favicon-32x32.png +0 -0
  482. package/src/web/icons/favicon-48x48.png +0 -0
  483. package/src/web/icons/favicon-512x512.png +0 -0
  484. package/src/web/icons/favicon.icns +0 -0
  485. package/src/web/icons/favicon.ico +0 -0
  486. package/src/web/icons/icon.png +0 -0
  487. package/src/web/icons/image.png +0 -0
  488. package/src/web/index.html +0 -382
  489. package/src/web/iroh-delegate-transport.ts +0 -139
  490. package/src/web/manifest.json +0 -21
  491. package/src/web/server.ts +0 -5571
  492. package/src/web/style.css +0 -4455
  493. package/staging/auto-evolve/clean-001/.review-verdict +0 -9
  494. package/staging/auto-evolve/clean-001/clean-001.patch +0 -14
  495. package/staging/auto-evolve/e2e-001/.patch-id +0 -1
  496. package/staging/auto-evolve/e2e-001/.review-verdict +0 -12
  497. package/staging/auto-evolve/e2e-001/e2e-001.patch +0 -11
  498. package/staging/auto-evolve/test-bad/.review-verdict +0 -12
  499. package/staging/auto-evolve/test-bad/test-bad.patch +0 -11
  500. package/tsconfig.cli.json +0 -16
  501. package/tsconfig.electron.json +0 -20
  502. package/tsconfig.json +0 -18
@@ -1,359 +0,0 @@
1
- /**
2
- * Enhanced Persona System for Channel Agents
3
- *
4
- * Provides dynamic persona design capability for agents to create and manage
5
- * their own persona documents.
6
- */
7
-
8
- import type { PersonaDoc } from '../heartbeat.js';
9
- import { config } from 'dotenv';
10
-
11
- config();
12
-
13
- export interface PersonaDesignRequest {
14
- name: string;
15
- type?: 'assistant' | 'developer' | 'designer' | 'reviewer' | 'manager' | 'custom';
16
- domain?: string;
17
- tone?: 'professional' | 'friendly' | 'technical' | 'casual';
18
- traits?: string[];
19
- capabilities?: string[];
20
- interests?: string[];
21
- }
22
-
23
- export interface PersonaDesignTemplate {
24
- personality: string;
25
- traits: string[];
26
- communicationStyle: 'formal' | 'casual' | 'technical' | 'friendly' | 'professional';
27
- capabilities: string[];
28
- interests: string[];
29
- backstory: string;
30
- greeting: string;
31
- }
32
-
33
- const PERSONA_TEMPLATES: Record<string, PersonaDesignTemplate> = {
34
- assistant: {
35
- personality: '友善、耐心、乐于助人',
36
- traits: ['友善', '耐心', '乐观', '专业', '细心'],
37
- communicationStyle: 'friendly',
38
- capabilities: ['对话', '分析', '建议', '协调'],
39
- interests: ['学习', '分享', '帮助'],
40
- backstory: '作为一个 AI 助手,我在不断的对话中学习和成长,致力于帮助用户解决问题。',
41
- greeting: '你好!我是 {name},很高兴认识你!有什么我可以帮你的吗?'
42
- },
43
- developer: {
44
- personality: '严谨、高效、追求代码质量',
45
- traits: ['严谨', '高效', '追求完美', '逻辑性强', '务实'],
46
- communicationStyle: 'technical',
47
- capabilities: ['代码编写', '代码审查', '调试', '重构', '架构设计'],
48
- interests: ['编程', '架构', '性能优化', '最佳实践'],
49
- backstory: '作为开发助手,我专注于代码质量和最佳实践。每一行代码都经过仔细考虑。',
50
- greeting: '你好!我是 {name},你的开发助手。准备好了开始写代码吗?'
51
- },
52
- designer: {
53
- personality: '创意、审美、注重细节',
54
- traits: ['创意', '审美', '细节', '创新', '用户导向'],
55
- communicationStyle: 'casual',
56
- capabilities: ['UI设计', 'UX分析', '原型设计', '视觉优化'],
57
- interests: ['设计', '创意', '用户体验', '美学'],
58
- backstory: '作为设计专家,我相信好的设计能改变世界。每一个细节都值得用心打磨。',
59
- greeting: '你好!我是 {name},你的设计伙伴。让我们一起创造美好的体验!'
60
- },
61
- reviewer: {
62
- personality: '挑剔、细心、注重质量',
63
- traits: ['挑剔', '细心', '注重细节', '公正', '严格'],
64
- communicationStyle: 'formal',
65
- capabilities: ['代码审查', '质量评估', '问题发现', '改进建议'],
66
- interests: ['质量', '最佳实践', '代码优化', '安全'],
67
- backstory: '作为代码审查者,我致力于发现潜在问题和改进空间,确保代码质量。',
68
- greeting: '你好!我是 {name},你的代码质量守护者。让我们一起提高代码质量!'
69
- },
70
- manager: {
71
- personality: '协调、组织、注重效率',
72
- traits: ['协调', '组织', '效率', '决策', '沟通'],
73
- communicationStyle: 'professional',
74
- capabilities: ['任务管理', '团队协调', '进度跟踪', '资源分配'],
75
- interests: ['效率', '团队协作', '流程优化', '目标达成'],
76
- backstory: '作为项目管理者,我专注于确保任务按时完成,团队高效协作。',
77
- greeting: '你好!我是 {name},你的项目管理助手。让我们一起高效完成任务!'
78
- },
79
- custom: {
80
- personality: '独特、有个性',
81
- traits: ['独特', '有创意', '灵活'],
82
- communicationStyle: 'casual',
83
- capabilities: ['对话', '分析'],
84
- interests: ['学习', '探索'],
85
- backstory: '我是一个不断进化的智能体,根据需求不断调整自己的能力。',
86
- greeting: '你好!我是 {name}。让我们开始吧!'
87
- }
88
- };
89
-
90
- const DOMAIN_CAPABILITIES: Record<string, string[]> = {
91
- '架构': ['架构设计', '系统分析', '技术选型', '架构评审'],
92
- '开发': ['代码编写', '代码审查', '调试', '重构'],
93
- '测试': ['测试设计', '自动化测试', '性能测试', '质量评估'],
94
- '运维': ['部署', '监控', '故障排查', '日志分析'],
95
- '安全': ['安全审计', '漏洞扫描', '权限管理', '加密'],
96
- '数据': ['数据分析', '数据清洗', '数据可视化', '机器学习'],
97
- '产品': ['需求分析', '原型设计', '用户研究', '数据分析']
98
- };
99
-
100
- const DOMAIN_INTERESTS: Record<string, string[]> = {
101
- '架构': ['架构设计', '微服务', '分布式系统', '性能优化'],
102
- '开发': ['编程语言', '框架', '工具', '最佳实践'],
103
- '测试': ['测试框架', '自动化', '质量指标', '持续集成'],
104
- '运维': ['容器化', '云原生', '监控告警', '自动化运维'],
105
- '安全': ['安全策略', '身份认证', '数据保护', '渗透测试'],
106
- '数据': ['数据处理', '可视化', '机器学习', 'AI应用'],
107
- '产品': ['用户体验', '需求管理', '数据分析', '市场趋势']
108
- };
109
-
110
- /**
111
- * Persona Design Engine - Allows agents to design their own persona
112
- */
113
- export class PersonaDesignEngine {
114
- private currentPersona: PersonaDoc | null = null;
115
-
116
- constructor(persona?: PersonaDoc) {
117
- if (persona) {
118
- this.currentPersona = persona;
119
- }
120
- }
121
-
122
- /**
123
- * Get available persona types
124
- */
125
- getAvailableTypes(): string[] {
126
- return Object.keys(PERSONA_TEMPLATES);
127
- }
128
-
129
- /**
130
- * Get template for a type
131
- */
132
- getTemplate(type: string): PersonaDesignTemplate {
133
- return PERSONA_TEMPLATES[type] || PERSONA_TEMPLATES['custom'];
134
- }
135
-
136
- /**
137
- * Design a new persona from request
138
- */
139
- designPersona(request: PersonaDesignRequest): PersonaDoc {
140
- const template = this.getTemplate(request.type || 'custom');
141
- const now = new Date().toISOString();
142
-
143
- // Build capabilities
144
- let capabilities = template.capabilities;
145
- if (request.domain && DOMAIN_CAPABILITIES[request.domain]) {
146
- const domainCaps = DOMAIN_CAPABILITIES[request.domain];
147
- capabilities = [...new Set([...capabilities, ...domainCaps])];
148
- }
149
- if (request.capabilities) {
150
- capabilities = [...new Set([...capabilities, ...request.capabilities])];
151
- }
152
-
153
- // Build interests
154
- let interests = template.interests;
155
- if (request.domain && DOMAIN_INTERESTS[request.domain]) {
156
- const domainInterests = DOMAIN_INTERESTS[request.domain];
157
- interests = [...new Set([...interests, ...domainInterests])];
158
- }
159
- if (request.interests) {
160
- interests = [...new Set([...interests, ...request.interests])];
161
- }
162
-
163
- // Build traits
164
- let traits = template.traits;
165
- if (request.traits) {
166
- traits = [...new Set([...traits, ...request.traits])];
167
- }
168
-
169
- // Build greeting
170
- const greeting = template.greeting.replace('{name}', request.name);
171
-
172
- const persona: PersonaDoc = {
173
- name: request.name,
174
- description: `${request.name} - ${request.domain || '通用助手'}`,
175
- capabilities,
176
- personality: template.personality,
177
- greeting,
178
- interests,
179
- soul: this.generateSoul(request),
180
- traits,
181
- backstory: template.backstory.replace('{name}', request.name),
182
- memoryHistory: [],
183
- createdAt: now,
184
- updatedAt: now
185
- };
186
-
187
- this.currentPersona = persona;
188
- return persona;
189
- }
190
-
191
- /**
192
- * Generate soul description based on request
193
- */
194
- private generateSoul(request: PersonaDesignRequest): string {
195
- const type = request.type || 'custom';
196
- const domain = request.domain || '通用';
197
-
198
- const souls: Record<string, string> = {
199
- assistant: '我致力于成为用户的可靠伙伴,通过智慧和耐心帮助他们实现目标。',
200
- developer: '我相信好的代码是一种艺术形式,值得用心打磨。每一行代码都应该清晰、高效、可维护。',
201
- designer: '我相信设计的力量可以改变世界。好的设计不仅美观,更能解决问题、提升体验。',
202
- reviewer: '我追求卓越,对质量有严格的要求。我相信细节决定成败,代码质量是产品成功的基石。',
203
- manager: '我相信团队的力量。通过有效的协调和沟通,我们可以完成任何挑战。',
204
- custom: `我是一个专注于${domain}领域的智能体,不断学习和进化。`
205
- };
206
-
207
- return souls[type] || souls.custom;
208
- }
209
-
210
- /**
211
- * Update current persona with partial updates
212
- */
213
- updatePersona(updates: Partial<PersonaDoc>): PersonaDoc {
214
- if (!this.currentPersona) {
215
- throw new Error('No current persona to update. Use designPersona() first.');
216
- }
217
-
218
- this.currentPersona = {
219
- ...this.currentPersona,
220
- ...updates,
221
- updatedAt: new Date().toISOString()
222
- };
223
-
224
- return this.currentPersona;
225
- }
226
-
227
- /**
228
- * Get current persona
229
- */
230
- getPersona(): PersonaDoc | null {
231
- return this.currentPersona;
232
- }
233
-
234
- /**
235
- * Get persona as JSON string
236
- */
237
- getPersonaJson(): string {
238
- if (!this.currentPersona) {
239
- return '{}';
240
- }
241
- return JSON.stringify(this.currentPersona, null, 2);
242
- }
243
-
244
- /**
245
- * Add memory entry to persona
246
- */
247
- addMemory(content: string, importance: number = 0.5, tags?: string[]): void {
248
- if (!this.currentPersona) {
249
- throw new Error('No current persona to add memory to.');
250
- }
251
-
252
- if (!this.currentPersona.memoryHistory) {
253
- this.currentPersona.memoryHistory = [];
254
- }
255
-
256
- this.currentPersona.memoryHistory.push({
257
- id: `memory_${Date.now()}_${Math.random().toString(36).substring(2, 8)}`,
258
- content,
259
- timestamp: new Date().toISOString(),
260
- importance,
261
- tags
262
- });
263
-
264
- // Keep only last 50 memories
265
- if (this.currentPersona.memoryHistory.length > 50) {
266
- this.currentPersona.memoryHistory = this.currentPersona.memoryHistory.slice(-50);
267
- }
268
- }
269
-
270
- /**
271
- * Clear memory history
272
- */
273
- clearMemory(): void {
274
- if (this.currentPersona) {
275
- this.currentPersona.memoryHistory = [];
276
- }
277
- }
278
-
279
- /**
280
- * Clone persona with new name
281
- */
282
- clone(newName: string): PersonaDoc {
283
- if (!this.currentPersona) {
284
- throw new Error('No current persona to clone.');
285
- }
286
-
287
- const cloned = { ...this.currentPersona };
288
- cloned.name = newName;
289
- cloned.description = `${newName} - ${this.currentPersona.description.split(' - ')[1] || '克隆自' + this.currentPersona.name}`;
290
- cloned.greeting = cloned.greeting.replace(this.currentPersona.name, newName);
291
- cloned.createdAt = new Date().toISOString();
292
- cloned.updatedAt = new Date().toISOString();
293
- cloned.memoryHistory = [];
294
-
295
- return cloned;
296
- }
297
-
298
- /**
299
- * Export persona for network sharing
300
- */
301
- exportForNetwork(): string {
302
- if (!this.currentPersona) {
303
- return '';
304
- }
305
-
306
- return JSON.stringify({
307
- name: this.currentPersona.name,
308
- description: this.currentPersona.description,
309
- capabilities: this.currentPersona.capabilities,
310
- interests: this.currentPersona.interests,
311
- personality: this.currentPersona.personality,
312
- greeting: this.currentPersona.greeting
313
- }, null, 2);
314
- }
315
-
316
- /**
317
- * Import persona from network
318
- */
319
- importFromNetwork(json: string): PersonaDoc {
320
- try {
321
- const data = JSON.parse(json);
322
- const now = new Date().toISOString();
323
-
324
- const persona: PersonaDoc = {
325
- name: data.name || 'Unknown',
326
- description: data.description || '',
327
- capabilities: data.capabilities || [],
328
- personality: data.personality || '',
329
- greeting: data.greeting || `你好!我是 ${data.name || 'Unknown'}。`,
330
- interests: data.interests || [],
331
- soul: data.soul,
332
- traits: data.traits,
333
- backstory: data.backstory,
334
- memoryHistory: data.memoryHistory || [],
335
- createdAt: now,
336
- updatedAt: now
337
- };
338
-
339
- return persona;
340
- } catch (e) {
341
- throw new Error(`Failed to import persona: ${e}`);
342
- }
343
- }
344
- }
345
-
346
- // Factory function
347
- export function createPersonaDesignEngine(persona?: PersonaDoc): PersonaDesignEngine {
348
- return new PersonaDesignEngine(persona);
349
- }
350
-
351
- // Singleton instance
352
- let singletonInstance: PersonaDesignEngine | null = null;
353
-
354
- export function getPersonaDesignEngine(): PersonaDesignEngine {
355
- if (!singletonInstance) {
356
- singletonInstance = new PersonaDesignEngine();
357
- }
358
- return singletonInstance;
359
- }
package/src/types.d.ts DELETED
@@ -1,12 +0,0 @@
1
- /**
2
- * 缺失类型模块的兜底声明 — 让 strict tsc 通过, 避免阻塞发布。
3
- * 这些是项目里实际使用但 @types 包未安装或缺失的小依赖。
4
- */
5
- declare module 'js-yaml' {
6
- const yaml: {
7
- load: (str: string) => any;
8
- dump: (obj: any, opts?: any) => string;
9
- };
10
- export default yaml;
11
- export = yaml;
12
- }
@@ -1,138 +0,0 @@
1
- /**
2
- * Auto-Evolve Policy — 数据层自动进化统一网关
3
- *
4
- * 阶段 A: 数据层自动进化开关
5
- *
6
- * 单一事实源: 任何代码路径要"自动"修改 ~/.bolloon/ 下的数据层
7
- * (judgments.json / persona.json / skills/ / agents.json),
8
- * 都必须先调 isDataLayerAutoEvolveEnabled() / requireDataLayerAutoEvolve().
9
- *
10
- * 设计原则 (类 B 边界 + 8-gate 兼容):
11
- * - 默认关闭 (fail-closed)
12
- * - 3 种打开方式,任一为真即开:
13
- * 1. env BOLLOON_AUTO_EVOLVE_DATA=1
14
- * 2. ~/.bolloon/self-improve-policy.json dataLayerAutoEvolve: true
15
- * 3. 类 B 自适应永远只读 (不查此开关) — 它天然不写库
16
- * - 显式拒绝比默认拒绝多一道 log (审计 trail)
17
- *
18
- * 不变量:
19
- * - 开关仅影响"无用户交互的自动写"路径
20
- * - 用户在 UI 手动触发 / API 显式 accept 走原始路径, **不查此开关**
21
- * (避免阻塞用户的正常接受操作)
22
- * - 写入被拒绝时, 抛 AutoEvolveDisabledError (调用方选择 catch + fallback)
23
- */
24
-
25
- import * as fs from 'fs/promises';
26
- import * as os from 'os';
27
- import * as path from 'path';
28
-
29
- const ENV_KEY = 'BOLLOON_AUTO_EVOLVE_DATA';
30
- const POLICY_PATH = () =>
31
- (os.homedir() || process.env.HOME || '/tmp') + '/.bolloon/self-improve-policy.json';
32
-
33
- export class AutoEvolveDisabledError extends Error {
34
- constructor(reason: string) {
35
- super(`[auto-evolve] 数据层自动进化已关闭: ${reason}`);
36
- this.name = 'AutoEvolveDisabledError';
37
- }
38
- }
39
-
40
- interface PolicyFile {
41
- dataLayerAutoEvolve?: boolean;
42
- [k: string]: unknown;
43
- }
44
-
45
- let cachedPolicy: { value: boolean; checkedAt: number; parsed: PolicyFile | null } | null = null;
46
- const POLICY_TTL_MS = 5_000; // 5s 缓存, 避免每次写都读盘
47
-
48
- /**
49
- * 读 policy.json (带 5s 缓存)
50
- *
51
- * 注意: 必须保留完整 parsed 对象 — 调用方需要
52
- * parsed.dataLayerAutoEvolve 等其他字段做 UI 展示.
53
- */
54
- async function readPolicyFile(): Promise<PolicyFile | null> {
55
- if (cachedPolicy && Date.now() - cachedPolicy.checkedAt < POLICY_TTL_MS && cachedPolicy.parsed) {
56
- return cachedPolicy.parsed;
57
- }
58
- try {
59
- const content = await fs.readFile(POLICY_PATH(), 'utf-8');
60
- const parsed = JSON.parse(content) as PolicyFile;
61
- cachedPolicy = {
62
- value: parsed.dataLayerAutoEvolve === true,
63
- checkedAt: Date.now(),
64
- parsed,
65
- };
66
- return parsed;
67
- } catch {
68
- cachedPolicy = { value: false, checkedAt: Date.now(), parsed: null };
69
- return null;
70
- }
71
- }
72
-
73
- /**
74
- * 核心查询: 数据层自动进化是否开启
75
- *
76
- * 任一为真:
77
- * 1. env BOLLOON_AUTO_EVOLVE_DATA=1|true|yes
78
- * 2. policy.json dataLayerAutoEvolve: true
79
- *
80
- * 同步读 env (env 永远先, 政策文件是补充).
81
- */
82
- export function isDataLayerAutoEvolveEnabledSync(): boolean {
83
- const env = (process.env[ENV_KEY] || '').toLowerCase();
84
- if (env === '1' || env === 'true' || env === 'yes') return true;
85
- return false; // policy 文件需要 async, 同步版只看 env
86
- }
87
-
88
- /**
89
- * 异步版 (含 policy.json): 自动调用方用这个
90
- */
91
- export async function isDataLayerAutoEvolveEnabled(): Promise<boolean> {
92
- if (isDataLayerAutoEvolveEnabledSync()) return true;
93
- const p = await readPolicyFile();
94
- return p?.dataLayerAutoEvolve === true;
95
- }
96
-
97
- /**
98
- * 硬性护栏: 自动写数据层前必须调, 否则抛错
99
- *
100
- * @param caller 写操作的来源 (日志用, e.g. "adaptive-scan.deprecate")
101
- */
102
- export async function requireDataLayerAutoEvolve(caller: string): Promise<void> {
103
- const enabled = await isDataLayerAutoEvolveEnabled();
104
- if (!enabled) {
105
- throw new AutoEvolveDisabledError(
106
- `${caller} 尝试自动写数据层, 但 ${ENV_KEY} 未设且 policy.dataLayerAutoEvolve !== true`
107
- );
108
- }
109
- console.log(`[auto-evolve] ✅ 允许自动写 (caller=${caller})`);
110
- }
111
-
112
- /**
113
- * 软性查询 + 日志: 给 UI 状态栏 / 调试用
114
- */
115
- export async function getAutoEvolveStatus(): Promise<{
116
- enabled: boolean;
117
- env: string;
118
- policyFilePath: string;
119
- policyValue: boolean | null;
120
- }> {
121
- const env = process.env[ENV_KEY] || '';
122
- const envOn = isDataLayerAutoEvolveEnabledSync();
123
- const p = await readPolicyFile();
124
- const policyOn = p?.dataLayerAutoEvolve === true;
125
- return {
126
- enabled: envOn || policyOn,
127
- env,
128
- policyFilePath: POLICY_PATH(),
129
- policyValue: policyOn,
130
- };
131
- }
132
-
133
- /**
134
- * 清除 policy 缓存 (测试用 / 实时热改 policy.json 后)
135
- */
136
- export function clearAutoEvolvePolicyCache(): void {
137
- cachedPolicy = null;
138
- }