@bolloon/bolloon-agent 0.1.36 → 0.1.38

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 (518) hide show
  1. package/package.json +2 -2
  2. package/.auto-evolve-calls +0 -1
  3. package/.last-auto-evolve-baseline +0 -1
  4. package/.playwright-mcp/page-2026-06-16T07-51-45-706Z.yml +0 -130
  5. package/.playwright-mcp/page-2026-06-16T07-56-44-116Z.yml +0 -131
  6. package/Bolloon.md +0 -144
  7. package/Dive-into/CITATION.cff +0 -17
  8. package/Dive-into/LICENSE +0 -25
  9. package/Dive-into/README.md +0 -598
  10. package/Dive-into/README_zh.md +0 -599
  11. package/Dive-into/assets/context.png +0 -0
  12. package/Dive-into/assets/extensibility.png +0 -0
  13. package/Dive-into/assets/iteration.png +0 -0
  14. package/Dive-into/assets/layered_architecture.png +0 -0
  15. package/Dive-into/assets/main_structure.png +0 -0
  16. package/Dive-into/assets/permission.png +0 -0
  17. package/Dive-into/assets/session_compact.png +0 -0
  18. package/Dive-into/assets/subagent.png +0 -0
  19. package/Dive-into/paper/Dive_into_Claude_Code.pdf +0 -0
  20. package/dist/agents/constraint-layer.js.map +0 -1
  21. package/dist/agents/pi-sdk.js.map +0 -1
  22. package/dist/agents/workflow-engine.js.map +0 -1
  23. package/dist/bollharness/src/index.js +0 -5
  24. package/dist/bollharness/src/scripts/checks/check_adr_plan_numbering.js +0 -6
  25. package/dist/bollharness/src/scripts/checks/check_api_types.js +0 -45
  26. package/dist/bollharness/src/scripts/checks/check_artifact_link.js +0 -146
  27. package/dist/bollharness/src/scripts/checks/check_bridge_deps.js +0 -6
  28. package/dist/bollharness/src/scripts/checks/check_bugfix_binding.js +0 -6
  29. package/dist/bollharness/src/scripts/checks/check_bugfix_binding_ci.js +0 -6
  30. package/dist/bollharness/src/scripts/checks/check_doc_file_references.js +0 -6
  31. package/dist/bollharness/src/scripts/checks/check_doc_freshness.js +0 -135
  32. package/dist/bollharness/src/scripts/checks/check_doc_links.js +0 -31
  33. package/dist/bollharness/src/scripts/checks/check_file_existence_claims.js +0 -6
  34. package/dist/bollharness/src/scripts/checks/check_fragment_integrity.js +0 -34
  35. package/dist/bollharness/src/scripts/checks/check_hook_installed.js +0 -63
  36. package/dist/bollharness/src/scripts/checks/check_issue_closure.js +0 -41
  37. package/dist/bollharness/src/scripts/checks/check_mcp_parity.js +0 -6
  38. package/dist/bollharness/src/scripts/checks/check_security.js +0 -48
  39. package/dist/bollharness/src/scripts/checks/check_skill_parity.js +0 -6
  40. package/dist/bollharness/src/scripts/checks/check_versions.js +0 -6
  41. package/dist/bollharness/src/scripts/checks/finding.js +0 -13
  42. package/dist/bollharness/src/scripts/checks/next_decision_number.js +0 -20
  43. package/dist/bollharness/src/scripts/checks/regenerate_magic_docs.js +0 -6
  44. package/dist/bollharness/src/scripts/ci/detect_rebaseline_triggers.js +0 -8
  45. package/dist/bollharness/src/scripts/ci/scan_subprocess_cfg.js +0 -8
  46. package/dist/bollharness/src/scripts/ci/scan_verify_artifacts.js +0 -8
  47. package/dist/bollharness/src/scripts/ci/scan_yaml_schema.js +0 -8
  48. package/dist/bollharness/src/scripts/context_router.js +0 -67
  49. package/dist/bollharness/src/scripts/deploy-guard.js +0 -157
  50. package/dist/bollharness/src/scripts/guard-feedback.js +0 -192
  51. package/dist/bollharness/src/scripts/guard_router.js +0 -158
  52. package/dist/bollharness/src/scripts/hooks/_hook_output.js +0 -6
  53. package/dist/bollharness/src/scripts/hooks/auto-python3.js +0 -6
  54. package/dist/bollharness/src/scripts/hooks/deploy-progress-on-session-end.js +0 -6
  55. package/dist/bollharness/src/scripts/hooks/failure-analyzer.js +0 -6
  56. package/dist/bollharness/src/scripts/hooks/gate-judgment-inject.js +0 -92
  57. package/dist/bollharness/src/scripts/hooks/gate-transition-judgment.js +0 -63
  58. package/dist/bollharness/src/scripts/hooks/inbox-ack.js +0 -6
  59. package/dist/bollharness/src/scripts/hooks/inbox-inject-on-start.js +0 -6
  60. package/dist/bollharness/src/scripts/hooks/inbox-validate.js +0 -6
  61. package/dist/bollharness/src/scripts/hooks/inbox-write-ledger.js +0 -6
  62. package/dist/bollharness/src/scripts/hooks/initializer-agent.js +0 -6
  63. package/dist/bollharness/src/scripts/hooks/loop-detection.js +0 -73
  64. package/dist/bollharness/src/scripts/hooks/owner-guard.js +0 -6
  65. package/dist/bollharness/src/scripts/hooks/precompact.js +0 -6
  66. package/dist/bollharness/src/scripts/hooks/review-agent-gatekeeper.js +0 -6
  67. package/dist/bollharness/src/scripts/hooks/risk-tracker.js +0 -108
  68. package/dist/bollharness/src/scripts/hooks/sanitize-on-read.js +0 -6
  69. package/dist/bollharness/src/scripts/hooks/session-reflection.js +0 -7
  70. package/dist/bollharness/src/scripts/hooks/session-start-magic-docs.js +0 -7
  71. package/dist/bollharness/src/scripts/hooks/session-start-reset-risk.js +0 -7
  72. package/dist/bollharness/src/scripts/hooks/session-start-toolkit-reminder.js +0 -7
  73. package/dist/bollharness/src/scripts/hooks/stop-evaluator.js +0 -157
  74. package/dist/bollharness/src/scripts/hooks/tool-call-counter.js +0 -6
  75. package/dist/bollharness/src/scripts/hooks/trace-analyzer.js +0 -10
  76. package/dist/bollharness/src/scripts/install/install-trust-token.js +0 -7
  77. package/dist/bollharness/src/scripts/install/multi_project_registry.js +0 -9
  78. package/dist/bollharness/src/scripts/install/phase2_auto.js +0 -21
  79. package/dist/bollharness/src/scripts/install/pre_commit_installer.js +0 -6
  80. package/dist/bollharness/src/scripts/install/tier_selector.js +0 -7
  81. package/dist/bollharness/src/scripts/install/transcript_miner.js +0 -7
  82. package/dist/bollharness/src/scripts/lib/claim_patterns.js +0 -10
  83. package/dist/bollharness/src/scripts/lib/sanitize_patterns.js +0 -12
  84. package/dist/bollharness/src/scripts/sanitize.js +0 -6
  85. package/dist/bollharness-integration/context-router-judgment.js.map +0 -1
  86. package/dist/bollharness-integration/context-router.js.map +0 -1
  87. package/dist/bollharness-integration/gate-state-machine.js.map +0 -1
  88. package/dist/bollharness-integration/gate-transition-hooks.js.map +0 -1
  89. package/dist/bollharness-integration/guard-checker.js.map +0 -1
  90. package/dist/bollharness-integration/index.js.map +0 -1
  91. package/dist/bollharness-integration/integration.js.map +0 -1
  92. package/dist/bollharness-integration/llm/pi-ai.d.ts +0 -60
  93. package/dist/bollharness-integration/pi-ecosystem-colony/index.d.ts +0 -153
  94. package/dist/bollharness-integration/pi-ecosystem-goals/index.d.ts +0 -136
  95. package/dist/bollharness-integration/pi-ecosystem-judgment/decision.d.ts +0 -117
  96. package/dist/bollharness-integration/pi-ecosystem-judgment/distillation.d.ts +0 -78
  97. package/dist/bollharness-integration/pi-ecosystem-judgment/index.d.ts +0 -139
  98. package/dist/bollharness-integration/pi-ecosystem-mcp/index.d.ts +0 -127
  99. package/dist/bollharness-integration/pi-ecosystem-subagents/index.d.ts +0 -95
  100. package/dist/bollharness-integration/skill-adapter.js.map +0 -1
  101. package/dist/constraint-runtime/src/_archive_helper.js +0 -9
  102. package/dist/constraint-runtime/src/agent/coordinator.js +0 -48
  103. package/dist/constraint-runtime/src/agent/index.js +0 -1
  104. package/dist/constraint-runtime/src/assistant/index.js +0 -12
  105. package/dist/constraint-runtime/src/bootstrap/index.js +0 -12
  106. package/dist/constraint-runtime/src/bootstrap_graph.js +0 -13
  107. package/dist/constraint-runtime/src/bridge/index.js +0 -12
  108. package/dist/constraint-runtime/src/buddy/index.js +0 -12
  109. package/dist/constraint-runtime/src/cli/index.js +0 -12
  110. package/dist/constraint-runtime/src/command_graph.js +0 -10
  111. package/dist/constraint-runtime/src/commands.js +0 -60
  112. package/dist/constraint-runtime/src/components/index.js +0 -12
  113. package/dist/constraint-runtime/src/constants/index.js +0 -12
  114. package/dist/constraint-runtime/src/constraint/budget.js +0 -22
  115. package/dist/constraint-runtime/src/constraint/budget.js.map +0 -1
  116. package/dist/constraint-runtime/src/constraint/index.js +0 -2
  117. package/dist/constraint-runtime/src/constraint/permission.js +0 -20
  118. package/dist/constraint-runtime/src/constraint/permission.js.map +0 -1
  119. package/dist/constraint-runtime/src/context.js +0 -30
  120. package/dist/constraint-runtime/src/coordinator/index.js +0 -12
  121. package/dist/constraint-runtime/src/cost_hook.js +0 -4
  122. package/dist/constraint-runtime/src/cost_tracker.js +0 -8
  123. package/dist/constraint-runtime/src/deferred_init.js +0 -10
  124. package/dist/constraint-runtime/src/direct_modes.js +0 -6
  125. package/dist/constraint-runtime/src/dynamic-tool-loader.js +0 -85
  126. package/dist/constraint-runtime/src/entrypoints/index.js +0 -12
  127. package/dist/constraint-runtime/src/execution_registry.js +0 -44
  128. package/dist/constraint-runtime/src/history.js +0 -9
  129. package/dist/constraint-runtime/src/hooks/index.js +0 -12
  130. package/dist/constraint-runtime/src/index.js +0 -26
  131. package/dist/constraint-runtime/src/ink.js +0 -4
  132. package/dist/constraint-runtime/src/keybindings/index.js +0 -12
  133. package/dist/constraint-runtime/src/memdir/index.js +0 -12
  134. package/dist/constraint-runtime/src/migrations/index.js +0 -12
  135. package/dist/constraint-runtime/src/models.js +0 -1
  136. package/dist/constraint-runtime/src/models.js.map +0 -1
  137. package/dist/constraint-runtime/src/moreright/index.js +0 -12
  138. package/dist/constraint-runtime/src/native_ts/index.js +0 -12
  139. package/dist/constraint-runtime/src/output_styles/index.js +0 -12
  140. package/dist/constraint-runtime/src/parity_audit.js +0 -12
  141. package/dist/constraint-runtime/src/plugins/index.js +0 -12
  142. package/dist/constraint-runtime/src/port_manifest.js +0 -11
  143. package/dist/constraint-runtime/src/prefetch.js +0 -9
  144. package/dist/constraint-runtime/src/query.js +0 -1
  145. package/dist/constraint-runtime/src/remote/index.js +0 -12
  146. package/dist/constraint-runtime/src/remote_runtime.js +0 -9
  147. package/dist/constraint-runtime/src/runtime/index.js +0 -1
  148. package/dist/constraint-runtime/src/runtime/session.js +0 -35
  149. package/dist/constraint-runtime/src/schemas/index.js +0 -12
  150. package/dist/constraint-runtime/src/screens/index.js +0 -12
  151. package/dist/constraint-runtime/src/server/index.js +0 -12
  152. package/dist/constraint-runtime/src/services/index.js +0 -12
  153. package/dist/constraint-runtime/src/session_store.js +0 -22
  154. package/dist/constraint-runtime/src/setup.js +0 -30
  155. package/dist/constraint-runtime/src/skills/index.js +0 -1
  156. package/dist/constraint-runtime/src/skills/skill-registry.js +0 -28
  157. package/dist/constraint-runtime/src/state/index.js +0 -12
  158. package/dist/constraint-runtime/src/system_init.js +0 -20
  159. package/dist/constraint-runtime/src/thinking/engine.js +0 -42
  160. package/dist/constraint-runtime/src/thinking/index.js +0 -1
  161. package/dist/constraint-runtime/src/tool_pool.js +0 -8
  162. package/dist/constraint-runtime/src/tools/OpenCLI/execAdapter.js +0 -7
  163. package/dist/constraint-runtime/src/tools/OpenCLI/listAdapters.js +0 -7
  164. package/dist/constraint-runtime/src/tools/OpenCLI/runCommand.js +0 -7
  165. package/dist/constraint-runtime/src/tools/PolymarketSDK/cancelOrder.js +0 -6
  166. package/dist/constraint-runtime/src/tools/PolymarketSDK/createOrder.js +0 -6
  167. package/dist/constraint-runtime/src/tools/PolymarketSDK/getMarket.js +0 -5
  168. package/dist/constraint-runtime/src/tools/PolymarketSDK/getOrders.js +0 -6
  169. package/dist/constraint-runtime/src/tools/PolymarketSDK/listMarkets.js +0 -4
  170. package/dist/constraint-runtime/src/tools/SafeSDK/confirmTransaction.js +0 -6
  171. package/dist/constraint-runtime/src/tools/SafeSDK/createTransaction.js +0 -8
  172. package/dist/constraint-runtime/src/tools/SafeSDK/deploySafe.js +0 -6
  173. package/dist/constraint-runtime/src/tools/SafeSDK/executeTransaction.js +0 -6
  174. package/dist/constraint-runtime/src/tools/SafeSDK/getBalance.js +0 -6
  175. package/dist/constraint-runtime/src/tools/SafeSDK/getPendingTransactions.js +0 -6
  176. package/dist/constraint-runtime/src/tools/SafeSDK/proposeTransaction.js +0 -6
  177. package/dist/constraint-runtime/src/tools/WalletTools/autoPay.js +0 -29
  178. package/dist/constraint-runtime/src/tools/WalletTools/createWallet.js +0 -10
  179. package/dist/constraint-runtime/src/tools/WalletTools/getBalance.js +0 -13
  180. package/dist/constraint-runtime/src/tools/WalletTools/importWallet.js +0 -22
  181. package/dist/constraint-runtime/src/tools/WalletTools/sendTransaction.js +0 -25
  182. package/dist/constraint-runtime/src/tools/WalletTools/signMessage.js +0 -10
  183. package/dist/constraint-runtime/src/tools/WalletTools/transferToken.js +0 -25
  184. package/dist/constraint-runtime/src/tools.js +0 -80
  185. package/dist/constraint-runtime/src/transcript.js +0 -19
  186. package/dist/constraint-runtime/src/types/index.js +0 -12
  187. package/dist/constraint-runtime/src/upstream_proxy/index.js +0 -12
  188. package/dist/constraint-runtime/src/utils/index.js +0 -12
  189. package/dist/constraint-runtime/src/vim/index.js +0 -12
  190. package/dist/constraint-runtime/src/voice/index.js +0 -12
  191. package/dist/constraints/index.js.map +0 -1
  192. package/dist/documents/reader.js.map +0 -1
  193. package/dist/llm/config-store.js.map +0 -1
  194. package/dist/llm/pi-ai.js.map +0 -1
  195. package/dist/network/agent-network.js.map +0 -1
  196. package/dist/network/iroh-integration.js.map +0 -1
  197. package/dist/network/iroh-transport.js.map +0 -1
  198. package/dist/network/p2p.js.map +0 -1
  199. package/dist/network/storage/adapters/json-adapter.js.map +0 -1
  200. package/dist/pi-ecosystem-colony/index.js.map +0 -1
  201. package/dist/pi-ecosystem-goals/index.js.map +0 -1
  202. package/dist/pi-ecosystem-judgment/decision.js.map +0 -1
  203. package/dist/pi-ecosystem-judgment/distillation.js.map +0 -1
  204. package/dist/pi-ecosystem-judgment/human-value-store.js.map +0 -1
  205. package/dist/pi-ecosystem-judgment/index.js.map +0 -1
  206. package/dist/pi-ecosystem-judgment/value-injection.js.map +0 -1
  207. package/dist/pi-ecosystem-mcp/index.js.map +0 -1
  208. package/dist/pi-ecosystem-subagents/index.js.map +0 -1
  209. package/dist/social/ant-colony/AdaptiveHeartbeat.js.map +0 -1
  210. package/dist/social/ant-colony/PheromoneEngine.js.map +0 -1
  211. package/dist/social/ant-colony/types.js.map +0 -1
  212. package/dist/social/channels/ChannelManager.js.map +0 -1
  213. package/dist/social/channels/DiapChannelBridge.js.map +0 -1
  214. package/dist/social/channels/InterestMatcher.js.map +0 -1
  215. package/dist/social/channels/types.js.map +0 -1
  216. package/dist/social/global-shared-context.js.map +0 -1
  217. package/dist/social/heartbeat.js.map +0 -1
  218. package/lefthook.yml +0 -33
  219. package/scripts/auto-evolve-loop.ts +0 -481
  220. package/scripts/build-web.ts +0 -116
  221. package/scripts/diff-reviewer.ts +0 -159
  222. package/scripts/validate-system-prompt.ts +0 -142
  223. package/scripts/weekly-report.ts +0 -364
  224. package/src/agents/agent-manifest-protocol.ts +0 -117
  225. package/src/agents/constraint-layer.ts +0 -309
  226. package/src/agents/iroh-secret.ts +0 -32
  227. package/src/agents/p2p-chat-tools.ts +0 -383
  228. package/src/agents/p2p-document-tools.ts +0 -347
  229. package/src/agents/permission-mode.ts +0 -127
  230. package/src/agents/pi-sdk.ts +0 -2895
  231. package/src/agents/pre-tool-validator.ts +0 -213
  232. package/src/agents/protocol.ts +0 -398
  233. package/src/agents/shell-guard.ts +0 -417
  234. package/src/agents/shell-tool.ts +0 -103
  235. package/src/agents/skill-loader.ts +0 -202
  236. package/src/agents/subagent-manager.ts +0 -553
  237. package/src/agents/workflow-engine.ts +0 -332
  238. package/src/agents/workflow-pivot-loop.ts +0 -766
  239. package/src/bollharness/.sanitize-report.json +0 -13
  240. package/src/bollharness/CLAUDE.md +0 -73
  241. package/src/bollharness/LICENSE +0 -21
  242. package/src/bollharness/README.md +0 -143
  243. package/src/bollharness/README.zh-CN.md +0 -131
  244. package/src/bollharness/package.json +0 -20
  245. package/src/bollharness/reference/SOURCE-COMMIT.txt +0 -3
  246. package/src/bollharness/reference/boll-reference/scripts/hooks/.sanitize-report.json +0 -12
  247. package/src/bollharness/reference/boll-reference/scripts/hooks/find-boll-root.sh +0 -27
  248. package/src/bollharness/reference/boll-reference/scripts/hooks/precompact.sh +0 -57
  249. package/src/bollharness/reference/boll-reference/scripts/hooks/stop-evaluator.md +0 -57
  250. package/src/bollharness/schemas/metrics-jsonl-allowlist.json +0 -67
  251. package/src/bollharness/scripts/checks/next_decision_number.sh +0 -48
  252. package/src/bollharness/scripts/ci/count-components.sh +0 -65
  253. package/src/bollharness/scripts/context-fragments/artifact-linkage.md +0 -14
  254. package/src/bollharness/scripts/context-fragments/auth-consumers.md +0 -17
  255. package/src/bollharness/scripts/context-fragments/bridge-constitution.md +0 -13
  256. package/src/bollharness/scripts/context-fragments/catalyst-distributed.md +0 -18
  257. package/src/bollharness/scripts/context-fragments/closure-checklist.md +0 -13
  258. package/src/bollharness/scripts/context-fragments/contract-consumers.md +0 -15
  259. package/src/bollharness/scripts/context-fragments/db-shared-structures.md +0 -15
  260. package/src/bollharness/scripts/context-fragments/fixed-three-layers.md +0 -19
  261. package/src/bollharness/scripts/context-fragments/general-dev-principles.md +0 -11
  262. package/src/bollharness/scripts/context-fragments/issue-first.md +0 -8
  263. package/src/bollharness/scripts/context-fragments/mcp-parity.md +0 -16
  264. package/src/bollharness/scripts/context-fragments/pi-agent-operations.md +0 -108
  265. package/src/bollharness/scripts/context-fragments/protocol-consumers.md +0 -15
  266. package/src/bollharness/scripts/context-fragments/run-events-consumers.md +0 -15
  267. package/src/bollharness/scripts/context-fragments/scene-fidelity.md +0 -13
  268. package/src/bollharness/scripts/context-fragments/truth-source-hierarchy.md +0 -15
  269. package/src/bollharness/scripts/context-fragments/two-language.md +0 -15
  270. package/src/bollharness/scripts/context-fragments/version-sources.md +0 -14
  271. package/src/bollharness/scripts/hooks/find-project-root.sh +0 -47
  272. package/src/bollharness/scripts/hooks/inbox-poll.sh +0 -78
  273. package/src/bollharness/scripts/hooks/precompact.sh +0 -56
  274. package/src/bollharness/scripts/hooks/stop-evaluator.md +0 -83
  275. package/src/bollharness/scripts/sync-from-upstream.sh +0 -281
  276. package/src/bollharness/src/index.ts +0 -5
  277. package/src/bollharness/src/scripts/checks/check_adr_plan_numbering.ts +0 -11
  278. package/src/bollharness/src/scripts/checks/check_api_types.ts +0 -52
  279. package/src/bollharness/src/scripts/checks/check_artifact_link.ts +0 -156
  280. package/src/bollharness/src/scripts/checks/check_bridge_deps.ts +0 -11
  281. package/src/bollharness/src/scripts/checks/check_bugfix_binding.ts +0 -11
  282. package/src/bollharness/src/scripts/checks/check_bugfix_binding_ci.ts +0 -11
  283. package/src/bollharness/src/scripts/checks/check_doc_file_references.ts +0 -11
  284. package/src/bollharness/src/scripts/checks/check_doc_freshness.ts +0 -141
  285. package/src/bollharness/src/scripts/checks/check_doc_links.ts +0 -36
  286. package/src/bollharness/src/scripts/checks/check_file_existence_claims.ts +0 -11
  287. package/src/bollharness/src/scripts/checks/check_fragment_integrity.ts +0 -40
  288. package/src/bollharness/src/scripts/checks/check_hook_installed.ts +0 -70
  289. package/src/bollharness/src/scripts/checks/check_issue_closure.ts +0 -51
  290. package/src/bollharness/src/scripts/checks/check_mcp_parity.ts +0 -11
  291. package/src/bollharness/src/scripts/checks/check_security.ts +0 -54
  292. package/src/bollharness/src/scripts/checks/check_skill_parity.ts +0 -11
  293. package/src/bollharness/src/scripts/checks/check_versions.ts +0 -11
  294. package/src/bollharness/src/scripts/checks/finding.ts +0 -35
  295. package/src/bollharness/src/scripts/checks/next_decision_number.ts +0 -24
  296. package/src/bollharness/src/scripts/checks/regenerate_magic_docs.ts +0 -11
  297. package/src/bollharness/src/scripts/ci/detect_rebaseline_triggers.ts +0 -14
  298. package/src/bollharness/src/scripts/ci/scan_subprocess_cfg.ts +0 -14
  299. package/src/bollharness/src/scripts/ci/scan_verify_artifacts.ts +0 -14
  300. package/src/bollharness/src/scripts/ci/scan_yaml_schema.ts +0 -14
  301. package/src/bollharness/src/scripts/context_router.ts +0 -76
  302. package/src/bollharness/src/scripts/deploy-guard.ts +0 -182
  303. package/src/bollharness/src/scripts/guard-feedback.ts +0 -215
  304. package/src/bollharness/src/scripts/guard_router.ts +0 -194
  305. package/src/bollharness/src/scripts/hooks/_hook_output.js +0 -3
  306. package/src/bollharness/src/scripts/hooks/_hook_output.ts +0 -11
  307. package/src/bollharness/src/scripts/hooks/auto-python3.ts +0 -10
  308. package/src/bollharness/src/scripts/hooks/deploy-progress-on-session-end.ts +0 -10
  309. package/src/bollharness/src/scripts/hooks/failure-analyzer.ts +0 -10
  310. package/src/bollharness/src/scripts/hooks/gate-judgment-inject.ts +0 -111
  311. package/src/bollharness/src/scripts/hooks/gate-transition-judgment.ts +0 -74
  312. package/src/bollharness/src/scripts/hooks/inbox-ack.ts +0 -10
  313. package/src/bollharness/src/scripts/hooks/inbox-inject-on-start.ts +0 -10
  314. package/src/bollharness/src/scripts/hooks/inbox-validate.ts +0 -10
  315. package/src/bollharness/src/scripts/hooks/inbox-write-ledger.ts +0 -10
  316. package/src/bollharness/src/scripts/hooks/initializer-agent.ts +0 -10
  317. package/src/bollharness/src/scripts/hooks/loop-detection.ts +0 -83
  318. package/src/bollharness/src/scripts/hooks/owner-guard.ts +0 -10
  319. package/src/bollharness/src/scripts/hooks/precompact.ts +0 -10
  320. package/src/bollharness/src/scripts/hooks/review-agent-gatekeeper.ts +0 -10
  321. package/src/bollharness/src/scripts/hooks/risk-tracker.ts +0 -121
  322. package/src/bollharness/src/scripts/hooks/sanitize-on-read.ts +0 -10
  323. package/src/bollharness/src/scripts/hooks/session-reflection.ts +0 -12
  324. package/src/bollharness/src/scripts/hooks/session-start-magic-docs.ts +0 -12
  325. package/src/bollharness/src/scripts/hooks/session-start-reset-risk.ts +0 -12
  326. package/src/bollharness/src/scripts/hooks/session-start-toolkit-reminder.ts +0 -12
  327. package/src/bollharness/src/scripts/hooks/stop-evaluator.ts +0 -164
  328. package/src/bollharness/src/scripts/hooks/tool-call-counter.ts +0 -10
  329. package/src/bollharness/src/scripts/hooks/trace-analyzer.ts +0 -14
  330. package/src/bollharness/src/scripts/install/install-trust-token.ts +0 -13
  331. package/src/bollharness/src/scripts/install/multi_project_registry.ts +0 -13
  332. package/src/bollharness/src/scripts/install/phase2_auto.ts +0 -28
  333. package/src/bollharness/src/scripts/install/pre_commit_installer.ts +0 -10
  334. package/src/bollharness/src/scripts/install/tier_selector.ts +0 -10
  335. package/src/bollharness/src/scripts/install/transcript_miner.ts +0 -13
  336. package/src/bollharness/src/scripts/lib/claim_patterns.ts +0 -11
  337. package/src/bollharness/src/scripts/lib/sanitize_patterns.ts +0 -13
  338. package/src/bollharness/src/scripts/sanitize.ts +0 -9
  339. package/src/bollharness/templates/persona/default.json +0 -19
  340. package/src/bollharness/templates/scaffold/.gitignore.append +0 -16
  341. package/src/bollharness/templates/scaffold/CLAUDE.md +0 -89
  342. package/src/bollharness-integration/channel-judgment-engine.ts +0 -634
  343. package/src/bollharness-integration/context-chain-router.ts +0 -474
  344. package/src/bollharness-integration/context-router-judgment.ts +0 -339
  345. package/src/bollharness-integration/context-router.ts +0 -583
  346. package/src/bollharness-integration/gate-state-machine.ts +0 -444
  347. package/src/bollharness-integration/gate-transition-hooks.ts +0 -137
  348. package/src/bollharness-integration/guard-checker.ts +0 -451
  349. package/src/bollharness-integration/index.ts +0 -195
  350. package/src/bollharness-integration/integration.ts +0 -538
  351. package/src/bollharness-integration/judgment-prompts.yaml +0 -535
  352. package/src/bollharness-integration/llm-judgment-engine.ts +0 -712
  353. package/src/bollharness-integration/skill-adapter.ts +0 -646
  354. package/src/bootstrap/bootstrap.ts +0 -135
  355. package/src/bootstrap/context-collector.ts +0 -371
  356. package/src/bootstrap/context-hierarchy.ts +0 -283
  357. package/src/bootstrap/lifecycle-hooks.ts +0 -289
  358. package/src/bootstrap/project-context.ts +0 -171
  359. package/src/cli/interface.ts +0 -211
  360. package/src/cli-entry.ts +0 -304
  361. package/src/constraints/index.ts +0 -6
  362. package/src/context-compaction/auto-compact.ts +0 -153
  363. package/src/context-compaction/budget-gate.ts +0 -32
  364. package/src/context-compaction/budget-reduce.ts +0 -37
  365. package/src/context-compaction/context-collapse.ts +0 -72
  366. package/src/context-compaction/index.ts +0 -24
  367. package/src/context-compaction/microcompact.ts +0 -54
  368. package/src/context-compaction/pipeline.ts +0 -133
  369. package/src/context-compaction/snip.ts +0 -51
  370. package/src/context-compaction/token-estimator.ts +0 -36
  371. package/src/context-compaction/types.ts +0 -99
  372. package/src/documents/reader.ts +0 -85
  373. package/src/documents/store.ts +0 -252
  374. package/src/electron-preload.ts +0 -25
  375. package/src/electron.ts +0 -200
  376. package/src/heartbeat/DaemonManager.ts +0 -283
  377. package/src/heartbeat/HealthMonitor.ts +0 -317
  378. package/src/heartbeat/StartupVerifier.ts +0 -223
  379. package/src/heartbeat/Watchdog.ts +0 -208
  380. package/src/heartbeat/index.ts +0 -109
  381. package/src/heartbeat/self-improve-bus.ts +0 -110
  382. package/src/heartbeat/types.ts +0 -82
  383. package/src/index.ts +0 -1724
  384. package/src/llm/audio-config-store.ts +0 -246
  385. package/src/llm/config-store.ts +0 -400
  386. package/src/llm/llm-judgment-client.ts +0 -471
  387. package/src/llm/pi-ai.ts +0 -653
  388. package/src/llm/system-prompt/health.ts +0 -159
  389. package/src/llm/system-prompt/layers/channel/local.md +0 -14
  390. package/src/llm/system-prompt/layers/channel/p2p-agent.md +0 -18
  391. package/src/llm/system-prompt/layers/channel/p2p-visitor.md +0 -19
  392. package/src/llm/system-prompt/layers/core/artifacts_storage.md +0 -89
  393. package/src/llm/system-prompt/layers/core/evenhandedness.md +0 -21
  394. package/src/llm/system-prompt/layers/core/hibs_reminders.md +0 -15
  395. package/src/llm/system-prompt/layers/core/identity.md +0 -37
  396. package/src/llm/system-prompt/layers/core/knowledge.md +0 -17
  397. package/src/llm/system-prompt/layers/core/memory_system.md +0 -12
  398. package/src/llm/system-prompt/layers/core/network_filesystem.md +0 -28
  399. package/src/llm/system-prompt/layers/core/refusal.md +0 -37
  400. package/src/llm/system-prompt/layers/core/tone.md +0 -31
  401. package/src/llm/system-prompt/layers/core/tools.thin.md +0 -13
  402. package/src/llm/system-prompt/layers/core/wellbeing.md +0 -41
  403. package/src/llm/system-prompt/layers/role/architect.md +0 -20
  404. package/src/llm/system-prompt/layers/role/expert.md +0 -19
  405. package/src/llm/system-prompt/layers/role/implementer.md +0 -15
  406. package/src/llm/system-prompt/layers/role/security.md +0 -15
  407. package/src/llm/system-prompt/layers/tool/artifacts.md +0 -72
  408. package/src/llm/system-prompt/layers/tool/bash.md +0 -25
  409. package/src/llm/system-prompt/layers/tool/hibs_api.md +0 -171
  410. package/src/llm/system-prompt/layers/tool/image_search.md +0 -70
  411. package/src/llm/system-prompt/layers/tool/manifest.md +0 -89
  412. package/src/llm/system-prompt/layers/tool/mcp_apps.md +0 -53
  413. package/src/llm/system-prompt/layers/tool/web_search.md +0 -83
  414. package/src/llm/system-prompt/registry.ts +0 -325
  415. package/src/llm/system-prompt/strip-hibsml.ts +0 -52
  416. package/src/llm/tool-manifest/ask_user_input.ts +0 -37
  417. package/src/llm/tool-manifest/bash.ts +0 -25
  418. package/src/llm/tool-manifest/create_file.ts +0 -26
  419. package/src/llm/tool-manifest/fetch_sports_data.ts +0 -28
  420. package/src/llm/tool-manifest/image_search.ts +0 -26
  421. package/src/llm/tool-manifest/index.ts +0 -88
  422. package/src/llm/tool-manifest/mcp.ts +0 -46
  423. package/src/llm/tool-manifest/message_compose.ts +0 -33
  424. package/src/llm/tool-manifest/places.ts +0 -86
  425. package/src/llm/tool-manifest/present_files.ts +0 -23
  426. package/src/llm/tool-manifest/recipe.ts +0 -42
  427. package/src/llm/tool-manifest/recommend_apps.ts +0 -25
  428. package/src/llm/tool-manifest/str_replace.ts +0 -29
  429. package/src/llm/tool-manifest/types.ts +0 -52
  430. package/src/llm/tool-manifest/view.ts +0 -26
  431. package/src/llm/tool-manifest/weather.ts +0 -29
  432. package/src/llm/tool-manifest/web.ts +0 -54
  433. package/src/llm/video-config-store.ts +0 -257
  434. package/src/network/agent-network.ts +0 -800
  435. package/src/network/hybrid-messenger.ts +0 -199
  436. package/src/network/iroh-bootstrap.ts +0 -57
  437. package/src/network/iroh-discovery.ts +0 -208
  438. package/src/network/iroh-integration.ts +0 -158
  439. package/src/network/iroh-transport.ts +0 -637
  440. package/src/network/known-peers.ts +0 -102
  441. package/src/network/p2p-direct.ts +0 -262
  442. package/src/network/p2p-secret.ts +0 -153
  443. package/src/network/p2p.ts +0 -964
  444. package/src/network/source-intent-broadcaster.ts +0 -242
  445. package/src/network/source-intent.ts +0 -167
  446. package/src/network/storage/adapters/json-adapter.ts +0 -454
  447. package/src/network/storage/index.ts +0 -203
  448. package/src/network/storage/types.ts +0 -166
  449. package/src/security/builtin-guards.ts +0 -162
  450. package/src/security/context-router-tool.ts +0 -122
  451. package/src/security/input-scanner.ts +0 -287
  452. package/src/security/react-harness.ts +0 -177
  453. package/src/security/tool-gate.ts +0 -294
  454. package/src/social/ant-colony/index.js +0 -19
  455. package/src/social/channels/ChannelManager.ts +0 -485
  456. package/src/social/channels/DiapChannelBridge.ts +0 -501
  457. package/src/social/channels/InterestMatcher.ts +0 -189
  458. package/src/social/channels/agent-workflow-config.json +0 -214
  459. package/src/social/channels/agent-workflow-config.yaml +0 -334
  460. package/src/social/channels/channel-agent-session.ts +0 -407
  461. package/src/social/channels/channel-heartbeat-agent.ts +0 -622
  462. package/src/social/channels/diap-doc-parser.ts +0 -282
  463. package/src/social/channels/harness-workflow-integrator.ts +0 -594
  464. package/src/social/channels/index.ts +0 -22
  465. package/src/social/channels/types.ts +0 -115
  466. package/src/social/global-shared-context.ts +0 -506
  467. package/src/social/heartbeat.ts +0 -1057
  468. package/src/social/persona/enhanced-persona.ts +0 -359
  469. package/src/types.d.ts +0 -12
  470. package/src/utils/auto-evolve-policy.ts +0 -138
  471. package/src/utils/auto-update.ts +0 -482
  472. package/src/utils/clamp.ts +0 -5
  473. package/src/web/agent-delegate-server.ts +0 -148
  474. package/src/web/api-config.html +0 -520
  475. package/src/web/client.js +0 -2352
  476. package/src/web/client.ts +0 -4326
  477. package/src/web/components/p2p/P2PModal.tsx +0 -416
  478. package/src/web/components/p2p/index.ts +0 -566
  479. package/src/web/components/p2p/index.tsx +0 -297
  480. package/src/web/components/p2p/p2p-connection.ts +0 -338
  481. package/src/web/components/p2p/p2p-identity.ts +0 -92
  482. package/src/web/components/p2p/p2p-manager.ts +0 -147
  483. package/src/web/components/p2p/p2p-messages.ts +0 -219
  484. package/src/web/components/p2p/p2p-modal.ts +0 -685
  485. package/src/web/components/p2p/p2p-store-memory.ts +0 -162
  486. package/src/web/components/p2p/p2p-tools.ts +0 -315
  487. package/src/web/components/p2p/types.ts +0 -170
  488. package/src/web/components/wallet-viem.mjs +0 -118
  489. package/src/web/design.md +0 -99
  490. package/src/web/icons/apple-touch-icon.png +0 -0
  491. package/src/web/icons/favicon-16x16.png +0 -0
  492. package/src/web/icons/favicon-192x192.png +0 -0
  493. package/src/web/icons/favicon-32x32.png +0 -0
  494. package/src/web/icons/favicon-48x48.png +0 -0
  495. package/src/web/icons/favicon-512x512.png +0 -0
  496. package/src/web/icons/favicon.icns +0 -0
  497. package/src/web/icons/favicon.ico +0 -0
  498. package/src/web/icons/icon.png +0 -0
  499. package/src/web/icons/image.png +0 -0
  500. package/src/web/index.html +0 -373
  501. package/src/web/iroh-delegate-transport.ts +0 -139
  502. package/src/web/manifest.json +0 -21
  503. package/src/web/server.ts +0 -5731
  504. package/src/web/style.css +0 -4737
  505. package/src/web/ui/message-renderer.ts +0 -540
  506. package/src/web/ui/step-timeline.ts +0 -394
  507. package/staging/auto-evolve/clean-001/.review-verdict +0 -9
  508. package/staging/auto-evolve/clean-001/clean-001.patch +0 -14
  509. package/staging/auto-evolve/e2e-001/.patch-id +0 -1
  510. package/staging/auto-evolve/e2e-001/.review-verdict +0 -12
  511. package/staging/auto-evolve/e2e-001/e2e-001.patch +0 -11
  512. package/staging/auto-evolve/test-bad/.review-verdict +0 -12
  513. package/staging/auto-evolve/test-bad/test-bad.patch +0 -11
  514. package/test-results/.last-run.json +0 -6
  515. package/test-results/src-test-web-loop-status-b-5734c-atus-bar-/346/230/276/347/244/272-spinner-/344/270/215/346/230/276/347/244/272/345/276/252/347/216/257/350/256/241/346/225/260/error-context.md +0 -285
  516. package/tsconfig.cli.json +0 -16
  517. package/tsconfig.electron.json +0 -20
  518. package/tsconfig.json +0 -18
