@fased/fased 0.1.62 → 0.1.65

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 (342) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/README.md +44 -29
  3. package/config/dependency-ownership.json +1 -1
  4. package/config/signer-policies/README.md +58 -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 +78 -0
  10. package/config/typescript-noemit-baseline.json +680 -0
  11. package/dist/agents/auth-profiles/store.js +267 -31
  12. package/dist/agents/bash-tools.exec.js +10 -4
  13. package/dist/agents/current-model-catalog.js +3 -3
  14. package/dist/agents/memory-search.js +7 -1
  15. package/dist/agents/model-catalog-access.js +1 -2
  16. package/dist/agents/model-catalog-snapshot.js +1 -1
  17. package/dist/agents/model-catalog-source.js +1 -1
  18. package/dist/agents/model-metadata.js +1 -1
  19. package/dist/agents/model-selection.js +2 -28
  20. package/dist/agents/models-config.providers.js +6 -6
  21. package/dist/agents/pi-embedded-runner/compact.js +15 -7
  22. package/dist/agents/pi-embedded-runner/model.js +1 -1
  23. package/dist/agents/pi-embedded-runner/run/attempt.js +24 -13
  24. package/dist/agents/pi-embedded-runner/run.js +2 -0
  25. package/dist/agents/pi-embedded-runner/tool-split.js +40 -2
  26. package/dist/agents/pi-tool-definition-adapter.js +16 -1
  27. package/dist/agents/pi-tools.js +2 -1
  28. package/dist/agents/sandbox/config.js +1 -1
  29. package/dist/agents/sandbox/context.js +27 -2
  30. package/dist/agents/skills/env-overrides.js +38 -28
  31. package/dist/agents/skills/trust.js +93 -0
  32. package/dist/agents/skills/workspace.js +128 -0
  33. package/dist/agents/skills-clawhub.js +36 -11
  34. package/dist/agents/skills-marketplace-scan.js +49 -0
  35. package/dist/agents/tools/marketplace-offer-draft-tool.js +1 -1
  36. package/dist/agents/tools/mining-tool.js +1 -1
  37. package/dist/agents/tools/session-status-tool.js +1 -1
  38. package/dist/agents/tools/wallet-action-tool.js +172 -36
  39. package/dist/agents/tools/wallet-skill-policy.js +65 -23
  40. package/dist/agents/tools/wallet-tool.js +7 -11
  41. package/dist/auto-reply/reply/directive-handling.fast-lane.js +2 -1
  42. package/dist/auto-reply/reply/directive-handling.impl.js +2 -1
  43. package/dist/auto-reply/reply/directive-handling.model.js +2 -1
  44. package/dist/auto-reply/reply/directive-handling.persist.js +2 -2
  45. package/dist/auto-reply/reply/get-reply-directives-apply.js +2 -0
  46. package/dist/auto-reply/reply/get-reply-inline-actions.js +25 -1
  47. package/dist/auto-reply/reply/model-selection.js +7 -4
  48. package/dist/auto-reply/reply/session-reset-model.js +4 -4
  49. package/dist/brand.js +1 -1
  50. package/dist/build-info.json +3 -3
  51. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  52. package/dist/channel-web.js +2 -2
  53. package/dist/cli/gateway-cli/run.js +8 -0
  54. package/dist/cli/program/command-registry.js +1 -1
  55. package/dist/cli/program/register.onboard.js +2 -3
  56. package/dist/cli/program/register.wallet.js +16 -123
  57. package/dist/cli/providers-cli.js +1 -1
  58. package/dist/cli/sat-cli.js +129 -2
  59. package/dist/cli/update-cli/update-command.js +260 -11
  60. package/dist/commands/auth-choice.apply.api-providers.js +3 -3
  61. package/dist/commands/doctor-config-flow.js +1 -1
  62. package/dist/commands/doctor-legacy-config.js +2 -13
  63. package/dist/commands/model-picker.js +6 -6
  64. package/dist/commands/models/auth.js +1 -1
  65. package/dist/commands/onboard-auth.config-gateways.js +1 -1
  66. package/dist/commands/onboard-auth.credentials.js +32 -8
  67. package/dist/commands/onboard-non-interactive/local/wallet-config.js +28 -27
  68. package/dist/commands/onboard-non-interactive/local.js +5 -1
  69. package/dist/commands/wallet.js +568 -1911
  70. package/dist/config/config.js +2 -2
  71. package/dist/config/io.js +64 -2
  72. package/dist/config/schema.help.js +8 -7
  73. package/dist/config/schema.labels.js +5 -4
  74. package/dist/config/zod-schema.agent-runtime.js +1 -0
  75. package/dist/config/zod-schema.js +5 -0
  76. package/dist/control-ui/assets/{app-DLil9VO1.js → app-MaQnPa5G.js} +1511 -1555
  77. package/dist/control-ui/assets/{config-CU5Zi8Dh.js → config-LeImukCW.js} +10 -10
  78. package/dist/control-ui/assets/{federation-D10Q4eP_.js → federation-DgA9e-Pn.js} +364 -422
  79. package/dist/control-ui/assets/{index-DdE_NIXo.js → index-D4YMr1fA.js} +3 -3
  80. package/dist/control-ui/assets/mining-commit-DFpB_4JN.js +2 -0
  81. package/dist/control-ui/assets/{mining-BdhMn18r.js → mining-qMYs4aD-.js} +70 -50
  82. package/dist/control-ui/assets/{open-external-url-DwSiwMPl.js → open-external-url-ulF1B-sA.js} +3 -3
  83. package/dist/control-ui/assets/{providers-QMn4w2_f.js → providers-CIx9fxc6.js} +2 -2
  84. package/dist/control-ui/assets/{wallet-C2g294QT.js → wallet-DvStR_AT.js} +259 -377
  85. package/dist/control-ui/index.html +1 -1
  86. package/dist/control-ui/version.json +1 -1
  87. package/dist/daemon/systemd-system.js +56 -50
  88. package/dist/extensions/sat-mining/src/protocol-contract.js +43 -3
  89. package/dist/extensions/sat-mining/src/rpc-read.js +291 -84
  90. package/dist/extensions/sat-mining/src/sat-bond-layout.js +5 -2
  91. package/dist/extensions/sat-mining/src/signer-codec-manifest.js +406 -0
  92. package/dist/extensions/sat-mining/src/solana-submit.js +1274 -390
  93. package/dist/extensions/sat-mining/src/submission-ledger.js +349 -0
  94. package/dist/federation/auto-connect.js +98 -8
  95. package/dist/federation/marketplace-capability-adapter.js +33 -7
  96. package/dist/federation/marketplace-delivery-outbox.js +196 -0
  97. package/dist/federation/marketplace-delivery.js +351 -215
  98. package/dist/federation/marketplace-direct-payment.js +272 -141
  99. package/dist/federation/marketplace-escrow.js +607 -249
  100. package/dist/federation/marketplace-settlement-ledger.js +352 -0
  101. package/dist/federation/offers.js +9 -7
  102. package/dist/federation/peer-auth-v2.js +529 -0
  103. package/dist/gateway/a2a-http.js +425 -96
  104. package/dist/gateway/a2a-settlement.js +259 -153
  105. package/dist/gateway/a2a-task-store.js +524 -0
  106. package/dist/gateway/auth.js +38 -2
  107. package/dist/gateway/config-reload.js +46 -33
  108. package/dist/gateway/durable-capacity.js +31 -0
  109. package/dist/gateway/federation-http.js +540 -135
  110. package/dist/gateway/federation-marketplace-run-store.js +397 -0
  111. package/dist/gateway/federation-marketplace.js +535 -230
  112. package/dist/gateway/mutating-admin-rpc-rate-limit.js +5 -0
  113. package/dist/gateway/security-path.js +1 -1
  114. package/dist/gateway/server-http.js +1084 -1205
  115. package/dist/gateway/server-methods/models.js +1 -1
  116. package/dist/gateway/server-methods/secrets.js +40 -0
  117. package/dist/gateway/server-methods.js +1 -2
  118. package/dist/gateway/server-reload-handlers.js +196 -66
  119. package/dist/gateway/server-runtime-config.js +1 -1
  120. package/dist/gateway/server-secrets-runtime.js +288 -0
  121. package/dist/gateway/server.impl.js +73 -42
  122. package/dist/gateway/sessions-patch.js +3 -5
  123. package/dist/index.js +4 -2
  124. package/dist/infra/fasedhub.js +64 -1
  125. package/dist/infra/local-source-paired-update.js +538 -0
  126. package/dist/infra/restart.js +41 -10
  127. package/dist/infra/update-runner.js +96 -0
  128. package/dist/light-update-status.js +11 -11
  129. package/dist/memory/backend-config.js +2 -1
  130. package/dist/memory/session-files.js +16 -2
  131. package/dist/plugin-sdk/{accounts-DxblobYM.js → accounts-Brn3-uWN.js} +1 -1
  132. package/dist/plugin-sdk/{actions-D4UNimWa.js → actions-DRu135h0.js} +2 -2
  133. package/dist/plugin-sdk/{active-listener-CFuy106s.js → active-listener-B_NMtgPL.js} +1 -1
  134. package/dist/plugin-sdk/{audio-preflight-Bwi2Oq03.js → audio-preflight-I4IngVlJ.js} +27 -27
  135. package/dist/plugin-sdk/{audit-Cs0K7LBp.js → audit-C5d2z5U1.js} +1 -1
  136. package/dist/plugin-sdk/{channel-access-D5aHoTY8.js → channel-access-CcFRdRPO.js} +1 -1
  137. package/dist/plugin-sdk/{channel-access-configure-Dvch9mMQ.js → channel-access-configure-DaI5wevh.js} +1 -1
  138. package/dist/plugin-sdk/channel-plugin-common.d.ts +3 -3
  139. package/dist/plugin-sdk/channel-plugin-common.js +4 -4
  140. package/dist/plugin-sdk/{chunk-B0FUGc5A.js → chunk-CyoyqpbG.js} +1 -1
  141. package/dist/plugin-sdk/{chunk-items-DzT4L4Ty.js → chunk-items-DLQ6_lLK.js} +1 -1
  142. package/dist/plugin-sdk/command-status.d.ts +2 -2
  143. package/dist/plugin-sdk/command-status.js +27 -27
  144. package/dist/plugin-sdk/{commands-registry-DmDRhRAU.js → commands-registry-BfqdEWdF.js} +2 -2
  145. package/dist/plugin-sdk/{common-CfUOowOp.js → common-HCcXU-NR.js} +1 -1
  146. package/dist/plugin-sdk/{config-mxULv0fQ.js → config-DlWVeLFB.js} +7113 -6877
  147. package/dist/plugin-sdk/{config-schema-BrkmtFxB.js → config-schema-D_8FVI1C.js} +6798 -3695
  148. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  149. package/dist/plugin-sdk/discord.d.ts +6 -6
  150. package/dist/plugin-sdk/discord.js +19 -19
  151. package/dist/plugin-sdk/file-lock.js +35 -4
  152. package/dist/plugin-sdk/{filesystem-manager-ZoHU8oA7.js → filesystem-manager-DoI8IBNF.js} +1 -1
  153. package/dist/plugin-sdk/{group-mentions-BHRff6j8.d.ts → group-mentions-q3hUTCt7.d.ts} +1 -1
  154. package/dist/plugin-sdk/{handle-action-DbVCF9HZ.js → handle-action-hvwapMKg.js} +13 -13
  155. package/dist/plugin-sdk/{helpers-BXbdgs5H.js → helpers-DMBU4oTo.js} +1 -1
  156. package/dist/plugin-sdk/{image-ops-D7jPxaph.js → image-ops-DQi0n_Tt.js} +1 -1
  157. package/dist/plugin-sdk/index.d.ts +21 -39
  158. package/dist/plugin-sdk/index.js +29 -29
  159. package/dist/plugin-sdk/{login-BRxww6nv.js → login-Ca583Okc.js} +3 -3
  160. package/dist/plugin-sdk/{login-qr-DJXsk9XH.js → login-qr-CGciBSNP.js} +3 -3
  161. package/dist/plugin-sdk/{manager-Y2S_5IlI.js → manager-BegWxNYX.js} +4 -4
  162. package/dist/plugin-sdk/{markdown-tables-DHLFQqaF.js → markdown-tables-DCOXEUfZ.js} +1 -1
  163. package/dist/plugin-sdk/{media-Czo4carg.js → media-CAdQF5TG.js} +47 -47
  164. package/dist/plugin-sdk/{memory-search-DTjIMw8J.js → memory-search-CrFPOeTH.js} +4 -1
  165. package/dist/plugin-sdk/{monitor-M_ta2lMc.js → monitor-B4KF4Kpo.js} +31 -31
  166. package/dist/plugin-sdk/{monitor-wYVncM9w.js → monitor-Bb6x1KAG.js} +32 -32
  167. package/dist/plugin-sdk/{openresponses-http-B2GmeSt4.js → openresponses-http-DCTO8JkL.js} +27 -27
  168. package/dist/plugin-sdk/{optional-runtime-dependency-DdMbxS24.js → optional-runtime-dependency-0dznm3ZO.js} +1 -1
  169. package/dist/plugin-sdk/{outbound-Db8mRN6P.js → outbound-BgVDdHxx.js} +6 -6
  170. package/dist/plugin-sdk/{outbound-attachment-BqFjcypb.js → outbound-attachment-QqTnIhZL.js} +2 -2
  171. package/dist/plugin-sdk/{pairing-message-B3GC_7CD.js → pairing-message-D0CoLHRJ.js} +1 -1
  172. package/dist/plugin-sdk/{pairing-message-B3bHYGaw.d.ts → pairing-message-DHPDFZbC.d.ts} +2 -2
  173. package/dist/plugin-sdk/{pairing-store-CQikgIbw.js → pairing-store-BChahgI2.js} +2 -2
  174. package/dist/plugin-sdk/{pi-model-discovery-CY3m5zJP.js → pi-model-discovery-BX_JLcEJ.js} +1 -1
  175. package/dist/plugin-sdk/{pi-model-discovery-runtime-DSh1T2pn.js → pi-model-discovery-runtime-DxTMz_XF.js} +2 -2
  176. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +2 -2
  177. package/dist/plugin-sdk/{pw-ai-AFUqn-tQ.js → pw-ai-natjh3rm.js} +3 -3
  178. package/dist/plugin-sdk/{qmd-manager-DSyx77KY.js → qmd-manager-CgRaTxUq.js} +1 -1
  179. package/dist/plugin-sdk/{query-expansion-CAI2kKLQ.js → query-expansion-BG3FgzF7.js} +14 -3
  180. package/dist/plugin-sdk/{replies-Fzh9PhXl.js → replies-ChYo5ZQM.js} +2 -2
  181. package/dist/plugin-sdk/{resolve-outbound-target-KpF3co6T.js → resolve-outbound-target-D-KGgHJZ.js} +1 -1
  182. package/dist/plugin-sdk/{resolve-route-CDl74O19.js → resolve-route-C8tvQm8Z.js} +1 -1
  183. package/dist/plugin-sdk/{retry-policy-D4uiqUOG.js → retry-policy-C6SjKjQA.js} +1 -1
  184. package/dist/plugin-sdk/{runtime-Bb6KRnCC.js → runtime-2B9_WKoI.js} +8 -3
  185. package/dist/plugin-sdk/{runtime-dependency-DLDmB94f.js → runtime-dependency-DczkvPxn.js} +2 -2
  186. package/dist/plugin-sdk/sat-runtime.d.ts +565 -309
  187. package/dist/plugin-sdk/sat-runtime.js +29 -29
  188. package/dist/plugin-sdk/{send-C4k4JuJN.js → send-B6KkGKZD.js} +6 -6
  189. package/dist/plugin-sdk/{send-D-uDKGIq.js → send-CFzGKJXo.js} +6 -6
  190. package/dist/plugin-sdk/{send-Du8ykP1k.js → send-DCO441U7.js} +8 -8
  191. package/dist/plugin-sdk/{send-5nFktR1n.js → send-gDoGA-7e.js} +5 -5
  192. package/dist/plugin-sdk/{send-Bfzf11VY.js → send-q9HXrSwK.js} +7 -7
  193. package/dist/plugin-sdk/{session-CS-Td9EM.js → session-DHD4ZKyG.js} +2 -2
  194. package/dist/plugin-sdk/{skill-commands-CFAlXWHk.js → skill-commands-FKEPLS7T.js} +201 -26
  195. package/dist/plugin-sdk/{slack-CxE1mfzj.js → slack-BHmvqgjH.js} +39 -39
  196. package/dist/plugin-sdk/{slack-actions-BcMkNv1Z.js → slack-actions-DhbMcp8M.js} +11 -11
  197. package/dist/plugin-sdk/slack.d.ts +6 -6
  198. package/dist/plugin-sdk/slack.js +9 -9
  199. package/dist/plugin-sdk/{sticker-cache-CGzGWu00.js → sticker-cache-By5AcorL.js} +3 -3
  200. package/dist/plugin-sdk/{tables-bFXyRpkx.js → tables-B3jr0Pvq.js} +1 -1
  201. package/dist/plugin-sdk/{targets-DH7a9lKB.js → targets-CtSbTxYX.js} +1 -1
  202. package/dist/plugin-sdk/{telegram-actions-DaEcYQ8r.js → telegram-actions-DGnBz1YT.js} +30 -30
  203. package/dist/plugin-sdk/telegram.d.ts +6 -6
  204. package/dist/plugin-sdk/telegram.js +8 -8
  205. package/dist/plugin-sdk/{thread-bindings.lifecycle-CgOvvdw8.js → thread-bindings.lifecycle-QbkNl-m6.js} +3 -3
  206. package/dist/plugin-sdk/{thread-bindings.state-CQpk44Hq.js → thread-bindings.state-D9hg_M1c.js} +2 -2
  207. package/dist/plugin-sdk/tmp-fased-dir-EJGTmL1Q.d.ts +486 -0
  208. package/dist/plugin-sdk/{types-vcJrC_uv.d.ts → types-BdwdFCD6.d.ts} +2 -3
  209. package/dist/plugin-sdk/{types-DFAW-n1J.d.ts → types-BrCpYMxn.d.ts} +2 -2
  210. package/dist/plugin-sdk/{types-DyhXnYUr.d.ts → types-D0kDG8l0.d.ts} +3 -2
  211. package/dist/plugin-sdk/{types.plugin-_fbu40Re.d.ts → types.plugin-BcSBq42x.d.ts} +8 -3
  212. package/dist/plugin-sdk/{web-CInY-lCv.js → web-DUJwrTYs.js} +32 -32
  213. package/dist/plugin-sdk/{whatsapp-actions-BtSc2CBv.js → whatsapp-actions-Bj_rOncr.js} +13 -13
  214. package/dist/plugin-sdk/{whatsapp-heartbeat-Bg9TuYzl.js → whatsapp-heartbeat-B1WHkJIg.js} +2 -2
  215. package/dist/plugin-sdk/whatsapp.d.ts +13 -13
  216. package/dist/plugin-sdk/whatsapp.js +12 -12
  217. package/dist/plugin-sdk/{wsl-C4DGFkOd.js → wsl-J-HscWxS.js} +3 -3
  218. package/dist/plugin-sdk/{zod-schema.providers-core-BEbNizPe.d.ts → zod-schema.providers-core-CIzCjXH9.d.ts} +61 -61
  219. package/dist/providers/refresh.js +1 -1
  220. package/dist/providers/registry.js +1 -1
  221. package/dist/secrets/apply.js +1 -1
  222. package/dist/secrets/runtime.js +1 -1
  223. package/dist/wallet/external-submission-ledger.js +376 -0
  224. package/dist/wallet/legacy-embedded-keystore.js +40 -0
  225. package/dist/wallet/local-socket-signer-archive.js +30 -0
  226. package/dist/wallet/local-socket-signer-lifecycle.js +97 -0
  227. package/dist/wallet/local-socket-signer-policy.js +166 -0
  228. package/dist/wallet/local-socket-signer-protocol.js +578 -117
  229. package/dist/wallet/native-signer-wallet-id.js +25 -0
  230. package/dist/wallet/providers/alchemy-adapter.js +3 -0
  231. package/dist/wallet/providers/local-socket-signer-adapter.js +380 -105
  232. package/dist/wallet/providers/turnkey-adapter.js +292 -34
  233. package/dist/wallet/providers/wallet-standard-adapter.js +100 -0
  234. package/dist/wallet/signer-network-admin.js +184 -0
  235. package/dist/wallet/signer-protocol-v2.generated.js +92 -0
  236. package/dist/wallet/solana-bond-signing.js +157 -69
  237. package/dist/wallet/solana-reviewed-transaction.js +375 -0
  238. package/dist/wallet/solana-swap.js +520 -64
  239. package/dist/wallet/solana-transaction-inspection.js +106 -4
  240. package/dist/wallet/solana-trigger.js +658 -320
  241. package/dist/wallet/turnkey-reviewed-state.js +370 -0
  242. package/dist/wallet/wallet-approval-auth.js +17 -28
  243. package/dist/wallet/wallet-atomic-state.js +53 -0
  244. package/dist/wallet/wallet-canary.js +0 -1
  245. package/dist/wallet/wallet-inbound-events.js +16 -11
  246. package/dist/wallet/wallet-policy-simulation.js +1 -1
  247. package/dist/wallet/wallet-policy.js +93 -37
  248. package/dist/wallet/wallet-provider-capabilities.js +28 -4
  249. package/dist/wallet/wallet-provider-registry.js +57 -44
  250. package/dist/wallet/wallet-provider-resolver.js +62 -63
  251. package/dist/wallet/wallet-runtime-config.js +28 -41
  252. package/dist/wallet/wallet-secrets-store.js +22 -0
  253. package/dist/wallet/wallet-send-approvals.js +1891 -589
  254. package/dist/wallet/wallet-send-execution-ledger.js +292 -0
  255. package/dist/wallet/wallet-settlement-links.js +14 -13
  256. package/dist/wallet/wallet-standard-review.js +353 -0
  257. package/dist/wallet/wallet-status.js +0 -9
  258. package/dist/wallet/wallet-task-ledger.js +16 -2
  259. package/dist/web/auto-reply/heartbeat-runner.js +1 -1
  260. package/dist/web/auto-reply/monitor.js +2 -2
  261. package/dist/wizard/host-security-capability.js +14 -23
  262. package/dist/wizard/onboarding.finalize.js +63 -184
  263. package/dist/wizard/onboarding.host-security.js +117 -1367
  264. package/dist/wizard/onboarding.js +172 -217
  265. package/dist/wizard/onboarding.wallet.js +232 -785
  266. package/extensions/acpx/package.json +1 -1
  267. package/extensions/bluebubbles/package.json +1 -1
  268. package/extensions/copilot-proxy/package.json +1 -1
  269. package/extensions/diagnostics-otel/package.json +1 -1
  270. package/extensions/fased-federation/package.json +1 -1
  271. package/extensions/google-gemini-cli-auth/package.json +1 -1
  272. package/extensions/imessage/package.json +1 -1
  273. package/extensions/irc/package.json +1 -1
  274. package/extensions/line/package.json +1 -1
  275. package/extensions/llm-task/package.json +1 -1
  276. package/extensions/lobster/package.json +1 -1
  277. package/extensions/matrix/CHANGELOG.md +18 -0
  278. package/extensions/matrix/package.json +1 -1
  279. package/extensions/mattermost/package.json +1 -1
  280. package/extensions/memory-core/package.json +2 -2
  281. package/extensions/memory-lancedb/package.json +1 -1
  282. package/extensions/minimax-portal-auth/package.json +1 -1
  283. package/extensions/msteams/CHANGELOG.md +18 -0
  284. package/extensions/msteams/package.json +1 -1
  285. package/extensions/nextcloud-talk/package.json +1 -1
  286. package/extensions/nostr/CHANGELOG.md +18 -0
  287. package/extensions/nostr/package.json +1 -1
  288. package/extensions/open-prose/package.json +1 -1
  289. package/extensions/sat-mining/index.ts +587 -154
  290. package/extensions/sat-mining/package.json +1 -1
  291. package/extensions/sat-mining/signer-codec-schema.v1.json +374 -0
  292. package/extensions/sat-mining/src/audit-store.ts +91 -5
  293. package/extensions/sat-mining/src/claim-service.ts +85 -14
  294. package/extensions/sat-mining/src/client.ts +13 -0
  295. package/extensions/sat-mining/src/config.ts +9 -0
  296. package/extensions/sat-mining/src/cycle-progress.ts +16 -8
  297. package/extensions/sat-mining/src/epoch-service.ts +9 -5
  298. package/extensions/sat-mining/src/gateway-runner.ts +21 -1
  299. package/extensions/sat-mining/src/protocol-contract.ts +45 -1
  300. package/extensions/sat-mining/src/recovery-service.ts +312 -0
  301. package/extensions/sat-mining/src/round-watcher.ts +391 -81
  302. package/extensions/sat-mining/src/rpc-read.ts +431 -106
  303. package/extensions/sat-mining/src/runtime.ts +16 -0
  304. package/extensions/sat-mining/src/sat-bond-layout.ts +6 -0
  305. package/extensions/sat-mining/src/signer-codec-manifest.ts +429 -0
  306. package/extensions/sat-mining/src/solana-submit.ts +1544 -436
  307. package/extensions/sat-mining/src/submission-ledger.ts +434 -0
  308. package/extensions/signal/package.json +1 -1
  309. package/extensions/synology-chat/package.json +1 -1
  310. package/extensions/tlon/package.json +1 -1
  311. package/extensions/twitch/CHANGELOG.md +18 -0
  312. package/extensions/twitch/package.json +1 -1
  313. package/extensions/voice-call/CHANGELOG.md +18 -0
  314. package/extensions/voice-call/package.json +1 -1
  315. package/extensions/zalo/CHANGELOG.md +18 -0
  316. package/extensions/zalo/package.json +1 -1
  317. package/extensions/zalouser/CHANGELOG.md +18 -0
  318. package/extensions/zalouser/package.json +1 -1
  319. package/install.sh +4951 -0
  320. package/package.json +23 -5
  321. package/scripts/fased-host-updater.mjs +1421 -0
  322. package/scripts/fased-host-updaterctl.mjs +186 -0
  323. package/scripts/fased-managed-service.sh +36 -0
  324. package/scripts/fased-managed-updater.mjs +3065 -156
  325. package/scripts/fased-signer-enroll-hosting.sh +275 -0
  326. package/scripts/fased-signer-network-hosting.sh +143 -0
  327. package/scripts/fased-signer-owner-policy.mjs +1442 -0
  328. package/scripts/fased-signer-policy-hosting.sh +50 -0
  329. package/scripts/fased-signer-policy-local.sh +26 -0
  330. package/scripts/hosted-release-manifest.mjs +185 -0
  331. package/scripts/install-fased-signerd.sh +183 -108
  332. package/scripts/install-managed-runtime.mjs +212 -10
  333. package/scripts/managed-runtime-layout.mjs +75 -3
  334. package/scripts/migrate-hosted-signer-v2.mjs +58 -0
  335. package/scripts/start-managed.sh +173 -360
  336. package/dist/control-ui/assets/mining-commit-R-6nu87p.js +0 -2
  337. package/dist/plugin-sdk/tmp-fased-dir-CS6zsYEE.d.ts +0 -77
  338. package/dist/wallet/local-socket-signer-broker.js +0 -224
  339. package/dist/wallet/local-socket-signer-custody.js +0 -42
  340. package/dist/wallet/providers/embedded-keystore-adapter.js +0 -402
  341. package/dist/wallet/providers/privy-adapter.js +0 -80
  342. package/dist/wallet/wallet-custody.js +0 -1836
