@fased/fased 0.1.61 → 0.1.64

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 (514) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +38 -30
  3. package/config/dependency-ownership.json +1 -1
  4. package/config/signer-policies/README.md +49 -0
  5. package/config/signer-policies/agent.json.template +32 -0
  6. package/config/signer-policies/mining.json.template +69 -0
  7. package/config/signer-policies/network.json.template +5 -0
  8. package/config/signer-policies/vault.json.template +70 -0
  9. package/config/signer-protocol-v2.json +76 -0
  10. package/config/typescript-noemit-baseline.json +680 -0
  11. package/dist/acp/client.js +2 -2
  12. package/dist/acp/secret-file.js +2 -2
  13. package/dist/agents/agent-scope.js +2 -2
  14. package/dist/agents/apply-patch.js +8 -8
  15. package/dist/agents/auth-profiles/paths.js +2 -2
  16. package/dist/agents/auth-profiles/store.js +269 -33
  17. package/dist/agents/bash-tools.exec.js +10 -4
  18. package/dist/agents/bash-tools.shared.js +2 -2
  19. package/dist/agents/cli-credentials.js +4 -4
  20. package/dist/agents/current-model-catalog.js +3 -3
  21. package/dist/agents/docs-path.js +3 -3
  22. package/dist/agents/embedded-pi-mcp.js +4 -4
  23. package/dist/agents/identity-avatar.js +3 -3
  24. package/dist/agents/identity-file.js +2 -2
  25. package/dist/agents/memory-search.js +7 -1
  26. package/dist/agents/model-catalog-access.js +1 -2
  27. package/dist/agents/model-catalog-snapshot.js +1 -1
  28. package/dist/agents/model-catalog-source.js +1 -1
  29. package/dist/agents/model-metadata.js +1 -1
  30. package/dist/agents/model-selection.js +2 -28
  31. package/dist/agents/models-config.providers.js +6 -6
  32. package/dist/agents/openai-codex-app-server.js +5 -5
  33. package/dist/agents/pi-embedded-runner/compact.js +15 -7
  34. package/dist/agents/pi-embedded-runner/model.js +1 -1
  35. package/dist/agents/pi-embedded-runner/run/attempt.js +24 -13
  36. package/dist/agents/pi-embedded-runner/run.js +2 -0
  37. package/dist/agents/pi-embedded-runner/tool-split.js +40 -2
  38. package/dist/agents/pi-embedded-subscribe.raw-stream.js +3 -3
  39. package/dist/agents/pi-extensions/compaction-safeguard.js +3 -3
  40. package/dist/agents/pi-model-discovery.js +6 -6
  41. package/dist/agents/pi-project-settings.js +3 -3
  42. package/dist/agents/pi-tool-definition-adapter.js +16 -1
  43. package/dist/agents/pi-tools.js +2 -1
  44. package/dist/agents/sandbox/config.js +1 -1
  45. package/dist/agents/sandbox/context.js +27 -2
  46. package/dist/agents/sandbox/fs-bridge.js +2 -2
  47. package/dist/agents/session-dirs.js +4 -4
  48. package/dist/agents/session-write-lock.js +13 -13
  49. package/dist/agents/shell-utils.js +5 -5
  50. package/dist/agents/skills/bundled-dir.js +4 -4
  51. package/dist/agents/skills/env-overrides.js +38 -28
  52. package/dist/agents/skills/local-loader.js +6 -6
  53. package/dist/agents/skills/plugin-skills.js +2 -2
  54. package/dist/agents/skills/trust.js +93 -0
  55. package/dist/agents/skills/workspace.js +141 -13
  56. package/dist/agents/skills-clawhub.js +36 -11
  57. package/dist/agents/skills-install-download.js +7 -7
  58. package/dist/agents/skills-install-plan.js +2 -2
  59. package/dist/agents/skills-install.js +2 -2
  60. package/dist/agents/skills-marketplace-scan.js +49 -0
  61. package/dist/agents/skills-status.js +2 -2
  62. package/dist/agents/subagent-depth.js +2 -2
  63. package/dist/agents/system-prompt-params.js +2 -2
  64. package/dist/agents/tools/marketplace-offer-draft-tool.js +1 -1
  65. package/dist/agents/tools/mining-tool.js +1 -1
  66. package/dist/agents/tools/session-status-tool.js +1 -1
  67. package/dist/agents/tools/wallet-action-tool.js +172 -36
  68. package/dist/agents/tools/wallet-skill-policy.js +65 -23
  69. package/dist/agents/tools/wallet-tool.js +7 -11
  70. package/dist/agents/workspace.js +22 -22
  71. package/dist/auto-reply/reply/agent-runner-execution.js +2 -2
  72. package/dist/auto-reply/reply/agent-runner.js +2 -2
  73. package/dist/auto-reply/reply/commands-export-session.js +7 -7
  74. package/dist/auto-reply/reply/directive-handling.fast-lane.js +2 -1
  75. package/dist/auto-reply/reply/directive-handling.impl.js +2 -1
  76. package/dist/auto-reply/reply/directive-handling.model.js +2 -1
  77. package/dist/auto-reply/reply/directive-handling.persist.js +2 -2
  78. package/dist/auto-reply/reply/get-reply-directives-apply.js +2 -0
  79. package/dist/auto-reply/reply/get-reply-inline-actions.js +25 -1
  80. package/dist/auto-reply/reply/model-selection.js +7 -4
  81. package/dist/auto-reply/reply/post-compaction-audit.js +3 -3
  82. package/dist/auto-reply/reply/post-compaction-context.js +3 -3
  83. package/dist/auto-reply/reply/session-reset-model.js +4 -4
  84. package/dist/auto-reply/reply/session.js +3 -3
  85. package/dist/auto-reply/skill-commands.js +3 -3
  86. package/dist/auto-reply/status.js +6 -6
  87. package/dist/brand.js +1 -1
  88. package/dist/browser/chrome.executables.js +3 -3
  89. package/dist/browser/chrome.js +3 -3
  90. package/dist/browser/chrome.profile-decoration.js +6 -6
  91. package/dist/browser/profiles-service.js +2 -2
  92. package/dist/browser/server-context.js +2 -2
  93. package/dist/browser/trash.js +4 -4
  94. package/dist/build-info.json +3 -3
  95. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  96. package/dist/canvas-host/server.js +4 -4
  97. package/dist/capabilities/catalog.js +3 -3
  98. package/dist/channel-web.js +2 -2
  99. package/dist/channels/plugins/catalog.js +3 -3
  100. package/dist/cli/browser-cli-extension.js +6 -6
  101. package/dist/cli/command-format.js +2 -2
  102. package/dist/cli/cron-cli/register.cron-simple.js +2 -2
  103. package/dist/cli/dns-cli.js +9 -9
  104. package/dist/cli/gateway-cli/dev.js +5 -5
  105. package/dist/cli/gateway-cli/run.js +10 -2
  106. package/dist/cli/hooks-cli.js +5 -5
  107. package/dist/cli/lightweight/gateway-runtime-probe.js +2 -2
  108. package/dist/cli/memory-cli.js +7 -7
  109. package/dist/cli/nodes-media-utils.js +2 -2
  110. package/dist/cli/plugins-cli.js +2 -2
  111. package/dist/cli/program/command-registry.js +1 -1
  112. package/dist/cli/program/register.onboard.js +2 -3
  113. package/dist/cli/program/register.wallet.js +16 -123
  114. package/dist/cli/providers-cli.js +1 -1
  115. package/dist/cli/sat-cli.js +129 -2
  116. package/dist/cli/secrets-cli.js +3 -3
  117. package/dist/cli/update-cli/update-command.js +260 -11
  118. package/dist/cli/windows-argv.js +2 -2
  119. package/dist/commands/auth-choice.apply.api-providers.js +3 -3
  120. package/dist/commands/dashboard-link.js +3 -3
  121. package/dist/commands/doctor-config-flow.js +1 -1
  122. package/dist/commands/doctor-install.js +5 -5
  123. package/dist/commands/doctor-legacy-config.js +2 -13
  124. package/dist/commands/doctor-memory-search.js +2 -2
  125. package/dist/commands/doctor-platform-notes.js +2 -2
  126. package/dist/commands/doctor-sandbox.js +2 -2
  127. package/dist/commands/doctor-state-integrity.js +23 -23
  128. package/dist/commands/doctor-workspace.js +3 -3
  129. package/dist/commands/doctor.js +3 -3
  130. package/dist/commands/managed-up.js +2 -2
  131. package/dist/commands/model-picker.js +6 -6
  132. package/dist/commands/models/auth.js +1 -1
  133. package/dist/commands/onboard-auth.config-gateways.js +1 -1
  134. package/dist/commands/onboard-auth.credentials.js +35 -11
  135. package/dist/commands/onboard-non-interactive/local/wallet-config.js +28 -27
  136. package/dist/commands/onboard-non-interactive/local.js +5 -1
  137. package/dist/commands/onboarding/plugin-install.js +2 -2
  138. package/dist/commands/sessions-cleanup.js +2 -2
  139. package/dist/commands/signal-install.js +6 -6
  140. package/dist/commands/status-all/channels.js +2 -2
  141. package/dist/commands/wallet.js +570 -1913
  142. package/dist/config/cache-utils.js +2 -2
  143. package/dist/config/config.js +2 -2
  144. package/dist/config/includes.js +5 -5
  145. package/dist/config/io.js +66 -4
  146. package/dist/config/paths.js +3 -3
  147. package/dist/config/sat-runtime-ids.js +3 -3
  148. package/dist/config/schema.help.js +8 -7
  149. package/dist/config/schema.labels.js +5 -4
  150. package/dist/config/sessions/disk-budget.js +6 -6
  151. package/dist/config/sessions/paths.js +2 -2
  152. package/dist/config/sessions/store.js +17 -17
  153. package/dist/config/sessions/transcript.js +4 -4
  154. package/dist/config/talk.js +2 -2
  155. package/dist/config/zod-schema.agent-runtime.js +1 -0
  156. package/dist/config/zod-schema.js +5 -0
  157. package/dist/control-ui/assets/{app-BXA4gPvN.js → app-bR-fO5ty.js} +1511 -1555
  158. package/dist/control-ui/assets/{config-CU5Zi8Dh.js → config-LeImukCW.js} +10 -10
  159. package/dist/control-ui/assets/{federation-D10Q4eP_.js → federation-DgA9e-Pn.js} +364 -422
  160. package/dist/control-ui/assets/{index-D2QbJhVg.js → index-ckCxHwjy.js} +3 -3
  161. package/dist/control-ui/assets/{mining-BdhMn18r.js → mining-BgHFh0ei.js} +134 -114
  162. package/dist/control-ui/assets/mining-commit-DFpB_4JN.js +2 -0
  163. package/dist/control-ui/assets/{open-external-url-DwSiwMPl.js → open-external-url-ulF1B-sA.js} +3 -3
  164. package/dist/control-ui/assets/{providers-QMn4w2_f.js → providers-CIx9fxc6.js} +2 -2
  165. package/dist/control-ui/assets/{wallet-C2g294QT.js → wallet-DvStR_AT.js} +259 -377
  166. package/dist/control-ui/index.html +1 -1
  167. package/dist/control-ui/version.json +1 -1
  168. package/dist/cron/service/store.js +2 -2
  169. package/dist/cron/store.js +6 -6
  170. package/dist/daemon/systemd-system.js +60 -54
  171. package/dist/discord/monitor/thread-bindings.state.js +2 -2
  172. package/dist/extensions/sat-mining/src/protocol-contract.js +43 -3
  173. package/dist/extensions/sat-mining/src/rpc-read.js +235 -67
  174. package/dist/extensions/sat-mining/src/sat-bond-layout.js +14 -11
  175. package/dist/extensions/sat-mining/src/signer-codec-manifest.js +406 -0
  176. package/dist/extensions/sat-mining/src/solana-submit.js +1038 -397
  177. package/dist/extensions/sat-mining/src/submission-ledger.js +349 -0
  178. package/dist/federation/auto-connect.js +98 -8
  179. package/dist/federation/marketplace-capability-adapter.js +33 -7
  180. package/dist/federation/marketplace-delivery-outbox.js +196 -0
  181. package/dist/federation/marketplace-delivery.js +351 -215
  182. package/dist/federation/marketplace-direct-payment.js +272 -141
  183. package/dist/federation/marketplace-escrow.js +607 -249
  184. package/dist/federation/marketplace-settlement-ledger.js +352 -0
  185. package/dist/federation/offers.js +9 -7
  186. package/dist/federation/peer-auth-v2.js +529 -0
  187. package/dist/gateway/a2a-http.js +425 -96
  188. package/dist/gateway/a2a-settlement.js +259 -153
  189. package/dist/gateway/a2a-task-store.js +524 -0
  190. package/dist/gateway/auth.js +38 -2
  191. package/dist/gateway/config-reload.js +46 -33
  192. package/dist/gateway/control-ui-boot-check.js +6 -6
  193. package/dist/gateway/control-ui-login.js +7 -7
  194. package/dist/gateway/control-ui.js +9 -9
  195. package/dist/gateway/durable-capacity.js +31 -0
  196. package/dist/gateway/federation-http.js +540 -135
  197. package/dist/gateway/federation-marketplace-run-store.js +397 -0
  198. package/dist/gateway/federation-marketplace.js +535 -230
  199. package/dist/gateway/hooks-mapping.js +4 -4
  200. package/dist/gateway/mutating-admin-rpc-rate-limit.js +5 -0
  201. package/dist/gateway/security-path.js +1 -1
  202. package/dist/gateway/server-discovery.js +2 -2
  203. package/dist/gateway/server-http.js +1088 -1209
  204. package/dist/gateway/server-methods/chat.js +3 -3
  205. package/dist/gateway/server-methods/models.js +1 -1
  206. package/dist/gateway/server-methods/secrets.js +40 -0
  207. package/dist/gateway/server-methods/sessions.js +6 -6
  208. package/dist/gateway/server-methods/usage.js +2 -2
  209. package/dist/gateway/server-methods.js +1 -2
  210. package/dist/gateway/server-reload-handlers.js +196 -66
  211. package/dist/gateway/server-runtime-config.js +1 -1
  212. package/dist/gateway/server-secrets-runtime.js +288 -0
  213. package/dist/gateway/server.impl.js +73 -42
  214. package/dist/gateway/session-compaction-checkpoints.js +4 -4
  215. package/dist/gateway/session-utils.fs.js +24 -24
  216. package/dist/gateway/session-utils.js +6 -6
  217. package/dist/gateway/sessions-patch.js +3 -5
  218. package/dist/hooks/bundled-dir.js +4 -4
  219. package/dist/hooks/gmail-setup-utils.js +6 -6
  220. package/dist/hooks/import-url.js +2 -2
  221. package/dist/hooks/loader.js +4 -4
  222. package/dist/hooks/workspace.js +7 -7
  223. package/dist/index.js +4 -2
  224. package/dist/infra/archive.js +17 -17
  225. package/dist/infra/boundary-file-read.js +2 -2
  226. package/dist/infra/boundary-path.js +15 -15
  227. package/dist/infra/brew.js +2 -2
  228. package/dist/infra/control-ui-assets.js +14 -14
  229. package/dist/infra/device-auth-store.js +8 -8
  230. package/dist/infra/device-identity.js +8 -8
  231. package/dist/infra/dotenv.js +2 -2
  232. package/dist/infra/exec-approvals.js +8 -8
  233. package/dist/infra/exec-command-resolution.js +4 -4
  234. package/dist/infra/exec-safe-bin-trust.js +2 -2
  235. package/dist/infra/fased-root.js +5 -5
  236. package/dist/infra/fasedhub.js +64 -1
  237. package/dist/infra/fs-safe.js +14 -14
  238. package/dist/infra/gateway-lock.js +11 -11
  239. package/dist/infra/git-commit.js +5 -5
  240. package/dist/infra/git-root.js +4 -4
  241. package/dist/infra/hosted-runtime-artifact.js +3 -3
  242. package/dist/infra/is-main.js +2 -2
  243. package/dist/infra/json-file.js +7 -7
  244. package/dist/infra/local-source-paired-update.js +538 -0
  245. package/dist/infra/managed-runtime-bootstrap.js +6 -6
  246. package/dist/infra/outbound/delivery-queue.js +16 -16
  247. package/dist/infra/path-env.js +3 -3
  248. package/dist/infra/ports-lsof.js +4 -4
  249. package/dist/infra/provider-usage.auth.js +3 -3
  250. package/dist/infra/restart.js +41 -10
  251. package/dist/infra/safe-open-sync.js +2 -2
  252. package/dist/infra/session-cost-usage.js +9 -9
  253. package/dist/infra/shell-env.js +2 -2
  254. package/dist/infra/state-migrations.fs.js +6 -6
  255. package/dist/infra/state-migrations.js +23 -23
  256. package/dist/infra/tmp-fased-dir.js +6 -6
  257. package/dist/infra/update-runner.js +96 -0
  258. package/dist/infra/widearea-dns.js +3 -3
  259. package/dist/infra/wsl.js +2 -2
  260. package/dist/light-update-status.js +11 -11
  261. package/dist/line/accounts.js +2 -2
  262. package/dist/line/download.js +2 -2
  263. package/dist/logging/config.js +3 -3
  264. package/dist/logging/logger.js +7 -7
  265. package/dist/managed/federation.js +3 -3
  266. package/dist/managed/tunnel.js +3 -3
  267. package/dist/media/store.js +13 -13
  268. package/dist/media-understanding/runner.js +3 -3
  269. package/dist/memory/backend-config.js +2 -1
  270. package/dist/memory/embeddings.js +2 -2
  271. package/dist/memory/internal.js +10 -10
  272. package/dist/memory/manager-sync-ops.js +7 -7
  273. package/dist/memory/repair-executor.js +17 -17
  274. package/dist/memory/session-files.js +16 -2
  275. package/dist/node-host/invoke-system-run-plan.js +8 -8
  276. package/dist/node-host/invoke.js +2 -2
  277. package/dist/node-host/runner.js +3 -3
  278. package/dist/pairing/pairing-store.js +3 -3
  279. package/dist/plugin-sdk/{accounts-DxblobYM.js → accounts-Brn3-uWN.js} +1 -1
  280. package/dist/plugin-sdk/{actions-D4UNimWa.js → actions-DRu135h0.js} +2 -2
  281. package/dist/plugin-sdk/{active-listener-CFuy106s.js → active-listener-B_NMtgPL.js} +1 -1
  282. package/dist/plugin-sdk/{audio-preflight-Bv0hUOWL.js → audio-preflight-BYxAt775.js} +27 -27
  283. package/dist/plugin-sdk/{audit-Cs0K7LBp.js → audit-C5d2z5U1.js} +1 -1
  284. package/dist/plugin-sdk/{channel-access-D5aHoTY8.js → channel-access-CcFRdRPO.js} +1 -1
  285. package/dist/plugin-sdk/{channel-access-configure-Dvch9mMQ.js → channel-access-configure-DaI5wevh.js} +1 -1
  286. package/dist/plugin-sdk/channel-plugin-common.d.ts +3 -3
  287. package/dist/plugin-sdk/channel-plugin-common.js +4 -4
  288. package/dist/plugin-sdk/{chunk-B0FUGc5A.js → chunk-CyoyqpbG.js} +1 -1
  289. package/dist/plugin-sdk/{chunk-items-Bk--NU3E.js → chunk-items-DIRHG2gJ.js} +1 -1
  290. package/dist/plugin-sdk/command-status.d.ts +2 -2
  291. package/dist/plugin-sdk/command-status.js +27 -27
  292. package/dist/plugin-sdk/{commands-registry-DmDRhRAU.js → commands-registry-BfqdEWdF.js} +2 -2
  293. package/dist/plugin-sdk/{common-CfUOowOp.js → common-HCcXU-NR.js} +1 -1
  294. package/dist/plugin-sdk/{config-mxULv0fQ.js → config-DlWVeLFB.js} +7113 -6877
  295. package/dist/plugin-sdk/{config-schema-CGW6J3Pv.js → config-schema-BOT7kHb6.js} +6779 -3696
  296. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  297. package/dist/plugin-sdk/discord.d.ts +5 -5
  298. package/dist/plugin-sdk/discord.js +19 -19
  299. package/dist/plugin-sdk/file-lock.js +35 -4
  300. package/dist/plugin-sdk/{filesystem-manager-ZoHU8oA7.js → filesystem-manager-DoI8IBNF.js} +1 -1
  301. package/dist/plugin-sdk/{group-mentions-BHRff6j8.d.ts → group-mentions-q3hUTCt7.d.ts} +1 -1
  302. package/dist/plugin-sdk/{handle-action-DbVCF9HZ.js → handle-action-hvwapMKg.js} +13 -13
  303. package/dist/plugin-sdk/{helpers-BXbdgs5H.js → helpers-DMBU4oTo.js} +1 -1
  304. package/dist/plugin-sdk/{image-ops-D7jPxaph.js → image-ops-DQi0n_Tt.js} +1 -1
  305. package/dist/plugin-sdk/index.d.ts +9 -27
  306. package/dist/plugin-sdk/index.js +29 -29
  307. package/dist/plugin-sdk/json-store.js +6 -6
  308. package/dist/plugin-sdk/{login-BRxww6nv.js → login-Ca583Okc.js} +3 -3
  309. package/dist/plugin-sdk/{login-qr-DJXsk9XH.js → login-qr-CGciBSNP.js} +3 -3
  310. package/dist/plugin-sdk/{manager-Y2S_5IlI.js → manager-BegWxNYX.js} +4 -4
  311. package/dist/plugin-sdk/{markdown-tables-DHLFQqaF.js → markdown-tables-DCOXEUfZ.js} +1 -1
  312. package/dist/plugin-sdk/{media-Czo4carg.js → media-CAdQF5TG.js} +47 -47
  313. package/dist/plugin-sdk/{memory-search-DTjIMw8J.js → memory-search-CrFPOeTH.js} +4 -1
  314. package/dist/plugin-sdk/{monitor-B9Cmt_Je.js → monitor-BCFDaqJ-.js} +31 -31
  315. package/dist/plugin-sdk/{monitor-B71iwAgC.js → monitor-BgbjRiPM.js} +32 -32
  316. package/dist/plugin-sdk/{openresponses-http-Du4GMmwo.js → openresponses-http-DFf87SMM.js} +27 -27
  317. package/dist/plugin-sdk/{optional-runtime-dependency-DdMbxS24.js → optional-runtime-dependency-0dznm3ZO.js} +1 -1
  318. package/dist/plugin-sdk/{outbound-Db8mRN6P.js → outbound-BgVDdHxx.js} +6 -6
  319. package/dist/plugin-sdk/{outbound-attachment-BqFjcypb.js → outbound-attachment-QqTnIhZL.js} +2 -2
  320. package/dist/plugin-sdk/{pairing-message-BMkkS038.d.ts → pairing-message-CS-9BHug.d.ts} +2 -2
  321. package/dist/plugin-sdk/{pairing-message-B3GC_7CD.js → pairing-message-D0CoLHRJ.js} +1 -1
  322. package/dist/plugin-sdk/{pairing-store-CQikgIbw.js → pairing-store-BChahgI2.js} +2 -2
  323. package/dist/plugin-sdk/{pi-model-discovery-CY3m5zJP.js → pi-model-discovery-BX_JLcEJ.js} +1 -1
  324. package/dist/plugin-sdk/{pi-model-discovery-runtime-DSh1T2pn.js → pi-model-discovery-runtime-DxTMz_XF.js} +2 -2
  325. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +2 -2
  326. package/dist/plugin-sdk/{pw-ai-AFUqn-tQ.js → pw-ai-natjh3rm.js} +3 -3
  327. package/dist/plugin-sdk/{qmd-manager-DSyx77KY.js → qmd-manager-CgRaTxUq.js} +1 -1
  328. package/dist/plugin-sdk/{query-expansion-CAI2kKLQ.js → query-expansion-BG3FgzF7.js} +14 -3
  329. package/dist/plugin-sdk/{replies-Fzh9PhXl.js → replies-ChYo5ZQM.js} +2 -2
  330. package/dist/plugin-sdk/{resolve-outbound-target-KpF3co6T.js → resolve-outbound-target-D-KGgHJZ.js} +1 -1
  331. package/dist/plugin-sdk/{resolve-route-CDl74O19.js → resolve-route-C8tvQm8Z.js} +1 -1
  332. package/dist/plugin-sdk/{retry-policy-D4uiqUOG.js → retry-policy-C6SjKjQA.js} +1 -1
  333. package/dist/plugin-sdk/{runtime-Bb6KRnCC.js → runtime-2B9_WKoI.js} +8 -3
  334. package/dist/plugin-sdk/{runtime-dependency-DLDmB94f.js → runtime-dependency-DczkvPxn.js} +2 -2
  335. package/dist/plugin-sdk/sat-runtime.d.ts +549 -309
  336. package/dist/plugin-sdk/sat-runtime.js +29 -29
  337. package/dist/plugin-sdk/{send-C4k4JuJN.js → send-B6KkGKZD.js} +6 -6
  338. package/dist/plugin-sdk/{send-D-uDKGIq.js → send-CFzGKJXo.js} +6 -6
  339. package/dist/plugin-sdk/{send-Du8ykP1k.js → send-DCO441U7.js} +8 -8
  340. package/dist/plugin-sdk/{send-5nFktR1n.js → send-gDoGA-7e.js} +5 -5
  341. package/dist/plugin-sdk/{send-Bfzf11VY.js → send-q9HXrSwK.js} +7 -7
  342. package/dist/plugin-sdk/{session-CS-Td9EM.js → session-DHD4ZKyG.js} +2 -2
  343. package/dist/plugin-sdk/{skill-commands-CFAlXWHk.js → skill-commands-FKEPLS7T.js} +201 -26
  344. package/dist/plugin-sdk/{slack-D_bbE6Yd.js → slack-BUTt8cxK.js} +39 -39
  345. package/dist/plugin-sdk/{slack-actions-BcMkNv1Z.js → slack-actions-DhbMcp8M.js} +11 -11
  346. package/dist/plugin-sdk/slack.d.ts +5 -5
  347. package/dist/plugin-sdk/slack.js +9 -9
  348. package/dist/plugin-sdk/{sticker-cache-Dqo9nRhi.js → sticker-cache-D0wHVqjt.js} +3 -3
  349. package/dist/plugin-sdk/{tables-bFXyRpkx.js → tables-B3jr0Pvq.js} +1 -1
  350. package/dist/plugin-sdk/{targets-DH7a9lKB.js → targets-CtSbTxYX.js} +1 -1
  351. package/dist/plugin-sdk/{telegram-actions-Cnag7JTH.js → telegram-actions-CC_qN4v0.js} +30 -30
  352. package/dist/plugin-sdk/telegram.d.ts +5 -5
  353. package/dist/plugin-sdk/telegram.js +8 -8
  354. package/dist/plugin-sdk/{thread-bindings.lifecycle-CgOvvdw8.js → thread-bindings.lifecycle-QbkNl-m6.js} +3 -3
  355. package/dist/plugin-sdk/{thread-bindings.state-CQpk44Hq.js → thread-bindings.state-D9hg_M1c.js} +2 -2
  356. package/dist/plugin-sdk/tmp-fased-dir-xOTGlzBE.d.ts +486 -0
  357. package/dist/plugin-sdk/{types-CLIvQaVg.d.ts → types-C3avNytw.d.ts} +3 -4
  358. package/dist/plugin-sdk/{types-DyhXnYUr.d.ts → types-D0kDG8l0.d.ts} +3 -2
  359. package/dist/plugin-sdk/{types-BYDL6dQj.d.ts → types-DWfbSAaM.d.ts} +2 -2
  360. package/dist/plugin-sdk/{types.plugin-_fbu40Re.d.ts → types.plugin-BcSBq42x.d.ts} +8 -3
  361. package/dist/plugin-sdk/{web-BInKQkc4.js → web-BXsJ1vqe.js} +32 -32
  362. package/dist/plugin-sdk/{whatsapp-actions-BtSc2CBv.js → whatsapp-actions-Bj_rOncr.js} +13 -13
  363. package/dist/plugin-sdk/{whatsapp-heartbeat-Bg9TuYzl.js → whatsapp-heartbeat-B1WHkJIg.js} +2 -2
  364. package/dist/plugin-sdk/whatsapp.d.ts +5 -5
  365. package/dist/plugin-sdk/whatsapp.js +12 -12
  366. package/dist/plugin-sdk/{wsl-C4DGFkOd.js → wsl-J-HscWxS.js} +3 -3
  367. package/dist/plugins/bundled-dir.js +3 -3
  368. package/dist/plugins/discovery.js +11 -11
  369. package/dist/plugins/loader.js +13 -13
  370. package/dist/plugins/manifest-registry.js +2 -2
  371. package/dist/plugins/manifest.js +4 -4
  372. package/dist/plugins/path-safety.js +3 -3
  373. package/dist/plugins/status-cache.js +9 -9
  374. package/dist/plugins/update.js +3 -3
  375. package/dist/plugins/web-search-install-catalog.js +3 -3
  376. package/dist/providers/refresh.js +1 -1
  377. package/dist/providers/registry.js +1 -1
  378. package/dist/secrets/apply.js +17 -17
  379. package/dist/secrets/audit.js +11 -11
  380. package/dist/secrets/runtime.js +1 -1
  381. package/dist/secrets/shared.js +9 -9
  382. package/dist/security/scan-paths.js +2 -2
  383. package/dist/shared/config-eval.js +2 -2
  384. package/dist/shared/pid-alive.js +2 -2
  385. package/dist/tasks/standing-orders.js +5 -5
  386. package/dist/tasks/task-flow-registry.js +5 -5
  387. package/dist/tasks/task-registry.js +5 -5
  388. package/dist/tasks/workflow-definitions.js +6 -6
  389. package/dist/telegram/token.js +5 -5
  390. package/dist/utils.js +5 -5
  391. package/dist/wallet/external-submission-ledger.js +376 -0
  392. package/dist/wallet/legacy-embedded-keystore.js +40 -0
  393. package/dist/wallet/local-socket-signer-archive.js +30 -0
  394. package/dist/wallet/local-socket-signer-lifecycle.js +97 -0
  395. package/dist/wallet/local-socket-signer-policy.js +166 -0
  396. package/dist/wallet/local-socket-signer-protocol.js +561 -118
  397. package/dist/wallet/native-signer-wallet-id.js +25 -0
  398. package/dist/wallet/providers/alchemy-adapter.js +3 -0
  399. package/dist/wallet/providers/local-socket-signer-adapter.js +382 -107
  400. package/dist/wallet/providers/turnkey-adapter.js +292 -34
  401. package/dist/wallet/providers/wallet-standard-adapter.js +100 -0
  402. package/dist/wallet/signer-network-admin.js +184 -0
  403. package/dist/wallet/signer-protocol-v2.generated.js +90 -0
  404. package/dist/wallet/solana-bond-signing.js +157 -69
  405. package/dist/wallet/solana-reviewed-transaction.js +375 -0
  406. package/dist/wallet/solana-swap.js +520 -64
  407. package/dist/wallet/solana-transaction-inspection.js +106 -4
  408. package/dist/wallet/solana-trigger.js +658 -320
  409. package/dist/wallet/turnkey-reviewed-state.js +370 -0
  410. package/dist/wallet/wallet-approval-auth.js +20 -31
  411. package/dist/wallet/wallet-atomic-state.js +53 -0
  412. package/dist/wallet/wallet-audit-log.js +5 -5
  413. package/dist/wallet/wallet-canary.js +0 -1
  414. package/dist/wallet/wallet-inbound-events.js +19 -14
  415. package/dist/wallet/wallet-observability.js +5 -5
  416. package/dist/wallet/wallet-policy-simulation.js +1 -1
  417. package/dist/wallet/wallet-policy.js +95 -41
  418. package/dist/wallet/wallet-provider-capabilities.js +28 -4
  419. package/dist/wallet/wallet-provider-registry.js +64 -51
  420. package/dist/wallet/wallet-provider-resolver.js +62 -63
  421. package/dist/wallet/wallet-runtime-config.js +31 -44
  422. package/dist/wallet/wallet-secrets-store.js +44 -22
  423. package/dist/wallet/wallet-send-approvals.js +1894 -592
  424. package/dist/wallet/wallet-send-execution-ledger.js +292 -0
  425. package/dist/wallet/wallet-settlement-links.js +17 -16
  426. package/dist/wallet/wallet-standard-review.js +353 -0
  427. package/dist/wallet/wallet-status.js +0 -9
  428. package/dist/wallet/wallet-task-ledger.js +16 -2
  429. package/dist/web/accounts.js +3 -3
  430. package/dist/web/auth-store.js +18 -18
  431. package/dist/web/auto-reply/heartbeat-runner.js +1 -1
  432. package/dist/web/auto-reply/monitor.js +2 -2
  433. package/dist/web/session.js +4 -4
  434. package/dist/wizard/host-security-capability.js +15 -24
  435. package/dist/wizard/onboarding.finalize.js +63 -184
  436. package/dist/wizard/onboarding.host-security.js +118 -1368
  437. package/dist/wizard/onboarding.js +180 -242
  438. package/dist/wizard/onboarding.wallet.js +323 -829
  439. package/extensions/acpx/package.json +1 -1
  440. package/extensions/bluebubbles/package.json +1 -1
  441. package/extensions/copilot-proxy/package.json +1 -1
  442. package/extensions/diagnostics-otel/package.json +1 -1
  443. package/extensions/fased-federation/package.json +1 -1
  444. package/extensions/google-gemini-cli-auth/package.json +1 -1
  445. package/extensions/imessage/package.json +1 -1
  446. package/extensions/irc/package.json +1 -1
  447. package/extensions/line/package.json +1 -1
  448. package/extensions/llm-task/package.json +1 -1
  449. package/extensions/lobster/package.json +1 -1
  450. package/extensions/matrix/CHANGELOG.md +18 -0
  451. package/extensions/matrix/package.json +1 -1
  452. package/extensions/mattermost/package.json +1 -1
  453. package/extensions/memory-core/package.json +2 -2
  454. package/extensions/memory-lancedb/package.json +1 -1
  455. package/extensions/minimax-portal-auth/package.json +1 -1
  456. package/extensions/msteams/CHANGELOG.md +18 -0
  457. package/extensions/msteams/package.json +1 -1
  458. package/extensions/nextcloud-talk/package.json +1 -1
  459. package/extensions/nostr/CHANGELOG.md +18 -0
  460. package/extensions/nostr/package.json +1 -1
  461. package/extensions/open-prose/package.json +1 -1
  462. package/extensions/sat-mining/index.ts +498 -153
  463. package/extensions/sat-mining/package.json +1 -1
  464. package/extensions/sat-mining/signer-codec-schema.v1.json +374 -0
  465. package/extensions/sat-mining/src/audit-store.ts +50 -5
  466. package/extensions/sat-mining/src/claim-service.ts +85 -14
  467. package/extensions/sat-mining/src/config.ts +9 -0
  468. package/extensions/sat-mining/src/cycle-progress.ts +16 -8
  469. package/extensions/sat-mining/src/epoch-service.ts +9 -5
  470. package/extensions/sat-mining/src/gateway-runner.ts +21 -1
  471. package/extensions/sat-mining/src/protocol-contract.ts +45 -1
  472. package/extensions/sat-mining/src/recovery-service.ts +312 -0
  473. package/extensions/sat-mining/src/round-watcher.ts +391 -81
  474. package/extensions/sat-mining/src/rpc-read.ts +330 -89
  475. package/extensions/sat-mining/src/runtime.ts +14 -0
  476. package/extensions/sat-mining/src/sat-bond-layout.ts +6 -0
  477. package/extensions/sat-mining/src/signer-codec-manifest.ts +429 -0
  478. package/extensions/sat-mining/src/solana-submit.ts +1199 -428
  479. package/extensions/sat-mining/src/submission-ledger.ts +433 -0
  480. package/extensions/signal/package.json +1 -1
  481. package/extensions/synology-chat/package.json +1 -1
  482. package/extensions/tlon/package.json +1 -1
  483. package/extensions/twitch/CHANGELOG.md +18 -0
  484. package/extensions/twitch/package.json +1 -1
  485. package/extensions/voice-call/CHANGELOG.md +18 -0
  486. package/extensions/voice-call/package.json +1 -1
  487. package/extensions/zalo/CHANGELOG.md +18 -0
  488. package/extensions/zalo/package.json +1 -1
  489. package/extensions/zalouser/CHANGELOG.md +18 -0
  490. package/extensions/zalouser/package.json +1 -1
  491. package/install.sh +4955 -0
  492. package/package.json +24 -5
  493. package/scripts/fased-host-updater.mjs +1421 -0
  494. package/scripts/fased-host-updaterctl.mjs +186 -0
  495. package/scripts/fased-managed-service.sh +36 -0
  496. package/scripts/fased-managed-updater.mjs +3065 -156
  497. package/scripts/fased-signer-enroll-hosting.sh +275 -0
  498. package/scripts/fased-signer-network-hosting.sh +143 -0
  499. package/scripts/fased-signer-owner-policy.mjs +1430 -0
  500. package/scripts/fased-signer-policy-hosting.sh +50 -0
  501. package/scripts/fased-signer-policy-local.sh +26 -0
  502. package/scripts/hosted-release-manifest.mjs +185 -0
  503. package/scripts/install-fased-signerd.sh +217 -0
  504. package/scripts/install-managed-runtime.mjs +212 -10
  505. package/scripts/managed-runtime-layout.mjs +75 -3
  506. package/scripts/migrate-hosted-signer-v2.mjs +58 -0
  507. package/scripts/start-managed.sh +169 -360
  508. package/dist/control-ui/assets/mining-commit-R-6nu87p.js +0 -2
  509. package/dist/plugin-sdk/tmp-fased-dir-BdFQvrvw.d.ts +0 -77
  510. package/dist/wallet/local-socket-signer-broker.js +0 -224
  511. package/dist/wallet/local-socket-signer-custody.js +0 -42
  512. package/dist/wallet/providers/embedded-keystore-adapter.js +0 -402
  513. package/dist/wallet/providers/privy-adapter.js +0 -80
  514. package/dist/wallet/wallet-custody.js +0 -1836
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/sat-mining",
3
- "version": "0.1.61",
3
+ "version": "0.1.64",
4
4
  "private": true,
