@fased/fased 0.1.65 → 0.1.66

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 (893) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/LICENSE +0 -0
  3. package/assets/avatar-placeholder.svg +0 -0
  4. package/assets/chrome-extension/README.md +0 -0
  5. package/assets/chrome-extension/background-utils.js +0 -0
  6. package/assets/chrome-extension/background.js +0 -0
  7. package/assets/chrome-extension/icons/icon128.png +0 -0
  8. package/assets/chrome-extension/icons/icon16.png +0 -0
  9. package/assets/chrome-extension/icons/icon32.png +0 -0
  10. package/assets/chrome-extension/icons/icon48.png +0 -0
  11. package/assets/chrome-extension/manifest.json +0 -0
  12. package/assets/chrome-extension/options-validation.js +0 -0
  13. package/assets/chrome-extension/options.html +0 -0
  14. package/assets/chrome-extension/options.js +0 -0
  15. package/config/official-external-plugin-catalog.json +0 -0
  16. package/config/sat-runtime.env +0 -0
  17. package/dist/acp/client.js +2 -2
  18. package/dist/acp/secret-file.js +2 -2
  19. package/dist/agents/agent-scope.js +2 -2
  20. package/dist/agents/apply-patch.js +8 -8
  21. package/dist/agents/auth-profiles/paths.js +2 -2
  22. package/dist/agents/auth-profiles/store.js +4 -4
  23. package/dist/agents/bash-tools.shared.js +2 -2
  24. package/dist/agents/cli-credentials.js +4 -4
  25. package/dist/agents/docs-path.js +3 -3
  26. package/dist/agents/embedded-pi-mcp.js +4 -4
  27. package/dist/agents/identity-avatar.js +3 -3
  28. package/dist/agents/identity-file.js +2 -2
  29. package/dist/agents/openai-codex-app-server.js +5 -5
  30. package/dist/agents/pi-embedded-subscribe.raw-stream.js +3 -3
  31. package/dist/agents/pi-extensions/compaction-safeguard.js +3 -3
  32. package/dist/agents/pi-model-discovery.js +6 -6
  33. package/dist/agents/pi-project-settings.js +3 -3
  34. package/dist/agents/sandbox/fs-bridge.js +2 -2
  35. package/dist/agents/session-dirs.js +4 -4
  36. package/dist/agents/session-write-lock.js +13 -13
  37. package/dist/agents/shell-utils.js +5 -5
  38. package/dist/agents/skills/bundled-dir.js +4 -4
  39. package/dist/agents/skills/local-loader.js +6 -6
  40. package/dist/agents/skills/plugin-skills.js +2 -2
  41. package/dist/agents/skills/trust.js +6 -6
  42. package/dist/agents/skills/workspace.js +22 -22
  43. package/dist/agents/skills-install-download.js +7 -7
  44. package/dist/agents/skills-install-plan.js +2 -2
  45. package/dist/agents/skills-install.js +2 -2
  46. package/dist/agents/skills-status.js +2 -2
  47. package/dist/agents/subagent-depth.js +2 -2
  48. package/dist/agents/system-prompt-params.js +2 -2
  49. package/dist/agents/workspace.js +22 -22
  50. package/dist/auto-reply/reply/agent-runner-execution.js +2 -2
  51. package/dist/auto-reply/reply/agent-runner.js +2 -2
  52. package/dist/auto-reply/reply/commands-export-session.js +7 -7
  53. package/dist/auto-reply/reply/post-compaction-audit.js +3 -3
  54. package/dist/auto-reply/reply/post-compaction-context.js +3 -3
  55. package/dist/auto-reply/reply/session.js +3 -3
  56. package/dist/auto-reply/skill-commands.js +3 -3
  57. package/dist/auto-reply/status.js +6 -6
  58. package/dist/brand.js +1 -1
  59. package/dist/browser/chrome.executables.js +3 -3
  60. package/dist/browser/chrome.js +3 -3
  61. package/dist/browser/chrome.profile-decoration.js +6 -6
  62. package/dist/browser/profiles-service.js +2 -2
  63. package/dist/browser/server-context.js +2 -2
  64. package/dist/browser/trash.js +4 -4
  65. package/dist/build-info.json +3 -3
  66. package/dist/bundled/boot-md/HOOK.md +0 -0
  67. package/dist/bundled/bootstrap-extra-files/HOOK.md +0 -0
  68. package/dist/bundled/command-logger/HOOK.md +0 -0
  69. package/dist/bundled/session-memory/HOOK.md +0 -0
  70. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  71. package/dist/canvas-host/a2ui/index.html +0 -0
  72. package/dist/canvas-host/server.js +4 -4
  73. package/dist/capabilities/catalog.js +3 -3
  74. package/dist/channels/plugins/catalog.js +3 -3
  75. package/dist/cli/browser-cli-extension.js +6 -6
  76. package/dist/cli/command-format.js +2 -2
  77. package/dist/cli/cron-cli/register.cron-simple.js +2 -2
  78. package/dist/cli/dns-cli.js +9 -9
  79. package/dist/cli/gateway-cli/dev.js +5 -5
  80. package/dist/cli/gateway-cli/run.js +2 -2
  81. package/dist/cli/hooks-cli.js +5 -5
  82. package/dist/cli/lightweight/gateway-runtime-probe.js +2 -2
  83. package/dist/cli/memory-cli.js +7 -7
  84. package/dist/cli/nodes-media-utils.js +2 -2
  85. package/dist/cli/plugins-cli.js +2 -2
  86. package/dist/cli/secrets-cli.js +3 -3
  87. package/dist/cli/windows-argv.js +2 -2
  88. package/dist/commands/dashboard-link.js +3 -3
  89. package/dist/commands/doctor-install.js +5 -5
  90. package/dist/commands/doctor-memory-search.js +2 -2
  91. package/dist/commands/doctor-platform-notes.js +2 -2
  92. package/dist/commands/doctor-sandbox.js +2 -2
  93. package/dist/commands/doctor-state-integrity.js +23 -23
  94. package/dist/commands/doctor-workspace.js +3 -3
  95. package/dist/commands/doctor.js +3 -3
  96. package/dist/commands/managed-up.js +2 -2
  97. package/dist/commands/onboard-auth.credentials.js +3 -3
  98. package/dist/commands/onboarding/plugin-install.js +2 -2
  99. package/dist/commands/sessions-cleanup.js +2 -2
  100. package/dist/commands/signal-install.js +6 -6
  101. package/dist/commands/status-all/channels.js +2 -2
  102. package/dist/commands/wallet.js +10 -10
  103. package/dist/config/cache-utils.js +2 -2
  104. package/dist/config/includes.js +5 -5
  105. package/dist/config/io.js +2 -2
  106. package/dist/config/paths.js +3 -3
  107. package/dist/config/sat-runtime-ids.js +3 -3
  108. package/dist/config/sessions/disk-budget.js +6 -6
  109. package/dist/config/sessions/paths.js +2 -2
  110. package/dist/config/sessions/store.js +17 -17
  111. package/dist/config/sessions/transcript.js +4 -4
  112. package/dist/config/talk.js +2 -2
  113. package/dist/control-ui/apple-touch-icon.png +0 -0
  114. package/dist/control-ui/assets/{app-MaQnPa5G.js → app-DYxADzeH.js} +5 -5
  115. package/dist/control-ui/assets/{index-D4YMr1fA.js → index-vw_10Zeo.js} +3 -3
  116. package/dist/control-ui/assets/{mining-qMYs4aD-.js → mining-Dg-3ll0F.js} +70 -70
  117. package/dist/control-ui/boot-watchdog.js +0 -0
  118. package/dist/control-ui/fased-logo.svg +0 -0
  119. package/dist/control-ui/favicon-32.png +0 -0
  120. package/dist/control-ui/favicon.ico +0 -0
  121. package/dist/control-ui/favicon.svg +0 -0
  122. package/dist/control-ui/index.html +1 -1
  123. package/dist/control-ui/manifest.webmanifest +0 -0
  124. package/dist/control-ui/version.json +1 -1
  125. package/dist/cron/service/store.js +2 -2
  126. package/dist/cron/store.js +6 -6
  127. package/dist/daemon/systemd-system.js +5 -5
  128. package/dist/discord/monitor/thread-bindings.state.js +2 -2
  129. package/dist/export-html/template.css +0 -0
  130. package/dist/export-html/template.html +0 -0
  131. package/dist/export-html/template.js +0 -0
  132. package/dist/export-html/vendor/highlight.min.js +0 -0
  133. package/dist/export-html/vendor/marked.min.js +0 -0
  134. package/dist/extensions/sat-mining/src/sat-bond-layout.js +9 -9
  135. package/dist/extensions/sat-mining/src/solana-submit.js +191 -47
  136. package/dist/extensions/sat-mining/src/submission-ledger.js +23 -3
  137. package/dist/federation/marketplace-delivery-outbox.js +5 -5
  138. package/dist/federation/marketplace-settlement-ledger.js +4 -4
  139. package/dist/gateway/a2a-task-store.js +22 -22
  140. package/dist/gateway/control-ui-boot-check.js +6 -6
  141. package/dist/gateway/control-ui-login.js +7 -7
  142. package/dist/gateway/control-ui.js +9 -9
  143. package/dist/gateway/federation-marketplace-run-store.js +14 -14
  144. package/dist/gateway/hooks-mapping.js +4 -4
  145. package/dist/gateway/server-discovery.js +2 -2
  146. package/dist/gateway/server-http.js +4 -4
  147. package/dist/gateway/server-methods/chat.js +3 -3
  148. package/dist/gateway/server-methods/sessions.js +6 -6
  149. package/dist/gateway/server-methods/usage.js +2 -2
  150. package/dist/gateway/session-compaction-checkpoints.js +4 -4
  151. package/dist/gateway/session-utils.fs.js +24 -24
  152. package/dist/gateway/session-utils.js +6 -6
  153. package/dist/hooks/bundled-dir.js +4 -4
  154. package/dist/hooks/gmail-setup-utils.js +6 -6
  155. package/dist/hooks/import-url.js +2 -2
  156. package/dist/hooks/loader.js +4 -4
  157. package/dist/hooks/workspace.js +7 -7
  158. package/dist/infra/archive.js +17 -17
  159. package/dist/infra/boundary-file-read.js +2 -2
  160. package/dist/infra/boundary-path.js +15 -15
  161. package/dist/infra/brew.js +2 -2
  162. package/dist/infra/control-ui-assets.js +14 -14
  163. package/dist/infra/device-auth-store.js +8 -8
  164. package/dist/infra/device-identity.js +8 -8
  165. package/dist/infra/dotenv.js +2 -2
  166. package/dist/infra/exec-approvals.js +8 -8
  167. package/dist/infra/exec-command-resolution.js +4 -4
  168. package/dist/infra/exec-safe-bin-trust.js +2 -2
  169. package/dist/infra/fased-root.js +5 -5
  170. package/dist/infra/fs-safe.js +14 -14
  171. package/dist/infra/gateway-lock.js +11 -11
  172. package/dist/infra/git-commit.js +5 -5
  173. package/dist/infra/git-root.js +4 -4
  174. package/dist/infra/hosted-runtime-artifact.js +3 -3
  175. package/dist/infra/is-main.js +2 -2
  176. package/dist/infra/json-file.js +7 -7
  177. package/dist/infra/managed-runtime-bootstrap.js +6 -6
  178. package/dist/infra/outbound/delivery-queue.js +16 -16
  179. package/dist/infra/path-env.js +3 -3
  180. package/dist/infra/ports-lsof.js +4 -4
  181. package/dist/infra/provider-usage.auth.js +3 -3
  182. package/dist/infra/safe-open-sync.js +2 -2
  183. package/dist/infra/session-cost-usage.js +9 -9
  184. package/dist/infra/shell-env.js +2 -2
  185. package/dist/infra/state-migrations.fs.js +6 -6
  186. package/dist/infra/state-migrations.js +23 -23
  187. package/dist/infra/tmp-fased-dir.js +6 -6
  188. package/dist/infra/widearea-dns.js +3 -3
  189. package/dist/infra/wsl.js +2 -2
  190. package/dist/line/accounts.js +2 -2
  191. package/dist/line/download.js +2 -2
  192. package/dist/logging/config.js +3 -3
  193. package/dist/logging/logger.js +7 -7
  194. package/dist/managed/federation.js +3 -3
  195. package/dist/managed/tunnel.js +3 -3
  196. package/dist/media/store.js +13 -13
  197. package/dist/media-understanding/runner.js +3 -3
  198. package/dist/memory/embeddings.js +2 -2
  199. package/dist/memory/internal.js +10 -10
  200. package/dist/memory/manager-sync-ops.js +7 -7
  201. package/dist/memory/repair-executor.js +17 -17
  202. package/dist/node-host/invoke-system-run-plan.js +8 -8
  203. package/dist/node-host/invoke.js +2 -2
  204. package/dist/node-host/runner.js +3 -3
  205. package/dist/pairing/pairing-store.js +3 -3
  206. package/dist/plugin-sdk/{audio-preflight-I4IngVlJ.js → audio-preflight-BFLoas5R.js} +1 -1
  207. package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
  208. package/dist/plugin-sdk/{chunk-items-DLQ6_lLK.js → chunk-items-TErs62MC.js} +1 -1
  209. package/dist/plugin-sdk/command-status.js +1 -1
  210. package/dist/plugin-sdk/{config-schema-D_8FVI1C.js → config-schema-BPnaDBwZ.js} +43 -8
  211. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  212. package/dist/plugin-sdk/discord.d.ts +3 -3
  213. package/dist/plugin-sdk/file-lock.js +10 -10
  214. package/dist/plugin-sdk/index.d.ts +5 -5
  215. package/dist/plugin-sdk/index.js +1 -1
  216. package/dist/plugin-sdk/json-store.js +6 -6
  217. package/dist/plugin-sdk/{monitor-B4KF4Kpo.js → monitor-FuBPk-AL.js} +3 -3
  218. package/dist/plugin-sdk/{monitor-Bb6x1KAG.js → monitor-sW6dQdX1.js} +3 -3
  219. package/dist/plugin-sdk/{openresponses-http-DCTO8JkL.js → openresponses-http-CVZq0H-P.js} +1 -1
  220. package/dist/plugin-sdk/{pairing-message-DHPDFZbC.d.ts → pairing-message-L6L6L2YF.d.ts} +1 -1
  221. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +1 -1
  222. package/dist/plugin-sdk/sat-runtime.d.ts +53 -2
  223. package/dist/plugin-sdk/sat-runtime.js +1 -1
  224. package/dist/plugin-sdk/{slack-BHmvqgjH.js → slack-BZISDxDd.js} +3 -3
  225. package/dist/plugin-sdk/slack.d.ts +3 -3
  226. package/dist/plugin-sdk/{sticker-cache-By5AcorL.js → sticker-cache-B0aPv6Lg.js} +2 -2
  227. package/dist/plugin-sdk/{telegram-actions-DGnBz1YT.js → telegram-actions-H3gePEn6.js} +2 -2
  228. package/dist/plugin-sdk/telegram.d.ts +3 -3
  229. package/dist/plugin-sdk/{tmp-fased-dir-EJGTmL1Q.d.ts → tmp-fased-dir-d1CmFAnJ.d.ts} +1 -1
  230. package/dist/plugin-sdk/{types-BdwdFCD6.d.ts → types-DUjYaWB2.d.ts} +3 -3
  231. package/dist/plugin-sdk/{types-BrCpYMxn.d.ts → types-xWjHXl1z.d.ts} +1 -1
  232. package/dist/plugin-sdk/{web-DUJwrTYs.js → web-JwP9PAZR.js} +1 -1
  233. package/dist/plugin-sdk/whatsapp.d.ts +3 -3
  234. package/dist/plugins/bundled-dir.js +3 -3
  235. package/dist/plugins/discovery.js +11 -11
  236. package/dist/plugins/loader.js +13 -13
  237. package/dist/plugins/manifest-registry.js +2 -2
  238. package/dist/plugins/manifest.js +4 -4
  239. package/dist/plugins/path-safety.js +3 -3
  240. package/dist/plugins/status-cache.js +9 -9
  241. package/dist/plugins/update.js +3 -3
  242. package/dist/plugins/web-search-install-catalog.js +3 -3
  243. package/dist/secrets/apply.js +16 -16
  244. package/dist/secrets/audit.js +11 -11
  245. package/dist/secrets/shared.js +9 -9
  246. package/dist/security/scan-paths.js +2 -2
  247. package/dist/shared/config-eval.js +2 -2
  248. package/dist/shared/pid-alive.js +2 -2
  249. package/dist/tasks/standing-orders.js +5 -5
  250. package/dist/tasks/task-flow-registry.js +5 -5
  251. package/dist/tasks/task-registry.js +5 -5
  252. package/dist/tasks/workflow-definitions.js +6 -6
  253. package/dist/telegram/token.js +5 -5
  254. package/dist/utils.js +5 -5
  255. package/dist/wallet/external-submission-ledger.js +14 -14
  256. package/dist/wallet/local-socket-signer-protocol.js +35 -1
  257. package/dist/wallet/providers/local-socket-signer-adapter.js +3 -2
  258. package/dist/wallet/signer-network-admin.js +9 -3
  259. package/dist/wallet/solana-network-discovery.js +113 -0
  260. package/dist/wallet/turnkey-reviewed-state.js +14 -14
  261. package/dist/wallet/wallet-approval-auth.js +3 -3
  262. package/dist/wallet/wallet-atomic-state.js +12 -12
  263. package/dist/wallet/wallet-audit-log.js +5 -5
  264. package/dist/wallet/wallet-inbound-events.js +3 -3
  265. package/dist/wallet/wallet-observability.js +5 -5
  266. package/dist/wallet/wallet-policy.js +5 -5
  267. package/dist/wallet/wallet-provider-registry.js +7 -7
  268. package/dist/wallet/wallet-runtime-config.js +3 -3
  269. package/dist/wallet/wallet-secrets-store.js +22 -22
  270. package/dist/wallet/wallet-send-approvals.js +21 -21
  271. package/dist/wallet/wallet-send-execution-ledger.js +3 -3
  272. package/dist/wallet/wallet-settlement-links.js +3 -3
  273. package/dist/wallet/wallet-standard-review.js +14 -14
  274. package/dist/web/accounts.js +3 -3
  275. package/dist/web/auth-store.js +18 -18
  276. package/dist/web/session.js +4 -4
  277. package/dist/wizard/host-security-capability.js +3 -3
  278. package/dist/wizard/onboarding.host-security.js +3 -3
  279. package/dist/wizard/onboarding.js +17 -15
  280. package/dist/wizard/onboarding.wallet.js +27 -27
  281. package/docs/reference/templates/AGENTS.dev.md +0 -0
  282. package/docs/reference/templates/AGENTS.md +0 -0
  283. package/docs/reference/templates/BOOT.md +0 -0
  284. package/docs/reference/templates/BOOTSTRAP.md +0 -0
  285. package/docs/reference/templates/HEARTBEAT.md +0 -0
  286. package/docs/reference/templates/IDENTITY.dev.md +0 -0
  287. package/docs/reference/templates/IDENTITY.md +0 -0
  288. package/docs/reference/templates/SOUL.dev.md +0 -0
  289. package/docs/reference/templates/SOUL.md +0 -0
  290. package/docs/reference/templates/TOOLS.dev.md +0 -0
  291. package/docs/reference/templates/TOOLS.md +0 -0
  292. package/docs/reference/templates/USER.dev.md +0 -0
  293. package/docs/reference/templates/USER.md +0 -0
  294. package/extensions/acpx/fased.plugin.json +0 -0
  295. package/extensions/acpx/package.json +1 -1
  296. package/extensions/acpx/skills/acp-router/SKILL.md +0 -0
  297. package/extensions/acpx/src/config.ts +0 -0
  298. package/extensions/acpx/src/ensure.ts +0 -0
  299. package/extensions/acpx/src/mcp-readonly-tool-registry.ts +0 -0
  300. package/extensions/acpx/src/mcp-status-adapter.ts +0 -0
  301. package/extensions/acpx/src/runtime-internals/events.ts +0 -0
  302. package/extensions/acpx/src/runtime-internals/process.ts +0 -0
  303. package/extensions/acpx/src/runtime-internals/shared.ts +0 -0
  304. package/extensions/acpx/src/runtime.ts +0 -0
  305. package/extensions/acpx/src/service.ts +0 -0
  306. package/extensions/bluebubbles/README.md +0 -0
  307. package/extensions/bluebubbles/fased.plugin.json +0 -0
  308. package/extensions/bluebubbles/package.json +1 -1
  309. package/extensions/bluebubbles/src/account-resolve.ts +0 -0
  310. package/extensions/bluebubbles/src/accounts.ts +0 -0
  311. package/extensions/bluebubbles/src/actions.ts +0 -0
  312. package/extensions/bluebubbles/src/attachments.ts +0 -0
  313. package/extensions/bluebubbles/src/channel.ts +0 -0
  314. package/extensions/bluebubbles/src/chat.ts +0 -0
  315. package/extensions/bluebubbles/src/config-schema.ts +0 -0
  316. package/extensions/bluebubbles/src/history.ts +0 -0
  317. package/extensions/bluebubbles/src/media-send.ts +0 -0
  318. package/extensions/bluebubbles/src/monitor-normalize.ts +0 -0
  319. package/extensions/bluebubbles/src/monitor-processing.ts +0 -0
  320. package/extensions/bluebubbles/src/monitor-reply-cache.ts +0 -0
  321. package/extensions/bluebubbles/src/monitor-shared.ts +0 -0
  322. package/extensions/bluebubbles/src/monitor.ts +0 -0
  323. package/extensions/bluebubbles/src/multipart.ts +0 -0
  324. package/extensions/bluebubbles/src/onboarding.ts +0 -0
  325. package/extensions/bluebubbles/src/probe.ts +0 -0
  326. package/extensions/bluebubbles/src/reactions.ts +0 -0
  327. package/extensions/bluebubbles/src/request-url.ts +0 -0
  328. package/extensions/bluebubbles/src/runtime.ts +0 -0
  329. package/extensions/bluebubbles/src/send-helpers.ts +0 -0
  330. package/extensions/bluebubbles/src/send.ts +0 -0
  331. package/extensions/bluebubbles/src/targets.ts +0 -0
  332. package/extensions/bluebubbles/src/test-mocks.ts +0 -0
  333. package/extensions/bluebubbles/src/types.ts +0 -0
  334. package/extensions/copilot-proxy/README.md +0 -0
  335. package/extensions/copilot-proxy/fased.plugin.json +0 -0
  336. package/extensions/copilot-proxy/package.json +1 -1
  337. package/extensions/device-pair/fased.plugin.json +0 -0
  338. package/extensions/diagnostics-otel/fased.plugin.json +0 -0
  339. package/extensions/diagnostics-otel/package.json +1 -1
  340. package/extensions/diagnostics-otel/src/service.ts +0 -0
  341. package/extensions/fased-federation/README.md +0 -0
  342. package/extensions/fased-federation/fased.plugin.json +0 -0
  343. package/extensions/fased-federation/package.json +1 -1
  344. package/extensions/google-gemini-cli-auth/README.md +0 -0
  345. package/extensions/google-gemini-cli-auth/fased.plugin.json +0 -0
  346. package/extensions/google-gemini-cli-auth/oauth.ts +0 -0
  347. package/extensions/google-gemini-cli-auth/package.json +1 -1
  348. package/extensions/imessage/fased.plugin.json +0 -0
  349. package/extensions/imessage/package.json +1 -1
  350. package/extensions/imessage/src/channel.ts +0 -0
  351. package/extensions/imessage/src/runtime.ts +0 -0
  352. package/extensions/irc/fased.plugin.json +0 -0
  353. package/extensions/irc/package.json +1 -1
  354. package/extensions/irc/src/accounts.ts +0 -0
  355. package/extensions/irc/src/channel.ts +0 -0
  356. package/extensions/irc/src/client.ts +0 -0
  357. package/extensions/irc/src/config-schema.ts +0 -0
  358. package/extensions/irc/src/connect-options.ts +0 -0
  359. package/extensions/irc/src/control-chars.ts +0 -0
  360. package/extensions/irc/src/inbound.ts +0 -0
  361. package/extensions/irc/src/monitor.ts +0 -0
  362. package/extensions/irc/src/normalize.ts +0 -0
  363. package/extensions/irc/src/onboarding.ts +0 -0
  364. package/extensions/irc/src/policy.ts +0 -0
  365. package/extensions/irc/src/probe.ts +0 -0
  366. package/extensions/irc/src/protocol.ts +0 -0
  367. package/extensions/irc/src/runtime.ts +0 -0
  368. package/extensions/irc/src/send.ts +0 -0
  369. package/extensions/irc/src/types.ts +0 -0
  370. package/extensions/line/fased.plugin.json +0 -0
  371. package/extensions/line/package.json +1 -1
  372. package/extensions/line/src/card-command.ts +0 -0
  373. package/extensions/line/src/channel.ts +0 -0
  374. package/extensions/line/src/runtime.ts +0 -0
  375. package/extensions/llm-task/README.md +0 -0
  376. package/extensions/llm-task/fased.plugin.json +0 -0
  377. package/extensions/llm-task/package.json +1 -1
  378. package/extensions/lobster/README.md +0 -0
  379. package/extensions/lobster/SKILL.md +0 -0
  380. package/extensions/lobster/fased.plugin.json +0 -0
  381. package/extensions/lobster/package.json +1 -1
  382. package/extensions/lobster/src/test-helpers.ts +0 -0
  383. package/extensions/lobster/src/windows-spawn.ts +0 -0
  384. package/extensions/matrix/CHANGELOG.md +6 -0
  385. package/extensions/matrix/fased.plugin.json +0 -0
  386. package/extensions/matrix/package.json +1 -1
  387. package/extensions/matrix/src/actions.ts +0 -0
  388. package/extensions/matrix/src/channel.ts +0 -0
  389. package/extensions/matrix/src/config-schema.ts +0 -0
  390. package/extensions/matrix/src/directory-live.ts +0 -0
  391. package/extensions/matrix/src/group-mentions.ts +0 -0
  392. package/extensions/matrix/src/matrix/accounts.ts +0 -0
  393. package/extensions/matrix/src/matrix/actions/client.ts +0 -0
  394. package/extensions/matrix/src/matrix/actions/limits.ts +0 -0
  395. package/extensions/matrix/src/matrix/actions/messages.ts +0 -0
  396. package/extensions/matrix/src/matrix/actions/pins.ts +0 -0
  397. package/extensions/matrix/src/matrix/actions/reactions.ts +0 -0
  398. package/extensions/matrix/src/matrix/actions/room.ts +0 -0
  399. package/extensions/matrix/src/matrix/actions/summary.ts +0 -0
  400. package/extensions/matrix/src/matrix/actions/types.ts +0 -0
  401. package/extensions/matrix/src/matrix/actions.ts +0 -0
  402. package/extensions/matrix/src/matrix/active-client.ts +0 -0
  403. package/extensions/matrix/src/matrix/client/config.ts +0 -0
  404. package/extensions/matrix/src/matrix/client/create-client.ts +0 -0
  405. package/extensions/matrix/src/matrix/client/logging.ts +0 -0
  406. package/extensions/matrix/src/matrix/client/runtime.ts +0 -0
  407. package/extensions/matrix/src/matrix/client/shared.ts +0 -0
  408. package/extensions/matrix/src/matrix/client/storage.ts +0 -0
  409. package/extensions/matrix/src/matrix/client/types.ts +0 -0
  410. package/extensions/matrix/src/matrix/client-bootstrap.ts +0 -0
  411. package/extensions/matrix/src/matrix/client.ts +0 -0
  412. package/extensions/matrix/src/matrix/credentials.ts +0 -0
  413. package/extensions/matrix/src/matrix/deps.ts +0 -0
  414. package/extensions/matrix/src/matrix/format.ts +0 -0
  415. package/extensions/matrix/src/matrix/monitor/access-policy.ts +0 -0
  416. package/extensions/matrix/src/matrix/monitor/allowlist.ts +0 -0
  417. package/extensions/matrix/src/matrix/monitor/auto-join.ts +0 -0
  418. package/extensions/matrix/src/matrix/monitor/direct.ts +0 -0
  419. package/extensions/matrix/src/matrix/monitor/events.ts +0 -0
  420. package/extensions/matrix/src/matrix/monitor/handler.ts +0 -0
  421. package/extensions/matrix/src/matrix/monitor/inbound-body.ts +0 -0
  422. package/extensions/matrix/src/matrix/monitor/location.ts +0 -0
  423. package/extensions/matrix/src/matrix/monitor/media.ts +0 -0
  424. package/extensions/matrix/src/matrix/monitor/mentions.ts +0 -0
  425. package/extensions/matrix/src/matrix/monitor/replies.ts +0 -0
  426. package/extensions/matrix/src/matrix/monitor/room-info.ts +0 -0
  427. package/extensions/matrix/src/matrix/monitor/rooms.ts +0 -0
  428. package/extensions/matrix/src/matrix/monitor/threads.ts +0 -0
  429. package/extensions/matrix/src/matrix/monitor/types.ts +0 -0
  430. package/extensions/matrix/src/matrix/poll-types.ts +0 -0
  431. package/extensions/matrix/src/matrix/probe.ts +0 -0
  432. package/extensions/matrix/src/matrix/send/client.ts +0 -0
  433. package/extensions/matrix/src/matrix/send/formatting.ts +0 -0
  434. package/extensions/matrix/src/matrix/send/media.ts +0 -0
  435. package/extensions/matrix/src/matrix/send/targets.ts +0 -0
  436. package/extensions/matrix/src/matrix/send/types.ts +0 -0
  437. package/extensions/matrix/src/matrix/send-queue.ts +0 -0
  438. package/extensions/matrix/src/matrix/send.ts +0 -0
  439. package/extensions/matrix/src/onboarding.ts +0 -0
  440. package/extensions/matrix/src/outbound.ts +0 -0
  441. package/extensions/matrix/src/resolve-targets.ts +0 -0
  442. package/extensions/matrix/src/runtime.ts +0 -0
  443. package/extensions/matrix/src/tool-actions.ts +0 -0
  444. package/extensions/matrix/src/types.ts +0 -0
  445. package/extensions/mattermost/fased.plugin.json +0 -0
  446. package/extensions/mattermost/package.json +1 -1
  447. package/extensions/mattermost/src/channel.ts +0 -0
  448. package/extensions/mattermost/src/config-schema.ts +0 -0
  449. package/extensions/mattermost/src/group-mentions.ts +0 -0
  450. package/extensions/mattermost/src/mattermost/accounts.ts +0 -0
  451. package/extensions/mattermost/src/mattermost/client.ts +0 -0
  452. package/extensions/mattermost/src/mattermost/monitor-auth.ts +0 -0
  453. package/extensions/mattermost/src/mattermost/monitor-helpers.ts +0 -0
  454. package/extensions/mattermost/src/mattermost/monitor-onchar.ts +0 -0
  455. package/extensions/mattermost/src/mattermost/monitor-websocket.ts +0 -0
  456. package/extensions/mattermost/src/mattermost/monitor.ts +0 -0
  457. package/extensions/mattermost/src/mattermost/probe.ts +0 -0
  458. package/extensions/mattermost/src/mattermost/reactions.test-helpers.ts +0 -0
  459. package/extensions/mattermost/src/mattermost/reactions.ts +0 -0
  460. package/extensions/mattermost/src/mattermost/reconnect.ts +0 -0
  461. package/extensions/mattermost/src/mattermost/send.ts +0 -0
  462. package/extensions/mattermost/src/normalize.ts +0 -0
  463. package/extensions/mattermost/src/onboarding-helpers.ts +0 -0
  464. package/extensions/mattermost/src/onboarding.ts +0 -0
  465. package/extensions/mattermost/src/runtime.ts +0 -0
  466. package/extensions/mattermost/src/types.ts +0 -0
  467. package/extensions/memory-core/fased.plugin.json +0 -0
  468. package/extensions/memory-core/package.json +2 -2
  469. package/extensions/memory-lancedb/config.ts +0 -0
  470. package/extensions/memory-lancedb/fased.plugin.json +0 -0
  471. package/extensions/memory-lancedb/package.json +1 -1
  472. package/extensions/minimax-portal-auth/README.md +0 -0
  473. package/extensions/minimax-portal-auth/fased.plugin.json +0 -0
  474. package/extensions/minimax-portal-auth/oauth.ts +0 -0
  475. package/extensions/minimax-portal-auth/package.json +1 -1
  476. package/extensions/msteams/CHANGELOG.md +6 -0
  477. package/extensions/msteams/fased.plugin.json +0 -0
  478. package/extensions/msteams/package.json +1 -1
  479. package/extensions/msteams/src/attachments/download.ts +0 -0
  480. package/extensions/msteams/src/attachments/graph.ts +0 -0
  481. package/extensions/msteams/src/attachments/html.ts +0 -0
  482. package/extensions/msteams/src/attachments/payload.ts +0 -0
  483. package/extensions/msteams/src/attachments/remote-media.ts +0 -0
  484. package/extensions/msteams/src/attachments/shared.ts +0 -0
  485. package/extensions/msteams/src/attachments/types.ts +0 -0
  486. package/extensions/msteams/src/attachments.ts +0 -0
  487. package/extensions/msteams/src/channel.ts +0 -0
  488. package/extensions/msteams/src/conversation-store-fs.ts +0 -0
  489. package/extensions/msteams/src/conversation-store-memory.ts +0 -0
  490. package/extensions/msteams/src/conversation-store.ts +0 -0
  491. package/extensions/msteams/src/directory-live.ts +0 -0
  492. package/extensions/msteams/src/errors.ts +0 -0
  493. package/extensions/msteams/src/file-consent-helpers.ts +0 -0
  494. package/extensions/msteams/src/file-consent.ts +0 -0
  495. package/extensions/msteams/src/file-lock.ts +0 -0
  496. package/extensions/msteams/src/graph-chat.ts +0 -0
  497. package/extensions/msteams/src/graph-upload.ts +0 -0
  498. package/extensions/msteams/src/graph-users.ts +0 -0
  499. package/extensions/msteams/src/graph.ts +0 -0
  500. package/extensions/msteams/src/inbound.ts +0 -0
  501. package/extensions/msteams/src/media-helpers.ts +0 -0
  502. package/extensions/msteams/src/mentions.ts +0 -0
  503. package/extensions/msteams/src/messenger.ts +0 -0
  504. package/extensions/msteams/src/monitor-handler/inbound-media.ts +0 -0
  505. package/extensions/msteams/src/monitor-handler/message-handler.ts +0 -0
  506. package/extensions/msteams/src/monitor-handler.ts +0 -0
  507. package/extensions/msteams/src/monitor-types.ts +0 -0
  508. package/extensions/msteams/src/monitor.ts +0 -0
  509. package/extensions/msteams/src/onboarding.ts +0 -0
  510. package/extensions/msteams/src/outbound.ts +0 -0
  511. package/extensions/msteams/src/pending-uploads.ts +0 -0
  512. package/extensions/msteams/src/policy.ts +0 -0
  513. package/extensions/msteams/src/polls-store-memory.ts +0 -0
  514. package/extensions/msteams/src/polls.ts +0 -0
  515. package/extensions/msteams/src/probe.ts +0 -0
  516. package/extensions/msteams/src/reply-dispatcher.ts +0 -0
  517. package/extensions/msteams/src/resolve-allowlist.ts +0 -0
  518. package/extensions/msteams/src/runtime.ts +0 -0
  519. package/extensions/msteams/src/sdk-types.ts +0 -0
  520. package/extensions/msteams/src/sdk.ts +0 -0
  521. package/extensions/msteams/src/send-context.ts +0 -0
  522. package/extensions/msteams/src/send.ts +0 -0
  523. package/extensions/msteams/src/sent-message-cache.ts +0 -0
  524. package/extensions/msteams/src/storage.ts +0 -0
  525. package/extensions/msteams/src/store-fs.ts +0 -0
  526. package/extensions/msteams/src/test-runtime.ts +0 -0
  527. package/extensions/msteams/src/token-response.ts +0 -0
  528. package/extensions/msteams/src/token.ts +0 -0
  529. package/extensions/nextcloud-talk/fased.plugin.json +0 -0
  530. package/extensions/nextcloud-talk/package.json +1 -1
  531. package/extensions/nextcloud-talk/src/accounts.ts +0 -0
  532. package/extensions/nextcloud-talk/src/config-schema.ts +0 -0
  533. package/extensions/nextcloud-talk/src/format.ts +0 -0
  534. package/extensions/nextcloud-talk/src/inbound.ts +0 -0
  535. package/extensions/nextcloud-talk/src/monitor.ts +0 -0
  536. package/extensions/nextcloud-talk/src/normalize.ts +0 -0
  537. package/extensions/nextcloud-talk/src/onboarding.ts +0 -0
  538. package/extensions/nextcloud-talk/src/policy.ts +0 -0
  539. package/extensions/nextcloud-talk/src/replay-guard.ts +0 -0
  540. package/extensions/nextcloud-talk/src/room-info.ts +0 -0
  541. package/extensions/nextcloud-talk/src/runtime.ts +0 -0
  542. package/extensions/nextcloud-talk/src/send.ts +0 -0
  543. package/extensions/nextcloud-talk/src/signature.ts +0 -0
  544. package/extensions/nextcloud-talk/src/types.ts +0 -0
  545. package/extensions/nostr/CHANGELOG.md +6 -0
  546. package/extensions/nostr/README.md +0 -0
  547. package/extensions/nostr/fased.plugin.json +0 -0
  548. package/extensions/nostr/package.json +1 -1
  549. package/extensions/nostr/src/channel.ts +0 -0
  550. package/extensions/nostr/src/config-schema.ts +0 -0
  551. package/extensions/nostr/src/metrics.ts +0 -0
  552. package/extensions/nostr/src/nostr-bus.ts +0 -0
  553. package/extensions/nostr/src/nostr-profile-http.ts +0 -0
  554. package/extensions/nostr/src/nostr-profile-import.ts +0 -0
  555. package/extensions/nostr/src/nostr-profile.ts +0 -0
  556. package/extensions/nostr/src/nostr-state-store.ts +0 -0
  557. package/extensions/nostr/src/onboarding.ts +0 -0
  558. package/extensions/nostr/src/runtime.ts +0 -0
  559. package/extensions/nostr/src/seen-tracker.ts +0 -0
  560. package/extensions/nostr/src/types.ts +0 -0
  561. package/extensions/nostr/test/setup.ts +0 -0
  562. package/extensions/open-prose/README.md +0 -0
  563. package/extensions/open-prose/fased.plugin.json +0 -0
  564. package/extensions/open-prose/package.json +1 -1
  565. package/extensions/open-prose/skills/prose/LICENSE +0 -0
  566. package/extensions/open-prose/skills/prose/SKILL.md +0 -0
  567. package/extensions/open-prose/skills/prose/alt-borges.md +0 -0
  568. package/extensions/open-prose/skills/prose/alts/arabian-nights.md +0 -0
  569. package/extensions/open-prose/skills/prose/alts/borges.md +0 -0
  570. package/extensions/open-prose/skills/prose/alts/folk.md +0 -0
  571. package/extensions/open-prose/skills/prose/alts/homer.md +0 -0
  572. package/extensions/open-prose/skills/prose/alts/kafka.md +0 -0
  573. package/extensions/open-prose/skills/prose/compiler.md +0 -0
  574. package/extensions/open-prose/skills/prose/examples/01-hello-world.prose +0 -0
  575. package/extensions/open-prose/skills/prose/examples/02-research-and-summarize.prose +0 -0
  576. package/extensions/open-prose/skills/prose/examples/03-code-review.prose +0 -0
  577. package/extensions/open-prose/skills/prose/examples/04-write-and-refine.prose +0 -0
  578. package/extensions/open-prose/skills/prose/examples/05-debug-issue.prose +0 -0
  579. package/extensions/open-prose/skills/prose/examples/06-explain-codebase.prose +0 -0
  580. package/extensions/open-prose/skills/prose/examples/07-refactor.prose +0 -0
  581. package/extensions/open-prose/skills/prose/examples/08-blog-post.prose +0 -0
  582. package/extensions/open-prose/skills/prose/examples/09-research-with-agents.prose +0 -0
  583. package/extensions/open-prose/skills/prose/examples/10-code-review-agents.prose +0 -0
  584. package/extensions/open-prose/skills/prose/examples/11-skills-and-imports.prose +0 -0
  585. package/extensions/open-prose/skills/prose/examples/12-secure-agent-permissions.prose +0 -0
  586. package/extensions/open-prose/skills/prose/examples/13-variables-and-context.prose +0 -0
  587. package/extensions/open-prose/skills/prose/examples/14-composition-blocks.prose +0 -0
  588. package/extensions/open-prose/skills/prose/examples/15-inline-sequences.prose +0 -0
  589. package/extensions/open-prose/skills/prose/examples/16-parallel-reviews.prose +0 -0
  590. package/extensions/open-prose/skills/prose/examples/17-parallel-research.prose +0 -0
  591. package/extensions/open-prose/skills/prose/examples/18-mixed-parallel-sequential.prose +0 -0
  592. package/extensions/open-prose/skills/prose/examples/19-advanced-parallel.prose +0 -0
  593. package/extensions/open-prose/skills/prose/examples/20-fixed-loops.prose +0 -0
  594. package/extensions/open-prose/skills/prose/examples/21-pipeline-operations.prose +0 -0
  595. package/extensions/open-prose/skills/prose/examples/22-error-handling.prose +0 -0
  596. package/extensions/open-prose/skills/prose/examples/23-retry-with-backoff.prose +0 -0
  597. package/extensions/open-prose/skills/prose/examples/24-choice-blocks.prose +0 -0
  598. package/extensions/open-prose/skills/prose/examples/25-conditionals.prose +0 -0
  599. package/extensions/open-prose/skills/prose/examples/26-parameterized-blocks.prose +0 -0
  600. package/extensions/open-prose/skills/prose/examples/27-string-interpolation.prose +0 -0
  601. package/extensions/open-prose/skills/prose/examples/28-automated-pr-review.prose +0 -0
  602. package/extensions/open-prose/skills/prose/examples/28-gas-town.prose +0 -0
  603. package/extensions/open-prose/skills/prose/examples/29-captains-chair.prose +0 -0
  604. package/extensions/open-prose/skills/prose/examples/30-captains-chair-simple.prose +0 -0
  605. package/extensions/open-prose/skills/prose/examples/31-captains-chair-with-memory.prose +0 -0
  606. package/extensions/open-prose/skills/prose/examples/33-pr-review-autofix.prose +0 -0
  607. package/extensions/open-prose/skills/prose/examples/34-content-pipeline.prose +0 -0
  608. package/extensions/open-prose/skills/prose/examples/35-feature-factory.prose +0 -0
  609. package/extensions/open-prose/skills/prose/examples/36-bug-hunter.prose +0 -0
  610. package/extensions/open-prose/skills/prose/examples/37-the-forge.prose +0 -0
  611. package/extensions/open-prose/skills/prose/examples/38-skill-scan.prose +0 -0
  612. package/extensions/open-prose/skills/prose/examples/39-architect-by-simulation.prose +0 -0
  613. package/extensions/open-prose/skills/prose/examples/40-rlm-self-refine.prose +0 -0
  614. package/extensions/open-prose/skills/prose/examples/41-rlm-divide-conquer.prose +0 -0
  615. package/extensions/open-prose/skills/prose/examples/42-rlm-filter-recurse.prose +0 -0
  616. package/extensions/open-prose/skills/prose/examples/43-rlm-pairwise.prose +0 -0
  617. package/extensions/open-prose/skills/prose/examples/44-run-endpoint-ux-test.prose +0 -0
  618. package/extensions/open-prose/skills/prose/examples/45-plugin-release.prose +0 -0
  619. package/extensions/open-prose/skills/prose/examples/45-run-endpoint-ux-test-with-remediation.prose +0 -0
  620. package/extensions/open-prose/skills/prose/examples/46-run-endpoint-ux-test-fast.prose +0 -0
  621. package/extensions/open-prose/skills/prose/examples/46-workflow-crystallizer.prose +0 -0
  622. package/extensions/open-prose/skills/prose/examples/47-language-self-improvement.prose +0 -0
  623. package/extensions/open-prose/skills/prose/examples/48-habit-miner.prose +0 -0
  624. package/extensions/open-prose/skills/prose/examples/49-prose-run-retrospective.prose +0 -0
  625. package/extensions/open-prose/skills/prose/examples/README.md +0 -0
  626. package/extensions/open-prose/skills/prose/examples/roadmap/README.md +0 -0
  627. package/extensions/open-prose/skills/prose/examples/roadmap/iterative-refinement.prose +0 -0
  628. package/extensions/open-prose/skills/prose/examples/roadmap/parallel-review.prose +0 -0
  629. package/extensions/open-prose/skills/prose/examples/roadmap/simple-pipeline.prose +0 -0
  630. package/extensions/open-prose/skills/prose/examples/roadmap/syntax/open-prose-syntax.prose +0 -0
  631. package/extensions/open-prose/skills/prose/guidance/antipatterns.md +0 -0
  632. package/extensions/open-prose/skills/prose/guidance/patterns.md +0 -0
  633. package/extensions/open-prose/skills/prose/guidance/system-prompt.md +0 -0
  634. package/extensions/open-prose/skills/prose/help.md +0 -0
  635. package/extensions/open-prose/skills/prose/lib/README.md +0 -0
  636. package/extensions/open-prose/skills/prose/lib/calibrator.prose +0 -0
  637. package/extensions/open-prose/skills/prose/lib/cost-analyzer.prose +0 -0
  638. package/extensions/open-prose/skills/prose/lib/error-forensics.prose +0 -0
  639. package/extensions/open-prose/skills/prose/lib/inspector.prose +0 -0
  640. package/extensions/open-prose/skills/prose/lib/profiler.prose +0 -0
  641. package/extensions/open-prose/skills/prose/lib/program-improver.prose +0 -0
  642. package/extensions/open-prose/skills/prose/lib/project-memory.prose +0 -0
  643. package/extensions/open-prose/skills/prose/lib/user-memory.prose +0 -0
  644. package/extensions/open-prose/skills/prose/lib/vm-improver.prose +0 -0
  645. package/extensions/open-prose/skills/prose/primitives/session.md +0 -0
  646. package/extensions/open-prose/skills/prose/prose.md +0 -0
  647. package/extensions/open-prose/skills/prose/state/filesystem.md +0 -0
  648. package/extensions/open-prose/skills/prose/state/in-context.md +0 -0
  649. package/extensions/open-prose/skills/prose/state/postgres.md +0 -0
  650. package/extensions/open-prose/skills/prose/state/sqlite.md +0 -0
  651. package/extensions/phone-control/fased.plugin.json +0 -0
  652. package/extensions/qwen-portal-auth/README.md +0 -0
  653. package/extensions/qwen-portal-auth/fased.plugin.json +0 -0
  654. package/extensions/qwen-portal-auth/oauth.ts +0 -0
  655. package/extensions/sat-mining/fased.plugin.json +0 -0
  656. package/extensions/sat-mining/index.ts +21 -10
  657. package/extensions/sat-mining/package.json +1 -1
  658. package/extensions/sat-mining/skills/sat-mining/SKILL.md +0 -0
  659. package/extensions/sat-mining/src/auto-planner.ts +0 -0
  660. package/extensions/sat-mining/src/chain-time.ts +0 -0
  661. package/extensions/sat-mining/src/dispute-review.ts +0 -0
  662. package/extensions/sat-mining/src/hash-spec.ts +0 -0
  663. package/extensions/sat-mining/src/planner-analytics.ts +0 -0
  664. package/extensions/sat-mining/src/planner-outcomes.ts +0 -0
  665. package/extensions/sat-mining/src/planner-policy-eval.ts +0 -0
  666. package/extensions/sat-mining/src/planner-policy.ts +0 -0
  667. package/extensions/sat-mining/src/replay.ts +0 -0
  668. package/extensions/sat-mining/src/service-read-timeout.ts +0 -0
  669. package/extensions/sat-mining/src/solana-submit.ts +281 -47
  670. package/extensions/sat-mining/src/strategy-base.ts +0 -0
  671. package/extensions/sat-mining/src/strategy-engine.ts +0 -0
  672. package/extensions/sat-mining/src/strategy-validate.ts +0 -0
  673. package/extensions/sat-mining/src/submission-ledger.ts +18 -3
  674. package/extensions/shared/resolve-target-test-helpers.ts +0 -0
  675. package/extensions/signal/fased.plugin.json +0 -0
  676. package/extensions/signal/package.json +1 -1
  677. package/extensions/signal/src/channel.ts +0 -0
  678. package/extensions/signal/src/runtime.ts +0 -0
  679. package/extensions/synology-chat/fased.plugin.json +0 -0
  680. package/extensions/synology-chat/package.json +1 -1
  681. package/extensions/synology-chat/src/accounts.ts +0 -0
  682. package/extensions/synology-chat/src/channel.ts +0 -0
  683. package/extensions/synology-chat/src/client.ts +0 -0
  684. package/extensions/synology-chat/src/runtime.ts +0 -0
  685. package/extensions/synology-chat/src/security.ts +0 -0
  686. package/extensions/synology-chat/src/types.ts +0 -0
  687. package/extensions/synology-chat/src/webhook-handler.ts +0 -0
  688. package/extensions/talk-voice/fased.plugin.json +0 -0
  689. package/extensions/thread-ownership/fased.plugin.json +0 -0
  690. package/extensions/tlon/README.md +0 -0
  691. package/extensions/tlon/fased.plugin.json +0 -0
  692. package/extensions/tlon/package.json +1 -1
  693. package/extensions/tlon/src/account-fields.ts +0 -0
  694. package/extensions/tlon/src/channel.ts +0 -0
  695. package/extensions/tlon/src/config-schema.ts +0 -0
  696. package/extensions/tlon/src/monitor/discovery.ts +0 -0
  697. package/extensions/tlon/src/monitor/history.ts +0 -0
  698. package/extensions/tlon/src/monitor/processed-messages.ts +0 -0
  699. package/extensions/tlon/src/monitor/utils.ts +0 -0
  700. package/extensions/tlon/src/onboarding.ts +0 -0
  701. package/extensions/tlon/src/runtime.ts +0 -0
  702. package/extensions/tlon/src/targets.ts +0 -0
  703. package/extensions/tlon/src/types.ts +0 -0
  704. package/extensions/tlon/src/urbit/auth.ts +0 -0
  705. package/extensions/tlon/src/urbit/base-url.ts +0 -0
  706. package/extensions/tlon/src/urbit/channel-client.ts +0 -0
  707. package/extensions/tlon/src/urbit/channel-ops.ts +0 -0
  708. package/extensions/tlon/src/urbit/context.ts +0 -0
  709. package/extensions/tlon/src/urbit/errors.ts +0 -0
  710. package/extensions/tlon/src/urbit/fetch.ts +0 -0
  711. package/extensions/tlon/src/urbit/send.ts +0 -0
  712. package/extensions/tlon/src/urbit/sse-client.ts +0 -0
  713. package/extensions/twitch/CHANGELOG.md +6 -0
  714. package/extensions/twitch/README.md +0 -0
  715. package/extensions/twitch/fased.plugin.json +0 -0
  716. package/extensions/twitch/package.json +1 -1
  717. package/extensions/twitch/src/access-control.ts +0 -0
  718. package/extensions/twitch/src/actions.ts +0 -0
  719. package/extensions/twitch/src/client-manager-registry.ts +0 -0
  720. package/extensions/twitch/src/config-schema.ts +0 -0
  721. package/extensions/twitch/src/config.ts +0 -0
  722. package/extensions/twitch/src/monitor.ts +0 -0
  723. package/extensions/twitch/src/onboarding.ts +0 -0
  724. package/extensions/twitch/src/outbound.ts +0 -0
  725. package/extensions/twitch/src/probe.ts +0 -0
  726. package/extensions/twitch/src/resolver.ts +0 -0
  727. package/extensions/twitch/src/runtime.ts +0 -0
  728. package/extensions/twitch/src/send.ts +0 -0
  729. package/extensions/twitch/src/status.ts +0 -0
  730. package/extensions/twitch/src/test-fixtures.ts +0 -0
  731. package/extensions/twitch/src/twitch-client.ts +0 -0
  732. package/extensions/twitch/src/utils/markdown.ts +0 -0
  733. package/extensions/twitch/src/utils/twitch.ts +0 -0
  734. package/extensions/twitch/test/setup.ts +0 -0
  735. package/extensions/voice-call/CHANGELOG.md +6 -0
  736. package/extensions/voice-call/README.md +0 -0
  737. package/extensions/voice-call/fased.plugin.json +0 -0
  738. package/extensions/voice-call/package.json +1 -1
  739. package/extensions/voice-call/src/allowlist.ts +0 -0
  740. package/extensions/voice-call/src/cli.ts +0 -0
  741. package/extensions/voice-call/src/core-bridge.ts +0 -0
  742. package/extensions/voice-call/src/http-headers.ts +0 -0
  743. package/extensions/voice-call/src/manager/context.ts +0 -0
  744. package/extensions/voice-call/src/manager/events.ts +0 -0
  745. package/extensions/voice-call/src/manager/lookup.ts +0 -0
  746. package/extensions/voice-call/src/manager/outbound.ts +0 -0
  747. package/extensions/voice-call/src/manager/state.ts +0 -0
  748. package/extensions/voice-call/src/manager/store.ts +0 -0
  749. package/extensions/voice-call/src/manager/timers.ts +0 -0
  750. package/extensions/voice-call/src/manager/twiml.ts +0 -0
  751. package/extensions/voice-call/src/manager.ts +0 -0
  752. package/extensions/voice-call/src/media-stream.ts +0 -0
  753. package/extensions/voice-call/src/providers/base.ts +0 -0
  754. package/extensions/voice-call/src/providers/mock.ts +0 -0
  755. package/extensions/voice-call/src/providers/plivo.ts +0 -0
  756. package/extensions/voice-call/src/providers/shared/guarded-json-api.ts +0 -0
  757. package/extensions/voice-call/src/providers/stt-openai-realtime.ts +0 -0
  758. package/extensions/voice-call/src/providers/telnyx.ts +0 -0
  759. package/extensions/voice-call/src/providers/tts-openai.ts +0 -0
  760. package/extensions/voice-call/src/providers/twilio/api.ts +0 -0
  761. package/extensions/voice-call/src/providers/twilio/webhook.ts +0 -0
  762. package/extensions/voice-call/src/providers/twilio.ts +0 -0
  763. package/extensions/voice-call/src/response-generator.ts +0 -0
  764. package/extensions/voice-call/src/runtime.ts +0 -0
  765. package/extensions/voice-call/src/telephony-audio.ts +0 -0
  766. package/extensions/voice-call/src/telephony-tts.ts +0 -0
  767. package/extensions/voice-call/src/tunnel.ts +0 -0
  768. package/extensions/voice-call/src/types.ts +0 -0
  769. package/extensions/voice-call/src/utils.ts +0 -0
  770. package/extensions/voice-call/src/voice-mapping.ts +0 -0
  771. package/extensions/voice-call/src/webhook/stale-call-reaper.ts +0 -0
  772. package/extensions/voice-call/src/webhook-security.ts +0 -0
  773. package/extensions/zalo/CHANGELOG.md +6 -0
  774. package/extensions/zalo/README.md +0 -0
  775. package/extensions/zalo/fased.plugin.json +0 -0
  776. package/extensions/zalo/package.json +1 -1
  777. package/extensions/zalo/src/accounts.ts +0 -0
  778. package/extensions/zalo/src/actions.ts +0 -0
  779. package/extensions/zalo/src/api.ts +0 -0
  780. package/extensions/zalo/src/channel.ts +0 -0
  781. package/extensions/zalo/src/config-schema.ts +0 -0
  782. package/extensions/zalo/src/group-access.ts +0 -0
  783. package/extensions/zalo/src/monitor.ts +0 -0
  784. package/extensions/zalo/src/monitor.webhook.ts +0 -0
  785. package/extensions/zalo/src/onboarding.ts +0 -0
  786. package/extensions/zalo/src/probe.ts +0 -0
  787. package/extensions/zalo/src/proxy.ts +0 -0
  788. package/extensions/zalo/src/runtime.ts +0 -0
  789. package/extensions/zalo/src/send.ts +0 -0
  790. package/extensions/zalo/src/status-issues.ts +0 -0
  791. package/extensions/zalo/src/token.ts +0 -0
  792. package/extensions/zalo/src/types.ts +0 -0
  793. package/extensions/zalouser/CHANGELOG.md +6 -0
  794. package/extensions/zalouser/README.md +0 -0
  795. package/extensions/zalouser/fased.plugin.json +0 -0
  796. package/extensions/zalouser/package.json +1 -1
  797. package/extensions/zalouser/src/accounts.ts +0 -0
  798. package/extensions/zalouser/src/channel.ts +0 -0
  799. package/extensions/zalouser/src/config-schema.ts +0 -0
  800. package/extensions/zalouser/src/monitor.ts +0 -0
  801. package/extensions/zalouser/src/onboarding.ts +0 -0
  802. package/extensions/zalouser/src/probe.ts +0 -0
  803. package/extensions/zalouser/src/runtime.ts +0 -0
  804. package/extensions/zalouser/src/send.ts +0 -0
  805. package/extensions/zalouser/src/status-issues.ts +0 -0
  806. package/extensions/zalouser/src/tool.ts +0 -0
  807. package/extensions/zalouser/src/types.ts +0 -0
  808. package/extensions/zalouser/src/zca.ts +0 -0
  809. package/install.sh +9 -6
  810. package/package.json +1 -1
  811. package/scripts/fased-launcher-runtime.mjs +0 -0
  812. package/scripts/fased-signer-network-hosting.sh +18 -7
  813. package/scripts/run-node.mjs +0 -0
  814. package/shared/sat-hash-v1.json +0 -0
  815. package/skills/1password/SKILL.md +0 -0
  816. package/skills/1password/references/cli-examples.md +0 -0
  817. package/skills/1password/references/get-started.md +0 -0
  818. package/skills/apple-notes/SKILL.md +0 -0
  819. package/skills/apple-reminders/SKILL.md +0 -0
  820. package/skills/bear-notes/SKILL.md +0 -0
  821. package/skills/blogwatcher/SKILL.md +0 -0
  822. package/skills/blucli/SKILL.md +0 -0
  823. package/skills/bluebubbles/SKILL.md +0 -0
  824. package/skills/camsnap/SKILL.md +0 -0
  825. package/skills/canvas/SKILL.md +0 -0
  826. package/skills/clawhub/SKILL.md +0 -0
  827. package/skills/coding-agent/SKILL.md +0 -0
  828. package/skills/diagram-maker/SKILL.md +0 -0
  829. package/skills/diagram-maker/references/excalidraw-patterns.md +0 -0
  830. package/skills/diagram-maker/references/svg-template.md +0 -0
  831. package/skills/discord/SKILL.md +0 -0
  832. package/skills/eightctl/SKILL.md +0 -0
  833. package/skills/food-order/SKILL.md +0 -0
  834. package/skills/gemini/SKILL.md +0 -0
  835. package/skills/gh-issues/SKILL.md +0 -0
  836. package/skills/gifgrep/SKILL.md +0 -0
  837. package/skills/github/SKILL.md +0 -0
  838. package/skills/gog/SKILL.md +0 -0
  839. package/skills/goplaces/SKILL.md +0 -0
  840. package/skills/healthcheck/SKILL.md +0 -0
  841. package/skills/himalaya/SKILL.md +0 -0
  842. package/skills/himalaya/references/configuration.md +0 -0
  843. package/skills/himalaya/references/message-composition.md +0 -0
  844. package/skills/imsg/SKILL.md +0 -0
  845. package/skills/mcporter/SKILL.md +0 -0
  846. package/skills/model-usage/SKILL.md +0 -0
  847. package/skills/model-usage/references/codexbar-cli.md +0 -0
  848. package/skills/model-usage/scripts/model_usage.py +0 -0
  849. package/skills/model-usage/scripts/test_model_usage.py +0 -0
  850. package/skills/nano-banana-pro/SKILL.md +0 -0
  851. package/skills/nano-pdf/SKILL.md +0 -0
  852. package/skills/node-connect/SKILL.md +0 -0
  853. package/skills/node-inspect-debugger/SKILL.md +0 -0
  854. package/skills/notion/SKILL.md +0 -0
  855. package/skills/obsidian/SKILL.md +0 -0
  856. package/skills/openai-image-gen/SKILL.md +0 -0
  857. package/skills/openai-image-gen/scripts/gen.py +0 -0
  858. package/skills/openai-image-gen/scripts/test_gen.py +0 -0
  859. package/skills/openai-whisper/SKILL.md +0 -0
  860. package/skills/openai-whisper-api/SKILL.md +0 -0
  861. package/skills/openai-whisper-api/scripts/transcribe.sh +0 -0
  862. package/skills/opencode/SKILL.md +0 -0
  863. package/skills/openhue/SKILL.md +0 -0
  864. package/skills/oracle/SKILL.md +0 -0
  865. package/skills/ordercli/SKILL.md +0 -0
  866. package/skills/peekaboo/SKILL.md +0 -0
  867. package/skills/python-debugpy/SKILL.md +0 -0
  868. package/skills/sag/SKILL.md +0 -0
  869. package/skills/session-logs/SKILL.md +0 -0
  870. package/skills/sherpa-onnx-tts/SKILL.md +0 -0
  871. package/skills/skill-creator/SKILL.md +0 -0
  872. package/skills/skill-creator/license.txt +0 -0
  873. package/skills/skill-creator/scripts/init_skill.py +0 -0
  874. package/skills/skill-creator/scripts/package_skill.py +0 -0
  875. package/skills/skill-creator/scripts/quick_validate.py +0 -0
  876. package/skills/skill-creator/scripts/test_package_skill.py +0 -0
  877. package/skills/skill-creator/scripts/test_quick_validate.py +0 -0
  878. package/skills/skill-workshop/SKILL.md +0 -0
  879. package/skills/slack/SKILL.md +0 -0
  880. package/skills/songsee/SKILL.md +0 -0
  881. package/skills/sonoscli/SKILL.md +0 -0
  882. package/skills/spotify-player/SKILL.md +0 -0
  883. package/skills/summarize/SKILL.md +0 -0
  884. package/skills/things-mac/SKILL.md +0 -0
  885. package/skills/tmux/SKILL.md +0 -0
  886. package/skills/trello/SKILL.md +0 -0
  887. package/skills/video-frames/SKILL.md +0 -0
  888. package/skills/video-frames/scripts/frame.sh +0 -0
  889. package/skills/voice-call/SKILL.md +0 -0
  890. package/skills/wacli/SKILL.md +0 -0
  891. package/skills/wallet-actions/SKILL.md +0 -0
  892. package/skills/weather/SKILL.md +0 -0
  893. package/skills/xurl/SKILL.md +0 -0
