@bolloon/bolloon-agent 0.4.28 → 0.4.30

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 (473) hide show
  1. package/bin/bolloon.cjs +18 -148
  2. package/bin/bolloon.cmd +6 -3
  3. package/dist/agents/contacts/chain.js +579 -0
  4. package/dist/agents/contacts/cli.js +158 -0
  5. package/dist/agents/contacts/consent.js +124 -0
  6. package/dist/agents/contacts/grant-payload.js +45 -0
  7. package/dist/agents/contacts/grants.js +451 -0
  8. package/dist/agents/contacts/policy.js +264 -0
  9. package/dist/agents/contacts/preview-types.js +6 -0
  10. package/dist/agents/contacts/providers.js +341 -0
  11. package/dist/agents/contacts/store.js +326 -0
  12. package/dist/agents/contacts/tools.js +154 -0
  13. package/dist/agents/contacts/types.js +148 -0
  14. package/dist/agents/pi-sdk-tools.js +3 -1
  15. package/dist/agents/pi-sdk.js +14 -1
  16. package/dist/cli/update-commands.js +349 -0
  17. package/dist/cli-entry.js +41 -55
  18. package/dist/electron-build/agents/agent-gateway.js +169 -0
  19. package/dist/electron-build/agents/agent-gateway.js.map +1 -0
  20. package/dist/electron-build/agents/agent-identity-store.js +212 -0
  21. package/dist/electron-build/agents/agent-identity-store.js.map +1 -0
  22. package/dist/electron-build/agents/agent-identity.js +196 -0
  23. package/dist/electron-build/agents/agent-identity.js.map +1 -0
  24. package/dist/electron-build/agents/agent-manifest-protocol.js +151 -0
  25. package/dist/electron-build/agents/agent-manifest-protocol.js.map +1 -0
  26. package/dist/electron-build/agents/agent-registry.js +217 -0
  27. package/dist/electron-build/agents/agent-registry.js.map +1 -0
  28. package/dist/electron-build/agents/agent-reputation.js +60 -0
  29. package/dist/electron-build/agents/agent-reputation.js.map +1 -0
  30. package/dist/electron-build/agents/agent-service-client.js +186 -0
  31. package/dist/electron-build/agents/agent-service-client.js.map +1 -0
  32. package/dist/electron-build/agents/browser-cdp.js +765 -0
  33. package/dist/electron-build/agents/browser-cdp.js.map +1 -0
  34. package/dist/electron-build/agents/computer-use.js +341 -0
  35. package/dist/electron-build/agents/computer-use.js.map +1 -0
  36. package/dist/electron-build/agents/constraint-layer.js +210 -0
  37. package/dist/electron-build/agents/constraint-layer.js.map +1 -0
  38. package/dist/electron-build/agents/contacts/chain.js +619 -0
  39. package/dist/electron-build/agents/contacts/chain.js.map +1 -0
  40. package/dist/electron-build/agents/contacts/consent.js +163 -0
  41. package/dist/electron-build/agents/contacts/consent.js.map +1 -0
  42. package/dist/electron-build/agents/contacts/grant-payload.js +52 -0
  43. package/dist/electron-build/agents/contacts/grant-payload.js.map +1 -0
  44. package/dist/electron-build/agents/contacts/grants.js +500 -0
  45. package/dist/electron-build/agents/contacts/grants.js.map +1 -0
  46. package/dist/electron-build/agents/contacts/policy.js +271 -0
  47. package/dist/electron-build/agents/contacts/policy.js.map +1 -0
  48. package/dist/electron-build/agents/contacts/preview-types.js +8 -0
  49. package/dist/electron-build/agents/contacts/preview-types.js.map +1 -0
  50. package/dist/electron-build/agents/contacts/providers.js +384 -0
  51. package/dist/electron-build/agents/contacts/providers.js.map +1 -0
  52. package/dist/electron-build/agents/contacts/store.js +370 -0
  53. package/dist/electron-build/agents/contacts/store.js.map +1 -0
  54. package/dist/electron-build/agents/contacts/tools.js +159 -0
  55. package/dist/electron-build/agents/contacts/tools.js.map +1 -0
  56. package/dist/electron-build/agents/contacts/types.js +166 -0
  57. package/dist/electron-build/agents/contacts/types.js.map +1 -0
  58. package/dist/electron-build/agents/decision-store.js +292 -0
  59. package/dist/electron-build/agents/decision-store.js.map +1 -0
  60. package/dist/electron-build/agents/deny-pipeline.js +125 -0
  61. package/dist/electron-build/agents/deny-pipeline.js.map +1 -0
  62. package/dist/electron-build/agents/economic-policy.js +172 -0
  63. package/dist/electron-build/agents/economic-policy.js.map +1 -0
  64. package/dist/electron-build/agents/error-classifier.js +125 -0
  65. package/dist/electron-build/agents/error-classifier.js.map +1 -0
  66. package/dist/electron-build/agents/execution-supervisor.js +539 -0
  67. package/dist/electron-build/agents/execution-supervisor.js.map +1 -0
  68. package/dist/electron-build/agents/external-events.js +171 -0
  69. package/dist/electron-build/agents/external-events.js.map +1 -0
  70. package/dist/electron-build/agents/gateway-join.js +315 -0
  71. package/dist/electron-build/agents/gateway-join.js.map +1 -0
  72. package/dist/electron-build/agents/gateway-network.js +505 -0
  73. package/dist/electron-build/agents/gateway-network.js.map +1 -0
  74. package/dist/electron-build/agents/goal-criteria.js +133 -0
  75. package/dist/electron-build/agents/goal-criteria.js.map +1 -0
  76. package/dist/electron-build/agents/goal-resume.js +364 -0
  77. package/dist/electron-build/agents/goal-resume.js.map +1 -0
  78. package/dist/electron-build/agents/goal-store.js +587 -0
  79. package/dist/electron-build/agents/goal-store.js.map +1 -0
  80. package/dist/electron-build/agents/intent-classifier.js +104 -0
  81. package/dist/electron-build/agents/intent-classifier.js.map +1 -0
  82. package/dist/electron-build/agents/iroh-secret.js +70 -0
  83. package/dist/electron-build/agents/iroh-secret.js.map +1 -0
  84. package/dist/electron-build/agents/loop-review.js +101 -0
  85. package/dist/electron-build/agents/loop-review.js.map +1 -0
  86. package/dist/electron-build/agents/memory-recall.js +154 -0
  87. package/dist/electron-build/agents/memory-recall.js.map +1 -0
  88. package/dist/electron-build/agents/p2p-document-tools.js +328 -0
  89. package/dist/electron-build/agents/p2p-document-tools.js.map +1 -0
  90. package/dist/electron-build/agents/parse-tool-call.js +564 -0
  91. package/dist/electron-build/agents/parse-tool-call.js.map +1 -0
  92. package/dist/electron-build/agents/patch-tool.js +205 -0
  93. package/dist/electron-build/agents/patch-tool.js.map +1 -0
  94. package/dist/electron-build/agents/payment-approval.js +183 -0
  95. package/dist/electron-build/agents/payment-approval.js.map +1 -0
  96. package/dist/electron-build/agents/payment-gate.js +139 -0
  97. package/dist/electron-build/agents/payment-gate.js.map +1 -0
  98. package/dist/electron-build/agents/permission-mode.js +124 -0
  99. package/dist/electron-build/agents/permission-mode.js.map +1 -0
  100. package/dist/electron-build/agents/pi-harness.js +268 -0
  101. package/dist/electron-build/agents/pi-harness.js.map +1 -0
  102. package/dist/electron-build/agents/pi-sdk-session-factory.js +117 -0
  103. package/dist/electron-build/agents/pi-sdk-session-factory.js.map +1 -0
  104. package/dist/electron-build/agents/pi-sdk-session-manager.js +335 -0
  105. package/dist/electron-build/agents/pi-sdk-session-manager.js.map +1 -0
  106. package/dist/electron-build/agents/pi-sdk-tools.js +4042 -0
  107. package/dist/electron-build/agents/pi-sdk-tools.js.map +1 -0
  108. package/dist/electron-build/agents/pi-sdk-types.js +17 -0
  109. package/dist/electron-build/agents/pi-sdk-types.js.map +1 -0
  110. package/dist/electron-build/agents/pi-sdk.js +3335 -0
  111. package/dist/electron-build/agents/pi-sdk.js.map +1 -0
  112. package/dist/electron-build/agents/plan-store.js +212 -0
  113. package/dist/electron-build/agents/plan-store.js.map +1 -0
  114. package/dist/electron-build/agents/pre-tool-validator.js +200 -0
  115. package/dist/electron-build/agents/pre-tool-validator.js.map +1 -0
  116. package/dist/electron-build/agents/process-runner.js +148 -0
  117. package/dist/electron-build/agents/process-runner.js.map +1 -0
  118. package/dist/electron-build/agents/react-loop.js +131 -0
  119. package/dist/electron-build/agents/react-loop.js.map +1 -0
  120. package/dist/electron-build/agents/resource-store.js +180 -0
  121. package/dist/electron-build/agents/resource-store.js.map +1 -0
  122. package/dist/electron-build/agents/resource-token.js +118 -0
  123. package/dist/electron-build/agents/resource-token.js.map +1 -0
  124. package/dist/electron-build/agents/resource-wallet.js +84 -0
  125. package/dist/electron-build/agents/resource-wallet.js.map +1 -0
  126. package/dist/electron-build/agents/run-store.js +854 -0
  127. package/dist/electron-build/agents/run-store.js.map +1 -0
  128. package/dist/electron-build/agents/runner-resolver.js +267 -0
  129. package/dist/electron-build/agents/runner-resolver.js.map +1 -0
  130. package/dist/electron-build/agents/session-store.js +294 -0
  131. package/dist/electron-build/agents/session-store.js.map +1 -0
  132. package/dist/electron-build/agents/shell-guard.js +465 -0
  133. package/dist/electron-build/agents/shell-guard.js.map +1 -0
  134. package/dist/electron-build/agents/shell-tool.js +102 -0
  135. package/dist/electron-build/agents/shell-tool.js.map +1 -0
  136. package/dist/electron-build/agents/skill-loader.js +216 -0
  137. package/dist/electron-build/agents/skill-loader.js.map +1 -0
  138. package/dist/electron-build/agents/skill-readiness.js +174 -0
  139. package/dist/electron-build/agents/skill-readiness.js.map +1 -0
  140. package/dist/electron-build/agents/skill-share.js +394 -0
  141. package/dist/electron-build/agents/skill-share.js.map +1 -0
  142. package/dist/electron-build/agents/skill-supervisor-link.js +75 -0
  143. package/dist/electron-build/agents/skill-supervisor-link.js.map +1 -0
  144. package/dist/electron-build/agents/skill-writer.js +347 -0
  145. package/dist/electron-build/agents/skill-writer.js.map +1 -0
  146. package/dist/electron-build/agents/skills-manager.js +763 -0
  147. package/dist/electron-build/agents/skills-manager.js.map +1 -0
  148. package/dist/electron-build/agents/supervisor-host.js +294 -0
  149. package/dist/electron-build/agents/supervisor-host.js.map +1 -0
  150. package/dist/electron-build/agents/task/local-seller.js +188 -0
  151. package/dist/electron-build/agents/task/local-seller.js.map +1 -0
  152. package/dist/electron-build/agents/task/report-card.js +152 -0
  153. package/dist/electron-build/agents/task/report-card.js.map +1 -0
  154. package/dist/electron-build/agents/task/resource-advisor.js +222 -0
  155. package/dist/electron-build/agents/task/resource-advisor.js.map +1 -0
  156. package/dist/electron-build/agents/task/task-budget.js +111 -0
  157. package/dist/electron-build/agents/task/task-budget.js.map +1 -0
  158. package/dist/electron-build/agents/task/task-runner.js +670 -0
  159. package/dist/electron-build/agents/task/task-runner.js.map +1 -0
  160. package/dist/electron-build/agents/task-state.js +266 -0
  161. package/dist/electron-build/agents/task-state.js.map +1 -0
  162. package/dist/electron-build/agents/tool-registry.js +141 -0
  163. package/dist/electron-build/agents/tool-registry.js.map +1 -0
  164. package/dist/electron-build/agents/treasury-bridge.js +165 -0
  165. package/dist/electron-build/agents/treasury-bridge.js.map +1 -0
  166. package/dist/electron-build/agents/user-questions.js +223 -0
  167. package/dist/electron-build/agents/user-questions.js.map +1 -0
  168. package/dist/electron-build/agents/verify-recipe.js +90 -0
  169. package/dist/electron-build/agents/verify-recipe.js.map +1 -0
  170. package/dist/electron-build/agents/workflow-engine.js +222 -0
  171. package/dist/electron-build/agents/workflow-engine.js.map +1 -0
  172. package/dist/electron-build/agents/workflow-pivot-loop.js +988 -0
  173. package/dist/electron-build/agents/workflow-pivot-loop.js.map +1 -0
  174. package/dist/electron-build/agents/write-staging.js +133 -0
  175. package/dist/electron-build/agents/write-staging.js.map +1 -0
  176. package/dist/electron-build/agents/x402/goal-run-bridge.js +115 -0
  177. package/dist/electron-build/agents/x402/goal-run-bridge.js.map +1 -0
  178. package/dist/electron-build/agents/x402/milestone-settlement.js +163 -0
  179. package/dist/electron-build/agents/x402/milestone-settlement.js.map +1 -0
  180. package/dist/electron-build/agents/x402/paid-info-protocol.js +274 -0
  181. package/dist/electron-build/agents/x402/paid-info-protocol.js.map +1 -0
  182. package/dist/electron-build/agents/x402/paid-info-store.js +409 -0
  183. package/dist/electron-build/agents/x402/paid-info-store.js.map +1 -0
  184. package/dist/electron-build/agents/x402/paid-info-tools.js +346 -0
  185. package/dist/electron-build/agents/x402/paid-info-tools.js.map +1 -0
  186. package/dist/electron-build/agents/x402/payment-recovery.js +330 -0
  187. package/dist/electron-build/agents/x402/payment-recovery.js.map +1 -0
  188. package/dist/electron-build/agents/x402/resource-contract.js +533 -0
  189. package/dist/electron-build/agents/x402/resource-contract.js.map +1 -0
  190. package/dist/electron-build/agents/x402/settlement-state.js +432 -0
  191. package/dist/electron-build/agents/x402/settlement-state.js.map +1 -0
  192. package/dist/electron-build/agents/x402/trade.js +294 -0
  193. package/dist/electron-build/agents/x402/trade.js.map +1 -0
  194. package/dist/electron-build/agents/x402/transaction-protocol.js +109 -0
  195. package/dist/electron-build/agents/x402/transaction-protocol.js.map +1 -0
  196. package/dist/electron-build/agents/x402/transaction-store.js +404 -0
  197. package/dist/electron-build/agents/x402/transaction-store.js.map +1 -0
  198. package/dist/electron-build/agents/x402/x402Pay.js +377 -0
  199. package/dist/electron-build/agents/x402/x402Pay.js.map +1 -0
  200. package/dist/electron-build/bollharness-integration/context-router-judgment.js +269 -0
  201. package/dist/electron-build/bollharness-integration/context-router-judgment.js.map +1 -0
  202. package/dist/electron-build/bollharness-integration/context-router.js +584 -0
  203. package/dist/electron-build/bollharness-integration/context-router.js.map +1 -0
  204. package/dist/electron-build/bollharness-integration/gate-state-machine.js +362 -0
  205. package/dist/electron-build/bollharness-integration/gate-state-machine.js.map +1 -0
  206. package/dist/electron-build/bollharness-integration/gate-transition-hooks.js +136 -0
  207. package/dist/electron-build/bollharness-integration/gate-transition-hooks.js.map +1 -0
  208. package/dist/electron-build/bollharness-integration/guard-checker.js +400 -0
  209. package/dist/electron-build/bollharness-integration/guard-checker.js.map +1 -0
  210. package/dist/electron-build/bollharness-integration/index.js +123 -0
  211. package/dist/electron-build/bollharness-integration/index.js.map +1 -0
  212. package/dist/electron-build/bollharness-integration/integration.js +531 -0
  213. package/dist/electron-build/bollharness-integration/integration.js.map +1 -0
  214. package/dist/electron-build/bollharness-integration/skill-adapter.js +608 -0
  215. package/dist/electron-build/bollharness-integration/skill-adapter.js.map +1 -0
  216. package/dist/electron-build/bootstrap/bootstrap.js +173 -0
  217. package/dist/electron-build/bootstrap/bootstrap.js.map +1 -0
  218. package/dist/electron-build/bootstrap/context-collector.js +358 -0
  219. package/dist/electron-build/bootstrap/context-collector.js.map +1 -0
  220. package/dist/electron-build/bootstrap/context-hierarchy.js +262 -0
  221. package/dist/electron-build/bootstrap/context-hierarchy.js.map +1 -0
  222. package/dist/electron-build/bootstrap/context-manager.js +211 -0
  223. package/dist/electron-build/bootstrap/context-manager.js.map +1 -0
  224. package/dist/electron-build/bootstrap/context-os.js +277 -0
  225. package/dist/electron-build/bootstrap/context-os.js.map +1 -0
  226. package/dist/electron-build/bootstrap/event-log.js +203 -0
  227. package/dist/electron-build/bootstrap/event-log.js.map +1 -0
  228. package/dist/electron-build/bootstrap/exhaust-scrubber.js +277 -0
  229. package/dist/electron-build/bootstrap/exhaust-scrubber.js.map +1 -0
  230. package/dist/electron-build/bootstrap/lifecycle-hooks.js +282 -0
  231. package/dist/electron-build/bootstrap/lifecycle-hooks.js.map +1 -0
  232. package/dist/electron-build/bootstrap/memory-compressor.js +377 -0
  233. package/dist/electron-build/bootstrap/memory-compressor.js.map +1 -0
  234. package/dist/electron-build/bootstrap/persona-loader.js +219 -0
  235. package/dist/electron-build/bootstrap/persona-loader.js.map +1 -0
  236. package/dist/electron-build/bootstrap/project-context.js +162 -0
  237. package/dist/electron-build/bootstrap/project-context.js.map +1 -0
  238. package/dist/electron-build/bootstrap/project-state.js +205 -0
  239. package/dist/electron-build/bootstrap/project-state.js.map +1 -0
  240. package/dist/electron-build/bootstrap/session-window.js +162 -0
  241. package/dist/electron-build/bootstrap/session-window.js.map +1 -0
  242. package/dist/electron-build/bootstrap/vector-index.js +291 -0
  243. package/dist/electron-build/bootstrap/vector-index.js.map +1 -0
  244. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/cancelOrder.js +22 -0
  245. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/cancelOrder.js.map +1 -0
  246. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/clobShared.js +86 -0
  247. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/clobShared.js.map +1 -0
  248. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/createOrder.js +37 -0
  249. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/createOrder.js.map +1 -0
  250. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/getMarket.js +20 -0
  251. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/getMarket.js.map +1 -0
  252. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/getOrders.js +29 -0
  253. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/getOrders.js.map +1 -0
  254. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/listMarkets.js +28 -0
  255. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/listMarkets.js.map +1 -0
  256. package/dist/electron-build/constraint-runtime/src/tools/SafeSDK/deploySafe.js +10 -0
  257. package/dist/electron-build/constraint-runtime/src/tools/SafeSDK/deploySafe.js.map +1 -0
  258. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/autoPay.js +68 -0
  259. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/autoPay.js.map +1 -0
  260. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/createWallet.js +14 -0
  261. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/createWallet.js.map +1 -0
  262. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/getBalance.js +17 -0
  263. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/getBalance.js.map +1 -0
  264. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/importWallet.js +59 -0
  265. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/importWallet.js.map +1 -0
  266. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/sendTransaction.js +29 -0
  267. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/sendTransaction.js.map +1 -0
  268. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/signMessage.js +14 -0
  269. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/signMessage.js.map +1 -0
  270. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/transferToken.js +29 -0
  271. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/transferToken.js.map +1 -0
  272. package/dist/electron-build/constraints/index.js +11 -0
  273. package/dist/electron-build/constraints/index.js.map +1 -0
  274. package/dist/electron-build/context-compaction/auto-compact.js +182 -0
  275. package/dist/electron-build/context-compaction/auto-compact.js.map +1 -0
  276. package/dist/electron-build/context-compaction/budget-gate.js +32 -0
  277. package/dist/electron-build/context-compaction/budget-gate.js.map +1 -0
  278. package/dist/electron-build/context-compaction/budget-reduce.js +39 -0
  279. package/dist/electron-build/context-compaction/budget-reduce.js.map +1 -0
  280. package/dist/electron-build/context-compaction/context-collapse.js +71 -0
  281. package/dist/electron-build/context-compaction/context-collapse.js.map +1 -0
  282. package/dist/electron-build/context-compaction/index.js +38 -0
  283. package/dist/electron-build/context-compaction/index.js.map +1 -0
  284. package/dist/electron-build/context-compaction/microcompact.js +55 -0
  285. package/dist/electron-build/context-compaction/microcompact.js.map +1 -0
  286. package/dist/electron-build/context-compaction/pipeline.js +128 -0
  287. package/dist/electron-build/context-compaction/pipeline.js.map +1 -0
  288. package/dist/electron-build/context-compaction/snip.js +50 -0
  289. package/dist/electron-build/context-compaction/snip.js.map +1 -0
  290. package/dist/electron-build/context-compaction/token-estimator.js +40 -0
  291. package/dist/electron-build/context-compaction/token-estimator.js.map +1 -0
  292. package/dist/electron-build/context-compaction/types.js +21 -0
  293. package/dist/electron-build/context-compaction/types.js.map +1 -0
  294. package/dist/electron-build/cron/tick-lock.js +247 -0
  295. package/dist/electron-build/cron/tick-lock.js.map +1 -0
  296. package/dist/electron-build/documents/reader.js +131 -0
  297. package/dist/electron-build/documents/reader.js.map +1 -0
  298. package/dist/electron-build/documents/store.js +220 -0
  299. package/dist/electron-build/documents/store.js.map +1 -0
  300. package/dist/electron-build/external-engines/delegate-handle.js +76 -0
  301. package/dist/electron-build/external-engines/delegate-handle.js.map +1 -0
  302. package/dist/electron-build/external-engines/delegate.js +225 -0
  303. package/dist/electron-build/external-engines/delegate.js.map +1 -0
  304. package/dist/electron-build/external-engines/discovery.js +448 -0
  305. package/dist/electron-build/external-engines/discovery.js.map +1 -0
  306. package/dist/electron-build/external-engines/types.js +13 -0
  307. package/dist/electron-build/external-engines/types.js.map +1 -0
  308. package/dist/electron-build/hooks/hooks-engine.js +367 -0
  309. package/dist/electron-build/hooks/hooks-engine.js.map +1 -0
  310. package/dist/electron-build/judgeness/reflect.js +100 -0
  311. package/dist/electron-build/judgeness/reflect.js.map +1 -0
  312. package/dist/electron-build/judgeness/store.js +536 -0
  313. package/dist/electron-build/judgeness/store.js.map +1 -0
  314. package/dist/electron-build/judgeness/types.js +21 -0
  315. package/dist/electron-build/judgeness/types.js.map +1 -0
  316. package/dist/electron-build/llm/config-store.js +551 -0
  317. package/dist/electron-build/llm/config-store.js.map +1 -0
  318. package/dist/electron-build/llm/error-lessons.js +76 -0
  319. package/dist/electron-build/llm/error-lessons.js.map +1 -0
  320. package/dist/electron-build/llm/pi-ai.js +830 -0
  321. package/dist/electron-build/llm/pi-ai.js.map +1 -0
  322. package/dist/electron-build/llm/system-prompt/registry.js +318 -0
  323. package/dist/electron-build/llm/system-prompt/registry.js.map +1 -0
  324. package/dist/electron-build/llm/system-prompt/strip-hibsml.js +55 -0
  325. package/dist/electron-build/llm/system-prompt/strip-hibsml.js.map +1 -0
  326. package/dist/electron-build/locales/en.js +32 -0
  327. package/dist/electron-build/locales/en.js.map +1 -0
  328. package/dist/electron-build/locales/zh.js +30 -0
  329. package/dist/electron-build/locales/zh.js.map +1 -0
  330. package/dist/electron-build/lsp/lsp-manager.js +327 -0
  331. package/dist/electron-build/lsp/lsp-manager.js.map +1 -0
  332. package/dist/electron-build/lsp/lsp-tools.js +226 -0
  333. package/dist/electron-build/lsp/lsp-tools.js.map +1 -0
  334. package/dist/electron-build/migration/external-agent-migrator.js +451 -0
  335. package/dist/electron-build/migration/external-agent-migrator.js.map +1 -0
  336. package/dist/electron-build/network/agent-network.js +775 -0
  337. package/dist/electron-build/network/agent-network.js.map +1 -0
  338. package/dist/electron-build/network/goal-event-bridge.js +62 -0
  339. package/dist/electron-build/network/goal-event-bridge.js.map +1 -0
  340. package/dist/electron-build/network/iroh-integration.js +117 -0
  341. package/dist/electron-build/network/iroh-integration.js.map +1 -0
  342. package/dist/electron-build/network/iroh-transport.js +550 -0
  343. package/dist/electron-build/network/iroh-transport.js.map +1 -0
  344. package/dist/electron-build/network/p2p.js +1103 -0
  345. package/dist/electron-build/network/p2p.js.map +1 -0
  346. package/dist/electron-build/network/storage/adapters/json-adapter.js +416 -0
  347. package/dist/electron-build/network/storage/adapters/json-adapter.js.map +1 -0
  348. package/dist/electron-build/network/storage/types.js +18 -0
  349. package/dist/electron-build/network/storage/types.js.map +1 -0
  350. package/dist/electron-build/orbitdb/agent-tools.js +402 -0
  351. package/dist/electron-build/orbitdb/agent-tools.js.map +1 -0
  352. package/dist/electron-build/orbitdb/cid-database.js +284 -0
  353. package/dist/electron-build/orbitdb/cid-database.js.map +1 -0
  354. package/dist/electron-build/orbitdb/context-store.js +99 -0
  355. package/dist/electron-build/orbitdb/context-store.js.map +1 -0
  356. package/dist/electron-build/orbitdb/ipfs-node.js +120 -0
  357. package/dist/electron-build/orbitdb/ipfs-node.js.map +1 -0
  358. package/dist/electron-build/orbitdb/kanban-store.js +299 -0
  359. package/dist/electron-build/orbitdb/kanban-store.js.map +1 -0
  360. package/dist/electron-build/orbitdb/task-store.js +155 -0
  361. package/dist/electron-build/orbitdb/task-store.js.map +1 -0
  362. package/dist/electron-build/orbitdb/trajectory-store.js +194 -0
  363. package/dist/electron-build/orbitdb/trajectory-store.js.map +1 -0
  364. package/dist/electron-build/orbitdb/ui-cid.js +77 -0
  365. package/dist/electron-build/orbitdb/ui-cid.js.map +1 -0
  366. package/dist/electron-build/pi-ecosystem-a2ui/index.js +89 -0
  367. package/dist/electron-build/pi-ecosystem-a2ui/index.js.map +1 -0
  368. package/dist/electron-build/pi-ecosystem-goals/index.js +512 -0
  369. package/dist/electron-build/pi-ecosystem-goals/index.js.map +1 -0
  370. package/dist/electron-build/pi-ecosystem-judgment/adaptive-scan.js +325 -0
  371. package/dist/electron-build/pi-ecosystem-judgment/adaptive-scan.js.map +1 -0
  372. package/dist/electron-build/pi-ecosystem-judgment/causal-judge.js +492 -0
  373. package/dist/electron-build/pi-ecosystem-judgment/causal-judge.js.map +1 -0
  374. package/dist/electron-build/pi-ecosystem-judgment/cleanup.js +167 -0
  375. package/dist/electron-build/pi-ecosystem-judgment/cleanup.js.map +1 -0
  376. package/dist/electron-build/pi-ecosystem-judgment/decision.js +321 -0
  377. package/dist/electron-build/pi-ecosystem-judgment/decision.js.map +1 -0
  378. package/dist/electron-build/pi-ecosystem-judgment/detect-hook.js +175 -0
  379. package/dist/electron-build/pi-ecosystem-judgment/detect-hook.js.map +1 -0
  380. package/dist/electron-build/pi-ecosystem-judgment/distill-prompt.js +232 -0
  381. package/dist/electron-build/pi-ecosystem-judgment/distill-prompt.js.map +1 -0
  382. package/dist/electron-build/pi-ecosystem-judgment/distillation.js +304 -0
  383. package/dist/electron-build/pi-ecosystem-judgment/distillation.js.map +1 -0
  384. package/dist/electron-build/pi-ecosystem-judgment/evolve-judgment.js +176 -0
  385. package/dist/electron-build/pi-ecosystem-judgment/evolve-judgment.js.map +1 -0
  386. package/dist/electron-build/pi-ecosystem-judgment/human-value-pipeline.js +65 -0
  387. package/dist/electron-build/pi-ecosystem-judgment/human-value-pipeline.js.map +1 -0
  388. package/dist/electron-build/pi-ecosystem-judgment/human-value-store.js +808 -0
  389. package/dist/electron-build/pi-ecosystem-judgment/human-value-store.js.map +1 -0
  390. package/dist/electron-build/pi-ecosystem-judgment/index.js +508 -0
  391. package/dist/electron-build/pi-ecosystem-judgment/index.js.map +1 -0
  392. package/dist/electron-build/pi-ecosystem-judgment/injection-gate.js +334 -0
  393. package/dist/electron-build/pi-ecosystem-judgment/injection-gate.js.map +1 -0
  394. package/dist/electron-build/pi-ecosystem-judgment/monitor-gate.js +228 -0
  395. package/dist/electron-build/pi-ecosystem-judgment/monitor-gate.js.map +1 -0
  396. package/dist/electron-build/pi-ecosystem-judgment/value-injection.js +598 -0
  397. package/dist/electron-build/pi-ecosystem-judgment/value-injection.js.map +1 -0
  398. package/dist/electron-build/pi-ecosystem-mcp/index.js +643 -0
  399. package/dist/electron-build/pi-ecosystem-mcp/index.js.map +1 -0
  400. package/dist/electron-build/pi-ecosystem-mcp/ui-tools.js +116 -0
  401. package/dist/electron-build/pi-ecosystem-mcp/ui-tools.js.map +1 -0
  402. package/dist/electron-build/pi-ecosystem-subagents/index.js +352 -0
  403. package/dist/electron-build/pi-ecosystem-subagents/index.js.map +1 -0
  404. package/dist/electron-build/security/builtin-guards.js +133 -0
  405. package/dist/electron-build/security/builtin-guards.js.map +1 -0
  406. package/dist/electron-build/security/context-router-tool.js +111 -0
  407. package/dist/electron-build/security/context-router-tool.js.map +1 -0
  408. package/dist/electron-build/security/input-scanner.js +263 -0
  409. package/dist/electron-build/security/input-scanner.js.map +1 -0
  410. package/dist/electron-build/security/react-harness.js +148 -0
  411. package/dist/electron-build/security/react-harness.js.map +1 -0
  412. package/dist/electron-build/security/tool-gate.js +291 -0
  413. package/dist/electron-build/security/tool-gate.js.map +1 -0
  414. package/dist/electron-build/setup/setup-store.js +648 -0
  415. package/dist/electron-build/setup/setup-store.js.map +1 -0
  416. package/dist/electron-build/social/channels/ChannelManager.js +444 -0
  417. package/dist/electron-build/social/channels/ChannelManager.js.map +1 -0
  418. package/dist/electron-build/social/channels/DiapChannelBridge.js +451 -0
  419. package/dist/electron-build/social/channels/DiapChannelBridge.js.map +1 -0
  420. package/dist/electron-build/social/channels/InterestMatcher.js +135 -0
  421. package/dist/electron-build/social/channels/InterestMatcher.js.map +1 -0
  422. package/dist/electron-build/social/channels/types.js +21 -0
  423. package/dist/electron-build/social/channels/types.js.map +1 -0
  424. package/dist/electron-build/social/global-shared-context.js +368 -0
  425. package/dist/electron-build/social/global-shared-context.js.map +1 -0
  426. package/dist/electron-build/social/heartbeat.js +882 -0
  427. package/dist/electron-build/social/heartbeat.js.map +1 -0
  428. package/dist/electron-build/storage/did-catalog-bridge.js +314 -0
  429. package/dist/electron-build/storage/did-catalog-bridge.js.map +1 -0
  430. package/dist/electron-build/storage/did-catalog.js +272 -0
  431. package/dist/electron-build/storage/did-catalog.js.map +1 -0
  432. package/dist/electron-build/utils/auto-update.js +140 -558
  433. package/dist/electron-build/utils/auto-update.js.map +1 -1
  434. package/dist/electron-build/utils/module-context.js +98 -0
  435. package/dist/electron-build/utils/module-context.js.map +1 -0
  436. package/dist/electron-build/utils/runtime-bootstrap.js +745 -0
  437. package/dist/electron-build/utils/runtime-bootstrap.js.map +1 -0
  438. package/dist/electron-build/utils/update-manager.js +770 -0
  439. package/dist/electron-build/utils/update-manager.js.map +1 -0
  440. package/dist/electron-build/utils/update-state.js +406 -0
  441. package/dist/electron-build/utils/update-state.js.map +1 -0
  442. package/dist/electron-build/utils/version-info.js +562 -0
  443. package/dist/electron-build/utils/version-info.js.map +1 -0
  444. package/dist/electron-build/web/i18n.js +146 -0
  445. package/dist/electron-build/web/i18n.js.map +1 -0
  446. package/dist/electron-build/web/routes-x402-info.js +232 -0
  447. package/dist/electron-build/web/routes-x402-info.js.map +1 -0
  448. package/dist/electron-build/web/server-storage.js +390 -0
  449. package/dist/electron-build/web/server-storage.js.map +1 -0
  450. package/dist/electron-build/web/server-types.js +52 -0
  451. package/dist/electron-build/web/server-types.js.map +1 -0
  452. package/dist/electron-build/web/task-deps.js +41 -0
  453. package/dist/electron-build/web/task-deps.js.map +1 -0
  454. package/dist/index.js +58 -27
  455. package/dist/llm/system-prompt/registry.js +6 -3
  456. package/dist/security/tool-gate.js +4 -0
  457. package/dist/utils/auto-update.js +138 -525
  458. package/dist/utils/module-context.js +59 -0
  459. package/dist/utils/runtime-bootstrap.js +682 -0
  460. package/dist/utils/update-cli.js +82 -0
  461. package/dist/utils/update-health.js +401 -0
  462. package/dist/utils/update-manager.js +716 -0
  463. package/dist/utils/update-state.js +353 -0
  464. package/dist/utils/version-info.js +510 -0
  465. package/dist/web/mobile-contacts.js +329 -0
  466. package/dist/web/mobile-core.js +481 -15
  467. package/dist/web/mobile.html +32 -0
  468. package/dist/web/mobile.js +139 -0
  469. package/dist/web/routes-contacts.js +420 -0
  470. package/dist/web/server.js +5 -0
  471. package/package.json +1 -1
  472. package/scripts/build-cli.js +32 -151
  473. package/scripts/postinstall.js +153 -76
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-pivot-loop.js","sourceRoot":"","sources":["../../../src/agents/workflow-pivot-loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ /**
3
+ * write-staging.ts — 写操作准备阶段适配 (2026-08-12, TaskC)
4
+ *
5
+ * 借鉴 hermes write_approval.py 的 staging gate: 写操作先 stage (暂存) 再 commit,
6
+ * 保留完整 payload (可重放/回滚) 用于审计与撤销 — 但不强制人工审批 (bolloon 是自主 agent,
7
+ * 写操作直接提交, 只是保留 stage 记录做"准备阶段"审计, 不打断自主循环).
8
+ *
9
+ * 设计:
10
+ * - 每次 write_file / edit_file 写盘前, 记录一条 stage 到 ~/.bolloon/write-log/<ts>-<rand>.json
11
+ * - stage 记录含: 相对路径 / 绝对路径 / action (create|overwrite|edit) / 变更前内容快照 / 变更意图 / 时间
12
+ * - 提供 listStagedWrites / undoLastWrite (撤销最近一次写) / getStagedWrite
13
+ * - 失败静默 (写日志不影响工具主路径)
14
+ */
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || (function () {
32
+ var ownKeys = function(o) {
33
+ ownKeys = Object.getOwnPropertyNames || function (o) {
34
+ var ar = [];
35
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36
+ return ar;
37
+ };
38
+ return ownKeys(o);
39
+ };
40
+ return function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ })();
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ exports.writeLogDir = writeLogDir;
50
+ exports.stageWrite = stageWrite;
51
+ exports.listStagedWrites = listStagedWrites;
52
+ exports.undoLastWrite = undoLastWrite;
53
+ const fs = __importStar(require("fs/promises"));
54
+ const os = __importStar(require("os"));
55
+ const path = __importStar(require("path"));
56
+ const home = () => process.env.HOME || os.homedir() || '/tmp';
57
+ function writeLogDir(homeDir = home()) {
58
+ return path.join(homeDir, '.bolloon', 'write-log');
59
+ }
60
+ /**
61
+ * 生成唯一 stage id。
62
+ * ★ 2026-09-18: 加**进程内单调序号** —— 原来只有 `Date.now()-随机`, 同一毫秒内的两次写入
63
+ * 顺序由随机后缀决定, `listStagedWrites` 的"最新在前"就不成立了 (真跑: 同毫秒 a.txt/b.txt 偶发反序,
64
+ * 让 write-staging 单测在全量跑时随机变红)。序号按 3 位 36 进制, 与时间戳一起保证字典序 == 发生顺序。
65
+ */
66
+ let stageSeq = 0;
67
+ function genId() {
68
+ const seq = (stageSeq++ % 46656).toString(36).padStart(3, '0');
69
+ return `${Date.now()}-${seq}-${Math.random().toString(36).substring(2, 8)}`;
70
+ }
71
+ /**
72
+ * 写前暂存: 记录一次写操作 (准备阶段). 返回记录; 失败静默返回 null.
73
+ * @param relPath 相对路径
74
+ * @param beforeContent 变更前内容 (读盘或空)
75
+ * @param afterContent 变更后内容
76
+ * @param action 动作类型
77
+ */
78
+ async function stageWrite(relPath, beforeContent, afterContent, action, cwd = process.cwd(), homeDir = home()) {
79
+ try {
80
+ const id = genId();
81
+ const absPath = path.resolve(cwd, relPath);
82
+ const rec = { id, absPath, relPath, action, beforeContent, afterContent, createdAt: Date.now() };
83
+ const dir = writeLogDir(homeDir);
84
+ await fs.mkdir(dir, { recursive: true });
85
+ await fs.writeFile(path.join(dir, `${id}.json`), JSON.stringify(rec, null, 2), 'utf-8');
86
+ return rec;
87
+ }
88
+ catch {
89
+ return null;
90
+ }
91
+ }
92
+ /** 列出最近的暂存写记录 (新→旧) */
93
+ async function listStagedWrites(homeDir = home()) {
94
+ const dir = writeLogDir(homeDir);
95
+ let files;
96
+ try {
97
+ files = await fs.readdir(dir);
98
+ }
99
+ catch {
100
+ return [];
101
+ }
102
+ const out = [];
103
+ for (const f of files.filter(f => f.endsWith('.json'))) {
104
+ try {
105
+ out.push(JSON.parse(await fs.readFile(path.join(dir, f), 'utf-8')));
106
+ }
107
+ catch { /* 坏文件跳过 */ }
108
+ }
109
+ // 最新在前: 先按 createdAt, 同一毫秒再按 id (id 内含单调序号) —— 确定性, 不看 readdir 顺序
110
+ return out.sort((a, b) => (b.createdAt - a.createdAt) || String(b.id).localeCompare(String(a.id)));
111
+ }
112
+ /** 撤销最近一次写 (若文件内容仍等于 afterContent → 恢复 beforeContent). 返回是否撤销. */
113
+ async function undoLastWrite(homeDir = home()) {
114
+ const staged = await listStagedWrites(homeDir);
115
+ if (staged.length === 0)
116
+ return { ok: false, reason: '无暂存写记录' };
117
+ const rec = staged[0];
118
+ try {
119
+ // 仅当文件未被后续修改 (内容仍 = afterContent) 时才安全撤销
120
+ const current = await fs.readFile(rec.absPath, 'utf-8').catch(() => null);
121
+ if (current === rec.afterContent) {
122
+ await fs.writeFile(rec.absPath, rec.beforeContent, 'utf-8');
123
+ // 清理该 stage 记录
124
+ await fs.rm(path.join(writeLogDir(homeDir), `${rec.id}.json`), { force: true }).catch(() => { });
125
+ return { ok: true };
126
+ }
127
+ return { ok: false, reason: '文件已被后续修改, 跳过撤销' };
128
+ }
129
+ catch (e) {
130
+ return { ok: false, reason: `撤销失败: ${e?.message}` };
131
+ }
132
+ }
133
+ //# sourceMappingURL=write-staging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-staging.js","sourceRoot":"","sources":["../../../src/agents/write-staging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ /**
3
+ * goal-run-bridge.ts — 交易证据接入 Run / Goal (Phase 3, 2026-09-16)
4
+ *
5
+ * 支付不能只是工具副作用: 一次 Run 必须能回答 —— 为什么付款、买了什么、花了多少、
6
+ * 是否真结算、拿到什么、资源是否验证通过、结果对 Goal 有没有帮助。
7
+ *
8
+ * 事件映射 (与 leo 的规格一致):
9
+ * discovered → transaction.discovered · quoted → transaction.quoted · policy_denied → transaction.policy_denied
10
+ * paying → transaction.paying · settled → transaction.settled · delivered → transaction.delivered
11
+ * verified → transaction.verified · delivery_failed/verification_failed → 同名
12
+ *
13
+ * Goal 侧只在 **交易 verified + 资源执行成功 + 命中判据** 时累计成功证据;
14
+ * 仅付款成功或仅拿到内容 **不能**满足 Goal 判据。
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.bridgeEventFor = bridgeEventFor;
18
+ exports.transactionEvidenceLines = transactionEvidenceLines;
19
+ exports.bridgeTransactionToRunGoal = bridgeTransactionToRunGoal;
20
+ const run_store_js_1 = require("../run-store.js");
21
+ const goal_store_js_1 = require("../goal-store.js");
22
+ const milestone_settlement_js_1 = require("./milestone-settlement.js");
23
+ function bridgeEventFor(status) {
24
+ switch (status) {
25
+ case 'discovered': return 'transaction.discovered';
26
+ case 'quoted': return 'transaction.quoted';
27
+ case 'policy_denied': return 'transaction.policy_denied';
28
+ case 'paying':
29
+ case 'payment_required': return 'transaction.paying';
30
+ case 'settled': return 'transaction.settled';
31
+ case 'delivered': return 'transaction.delivered';
32
+ case 'verified': return 'transaction.verified';
33
+ case 'delivery_failed': return 'transaction.delivery_failed';
34
+ case 'verification_failed': return 'transaction.verification_failed';
35
+ default: return 'transaction.quoted';
36
+ }
37
+ }
38
+ /** 一次交易的证据行 (写进 Run evidence / Goal evidence 的同一组字段) */
39
+ function transactionEvidenceLines(rec) {
40
+ // 2026-09-18: `goal-store.addEvidence` 每行**截断 300 字** —— 所以审计关键字段必须排在**前面**,
41
+ // 哈希类(长且可从交易记录反查)放后面。真跑抓到过: verificationTrust/executionOk 被截掉。
42
+ return [
43
+ `transactionId=${rec.transactionId}`,
44
+ `itemId=${rec.itemId}`,
45
+ `transactionStatus=${rec.status}`,
46
+ `paymentMode=${rec.paymentMode}`,
47
+ `chainSettled=${rec.chainSettled}`,
48
+ `settlementFact=${rec.settlementFact || '(legacy-未记)'}`, // 两层状态: 钱到底动没动, 审计一眼可见
49
+ `verificationTrust=${rec.verificationTrust || 'unverified'}`,
50
+ `protocolVerified=${rec.protocolVerified === true}`,
51
+ ...(rec.execution ? [`executionOk=${rec.execution.ok === true} schemaOk=${rec.execution.schemaOk === true}`] : []),
52
+ ...(rec.resourceOutcome ? [`resourceInstalled=${rec.resourceOutcome.installed} resourceExecuted=${rec.resourceOutcome.executed} outputContract=${rec.resourceOutcome.outputContract} criteriaHit=${rec.resourceOutcome.criteriaHit}${rec.resourceOutcome.failureStage ? ` failureStage=${rec.resourceOutcome.failureStage}` : ''}`] : []),
53
+ ...(rec.responsibility ? [`responsibility=${rec.responsibility.type}(${rec.responsibility.reason})`] : []),
54
+ ...(rec.milestones?.length ? (() => { const a = (0, milestone_settlement_js_1.aggregateMilestones)(rec.milestones); return [`milestones=${a.verified}/${a.total}`, `milestoneSettlement=${a.settlementFact}`]; })() : []),
55
+ ...(rec.dispute ? [`dispute=opened(${rec.dispute.reason})`, `disputeResolved=${rec.dispute.resolution ? rec.dispute.resolution.decision : 'no'}`] : []),
56
+ // 长哈希垫底 (可从交易记录反查; 300 字截断时优先牺牲它们, 而不是上面的判定字段)
57
+ `txHash=${rec.txHash || '(none)'}`,
58
+ `receiptHash=${rec.receiptHash || '(none)'}`,
59
+ `contentHash=${rec.contentHash || '(none)'}`,
60
+ ];
61
+ }
62
+ /**
63
+ * 把一笔交易写进 Run (step + evidence) 与 Goal (仅在满足条件时)。
64
+ * @param opts.goalCriteriaHit 资源执行结果是否命中 Goal 判据 (由调用方判定, 默认 false)
65
+ * @param opts.executionOk 资源是否被实际执行且符合契约
66
+ */
67
+ async function bridgeTransactionToRunGoal(rec, opts = {}) {
68
+ const out = { runId: opts.runId, goalId: opts.goalId, stepWritten: false, evidenceWritten: false, goalEvidenceWritten: false };
69
+ const lines = transactionEvidenceLines(rec);
70
+ const ok = rec.status === 'verified' || rec.status === 'delivered';
71
+ if (opts.runId) {
72
+ try {
73
+ const step = {
74
+ tool: 'x402_transaction',
75
+ ok,
76
+ summary: `${bridgeEventFor(rec.status)} · ${opts.summary || rec.itemId} (${rec.amount || rec.price || '?'} ${rec.currency || ''} via ${rec.paymentMode} · 结算 ${rec.settlementFact || '?'})`,
77
+ error: ok ? undefined : (rec.failureReason || rec.status),
78
+ args: { itemId: rec.itemId, amount: rec.amount, currency: rec.currency, network: rec.network, requestId: rec.requestId },
79
+ };
80
+ await (0, run_store_js_1.recordStep)(opts.runId, step);
81
+ out.stepWritten = true;
82
+ await (0, run_store_js_1.addRunEvidence)(opts.runId, lines);
83
+ out.evidenceWritten = true;
84
+ }
85
+ catch { /* 记账失败不改变交易事实, 但上面会让 out.* 保持 false (调用方可见) */ }
86
+ }
87
+ // Goal 侧: 只有 verified + 执行成功 + 命中判据 才计入成功证据
88
+ if (opts.goalId) {
89
+ // 纵深防御 + Phase 4 门槛: 链上结算 + 全部里程碑完成 + 无争议 + 执行成功 + 命中判据
90
+ // (partially_settled 一律不算 —— leo: 不要让 partially_settled 直接进 Goal 成功证据)
91
+ const elig = (0, milestone_settlement_js_1.milestoneGoalEligibility)(rec, { executionOk: opts.executionOk, goalCriteriaHit: opts.goalCriteriaHit });
92
+ const eligible = elig.eligible;
93
+ try {
94
+ if (eligible) {
95
+ await (0, goal_store_js_1.addEvidence)(opts.goalId, [
96
+ `付费资源已执行并命中判据: ${lines.join(' ')}`,
97
+ ]);
98
+ out.goalEvidenceWritten = true;
99
+ }
100
+ else if (rec.status === 'verified' || (rec.milestones?.length || 0) > 0) {
101
+ await (0, goal_store_js_1.addEvidence)(opts.goalId, [
102
+ `付费资源未达成功证据门槛 (${elig.reason}): ${lines.join(' ')}`,
103
+ ]);
104
+ }
105
+ else {
106
+ await (0, goal_store_js_1.addEvidence)(opts.goalId, [
107
+ `交易未成立 (${rec.status}): ${lines.join(' ')}`,
108
+ ]);
109
+ }
110
+ }
111
+ catch { /* 同上 */ }
112
+ }
113
+ return out;
114
+ }
115
+ //# sourceMappingURL=goal-run-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goal-run-bridge.js","sourceRoot":"","sources":["../../../../src/agents/x402/goal-run-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ /**
3
+ * milestone-settlement.ts — 里程碑结算 / 争议 / 责任落地 (Phase 4, 2026-09-18)
4
+ *
5
+ * leo 的 Phase 4:
6
+ * 4.1 **PartiallySettled**: 分阶段服务按里程碑结算 (第一版只支持明确里程碑)
7
+ * 每里程碑: milestoneId / amount / paymentStatus / deliveryStatus / verificationStatus / evidence
8
+ * 规则: 部分成功 → partially_settled; 全部支付且全部交付验证 → verified; 任一交付失败 → disputed 或 delivery_failed
9
+ * ★ `partially_settled` **不许**直接进 Goal 成功证据
10
+ * 4.2 **争议**: disputed / refund_pending / refunded; 争议必须绑定
11
+ * 原始报价 · Payment Header · facilitator response · txHash · 内容哈希 · 签名信封 · Run step · Goal evidence · 失败时点 · 责任候选
12
+ * 三条禁令: 不能自动重付 · 不能标 verified · **不能静默关闭**
13
+ * 4.3 **责任判定**: 机器只给候选 (Phase 0 的 deriveResponsibility), 候选连同证据进交易记录 + Run/Goal 证据
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.disputeForbids = void 0;
17
+ exports.validateMilestoneSpec = validateMilestoneSpec;
18
+ exports.makeMilestone = makeMilestone;
19
+ exports.milestonesMatchAmount = milestonesMatchAmount;
20
+ exports.aggregateMilestones = aggregateMilestones;
21
+ exports.applyMilestoneResult = applyMilestoneResult;
22
+ exports.buildDispute = buildDispute;
23
+ exports.resolveDispute = resolveDispute;
24
+ exports.milestoneGoalEligibility = milestoneGoalEligibility;
25
+ const settlement_state_js_1 = require("./settlement-state.js");
26
+ /** 里程碑的不变式: 金额必须是正整数原子单位字符串 (不许浮点/负数/空) */
27
+ function validateMilestoneSpec(m) {
28
+ if (!m.milestoneId)
29
+ return { ok: false, reason: 'milestoneId 不能为空' };
30
+ if (!/^\d+$/.test(String(m.amount)))
31
+ return { ok: false, reason: `amount 必须是正整数原子单位字符串, 实际: ${m.amount}` };
32
+ if (Number(m.amount) <= 0)
33
+ return { ok: false, reason: 'amount 必须大于 0' };
34
+ return { ok: true };
35
+ }
36
+ function makeMilestone(m) {
37
+ const chk = validateMilestoneSpec(m);
38
+ if (!chk.ok)
39
+ throw new Error(chk.reason);
40
+ return {
41
+ milestoneId: m.milestoneId, title: m.title, amount: String(m.amount),
42
+ paymentStatus: 'unpaid', deliveryStatus: 'pending', verificationStatus: 'pending',
43
+ evidence: [], updatedAt: new Date().toISOString(),
44
+ };
45
+ }
46
+ /** 里程碑总金额必须等于交易金额 (否则就是账不平) */
47
+ function milestonesMatchAmount(ms, amount) {
48
+ const sum = ms.reduce((a, m) => a + BigInt(m.amount || '0'), 0n).toString();
49
+ if (amount && String(amount) !== sum)
50
+ return { ok: false, sum, reason: `里程碑金额合计 ${sum} ≠ 交易金额 ${amount}` };
51
+ return { ok: true, sum };
52
+ }
53
+ function aggregateMilestones(ms) {
54
+ const list = ms || [];
55
+ const paid = list.filter((m) => m.paymentStatus === 'paid').length;
56
+ const delivered = list.filter((m) => m.deliveryStatus === 'delivered').length;
57
+ const verified = list.filter((m) => m.verificationStatus === 'verified').length;
58
+ const failed = list.filter((m) => m.deliveryStatus === 'failed' || m.verificationStatus === 'failed').length;
59
+ const allComplete = list.length > 0 && verified === list.length;
60
+ const anyProgress = paid > 0 || delivered > 0 || verified > 0;
61
+ const partiallyComplete = anyProgress && !allComplete && failed === 0;
62
+ const next = list.find((m) => m.verificationStatus !== 'verified' && m.deliveryStatus !== 'failed');
63
+ let settlementFact = 'unpaid';
64
+ if (allComplete)
65
+ settlementFact = 'fully_settled';
66
+ else if (partiallyComplete)
67
+ settlementFact = 'partially_settled';
68
+ else if (paid > 0 || delivered > 0)
69
+ settlementFact = 'payment_submitted';
70
+ const shouldDispute = failed > 0;
71
+ const reason = shouldDispute
72
+ ? `${failed} 个里程碑交付/验真失败 → 进争议 (不许静默关闭)`
73
+ : allComplete ? '全部里程碑支付+交付+验真完成'
74
+ : partiallyComplete ? `${verified}/${list.length} 个里程碑完成 → partially_settled (不算完成, 也不进 Goal 成功证据)`
75
+ : list.length === 0 ? '没有里程碑 (单笔交易)' : '还没有里程碑完成';
76
+ return { total: list.length, paid, delivered, verified, failed, allComplete, partiallyComplete, nextMilestoneId: next?.milestoneId, settlementFact, shouldDispute, reason };
77
+ }
78
+ /** 应用一个里程碑结果并给出应落的结算事实 (纯函数; 落盘由调用方做, 保证可测) */
79
+ function applyMilestoneResult(ms, milestoneId, result) {
80
+ const list = (ms || []).map((m) => ({ ...m, evidence: [...(m.evidence || [])] }));
81
+ const target = list.find((m) => m.milestoneId === milestoneId);
82
+ if (!target)
83
+ return { milestones: list, aggregate: aggregateMilestones(list), ok: false, reason: `没有这个里程碑: ${milestoneId}` };
84
+ if (result.paymentStatus)
85
+ target.paymentStatus = result.paymentStatus;
86
+ if (result.deliveryStatus)
87
+ target.deliveryStatus = result.deliveryStatus;
88
+ if (result.verificationStatus)
89
+ target.verificationStatus = result.verificationStatus;
90
+ if (result.evidence?.length)
91
+ target.evidence.push(...result.evidence);
92
+ target.updatedAt = new Date().toISOString();
93
+ return { milestones: list, aggregate: aggregateMilestones(list), ok: true };
94
+ }
95
+ const REQUIRED_EVIDENCE_FIELDS = [
96
+ 'quote', 'txHash', 'contentHash', 'envelopeDigest', 'failurePoint',
97
+ ];
98
+ /** 开争议: 记录绑定的证据 + 缺口; 生命周期进 disputed (自动化到此为止) */
99
+ function buildDispute(opts) {
100
+ const missing = REQUIRED_EVIDENCE_FIELDS.filter((f) => {
101
+ const v = opts.evidence[f];
102
+ if (v === undefined || v === null)
103
+ return true;
104
+ if (typeof v === 'string')
105
+ return v.trim().length === 0;
106
+ if (Array.isArray(v))
107
+ return v.length === 0;
108
+ if (typeof v === 'object')
109
+ return Object.values(v).every((x) => x === undefined || x === null || x === '');
110
+ return false;
111
+ });
112
+ const responsibility = opts.evidence.responsibility
113
+ || (opts.responsibilityEvidence ? (0, settlement_state_js_1.deriveResponsibility)(opts.responsibilityEvidence) : undefined);
114
+ return {
115
+ openedAt: new Date().toISOString(),
116
+ reason: opts.reason,
117
+ evidence: { ...opts.evidence, responsibility },
118
+ missingEvidence: missing,
119
+ mustNotRepay: true,
120
+ };
121
+ }
122
+ /** 争议禁令的唯一实现在 settlement-state (`disputeForbids`), 这里只做转发, 避免两份判断漂移 */
123
+ var settlement_state_js_2 = require("./settlement-state.js");
124
+ Object.defineProperty(exports, "disputeForbids", { enumerable: true, get: function () { return settlement_state_js_2.disputeForbids; } });
125
+ /** 争议收尾: 必须带决定 + 依据 + 证据 (退款走结算层 refund_pending → refunded) */
126
+ function resolveDispute(rec, opts) {
127
+ if (!rec.dispute)
128
+ throw new Error('这笔交易没有争议记录');
129
+ if (!opts.evidence?.length)
130
+ throw new Error('争议收尾必须带证据 (不许无凭据关闭)');
131
+ return {
132
+ ...rec.dispute,
133
+ resolution: { decision: opts.decision, at: new Date().toISOString(), by: opts.by, reason: opts.reason, evidence: [...opts.evidence] },
134
+ };
135
+ }
136
+ /**
137
+ * 里程碑/争议叠加后的 Goal 成功证据门槛:
138
+ * 交易 verified 或 (全部里程碑完成 + 结算 fully_settled) ∧ 无争议 ∧ 执行成功 ∧ 命中判据
139
+ * —— `partially_settled` 一律不算 (leo: 不要让 partially_settled 直接进 Goal 成功证据)
140
+ */
141
+ function milestoneGoalEligibility(rec, opts = {}) {
142
+ if (rec.dispute && !rec.dispute.resolution)
143
+ return { eligible: false, reason: '交易在争议中 (未收尾) → 不计入 Goal 成功证据' };
144
+ const agg = aggregateMilestones(rec.milestones);
145
+ if (agg.total > 0) {
146
+ if (agg.shouldDispute)
147
+ return { eligible: false, reason: '里程碑有失败项 → 需争议处理, 不计入成功证据' };
148
+ if (!agg.allComplete)
149
+ return { eligible: false, reason: `里程碑未全部完成 (${agg.verified}/${agg.total}) → partially_settled 不计入成功证据` };
150
+ }
151
+ if (rec.settlementFact === 'partially_settled')
152
+ return { eligible: false, reason: '结算事实是 partially_settled → 不计入成功证据' };
153
+ if (rec.status !== 'verified')
154
+ return { eligible: false, reason: `交易状态是 ${rec.status}, 不是 verified` };
155
+ if (rec.chainSettled !== true)
156
+ return { eligible: false, reason: '链上没有真实结算' };
157
+ if (opts.executionOk !== true)
158
+ return { eligible: false, reason: '资源执行没成功 (买到 ≠ 用上)' };
159
+ if (opts.goalCriteriaHit !== true)
160
+ return { eligible: false, reason: '没有命中 Goal 判据' };
161
+ return { eligible: true, reason: '链上结算 + 全部里程碑完成 + 无争议 + 执行成功 + 命中判据' };
162
+ }
163
+ //# sourceMappingURL=milestone-settlement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"milestone-settlement.js","sourceRoot":"","sources":["../../../../src/agents/x402/milestone-settlement.ts"],"names":[],"mappings":"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"}