5
5
  "description": "SAT mining plugin scaffold for FasedAgent",
6
6
  "type": "module",
@@ -0,0 +1,374 @@
1
+ {
2
+ "version": 1,
3
+ "codecs": [
4
+ {
5
+ "action": "initializeCycle",
6
+ "family": "main",
7
+ "contractKey": "initializeCycle",
8
+ "discriminator": 38,
9
+ "dataLength": 105,
10
+ "accountShape": "SW,-W,-W,--",
11
+ "variable": ""
12
+ },
13
+ {
14
+ "action": "validatorAttestation",
15
+ "family": "main",
16
+ "contractKey": "submitValidatorAttestation",
17
+ "discriminator": 45,
18
+ "dataLength": 161,
19
+ "accountShape": "SW,-W,-W,-W,--",
20
+ "variable": ""
21
+ },
22
+ {
23
+ "action": "openDispute",
24
+ "family": "main",
25
+ "contractKey": "openDispute",
26
+ "discriminator": 46,
27
+ "dataLength": 89,
28
+ "accountShape": "SW,-W,-W,-W,--",
29
+ "variable": ""
30
+ },
31
+ {
32
+ "action": "resolveDispute",
33
+ "family": "main",
34
+ "contractKey": "resolveDispute",
35
+ "discriminator": 48,
36
+ "dataLength": 57,
37
+ "accountShape": "SW,--,-W,-W",
38
+ "variable": ""
39
+ },
40
+ {
41
+ "action": "republishEpochRoots",
42
+ "family": "main",
43
+ "contractKey": "republishEpochRoots",
44
+ "discriminator": 49,
45
+ "dataLength": 105,
46
+ "accountShape": "SW,--,-W",
47
+ "variable": ""
48
+ },
49
+ {
50
+ "action": "topUpRegistryReserve",
51
+ "family": "main",
52
+ "contractKey": "topUpRegistryReserve",
53
+ "discriminator": 84,
54
+ "dataLength": 9,
55
+ "accountShape": "SW,-W,--",
56
+ "variable": ""
57
+ },
58
+ {
59
+ "action": "openCycle",
60
+ "family": "main",
61
+ "contractKey": "openCycle",
62
+ "discriminator": 56,
63
+ "dataLength": 9,
64
+ "accountShape": "SW,-W,-W,-W,-W,-W,--,-W",
65
+ "variable": ""
66
+ },
67
+ {
68
+ "action": "initMinerCapital",
69
+ "family": "main",
70
+ "contractKey": "initMinerCapital",
71
+ "discriminator": 36,
72
+ "dataLength": 33,
73
+ "accountShape": "SW,-W,--",
74
+ "variable": ""
75
+ },
76
+ {
77
+ "action": "depositMinerCapital",
78
+ "family": "main",
79
+ "contractKey": "depositMinerCapital",
80
+ "discriminator": 37,
81
+ "dataLength": 9,
82
+ "accountShape": "SW,-W,--",
83
+ "variable": ""
84
+ },
85
+ {
86
+ "action": "withdrawMinerCapital",
87
+ "family": "main",
88
+ "contractKey": "withdrawMinerCapital",
89
+ "discriminator": 67,
90
+ "dataLength": 9,
91
+ "accountShape": "SW,-W,--",
92
+ "variable": ""
93
+ },
94
+ {
95
+ "action": "setActiveCommit",
96
+ "family": "main",
97
+ "contractKey": "setActiveCommit",
98
+ "discriminator": 68,
99
+ "dataLength": 9,
100
+ "accountShape": "SW,-W",
101
+ "variable": ""
102
+ },
103
+ {
104
+ "action": "commitCycle",
105
+ "family": "main",
106
+ "contractKey": "commitCycle",
107
+ "discriminator": 89,
108
+ "dataLength": 41,
109
+ "accountShape": "SW,-W,-W,-W,--",
110
+ "variable": ""
111
+ },
112
+ {
113
+ "action": "closeCommitPhase",
114
+ "family": "main",
115
+ "contractKey": "closeCommitPhase",
116
+ "discriminator": 90,
117
+ "dataLength": 9,
118
+ "accountShape": "S-,-W",
119
+ "variable": ""
120
+ },
121
+ {
122
+ "action": "sealCycleEntropy",
123
+ "family": "main",
124
+ "contractKey": "sealCycleEntropy",
125
+ "discriminator": 91,
126
+ "dataLength": 9,
127
+ "accountShape": "S-,-W,-W,--",
128
+ "variable": ""
129
+ },
130
+ {
131
+ "action": "releaseUnrevealedCommit",
132
+ "family": "main",
133
+ "contractKey": "releaseUnrevealedCommit",
134
+ "discriminator": 93,
135
+ "dataLength": 41,
136
+ "accountShape": "S-,-W,-W,-W,-W,-W",
137
+ "variable": ""
138
+ },
139
+ {
140
+ "action": "abortEmptyCycle",
141
+ "family": "main",
142
+ "contractKey": "abortEmptyCycle",
143
+ "discriminator": 94,
144
+ "dataLength": 9,
145
+ "accountShape": "S-,-W,-W",
146
+ "variable": ""
147
+ },
148
+ {
149
+ "action": "revealCycle",
150
+ "family": "main",
151
+ "contractKey": "revealCycle",
152
+ "discriminator": 92,
153
+ "dataLength": 145,
154
+ "accountShape": "SW,-W,-W,-W,-W,-W,-W,-W,-W,--",
155
+ "variable": ""
156
+ },
157
+ {
158
+ "action": "settleCyclePage",
159
+ "family": "main",
160
+ "contractKey": "settleCyclePage",
161
+ "discriminator": 63,
162
+ "dataLength": 25,
163
+ "accountShape": "SW,--,-W,--,--,-W,-W,-W,--,--,-W,-W",
164
+ "variable": "minerCycles"
165
+ },
166
+ {
167
+ "action": "finalizeCycleSettlement",
168
+ "family": "main",
169
+ "contractKey": "finalizeCycleSettlement",
170
+ "discriminator": 64,
171
+ "dataLength": 9,
172
+ "accountShape": "SW,-W,-W,-W,-W,-W,--,-W,-W",
173
+ "variable": "registryPages"
174
+ },
175
+ {
176
+ "action": "scoreCyclePage",
177
+ "family": "main",
178
+ "contractKey": "scoreCyclePage",
179
+ "discriminator": 65,
180
+ "dataLength": 25,
181
+ "accountShape": "SW,--,--,--,-W,-W,--,-W,-W",
182
+ "variable": "minerCycles"
183
+ },
184
+ {
185
+ "action": "distributeCyclePage",
186
+ "family": "main",
187
+ "contractKey": "distributeCyclePage",
188
+ "discriminator": 66,
189
+ "dataLength": 25,
190
+ "accountShape": "SW,-W,--,-W,--,-W,--,-W,-W,-W",
191
+ "variable": "minerCyclePairs"
192
+ },
193
+ {
194
+ "action": "claimCycleRewards",
195
+ "family": "main",
196
+ "contractKey": "claimCycleRewards",
197
+ "discriminator": 59,
198
+ "dataLength": 9,
199
+ "accountShape": "SW,-W,-W,-W,-W,-W,-W,-W,-W,-W,--,--,--,--,-W",
200
+ "variable": ""
201
+ },
202
+ {
203
+ "action": "claimCycleRewardsBatch",
204
+ "family": "main",
205
+ "contractKey": "claimCycleRewardsBatch",
206
+ "discriminator": 62,
207
+ "dataLength": -1,
208
+ "accountShape": "SW,--,-W,-W,-W,-W,-W,-W",
209
+ "variable": "claimBatch"
210
+ },
211
+ {
212
+ "action": "claimProtocolTreasury",
213
+ "family": "main",
214
+ "contractKey": "claimProtocolTreasury",
215
+ "discriminator": 77,
216
+ "dataLength": 1,
217
+ "accountShape": "SW,--,-W,-W,-W,-W,-W,-W,-W,-W,--,--,--,--",
218
+ "variable": ""
219
+ },
220
+ {
221
+ "action": "refillRegistryReserveFromTreasury",
222
+ "family": "main",
223
+ "contractKey": "refillRegistryReserveFromTreasury",
224
+ "discriminator": 88,
225
+ "dataLength": 9,
226
+ "accountShape": "SW,-W,-W,-W,--",
227
+ "variable": ""
228
+ },
229
+ {
230
+ "action": "claimProtocolDistributorSat",
231
+ "family": "main",
232
+ "contractKey": "claimProtocolDistributorSat",
233
+ "discriminator": 85,
234
+ "dataLength": 1,
235
+ "accountShape": "SW,--,-W,-W,-W,-W,-W,-W,--,--,--,--,--",
236
+ "variable": ""
237
+ },
238
+ {
239
+ "action": "retargetUnlock",
240
+ "family": "main",
241
+ "contractKey": "retargetUnlock",
242
+ "discriminator": 60,
243
+ "dataLength": 9,
244
+ "accountShape": "SW,-W,--,-W",
245
+ "variable": ""
246
+ },
247
+ {
248
+ "action": "closeResolvedMinerCycleState",
249
+ "family": "main",
250
+ "contractKey": "closeResolvedMinerCycleState",
251
+ "discriminator": 69,
252
+ "dataLength": 9,
253
+ "accountShape": "SW,--,-W,-W,-W,-W",
254
+ "variable": ""
255
+ },
256
+ {
257
+ "action": "closeResolvedCycleRegistryPage",
258
+ "family": "main",
259
+ "contractKey": "closeResolvedCycleRegistryPage",
260
+ "discriminator": 70,
261
+ "dataLength": 17,
262
+ "accountShape": "SW,--,-W,-W,-W",
263
+ "variable": ""
264
+ },
265
+ {
266
+ "action": "closeResolvedCycleArtifacts",
267
+ "family": "main",
268
+ "contractKey": "closeResolvedCycleArtifacts",
269
+ "discriminator": 71,
270
+ "dataLength": 9,
271
+ "accountShape": "SW,-W,-W,-W,-W",
272
+ "variable": ""
273
+ },
274
+ {
275
+ "action": "compactPendingCycleRange",
276
+ "family": "main",
277
+ "contractKey": "compactPendingCycleRange",
278
+ "discriminator": 75,
279
+ "dataLength": 25,
280
+ "accountShape": "SW,-W",
281
+ "variable": "compactCycles"
282
+ },
283
+ {
284
+ "action": "updateBondTierPolicy",
285
+ "family": "bond",
286
+ "contractKey": "updateTierPolicy",
287
+ "discriminator": 1,
288
+ "dataLength": 65,
289
+ "accountShape": "SW,-W",
290
+ "variable": ""
291
+ },
292
+ {
293
+ "action": "openBondPosition",
294
+ "family": "bond",
295
+ "contractKey": "openBondPosition",
296
+ "discriminator": 2,
297
+ "dataLength": 9,
298
+ "accountShape": "SW,--,-W,-W,-W,-W,--,--,--",
299
+ "variable": ""
300
+ },
301
+ {
302
+ "action": "increaseBondPosition",
303
+ "family": "bond",
304
+ "contractKey": "increaseBondPosition",
305
+ "discriminator": 3,
306
+ "dataLength": 9,
307
+ "accountShape": "SW,--,-W,-W,-W,-W,--,--,--",
308
+ "variable": ""
309
+ },
310
+ {
311
+ "action": "requestBondUnlock",
312
+ "family": "bond",
313
+ "contractKey": "requestBondUnlock",
314
+ "discriminator": 4,
315
+ "dataLength": 1,
316
+ "accountShape": "SW,--,-W,-W,-W",
317
+ "variable": ""
318
+ },
319
+ {
320
+ "action": "cancelBondUnlock",
321
+ "family": "bond",
322
+ "contractKey": "cancelBondUnlock",
323
+ "discriminator": 5,
324
+ "dataLength": 1,
325
+ "accountShape": "SW,--,-W,-W,-W",
326
+ "variable": ""
327
+ },
328
+ {
329
+ "action": "finalizeBondUnlock",
330
+ "family": "bond",
331
+ "contractKey": "finalizeBondUnlock",
332
+ "discriminator": 6,
333
+ "dataLength": 1,
334
+ "accountShape": "SW,--,-W,-W,-W,-W,-W,-W,--,--,--",
335
+ "variable": ""
336
+ },
337
+ {
338
+ "action": "syncBondStakingRewards",
339
+ "family": "bond",
340
+ "contractKey": "syncStakingRewards",
341
+ "discriminator": 8,
342
+ "dataLength": 1,
343
+ "accountShape": "-W,--,--",
344
+ "variable": ""
345
+ },
346
+ {
347
+ "action": "syncBondStakingPosition",
348
+ "family": "bond",
349
+ "contractKey": "syncStakingPosition",
350
+ "discriminator": 9,
351
+ "dataLength": 1,
352
+ "accountShape": "SW,--,-W,-W,--,--",
353
+ "variable": ""
354
+ },
355
+ {
356
+ "action": "claimBondStakingRewards",
357
+ "family": "bond",
358
+ "contractKey": "claimStakingRewards",
359
+ "discriminator": 10,
360
+ "dataLength": 1,
361
+ "accountShape": "SW,--,-W,-W,--,-W,-W,-W,--,--,--",
362
+ "variable": ""
363
+ },
364
+ {
365
+ "action": "claimUnallocatedStakingRewards",
366
+ "family": "bond",
367
+ "contractKey": "claimUnallocatedStakingRewards",
368
+ "discriminator": 11,
369
+ "dataLength": 1,
370
+ "accountShape": "SW,-W,-W,-W,--,-W,--,--,--",
371
+ "variable": ""
372
+ }
373
+ ]
374
+ }
@@ -77,6 +77,7 @@ export type SatMiningRecentAction = {
77
77
  cycleId?: number | null;
78
78
  txHash: string | null;
79
79
  status: "success" | "failure";
80
+ complete?: boolean;
80
81
  message?: string | null;
81
82
  at: string;
82
83
  };