package/CHANGELOG.md CHANGED
@@ -4,6 +4,54 @@ This changelog starts with the public Fased Agent release line. Required
4
4
  third-party and copied-code notices are kept in [LICENSE](./LICENSE) and
5
5
  [THIRD_PARTY_NOTICES.md](./THIRD_PARTY_NOTICES.md).
6
6
 
7
+ ## 0.1.65
8
+
9
+ - Add rent-aware SAT settlement accounting, durable submission serialization
10
+ and reconciliation, keeper-bounty debt visibility, and operator status in the
11
+ Mining UI and CLI surfaces.
12
+ - Add signer-owned typed address lookup-table create, extend, deactivate, close,
13
+ and lookup-backed distribution operations with Mining-role, program, action,
14
+ and rent policy gates; all lookup-table operations remain disabled by default.
15
+ - Require byte-identical lookup-table account state from at least two distinct
16
+ configured RPC origins before compiling numeric v0 indexes, and fail closed
17
+ for one provider, duplicate origins, or disagreement.
18
+ - Use independent lifecycle slot reads and the conservative lower slot for
19
+ lookup-table activation, deactivation, and close checks.
20
+ - Preserve explicit lookup-table enablement through managed updates and document
21
+ policy activation, rent recovery, keeper reconciliation, and rollback.
22
+
23
+ ## 0.1.64
24
+
25
+ - Make protocol-v2 `fased-signerd` authoritative for native key creation,
26
+ import, rotation, encrypted state, fail-closed wallet policy, durable caps,
27
+ idempotency, and ambiguous-broadcast reconciliation.
28
+ - Replace the maintained Hosting broker and Gateway sudo path with an
29
+ independent root-managed signer service, separate application/control
30
+ sockets, verified release identity, and transactional update/rollback.
31
+ - Add typed SOL, SPL, SAT Mining, Vault bond, and federation operations with
32
+ signer-owned semantic validation; Jupiter swaps and Trigger mutations remain
33
+ preview-only pending live qualification.
34
+ - Move reviewed WebAuthn challenges into the signer, add Wallet Standard
35
+ hardware and Turnkey provider flows, and keep new native wallets receive-only
36
+ until an exact positive policy hash is acknowledged.
37
+ - Add bounded signer, A2A, Marketplace, skill, and memory state with capacity
38
+ warnings, replay-safe retention, and complete-state archive/restore guidance.
39
+ - Document clean Linux/macOS installs, Windows 10/11 through WSL2 Ubuntu,
40
+ independent VPS Hosting custody, Local-only Docker, wallet activation,
41
+ Mining, Vault, updates, and recovery.
42
+
43
+ ## 0.1.63
44
+
45
+ - Fix maintained Hosting first-wallet setup by launching the packaged signer
46
+ broker through the lazy wallet CLI entry instead of importing optional
47
+ channel dependencies from the minimal hosted runtime.
48
+ - Validate packaged signer-broker startup during hosted artifact creation and
49
+ recognize the secured `0660` app-facing broker socket used by the isolated
50
+ VPS signer account while retaining `0600` for single-user installs.
51
+ - Clarify that Windows runs Fased inside WSL2 Ubuntu, with PowerShell used only
52
+ to install or manage WSL2, and document the public Docker image as a
53
+ local-only path; maintained VPS hosting remains non-Docker.
54
+
7
55
  ## 0.1.62
