@bolloon/bolloon-agent 0.4.28 → 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 (435) hide show
  1. package/bin/bolloon.cjs +18 -148
  2. package/bin/bolloon.cmd +6 -3
  3. package/dist/agents/pi-sdk-tools.js +3 -1
  4. package/dist/agents/pi-sdk.js +4 -1
  5. package/dist/cli/update-commands.js +349 -0
  6. package/dist/cli-entry.js +41 -55
  7. package/dist/electron-build/agents/agent-gateway.js +169 -0
  8. package/dist/electron-build/agents/agent-gateway.js.map +1 -0
  9. package/dist/electron-build/agents/agent-identity-store.js +212 -0
  10. package/dist/electron-build/agents/agent-identity-store.js.map +1 -0
  11. package/dist/electron-build/agents/agent-identity.js +196 -0
  12. package/dist/electron-build/agents/agent-identity.js.map +1 -0
  13. package/dist/electron-build/agents/agent-manifest-protocol.js +151 -0
  14. package/dist/electron-build/agents/agent-manifest-protocol.js.map +1 -0
  15. package/dist/electron-build/agents/agent-registry.js +217 -0
  16. package/dist/electron-build/agents/agent-registry.js.map +1 -0
  17. package/dist/electron-build/agents/agent-reputation.js +60 -0
  18. package/dist/electron-build/agents/agent-reputation.js.map +1 -0
  19. package/dist/electron-build/agents/agent-service-client.js +186 -0
  20. package/dist/electron-build/agents/agent-service-client.js.map +1 -0
  21. package/dist/electron-build/agents/browser-cdp.js +765 -0
  22. package/dist/electron-build/agents/browser-cdp.js.map +1 -0
  23. package/dist/electron-build/agents/computer-use.js +341 -0
  24. package/dist/electron-build/agents/computer-use.js.map +1 -0
  25. package/dist/electron-build/agents/constraint-layer.js +210 -0
  26. package/dist/electron-build/agents/constraint-layer.js.map +1 -0
  27. package/dist/electron-build/agents/decision-store.js +292 -0
  28. package/dist/electron-build/agents/decision-store.js.map +1 -0
  29. package/dist/electron-build/agents/deny-pipeline.js +125 -0
  30. package/dist/electron-build/agents/deny-pipeline.js.map +1 -0
  31. package/dist/electron-build/agents/economic-policy.js +172 -0
  32. package/dist/electron-build/agents/economic-policy.js.map +1 -0
  33. package/dist/electron-build/agents/error-classifier.js +125 -0
  34. package/dist/electron-build/agents/error-classifier.js.map +1 -0
  35. package/dist/electron-build/agents/execution-supervisor.js +539 -0
  36. package/dist/electron-build/agents/execution-supervisor.js.map +1 -0
  37. package/dist/electron-build/agents/external-events.js +171 -0
  38. package/dist/electron-build/agents/external-events.js.map +1 -0
  39. package/dist/electron-build/agents/gateway-join.js +315 -0
  40. package/dist/electron-build/agents/gateway-join.js.map +1 -0
  41. package/dist/electron-build/agents/gateway-network.js +505 -0
  42. package/dist/electron-build/agents/gateway-network.js.map +1 -0
  43. package/dist/electron-build/agents/goal-criteria.js +133 -0
  44. package/dist/electron-build/agents/goal-criteria.js.map +1 -0
  45. package/dist/electron-build/agents/goal-resume.js +364 -0
  46. package/dist/electron-build/agents/goal-resume.js.map +1 -0
  47. package/dist/electron-build/agents/goal-store.js +587 -0
  48. package/dist/electron-build/agents/goal-store.js.map +1 -0
  49. package/dist/electron-build/agents/intent-classifier.js +104 -0
  50. package/dist/electron-build/agents/intent-classifier.js.map +1 -0
  51. package/dist/electron-build/agents/iroh-secret.js +70 -0
  52. package/dist/electron-build/agents/iroh-secret.js.map +1 -0
  53. package/dist/electron-build/agents/loop-review.js +101 -0
  54. package/dist/electron-build/agents/loop-review.js.map +1 -0
  55. package/dist/electron-build/agents/memory-recall.js +154 -0
  56. package/dist/electron-build/agents/memory-recall.js.map +1 -0
  57. package/dist/electron-build/agents/p2p-document-tools.js +328 -0
  58. package/dist/electron-build/agents/p2p-document-tools.js.map +1 -0
  59. package/dist/electron-build/agents/parse-tool-call.js +564 -0
  60. package/dist/electron-build/agents/parse-tool-call.js.map +1 -0
  61. package/dist/electron-build/agents/patch-tool.js +205 -0
  62. package/dist/electron-build/agents/patch-tool.js.map +1 -0
  63. package/dist/electron-build/agents/payment-approval.js +183 -0
  64. package/dist/electron-build/agents/payment-approval.js.map +1 -0
  65. package/dist/electron-build/agents/payment-gate.js +139 -0
  66. package/dist/electron-build/agents/payment-gate.js.map +1 -0
  67. package/dist/electron-build/agents/permission-mode.js +124 -0
  68. package/dist/electron-build/agents/permission-mode.js.map +1 -0
  69. package/dist/electron-build/agents/pi-harness.js +268 -0
  70. package/dist/electron-build/agents/pi-harness.js.map +1 -0
  71. package/dist/electron-build/agents/pi-sdk-session-factory.js +117 -0
  72. package/dist/electron-build/agents/pi-sdk-session-factory.js.map +1 -0
  73. package/dist/electron-build/agents/pi-sdk-session-manager.js +335 -0
  74. package/dist/electron-build/agents/pi-sdk-session-manager.js.map +1 -0
  75. package/dist/electron-build/agents/pi-sdk-tools.js +4042 -0
  76. package/dist/electron-build/agents/pi-sdk-tools.js.map +1 -0
  77. package/dist/electron-build/agents/pi-sdk-types.js +17 -0
  78. package/dist/electron-build/agents/pi-sdk-types.js.map +1 -0
  79. package/dist/electron-build/agents/pi-sdk.js +3325 -0
  80. package/dist/electron-build/agents/pi-sdk.js.map +1 -0
  81. package/dist/electron-build/agents/plan-store.js +212 -0
  82. package/dist/electron-build/agents/plan-store.js.map +1 -0
  83. package/dist/electron-build/agents/pre-tool-validator.js +200 -0
  84. package/dist/electron-build/agents/pre-tool-validator.js.map +1 -0
  85. package/dist/electron-build/agents/process-runner.js +148 -0
  86. package/dist/electron-build/agents/process-runner.js.map +1 -0
  87. package/dist/electron-build/agents/react-loop.js +131 -0
  88. package/dist/electron-build/agents/react-loop.js.map +1 -0
  89. package/dist/electron-build/agents/resource-store.js +180 -0
  90. package/dist/electron-build/agents/resource-store.js.map +1 -0
  91. package/dist/electron-build/agents/resource-token.js +118 -0
  92. package/dist/electron-build/agents/resource-token.js.map +1 -0
  93. package/dist/electron-build/agents/resource-wallet.js +84 -0
  94. package/dist/electron-build/agents/resource-wallet.js.map +1 -0
  95. package/dist/electron-build/agents/run-store.js +854 -0
  96. package/dist/electron-build/agents/run-store.js.map +1 -0
  97. package/dist/electron-build/agents/runner-resolver.js +267 -0
  98. package/dist/electron-build/agents/runner-resolver.js.map +1 -0
  99. package/dist/electron-build/agents/session-store.js +294 -0
  100. package/dist/electron-build/agents/session-store.js.map +1 -0
  101. package/dist/electron-build/agents/shell-guard.js +465 -0
  102. package/dist/electron-build/agents/shell-guard.js.map +1 -0
  103. package/dist/electron-build/agents/shell-tool.js +102 -0
  104. package/dist/electron-build/agents/shell-tool.js.map +1 -0
  105. package/dist/electron-build/agents/skill-loader.js +216 -0
  106. package/dist/electron-build/agents/skill-loader.js.map +1 -0
  107. package/dist/electron-build/agents/skill-readiness.js +174 -0
  108. package/dist/electron-build/agents/skill-readiness.js.map +1 -0
  109. package/dist/electron-build/agents/skill-share.js +394 -0
  110. package/dist/electron-build/agents/skill-share.js.map +1 -0
  111. package/dist/electron-build/agents/skill-supervisor-link.js +75 -0
  112. package/dist/electron-build/agents/skill-supervisor-link.js.map +1 -0
  113. package/dist/electron-build/agents/skill-writer.js +347 -0
  114. package/dist/electron-build/agents/skill-writer.js.map +1 -0
  115. package/dist/electron-build/agents/skills-manager.js +763 -0
  116. package/dist/electron-build/agents/skills-manager.js.map +1 -0
  117. package/dist/electron-build/agents/supervisor-host.js +294 -0
  118. package/dist/electron-build/agents/supervisor-host.js.map +1 -0
  119. package/dist/electron-build/agents/task/local-seller.js +188 -0
  120. package/dist/electron-build/agents/task/local-seller.js.map +1 -0
  121. package/dist/electron-build/agents/task/report-card.js +152 -0
  122. package/dist/electron-build/agents/task/report-card.js.map +1 -0
  123. package/dist/electron-build/agents/task/resource-advisor.js +222 -0
  124. package/dist/electron-build/agents/task/resource-advisor.js.map +1 -0
  125. package/dist/electron-build/agents/task/task-budget.js +111 -0
  126. package/dist/electron-build/agents/task/task-budget.js.map +1 -0
  127. package/dist/electron-build/agents/task/task-runner.js +670 -0
  128. package/dist/electron-build/agents/task/task-runner.js.map +1 -0
  129. package/dist/electron-build/agents/task-state.js +266 -0
  130. package/dist/electron-build/agents/task-state.js.map +1 -0
  131. package/dist/electron-build/agents/tool-registry.js +141 -0
  132. package/dist/electron-build/agents/tool-registry.js.map +1 -0
  133. package/dist/electron-build/agents/treasury-bridge.js +165 -0
  134. package/dist/electron-build/agents/treasury-bridge.js.map +1 -0
  135. package/dist/electron-build/agents/user-questions.js +223 -0
  136. package/dist/electron-build/agents/user-questions.js.map +1 -0
  137. package/dist/electron-build/agents/verify-recipe.js +90 -0
  138. package/dist/electron-build/agents/verify-recipe.js.map +1 -0
  139. package/dist/electron-build/agents/workflow-engine.js +222 -0
  140. package/dist/electron-build/agents/workflow-engine.js.map +1 -0
  141. package/dist/electron-build/agents/workflow-pivot-loop.js +988 -0
  142. package/dist/electron-build/agents/workflow-pivot-loop.js.map +1 -0
  143. package/dist/electron-build/agents/write-staging.js +133 -0
  144. package/dist/electron-build/agents/write-staging.js.map +1 -0
  145. package/dist/electron-build/agents/x402/goal-run-bridge.js +115 -0
  146. package/dist/electron-build/agents/x402/goal-run-bridge.js.map +1 -0
  147. package/dist/electron-build/agents/x402/milestone-settlement.js +163 -0
  148. package/dist/electron-build/agents/x402/milestone-settlement.js.map +1 -0
  149. package/dist/electron-build/agents/x402/paid-info-protocol.js +274 -0
  150. package/dist/electron-build/agents/x402/paid-info-protocol.js.map +1 -0
  151. package/dist/electron-build/agents/x402/paid-info-store.js +409 -0
  152. package/dist/electron-build/agents/x402/paid-info-store.js.map +1 -0
  153. package/dist/electron-build/agents/x402/paid-info-tools.js +346 -0
  154. package/dist/electron-build/agents/x402/paid-info-tools.js.map +1 -0
  155. package/dist/electron-build/agents/x402/payment-recovery.js +330 -0
  156. package/dist/electron-build/agents/x402/payment-recovery.js.map +1 -0
  157. package/dist/electron-build/agents/x402/resource-contract.js +533 -0
  158. package/dist/electron-build/agents/x402/resource-contract.js.map +1 -0
  159. package/dist/electron-build/agents/x402/settlement-state.js +432 -0
  160. package/dist/electron-build/agents/x402/settlement-state.js.map +1 -0
  161. package/dist/electron-build/agents/x402/trade.js +294 -0
  162. package/dist/electron-build/agents/x402/trade.js.map +1 -0
  163. package/dist/electron-build/agents/x402/transaction-protocol.js +109 -0
  164. package/dist/electron-build/agents/x402/transaction-protocol.js.map +1 -0
  165. package/dist/electron-build/agents/x402/transaction-store.js +404 -0
  166. package/dist/electron-build/agents/x402/transaction-store.js.map +1 -0
  167. package/dist/electron-build/agents/x402/x402Pay.js +377 -0
  168. package/dist/electron-build/agents/x402/x402Pay.js.map +1 -0
  169. package/dist/electron-build/bollharness-integration/context-router-judgment.js +269 -0
  170. package/dist/electron-build/bollharness-integration/context-router-judgment.js.map +1 -0
  171. package/dist/electron-build/bollharness-integration/context-router.js +584 -0
  172. package/dist/electron-build/bollharness-integration/context-router.js.map +1 -0
  173. package/dist/electron-build/bollharness-integration/gate-state-machine.js +362 -0
  174. package/dist/electron-build/bollharness-integration/gate-state-machine.js.map +1 -0
  175. package/dist/electron-build/bollharness-integration/gate-transition-hooks.js +136 -0
  176. package/dist/electron-build/bollharness-integration/gate-transition-hooks.js.map +1 -0
  177. package/dist/electron-build/bollharness-integration/guard-checker.js +400 -0
  178. package/dist/electron-build/bollharness-integration/guard-checker.js.map +1 -0
  179. package/dist/electron-build/bollharness-integration/index.js +123 -0
  180. package/dist/electron-build/bollharness-integration/index.js.map +1 -0
  181. package/dist/electron-build/bollharness-integration/integration.js +531 -0
  182. package/dist/electron-build/bollharness-integration/integration.js.map +1 -0
  183. package/dist/electron-build/bollharness-integration/skill-adapter.js +608 -0
  184. package/dist/electron-build/bollharness-integration/skill-adapter.js.map +1 -0
  185. package/dist/electron-build/bootstrap/bootstrap.js +173 -0
  186. package/dist/electron-build/bootstrap/bootstrap.js.map +1 -0
  187. package/dist/electron-build/bootstrap/context-collector.js +358 -0
  188. package/dist/electron-build/bootstrap/context-collector.js.map +1 -0
  189. package/dist/electron-build/bootstrap/context-hierarchy.js +262 -0
  190. package/dist/electron-build/bootstrap/context-hierarchy.js.map +1 -0
  191. package/dist/electron-build/bootstrap/context-manager.js +211 -0
  192. package/dist/electron-build/bootstrap/context-manager.js.map +1 -0
  193. package/dist/electron-build/bootstrap/context-os.js +277 -0
  194. package/dist/electron-build/bootstrap/context-os.js.map +1 -0
  195. package/dist/electron-build/bootstrap/event-log.js +203 -0
  196. package/dist/electron-build/bootstrap/event-log.js.map +1 -0
  197. package/dist/electron-build/bootstrap/exhaust-scrubber.js +277 -0
  198. package/dist/electron-build/bootstrap/exhaust-scrubber.js.map +1 -0
  199. package/dist/electron-build/bootstrap/lifecycle-hooks.js +282 -0
  200. package/dist/electron-build/bootstrap/lifecycle-hooks.js.map +1 -0
  201. package/dist/electron-build/bootstrap/memory-compressor.js +377 -0
  202. package/dist/electron-build/bootstrap/memory-compressor.js.map +1 -0
  203. package/dist/electron-build/bootstrap/persona-loader.js +219 -0
  204. package/dist/electron-build/bootstrap/persona-loader.js.map +1 -0
  205. package/dist/electron-build/bootstrap/project-context.js +162 -0
  206. package/dist/electron-build/bootstrap/project-context.js.map +1 -0
  207. package/dist/electron-build/bootstrap/project-state.js +205 -0
  208. package/dist/electron-build/bootstrap/project-state.js.map +1 -0
  209. package/dist/electron-build/bootstrap/session-window.js +162 -0
  210. package/dist/electron-build/bootstrap/session-window.js.map +1 -0
  211. package/dist/electron-build/bootstrap/vector-index.js +291 -0
  212. package/dist/electron-build/bootstrap/vector-index.js.map +1 -0
  213. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/cancelOrder.js +22 -0
  214. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/cancelOrder.js.map +1 -0
  215. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/clobShared.js +86 -0
  216. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/clobShared.js.map +1 -0
  217. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/createOrder.js +37 -0
  218. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/createOrder.js.map +1 -0
  219. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/getMarket.js +20 -0
  220. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/getMarket.js.map +1 -0
  221. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/getOrders.js +29 -0
  222. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/getOrders.js.map +1 -0
  223. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/listMarkets.js +28 -0
  224. package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/listMarkets.js.map +1 -0
  225. package/dist/electron-build/constraint-runtime/src/tools/SafeSDK/deploySafe.js +10 -0
  226. package/dist/electron-build/constraint-runtime/src/tools/SafeSDK/deploySafe.js.map +1 -0
  227. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/autoPay.js +68 -0
  228. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/autoPay.js.map +1 -0
  229. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/createWallet.js +14 -0
  230. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/createWallet.js.map +1 -0
  231. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/getBalance.js +17 -0
  232. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/getBalance.js.map +1 -0
  233. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/importWallet.js +59 -0
  234. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/importWallet.js.map +1 -0
  235. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/sendTransaction.js +29 -0
  236. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/sendTransaction.js.map +1 -0
  237. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/signMessage.js +14 -0
  238. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/signMessage.js.map +1 -0
  239. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/transferToken.js +29 -0
  240. package/dist/electron-build/constraint-runtime/src/tools/WalletTools/transferToken.js.map +1 -0
  241. package/dist/electron-build/constraints/index.js +11 -0
  242. package/dist/electron-build/constraints/index.js.map +1 -0
  243. package/dist/electron-build/context-compaction/auto-compact.js +182 -0
  244. package/dist/electron-build/context-compaction/auto-compact.js.map +1 -0
  245. package/dist/electron-build/context-compaction/budget-gate.js +32 -0
  246. package/dist/electron-build/context-compaction/budget-gate.js.map +1 -0
  247. package/dist/electron-build/context-compaction/budget-reduce.js +39 -0
  248. package/dist/electron-build/context-compaction/budget-reduce.js.map +1 -0
  249. package/dist/electron-build/context-compaction/context-collapse.js +71 -0
  250. package/dist/electron-build/context-compaction/context-collapse.js.map +1 -0
  251. package/dist/electron-build/context-compaction/index.js +38 -0
  252. package/dist/electron-build/context-compaction/index.js.map +1 -0
  253. package/dist/electron-build/context-compaction/microcompact.js +55 -0
  254. package/dist/electron-build/context-compaction/microcompact.js.map +1 -0
  255. package/dist/electron-build/context-compaction/pipeline.js +128 -0
  256. package/dist/electron-build/context-compaction/pipeline.js.map +1 -0
  257. package/dist/electron-build/context-compaction/snip.js +50 -0
  258. package/dist/electron-build/context-compaction/snip.js.map +1 -0
  259. package/dist/electron-build/context-compaction/token-estimator.js +40 -0
  260. package/dist/electron-build/context-compaction/token-estimator.js.map +1 -0
  261. package/dist/electron-build/context-compaction/types.js +21 -0
  262. package/dist/electron-build/context-compaction/types.js.map +1 -0
  263. package/dist/electron-build/cron/tick-lock.js +247 -0
  264. package/dist/electron-build/cron/tick-lock.js.map +1 -0
  265. package/dist/electron-build/documents/reader.js +131 -0
  266. package/dist/electron-build/documents/reader.js.map +1 -0
  267. package/dist/electron-build/documents/store.js +220 -0
  268. package/dist/electron-build/documents/store.js.map +1 -0
  269. package/dist/electron-build/external-engines/delegate-handle.js +76 -0
  270. package/dist/electron-build/external-engines/delegate-handle.js.map +1 -0
  271. package/dist/electron-build/external-engines/delegate.js +225 -0
  272. package/dist/electron-build/external-engines/delegate.js.map +1 -0
  273. package/dist/electron-build/external-engines/discovery.js +448 -0
  274. package/dist/electron-build/external-engines/discovery.js.map +1 -0
  275. package/dist/electron-build/external-engines/types.js +13 -0
  276. package/dist/electron-build/external-engines/types.js.map +1 -0
  277. package/dist/electron-build/hooks/hooks-engine.js +367 -0
  278. package/dist/electron-build/hooks/hooks-engine.js.map +1 -0
  279. package/dist/electron-build/judgeness/reflect.js +100 -0
  280. package/dist/electron-build/judgeness/reflect.js.map +1 -0
  281. package/dist/electron-build/judgeness/store.js +536 -0
  282. package/dist/electron-build/judgeness/store.js.map +1 -0
  283. package/dist/electron-build/judgeness/types.js +21 -0
  284. package/dist/electron-build/judgeness/types.js.map +1 -0
  285. package/dist/electron-build/llm/config-store.js +551 -0
  286. package/dist/electron-build/llm/config-store.js.map +1 -0
  287. package/dist/electron-build/llm/error-lessons.js +76 -0
  288. package/dist/electron-build/llm/error-lessons.js.map +1 -0
  289. package/dist/electron-build/llm/pi-ai.js +830 -0
  290. package/dist/electron-build/llm/pi-ai.js.map +1 -0
  291. package/dist/electron-build/llm/system-prompt/registry.js +318 -0
  292. package/dist/electron-build/llm/system-prompt/registry.js.map +1 -0
  293. package/dist/electron-build/llm/system-prompt/strip-hibsml.js +55 -0
  294. package/dist/electron-build/llm/system-prompt/strip-hibsml.js.map +1 -0
  295. package/dist/electron-build/locales/en.js +32 -0
  296. package/dist/electron-build/locales/en.js.map +1 -0
  297. package/dist/electron-build/locales/zh.js +30 -0
  298. package/dist/electron-build/locales/zh.js.map +1 -0
  299. package/dist/electron-build/lsp/lsp-manager.js +327 -0
  300. package/dist/electron-build/lsp/lsp-manager.js.map +1 -0
  301. package/dist/electron-build/lsp/lsp-tools.js +226 -0
  302. package/dist/electron-build/lsp/lsp-tools.js.map +1 -0
  303. package/dist/electron-build/migration/external-agent-migrator.js +451 -0
  304. package/dist/electron-build/migration/external-agent-migrator.js.map +1 -0
  305. package/dist/electron-build/network/agent-network.js +775 -0
  306. package/dist/electron-build/network/agent-network.js.map +1 -0
  307. package/dist/electron-build/network/goal-event-bridge.js +62 -0
  308. package/dist/electron-build/network/goal-event-bridge.js.map +1 -0
  309. package/dist/electron-build/network/iroh-integration.js +117 -0
  310. package/dist/electron-build/network/iroh-integration.js.map +1 -0
  311. package/dist/electron-build/network/iroh-transport.js +550 -0
  312. package/dist/electron-build/network/iroh-transport.js.map +1 -0
  313. package/dist/electron-build/network/p2p.js +1103 -0
  314. package/dist/electron-build/network/p2p.js.map +1 -0
  315. package/dist/electron-build/network/storage/adapters/json-adapter.js +416 -0
  316. package/dist/electron-build/network/storage/adapters/json-adapter.js.map +1 -0
  317. package/dist/electron-build/network/storage/types.js +18 -0
  318. package/dist/electron-build/network/storage/types.js.map +1 -0
  319. package/dist/electron-build/orbitdb/agent-tools.js +402 -0
  320. package/dist/electron-build/orbitdb/agent-tools.js.map +1 -0
  321. package/dist/electron-build/orbitdb/cid-database.js +284 -0
  322. package/dist/electron-build/orbitdb/cid-database.js.map +1 -0
  323. package/dist/electron-build/orbitdb/context-store.js +99 -0
  324. package/dist/electron-build/orbitdb/context-store.js.map +1 -0
  325. package/dist/electron-build/orbitdb/ipfs-node.js +120 -0
  326. package/dist/electron-build/orbitdb/ipfs-node.js.map +1 -0
  327. package/dist/electron-build/orbitdb/kanban-store.js +299 -0
  328. package/dist/electron-build/orbitdb/kanban-store.js.map +1 -0
  329. package/dist/electron-build/orbitdb/task-store.js +155 -0
  330. package/dist/electron-build/orbitdb/task-store.js.map +1 -0
  331. package/dist/electron-build/orbitdb/trajectory-store.js +194 -0
  332. package/dist/electron-build/orbitdb/trajectory-store.js.map +1 -0
  333. package/dist/electron-build/orbitdb/ui-cid.js +77 -0
  334. package/dist/electron-build/orbitdb/ui-cid.js.map +1 -0
  335. package/dist/electron-build/pi-ecosystem-a2ui/index.js +89 -0
  336. package/dist/electron-build/pi-ecosystem-a2ui/index.js.map +1 -0
  337. package/dist/electron-build/pi-ecosystem-goals/index.js +512 -0
  338. package/dist/electron-build/pi-ecosystem-goals/index.js.map +1 -0
  339. package/dist/electron-build/pi-ecosystem-judgment/adaptive-scan.js +325 -0
  340. package/dist/electron-build/pi-ecosystem-judgment/adaptive-scan.js.map +1 -0
  341. package/dist/electron-build/pi-ecosystem-judgment/causal-judge.js +492 -0
  342. package/dist/electron-build/pi-ecosystem-judgment/causal-judge.js.map +1 -0
  343. package/dist/electron-build/pi-ecosystem-judgment/cleanup.js +167 -0
  344. package/dist/electron-build/pi-ecosystem-judgment/cleanup.js.map +1 -0
  345. package/dist/electron-build/pi-ecosystem-judgment/decision.js +321 -0
  346. package/dist/electron-build/pi-ecosystem-judgment/decision.js.map +1 -0
  347. package/dist/electron-build/pi-ecosystem-judgment/detect-hook.js +175 -0
  348. package/dist/electron-build/pi-ecosystem-judgment/detect-hook.js.map +1 -0
  349. package/dist/electron-build/pi-ecosystem-judgment/distill-prompt.js +232 -0
  350. package/dist/electron-build/pi-ecosystem-judgment/distill-prompt.js.map +1 -0
  351. package/dist/electron-build/pi-ecosystem-judgment/distillation.js +304 -0
  352. package/dist/electron-build/pi-ecosystem-judgment/distillation.js.map +1 -0
  353. package/dist/electron-build/pi-ecosystem-judgment/evolve-judgment.js +176 -0
  354. package/dist/electron-build/pi-ecosystem-judgment/evolve-judgment.js.map +1 -0
  355. package/dist/electron-build/pi-ecosystem-judgment/human-value-pipeline.js +65 -0
  356. package/dist/electron-build/pi-ecosystem-judgment/human-value-pipeline.js.map +1 -0
  357. package/dist/electron-build/pi-ecosystem-judgment/human-value-store.js +808 -0
  358. package/dist/electron-build/pi-ecosystem-judgment/human-value-store.js.map +1 -0
  359. package/dist/electron-build/pi-ecosystem-judgment/index.js +508 -0
  360. package/dist/electron-build/pi-ecosystem-judgment/index.js.map +1 -0
  361. package/dist/electron-build/pi-ecosystem-judgment/injection-gate.js +334 -0
  362. package/dist/electron-build/pi-ecosystem-judgment/injection-gate.js.map +1 -0
  363. package/dist/electron-build/pi-ecosystem-judgment/monitor-gate.js +228 -0
  364. package/dist/electron-build/pi-ecosystem-judgment/monitor-gate.js.map +1 -0
  365. package/dist/electron-build/pi-ecosystem-judgment/value-injection.js +598 -0
  366. package/dist/electron-build/pi-ecosystem-judgment/value-injection.js.map +1 -0
  367. package/dist/electron-build/pi-ecosystem-mcp/index.js +643 -0
  368. package/dist/electron-build/pi-ecosystem-mcp/index.js.map +1 -0
  369. package/dist/electron-build/pi-ecosystem-mcp/ui-tools.js +116 -0
  370. package/dist/electron-build/pi-ecosystem-mcp/ui-tools.js.map +1 -0
  371. package/dist/electron-build/pi-ecosystem-subagents/index.js +352 -0
  372. package/dist/electron-build/pi-ecosystem-subagents/index.js.map +1 -0
  373. package/dist/electron-build/security/builtin-guards.js +133 -0
  374. package/dist/electron-build/security/builtin-guards.js.map +1 -0
  375. package/dist/electron-build/security/context-router-tool.js +111 -0
  376. package/dist/electron-build/security/context-router-tool.js.map +1 -0
  377. package/dist/electron-build/security/input-scanner.js +263 -0
  378. package/dist/electron-build/security/input-scanner.js.map +1 -0
  379. package/dist/electron-build/security/react-harness.js +148 -0
  380. package/dist/electron-build/security/react-harness.js.map +1 -0
  381. package/dist/electron-build/security/tool-gate.js +287 -0
  382. package/dist/electron-build/security/tool-gate.js.map +1 -0
  383. package/dist/electron-build/setup/setup-store.js +648 -0
  384. package/dist/electron-build/setup/setup-store.js.map +1 -0
  385. package/dist/electron-build/social/channels/ChannelManager.js +444 -0
  386. package/dist/electron-build/social/channels/ChannelManager.js.map +1 -0
  387. package/dist/electron-build/social/channels/DiapChannelBridge.js +451 -0
  388. package/dist/electron-build/social/channels/DiapChannelBridge.js.map +1 -0
  389. package/dist/electron-build/social/channels/InterestMatcher.js +135 -0
  390. package/dist/electron-build/social/channels/InterestMatcher.js.map +1 -0
  391. package/dist/electron-build/social/channels/types.js +21 -0
  392. package/dist/electron-build/social/channels/types.js.map +1 -0
  393. package/dist/electron-build/social/global-shared-context.js +368 -0
  394. package/dist/electron-build/social/global-shared-context.js.map +1 -0
  395. package/dist/electron-build/social/heartbeat.js +882 -0
  396. package/dist/electron-build/social/heartbeat.js.map +1 -0
  397. package/dist/electron-build/storage/did-catalog-bridge.js +314 -0
  398. package/dist/electron-build/storage/did-catalog-bridge.js.map +1 -0
  399. package/dist/electron-build/storage/did-catalog.js +272 -0
  400. package/dist/electron-build/storage/did-catalog.js.map +1 -0
  401. package/dist/electron-build/utils/auto-update.js +140 -558
  402. package/dist/electron-build/utils/auto-update.js.map +1 -1
  403. package/dist/electron-build/utils/module-context.js +98 -0
  404. package/dist/electron-build/utils/module-context.js.map +1 -0
  405. package/dist/electron-build/utils/runtime-bootstrap.js +745 -0
  406. package/dist/electron-build/utils/runtime-bootstrap.js.map +1 -0
  407. package/dist/electron-build/utils/update-manager.js +770 -0
  408. package/dist/electron-build/utils/update-manager.js.map +1 -0
  409. package/dist/electron-build/utils/update-state.js +406 -0
  410. package/dist/electron-build/utils/update-state.js.map +1 -0
  411. package/dist/electron-build/utils/version-info.js +562 -0
  412. package/dist/electron-build/utils/version-info.js.map +1 -0
  413. package/dist/electron-build/web/i18n.js +146 -0
  414. package/dist/electron-build/web/i18n.js.map +1 -0
  415. package/dist/electron-build/web/routes-x402-info.js +232 -0
  416. package/dist/electron-build/web/routes-x402-info.js.map +1 -0
  417. package/dist/electron-build/web/server-storage.js +390 -0
  418. package/dist/electron-build/web/server-storage.js.map +1 -0
  419. package/dist/electron-build/web/server-types.js +52 -0
  420. package/dist/electron-build/web/server-types.js.map +1 -0
  421. package/dist/electron-build/web/task-deps.js +41 -0
  422. package/dist/electron-build/web/task-deps.js.map +1 -0
  423. package/dist/index.js +28 -27
  424. package/dist/llm/system-prompt/registry.js +6 -3
  425. package/dist/utils/auto-update.js +138 -525
  426. package/dist/utils/module-context.js +59 -0
  427. package/dist/utils/runtime-bootstrap.js +682 -0
  428. package/dist/utils/update-cli.js +82 -0
  429. package/dist/utils/update-health.js +401 -0
  430. package/dist/utils/update-manager.js +716 -0
  431. package/dist/utils/update-state.js +353 -0
  432. package/dist/utils/version-info.js +510 -0
  433. package/package.json +1 -1
  434. package/scripts/build-cli.js +32 -151
  435. package/scripts/postinstall.js +153 -76
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-manager.js","sourceRoot":"","sources":["../../../src/utils/update-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,406 @@
1
+ "use strict";
2
+ /**
3
+ * update-state.ts — 更新系统的**落盘事实** (Phase 0/5/7, 2026-09-19)
4
+ *
5
+ * 三个文件, 三个职责 (不混):
6
+ * `~/.bolloon/update-state.json` 当前状态 (最近一次检查 / 最近一次更新 / 开关 / 锁)
7
+ * `~/.bolloon/update-history.jsonl` append-only 历史 (每次更新一行, 供 `update --history`)
8
+ * `~/.bolloon/update.lock` 更新锁 (含 pid + 时间; 陈旧锁可自动回收)
9
+ *
10
+ * 硬约束:
11
+ * - **绝不** 触碰除上面三个文件之外的任何 `~/.bolloon` 内容 (config / goals / runs /
12
+ * transactions / skills 一律只读或不动)。
13
+ * - 原子写 (tmp + rename): 半份状态文件比没有状态文件更危险。
14
+ * - 旧的 `~/.bolloon/.update-check.json` **只读一次**做迁移, 不再写 (单一事实)。
15
+ */
16
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ var desc = Object.getOwnPropertyDescriptor(m, k);
19
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
20
+ desc = { enumerable: true, get: function() { return m[k]; } };
21
+ }
22
+ Object.defineProperty(o, k2, desc);
23
+ }) : (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ o[k2] = m[k];
26
+ }));
27
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
28
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
29
+ }) : function(o, v) {
30
+ o["default"] = v;
31
+ });
32
+ var __importStar = (this && this.__importStar) || (function () {
33
+ var ownKeys = function(o) {
34
+ ownKeys = Object.getOwnPropertyNames || function (o) {
35
+ var ar = [];
36
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
37
+ return ar;
38
+ };
39
+ return ownKeys(o);
40
+ };
41
+ return function (mod) {
42
+ if (mod && mod.__esModule) return mod;
43
+ var result = {};
44
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
45
+ __setModuleDefault(result, mod);
46
+ return result;
47
+ };
48
+ })();
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.UPDATE_STATE_SCHEMA = exports.IN_FLIGHT_RUN_STATUSES = exports.UPDATE_RUN_STATUSES = exports.CHECK_STATUSES = void 0;
51
+ exports.updateStatePath = updateStatePath;
52
+ exports.updateHistoryPath = updateHistoryPath;
53
+ exports.updateLockPath = updateLockPath;
54
+ exports.legacyCheckCachePath = legacyCheckCachePath;
55
+ exports.emptyUpdateState = emptyUpdateState;
56
+ exports.readUpdateState = readUpdateState;
57
+ exports.writeUpdateState = writeUpdateState;
58
+ exports.appendUpdateHistory = appendUpdateHistory;
59
+ exports.readUpdateHistory = readUpdateHistory;
60
+ exports.readUpdateLock = readUpdateLock;
61
+ exports.lockIsStale = lockIsStale;
62
+ exports.acquireUpdateLock = acquireUpdateLock;
63
+ exports.releaseUpdateLock = releaseUpdateLock;
64
+ exports.reclaimStaleLockIfAny = reclaimStaleLockIfAny;
65
+ exports.readUpdatePrefs = readUpdatePrefs;
66
+ exports.ensureUpdatePrefsInConfig = ensureUpdatePrefsInConfig;
67
+ const os = __importStar(require("os"));
68
+ const path = __importStar(require("path"));
69
+ const fs = __importStar(require("fs"));
70
+ const fsp = __importStar(require("fs/promises"));
71
+ const setup_store_js_1 = require("../setup/setup-store.js");
72
+ // ── 枚举 (冻结: 出口/状态都不许临时造词) ────────────────────────────────────
73
+ /** 一次"检查"的结论。7 个值就是全部, 不认识的一律落进 registry_unavailable 并带原因。 */
74
+ exports.CHECK_STATUSES = [
75
+ 'up_to_date', // 确认最新
76
+ 'update_available', // 有新版本
77
+ 'check_skipped', // 节流/显式跳过, 结论来自缓存
78
+ 'offline', // 网络不可达 (≠ 最新)
79
+ 'registry_unavailable', // 可达但拿不到有效数据 (5xx / 包不存在 / 无 dist-tags)
80
+ 'local_version_unknown', // 读不到本地版本 (不猜 0.0.0)
81
+ 'unsupported_installation', // 认得出本地版本, 但这种安装方式不支持自动更新
82
+ ];
83
+ /** 一次"更新执行"的流水线状态。 */
84
+ exports.UPDATE_RUN_STATUSES = [
85
+ 'planned', 'downloading', 'staged', 'switching', 'verifying',
86
+ 'succeeded', 'failed', 'rolled_back', 'blocked',
87
+ ];
88
+ /** 处于"进行中"的状态 —— 落盘时看到它说明上次更新被中断 (doctor 会报)。 */
89
+ exports.IN_FLIGHT_RUN_STATUSES = ['planned', 'downloading', 'staged', 'switching', 'verifying'];
90
+ exports.UPDATE_STATE_SCHEMA = 'bolloon-update/1';
91
+ // ── 路径 ────────────────────────────────────────────────────────────────────
92
+ function updateStatePath(home = (0, setup_store_js_1.resolveBolloonHome)()) {
93
+ return path.join(home, 'update-state.json');
94
+ }
95
+ function updateHistoryPath(home = (0, setup_store_js_1.resolveBolloonHome)()) {
96
+ return path.join(home, 'update-history.jsonl');
97
+ }
98
+ function updateLockPath(home = (0, setup_store_js_1.resolveBolloonHome)()) {
99
+ return path.join(home, 'update.lock');
100
+ }
101
+ /** 迁移输入: 旧版节流缓存 (只读)。 */
102
+ function legacyCheckCachePath(home = (0, setup_store_js_1.resolveBolloonHome)()) {
103
+ return path.join(home, '.update-check.json');
104
+ }
105
+ function emptyUpdateState(now = new Date()) {
106
+ return {
107
+ schema: exports.UPDATE_STATE_SCHEMA,
108
+ currentVersion: 'unknown',
109
+ latestVersion: null,
110
+ channel: 'stable',
111
+ installMethod: 'unknown',
112
+ installDir: '',
113
+ entryPath: '',
114
+ gitCommit: null,
115
+ nodeVersion: process.version.replace(/^v/, ''),
116
+ platform: os.platform(),
117
+ arch: os.arch(),
118
+ lastCheckAt: null,
119
+ lastCheckStatus: null,
120
+ lastUpdate: null,
121
+ lastFailure: null,
122
+ checkUpdates: true,
123
+ autoInstall: false,
124
+ autoRestart: false,
125
+ needsRestart: false,
126
+ updatedAt: now.toISOString(),
127
+ };
128
+ }
129
+ // ── 读写 (原子) ─────────────────────────────────────────────────────────────
130
+ async function readUpdateState(home = (0, setup_store_js_1.resolveBolloonHome)()) {
131
+ const base = emptyUpdateState();
132
+ let raw = null;
133
+ try {
134
+ raw = JSON.parse(await fsp.readFile(updateStatePath(home), 'utf8'));
135
+ }
136
+ catch {
137
+ raw = null;
138
+ }
139
+ if (!raw || raw.schema !== exports.UPDATE_STATE_SCHEMA) {
140
+ // 迁移: 旧 `.update-check.json` 只有 lastCheck (epoch ms), 取来做"上次检查"时间。
141
+ try {
142
+ const legacy = JSON.parse(await fsp.readFile(legacyCheckCachePath(home), 'utf8'));
143
+ if (typeof legacy?.lastCheck === 'number' && legacy.lastCheck > 0) {
144
+ return { ...base, lastCheckAt: new Date(legacy.lastCheck).toISOString(), lastCheckStatus: null };
145
+ }
146
+ }
147
+ catch {
148
+ // 没有旧文件
149
+ }
150
+ return base;
151
+ }
152
+ return {
153
+ ...base, ...raw,
154
+ lastUpdate: raw.lastUpdate ?? null,
155
+ lastFailure: raw.lastFailure ?? null,
156
+ };
157
+ }
158
+ /**
159
+ * 进程内写队列: 状态文件是 **read-modify-write**, 两个并发的写会互相丢字段
160
+ * (真被测试抓到过: 未 await 的阶段留痕在成功/失败记录之后落地, 把 lastFailure 抹掉)。
161
+ * 同一个 home 的写串成一条链, 读到的 cur 永远是最新已落盘版本。
162
+ */
163
+ const writeChains = new Map();
164
+ /** 原子合并写 (只覆盖显式传入的字段; 同一 home 的写串行化)。 */
165
+ async function writeUpdateState(patch, home = (0, setup_store_js_1.resolveBolloonHome)()) {
166
+ const key = path.resolve(home);
167
+ const prev = writeChains.get(key) || Promise.resolve();
168
+ const run = prev.catch(() => undefined).then(async () => {
169
+ const cur = await readUpdateState(home);
170
+ const next = { ...cur, ...patch, schema: exports.UPDATE_STATE_SCHEMA, updatedAt: new Date().toISOString() };
171
+ await fsp.mkdir(home, { recursive: true });
172
+ const p = updateStatePath(home);
173
+ const tmp = `${p}.tmp-${process.pid}`;
174
+ await fsp.writeFile(tmp, JSON.stringify(next, null, 2), 'utf8');
175
+ await fsp.rename(tmp, p);
176
+ return next;
177
+ });
178
+ writeChains.set(key, run);
179
+ try {
180
+ return await run;
181
+ }
182
+ finally {
183
+ if (writeChains.get(key) === run)
184
+ writeChains.delete(key);
185
+ }
186
+ }
187
+ // ── 历史 (append-only) ──────────────────────────────────────────────────────
188
+ async function appendUpdateHistory(entry, home = (0, setup_store_js_1.resolveBolloonHome)()) {
189
+ try {
190
+ await fsp.mkdir(home, { recursive: true });
191
+ await fsp.appendFile(updateHistoryPath(home), JSON.stringify(entry) + '\n', 'utf8');
192
+ }
193
+ catch {
194
+ // 历史写失败不能影响更新本身
195
+ }
196
+ }
197
+ async function readUpdateHistory(limit = 10, home = (0, setup_store_js_1.resolveBolloonHome)()) {
198
+ let text = '';
199
+ try {
200
+ text = await fsp.readFile(updateHistoryPath(home), 'utf8');
201
+ }
202
+ catch {
203
+ return [];
204
+ }
205
+ const out = [];
206
+ for (const line of text.split('\n')) {
207
+ const t = line.trim();
208
+ if (!t)
209
+ continue;
210
+ try {
211
+ const rec = JSON.parse(t);
212
+ if (rec && rec.at)
213
+ out.push(rec);
214
+ }
215
+ catch {
216
+ // 半行 (被 kill) 直接跳过
217
+ }
218
+ }
219
+ return out.slice(-Math.max(1, limit)).reverse();
220
+ }
221
+ // ── 锁 ──────────────────────────────────────────────────────────────────────
222
+ const LOCK_STALE_MS = 30 * 60 * 1000;
223
+ function pidAlive(pid) {
224
+ if (!Number.isFinite(pid) || pid <= 0)
225
+ return false;
226
+ try {
227
+ process.kill(pid, 0);
228
+ return true;
229
+ }
230
+ catch (e) {
231
+ // EPERM = 存在但没权限 → 活着
232
+ return e?.code === 'EPERM';
233
+ }
234
+ }
235
+ function readUpdateLock(home = (0, setup_store_js_1.resolveBolloonHome)()) {
236
+ try {
237
+ const raw = JSON.parse(fs.readFileSync(updateLockPath(home), 'utf8'));
238
+ if (!raw || typeof raw.pid !== 'number')
239
+ return null;
240
+ return raw;
241
+ }
242
+ catch {
243
+ return null;
244
+ }
245
+ }
246
+ function lockIsStale(lock, now = Date.now()) {
247
+ const at = Date.parse(lock.at || '');
248
+ if (!Number.isFinite(at))
249
+ return true;
250
+ if (now - at > LOCK_STALE_MS)
251
+ return true;
252
+ return !pidAlive(lock.pid);
253
+ }
254
+ async function acquireUpdateLock(opts = {}) {
255
+ const home = opts.home ?? (0, setup_store_js_1.resolveBolloonHome)();
256
+ const existing = readUpdateLock(home);
257
+ let staleReclaimed = false;
258
+ if (existing) {
259
+ if (!lockIsStale(existing, opts.now)) {
260
+ return { ok: false, heldBy: existing };
261
+ }
262
+ staleReclaimed = true;
263
+ }
264
+ const lock = {
265
+ pid: process.pid,
266
+ at: new Date(opts.now ?? Date.now()).toISOString(),
267
+ by: opts.by || 'bolloon update',
268
+ reason: opts.reason,
269
+ };
270
+ await fsp.mkdir(home, { recursive: true });
271
+ const p = updateLockPath(home);
272
+ // 独占创建: 抢锁失败只能说明另一进程刚抢到
273
+ try {
274
+ const fh = await fsp.open(p, 'wx');
275
+ await fh.writeFile(JSON.stringify(lock, null, 2), 'utf8');
276
+ await fh.close();
277
+ }
278
+ catch {
279
+ if (!staleReclaimed)
280
+ return { ok: false, heldBy: readUpdateLock(home) || undefined };
281
+ await fsp.writeFile(p, JSON.stringify(lock, null, 2), 'utf8');
282
+ }
283
+ return { ok: true, lock, staleReclaimed };
284
+ }
285
+ async function releaseUpdateLock(home = (0, setup_store_js_1.resolveBolloonHome)()) {
286
+ const cur = readUpdateLock(home);
287
+ // 只释放自己的锁 (别人的锁不许删)
288
+ if (cur && cur.pid !== process.pid)
289
+ return;
290
+ try {
291
+ await fsp.unlink(updateLockPath(home));
292
+ }
293
+ catch {
294
+ // 已经没了
295
+ }
296
+ }
297
+ /** doctor 用: 清掉陈旧锁 (有活性就不动)。 */
298
+ async function reclaimStaleLockIfAny(home = (0, setup_store_js_1.resolveBolloonHome)()) {
299
+ const lock = readUpdateLock(home);
300
+ if (!lock || !lockIsStale(lock))
301
+ return { reclaimed: false, lock };
302
+ try {
303
+ await fsp.unlink(updateLockPath(home));
304
+ return { reclaimed: true, lock };
305
+ }
306
+ catch {
307
+ return { reclaimed: false, lock };
308
+ }
309
+ }
310
+ // ── 开关 (默认: 检查开 / 自动装关 / 自动重启关) ─────────────────────────────
311
+ /**
312
+ * 读取更新开关。
313
+ * 优先级: 环境变量 (临时覆盖) > `~/.bolloon/config.json` > 默认。
314
+ *
315
+ * **行为变更 (2026-09-19, 刻意)**: 旧默认是 `autoUpdate: true` + `autoRestart: true`
316
+ * (检测到新版就自动装 + 自动重启)。新默认是 `checkUpdates: true` / `autoInstall: false`
317
+ * / `autoRestart: false` —— 只通知, 装上要用户显式 `bolloon update --now`.
318
+ * 旧字段 `autoUpdate` 仍被读取, 但**只映射到 checkUpdates** (`autoUpdate: false` = 不要检查),
319
+ * 绝不映射成 autoInstall —— 否则一次升级就把"自动替换运行时"当成用户意愿。
320
+ */
321
+ async function readUpdatePrefs(opts = {}) {
322
+ const home = opts.home ?? (0, setup_store_js_1.resolveBolloonHome)();
323
+ const env = opts.env ?? process.env;
324
+ const prefs = {
325
+ checkUpdates: true, autoInstall: false, autoRestart: false, channel: 'stable', checkIntervalHours: 24,
326
+ sources: { checkUpdates: 'default', autoInstall: 'default', autoRestart: 'default', channel: 'default' },
327
+ };
328
+ try {
329
+ const cfg = JSON.parse(await fsp.readFile(path.join(home, 'config.json'), 'utf8'));
330
+ if (typeof cfg?.autoUpdate === 'boolean') {
331
+ prefs.checkUpdates = cfg.autoUpdate;
332
+ prefs.sources.checkUpdates = 'config';
333
+ }
334
+ for (const key of ['checkUpdates', 'autoInstall', 'autoRestart']) {
335
+ if (typeof cfg?.[key] === 'boolean') {
336
+ prefs[key] = cfg[key];
337
+ prefs.sources[key] = 'config';
338
+ }
339
+ }
340
+ if (typeof cfg?.updateChannel === 'string') {
341
+ const ch = cfg.updateChannel.trim().toLowerCase();
342
+ if (ch === 'stable' || ch === 'beta' || ch === 'dev') {
343
+ prefs.channel = ch;
344
+ prefs.sources.channel = 'config';
345
+ }
346
+ }
347
+ if (typeof cfg?.checkIntervalHours === 'number' && cfg.checkIntervalHours > 0) {
348
+ prefs.checkIntervalHours = cfg.checkIntervalHours;
349
+ }
350
+ }
351
+ catch {
352
+ // 没有 config.json 就用默认
353
+ }
354
+ // 环境变量: 只作**本次进程的临时覆盖**, 不落盘
355
+ const skip = env.BOLLOON_SKIP_UPDATE;
356
+ if (skip === '1' || skip === 'true') {
357
+ prefs.checkUpdates = false;
358
+ prefs.sources.checkUpdates = 'env';
359
+ }
360
+ const auto = env.BOLLOON_AUTO_UPDATE;
361
+ if (auto === '1' || auto === 'true') {
362
+ prefs.autoInstall = true;
363
+ prefs.sources.autoInstall = 'env';
364
+ }
365
+ const ch = (env.BOLLOON_UPDATE_CHANNEL || '').trim().toLowerCase();
366
+ if (ch === 'stable' || ch === 'beta' || ch === 'dev') {
367
+ prefs.channel = ch;
368
+ prefs.sources.channel = 'env';
369
+ }
370
+ return prefs;
371
+ }
372
+ /** 把新的默认开关写进 config.json —— 只在文件存在且缺字段时补, 绝不覆盖用户已有值。 */
373
+ async function ensureUpdatePrefsInConfig(home = (0, setup_store_js_1.resolveBolloonHome)()) {
374
+ const p = path.join(home, 'config.json');
375
+ let cfg;
376
+ try {
377
+ cfg = JSON.parse(await fsp.readFile(p, 'utf8'));
378
+ }
379
+ catch {
380
+ return { changed: false, config: null };
381
+ }
382
+ let changed = false;
383
+ if (typeof cfg.checkUpdates !== 'boolean') {
384
+ cfg.checkUpdates = true;
385
+ changed = true;
386
+ }
387
+ if (typeof cfg.autoInstall !== 'boolean') {
388
+ cfg.autoInstall = false;
389
+ changed = true;
390
+ }
391
+ if (typeof cfg.autoRestart !== 'boolean') {
392
+ cfg.autoRestart = false;
393
+ changed = true;
394
+ }
395
+ if (typeof cfg.updateChannel !== 'string') {
396
+ cfg.updateChannel = 'stable';
397
+ changed = true;
398
+ }
399
+ if (changed) {
400
+ const tmp = `${p}.tmp-${process.pid}`;
401
+ await fsp.writeFile(tmp, JSON.stringify(cfg, null, 2), 'utf8');
402
+ await fsp.rename(tmp, p);
403
+ }
404
+ return { changed, config: cfg };
405
+ }
406
+ //# sourceMappingURL=update-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-state.js","sourceRoot":"","sources":["../../../src/utils/update-state.ts"],"names":[],"mappings":"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"}