@@ -316,7 +317,7 @@ export type SatPersistedLastKnownStatus = {
316
317
  export type SatPersistedChainTime = SatChainTimeState;
317
318
 
318
319
  type SatRuntimeStoreFile = {
319
- version: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
320
+ version: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;
320
321
  recentActions: SatMiningRecentAction[];
321
322
  archivedFailures?: SatMiningRecentAction[];
322
323
  plannerHistory?: SatPlannerOutcomeMemory[];
@@ -617,6 +618,7 @@ function isValidSatRecentAction(entry: unknown): entry is SatMiningRecentAction
617
618
  (typeof candidate.cycleId === "number" && Number.isFinite(candidate.cycleId))) &&
618
619
  (candidate.txHash == null || typeof candidate.txHash === "string") &&
619
620
  (candidate.status === "success" || candidate.status === "failure") &&
621
+ (candidate.complete == null || typeof candidate.complete === "boolean") &&
620
622
  Number.isFinite(atMs)
621
623
  );
622
624
  }
@@ -727,8 +729,46 @@ function normalizeSatRoundExecutionState(
727
729
  if (!execution || typeof execution !== "object") {
728
730
  return null;
729
731
  }
732
+ const commitmentHex =
733
+ typeof execution.commitmentHex === "string" && /^[0-9a-f]{64}$/i.test(execution.commitmentHex)
734
+ ? execution.commitmentHex.toLowerCase()
735
+ : null;
736
+ const revealNonceBase64 = (() => {
737
+ if (typeof execution.revealNonceBase64 !== "string") {
738
+ return null;
739
+ }
740
+ try {
741
+ return Buffer.from(execution.revealNonceBase64, "base64").length === 32
742
+ ? execution.revealNonceBase64
743
+ : null;
744
+ } catch {
745
+ return null;
746
+ }
747
+ })();
748
+ const allocationFp =
749
+ Array.isArray(execution.allocationFp) &&
750
+ execution.allocationFp.length === 25 &&
751
+ execution.allocationFp.every(
752
+ (value) => Number.isSafeInteger(value) && value >= 0 && value <= 0xffff_ffff,
753
+ ) &&
754
+ execution.allocationFp.reduce((sum, value) => sum + value, 0) === 1_000_000
755
+ ? [...execution.allocationFp]
756
+ : null;
757
+ const commitLamports =
758
+ typeof execution.commitLamports === "number" &&
759
+ Number.isSafeInteger(execution.commitLamports) &&
760
+ execution.commitLamports > 0
761
+ ? execution.commitLamports
762
+ : null;
730
763
  return {
731
764
  openRoundSubmitted: execution.openRoundSubmitted === true,
765
+ commitSubmitted: execution.commitSubmitted === true,
766
+ commitmentHex,
767
+ revealNonceBase64,
768
+ allocationFp,
769
+ commitLamports,
770
+ entropyTargetPinned: execution.entropyTargetPinned === true,
771
+ entropySealed: execution.entropySealed === true,
732
772
  participationSubmitted: execution.participationSubmitted === true,
733
773
  epochFinalized: execution.epochFinalized === true,
734
774
  crankSubmitted: execution.crankSubmitted === true,
@@ -752,7 +792,10 @@ function trimSatRoundExecution(
752
792
  if (!parsedRoundKey || !execution) {
753
793
  continue;
754
794
  }
755
- if (!execution.participationSubmitted || execution.claimSubmitted) {
795
+ if (
796
+ (!execution.commitSubmitted && !execution.participationSubmitted) ||
797
+ execution.claimSubmitted
798
+ ) {
756
799
  continue;
757
800
  }
758
801
  deduped.set(entry.roundKey, {
@@ -930,7 +973,7 @@ async function persistSatRuntimeSummary(
930
973
  summary: SatRuntimeSummary,
931
974
  ): Promise<void> {
932
975
  const payload: SatRuntimeStoreFile = {
933
- version: 10,
976
+ version: 11,
934
977
  recentActions: summary.recentActions,
935
978
  archivedFailures: [],
936
979
  plannerHistory: summary.plannerHistory,
@@ -1051,7 +1094,8 @@ export async function readSatRecentActions(filePath: string): Promise<SatMiningR
1051
1094
  parsed.version !== 7 &&
1052
1095
  parsed.version !== 8 &&
1053
1096
  parsed.version !== 9 &&
1054
- parsed.version !== 10) ||
1097
+ parsed.version !== 10 &&
1098
+ parsed.version !== 11) ||
1055
1099
  !Array.isArray(parsed.recentActions)
1056
1100
  ) {
1057
1101
  return [];
@@ -1076,7 +1120,8 @@ export async function readSatRuntimeSummary(filePath: string): Promise<SatRuntim
1076
1120
  parsed.version !== 7 &&
1077
1121
  parsed.version !== 8 &&
1078
1122
  parsed.version !== 9 &&
1079
- parsed.version !== 10) ||
1123
+ parsed.version !== 10 &&
1124
+ parsed.version !== 11) ||
1080
1125
  !Array.isArray(parsed.recentActions)
1081
1126
  ) {
1082
1127
  return emptySatRuntimeSummary();
@@ -51,6 +51,41 @@ const SAT_CLAIM_IDLE_INTERVAL_MS = 60_000;
51
51
  const SAT_CLAIM_ACTIVE_INTERVAL_MS = 15_000;
52
52
  const SAT_CLAIM_PENDING_WAIT_INTERVAL_MS = 45_000;
53
53
  const SAT_TOKEN_DECIMALS = 11;
54
+
55
+ type SatClaimGatewayResult = {
56
+ ok?: boolean;
57
+ payload?: {
58
+ resolvedCycleIds?: number[];
59
+ pendingCycleIds?: number[];
60
+ };
61
+ };
62
+
63
+ function resolveClaimGatewayCompletion(
64
+ result: SatClaimGatewayResult,
65
+ requestedCycleIds: readonly number[],
66
+ ): { resolvedCycleIds: number[]; pendingCycleIds: number[] } {
67
+ const requested = new Set(requestedCycleIds);
68
+ const hasExplicitCompletion =
69
+ Array.isArray(result.payload?.resolvedCycleIds) ||
70
+ Array.isArray(result.payload?.pendingCycleIds);
71
+ if (!hasExplicitCompletion) {
72
+ return { resolvedCycleIds: [...requested], pendingCycleIds: [] };
73
+ }
74
+ const resolvedCycleIds = [
75
+ ...new Set(
76
+ (result.payload?.resolvedCycleIds ?? []).filter((cycleId) => requested.has(cycleId)),
77
+ ),
78
+ ];
79
+ const resolved = new Set(resolvedCycleIds);
80
+ const explicitPending = new Set(
81
+ (result.payload?.pendingCycleIds ?? []).filter((cycleId) => requested.has(cycleId)),
82
+ );
83
+ const pendingCycleIds = [...requested].filter(
84
+ (cycleId) => !resolved.has(cycleId) || explicitPending.has(cycleId),
85
+ );
86
+ return { resolvedCycleIds, pendingCycleIds };
87
+ }
88
+
54
89
  function resolveClaimNextDelayMs(hasPendingWork: boolean): number {
55
90
  return hasPendingWork ? SAT_CLAIM_PENDING_WAIT_INTERVAL_MS : SAT_CLAIM_IDLE_INTERVAL_MS;
56
91
  }
@@ -99,9 +134,7 @@ function resolveWalletEnvValue(
99
134
  function resolveAutoSweepRpcUrl(walletId: string, env: NodeJS.ProcessEnv): string | undefined {
100
135
  return (
101
136
  resolveWalletEnvValue(env, "FASED_WALLET_SOLANA_READ_RPC_URL", walletId) ||
102
- resolveWalletEnvValue(env, "FASED_WALLET_SOLANA_RPC_URL", walletId) ||
103
- resolveWalletEnvValue(env, "FASED_WALLET_EMBEDDED_KEYSTORE_READ_RPC_URL", walletId) ||
104
- resolveWalletEnvValue(env, "FASED_WALLET_EMBEDDED_KEYSTORE_RPC_URL", walletId)
137
+ resolveWalletEnvValue(env, "FASED_WALLET_SOLANA_RPC_URL", walletId)
105
138
  );
106
139
  }
107
140
 
@@ -238,6 +271,7 @@ function resolveAutoSweepDestination(params: {
238
271
  async function maybeAutoSweepClaimedSat(params: {
239
272
  api: FasedAgentPluginApi;
240
273
  state: SatMiningRuntimeState;
274
+ occurrenceId: string;
241
275
  }): Promise<void> {
242
276
  const sweep = params.state.activeConfig.automation?.satSweep;
243
277
  if (!sweep?.enabled) {
@@ -325,7 +359,24 @@ async function maybeAutoSweepClaimedSat(params: {
325
359
  walletId,
326
360
  walletName: resolveAutoSweepSourceWalletName(walletId, process.env),
327
361
  },
328
- requestedBy: "sat-mining",
362
+ requestedBy: "sat-mining:auto-sweep",
363
+ executionIntentId: `sat-auto-sweep:${walletId}:${params.occurrenceId}`,
364
+ satSweepAuthorization: {
365
+ kind: "sat-auto-sweep-v1",
366
+ occurrenceId: params.occurrenceId,
367
+ walletId,
368
+ destination: destination.to,
369
+ mint: satMintAddress,
370
+ sourceBalanceRaw: recipientBalanceRaw.toString(),
371
+ amountRaw: sweepRaw.toString(),
372
+ keepRaw: keepRaw.toString(),
373
+ minRaw: minRaw.toString(),
374
+ mode: sweep.mode === "percentage" ? "percentage" : "all",
375
+ percentage:
376
+ typeof sweep.percentage === "number" && Number.isFinite(sweep.percentage)
377
+ ? Math.max(0, Math.min(100, sweep.percentage))
378
+ : 100,
379
+ },
329
380
  config: effectiveWalletConfig,
330
381
  runtimeConfig: cfg,
331
382
  sendPath: "automation",
@@ -520,11 +571,11 @@ async function collectResolvedInvalidOwnerClaimCycles(params: {
520
571
  resolved.push(cycleId);
521
572
  continue;
522
573
  }
523
- const claimedSat = BigInt(minerCycle.claimedSatRaw ?? "0");
524
- const claimedRebate =
525
- BigInt(minerCycle.claimedDetRebateLamports ?? "0") +
526
- BigInt(minerCycle.claimedPerfRebateLamports ?? "0");
527
- if (minerCycle.capitalLockReleased && (claimedSat > 0n || claimedRebate > 0n)) {
574
+ const claimableSat = BigInt(minerCycle.claimableSatRaw ?? "0");
575
+ const claimableRebate =
576
+ BigInt(minerCycle.claimableDetRebateLamports ?? "0") +
577
+ BigInt(minerCycle.claimablePerfRebateLamports ?? "0");
578
+ if (minerCycle.capitalLockReleased && claimableSat === 0n && claimableRebate === 0n) {
528
579
  resolved.push(cycleId);
529
580
  }
530
581
  }
@@ -766,18 +817,38 @@ export function createSatClaimService(params: {
766
817
  return;
767
818
  }
768
819
  markSatClaimBacklogClaiming(state, readyCycleIds);
769
- await runSatGatewayMethod({
820
+ const result = await runSatGatewayMethod<SatClaimGatewayResult>({
770
821
  api,
771
822
  method: "sat.claimCycleRewardsBatch",
772
823
  payload: { cycleIds: readyCycleIds },
773
824
  });
774
- for (const cycleId of readyCycleIds) {
825
+ const completion = resolveClaimGatewayCompletion(result, readyCycleIds);
826
+ for (const cycleId of completion.resolvedCycleIds) {
775
827
  const execution = getOrCreateRoundExecutionState(state, cycleId, 0);
776
828
  execution.claimSubmitted = true;
777
829
  }
778
- markSatClaimBacklogClaimed(state, readyCycleIds);
779
- await maybeAutoSweepClaimedSat({ api, state });
780
- markWorkerSuccess(state, "claim", `cycles ${readyCycleIds.join(",")} claimed`);
830
+ for (const cycleId of completion.pendingCycleIds) {
831
+ const execution = getOrCreateRoundExecutionState(state, cycleId, 0);
832
+ execution.claimSubmitted = false;
833
+ }
834
+ markSatClaimBacklogClaimed(state, completion.resolvedCycleIds);
835
+ markSatClaimBacklogReady(
836
+ state,
837
+ completion.pendingCycleIds,
838
+ "bounded SAT claim chunk submitted; rewards remain claimable",
839
+ );
840
+ await maybeAutoSweepClaimedSat({
841
+ api,
842
+ state,
843
+ occurrenceId: [...readyCycleIds].toSorted((left, right) => left - right).join(","),
844
+ });
845
+ markWorkerSuccess(
846
+ state,
847
+ "claim",
848
+ completion.pendingCycleIds.length > 0
849
+ ? `claim chunk confirmed; cycles ${completion.pendingCycleIds.join(",")} still have rewards`
850
+ : `cycles ${completion.resolvedCycleIds.join(",")} claimed`,
851
+ );
781
852
  scheduleWorkerNextRun(state, "claim", SAT_CLAIM_ACTIVE_INTERVAL_MS);
782
853
  } catch (error) {
783
854
  if (isSatServiceReadTimeoutError(error)) {
@@ -25,6 +25,7 @@ export type SatMiningConfig = {
25
25
  | "safe_fallback";
26
26
  strategyExecution?: "deterministic" | "auto";
27
27
  strategyMode?: "base" | "skill";
28
+ cycleCadence?: 1 | 2 | 6 | 12;
28
29
  commitLamports?: number;
29
30
  minSolBalanceLamports?: number;
30
31
  walletId?: string;
@@ -103,6 +104,9 @@ export const satMiningConfigJsonSchema = Type.Object(
103
104
  Type.Union([Type.Literal("deterministic"), Type.Literal("auto")]),
104
105
  ),
105
106
  strategyMode: Type.Optional(Type.Union([Type.Literal("base"), Type.Literal("skill")])),
107
+ cycleCadence: Type.Optional(
108
+ Type.Union([Type.Literal(1), Type.Literal(2), Type.Literal(6), Type.Literal(12)]),
109
+ ),
106
110
  commitLamports: Type.Optional(Type.Number()),
107
111
  minSolBalanceLamports: Type.Optional(Type.Number()),
108
112
  walletId: Type.Optional(Type.String()),
@@ -326,6 +330,10 @@ export function parseSatMiningConfig(value: unknown): SatMiningConfig {
326
330
  : raw.strategyMode === "skill"
327
331
  ? "skill"
328
332
  : "base";
333
+ const cycleCadence =
334
+ raw.cycleCadence === 2 || raw.cycleCadence === 6 || raw.cycleCadence === 12
335
+ ? raw.cycleCadence
336
+ : 1;
329
337
  const commitLamports =
330
338
  typeof raw.commitLamports === "number" &&
331
339
  Number.isFinite(raw.commitLamports) &&
@@ -486,6 +494,7 @@ export function parseSatMiningConfig(value: unknown): SatMiningConfig {
486
494
  strategyPreset: strategyPreset ?? riskModeToStrategyPreset(riskMode),
487
495
  strategyExecution: strategyExecution ?? strategyModeToExecution(strategyMode),
488
496
  strategyMode,
497
+ cycleCadence,
489
498
  commitLamports,
490
499
  minSolBalanceLamports,
491
500
  walletId,