@@ -1,158 +0,0 @@
1
- import * as fs from "fs";
2
- import * as path from "path";
3
- export const GUARD_MAP = {
4
- "bridge_agent/": ["check_bridge_deps"],
5
- "backend/product/bridge/": ["check_bridge_deps"],
6
- "mcp-server/": ["check_mcp_parity"],
7
- "mcp-server-node/": ["check_mcp_parity"],
8
- "docs/issues/": ["check_issue_closure"],
9
- "backend/product/routes/": ["check_doc_freshness"],
10
- "docs/ROADMAP.md": ["check_doc_freshness"],
11
- "Bolloon.md": ["check_doc_freshness"],
12
- "docs/magic/": ["check_doc_freshness"],
13
- ".boll/rules/backend-routes.md": ["check_doc_freshness"],
14
- ".boll/settings.json": ["check_hook_installed"],
15
- ".githooks/": ["check_hook_installed"],
16
- "scripts/context_router.ts": ["check_fragment_integrity"],
17
- "scripts/context-fragments/": ["check_fragment_integrity"],
18
- };
19
- export const DEFAULT_GUARDS = [];
20
- export const CATEGORY_TO_SKILLS = {
21
- closure_semantics: ["lead", "boll-ops"],
22
- contract_drift: ["boll-dev", "boll-eng-test"],
23
- bridge_boundary: ["boll-bridge", "boll-ops"],
24
- policy_freeze: ["lead", "arch", "plan-lock"],
25
- doc_integrity: ["boll-ops"],
26
- version_drift: ["boll-ops"],
27
- artifact_linkage: ["lead"],
28
- governance_bootstrap: ["boll-ops"],
29
- };
30
- const SESSION_TTL_SECONDS = 3600;
31
- export function route(filePath) {
32
- const matched = [];
33
- const sortedPatterns = Object.keys(GUARD_MAP).sort((a, b) => b.length - a.length);
34
- for (const pattern of sortedPatterns) {
35
- if (filePath.startsWith(pattern) || filePath === pattern.replace(/\/$/, "")) {
36
- matched.push(...GUARD_MAP[pattern]);
37
- }
38
- }
39
- if (matched.length === 0) {
40
- return [...DEFAULT_GUARDS];
41
- }
42
- return [...new Set(matched)];
43
- }
44
- export async function runGuards(filePath, checksDir) {
45
- const guardNames = route(filePath);
46
- const findings = [];
47
- for (const name of guardNames) {
48
- try {
49
- const checkModule = await import(path.join(checksDir, `${name}.js`));
50
- if (!checkModule.run) {
51
- findings.push({
52
- severity: "P1",
53
- message: `${name} has no run() function`,
54
- file: `scripts/checks/${name}.ts`,
55
- blocking: false,
56
- category: "governance_bootstrap",
57
- problem_class: "unknown",
58
- required_skills: [],
59
- required_reads: [],
60
- });
61
- continue;
62
- }
63
- const result = checkModule.run(checksDir, { mode: "full" });
64
- if (Array.isArray(result)) {
65
- findings.push(...result);
66
- }
67
- else {
68
- findings.push(result);
69
- }
70
- }
71
- catch (exc) {
72
- findings.push({
73
- severity: "P0",
74
- message: `Failed to import guard ${name}: ${exc}`,
75
- file: `scripts/checks/${name}.ts`,
76
- blocking: true,
77
- category: "governance_bootstrap",
78
- problem_class: "unknown",
79
- required_skills: [],
80
- required_reads: [],
81
- });
82
- }
83
- }
84
- return findings;
85
- }
86
- function getGuardDir() {
87
- return path.join(process.cwd(), ".boll", "guard");
88
- }
89
- export function writeSessionSignal(findings) {
90
- const guardDir = getGuardDir();
91
- if (!fs.existsSync(guardDir)) {
92
- fs.mkdirSync(guardDir, { recursive: true });
93
- }
94
- const pid = process.pid;
95
- const target = path.join(guardDir, `session-${pid}.json`);
96
- const tmp = path.join(guardDir, `session-${pid}.tmp`);
97
- const data = {
98
- pid,
99
- timestamp: Date.now() / 1000,
100
- findings,
101
- };
102
- fs.writeFileSync(tmp, JSON.stringify(data, null, 2), "utf-8");
103
- fs.renameSync(tmp, target);
104
- return target;
105
- }
106
- export function readAllSignals(pid) {
107
- const guardDir = getGuardDir();
108
- if (!fs.existsSync(guardDir)) {
109
- return { severity: null, blocking: false, required_skills: [], findings: [] };
110
- }
111
- const severityOrder = { P0: 0, P1: 1, P2: 2 };
112
- const now = Date.now() / 1000;
113
- const allFindings = [];
114
- let maxSeverity = null;
115
- let blocking = false;
116
- const skills = new Set();
117
- let paths;
118
- if (pid !== undefined) {
119
- paths = [path.join(guardDir, `session-${pid}.json`)];
120
- }
121
- else {
122
- paths = fs.readdirSync(guardDir)
123
- .filter(f => f.startsWith("session-") && f.endsWith(".json"))
124
- .map(f => path.join(guardDir, f));
125
- }
126
- for (const p of paths) {
127
- if (!fs.existsSync(p))
128
- continue;
129
- try {
130
- const data = JSON.parse(fs.readFileSync(p, "utf-8"));
131
- const ts = data.timestamp;
132
- if (now - ts > SESSION_TTL_SECONDS) {
133
- try {
134
- fs.unlinkSync(p);
135
- }
136
- catch { }
137
- continue;
138
- }
139
- for (const f of data.findings) {
140
- allFindings.push(f);
141
- const sev = f.severity;
142
- if (maxSeverity === null || severityOrder[sev] < severityOrder[maxSeverity]) {
143
- maxSeverity = sev;
144
- }
145
- if (f.blocking)
146
- blocking = true;
147
- f.required_skills.forEach(s => skills.add(s));
148
- }
149
- }
150
- catch { }
151
- }
152
- return {
153
- severity: maxSeverity,
154
- blocking,
155
- required_skills: Array.from(skills).sort(),
156
- findings: allFindings,
157
- };
158
- }
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env node
2
- process.stdout.write(`\n\n## Bollharness Context\n\n` +
3
- `bollharness is an AI Agent Session Governance Framework.\n\n` +
4
- `For more information, see Bolloon.md in the project root.\n`);
5
- process.exit(0);
6
- export {};
@@ -1,6 +0,0 @@
1
- export function main() {
2
- process.exit(0);
3
- }
4
- if (require.main === module) {
5
- main();
6
- }
@@ -1,6 +0,0 @@
1
- export function main() {
2
- process.exit(0);
3
- }
4
- if (require.main === module) {
5
- main();
6
- }
@@ -1,6 +0,0 @@
1
- export function main() {
2
- process.exit(0);
3
- }
4
- if (require.main === module) {
5
- main();
6
- }
@@ -1,92 +0,0 @@
1
- import * as fs from "fs";
2
- import * as path from "path";
3
- const REPO_ROOT = process.cwd();
4
- function getCurrentGate() {
5
- const envGate = process.env.BOLL_GATE_TO;
6
- if (envGate) {
7
- return parseInt(envGate, 10);
8
- }
9
- try {
10
- const gateFile = path.join(REPO_ROOT, ".boll", "gate", "current");
11
- if (fs.existsSync(gateFile)) {
12
- const content = fs.readFileSync(gateFile, "utf-8").trim();
13
- const state = JSON.parse(content);
14
- return state.current_gate;
15
- }
16
- }
17
- catch { }
18
- const envGateFinal = process.env.BOLL_GATE;
19
- if (envGateFinal) {
20
- return parseInt(envGateFinal, 10);
21
- }
22
- return 0;
23
- }
24
- async function getCoreJudgments() {
25
- try {
26
- const judgmentPath = path.join(REPO_ROOT, "src", "bollharness-integration", "context-router-judgment.js");
27
- if (!fs.existsSync(judgmentPath)) {
28
- return "";
29
- }
30
- const { getCoreJudgmentsForSession } = await import(judgmentPath);
31
- return await getCoreJudgmentsForSession(0.9);
32
- }
33
- catch (e) {
34
- console.error("[Gate Judgment] Failed to load core judgments:", e);
35
- return "";
36
- }
37
- }
38
- async function getGateJudgments(gate) {
39
- try {
40
- const judgmentPath = path.join(REPO_ROOT, "src", "bollharness-integration", "context-router-judgment.js");
41
- if (!fs.existsSync(judgmentPath)) {
42
- return "";
43
- }
44
- const { generateJudgmentInjection } = await import(judgmentPath);
45
- return await generateJudgmentInjection(".", gate);
46
- }
47
- catch (e) {
48
- console.error("[Gate Judgment] Failed to load gate judgments:", e);
49
- return "";
50
- }
51
- }
52
- async function getContextChainInjection(gate) {
53
- try {
54
- const chainPath = path.join(REPO_ROOT, "src", "bollharness-integration", "context-chain-router.js");
55
- if (!fs.existsSync(chainPath)) {
56
- return "";
57
- }
58
- const { generateContextChainInjection } = await import(chainPath);
59
- return await generateContextChainInjection(gate);
60
- }
61
- catch (e) {
62
- console.error("[Gate Judgment] Failed to load context chains:", e);
63
- return "";
64
- }
65
- }
66
- export async function main() {
67
- const gate = getCurrentGate();
68
- const INJECT_GATES = [0, 3];
69
- if (!INJECT_GATES.includes(gate)) {
70
- process.exit(0);
71
- }
72
- const judgments = gate === 0
73
- ? await getCoreJudgments()
74
- : await getGateJudgments(gate);
75
- const chains = await getContextChainInjection(gate);
76
- if (judgments || chains) {
77
- process.stdout.write("\n");
78
- if (judgments) {
79
- process.stdout.write(judgments + "\n\n");
80
- }
81
- if (chains) {
82
- process.stdout.write(chains + "\n");
83
- }
84
- }
85
- process.exit(0);
86
- }
87
- if (require.main === module) {
88
- main().catch((e) => {
89
- console.error("[Gate Judgment] Error:", e);
90
- process.exit(1);
91
- });
92
- }
@@ -1,63 +0,0 @@
1
- import * as fs from "fs";
2
- import * as path from "path";
3
- const REPO_ROOT = process.cwd();
4
- async function getGateJudgments(gate, filePath = ".") {
5
- try {
6
- const judgmentPath = path.join(REPO_ROOT, "src", "bollharness-integration", "context-router-judgment.js");
7
- if (!fs.existsSync(judgmentPath)) {
8
- return "";
9
- }
10
- const { generateJudgmentInjection } = await import(judgmentPath);
11
- return await generateJudgmentInjection(filePath, gate);
12
- }
13
- catch (e) {
14
- console.error("[Gate Transition Judgment] Failed to load judgments:", e);
15
- return "";
16
- }
17
- }
18
- async function getContextChainInjection(gate) {
19
- try {
20
- const chainPath = path.join(REPO_ROOT, "src", "bollharness-integration", "context-chain-router.js");
21
- if (!fs.existsSync(chainPath)) {
22
- return "";
23
- }
24
- const { generateContextChainInjection } = await import(chainPath);
25
- return await generateContextChainInjection(gate);
26
- }
27
- catch (e) {
28
- console.error("[Gate Transition Judgment] Failed to load context chains:", e);
29
- return "";
30
- }
31
- }
32
- export async function main() {
33
- const args = process.argv.slice(2);
34
- const envGate = process.env.BOLL_GATE_TO;
35
- const gate = args[0]
36
- ? parseInt(args[0], 10)
37
- : envGate
38
- ? parseInt(envGate, 10)
39
- : 0;
40
- const filePath = args[1] || ".";
41
- const INJECT_GATES = [0, 3];
42
- if (!INJECT_GATES.includes(gate)) {
43
- process.exit(0);
44
- }
45
- const judgments = await getGateJudgments(gate, filePath);
46
- const chains = await getContextChainInjection(gate);
47
- if (judgments || chains) {
48
- process.stdout.write("\n");
49
- if (judgments) {
50
- process.stdout.write(judgments + "\n\n");
51
- }
52
- if (chains) {
53
- process.stdout.write(chains + "\n");
54
- }
55
- }
56
- process.exit(0);
57
- }
58
- if (require.main === module) {
59
- main().catch((e) => {
60
- console.error("[Gate Transition Judgment] Error:", e);
61
- process.exit(1);
62
- });
63
- }
@@ -1,6 +0,0 @@
1
- export function main() {
2
- process.exit(0);
3
- }
4
- if (require.main === module) {
5
- main();
6
- }
@@ -1,6 +0,0 @@
1
- export function main() {
2
- process.exit(0);
3
- }
4
- if (require.main === module) {
5
- main();
6
- }
@@ -1,6 +0,0 @@
1
- export function main() {
2
- process.exit(0);
3
- }
4
- if (require.main === module) {
5
- main();
6
- }
@@ -1,6 +0,0 @@
1
- export function main() {
2
- process.exit(0);
3
- }
4
- if (require.main === module) {
5
- main();
6
- }
@@ -1,6 +0,0 @@
1
- export function main() {
2
- process.exit(0);
3
- }
4
- if (require.main === module) {
5
- main();
6
- }
@@ -1,73 +0,0 @@
1
- import * as fs from "fs";
2
- import * as path from "path";
3
- const LOOP_THRESHOLD = 5;
4
- const STATE_DIR = ".boll/guard";
5
- const STATE_FILE_PREFIX = "loop-";
6
- const TTL_SECONDS = 3600;
7
- function getStateFile() {
8
- const pid = process.ppid;
9
- return path.join(STATE_DIR, `${STATE_FILE_PREFIX}${pid}.json`);
10
- }
11
- function loadState() {
12
- const stateFile = getStateFile();
13
- if (!fs.existsSync(stateFile))
14
- return {};
15
- try {
16
- const data = JSON.parse(fs.readFileSync(stateFile, "utf-8"));
17
- if (Date.now() / 1000 - data._ts > TTL_SECONDS) {
18
- return {};
19
- }
20
- return data;
21
- }
22
- catch (exc) {
23
- process.stderr.write(`[loop-detection] corrupt state ${stateFile}: ${exc}; resetting\n`);
24
- try {
25
- fs.unlinkSync(stateFile);
26
- }
27
- catch { }
28
- return {};
29
- }
30
- }
31
- function saveState(state) {
32
- try {
33
- if (!fs.existsSync(STATE_DIR)) {
34
- fs.mkdirSync(STATE_DIR, { recursive: true });
35
- }
36
- state._ts = Date.now() / 1000;
37
- fs.writeFileSync(getStateFile(), JSON.stringify(state), "utf-8");
38
- }
39
- catch (exc) {
40
- process.stderr.write(`[loop-detection] save_state OSError: ${exc}; counter not persisted\n`);
41
- }
42
- }
43
- export function postToolUseInject(message) {
44
- process.stdout.write(`\n\n## Loop Detection\n\n${message}\n`);
45
- }
46
- export function main() {
47
- let event;
48
- try {
49
- event = JSON.parse(fs.readFileSync(0, "utf-8") || "{}");
50
- }
51
- catch {
52
- return;
53
- }
54
- const toolName = event.tool_name || "";
55
- const toolInput = event.tool_input || {};
56
- if (!["Write", "Edit"].includes(toolName))
57
- return;
58
- const filePath = toolInput.file_path || "";
59
- if (!filePath)
60
- return;
61
- const state = loadState();
62
- const counts = state.counts || {};
63
- counts[filePath] = (counts[filePath] || 0) + 1;
64
- state.counts = counts;
65
- saveState(state);
66
- const count = counts[filePath];
67
- if (count >= LOOP_THRESHOLD) {
68
- postToolUseInject(`[LoopDetection] 你已经编辑 ${filePath} ${count} 次了。考虑换一个方法或退一步重新思考整体方案。[来源: LangChain LoopDetection middleware]`);
69
- }
70
- }
71
- if (require.main === module) {
72
- main();
73
- }
@@ -1,6 +0,0 @@
1
- export function main() {
2
- process.exit(0);
3
- }
4
- if (require.main === module) {
5
- main();
6
- }
@@ -1,6 +0,0 @@
1
- export function main() {
2
- process.exit(0);
3
- }
4
- if (require.main === module) {
5
- main();
6
- }
@@ -1,6 +0,0 @@
1
- export function main() {
2
- process.exit(0);
3
- }
4
- if (require.main === module) {
5
- main();
6
- }
@@ -1,108 +0,0 @@
1
- import * as fs from "fs";
2
- import * as path from "path";
3
- const REPO_ROOT = process.cwd();
4
- const STATE_FILE = path.join(REPO_ROOT, ".boll", "state", "risk-snapshot.json");
5
- const RISK_ORDER = { R0: 0, R1: 1, R2: 2, R3: 3, R4: 4 };
6
- const RISK_ELEVATORS = [
7
- ["scripts/deploy", "R4"],
8
- ["backend/product/db/migration", "R4"],
9
- ["Bolloon.md", "R3"],
10
- [".boll/settings.json", "R3"],
11
- [".boll/skills/", "R3"],
12
- [".boll/rules/", "R3"],
13
- [".boll/agents/", "R3"],
14
- ["scripts/hooks/", "R3"],
15
- ["scripts/checks/", "R3"],
16
- [".github/", "R3"],
17
- ["backend/product/routes/", "R2"],
18
- ["backend/product/config.py", "R2"],
19
- ["backend/server.py", "R2"],
20
- ["docs/decisions/ADR-", "R2"],
21
- ["mcp-server/", "R2"],
22
- ["mcp-server-node/", "R2"],
23
- ["website/app/", "R2"],
24
- ];
25
- function readPayload() {
26
- try {
27
- const raw = fs.readFileSync(0, "utf-8");
28
- return raw ? JSON.parse(raw) : {};
29
- }
30
- catch {
31
- return {};
32
- }
33
- }
34
- function loadSnapshot() {
35
- if (fs.existsSync(STATE_FILE)) {
36
- try {
37
- return JSON.parse(fs.readFileSync(STATE_FILE, "utf-8"));
38
- }
39
- catch { }
40
- }
41
- return {
42
- risk_level: "R0",
43
- risk_sources: [],
44
- ratchet_locked: false,
45
- files_touched: [],
46
- };
47
- }
48
- function saveSnapshot(snap) {
49
- const dir = path.dirname(STATE_FILE);
50
- if (!fs.existsSync(dir)) {
51
- fs.mkdirSync(dir, { recursive: true });
52
- }
53
- fs.writeFileSync(STATE_FILE, JSON.stringify(snap, null, 2) + "\n", "utf-8");
54
- }
55
- function classifyFile(filePath) {
56
- for (const [pattern, risk] of RISK_ELEVATORS) {
57
- if (filePath.startsWith(pattern))
58
- return risk;
59
- }
60
- return "R0";
61
- }
62
- export function main() {
63
- const payload = readPayload();
64
- const toolInput = payload.tool_input || {};
65
- const filePath = toolInput.file_path || "";
66
- if (!filePath)
67
- return;
68
- let relPath;
69
- try {
70
- relPath = path.relative(REPO_ROOT, filePath);
71
- }
72
- catch {
73
- relPath = filePath;
74
- }
75
- const fileRisk = classifyFile(relPath);
76
- const snap = loadSnapshot();
77
- const currentLevel = snap.risk_level || "R0";
78
- const currentOrder = RISK_ORDER[currentLevel] ?? 0;
79
- const newOrder = RISK_ORDER[fileRisk] ?? 0;
80
- const filesTouched = snap.files_touched || [];
81
- if (!filesTouched.includes(relPath)) {
82
- filesTouched.push(relPath);
83
- }
84
- let finalRisk = fileRisk;
85
- let finalOrder = newOrder;
86
- if (filesTouched.length >= 4 && currentOrder < RISK_ORDER.R1) {
87
- finalRisk = "R1";
88
- finalOrder = RISK_ORDER.R1;
89
- }
90
- if (finalOrder > currentOrder) {
91
- snap.risk_level = finalRisk;
92
- snap.ratchet_locked = true;
93
- const sources = snap.risk_sources || [];
94
- sources.push({
95
- type: "path",
96
- value: relPath,
97
- elevated_to: finalRisk,
98
- ts: new Date().toISOString(),
99
- });
100
- snap.risk_sources = sources;
101
- }
102
- snap.files_touched = filesTouched;
103
- snap.last_updated = new Date().toISOString();
104
- saveSnapshot(snap);
105
- }
106
- if (require.main === module) {
107
- main();
108
- }
@@ -1,6 +0,0 @@
1
- export function main() {
2
- process.exit(0);
3
- }
4
- if (require.main === module) {
5
- main();
6
- }
@@ -1,7 +0,0 @@
1
- const REPO_ROOT = process.cwd();
2
- export function main() {
3
- process.exit(0);
4
- }
5
- if (require.main === module) {
6
- main();
7
- }
@@ -1,7 +0,0 @@
1
- const REPO_ROOT = process.cwd();
2
- export function main() {
3
- process.exit(0);
4
- }
5
- if (require.main === module) {
6
- main();
7
- }
@@ -1,7 +0,0 @@
1
- const REPO_ROOT = process.cwd();
2
- export function main() {
3
- process.exit(0);
4
- }
5
- if (require.main === module) {
6
- main();
7
- }
@@ -1,7 +0,0 @@
1
- const REPO_ROOT = process.cwd();
2
- export function main() {
3
- process.stdout.write("Session start toolkit reminder.\n");
4
- }
5
- if (require.main === module) {
6
- main();
7
- }