@@ -329,7 +329,12 @@ type SatInstructionSubmitSpec = {
329
329
  data: Buffer;
330
330
  programId?: string;
331
331
  addressLookupTables?: string[];
332
- manageAddressLookupTable?: { lookupTableAddress?: string };
332
+ manageAddressLookupTable?: {
333
+ lookupTableAddress?: string;
334
+ cycleId: number;
335
+ pageIndex: number;
336
+ onLookupTableResolved?: (lookupTableAddress: string) => Promise<void>;
337
+ };
333
338
  accountResolver: (
334
339
  solana: SolanaModuleLike,
335
340
  signer: import("@solana/web3.js").PublicKey,
@@ -550,13 +555,27 @@ class SatSubmissionUnresolvedError extends Error {
550
555
  }
551
556
  }
552
557
 
558
+ class SatSubmissionDefinitiveFailureError extends Error {
559
+ constructor(message: string) {
560
+ super(message);
561
+ this.name = "SatSubmissionDefinitiveFailureError";
562
+ }
563
+ }
564
+
553
565
  async function executeTypedSatIntent(params: {
554
566
  socketPath: string;
555
567
  walletId: string;
556
568
  action: SatSignerAction | "cleanupBatch" | "create" | "extend" | "deactivate" | "close";
557
569
  instruction?: Awaited<ReturnType<typeof buildLocalSignerInstructionRequest>>;
558
570
  instructions?: Array<Awaited<ReturnType<typeof buildLocalSignerInstructionRequest>>>;
559
- lookupTable?: { address: string; recentSlot?: string; addresses?: string[] };
571
+ lookupTable?: {
572
+ address: string;
573
+ cycleId: string;
574
+ pageIndex: string;
575
+ recentSlot?: string;
576
+ addresses?: string[];
577
+ parent?: Awaited<ReturnType<typeof buildLocalSignerInstructionRequest>>;
578
+ };
560
579
  cluster: "local" | "devnet" | "mainnet-beta";
561
580
  env: NodeJS.ProcessEnv;
562
581
  }) {
@@ -619,6 +638,7 @@ async function executeTypedSatIntent(params: {
619
638
  operationKey,
620
639
  intentDigest,
621
640
  action: params.action,
641
+ allowFailedRetry: isLookupTable,
622
642
  env: params.env,
623
643
  });
624
644
  if (!claim.claimed) {
@@ -633,6 +653,7 @@ async function executeTypedSatIntent(params: {
633
653
  operationKey,
634
654
  intentDigest,
635
655
  action: params.action,
656
+ allowFailedRetry: isLookupTable,
636
657
  env: params.env,
637
658
  owner: claim.owner,
638
659
  });
@@ -900,7 +921,9 @@ async function executeTypedSatIntent(params: {
900
921
  env: params.env,
901
922
  });
902
923
  if (operation.state === "failed") {
903
- throw new Error(operation.error || `SAT signer operation ${requestId} failed`);
924
+ throw new SatSubmissionDefinitiveFailureError(
925
+ operation.error || `SAT signer operation ${requestId} failed`,
926
+ );
904
927
  }
905
928
  if (operation.state !== "confirmed" || !operation.signature) {
906
929
  throw new SatSubmissionUnresolvedError({
@@ -928,8 +951,11 @@ async function executeTypedSatLookupOperation(params: {
928
951
  cfg: FasedAgentConfig;
929
952
  action: "create" | "extend" | "deactivate" | "close";
930
953
  address: string;
954
+ cycleId: number;
955
+ pageIndex: number;
931
956
  recentSlot?: number;
932
957
  addresses?: string[];
958
+ parent?: Awaited<ReturnType<typeof buildLocalSignerInstructionRequest>>;
933
959
  }) {
934
960
  return await executeTypedSatIntent({
935
961
  socketPath: params.context.socketPath,
@@ -937,8 +963,11 @@ async function executeTypedSatLookupOperation(params: {
937
963
  action: params.action,
938
964
  lookupTable: {
939
965
  address: params.address,
966
+ cycleId: String(params.cycleId),
967
+ pageIndex: String(params.pageIndex),
940
968
  ...(params.recentSlot == null ? {} : { recentSlot: String(params.recentSlot) }),
941
969
  ...(params.addresses?.length ? { addresses: params.addresses } : {}),
970
+ ...(params.parent ? { parent: params.parent } : {}),
942
971
  },
943
972
  cluster: resolveSatCluster(params.cfg),
944
973
  env: params.context.effectiveEnv,
@@ -991,12 +1020,108 @@ async function waitForSatLookupTable(params: {
991
1020
  );
992
1021
  }
993
1022
 
1023
+ const SAT_LOOKUP_TABLE_CREATE_SLOT_WINDOW = 128;
1024
+
1025
+ function recoverSatLookupTableRecentSlot(params: {
1026
+ context: SatLookupSubmitContext;
1027
+ lookupTable: string;
1028
+ currentSlot: number;
1029
+ }): number | undefined {
1030
+ const oldestSlot = Math.max(0, params.currentSlot - SAT_LOOKUP_TABLE_CREATE_SLOT_WINDOW);
1031
+ for (let recentSlot = params.currentSlot; recentSlot >= oldestSlot; recentSlot -= 1) {
1032
+ const [, derivedAddress] = params.context.solana.AddressLookupTableProgram.createLookupTable({
1033
+ authority: params.context.signer,
1034
+ payer: params.context.signer,
1035
+ recentSlot,
1036
+ });
1037
+ if (derivedAddress.toBase58() === params.lookupTable) {
1038
+ return recentSlot;
1039
+ }
1040
+ }
1041
+ return undefined;
1042
+ }
1043
+
1044
+ type SatLookupBinding = {
1045
+ cycleId: string;
1046
+ pageIndex: string;
1047
+ address?: string;
1048
+ bound: boolean;
1049
+ mutationRequestId?: string;
1050
+ mutationState?: SatSignerOperation["state"];
1051
+ };
1052
+
1053
+ async function readReconciledSatLookupBinding(params: {
1054
+ context: SatLookupSubmitContext;
1055
+ cycleId: number;
1056
+ pageIndex: number;
1057
+ }): Promise<SatLookupBinding> {
1058
+ const request = { cycleId: String(params.cycleId), pageIndex: String(params.pageIndex) };
1059
+ const readBinding = async () =>
1060
+ await callLocalSocketSigner<SatLookupBinding>(params.context.socketPath, {
1061
+ op: "v2.satLookup.binding.get",
1062
+ walletId: params.context.walletId,
1063
+ request,
1064
+ });
1065
+ const binding = await readBinding();
1066
+ if (
1067
+ binding.cycleId !== request.cycleId ||
1068
+ binding.pageIndex !== request.pageIndex ||
1069
+ binding.bound !== Boolean(binding.address) ||
1070
+ Boolean(binding.mutationRequestId) !== Boolean(binding.mutationState)
1071
+ ) {
1072
+ throw new Error("signer returned an invalid SAT lookup-table binding");
1073
+ }
1074
+ if (binding.mutationState === "reserved") {
1075
+ throw new Error("SAT lookup-table mutation is already in progress");
1076
+ }
1077
+ if (
1078
+ (binding.mutationState === "broadcast" || binding.mutationState === "unknown") &&
1079
+ binding.mutationRequestId
1080
+ ) {
1081
+ const operation = assertSatSignerOperationIdentity(
1082
+ await callLocalSocketSigner<SatSignerOperation>(params.context.socketPath, {
1083
+ op: "v2.operation.reconcile",
1084
+ walletId: params.context.walletId,
1085
+ request: { requestId: binding.mutationRequestId },
1086
+ }),
1087
+ binding.mutationRequestId,
1088
+ );
1089
+ if (
1090
+ operation.state === "reserved" ||
1091
+ operation.state === "broadcast" ||
1092
+ operation.state === "unknown"
1093
+ ) {
1094
+ throw new SatSubmissionUnresolvedError({
1095
+ requestId: operation.requestId,
1096
+ state: operation.state,
1097
+ signature: operation.signature,
1098
+ detail: operation.error,
1099
+ });
1100
+ }
1101
+ const reconciled = await readBinding();
1102
+ if (
1103
+ reconciled.cycleId !== request.cycleId ||
1104
+ reconciled.pageIndex !== request.pageIndex ||
1105
+ reconciled.bound !== Boolean(reconciled.address) ||
1106
+ Boolean(reconciled.mutationRequestId) !== Boolean(reconciled.mutationState)
1107
+ ) {
1108
+ throw new Error("signer returned an invalid reconciled SAT lookup-table binding");
1109
+ }
1110
+ return reconciled;
1111
+ }
1112
+ return binding;
1113
+ }
1114
+
994
1115
  async function ensureSatDistributionLookupTable(params: {
995
1116
  context: SatLookupSubmitContext;
996
1117
  cfg: FasedAgentConfig;
997
1118
  config: SatMiningConfig;
998
1119
  lookupTableAddress?: string;
1120
+ cycleId: number;
1121
+ pageIndex: number;
999
1122
  addresses: string[];
1123
+ parent: Awaited<ReturnType<typeof buildLocalSignerInstructionRequest>>;
1124
+ onLookupTableResolved?: (lookupTableAddress: string) => Promise<void>;
1000
1125
  }) {
1001
1126
  assertSatLookupTableEnabled(params.context.effectiveEnv);
1002
1127
  const desiredAddresses = [...new Set(params.addresses.map((entry) => entry.trim()))].filter(
@@ -1005,7 +1130,15 @@ async function ensureSatDistributionLookupTable(params: {
1005
1130
  if (desiredAddresses.length === 0 || desiredAddresses.length > 256) {
1006
1131
  throw new Error("SAT distribution lookup table requires 1-256 exact account addresses");
1007
1132
  }
1008
- let lookupTable = params.lookupTableAddress?.trim() ?? "";
1133
+ const signerBinding = await readReconciledSatLookupBinding({
1134
+ context: params.context,
1135
+ cycleId: params.cycleId,
1136
+ pageIndex: params.pageIndex,
1137
+ });
1138
+ let lookupTable = signerBinding.address?.trim() || "";
1139
+ if (signerBinding.bound && lookupTable) {
1140
+ await params.onLookupTableResolved?.(lookupTable);
1141
+ }
1009
1142
  let state = lookupTable
1010
1143
  ? await readValidatedSatLookupTable({
1011
1144
  config: params.config,
@@ -1013,55 +1146,127 @@ async function ensureSatDistributionLookupTable(params: {
1013
1146
  authority: params.context.signerAddress,
1014
1147
  })
1015
1148
  : null;
1149
+
1150
+ if (lookupTable && state) {
1151
+ await params.onLookupTableResolved?.(lookupTable);
1152
+ }
1016
1153
  let created = false;
1017
1154
  const transactionHashes: string[] = [];
1018
- if (!lookupTable) {
1155
+ let createRecentSlot: number | undefined;
1156
+ const attemptedCreateAddresses = new Set<string>();
1157
+ if (lookupTable && !state) {
1019
1158
  const currentSlot = await inspectSatChainSlot(params.config);
1020
- const recentSlot = Math.max(0, currentSlot - 1);
1021
- const [, derivedAddress] = params.context.solana.AddressLookupTableProgram.createLookupTable({
1022
- authority: params.context.signer,
1023
- payer: params.context.signer,
1024
- recentSlot,
1159
+ createRecentSlot = recoverSatLookupTableRecentSlot({
1160
+ context: params.context,
1161
+ lookupTable,
1162
+ currentSlot,
1025
1163
  });
1026
- lookupTable = derivedAddress.toBase58();
1027
- state = await readValidatedSatLookupTable({
1028
- config: params.config,
1029
- address: lookupTable,
1030
- authority: params.context.signerAddress,
1031
- });
1032
- if (!state) {
1033
- try {
1034
- const submitted = await executeTypedSatLookupOperation({
1035
- context: params.context,
1036
- cfg: params.cfg,
1037
- action: "create",
1038
- address: lookupTable,
1039
- recentSlot,
1040
- });
1041
- transactionHashes.push(submitted.signature);
1042
- created = true;
1043
- } catch (error) {
1044
- if (error instanceof SatSubmissionUnresolvedError) {
1045
- throw error;
1046
- }
1047
- try {
1048
- state = await waitForSatLookupTable({
1049
- config: params.config,
1050
- address: lookupTable,
1051
- authority: params.context.signerAddress,
1052
- requireNextSlot: false,
1164
+ if (createRecentSlot == null) {
1165
+ if (signerBinding.bound) {
1166
+ throw new Error(
1167
+ "SAT distribution lookup table identity is not recoverable within the signer freshness window",
1168
+ );
1169
+ }
1170
+ // The signer clears a create binding only after two independent RPC
1171
+ // origins prove both blockhash expiry and table absence. Discard the
1172
+ // stale Gateway cache so the next exact workflow attempt can derive and
1173
+ // persist a fresh signer-owned table identity.
1174
+ lookupTable = "";
1175
+ } else {
1176
+ attemptedCreateAddresses.add(lookupTable);
1177
+ await params.onLookupTableResolved?.(lookupTable);
1178
+ }
1179
+ }
1180
+ while (!state) {
1181
+ if (!lookupTable || createRecentSlot == null) {
1182
+ const currentSlot = await inspectSatChainSlot(params.config);
1183
+ const oldestSlot = Math.max(0, currentSlot - SAT_LOOKUP_TABLE_CREATE_SLOT_WINDOW);
1184
+ let selected = false;
1185
+ for (
1186
+ let recentSlot = Math.max(0, currentSlot - 1);
1187
+ recentSlot >= oldestSlot;
1188
+ recentSlot -= 1
1189
+ ) {
1190
+ const [, derivedAddress] =
1191
+ params.context.solana.AddressLookupTableProgram.createLookupTable({
1192
+ authority: params.context.signer,
1193
+ payer: params.context.signer,
1194
+ recentSlot,
1053
1195
  });
1054
- } catch {
1055
- throw error;
1196
+ const candidate = derivedAddress.toBase58();
1197
+ if (attemptedCreateAddresses.has(candidate)) {
1198
+ continue;
1056
1199
  }
1200
+ attemptedCreateAddresses.add(candidate);
1201
+ const existingCandidate = await readValidatedSatLookupTable({
1202
+ config: params.config,
1203
+ address: candidate,
1204
+ authority: params.context.signerAddress,
1205
+ });
1206
+ if (existingCandidate) {
1207
+ continue;
1208
+ }
1209
+ lookupTable = candidate;
1210
+ createRecentSlot = recentSlot;
1211
+ // Persist each deterministic candidate before its first possible
1212
+ // broadcast. Signer reverse binding prevents two page identities from
1213
+ // ever sharing one address; a collision advances to the next fresh slot.
1214
+ await params.onLookupTableResolved?.(lookupTable);
1215
+ selected = true;
1216
+ break;
1057
1217
  }
1058
- state ??= await waitForSatLookupTable({
1059
- config: params.config,
1218
+ if (!selected) {
1219
+ throw new Error(
1220
+ "SAT distribution lookup table has no free signer-owned address in the freshness window",
1221
+ );
1222
+ }
1223
+ }
1224
+ try {
1225
+ const submitted = await executeTypedSatLookupOperation({
1226
+ context: params.context,
1227
+ cfg: params.cfg,
1228
+ action: "create",
1060
1229
  address: lookupTable,
1061
- authority: params.context.signerAddress,
1062
- requireNextSlot: false,
1230
+ cycleId: params.cycleId,
1231
+ pageIndex: params.pageIndex,
1232
+ recentSlot: createRecentSlot,
1233
+ parent: params.parent,
1063
1234
  });
1235
+ transactionHashes.push(submitted.signature);
1236
+ created = true;
1237
+ } catch (error) {
1238
+ if (
1239
+ error instanceof SatSubmissionDefinitiveFailureError &&
1240
+ error.message.includes("address is already bound to another cycle and page")
1241
+ ) {
1242
+ lookupTable = "";
1243
+ createRecentSlot = undefined;
1244
+ continue;
1245
+ }
1246
+ if (
1247
+ error instanceof SatSubmissionUnresolvedError ||
1248
+ error instanceof SatSubmissionDefinitiveFailureError
1249
+ ) {
1250
+ throw error;
1251
+ }
1252
+ try {
1253
+ state = await waitForSatLookupTable({
1254
+ config: params.config,
1255
+ address: lookupTable,
1256
+ authority: params.context.signerAddress,
1257
+ requireNextSlot: false,
1258
+ });
1259
+ } catch {
1260
+ throw error;
1261
+ }
1064
1262
  }
1263
+ state ??= await waitForSatLookupTable({
1264
+ config: params.config,
1265
+ address: lookupTable,
1266
+ authority: params.context.signerAddress,
1267
+ requireNextSlot: false,
1268
+ });
1269
+ break;
1065
1270
  }
1066
1271
  if (!state) {
1067
1272
  throw new Error("SAT distribution lookup table was not found at the confirmed commitment");
@@ -1076,7 +1281,10 @@ async function ensureSatDistributionLookupTable(params: {
1076
1281
  cfg: params.cfg,
1077
1282
  action: "extend",
1078
1283
  address: lookupTable,
1284
+ cycleId: params.cycleId,
1285
+ pageIndex: params.pageIndex,
1079
1286
  addresses,
1287
+ parent: params.parent,
1080
1288
  });
1081
1289
  transactionHashes.push(submitted.signature);
1082
1290
  } catch (error) {
@@ -1140,7 +1348,11 @@ async function submitInstructionViaLocalSigner(
1140
1348
  cfg: params.cfg,
1141
1349
  config: params.cfg as unknown as SatMiningConfig,
1142
1350
  lookupTableAddress: params.manageAddressLookupTable.lookupTableAddress,
1351
+ cycleId: params.manageAddressLookupTable.cycleId,
1352
+ pageIndex: params.manageAddressLookupTable.pageIndex,
1143
1353
  addresses: baseRequest.keys.filter((key) => !key.isSigner).map((key) => key.pubkey),
1354
+ parent: baseRequest,
1355
+ onLookupTableResolved: params.manageAddressLookupTable.onLookupTableResolved,
1144
1356
  });
1145
1357
  }
1146
1358
  const request = managedLookupTable
@@ -3000,6 +3212,7 @@ export async function submitSatDistributeCyclePage(
3000
3212
  chunkIndex: number;
3001
3213
  minerCycleAccounts?: string[];
3002
3214
  lookupTableAddress?: string;
3215
+ onLookupTableResolved?: (lookupTableAddress: string) => Promise<void>;
3003
3216
  },
3004
3217
  ) {
3005
3218
  const cfg = loadConfigForSatRuntime(_config);
@@ -3013,7 +3226,12 @@ export async function submitSatDistributeCyclePage(
3013
3226
  ...(lookupTableAddress || requiresLookupTable
3014
3227
  ? {
3015
3228
  manageAddressLookupTable: {
3229
+ cycleId: params.cycleId,
3230
+ pageIndex: params.pageIndex,
3016
3231
  ...(lookupTableAddress ? { lookupTableAddress } : {}),
3232
+ ...(params.onLookupTableResolved
3233
+ ? { onLookupTableResolved: params.onLookupTableResolved }
3234
+ : {}),
3017
3235
  },
3018
3236
  }
3019
3237
  : {}),
@@ -3108,7 +3326,11 @@ export async function submitSatDistributeCyclePage(
3108
3326
 
3109
3327
  export async function submitSatCleanupDistributionLookupTable(
3110
3328
  _config: SatMiningConfig,
3111
- params: { lookupTableAddress: string; action: "deactivate" | "close" },
3329
+ params: {
3330
+ cycleId: number;
3331
+ pageIndex: number;
3332
+ action: "deactivate" | "close";
3333
+ },
3112
3334
  ) {
3113
3335
  const cfg = loadConfigForSatRuntime(_config);
3114
3336
  const context = await prepareLocalSignerSubmitContext(cfg, process.env);
@@ -3116,15 +3338,27 @@ export async function submitSatCleanupDistributionLookupTable(
3116
3338
  if (!context.walletId) {
3117
3339
  throw new Error("typed SAT lookup-table cleanup requires an explicit mining walletId");
3118
3340
  }
3119
- const lookupTable = params.lookupTableAddress.trim();
3120
- if (!lookupTable) {
3121
- throw new Error("SAT distribution lookup table address is required");
3341
+ const binding = await readReconciledSatLookupBinding({
3342
+ context: { ...context, walletId: context.walletId },
3343
+ cycleId: params.cycleId,
3344
+ pageIndex: params.pageIndex,
3345
+ });
3346
+ const lookupTable = binding.address?.trim() ?? "";
3347
+ if (
3348
+ binding.cycleId !== String(params.cycleId) ||
3349
+ binding.pageIndex !== String(params.pageIndex) ||
3350
+ !binding.bound ||
3351
+ !lookupTable
3352
+ ) {
3353
+ throw new Error("SAT distribution lookup table is not bound to this wallet, cycle, and page");
3122
3354
  }
3123
3355
  const submitted = await executeTypedSatLookupOperation({
3124
3356
  context: { ...context, walletId: context.walletId },
3125
3357
  cfg,
3126
3358
  action: params.action,
3127
3359
  address: lookupTable,
3360
+ cycleId: params.cycleId,
3361
+ pageIndex: params.pageIndex,
3128
3362
  });
3129
3363
  return {
3130
3364
  lookupTable,
File without changes
File without changes
File without changes
@@ -286,22 +286,37 @@ export async function claimSatSubmission(params: {
286
286
  operationKey: string;
287
287
  intentDigest: string;
288
288
  action: string;
289
+ allowFailedRetry?: boolean;
289
290
  env?: NodeJS.ProcessEnv;
290
291
  owner?: string;
291
292
  }): Promise<SatSubmissionClaim> {
292
293
  const env = params.env ?? process.env;
293
294
  const filePath = resolveSatSubmissionLedgerPath({ walletId: params.walletId, env });
294
- const requestId = buildSatSubmissionRequestId(params);
295
295
  const owner = params.owner ?? `${process.pid}:${randomUUID()}`;
296
296
  return await withSatSubmissionLedgerLock(filePath, async () => {
297
297
  const ledger = await readLedger(filePath);
298
+ let operationKey = params.operationKey;
299
+ let requestId = buildSatSubmissionRequestId({ ...params, operationKey });
300
+ if (params.allowFailedRetry) {
301
+ for (let retry = 1; retry <= 32; retry += 1) {
302
+ const prior = ledger.records[requestId];
303
+ if (!prior || prior.state !== "failed") {
304
+ break;
305
+ }
306
+ operationKey = `${params.operationKey}:retry:${retry}`;
307
+ requestId = buildSatSubmissionRequestId({ ...params, operationKey });
308
+ if (retry === 32 && ledger.records[requestId]?.state === "failed") {
309
+ throw new Error("SAT submission exhausted its safe pre-broadcast retry limit");
310
+ }
311
+ }
312
+ }
298
313
  const existing = ledger.records[requestId];
299
314
  if (existing) {
300
315
  if (
301
316
  existing.intentDigest !== params.intentDigest ||
302
317
  existing.walletId !== params.walletId ||
303
318
  existing.workflowId !== params.workflowId ||
304
- existing.operationKey !== params.operationKey
319
+ existing.operationKey !== operationKey
305
320
  ) {
306
321
  throw new Error(
307
322
  `SAT idempotency collision for ${requestId}: the workflow key is already bound to a different immutable intent digest`,
@@ -326,7 +341,7 @@ export async function claimSatSubmission(params: {
326
341
  const record: SatSubmissionRecord = {
327
342
  requestId,
328
343
  workflowId: params.workflowId,
329
- operationKey: params.operationKey,
344
+ operationKey,
330
345
  intentDigest: params.intentDigest,
331
346
  walletId: params.walletId,
332
347
  action: params.action,
File without changes
File without changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/signal",
3
- "version": "0.1.65",
3
+ "version": "0.1.66",
4
4
  "private": true,
5
5
  "description": "FasedAgent Signal channel plugin",
6
6
  "type": "module",
File without changes
File without changes
File without changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/synology-chat",
3
- "version": "0.1.65",
3
+ "version": "0.1.66",
4
4
  "description": "Synology Chat channel plugin for FasedAgent",
5
5
  "type": "module",
6
6
  "dependencies": {
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/tlon",
3
- "version": "0.1.65",
3
+ "version": "0.1.66",
4
4
  "description": "FasedAgent Tlon/Urbit channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.66
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core FasedAgent release numbers.
8
+
3
9
  ## 0.1.65
4
10
 
5
11
  ### Changes
File without changes
File without changes