@bolloon/bolloon-agent 0.4.27 → 0.4.29

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 (443) hide show
  1. package/bin/bolloon.cjs +18 -148
  2. package/bin/bolloon.cmd +6 -3
  3. package/dist/agents/execution-supervisor.js +21 -0
  4. package/dist/agents/pi-sdk-tools.js +3 -1
  5. package/dist/agents/pi-sdk.js +4 -1
  6. package/dist/agents/task/local-seller.js +149 -0
  7. package/dist/agents/task/report-card.js +146 -0
  8. package/dist/agents/task/resource-advisor.js +182 -0
  9. package/dist/agents/task/task-budget.js +103 -0
  10. package/dist/agents/task/task-runner.js +618 -0
  11. package/dist/agents/x402/goal-run-bridge.js +10 -6
  12. package/dist/agents/x402/resource-contract.js +12 -1
  13. package/dist/cli/update-commands.js +349 -0
  14. package/dist/cli-entry.js +133 -53
  15. package/dist/electron-build/agents/agent-gateway.js +169 -0
  16. package/dist/electron-build/agents/agent-gateway.js.map +1 -0
  17. package/dist/electron-build/agents/agent-identity-store.js +212 -0
  18. package/dist/electron-build/agents/agent-identity-store.js.map +1 -0
  19. package/dist/electron-build/agents/agent-identity.js +196 -0
  20. package/dist/electron-build/agents/agent-identity.js.map +1 -0
  21. package/dist/electron-build/agents/agent-manifest-protocol.js +151 -0
  22. package/dist/electron-build/agents/agent-manifest-protocol.js.map +1 -0
  23. package/dist/electron-build/agents/agent-registry.js +217 -0
  24. package/dist/electron-build/agents/agent-registry.js.map +1 -0
  25. package/dist/electron-build/agents/agent-reputation.js +60 -0
  26. package/dist/electron-build/agents/agent-reputation.js.map +1 -0
  27. package/dist/electron-build/agents/agent-service-client.js +186 -0
  28. package/dist/electron-build/agents/agent-service-client.js.map +1 -0
  29. package/dist/electron-build/agents/browser-cdp.js +765 -0
  30. package/dist/electron-build/agents/browser-cdp.js.map +1 -0
  31. package/dist/electron-build/agents/computer-use.js +341 -0
  32. package/dist/electron-build/agents/computer-use.js.map +1 -0
  33. package/dist/electron-build/agents/constraint-layer.js +210 -0
  34. package/dist/electron-build/agents/constraint-layer.js.map +1 -0
  35. package/dist/electron-build/agents/decision-store.js +292 -0
  36. package/dist/electron-build/agents/decision-store.js.map +1 -0
  37. package/dist/electron-build/agents/deny-pipeline.js +125 -0
  38. package/dist/electron-build/agents/deny-pipeline.js.map +1 -0
  39. package/dist/electron-build/agents/economic-policy.js +172 -0
  40. package/dist/electron-build/agents/economic-policy.js.map +1 -0
  41. package/dist/electron-build/agents/error-classifier.js +125 -0
  42. package/dist/electron-build/agents/error-classifier.js.map +1 -0
  43. package/dist/electron-build/agents/execution-supervisor.js +539 -0
  44. package/dist/electron-build/agents/execution-supervisor.js.map +1 -0
  45. package/dist/electron-build/agents/external-events.js +171 -0
  46. package/dist/electron-build/agents/external-events.js.map +1 -0
  47. package/dist/electron-build/agents/gateway-join.js +315 -0
  48. package/dist/electron-build/agents/gateway-join.js.map +1 -0
  49. package/dist/electron-build/agents/gateway-network.js +505 -0
  50. package/dist/electron-build/agents/gateway-network.js.map +1 -0
  51. package/dist/electron-build/agents/goal-criteria.js +133 -0
  52. package/dist/electron-build/agents/goal-criteria.js.map +1 -0
  53. package/dist/electron-build/agents/goal-resume.js +364 -0
  54. package/dist/electron-build/agents/goal-resume.js.map +1 -0
  55. package/dist/electron-build/agents/goal-store.js +587 -0
  56. package/dist/electron-build/agents/goal-store.js.map +1 -0
  57. package/dist/electron-build/agents/intent-classifier.js +104 -0
  58. package/dist/electron-build/agents/intent-classifier.js.map +1 -0
  59. package/dist/electron-build/agents/iroh-secret.js +70 -0
  60. package/dist/electron-build/agents/iroh-secret.js.map +1 -0
  61. package/dist/electron-build/agents/loop-review.js +101 -0
  62. package/dist/electron-build/agents/loop-review.js.map +1 -0
  63. package/dist/electron-build/agents/memory-recall.js +154 -0
  64. package/dist/electron-build/agents/memory-recall.js.map +1 -0
  65. package/dist/electron-build/agents/p2p-document-tools.js +328 -0
  66. package/dist/electron-build/agents/p2p-document-tools.js.map +1 -0
  67. package/dist/electron-build/agents/parse-tool-call.js +564 -0
  68. package/dist/electron-build/agents/parse-tool-call.js.map +1 -0
  69. package/dist/electron-build/agents/patch-tool.js +205 -0
  70. package/dist/electron-build/agents/patch-tool.js.map +1 -0
  71. package/dist/electron-build/agents/payment-approval.js +183 -0
  72. package/dist/electron-build/agents/payment-approval.js.map +1 -0
  73. package/dist/electron-build/agents/payment-gate.js +139 -0
  74. package/dist/electron-build/agents/payment-gate.js.map +1 -0
  75. package/dist/electron-build/agents/permission-mode.js +124 -0
  76. package/dist/electron-build/agents/permission-mode.js.map +1 -0
  77. package/dist/electron-build/agents/pi-harness.js +268 -0
  78. package/dist/electron-build/agents/pi-harness.js.map +1 -0
  79. package/dist/electron-build/agents/pi-sdk-session-factory.js +117 -0
  80. package/dist/electron-build/agents/pi-sdk-session-factory.js.map +1 -0
  81. package/dist/electron-build/agents/pi-sdk-session-manager.js +335 -0
  82. package/dist/electron-build/agents/pi-sdk-session-manager.js.map +1 -0
  83. package/dist/electron-build/agents/pi-sdk-tools.js +4042 -0
  84. package/dist/electron-build/agents/pi-sdk-tools.js.map +1 -0
  85. package/dist/electron-build/agents/pi-sdk-types.js +17 -0
  86. package/dist/electron-build/agents/pi-sdk-types.js.map +1 -0
  87. package/dist/electron-build/agents/pi-sdk.js +3325 -0
  88. package/dist/electron-build/agents/pi-sdk.js.map +1 -0
  89. package/dist/electron-build/agents/plan-store.js +212 -0
  90. package/dist/electron-build/agents/plan-store.js.map +1 -0
  91. package/dist/electron-build/agents/pre-tool-validator.js +200 -0
  92. package/dist/electron-build/agents/pre-tool-validator.js.map +1 -0
  93. package/dist/electron-build/agents/process-runner.js +148 -0
  94. package/dist/electron-build/agents/process-runner.js.map +1 -0
  95. package/dist/electron-build/agents/react-loop.js +131 -0
  96. package/dist/electron-build/agents/react-loop.js.map +1 -0
  97. package/dist/electron-build/agents/resource-store.js +180 -0
  98. package/dist/electron-build/agents/resource-store.js.map +1 -0
  99. package/dist/electron-build/agents/resource-token.js +118 -0
  100. package/dist/electron-build/agents/resource-token.js.map +1 -0
  101. package/dist/electron-build/agents/resource-wallet.js +84 -0
  102. package/dist/electron-build/agents/resource-wallet.js.map +1 -0
  103. package/dist/electron-build/agents/run-store.js +854 -0
  104. package/dist/electron-build/agents/run-store.js.map +1 -0
  105. package/dist/electron-build/agents/runner-resolver.js +267 -0
  106. package/dist/electron-build/agents/runner-resolver.js.map +1 -0
  107. package/dist/electron-build/agents/session-store.js +294 -0
  108. package/dist/electron-build/agents/session-store.js.map +1 -0
  109. package/dist/electron-build/agents/shell-guard.js +465 -0
  110. package/dist/electron-build/agents/shell-guard.js.map +1 -0
  111. package/dist/electron-build/agents/shell-tool.js +102 -0
  112. package/dist/electron-build/agents/shell-tool.js.map +1 -0
  113. package/dist/electron-build/agents/skill-loader.js +216 -0
  114. package/dist/electron-build/agents/skill-loader.js.map +1 -0
  115. package/dist/electron-build/agents/skill-readiness.js +174 -0
  116. package/dist/electron-build/agents/skill-readiness.js.map +1 -0
  117. package/dist/electron-build/agents/skill-share.js +394 -0
  118. package/dist/electron-build/agents/skill-share.js.map +1 -0
  119. package/dist/electron-build/agents/skill-supervisor-link.js +75 -0
  120. package/dist/electron-build/agents/skill-supervisor-link.js.map +1 -0
  121. package/dist/electron-build/agents/skill-writer.js +347 -0
  122. package/dist/electron-build/agents/skill-writer.js.map +1 -0
  123. package/dist/electron-build/agents/skills-manager.js +763 -0
  124. package/dist/electron-build/agents/skills-manager.js.map +1 -0
  125. package/dist/electron-build/agents/supervisor-host.js +294 -0
  126. package/dist/electron-build/agents/supervisor-host.js.map +1 -0
  127. package/dist/electron-build/agents/task/local-seller.js +188 -0
  128. package/dist/electron-build/agents/task/local-seller.js.map +1 -0
  129. package/dist/electron-build/agents/task/report-card.js +152 -0
  130. package/dist/electron-build/agents/task/report-card.js.map +1 -0
  131. package/dist/electron-build/agents/task/resource-advisor.js +222 -0
  132. package/dist/electron-build/agents/task/resource-advisor.js.map +1 -0
  133. package/dist/electron-build/agents/task/task-budget.js +111 -0
  134. package/dist/electron-build/agents/task/task-budget.js.map +1 -0
  135. package/dist/electron-build/agents/task/task-runner.js +670 -0
  136. package/dist/electron-build/agents/task/task-runner.js.map +1 -0
  137. package/dist/electron-build/agents/task-state.js +266 -0
  138. package/dist/electron-build/agents/task-state.js.map +1 -0
  139. package/dist/electron-build/agents/tool-registry.js +141 -0
  140. package/dist/electron-build/agents/tool-registry.js.map +1 -0
  141. package/dist/electron-build/agents/treasury-bridge.js +165 -0
  142. package/dist/electron-build/agents/treasury-bridge.js.map +1 -0
  143. package/dist/electron-build/agents/user-questions.js +223 -0
  144. package/dist/electron-build/agents/user-questions.js.map +1 -0
  145. package/dist/electron-build/agents/verify-recipe.js +90 -0
  146. package/dist/electron-build/agents/verify-recipe.js.map +1 -0
  147. package/dist/electron-build/agents/workflow-engine.js +222 -0
  148. package/dist/electron-build/agents/workflow-engine.js.map +1 -0
  149. package/dist/electron-build/agents/workflow-pivot-loop.js +988 -0
  150. package/dist/electron-build/agents/workflow-pivot-loop.js.map +1 -0
  151. package/dist/electron-build/agents/write-staging.js +133 -0
  152. package/dist/electron-build/agents/write-staging.js.map +1 -0
  153. package/dist/electron-build/agents/x402/goal-run-bridge.js +115 -0
  154. package/dist/electron-build/agents/x402/goal-run-bridge.js.map +1 -0
  155. package/dist/electron-build/agents/x402/milestone-settlement.js +163 -0
  156. package/dist/electron-build/agents/x402/milestone-settlement.js.map +1 -0
  157. package/dist/electron-build/agents/x402/paid-info-protocol.js +274 -0
  158. package/dist/electron-build/agents/x402/paid-info-protocol.js.map +1 -0
  159. package/dist/electron-build/agents/x402/paid-info-store.js +409 -0
  160. package/dist/electron-build/agents/x402/paid-info-store.js.map +1 -0
  161. package/dist/electron-build/agents/x402/paid-info-tools.js +346 -0
  162. package/dist/electron-build/agents/x402/paid-info-tools.js.map +1 -0
  163. package/dist/electron-build/agents/x402/payment-recovery.js +330 -0
  164. package/dist/electron-build/agents/x402/payment-recovery.js.map +1 -0
  165. package/dist/electron-build/agents/x402/resource-contract.js +533 -0
  166. package/dist/electron-build/agents/x402/resource-contract.js.map +1 -0
  167. package/dist/electron-build/agents/x402/settlement-state.js +432 -0
  168. package/dist/electron-build/agents/x402/settlement-state.js.map +1 -0
  169. package/dist/electron-build/agents/x402/trade.js +294 -0
  170. package/dist/electron-build/agents/x402/trade.js.map +1 -0
  171. package/dist/electron-build/agents/x402/transaction-protocol.js +109 -0
  172. package/dist/electron-build/agents/x402/transaction-protocol.js.map +1 -0
  173. package/dist/electron-build/agents/x402/transaction-store.js +404 -0
  174. package/dist/electron-build/agents/x402/transaction-store.js.map +1 -0
  175. package/dist/electron-build/agents/x402/x402Pay.js +377 -0
  176. package/dist/electron-build/agents/x402/x402Pay.js.map +1 -0
  177. package/dist/electron-build/bollharness-integration/context-router-judgment.js +269 -0
  178. package/dist/electron-build/bollharness-integration/context-router-judgment.js.map +1 -0
  179. package/dist/electron-build/bollharness-integration/context-router.js +584 -0
  180. package/dist/electron-build/bollharness-integration/context-router.js.map +1 -0
  181. package/dist/electron-build/bollharness-integration/gate-state-machine.js +362 -0
  182. package/dist/electron-build/bollharness-integration/gate-state-machine.js.map +1 -0
  183. package/dist/electron-build/bollharness-integration/gate-transition-hooks.js +136 -0
  184. package/dist/electron-build/bollharness-integration/gate-transition-hooks.js.map +1 -0
  185. package/dist/electron-build/bollharness-integration/guard-checker.js +400 -0
  186. package/dist/electron-build/bollharness-integration/guard-checker.js.map +1 -0
  187. package/dist/electron-build/bollharness-integration/index.js +123 -0
  188. package/dist/electron-build/bollharness-integration/index.js.map +1 -0
  189. package/dist/electron-build/bollharness-integration/integration.js +531 -0
  190. package/dist/electron-build/bollharness-integration/integration.js.map +1 -0
  191. package/dist/electron-build/bollharness-integration/skill-adapter.js +608 -0
  192. package/dist/electron-build/bollharness-integration/skill-adapter.js.map +1 -0
  193. package/dist/electron-build/bootstrap/bootstrap.js +173 -0
  194. package/dist/electron-build/bootstrap/bootstrap.js.map +1 -0
  195. package/dist/electron-build/bootstrap/context-collector.js +358 -0
  196. package/dist/electron-build/bootstrap/context-collector.js.map +1 -0
  197. package/dist/electron-build/bootstrap/context-hierarchy.js +262 -0
  198. package/dist/electron-build/bootstrap/context-hierarchy.js.map +1 -0
  199. package/dist/electron-build/bootstrap/context-manager.js +211 -0
  200. package/dist/electron-build/bootstrap/context-manager.js.map +1 -0
  201. package/dist/electron-build/bootstrap/context-os.js +277 -0
  202. package/dist/electron-build/bootstrap/context-os.js.map +1 -0
  203. package/dist/electron-build/bootstrap/event-log.js +203 -0
  204. package/dist/electron-build/bootstrap/event-log.js.map +1 -0
  205. package/dist/electron-build/bootstrap/exhaust-scrubber.js +277 -0
  206. package/dist/electron-build/bootstrap/exhaust-scrubber.js.map +1 -0
  207. package/dist/electron-build/bootstrap/lifecycle-hooks.js +282 -0
  208. package/dist/electron-build/bootstrap/lifecycle-hooks.js.map +1 -0
  209. package/dist/electron-build/bootstrap/memory-compressor.js +377 -0
  210. package/dist/electron-build/bootstrap/memory-compressor.js.map +1 -0
  211. package/dist/electron-build/bootstrap/persona-loader.js +219 -0
  212. package/dist/electron-build/bootstrap/persona-loader.js.map +1 -0
  213. package/dist/electron-build/bootstrap/project-context.js +162 -0
  214. package/dist/electron-build/bootstrap/project-context.js.map +1 -0
  215. package/dist/electron-build/bootstrap/project-state.js +205 -0
  216. package/dist/electron-build/bootstrap/project-state.js.map +1 -0
  217. package/dist/electron-build/bootstrap/session-window.js +162 -0
  218. package/dist/electron-build/bootstrap/session-window.js.map +1 -0
  219. package/dist/electron-build/bootstrap/vector-index.js +291 -0
  220. package/dist/electron-build/bootstrap/vector-index.js.map +1 -0
  221. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/cancelOrder.js +22 -0
  222. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/cancelOrder.js.map +1 -0
  223. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/clobShared.js +86 -0
  224. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/clobShared.js.map +1 -0
  225. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/createOrder.js +37 -0
  226. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/createOrder.js.map +1 -0
  227. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/getMarket.js +20 -0
  228. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/getMarket.js.map +1 -0
  229. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/getOrders.js +29 -0
  230. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/getOrders.js.map +1 -0
  231. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/listMarkets.js +28 -0
  232. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/listMarkets.js.map +1 -0
  233. package/dist/electron-build/constraint-runtime/src/tools/SafeSDK/deploySafe.js +10 -0
  234. package/dist/electron-build/constraint-runtime/src/tools/SafeSDK/deploySafe.js.map +1 -0
  235. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/autoPay.js +68 -0
  236. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/autoPay.js.map +1 -0
  237. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/createWallet.js +14 -0
  238. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/createWallet.js.map +1 -0
  239. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/getBalance.js +17 -0
  240. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/getBalance.js.map +1 -0
  241. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/importWallet.js +59 -0
  242. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/importWallet.js.map +1 -0
  243. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/sendTransaction.js +29 -0
  244. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/sendTransaction.js.map +1 -0
  245. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/signMessage.js +14 -0
  246. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/signMessage.js.map +1 -0
  247. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/transferToken.js +29 -0
  248. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/transferToken.js.map +1 -0
  249. package/dist/electron-build/constraints/index.js +11 -0
  250. package/dist/electron-build/constraints/index.js.map +1 -0
  251. package/dist/electron-build/context-compaction/auto-compact.js +182 -0
  252. package/dist/electron-build/context-compaction/auto-compact.js.map +1 -0
  253. package/dist/electron-build/context-compaction/budget-gate.js +32 -0
  254. package/dist/electron-build/context-compaction/budget-gate.js.map +1 -0
  255. package/dist/electron-build/context-compaction/budget-reduce.js +39 -0
  256. package/dist/electron-build/context-compaction/budget-reduce.js.map +1 -0
  257. package/dist/electron-build/context-compaction/context-collapse.js +71 -0
  258. package/dist/electron-build/context-compaction/context-collapse.js.map +1 -0
  259. package/dist/electron-build/context-compaction/index.js +38 -0
  260. package/dist/electron-build/context-compaction/index.js.map +1 -0
  261. package/dist/electron-build/context-compaction/microcompact.js +55 -0
  262. package/dist/electron-build/context-compaction/microcompact.js.map +1 -0
  263. package/dist/electron-build/context-compaction/pipeline.js +128 -0
  264. package/dist/electron-build/context-compaction/pipeline.js.map +1 -0
  265. package/dist/electron-build/context-compaction/snip.js +50 -0
  266. package/dist/electron-build/context-compaction/snip.js.map +1 -0
  267. package/dist/electron-build/context-compaction/token-estimator.js +40 -0
  268. package/dist/electron-build/context-compaction/token-estimator.js.map +1 -0
  269. package/dist/electron-build/context-compaction/types.js +21 -0
  270. package/dist/electron-build/context-compaction/types.js.map +1 -0
  271. package/dist/electron-build/cron/tick-lock.js +247 -0
  272. package/dist/electron-build/cron/tick-lock.js.map +1 -0
  273. package/dist/electron-build/documents/reader.js +131 -0
  274. package/dist/electron-build/documents/reader.js.map +1 -0
  275. package/dist/electron-build/documents/store.js +220 -0
  276. package/dist/electron-build/documents/store.js.map +1 -0
  277. package/dist/electron-build/external-engines/delegate-handle.js +76 -0
  278. package/dist/electron-build/external-engines/delegate-handle.js.map +1 -0
  279. package/dist/electron-build/external-engines/delegate.js +225 -0
  280. package/dist/electron-build/external-engines/delegate.js.map +1 -0
  281. package/dist/electron-build/external-engines/discovery.js +448 -0
  282. package/dist/electron-build/external-engines/discovery.js.map +1 -0
  283. package/dist/electron-build/external-engines/types.js +13 -0
  284. package/dist/electron-build/external-engines/types.js.map +1 -0
  285. package/dist/electron-build/hooks/hooks-engine.js +367 -0
  286. package/dist/electron-build/hooks/hooks-engine.js.map +1 -0
  287. package/dist/electron-build/judgeness/reflect.js +100 -0
  288. package/dist/electron-build/judgeness/reflect.js.map +1 -0
  289. package/dist/electron-build/judgeness/store.js +536 -0
  290. package/dist/electron-build/judgeness/store.js.map +1 -0
  291. package/dist/electron-build/judgeness/types.js +21 -0
  292. package/dist/electron-build/judgeness/types.js.map +1 -0
  293. package/dist/electron-build/llm/config-store.js +551 -0
  294. package/dist/electron-build/llm/config-store.js.map +1 -0
  295. package/dist/electron-build/llm/error-lessons.js +76 -0
  296. package/dist/electron-build/llm/error-lessons.js.map +1 -0
  297. package/dist/electron-build/llm/pi-ai.js +830 -0
  298. package/dist/electron-build/llm/pi-ai.js.map +1 -0
  299. package/dist/electron-build/llm/system-prompt/registry.js +318 -0
  300. package/dist/electron-build/llm/system-prompt/registry.js.map +1 -0
  301. package/dist/electron-build/llm/system-prompt/strip-hibsml.js +55 -0
  302. package/dist/electron-build/llm/system-prompt/strip-hibsml.js.map +1 -0
  303. package/dist/electron-build/locales/en.js +32 -0
  304. package/dist/electron-build/locales/en.js.map +1 -0
  305. package/dist/electron-build/locales/zh.js +30 -0
  306. package/dist/electron-build/locales/zh.js.map +1 -0
  307. package/dist/electron-build/lsp/lsp-manager.js +327 -0
  308. package/dist/electron-build/lsp/lsp-manager.js.map +1 -0
  309. package/dist/electron-build/lsp/lsp-tools.js +226 -0
  310. package/dist/electron-build/lsp/lsp-tools.js.map +1 -0
  311. package/dist/electron-build/migration/external-agent-migrator.js +451 -0
  312. package/dist/electron-build/migration/external-agent-migrator.js.map +1 -0
  313. package/dist/electron-build/network/agent-network.js +775 -0
  314. package/dist/electron-build/network/agent-network.js.map +1 -0
  315. package/dist/electron-build/network/goal-event-bridge.js +62 -0
  316. package/dist/electron-build/network/goal-event-bridge.js.map +1 -0
  317. package/dist/electron-build/network/iroh-integration.js +117 -0
  318. package/dist/electron-build/network/iroh-integration.js.map +1 -0
  319. package/dist/electron-build/network/iroh-transport.js +550 -0
  320. package/dist/electron-build/network/iroh-transport.js.map +1 -0
  321. package/dist/electron-build/network/p2p.js +1103 -0
  322. package/dist/electron-build/network/p2p.js.map +1 -0
  323. package/dist/electron-build/network/storage/adapters/json-adapter.js +416 -0
  324. package/dist/electron-build/network/storage/adapters/json-adapter.js.map +1 -0
  325. package/dist/electron-build/network/storage/types.js +18 -0
  326. package/dist/electron-build/network/storage/types.js.map +1 -0
  327. package/dist/electron-build/orbitdb/agent-tools.js +402 -0
  328. package/dist/electron-build/orbitdb/agent-tools.js.map +1 -0
  329. package/dist/electron-build/orbitdb/cid-database.js +284 -0
  330. package/dist/electron-build/orbitdb/cid-database.js.map +1 -0
  331. package/dist/electron-build/orbitdb/context-store.js +99 -0
  332. package/dist/electron-build/orbitdb/context-store.js.map +1 -0
  333. package/dist/electron-build/orbitdb/ipfs-node.js +120 -0
  334. package/dist/electron-build/orbitdb/ipfs-node.js.map +1 -0
  335. package/dist/electron-build/orbitdb/kanban-store.js +299 -0
  336. package/dist/electron-build/orbitdb/kanban-store.js.map +1 -0
  337. package/dist/electron-build/orbitdb/task-store.js +155 -0
  338. package/dist/electron-build/orbitdb/task-store.js.map +1 -0
  339. package/dist/electron-build/orbitdb/trajectory-store.js +194 -0
  340. package/dist/electron-build/orbitdb/trajectory-store.js.map +1 -0
  341. package/dist/electron-build/orbitdb/ui-cid.js +77 -0
  342. package/dist/electron-build/orbitdb/ui-cid.js.map +1 -0
  343. package/dist/electron-build/pi-ecosystem-a2ui/index.js +89 -0
  344. package/dist/electron-build/pi-ecosystem-a2ui/index.js.map +1 -0
  345. package/dist/electron-build/pi-ecosystem-goals/index.js +512 -0
  346. package/dist/electron-build/pi-ecosystem-goals/index.js.map +1 -0
  347. package/dist/electron-build/pi-ecosystem-judgment/adaptive-scan.js +325 -0
  348. package/dist/electron-build/pi-ecosystem-judgment/adaptive-scan.js.map +1 -0
  349. package/dist/electron-build/pi-ecosystem-judgment/causal-judge.js +492 -0
  350. package/dist/electron-build/pi-ecosystem-judgment/causal-judge.js.map +1 -0
  351. package/dist/electron-build/pi-ecosystem-judgment/cleanup.js +167 -0
  352. package/dist/electron-build/pi-ecosystem-judgment/cleanup.js.map +1 -0
  353. package/dist/electron-build/pi-ecosystem-judgment/decision.js +321 -0
  354. package/dist/electron-build/pi-ecosystem-judgment/decision.js.map +1 -0
  355. package/dist/electron-build/pi-ecosystem-judgment/detect-hook.js +175 -0
  356. package/dist/electron-build/pi-ecosystem-judgment/detect-hook.js.map +1 -0
  357. package/dist/electron-build/pi-ecosystem-judgment/distill-prompt.js +232 -0
  358. package/dist/electron-build/pi-ecosystem-judgment/distill-prompt.js.map +1 -0
  359. package/dist/electron-build/pi-ecosystem-judgment/distillation.js +304 -0
  360. package/dist/electron-build/pi-ecosystem-judgment/distillation.js.map +1 -0
  361. package/dist/electron-build/pi-ecosystem-judgment/evolve-judgment.js +176 -0
  362. package/dist/electron-build/pi-ecosystem-judgment/evolve-judgment.js.map +1 -0
  363. package/dist/electron-build/pi-ecosystem-judgment/human-value-pipeline.js +65 -0
  364. package/dist/electron-build/pi-ecosystem-judgment/human-value-pipeline.js.map +1 -0
  365. package/dist/electron-build/pi-ecosystem-judgment/human-value-store.js +808 -0
  366. package/dist/electron-build/pi-ecosystem-judgment/human-value-store.js.map +1 -0
  367. package/dist/electron-build/pi-ecosystem-judgment/index.js +508 -0
  368. package/dist/electron-build/pi-ecosystem-judgment/index.js.map +1 -0
  369. package/dist/electron-build/pi-ecosystem-judgment/injection-gate.js +334 -0
  370. package/dist/electron-build/pi-ecosystem-judgment/injection-gate.js.map +1 -0
  371. package/dist/electron-build/pi-ecosystem-judgment/monitor-gate.js +228 -0
  372. package/dist/electron-build/pi-ecosystem-judgment/monitor-gate.js.map +1 -0
  373. package/dist/electron-build/pi-ecosystem-judgment/value-injection.js +598 -0
  374. package/dist/electron-build/pi-ecosystem-judgment/value-injection.js.map +1 -0
  375. package/dist/electron-build/pi-ecosystem-mcp/index.js +643 -0
  376. package/dist/electron-build/pi-ecosystem-mcp/index.js.map +1 -0
  377. package/dist/electron-build/pi-ecosystem-mcp/ui-tools.js +116 -0
  378. package/dist/electron-build/pi-ecosystem-mcp/ui-tools.js.map +1 -0
  379. package/dist/electron-build/pi-ecosystem-subagents/index.js +352 -0
  380. package/dist/electron-build/pi-ecosystem-subagents/index.js.map +1 -0
  381. package/dist/electron-build/security/builtin-guards.js +133 -0
  382. package/dist/electron-build/security/builtin-guards.js.map +1 -0
  383. package/dist/electron-build/security/context-router-tool.js +111 -0
  384. package/dist/electron-build/security/context-router-tool.js.map +1 -0
  385. package/dist/electron-build/security/input-scanner.js +263 -0
  386. package/dist/electron-build/security/input-scanner.js.map +1 -0
  387. package/dist/electron-build/security/react-harness.js +148 -0
  388. package/dist/electron-build/security/react-harness.js.map +1 -0
  389. package/dist/electron-build/security/tool-gate.js +287 -0
  390. package/dist/electron-build/security/tool-gate.js.map +1 -0
  391. package/dist/electron-build/setup/setup-store.js +648 -0
  392. package/dist/electron-build/setup/setup-store.js.map +1 -0
  393. package/dist/electron-build/social/channels/ChannelManager.js +444 -0
  394. package/dist/electron-build/social/channels/ChannelManager.js.map +1 -0
  395. package/dist/electron-build/social/channels/DiapChannelBridge.js +451 -0
  396. package/dist/electron-build/social/channels/DiapChannelBridge.js.map +1 -0
  397. package/dist/electron-build/social/channels/InterestMatcher.js +135 -0
  398. package/dist/electron-build/social/channels/InterestMatcher.js.map +1 -0
  399. package/dist/electron-build/social/channels/types.js +21 -0
  400. package/dist/electron-build/social/channels/types.js.map +1 -0
  401. package/dist/electron-build/social/global-shared-context.js +368 -0
  402. package/dist/electron-build/social/global-shared-context.js.map +1 -0
  403. package/dist/electron-build/social/heartbeat.js +882 -0
  404. package/dist/electron-build/social/heartbeat.js.map +1 -0
  405. package/dist/electron-build/storage/did-catalog-bridge.js +314 -0
  406. package/dist/electron-build/storage/did-catalog-bridge.js.map +1 -0
  407. package/dist/electron-build/storage/did-catalog.js +272 -0
  408. package/dist/electron-build/storage/did-catalog.js.map +1 -0
  409. package/dist/electron-build/utils/auto-update.js +140 -558
  410. package/dist/electron-build/utils/auto-update.js.map +1 -1
  411. package/dist/electron-build/utils/module-context.js +98 -0
  412. package/dist/electron-build/utils/module-context.js.map +1 -0
  413. package/dist/electron-build/utils/runtime-bootstrap.js +745 -0
  414. package/dist/electron-build/utils/runtime-bootstrap.js.map +1 -0
  415. package/dist/electron-build/utils/update-manager.js +770 -0
  416. package/dist/electron-build/utils/update-manager.js.map +1 -0
  417. package/dist/electron-build/utils/update-state.js +406 -0
  418. package/dist/electron-build/utils/update-state.js.map +1 -0
  419. package/dist/electron-build/utils/version-info.js +562 -0
  420. package/dist/electron-build/utils/version-info.js.map +1 -0
  421. package/dist/electron-build/web/i18n.js +146 -0
  422. package/dist/electron-build/web/i18n.js.map +1 -0
  423. package/dist/electron-build/web/routes-x402-info.js +232 -0
  424. package/dist/electron-build/web/routes-x402-info.js.map +1 -0
  425. package/dist/electron-build/web/server-storage.js +390 -0
  426. package/dist/electron-build/web/server-storage.js.map +1 -0
  427. package/dist/electron-build/web/server-types.js +52 -0
  428. package/dist/electron-build/web/server-types.js.map +1 -0
  429. package/dist/electron-build/web/task-deps.js +41 -0
  430. package/dist/electron-build/web/task-deps.js.map +1 -0
  431. package/dist/index.js +28 -27
  432. package/dist/llm/system-prompt/registry.js +6 -3
  433. package/dist/utils/auto-update.js +138 -525
  434. package/dist/utils/module-context.js +59 -0
  435. package/dist/utils/runtime-bootstrap.js +682 -0
  436. package/dist/utils/update-cli.js +82 -0
  437. package/dist/utils/update-health.js +401 -0
  438. package/dist/utils/update-manager.js +716 -0
  439. package/dist/utils/update-state.js +353 -0
  440. package/dist/utils/version-info.js +510 -0
  441. package/package.json +1 -1
  442. package/scripts/build-cli.js +32 -151
  443. package/scripts/postinstall.js +153 -76
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-store.js","sourceRoot":"","sources":["../../../src/agents/run-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,267 @@
1
+ "use strict";
2
+ /**
3
+ * runner-resolver.ts — 独立宿主的**分阶段**执行器解析 (2026-09-16, 批次 2-C.2)
4
+ *
5
+ * 起因: 独立宿主"没有 tick 日志、没有建 Run"这种故障无法定位 —— 20 秒超时只能说"超时",
6
+ * 说不出卡在哪。这一层把解析拆成有序阶段, 每阶段记 开始/结束/耗时/失败分类/超时原因:
7
+ *
8
+ * resolve_goal → resolve_agent → load_identity → load_session → load_skills
9
+ * → init_llm → create_session → prepare_resume → ready
10
+ *
11
+ * 任一必需阶段失败 → `{ ok:false, kind:'unresolved', reason:'<阶段>: <原因>', stages }`
12
+ * → Supervisor **只诊断**: 不建 Run、不改 Goal 状态、不伪造失败; 原因进 wakeReport/宿主状态。
13
+ *
14
+ * 顺带修一个真根因: 独立宿主此前**没有初始化 LLM 层**, 于是 `PiAgentSession.prompt()` 判定
15
+ * `minimaxAvailable=false` 走 fallback 提前返回 —— 既不调模型也不建 Run, 上层只看到"执行完成但没有 Run"。
16
+ * 现在 `init_llm` 是必需阶段, LLM 不可用直接 unresolved (而不是偷偷退化成 fallback)。
17
+ */
18
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ var desc = Object.getOwnPropertyDescriptor(m, k);
21
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
22
+ desc = { enumerable: true, get: function() { return m[k]; } };
23
+ }
24
+ Object.defineProperty(o, k2, desc);
25
+ }) : (function(o, m, k, k2) {
26
+ if (k2 === undefined) k2 = k;
27
+ o[k2] = m[k];
28
+ }));
29
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
30
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
31
+ }) : function(o, v) {
32
+ o["default"] = v;
33
+ });
34
+ var __importStar = (this && this.__importStar) || (function () {
35
+ var ownKeys = function(o) {
36
+ ownKeys = Object.getOwnPropertyNames || function (o) {
37
+ var ar = [];
38
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
39
+ return ar;
40
+ };
41
+ return ownKeys(o);
42
+ };
43
+ return function (mod) {
44
+ if (mod && mod.__esModule) return mod;
45
+ var result = {};
46
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
47
+ __setModuleDefault(result, mod);
48
+ return result;
49
+ };
50
+ })();
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ exports.RESOLVE_STAGES = void 0;
53
+ exports.probeLlmConfig = probeLlmConfig;
54
+ exports.formatStages = formatStages;
55
+ exports.resolveGoalRunner = resolveGoalRunner;
56
+ exports.latestFailedStage = latestFailedStage;
57
+ exports.describeResolution = describeResolution;
58
+ const os = __importStar(require("os"));
59
+ const path = __importStar(require("path"));
60
+ const fsp = __importStar(require("fs/promises"));
61
+ const goal_store_js_1 = require("./goal-store.js");
62
+ const run_store_js_1 = require("./run-store.js");
63
+ exports.RESOLVE_STAGES = [
64
+ 'resolve_goal',
65
+ 'resolve_agent',
66
+ 'load_identity',
67
+ 'load_session',
68
+ 'load_skills',
69
+ 'init_llm',
70
+ 'create_session',
71
+ 'prepare_resume',
72
+ 'ready',
73
+ ];
74
+ function classify(err, stage) {
75
+ const m = String(err?.message || err || '').toLowerCase();
76
+ if (m.includes('超时') || m.includes('timeout'))
77
+ return 'timeout';
78
+ if (stage === 'init_llm')
79
+ return 'config';
80
+ if (m.includes('eacces') || m.includes('enoent') || m.includes('eperm'))
81
+ return 'io';
82
+ return 'unknown';
83
+ }
84
+ /** 读本机 LLM 配置摘要 (只看结构与有无, 不打印任何密钥) */
85
+ async function probeLlmConfig(home = os.homedir()) {
86
+ try {
87
+ const raw = JSON.parse(await fsp.readFile(path.join(home, '.bolloon', 'llm-config.json'), 'utf8'));
88
+ const active = raw.activeProvider || raw.provider;
89
+ const providers = raw.providers || {};
90
+ const p = providers[active] || {};
91
+ const needsKey = p.requiresApiKey !== false;
92
+ const hasKey = !!(p.apiKey || p.api_key || process.env[`${String(active).toUpperCase()}_API_KEY`]);
93
+ if (!active)
94
+ return { ok: false, reason: 'llm-config.json 没有 activeProvider' };
95
+ if (needsKey && !hasKey)
96
+ return { ok: false, provider: active, model: p.model, hasKey: false, reason: `provider ${active} 需要 apiKey 但没配` };
97
+ return { ok: true, provider: active, model: p.model, hasKey };
98
+ }
99
+ catch (err) {
100
+ return { ok: false, reason: `llm-config.json 不可读: ${String(err?.message || err).slice(0, 100)}` };
101
+ }
102
+ }
103
+ async function stage(stages, name, required, timeoutMs, fn, log, noteOf) {
104
+ const t0 = Date.now();
105
+ log?.(`[resolver] ${name} 开始`);
106
+ try {
107
+ const value = await Promise.race([
108
+ fn(),
109
+ new Promise((_r, rej) => {
110
+ const t = setTimeout(() => rej(new Error(`${name} 超时 (${timeoutMs}ms)`)), timeoutMs);
111
+ t.unref?.();
112
+ }),
113
+ ]);
114
+ const report = { stage: name, ok: true, ms: Date.now() - t0, required, note: noteOf?.(value) };
115
+ stages.push(report);
116
+ log?.(`[resolver] ${name} 完成 ${report.ms}ms`);
117
+ return { ok: true, value, report };
118
+ }
119
+ catch (err) {
120
+ const report = {
121
+ stage: name, ok: false, ms: Date.now() - t0, required,
122
+ error: String(err?.message || err).slice(0, 200),
123
+ errorClass: classify(err, name),
124
+ };
125
+ stages.push(report);
126
+ log?.(`[resolver] ${name} 失败 ${report.ms}ms: ${report.error}`);
127
+ return { ok: false, report };
128
+ }
129
+ }
130
+ /** 阶段报告一行摘要 (CLI / 日志 / wakeReport 用) */
131
+ function formatStages(stages) {
132
+ return stages.map((s) => `${s.stage}${s.ok ? '✓' : '✗'}${s.ms}ms`).join(' → ');
133
+ }
134
+ /**
135
+ * 分阶段解析"谁来执行这个 Goal"。
136
+ * 与 web 宿主同构: 都返回一个 runner; 差别只在"用什么上下文建 session"。
137
+ */
138
+ async function resolveGoalRunner(req, opts = {}) {
139
+ const home = opts.home ?? os.homedir();
140
+ const cwd = opts.cwd ?? process.cwd();
141
+ const log = opts.log;
142
+ const stageTimeout = opts.stageTimeoutMs ?? 30_000;
143
+ const createTimeout = opts.createTimeoutMs ?? (Number(process.env.BOLLOON_SUPERVISE_CREATE_TIMEOUT_MS) || 20_000);
144
+ const stages = [];
145
+ const fail = (report, reason) => ({
146
+ ok: false, kind: 'none', reason, stages, failedStage: report.stage,
147
+ });
148
+ if (opts.allow === false) {
149
+ return fail({ stage: 'resolve_goal', ok: false, ms: 0, required: true, error: '本地执行被显式关闭' }, 'resolve_goal: 本地执行被显式关闭 (BOLLOON_SUPERVISE_AGENT=0) → 只诊断');
150
+ }
151
+ // 1. resolve_goal —— 目标是否可执行
152
+ const g = req.goal;
153
+ const goalCheck = await stage(stages, 'resolve_goal', true, stageTimeout, async () => {
154
+ if (!g?.goalId)
155
+ throw new Error('没有 goalId');
156
+ const fresh = await (0, goal_store_js_1.readGoal)(g.goalId);
157
+ if (!fresh)
158
+ throw new Error(`Goal 不存在: ${g.goalId}`);
159
+ if (fresh.status === 'paused' || fresh.status === 'needs_human')
160
+ throw new Error(`Goal 状态 ${fresh.status} 不允许自动执行`);
161
+ return fresh;
162
+ }, log);
163
+ if (!goalCheck.ok)
164
+ return fail(goalCheck.report, `resolve_goal: ${goalCheck.report.error} → 只诊断, Goal 状态未改动`);
165
+ const goal = goalCheck.value;
166
+ // 2. resolve_agent —— 用哪个 agent 身份执行
167
+ const agentCheck = await stage(stages, 'resolve_agent', true, stageTimeout, async () => {
168
+ if (!goal.channelId && !req.prevRunId)
169
+ throw new Error('Goal 没有 channelId (无法确定 agent 上下文)');
170
+ return { channelId: goal.channelId || '', agentId: goal.agentId || '' };
171
+ }, log);
172
+ if (!agentCheck.ok)
173
+ return fail(agentCheck.report, `resolve_agent: ${agentCheck.report.error} → 只诊断 (不建 Run)`);
174
+ const { channelId, agentId } = agentCheck.value;
175
+ // 3. load_identity —— 身份可读性 (缺身份不致命, 但要留痕)
176
+ await stage(stages, 'load_identity', false, stageTimeout, async () => {
177
+ const files = ['keypair.json', 'agent-registry.json'].map((f) => path.join(home, '.bolloon', f));
178
+ const found = [];
179
+ for (const f of files)
180
+ if (await fsp.stat(f).then(() => true).catch(() => false))
181
+ found.push(path.basename(f));
182
+ return found;
183
+ }, log, (found) => (found.length ? `身份文件: ${found.join(', ')}` : '无身份文件 (用系统临时身份)'));
184
+ // 4. load_session —— 会话存储可读性
185
+ await stage(stages, 'load_session', false, stageTimeout, async () => {
186
+ const dir = path.join(home, '.bolloon', 'sessions');
187
+ return fsp.stat(dir).then((st) => st.isDirectory()).catch(() => false);
188
+ }, log, (ok) => (ok ? `会话目录可读: ${path.join(home, '.bolloon', 'sessions')}` : '会话目录不存在 (将新建)'));
189
+ // 5. load_skills —— 技能视图可读性 (2-G.2 起会变成必需阶段)
190
+ await stage(stages, 'load_skills', false, stageTimeout, async () => {
191
+ const { getSkillsManager } = await Promise.resolve().then(() => __importStar(require('./skills-manager.js')));
192
+ const list = await getSkillsManager({ home, cwd }).view();
193
+ return { total: list.length, enabled: list.filter((s) => s.status === 'enabled').length, invalid: list.filter((s) => s.status === 'invalid').length };
194
+ }, log, (r) => `技能视图: ${r.total} 个 (enabled ${r.enabled}, invalid ${r.invalid})`);
195
+ // 6. init_llm —— **必需**: LLM 可用 (否则 agent 会退化成 fallback, 既不调模型也不建 Run)
196
+ const llmCheck = await stage(stages, 'init_llm', true, stageTimeout, async () => {
197
+ const probe = opts.probeLlm ? await opts.probeLlm() : await probeLlmConfig(home);
198
+ if (!probe.ok)
199
+ throw new Error(probe.reason || 'LLM 不可用');
200
+ const { initMinimax } = await Promise.resolve().then(() => __importStar(require('../constraints/index.js')));
201
+ initMinimax();
202
+ return probe;
203
+ }, log, (probe) => `provider=${probe.provider} model=${probe.model ?? '(默认)'} key=${probe.hasKey ? '有' : '免'}`);
204
+ if (!llmCheck.ok) {
205
+ return fail(llmCheck.report, `init_llm: ${llmCheck.report.error} → 只诊断 (不发起会退化成 fallback 的执行)`);
206
+ }
207
+ // 7. create_session —— 真 agent session
208
+ let agent;
209
+ const sessCheck = await stage(stages, 'create_session', true, createTimeout, async () => {
210
+ if (opts.createAgent) {
211
+ agent = await opts.createAgent(channelId, goal.goalId);
212
+ return true;
213
+ }
214
+ const { createAgentSession } = await Promise.resolve().then(() => __importStar(require('./pi-sdk.js')));
215
+ agent = await createAgentSession({ cwd, peerId: `supervise:${channelId || agentId}`, channelId: channelId || undefined }, true);
216
+ return !!agent;
217
+ }, log);
218
+ if (!sessCheck.ok || !agent)
219
+ return fail(sessCheck.report, `create_session: ${sessCheck.report.error} → 只诊断 (不建 Run)`);
220
+ // 8. prepare_resume —— 恢复计划 (只读; 真正 prepareResume 由 runner 在运行时做, 保证状态迁移与执行同一时刻)
221
+ let resumeNote = '新 Run (无历史)';
222
+ if (req.prevRunId) {
223
+ const planCheck = await stage(stages, 'prepare_resume', false, stageTimeout, async () => {
224
+ const plan = await (0, run_store_js_1.buildContinuationPlan)(req.prevRunId);
225
+ if (!plan)
226
+ throw new Error(`读不到上一条 Run: ${req.prevRunId}`);
227
+ resumeNote = `已完成 ${plan.completedSteps.length} 步, 非幂等守卫 ${plan.replayGuards.length} 条`;
228
+ return plan;
229
+ }, log);
230
+ if (!planCheck.ok)
231
+ resumeNote = `恢复计划读取失败: ${planCheck.report.error}`;
232
+ }
233
+ stages.push({ stage: 'ready', ok: true, ms: 0, required: true, note: `runner 就绪 (channel=${channelId || '-'}, ${resumeNote})` });
234
+ const runner = async (r) => {
235
+ if (r.kind === 'resume' && r.prevRunId && typeof agent.resumeRun === 'function') {
236
+ const res = await agent.resumeRun(r.prevRunId);
237
+ return { runId: r.prevRunId, status: res?.ok ? 'done' : 'failed', error: res?.ok ? undefined : res?.reason };
238
+ }
239
+ agent.setGoalId?.(goal.goalId);
240
+ agent.setContinuationGuards?.(r.guards || []);
241
+ const reply = await agent.prompt(r.instruction);
242
+ const runId = agent.getLastRunId?.() || agent.getRunId?.() || '';
243
+ // 没有 Run = 这次执行没有事实记录: 如实报告, 不让上层把"没跑"当"跑完"
244
+ if (!runId) {
245
+ return { status: 'failed', error: `执行没有产生 Run 记录 (agent 可能走了 fallback/未初始化路径): ${String(reply || '').slice(0, 120)}` };
246
+ }
247
+ return { runId, status: 'done', reply: typeof reply === 'string' ? reply.slice(0, 500) : undefined };
248
+ };
249
+ return { ok: true, kind: 'standalone', runner, stages };
250
+ }
251
+ /** 已启动的独立宿主把最近一次解析报告写给上层 (wakeReport / API / CLI 用) */
252
+ function latestFailedStage(res) {
253
+ return { stage: res.failedStage, reason: res.ok ? undefined : res.reason };
254
+ }
255
+ /** 供 CLI/诊断: 一次解析的完整人类可读报告 */
256
+ function describeResolution(res) {
257
+ const failed = res.stages.find((s) => !s.ok);
258
+ const head = res.ok ? '✅ 可执行' : `⛔ 不可执行 (卡在 ${res.failedStage})`;
259
+ const lines = [`${head}${res.reason ? ` — ${res.reason}` : ''}`, `阶段: ${formatStages(res.stages)}`];
260
+ for (const s of res.stages)
261
+ if (s.note)
262
+ lines.push(` · ${s.stage}: ${s.note}`);
263
+ if (failed?.error)
264
+ lines.push(` ✗ 失败分类=${failed.errorClass} 原因=${failed.error}`);
265
+ return lines.join('\n');
266
+ }
267
+ //# sourceMappingURL=runner-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-resolver.js","sourceRoot":"","sources":["../../../src/agents/runner-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,294 @@
1
+ "use strict";
2
+ /**
3
+ * session-store — 持久化 Message[] (LLM 历史) 到 ~/.bolloon/sessions/cache/<key>.json
4
+ *
5
+ * 2026-06-30 抽出:
6
+ * - 之前 PiAgentSession 用 constraint-runtime 的 saveSession (存 string[]) + 独立的 hydrateMessageHistory
7
+ * 读路径, 写路径不存在 — claude code / 外部 harness 想"接续 prompt"完全无入口.
8
+ * - 现在抽出 SessionStore 模块, 暴露纯 IO 接口, 完全可消融测试:
9
+ * saveMessages(key, msgs) — 写
10
+ * loadMessages(key) — 读
11
+ * listKeys() — 列全部 key
12
+ * deleteKey(key) — 清
13
+ * - 任何目录位置都可注入 (默认 ~/.bolloon/sessions/cache/), 测试里指向临时 dir.
14
+ *
15
+ * 使用:
16
+ * import { sessionStore } from './session-store';
17
+ * sessionStore.saveMessages('cli:session-A', messageHistory);
18
+ * const restored = sessionStore.loadMessages('cli:session-A');
19
+ */
20
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ var desc = Object.getOwnPropertyDescriptor(m, k);
23
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
24
+ desc = { enumerable: true, get: function() { return m[k]; } };
25
+ }
26
+ Object.defineProperty(o, k2, desc);
27
+ }) : (function(o, m, k, k2) {
28
+ if (k2 === undefined) k2 = k;
29
+ o[k2] = m[k];
30
+ }));
31
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
32
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
33
+ }) : function(o, v) {
34
+ o["default"] = v;
35
+ });
36
+ var __importStar = (this && this.__importStar) || (function () {
37
+ var ownKeys = function(o) {
38
+ ownKeys = Object.getOwnPropertyNames || function (o) {
39
+ var ar = [];
40
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
41
+ return ar;
42
+ };
43
+ return ownKeys(o);
44
+ };
45
+ return function (mod) {
46
+ if (mod && mod.__esModule) return mod;
47
+ var result = {};
48
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
49
+ __setModuleDefault(result, mod);
50
+ return result;
51
+ };
52
+ })();
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.sessionStore = exports.SessionStore = void 0;
55
+ const fs = __importStar(require("fs/promises"));
56
+ const path = __importStar(require("path"));
57
+ const os = __importStar(require("os"));
58
+ class SessionStore {
59
+ cacheDir;
60
+ /** 2026-07-29: JSONL 目录 (~/.bolloon/sessions/jsonl/) */
61
+ jsonlDir;
62
+ constructor(config = {}) {
63
+ this.cacheDir = config.cacheDir ?? path.join(os.homedir(), '.bolloon', 'sessions', 'cache');
64
+ this.jsonlDir = path.join(os.homedir(), '.bolloon', 'sessions', 'jsonl');
65
+ }
66
+ get dir() {
67
+ return this.cacheDir;
68
+ }
69
+ /** JSONL 文件路径 */
70
+ jsonlPathFor(key) {
71
+ if (!key || key.includes('/') || key.includes('..')) {
72
+ throw new Error(`SessionStore: invalid key ${JSON.stringify(key)}`);
73
+ }
74
+ return path.join(this.jsonlDir, `${SessionStore.filenameEscape(key)}.jsonl`);
75
+ }
76
+ /**
77
+ * 2026-07-29: Append-only JSONL — 追加一条消息.
78
+ * 每条消息独立一行 JSON, 不破坏历史数据.
79
+ * 每行格式: {ts, role, content, toolCall?, toolCallId?, toolResult?}
80
+ */
81
+ async appendMessageJsonl(key, msg) {
82
+ if (!key || key.includes('/') || key.includes('..')) {
83
+ throw new Error(`SessionStore: invalid key ${JSON.stringify(key)}`);
84
+ }
85
+ await fs.mkdir(this.jsonlDir, { recursive: true });
86
+ const filePath = this.jsonlPathFor(key);
87
+ const line = JSON.stringify({
88
+ ts: Date.now(),
89
+ role: msg.role,
90
+ content: msg.content,
91
+ toolCall: msg.toolCall || undefined,
92
+ toolCallId: msg.toolCallId || undefined,
93
+ toolResult: msg.toolResult || undefined,
94
+ }) + '\n';
95
+ await fs.appendFile(filePath, line, 'utf-8');
96
+ }
97
+ /**
98
+ * 2026-07-29: 从 JSONL 完整重建消息历史.
99
+ * 文件不存在 → 返回 []. 损坏行 → 跳过不抛错.
100
+ */
101
+ async loadFromJsonl(key) {
102
+ const filePath = this.jsonlPathFor(key);
103
+ let raw;
104
+ try {
105
+ raw = await fs.readFile(filePath, 'utf-8');
106
+ }
107
+ catch {
108
+ return [];
109
+ }
110
+ const messages = [];
111
+ for (const rawLine of raw.split('\n')) {
112
+ const trimmed = rawLine.trim();
113
+ if (!trimmed)
114
+ continue;
115
+ try {
116
+ const entry = JSON.parse(trimmed);
117
+ if (!entry.role)
118
+ continue;
119
+ messages.push({
120
+ role: entry.role,
121
+ content: entry.content || '',
122
+ toolCall: entry.toolCall,
123
+ toolCallId: entry.toolCallId,
124
+ toolResult: entry.toolResult,
125
+ timestamp: entry.ts,
126
+ });
127
+ }
128
+ catch {
129
+ // 跳过损坏行
130
+ }
131
+ }
132
+ return messages;
133
+ }
134
+ /** 单文件路径 — 暴露出来方便测试和外部读取.
135
+ *
136
+ * 2026-07-04 fix: Windows 文件名禁止 `:` (NTFS). web server 用 `channelId:currentSessionId`
137
+ * 拼 sessionKey (server.ts:1759 之类), 会含 `:`. 在 Linux/macOS 上能用, Windows 上
138
+ * fs.writeFile 抛 EINVAL. 修法: filename 层 escape `:` → `__`, key 保持不变
139
+ * (load/save/listKeys/deleteKey 全部透明).
140
+ */
141
+ pathFor(key) {
142
+ if (!key || key.includes('/') || key.includes('..')) {
143
+ throw new Error(`SessionStore: invalid key ${JSON.stringify(key)}`);
144
+ }
145
+ return path.join(this.cacheDir, `${SessionStore.filenameEscape(key)}.json`);
146
+ }
147
+ /** 把 session key 转换成跨平台安全的 filename (escape Windows 非法字符). */
148
+ static filenameEscape(key) {
149
+ return key.replace(/:/g, '__');
150
+ }
151
+ /** listKeys 反向: 把 filename 还原成 session key. */
152
+ static filenameUnescape(filenameKey) {
153
+ return filenameKey.replace(/__/g, ':');
154
+ }
155
+ /**
156
+ * 写 history to disk.
157
+ * - 自动 ensure 缓存目录
158
+ * - 失败抛错 (写失败不应静默 — 用户可能依赖持久化作为审计)
159
+ */
160
+ async saveMessages(key, messages) {
161
+ if (!key || key.includes('/') || key.includes('..')) {
162
+ throw new Error(`SessionStore: invalid key ${JSON.stringify(key)}`);
163
+ }
164
+ await fs.mkdir(this.cacheDir, { recursive: true });
165
+ const payload = {
166
+ key,
167
+ messages,
168
+ metadata: {
169
+ savedAt: Date.now(),
170
+ cwd: process.cwd(),
171
+ totalCount: messages.length,
172
+ },
173
+ };
174
+ const filePath = this.pathFor(key);
175
+ const tmpPath = `${filePath}.tmp`;
176
+ await fs.writeFile(tmpPath, JSON.stringify(payload, null, 2), 'utf-8');
177
+ await fs.rename(tmpPath, filePath);
178
+ // 2026-07-29: 同时写 JSONL (增量追加, 不覆盖)
179
+ // 每个 message 一个 append, 保证可审计 + 可重建
180
+ try {
181
+ await fs.mkdir(this.jsonlDir, { recursive: true });
182
+ const jsonlPath = this.jsonlPathFor(key);
183
+ const lines = [];
184
+ for (const msg of messages) {
185
+ lines.push(JSON.stringify({
186
+ ts: msg.timestamp || Date.now(),
187
+ role: msg.role,
188
+ content: msg.content,
189
+ toolCall: msg.toolCall || undefined,
190
+ toolCallId: msg.toolCallId || undefined,
191
+ toolResult: msg.toolResult || undefined,
192
+ }));
193
+ }
194
+ await fs.appendFile(jsonlPath, lines.join('\n') + '\n', 'utf-8');
195
+ }
196
+ catch { /* JSONL 写入失败不阻塞主存储 */ }
197
+ }
198
+ /**
199
+ * 同步版 (PiAgentSession 里多条路径用同步 — 避免 async 链)
200
+ * 失败抛错
201
+ */
202
+ saveMessagesSync(key, messages) {
203
+ if (!key || key.includes('/') || key.includes('..')) {
204
+ throw new Error(`SessionStore: invalid key ${JSON.stringify(key)}`);
205
+ }
206
+ fsSyncMkdir(this.cacheDir);
207
+ const payload = {
208
+ key,
209
+ messages,
210
+ metadata: {
211
+ savedAt: Date.now(),
212
+ cwd: process.cwd(),
213
+ totalCount: messages.length,
214
+ },
215
+ };
216
+ const filePath = this.pathFor(key);
217
+ const tmpPath = `${filePath}.tmp`;
218
+ fsSyncWrite(tmpPath, JSON.stringify(payload, null, 2));
219
+ fsSyncRename(tmpPath, filePath);
220
+ }
221
+ /**
222
+ * 读 history from disk.
223
+ * - key 不存在 → 返回 null (不抛错)
224
+ * - 文件存在但 JSON 损坏 → 抛错 (claude code 应该感知坏数据)
225
+ * - 文件 schema 不匹配 (新版格式) → 抛错含 details
226
+ */
227
+ async loadMessages(key) {
228
+ if (!key || key.includes('/') || key.includes('..')) {
229
+ throw new Error(`SessionStore: invalid key ${JSON.stringify(key)}`);
230
+ }
231
+ const filePath = this.pathFor(key);
232
+ let raw;
233
+ try {
234
+ raw = await fs.readFile(filePath, 'utf-8');
235
+ }
236
+ catch (e) {
237
+ if (e?.code === 'ENOENT')
238
+ return null;
239
+ throw e;
240
+ }
241
+ const parsed = JSON.parse(raw);
242
+ if (!parsed || !Array.isArray(parsed.messages)) {
243
+ throw new Error(`SessionStore: ${key} schema invalid (missing messages[])`);
244
+ }
245
+ return parsed.messages;
246
+ }
247
+ /** 列所有 keys — 用于调试 / claude code "看有哪些 session 可接续". */
248
+ async listKeys() {
249
+ try {
250
+ await fs.mkdir(this.cacheDir, { recursive: true });
251
+ const files = await fs.readdir(this.cacheDir);
252
+ return files
253
+ .filter(f => f.endsWith('.json') && !f.endsWith('.tmp'))
254
+ .map(f => SessionStore.filenameUnescape(f.slice(0, -'.json'.length)))
255
+ .sort();
256
+ }
257
+ catch {
258
+ return [];
259
+ }
260
+ }
261
+ /** 删一条 session — 失败抛错. */
262
+ async deleteKey(key) {
263
+ if (!key || key.includes('/') || key.includes('..')) {
264
+ throw new Error(`SessionStore: invalid key ${JSON.stringify(key)}`);
265
+ }
266
+ try {
267
+ await fs.unlink(this.pathFor(key));
268
+ }
269
+ catch (e) {
270
+ if (e?.code !== 'ENOENT')
271
+ throw e;
272
+ }
273
+ }
274
+ }
275
+ exports.SessionStore = SessionStore;
276
+ // --- sync fs helpers (避免 import 'fs' 二次) ---
277
+ function fsSyncMkdir(dir) {
278
+ try {
279
+ require('fs').mkdirSync(dir, { recursive: true });
280
+ }
281
+ catch (e) {
282
+ if (e?.code !== 'EEXIST')
283
+ throw e;
284
+ }
285
+ }
286
+ function fsSyncWrite(filePath, content) {
287
+ require('fs').writeFileSync(filePath, content, 'utf-8');
288
+ }
289
+ function fsSyncRename(from, to) {
290
+ require('fs').renameSync(from, to);
291
+ }
292
+ /** 默认 store 实例 (用 ~/.bolloon/sessions/cache/). 业务代码用这个. */
293
+ exports.sessionStore = new SessionStore();
294
+ //# sourceMappingURL=session-store.js.map