8
56
 
9
57
  - Install a version-matched, checksum-verified local wallet signer automatically
package/README.md CHANGED
@@ -52,6 +52,19 @@ Use this on your own machine:
52
52
  shell.
53
53
  - **Linux:** run the command in your distro terminal.
54
54
 
55
+ Windows requires Windows 11 or Windows 10 version 2004/build 19041 or newer.
56
+ Open PowerShell **as Administrator** only to install WSL2:
57
+
58
+ ```powershell
59
+ wsl --install -d Ubuntu
60
+ ```
61
+
62
+ Restart Windows if requested, open the **Ubuntu** application, create the Linux
63
+ username/password on first launch, and run the Fased command below in that
64
+ Ubuntu shell. Do not run the Fased installer in PowerShell, Command Prompt, Git
65
+ Bash, or native Windows Node.js. Fased wallet signing requires Unix sockets and
66
+ therefore runs through WSL2 on Windows.
67
+
55
68
  ```bash
56
69
  curl -fsSL https://raw.githubusercontent.com/fased-ai/fased/main/install.sh | bash -s -- --local
57
70
  ```
@@ -106,8 +119,8 @@ Before you start the VPS installer, shut down local VPNs such as Mullvad,
106
119
  Proton VPN, NordVPN, corporate VPN clients, and browser/device VPN apps. Other
107
120
  VPNs can override Tailscale DNS, firewall rules, or `100.x` routing. Re-enable
108
121
  them only after Tailscale SSH and the dashboard work.
109
- The full OS-specific commands are kept in the tabbed
110
- [VPS Hosting install docs](https://docs.fased.ai/install#vps-hosting-install).
122
+ The full access and recovery steps are in the
123
+ [VPS Hosting guide](https://docs.fased.ai/install/vps).
111
124
 
112
125
  Other private-access systems are custom deployments. The standard hosted
113
126
  installer does not configure or verify WireGuard, Headscale, ZeroTier, bastion
@@ -125,28 +138,29 @@ First SSH into the fresh VPS using the login your VPS provider gives you, often
125
138
  ssh root@YOUR_PUBLIC_VPS_IP
126
139
  ```
127
140
 
128
- Then run this on the VPS:
141
+ Then run the one-command Hosting bootstrap:
129
142
 
130
143
  ```bash
131
- curl -fsSL https://raw.githubusercontent.com/fased-ai/fased/main/install.sh | bash -s -- --hosting
144
+ curl -fsSL https://raw.githubusercontent.com/fased-ai/fased/main/install.sh \
145
+ | bash -s -- --hosting
132
146
  ```
133
147
 
134
- The Fased installer bootstraps the repository itself. A fresh VPS does not need
135
- `git clone` first; the installer installs missing system tools, Node, and Git
136
- when the OS package manager supports auto-install. Hosted installs may use the
137
- published runtime package internally and skip the slow source build.
148
+ It selects the stable release and verifies the tagged Hosting artifacts before
149
+ privileged Fased installation. The
150
+ [VPS Hosting guide](https://docs.fased.ai/install/vps#advanced-verify-the-bootstrap-first)
151
+ also keeps an advanced procedure for verifying `install.sh` before it runs.
152
+
153
+ The Fased installer bootstraps the attested hosted runtime itself. A fresh VPS
154
+ does not need `git clone`; the installer installs the supported system tools and
155
+ Node when the OS package manager supports auto-install, then activates the
156
+ exact tagged runtime instead of building an app-owned source checkout.
138
157
  If a minimal VPS image does not have `curl`, use the OS tab in the install docs
139
158
  to install only the downloader first, then rerun the same hosted command.
140
159
 
141
- Current installers try a clean fast-forward update from Git before building. If
142
- you already started from an older installer and it stopped before creating the
143
- `app` runtime, update the bootstrap checkout once and rerun:
144
-
145
- ```bash
146
- cd ~/fased
147
- git pull --ff-only origin main
148
- ./install.sh --hosting
149
- ```
160
+ If an earlier install stopped before creating the `app` runtime, repeat the
161
+ same verified tagged bootstrap from the provider root console. Use the
162
+ documented `--repair-hosting` path for an existing installation; do not repair
163
+ Hosting from a moving `main` checkout.
150
164
 
151
165
  If you SSH into a fresh VPS as `root`, the installer creates a non-root `app`
152
166
  user, copies/clones the repo to `/home/app/fased`, and continues there. The
@@ -312,11 +326,11 @@ model servers and model weights are not bundled. See
312
326
  [Core And Optional Components](./docs/install/components.md).
313
327
 
314
328
  Fresh dashboard, Gateway, and Fased Network setup do not require the native
315
- wallet signer. If you later choose the local signer wallet path, Fased builds
316
- `fased-signerd` locally when Go is available. Otherwise provide an explicit
317
- signer binary with `FASED_WALLET_LOCAL_SIGNER_BIN`, or an explicit signer asset
318
- source with `FASED_LOCAL_SIGNER_VERSION` / `FASED_LOCAL_SIGNER_BASE_URL`.
319
- Generated signer binaries are never committed to Git.
329
+ wallet signer. When you create the first signer-owned wallet, Fased downloads
330
+ the version-matched `fased-signerd` asset and verifies both its SHA-256 checksum
331
+ and GitHub release attestation. Normal users do not need Go. A source build is a
332
+ developer-only opt-in with `FASED_BUILD_NATIVE_SIGNER_FROM_SOURCE=1`; Fased does
333
+ not silently replace a failed release verification with a local build.
320
334
 
321
335
  After install, open the dashboard, configure **Agent > Models**, send a first
322
336
  browser chat, then add channels, skills, services, wallets, mining, and tasks
@@ -455,11 +469,10 @@ your own machine:
455
469
  curl -fsSL https://raw.githubusercontent.com/fased-ai/fased/main/install.sh | bash -s -- --local
456
470
  ```
457
471
 
458
- Use the VPS Hosting profile only on the server that will run Fased all the time:
459
-
460
- ```bash
461
- curl -fsSL https://raw.githubusercontent.com/fased-ai/fased/main/install.sh | bash -s -- --hosting
462
- ```
472
+ Use the VPS Hosting profile only on the server that will run Fased all the time,
473
+ using the one-command bootstrap in the
474
+ [VPS Hosting guide](https://docs.fased.ai/install/vps). Manual pre-execution
475
+ attestation verification remains available there for advanced operators.
463
476
 
464
477
  The commands below are for contributors working from the source checkout. Do
465
478
  not use plain `npm install` to install Fased from source.
@@ -508,8 +521,10 @@ The root intentionally contains both product code and build/deploy control files
508
521
  - `test/`: test fixtures and integration helpers
509
522
  - `token/`: SAT/token technical materials
510
523
  - `Dockerfile`, `docker-compose.yml`, `docker-setup.sh`, and
511
- `setup-podman.sh`: primary container entrypoints
512
- - `deploy/`: secondary container, Fly, Render, and hosting configuration files
524
+ `setup-podman.sh`: Local Docker entrypoints plus an experimental Gateway-only
525
+ Podman helper
526
+ - `deploy/`: sandbox/container assets and archived Fly/Render reference
527
+ manifests; VPS Hosting uses `install.sh --hosting`, not those manifests
513
528
 
514
529
  Root config files should stay at repository root unless the owning toolchain,
515
530
  docs publisher, installer, and CI path are updated together.
@@ -48,7 +48,7 @@
48
48
  "label": "Wallet And Mining Core",
49
49
  "delivery": "core",
50
50
  "target": "keep",
51
- "dependencies": ["@solana/web3.js"]
51
+ "dependencies": ["@solana/web3.js", "@turnkey/sdk-server"]
52
52
  },
53
53
  {
54
54
  "id": "fased-network",
@@ -0,0 +1,58 @@
1
+ # Native signer owner-policy templates
2
+
3
+ These files are deliberately inactive templates. Every `REPLACE_WITH_...` value
4
+ is invalid, so an unreviewed template cannot unlock a wallet. Copy one template
5
+ to a new owner-only file, set `walletId` to the canonical signer wallet ID
6
+ returned by native setup (lowercase with separators normalized to underscores,
7
+ not the friendly Gateway/registry ID; the template value is only the
8
+ conventional role name), replace every placeholder with an exact address or a
9
+ canonical positive raw-unit cap, review every line, then set the file to mode
10
+ `0600` before running
11
+ `fased-signer-policy --initial-install`.
12
+
13
+ Fresh signer-owned wallets remain at their version-1 deny-all policy until that
14
+ owner-confirmed command succeeds. Merely installing Fased or copying a template
15
+ does not enable signing.
16
+
17
+ Every policy that permits an on-chain operation must include a
18
+ `solana:native` asset whose `maxPerTx` and `maxDaily` are each at least
19
+ `5000000` lamports. The native signer reserves that fixed, signer-controlled
20
+ ceiling atomically for network fees and explicitly validated rent; for a native
21
+ SOL transfer, the principal and this reserve must fit inside the same cap.
22
+ Existing custom policies below that minimum intentionally become locked after
23
+ the signer-v2 upgrade. Review the new limit and install a new version explicitly
24
+ with `fased-signer-policy`; installation and update never widen it automatically.
25
+
26
+ - Agent permits only typed native SOL and exact-mint SPL transfers to listed
27
+ destination owners. The signer derives the canonical source and destination
28
+ token accounts. When the destination account is absent, it may add exactly
29
+ one idempotent Associated Token Account instruction and charges the fixed
30
+ signer-controlled native fee/rent reservation against the same atomic policy
31
+ decision. The policy must therefore grant the Associated Token program, the
32
+ exact token program, the mint, destination owner, positive token caps, and a
33
+ positive `solana:native` cap. No caller-selected token account or arbitrary
34
+ account-creation instruction is accepted.
35
+ - Mining permits program-bound typed SAT mining actions. The native signer
36
+ forces generic SOL/SAT transfers through reviewed authorization for a Mining
37
+ wallet; it never treats them as autonomous mining actions. Exact SAT codecs
38
+ that genuinely use associated-token-account instructions retain that program
39
+ grant. The starter deliberately omits the four typed `satLookup` lifecycle
40
+ operations for large distribution pages. Opting in requires both
41
+ `FASED_SAT_ENABLE_ALT_V0=1` and owner-approved exact create, extend,
42
+ deactivate, and close grants for the Address Lookup Table program. Create and
43
+ extend each reserve `25000000` lamports, so the native SOL per-transaction cap
44
+ must be at least that amount and the daily cap must cover every create/extend
45
+ chunk the operator intends to run. The signer network must also contain
46
+ reachable primary and fallback RPC URLs on two distinct origins. ALT account
47
+ bytes must agree exactly across both origins; one origin, duplicate origins,
48
+ or any disagreement fails closed.
49
+ - Vault operations always require signer-owned reviewed authorization. The
50
+ starter omits Jupiter and Trigger permissions. Treat both as preview in this
51
+ release: do not add them to a production policy until an exact generated
52
+ RouteV2/Trigger codec and a live Jupiter qualification are published for the
53
+ same release. The signer also rejects their execution by default; normal
54
+ installers never enable the qualification-only live switch.
55
+
56
+ Receiving SOL or SAT does not require a signing permission. Do not add a
57
+ receive-only address as a destination unless the signer should also be allowed
58
+ to send to it.
@@ -0,0 +1,32 @@
1
+ {
2
+ "walletId": "agent",
3
+ "role": "agent",
4
+ "operations": [
5
+ "solana.nativeTransfer",
6
+ "solana.splTransferChecked"
7
+ ],
8
+ "programs": [
9
+ "11111111111111111111111111111111",
10
+ "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
11
+ "MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr",
12
+ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
13
+ ],
14
+ "assets": [
15
+ {
16
+ "asset": "solana:native",
17
+ "destinations": [
18
+ "REPLACE_WITH_APPROVED_SOL_RECIPIENT"
19
+ ],
20
+ "maxPerTx": "REPLACE_WITH_POSITIVE_LAMPORTS_PER_TX",
21
+ "maxDaily": "REPLACE_WITH_POSITIVE_LAMPORTS_PER_UTC_DAY"
22
+ },
23
+ {
24
+ "asset": "solana:spl:REPLACE_WITH_SAT_MINT",
25
+ "destinations": [
26
+ "REPLACE_WITH_APPROVED_SAT_RECIPIENT_OWNER"
27
+ ],
28
+ "maxPerTx": "REPLACE_WITH_POSITIVE_SAT_RAW_UNITS_PER_TX",
29
+ "maxDaily": "REPLACE_WITH_POSITIVE_SAT_RAW_UNITS_PER_UTC_DAY"
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,69 @@
1
+ {
2
+ "walletId": "mining",
3
+ "role": "mining",
4
+ "operations": [
5
+ "sat.cleanupBatch@REPLACE_WITH_SAT_PROGRAM_ID",
6
+ "sat.claimCycleRewards@REPLACE_WITH_SAT_PROGRAM_ID",
7
+ "sat.claimCycleRewardsBatch@REPLACE_WITH_SAT_PROGRAM_ID",
8
+ "sat.commitCycle@REPLACE_WITH_SAT_PROGRAM_ID",
9
+ "sat.depositMinerCapital@REPLACE_WITH_SAT_PROGRAM_ID",
10
+ "sat.initMinerCapital@REPLACE_WITH_SAT_PROGRAM_ID",
11
+ "sat.revealCycle@REPLACE_WITH_SAT_PROGRAM_ID",
12
+ "sat.setActiveCommit@REPLACE_WITH_SAT_PROGRAM_ID",
13
+ "sat.withdrawMinerCapital@REPLACE_WITH_SAT_PROGRAM_ID",
14
+ "solana.nativeTransfer",
15
+ "solana.splTransferChecked"
16
+ ],
17
+ "programs": [
18
+ "11111111111111111111111111111111",
19
+ "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
20
+ "REPLACE_WITH_CLAIM_VERIFICATION_PROGRAM_ID",
21
+ "REPLACE_WITH_SAT_PROGRAM_ID",
22
+ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
23
+ ],
24
+ "assets": [
25
+ {
26
+ "asset": "sat:action",
27
+ "destinations": [
28
+ "REPLACE_WITH_MINING_WALLET_PUBLIC_KEY",
29
+ "REPLACE_WITH_MINER_CAPITAL_PDA",
30
+ "REPLACE_WITH_SAT_PROGRAM_ID"
31
+ ],
32
+ "maxPerTx": "REPLACE_WITH_POSITIVE_TYPED_ACTIONS_PER_TX",
33
+ "maxDaily": "REPLACE_WITH_POSITIVE_TYPED_ACTIONS_PER_UTC_DAY"
34
+ },
35
+ {
36
+ "asset": "sat:capital:lamports",
37
+ "destinations": [
38
+ "REPLACE_WITH_MINER_CAPITAL_PDA"
39
+ ],
40
+ "maxPerTx": "REPLACE_WITH_POSITIVE_ACTIVE_CAPITAL_LAMPORTS_PER_TX",
41
+ "maxDaily": "REPLACE_WITH_POSITIVE_ACTIVE_CAPITAL_LAMPORTS_PER_UTC_DAY"
42
+ },
43
+ {
44
+ "asset": "sat:mint:REPLACE_WITH_SAT_MINT",
45
+ "destinations": [
46
+ "REPLACE_WITH_MINING_WALLET_PUBLIC_KEY"
47
+ ],
48
+ "maxPerTx": "REPLACE_WITH_POSITIVE_REWARD_ACTIONS_PER_TX",
49
+ "maxDaily": "REPLACE_WITH_POSITIVE_REWARD_ACTIONS_PER_UTC_DAY"
50
+ },
51
+ {
52
+ "asset": "solana:native",
53
+ "destinations": [
54
+ "REPLACE_WITH_APPROVED_REVIEWED_SOL_RECIPIENT",
55
+ "REPLACE_WITH_MINER_CAPITAL_PDA"
56
+ ],
57
+ "maxPerTx": "REPLACE_WITH_POSITIVE_LAMPORTS_PER_TX",
58
+ "maxDaily": "REPLACE_WITH_POSITIVE_LAMPORTS_PER_UTC_DAY"
59
+ },
60
+ {
61
+ "asset": "solana:spl:REPLACE_WITH_SAT_MINT",
62
+ "destinations": [
63
+ "REPLACE_WITH_APPROVED_REVIEWED_SAT_RECIPIENT_OWNER"
64
+ ],
65
+ "maxPerTx": "REPLACE_WITH_POSITIVE_SAT_RAW_UNITS_PER_TX",
66
+ "maxDaily": "REPLACE_WITH_POSITIVE_SAT_RAW_UNITS_PER_UTC_DAY"
67
+ }
68
+ ]
69
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "primaryRpcUrl": "https://REPLACE_WITH_PRIMARY_SOLANA_RPC",
4
+ "fallbackRpcUrl": "https://REPLACE_WITH_INDEPENDENT_FALLBACK_RPC"
5
+ }
@@ -0,0 +1,70 @@
1
+ {
2
+ "walletId": "vault",
3
+ "role": "vault",
4
+ "operations": [
5
+ "federation.bondChallenge",
6
+ "solana.nativeTransfer",
7
+ "solana.splTransferChecked",
8
+ "vaultBond.cancelBondUnlock@REPLACE_WITH_SAT_BOND_PROGRAM_ID",
9
+ "vaultBond.claimBondStakingRewards@REPLACE_WITH_SAT_BOND_PROGRAM_ID",
10
+ "vaultBond.claimUnallocatedStakingRewards@REPLACE_WITH_SAT_BOND_PROGRAM_ID",
11
+ "vaultBond.finalizeBondUnlock@REPLACE_WITH_SAT_BOND_PROGRAM_ID",
12
+ "vaultBond.increaseBondPosition@REPLACE_WITH_SAT_BOND_PROGRAM_ID",
13
+ "vaultBond.openBondPosition@REPLACE_WITH_SAT_BOND_PROGRAM_ID",
14
+ "vaultBond.requestBondUnlock@REPLACE_WITH_SAT_BOND_PROGRAM_ID",
15
+ "vaultBond.syncBondStakingPosition@REPLACE_WITH_SAT_BOND_PROGRAM_ID",
16
+ "vaultBond.syncBondStakingRewards@REPLACE_WITH_SAT_BOND_PROGRAM_ID"
17
+ ],
18
+ "programs": [
19
+ "11111111111111111111111111111111",
20
+ "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
21
+ "REPLACE_WITH_SAT_BOND_PROGRAM_ID",
22
+ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
23
+ "domain:fased:federation-bond-challenge-v1"
24
+ ],
25
+ "assets": [
26
+ {
27
+ "asset": "federation:bond-challenge",
28
+ "destinations": [
29
+ "REPLACE_WITH_VAULT_WALLET_PUBLIC_KEY"
30
+ ],
31
+ "maxPerTx": "1",
32
+ "maxDaily": "REPLACE_WITH_POSITIVE_FEDERATION_CHALLENGES_PER_UTC_DAY"
33
+ },
34
+ {
35
+ "asset": "sat:action",
36
+ "destinations": [
37
+ "REPLACE_WITH_SAT_BOND_PROGRAM_ID"
38
+ ],
39
+ "maxPerTx": "REPLACE_WITH_POSITIVE_REVIEWED_BOND_ACTIONS_PER_TX",
40
+ "maxDaily": "REPLACE_WITH_POSITIVE_REVIEWED_BOND_ACTIONS_PER_UTC_DAY"
41
+ },
42
+ {
43
+ "asset": "sat:mint:REPLACE_WITH_SAT_MINT",
44
+ "destinations": [
45
+ "REPLACE_WITH_VAULT_WALLET_PUBLIC_KEY",
46
+ "REPLACE_WITH_APPROVED_REVIEWED_SAT_RECIPIENT_OWNER",
47
+ "REPLACE_WITH_SAT_BOND_PROGRAM_ID"
48
+ ],
49
+ "maxPerTx": "REPLACE_WITH_POSITIVE_REWARD_ACTIONS_PER_TX",
50
+ "maxDaily": "REPLACE_WITH_POSITIVE_REWARD_ACTIONS_PER_UTC_DAY"
51
+ },
52
+ {
53
+ "asset": "solana:native",
54
+ "destinations": [
55
+ "REPLACE_WITH_APPROVED_REVIEWED_SOL_RECIPIENT"
56
+ ],
57
+ "maxPerTx": "REPLACE_WITH_POSITIVE_LAMPORTS_PER_TX",
58
+ "maxDaily": "REPLACE_WITH_POSITIVE_LAMPORTS_PER_UTC_DAY"
59
+ },
60
+ {
61
+ "asset": "solana:spl:REPLACE_WITH_SAT_MINT",
62
+ "destinations": [
63
+ "REPLACE_WITH_APPROVED_REVIEWED_SAT_RECIPIENT_OWNER",
64
+ "REPLACE_WITH_BOND_POSITION_PDA"
65
+ ],
66
+ "maxPerTx": "REPLACE_WITH_POSITIVE_SAT_RAW_UNITS_PER_TX",
67
+ "maxDaily": "REPLACE_WITH_POSITIVE_SAT_RAW_UNITS_PER_UTC_DAY"
68
+ }
69
+ ]
70
+ }
@@ -0,0 +1,78 @@
1
+ {
2
+ "protocol": { "current": 2, "min": 2, "max": 2 },
3
+ "nativeFeeReservationLamports": 5000000,
4
+ "intentTypes": [
5
+ "solana.nativeTransfer",
6
+ "solana.splTransferChecked",
7
+ "solana.satAction",
8
+ "solana.satLookupTable",
9
+ "solana.vaultBondAction",
10
+ "federation.bondChallenge",
11
+ "solana.jupiter.swap",
12
+ "solana.jupiter.trigger.create",
13
+ "solana.jupiter.trigger.cancel"
14
+ ],
15
+ "operationStates": ["reserved", "broadcast", "confirmed", "failed", "unknown"],
16
+ "features": [
17
+ "failClosedPolicies",
18
+ "policyHashes",
19
+ "applicationPolicyTightening",
20
+ "vaultReviewedOnly",
21
+ "durableCaps",
22
+ "atomicMultiAssetCaps",
23
+ "signerControlledNativeFeeCaps",
24
+ "atomicIdempotency",
25
+ "ambiguousBroadcastReconciliation",
26
+ "signerOwnedKeys",
27
+ "signerOwnedSuccessorRotation",
28
+ "permanentRetiredWalletPolicies",
29
+ "signerOwnedRPC",
30
+ "typedSolanaTransactions",
31
+ "typedA2aPaymentMemos",
32
+ "typedA2aRefundMemos",
33
+ "idempotentAssociatedTokenCreation",
34
+ "typedSATActions",
35
+ "typedSATAddressLookupTables",
36
+ "typedVaultBondActions",
37
+ "domainSeparatedFederationBondChallenges",
38
+ "federationBondChallengeWrapperV2",
39
+ "signerOwnedWebAuthn",
40
+ "signerOwnedWebAuthnCredentialRevocation",
41
+ "singleUseReviewedAuthorization",
42
+ "typedJupiterSemantics",
43
+ "signerOwnedReviewPrepareExecute",
44
+ "exactPreparedTransactions",
45
+ "legacyOnlyJupiterTransactions",
46
+ "reviewedVaultBondActions",
47
+ "reviewedFederationBondChallenges",
48
+ "signerOwnedStateRecheck",
49
+ "durableReviewAuthorization",
50
+ "signerOwnedJupiterTriggerV2",
51
+ "signerOwnedJupiterTriggerHistory",
52
+ "jupiterTriggerSecretsNeverCrossSocket",
53
+ "jupiterTriggerDurablePhases"
54
+ ],
55
+ "clientRequiredFeatures": [
56
+ "failClosedPolicies",
57
+ "policyHashes",
58
+ "applicationPolicyTightening",
59
+ "durableCaps",
60
+ "atomicMultiAssetCaps",
61
+ "signerControlledNativeFeeCaps",
62
+ "atomicIdempotency",
63
+ "ambiguousBroadcastReconciliation",
64
+ "signerOwnedKeys",
65
+ "signerOwnedRPC",
66
+ "typedSolanaTransactions",
67
+ "typedA2aPaymentMemos",
68
+ "typedA2aRefundMemos",
69
+ "signerOwnedWebAuthn",
70
+ "singleUseReviewedAuthorization",
71
+ "typedJupiterSemantics",
72
+ "signerOwnedJupiterTriggerV2",
73
+ "signerOwnedJupiterTriggerHistory",
74
+ "signerOwnedReviewPrepareExecute",
75
+ "exactPreparedTransactions",
76
+ "legacyOnlyJupiterTransactions"
77
+ ]
78
+ }