@fased/fased 0.1.47 → 0.1.48

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 (327) hide show
  1. package/dist/acp/client.js +2 -2
  2. package/dist/acp/secret-file.js +2 -2
  3. package/dist/agents/agent-scope.js +2 -2
  4. package/dist/agents/apply-patch.js +8 -8
  5. package/dist/agents/auth-profiles/paths.js +2 -2
  6. package/dist/agents/auth-profiles/store.js +2 -2
  7. package/dist/agents/bash-tools.shared.js +2 -2
  8. package/dist/agents/cli-credentials.js +4 -4
  9. package/dist/agents/current-model-catalog.js +21 -3
  10. package/dist/agents/docs-path.js +3 -3
  11. package/dist/agents/embedded-pi-mcp.js +4 -4
  12. package/dist/agents/identity-avatar.js +3 -3
  13. package/dist/agents/identity-file.js +2 -2
  14. package/dist/agents/pi-embedded-subscribe.raw-stream.js +3 -3
  15. package/dist/agents/pi-extensions/compaction-safeguard.js +3 -3
  16. package/dist/agents/pi-model-discovery.js +6 -6
  17. package/dist/agents/pi-project-settings.js +3 -3
  18. package/dist/agents/sandbox/fs-bridge.js +2 -2
  19. package/dist/agents/session-dirs.js +4 -4
  20. package/dist/agents/session-write-lock.js +13 -13
  21. package/dist/agents/shell-utils.js +5 -5
  22. package/dist/agents/skills/bundled-dir.js +4 -4
  23. package/dist/agents/skills/local-loader.js +6 -6
  24. package/dist/agents/skills/plugin-skills.js +2 -2
  25. package/dist/agents/skills/workspace.js +13 -13
  26. package/dist/agents/skills-install-download.js +7 -7
  27. package/dist/agents/skills-install-plan.js +2 -2
  28. package/dist/agents/skills-install.js +2 -2
  29. package/dist/agents/skills-status.js +2 -2
  30. package/dist/agents/subagent-depth.js +2 -2
  31. package/dist/agents/system-prompt-params.js +2 -2
  32. package/dist/agents/workspace.js +22 -22
  33. package/dist/auto-reply/reply/agent-runner-execution.js +2 -2
  34. package/dist/auto-reply/reply/agent-runner.js +2 -2
  35. package/dist/auto-reply/reply/commands-export-session.js +7 -7
  36. package/dist/auto-reply/reply/post-compaction-audit.js +3 -3
  37. package/dist/auto-reply/reply/post-compaction-context.js +3 -3
  38. package/dist/auto-reply/reply/session.js +3 -3
  39. package/dist/auto-reply/skill-commands.js +3 -3
  40. package/dist/auto-reply/status.js +6 -6
  41. package/dist/brand.js +1 -1
  42. package/dist/browser/chrome.executables.js +3 -3
  43. package/dist/browser/chrome.js +3 -3
  44. package/dist/browser/chrome.profile-decoration.js +6 -6
  45. package/dist/browser/profiles-service.js +2 -2
  46. package/dist/browser/server-context.js +2 -2
  47. package/dist/browser/trash.js +4 -4
  48. package/dist/build-info.json +3 -3
  49. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  50. package/dist/canvas-host/server.js +4 -4
  51. package/dist/capabilities/catalog.js +3 -3
  52. package/dist/channels/plugins/catalog.js +3 -3
  53. package/dist/cli/browser-cli-extension.js +6 -6
  54. package/dist/cli/command-format.js +2 -2
  55. package/dist/cli/cron-cli/register.cron-simple.js +2 -2
  56. package/dist/cli/dns-cli.js +9 -9
  57. package/dist/cli/gateway-cli/dev.js +5 -5
  58. package/dist/cli/gateway-cli/run.js +2 -2
  59. package/dist/cli/hooks-cli.js +5 -5
  60. package/dist/cli/memory-cli.js +7 -7
  61. package/dist/cli/nodes-media-utils.js +2 -2
  62. package/dist/cli/plugins-cli.js +2 -2
  63. package/dist/cli/secrets-cli.js +3 -3
  64. package/dist/cli/windows-argv.js +2 -2
  65. package/dist/commands/dashboard-link.js +3 -3
  66. package/dist/commands/doctor-install.js +5 -5
  67. package/dist/commands/doctor-memory-search.js +2 -2
  68. package/dist/commands/doctor-platform-notes.js +2 -2
  69. package/dist/commands/doctor-sandbox.js +2 -2
  70. package/dist/commands/doctor-state-integrity.js +23 -23
  71. package/dist/commands/doctor-workspace.js +3 -3
  72. package/dist/commands/doctor.js +3 -3
  73. package/dist/commands/managed-up.js +2 -2
  74. package/dist/commands/onboard-auth.credentials.js +3 -3
  75. package/dist/commands/onboarding/plugin-install.js +2 -2
  76. package/dist/commands/sessions-cleanup.js +2 -2
  77. package/dist/commands/signal-install.js +6 -6
  78. package/dist/commands/status-all/channels.js +2 -2
  79. package/dist/commands/wallet.js +47 -47
  80. package/dist/config/cache-utils.js +2 -2
  81. package/dist/config/includes.js +5 -5
  82. package/dist/config/io.js +2 -2
  83. package/dist/config/paths.js +3 -3
  84. package/dist/config/sat-runtime-ids.js +3 -3
  85. package/dist/config/sessions/disk-budget.js +6 -6
  86. package/dist/config/sessions/paths.js +2 -2
  87. package/dist/config/sessions/store.js +17 -17
  88. package/dist/config/sessions/transcript.js +4 -4
  89. package/dist/config/talk.js +2 -2
  90. package/dist/cron/service/store.js +2 -2
  91. package/dist/cron/store.js +6 -6
  92. package/dist/daemon/systemd-system.js +5 -5
  93. package/dist/discord/monitor/thread-bindings.state.js +2 -2
  94. package/dist/extensions/sat-mining/src/protocol-contract.js +63 -0
  95. package/dist/extensions/sat-mining/src/sat-bond-layout.js +9 -9
  96. package/dist/extensions/sat-mining/src/solana-submit.js +3 -52
  97. package/dist/gateway/control-ui-boot-check.js +6 -6
  98. package/dist/gateway/control-ui-login.js +7 -7
  99. package/dist/gateway/control-ui.js +9 -9
  100. package/dist/gateway/hooks-mapping.js +4 -4
  101. package/dist/gateway/server-discovery.js +2 -2
  102. package/dist/gateway/server-http.js +4 -4
  103. package/dist/gateway/server-methods/chat.js +6 -6
  104. package/dist/gateway/server-methods/sessions.js +6 -6
  105. package/dist/gateway/server-methods/usage.js +2 -2
  106. package/dist/gateway/server.impl.js +3 -3
  107. package/dist/gateway/session-compaction-checkpoints.js +4 -4
  108. package/dist/gateway/session-utils.fs.js +24 -24
  109. package/dist/gateway/session-utils.js +6 -6
  110. package/dist/hooks/bundled-dir.js +4 -4
  111. package/dist/hooks/gmail-setup-utils.js +6 -6
  112. package/dist/hooks/import-url.js +2 -2
  113. package/dist/hooks/loader.js +4 -4
  114. package/dist/hooks/workspace.js +7 -7
  115. package/dist/infra/archive.js +17 -17
  116. package/dist/infra/boundary-file-read.js +2 -2
  117. package/dist/infra/boundary-path.js +15 -15
  118. package/dist/infra/brew.js +2 -2
  119. package/dist/infra/control-ui-assets.js +14 -14
  120. package/dist/infra/device-auth-store.js +8 -8
  121. package/dist/infra/device-identity.js +8 -8
  122. package/dist/infra/dotenv.js +2 -2
  123. package/dist/infra/exec-approvals.js +8 -8
  124. package/dist/infra/exec-command-resolution.js +4 -4
  125. package/dist/infra/exec-safe-bin-trust.js +2 -2
  126. package/dist/infra/fased-root.js +5 -5
  127. package/dist/infra/fs-safe.js +14 -14
  128. package/dist/infra/gateway-lock.js +11 -11
  129. package/dist/infra/git-commit.js +5 -5
  130. package/dist/infra/git-root.js +4 -4
  131. package/dist/infra/hosted-runtime-artifact.js +3 -3
  132. package/dist/infra/is-main.js +2 -2
  133. package/dist/infra/json-file.js +7 -7
  134. package/dist/infra/outbound/delivery-queue.js +16 -16
  135. package/dist/infra/path-env.js +3 -3
  136. package/dist/infra/ports-lsof.js +4 -4
  137. package/dist/infra/provider-usage.auth.js +3 -3
  138. package/dist/infra/safe-open-sync.js +2 -2
  139. package/dist/infra/session-cost-usage.js +9 -9
  140. package/dist/infra/shell-env.js +2 -2
  141. package/dist/infra/state-migrations.fs.js +6 -6
  142. package/dist/infra/state-migrations.js +23 -23
  143. package/dist/infra/tmp-fased-dir.js +6 -6
  144. package/dist/infra/widearea-dns.js +3 -3
  145. package/dist/infra/wsl.js +2 -2
  146. package/dist/light-update-status.js +1 -1
  147. package/dist/line/accounts.js +2 -2
  148. package/dist/line/download.js +2 -2
  149. package/dist/logging/config.js +3 -3
  150. package/dist/logging/logger.js +7 -7
  151. package/dist/managed/federation.js +3 -3
  152. package/dist/managed/tunnel.js +3 -3
  153. package/dist/media/store.js +13 -13
  154. package/dist/media-understanding/runner.js +3 -3
  155. package/dist/memory/embeddings.js +2 -2
  156. package/dist/memory/internal.js +10 -10
  157. package/dist/memory/inventory.js +25 -4
  158. package/dist/memory/manager-sync-ops.js +7 -7
  159. package/dist/memory/repair-executor.js +17 -17
  160. package/dist/mining/mainnet-sync.js +70 -26
  161. package/dist/node-host/invoke-system-run-plan.js +8 -8
  162. package/dist/node-host/invoke.js +2 -2
  163. package/dist/node-host/runner.js +3 -3
  164. package/dist/pairing/pairing-store.js +3 -3
  165. package/dist/plugin-sdk/{accounts-DzLdrOVC.js → accounts-DI5226U8.js} +1 -1
  166. package/dist/plugin-sdk/{actions-PhofTgnO.js → actions-CEj4gOU2.js} +2 -2
  167. package/dist/plugin-sdk/{active-listener-C8a74qPO.js → active-listener-Ss4UKXZb.js} +1 -1
  168. package/dist/plugin-sdk/{audio-preflight-CARAVcz-.js → audio-preflight-Cu4alGjb.js} +26 -26
  169. package/dist/plugin-sdk/{audit-ByK45Q1d.js → audit-BTskqjJ_.js} +1 -1
  170. package/dist/plugin-sdk/{channel-access-BEin0yA4.js → channel-access-B1KciKmw.js} +1 -1
  171. package/dist/plugin-sdk/{channel-access-configure-Di_DoR-Q.js → channel-access-configure-Y91FLOJc.js} +1 -1
  172. package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
  173. package/dist/plugin-sdk/channel-plugin-common.js +4 -4
  174. package/dist/plugin-sdk/{chunk-CwN3c1Fq.js → chunk-CSUjIQSx.js} +1 -1
  175. package/dist/plugin-sdk/{chunk-items-DH7ooQBZ.js → chunk-items-Q8HhMuSe.js} +1 -1
  176. package/dist/plugin-sdk/command-status.js +26 -26
  177. package/dist/plugin-sdk/{commands-registry-Bea-V_lR.js → commands-registry-DJ0pfCcY.js} +2 -2
  178. package/dist/plugin-sdk/{common-BJPuBxmx.js → common-Cjm8psuW.js} +1 -1
  179. package/dist/plugin-sdk/{config-BxOWD3gF.js → config-DutIeFge.js} +21 -3
  180. package/dist/plugin-sdk/{config-schema-ChJcPn7x.js → config-schema-Cg6PYSHR.js} +85 -64
  181. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  182. package/dist/plugin-sdk/discord.d.ts +4 -4
  183. package/dist/plugin-sdk/discord.js +19 -19
  184. package/dist/plugin-sdk/{handle-action-Bk-L2J84.js → handle-action-Dp2741iu.js} +13 -13
  185. package/dist/plugin-sdk/{helpers-0E444CR0.js → helpers-BCZ9d3fl.js} +1 -1
  186. package/dist/plugin-sdk/{image-ops-BYc-Ol7C.js → image-ops-B-QR_M9Z.js} +1 -1
  187. package/dist/plugin-sdk/index.d.ts +20 -20
  188. package/dist/plugin-sdk/index.js +28 -28
  189. package/dist/plugin-sdk/json-store.js +6 -6
  190. package/dist/plugin-sdk/{login-B_At7IVI.js → login-BFvQxf9o.js} +3 -3
  191. package/dist/plugin-sdk/{login-qr-BlSQ8QJF.js → login-qr-CERTe_nD.js} +3 -3
  192. package/dist/plugin-sdk/{manager-VNI6sxbG.js → manager-Dhq3SXpO.js} +2 -2
  193. package/dist/plugin-sdk/{markdown-tables-CpNefu6e.js → markdown-tables-B1Tx7c77.js} +1 -1
  194. package/dist/plugin-sdk/{media-QBCmvhBQ.js → media-BwsqooWC.js} +2 -2
  195. package/dist/plugin-sdk/{monitor-C9UczH5N.js → monitor-BYzN5Qr4.js} +31 -31
  196. package/dist/plugin-sdk/{monitor-BhHlerHI.js → monitor-CJiacqtR.js} +30 -30
  197. package/dist/plugin-sdk/{openresponses-http-CtuFHD5w.js → openresponses-http-VLSSqCZZ.js} +26 -26
  198. package/dist/plugin-sdk/{optional-runtime-dependency-BaVO1F3i.js → optional-runtime-dependency-BEBP4VFJ.js} +1 -1
  199. package/dist/plugin-sdk/{outbound-CWrcAWpE.js → outbound-BqWgaC5M.js} +6 -6
  200. package/dist/plugin-sdk/{outbound-attachment-Dhi2Q-_f.js → outbound-attachment-L1q40kiu.js} +2 -2
  201. package/dist/plugin-sdk/{pairing-message-D01_6FkJ.js → pairing-message-CZBahREg.js} +1 -1
  202. package/dist/plugin-sdk/{pairing-message-6XVXW554.d.ts → pairing-message-DWXHX-jt.d.ts} +1 -1
  203. package/dist/plugin-sdk/{pairing-store-DADXOv-J.js → pairing-store-D7I1Qmiw.js} +2 -2
  204. package/dist/plugin-sdk/{pi-model-discovery-D9-CQFS2.js → pi-model-discovery-C5klknQZ.js} +1 -1
  205. package/dist/plugin-sdk/{pi-model-discovery-runtime-DhNNXQgq.js → pi-model-discovery-runtime-DIEMhCZ5.js} +2 -2
  206. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +1 -1
  207. package/dist/plugin-sdk/{pw-ai-CQG7vp-Y.js → pw-ai-Bv-q25gY.js} +3 -3
  208. package/dist/plugin-sdk/{replies-C_FeIOF4.js → replies-Bd9ktEkq.js} +2 -2
  209. package/dist/plugin-sdk/{resolve-outbound-target-DD8edEdz.js → resolve-outbound-target-CCIyBb5H.js} +1 -1
  210. package/dist/plugin-sdk/{resolve-route-BPkfG5Pg.js → resolve-route-B7vZ3nKp.js} +1 -1
  211. package/dist/plugin-sdk/{retry-policy-C0YsRX_6.js → retry-policy-ChC3G4lv.js} +1 -1
  212. package/dist/plugin-sdk/{runtime-CyTWeylK.js → runtime-BLknHFGz.js} +3 -3
  213. package/dist/plugin-sdk/{runtime-dependency-D6tYtvtU.js → runtime-dependency-C5rJfC0u.js} +2 -2
  214. package/dist/plugin-sdk/sat-runtime.d.ts +3 -2
  215. package/dist/plugin-sdk/sat-runtime.js +5 -5
  216. package/dist/plugin-sdk/{send-CNxLDNQ9.js → send-Bd3Z-jAd.js} +6 -6
  217. package/dist/plugin-sdk/{send-Qckp3h4k.js → send-Bmtz9ICm.js} +8 -8
  218. package/dist/plugin-sdk/{send-BedQ8ekw.js → send-CMoWt-EX.js} +7 -7
  219. package/dist/plugin-sdk/{send-FcEJfLTd.js → send-CUGEhiUa.js} +6 -6
  220. package/dist/plugin-sdk/{send-BtFuV6zU.js → send-mkyZzhCO.js} +5 -5
  221. package/dist/plugin-sdk/{session-C3Ul4abD.js → session-D2zmelOL.js} +2 -2
  222. package/dist/plugin-sdk/{skill-commands-C2CnUTPX.js → skill-commands-BybEjJ1_.js} +2 -2
  223. package/dist/plugin-sdk/{slack-bSeSOI9d.js → slack-DogXvGG3.js} +38 -38
  224. package/dist/plugin-sdk/{slack-actions-CLyEd8FK.js → slack-actions-uXb55QWW.js} +11 -11
  225. package/dist/plugin-sdk/slack.d.ts +4 -4
  226. package/dist/plugin-sdk/slack.js +9 -9
  227. package/dist/plugin-sdk/{sticker-cache-DBnS3hHh.js → sticker-cache-BuPw7fTf.js} +3 -3
  228. package/dist/plugin-sdk/{tables-L5mXZ5y_.js → tables-CVDOT5dX.js} +1 -1
  229. package/dist/plugin-sdk/{targets-eG595pY0.js → targets-DskkhJAp.js} +1 -1
  230. package/dist/plugin-sdk/{telegram-actions-D0Kyqy_e.js → telegram-actions-_KQPbjpI.js} +29 -29
  231. package/dist/plugin-sdk/telegram.d.ts +4 -4
  232. package/dist/plugin-sdk/telegram.js +8 -8
  233. package/dist/plugin-sdk/{thread-bindings.lifecycle-C_5BEWmL.js → thread-bindings.lifecycle-CrhQXYEU.js} +3 -3
  234. package/dist/plugin-sdk/{thread-bindings.state-DRZAbcUu.js → thread-bindings.state-ssxdG7xV.js} +2 -2
  235. package/dist/plugin-sdk/{tmp-fased-dir-BpMLNd4L.d.ts → tmp-fased-dir-Be1wBhVz.d.ts} +1 -1
  236. package/dist/plugin-sdk/{types-0CsXVmg8.d.ts → types-CJGVZX6j.d.ts} +1 -1
  237. package/dist/plugin-sdk/{types-DMLEeE52.d.ts → types-CXLEOrJX.d.ts} +1 -1
  238. package/dist/plugin-sdk/{wallet-status-2yrXvqSS.js → wallet-status-CQI89c_6.js} +70 -28
  239. package/dist/plugin-sdk/{web-CSRe4zy2.js → web-C8DwA0eO.js} +31 -31
  240. package/dist/plugin-sdk/{whatsapp-actions-CkLkpg8M.js → whatsapp-actions-DfvM-mlZ.js} +13 -13
  241. package/dist/plugin-sdk/{whatsapp-heartbeat-DuAE9_88.js → whatsapp-heartbeat-DyJasLDB.js} +2 -2
  242. package/dist/plugin-sdk/whatsapp.d.ts +13 -13
  243. package/dist/plugin-sdk/whatsapp.js +12 -12
  244. package/dist/plugin-sdk/{wsl-CXVwPntb.js → wsl-JwmI6Zu8.js} +3 -3
  245. package/dist/plugin-sdk/{zod-schema.providers-core-FaYR6KdD.d.ts → zod-schema.providers-core-BE_5DNhj.d.ts} +80 -80
  246. package/dist/plugins/bundled-dir.js +3 -3
  247. package/dist/plugins/discovery.js +11 -11
  248. package/dist/plugins/loader.js +13 -13
  249. package/dist/plugins/manifest-registry.js +2 -2
  250. package/dist/plugins/manifest.js +4 -4
  251. package/dist/plugins/path-safety.js +3 -3
  252. package/dist/plugins/status-cache.js +9 -9
  253. package/dist/plugins/update.js +3 -3
  254. package/dist/plugins/web-search-install-catalog.js +3 -3
  255. package/dist/secrets/apply.js +16 -16
  256. package/dist/secrets/audit.js +11 -11
  257. package/dist/secrets/shared.js +9 -9
  258. package/dist/security/scan-paths.js +2 -2
  259. package/dist/shared/config-eval.js +2 -2
  260. package/dist/shared/pid-alive.js +2 -2
  261. package/dist/tasks/standing-orders.js +5 -5
  262. package/dist/tasks/task-flow-registry.js +5 -5
  263. package/dist/tasks/task-registry.js +5 -5
  264. package/dist/tasks/workflow-definitions.js +6 -6
  265. package/dist/telegram/token.js +5 -5
  266. package/dist/utils.js +5 -5
  267. package/dist/wallet/local-socket-signer-broker.js +16 -16
  268. package/dist/wallet/providers/embedded-keystore-adapter.js +5 -5
  269. package/dist/wallet/providers/local-socket-signer-adapter.js +2 -2
  270. package/dist/wallet/wallet-approval-auth.js +5 -5
  271. package/dist/wallet/wallet-audit-log.js +5 -5
  272. package/dist/wallet/wallet-custody.js +21 -21
  273. package/dist/wallet/wallet-inbound-events.js +5 -5
  274. package/dist/wallet/wallet-observability.js +5 -5
  275. package/dist/wallet/wallet-policy.js +9 -9
  276. package/dist/wallet/wallet-provider-registry.js +7 -7
  277. package/dist/wallet/wallet-runtime-config.js +3 -3
  278. package/dist/wallet/wallet-secrets-store.js +22 -22
  279. package/dist/wallet/wallet-send-approvals.js +5 -5
  280. package/dist/wallet/wallet-settlement-links.js +5 -5
  281. package/dist/web/accounts.js +3 -3
  282. package/dist/web/auth-store.js +18 -18
  283. package/dist/web/session.js +4 -4
  284. package/dist/wizard/host-security-capability.js +2 -2
  285. package/dist/wizard/onboarding.host-security.js +7 -7
  286. package/dist/wizard/onboarding.js +7 -7
  287. package/dist/wizard/onboarding.wallet.js +44 -44
  288. package/extensions/acpx/package.json +1 -1
  289. package/extensions/bluebubbles/package.json +1 -1
  290. package/extensions/copilot-proxy/package.json +1 -1
  291. package/extensions/diagnostics-otel/package.json +1 -1
  292. package/extensions/fased-federation/package.json +1 -1
  293. package/extensions/google-gemini-cli-auth/package.json +1 -1
  294. package/extensions/imessage/package.json +1 -1
  295. package/extensions/irc/package.json +1 -1
  296. package/extensions/line/package.json +1 -1
  297. package/extensions/llm-task/package.json +1 -1
  298. package/extensions/lobster/package.json +1 -1
  299. package/extensions/matrix/CHANGELOG.md +6 -0
  300. package/extensions/matrix/package.json +1 -1
  301. package/extensions/mattermost/package.json +1 -1
  302. package/extensions/memory-core/package.json +2 -2
  303. package/extensions/memory-lancedb/package.json +1 -1
  304. package/extensions/minimax-portal-auth/package.json +1 -1
  305. package/extensions/msteams/CHANGELOG.md +6 -0
  306. package/extensions/msteams/package.json +1 -1
  307. package/extensions/nextcloud-talk/package.json +1 -1
  308. package/extensions/nostr/CHANGELOG.md +6 -0
  309. package/extensions/nostr/package.json +1 -1
  310. package/extensions/open-prose/package.json +1 -1
  311. package/extensions/sat-mining/index.ts +1 -1
  312. package/extensions/sat-mining/package.json +1 -1
  313. package/extensions/sat-mining/src/protocol-contract.ts +64 -0
  314. package/extensions/sat-mining/src/round-watcher.ts +6 -4
  315. package/extensions/sat-mining/src/solana-submit.ts +7 -53
  316. package/extensions/signal/package.json +1 -1
  317. package/extensions/synology-chat/package.json +1 -1
  318. package/extensions/tlon/package.json +1 -1
  319. package/extensions/twitch/CHANGELOG.md +6 -0
  320. package/extensions/twitch/package.json +1 -1
  321. package/extensions/voice-call/CHANGELOG.md +6 -0
  322. package/extensions/voice-call/package.json +1 -1
  323. package/extensions/zalo/CHANGELOG.md +6 -0
  324. package/extensions/zalo/package.json +1 -1
  325. package/extensions/zalouser/CHANGELOG.md +6 -0
  326. package/extensions/zalouser/package.json +1 -1
  327. package/package.json +1 -1
@@ -6,20 +6,43 @@ import { createHash, createPublicKey, verify } from "node:crypto";
6
6
  //#region src/mining/mainnet-sync.ts
7
7
  const DEFAULT_MANIFEST_URL = "https://satcoin.app/.well-known/sat-mainnet-addresses.json";
8
8
  const DEFAULT_TIMEOUT_MS = 12e3;
9
- const EMBEDDED_TRUSTED_KEYS = [];
9
+ const EMBEDDED_TRUSTED_KEYS = [{
10
+ id: "sat-mainnet-2026-01",
11
+ publicKeyBase64Url: "F-Kv6SBcZHvs1LQ0LNHwYQ6VuKidpkv1nkgRqggn1kk",
12
+ fingerprintSha256: "7fc6f335e13fbba3cee2f833e4ab656a19fd8c0715b9d9097a3e196f0e3a0ebd"
13
+ }];
14
+ for (const key of EMBEDDED_TRUSTED_KEYS) {
15
+ const publicKeyBytes = Buffer.from(key.publicKeyBase64Url, "base64url");
16
+ const fingerprint = createHash("sha256").update(publicKeyBytes).digest("hex");
17
+ if (publicKeyBytes.length !== 32 || fingerprint !== key.fingerprintSha256) {
18
+ throw new Error(`Invalid embedded SAT mainnet manifest key: ${key.id}`);
19
+ }
20
+ }
10
21
  function trustedKeysFromEnv(env) {
11
22
  const raw = String(env.FASED_SAT_MAINNET_MANIFEST_PUBLIC_KEY ?? "").trim();
12
- if (!raw) {
13
- return [];
14
- }
15
23
  const id = String(env.FASED_SAT_MAINNET_MANIFEST_PUBLIC_KEY_ID ?? "env").trim() || "env";
16
- return [{
24
+ const rotated = String(env.FASED_SAT_MAINNET_MANIFEST_PUBLIC_KEYS ?? "").split(",").map((entry) => entry.trim()).filter(Boolean).map((publicKeyBase64Url, index) => ({
25
+ id: `${id}-${index + 1}`,
26
+ publicKeyBase64Url,
27
+ source: "environment"
28
+ }));
29
+ return [...raw ? [{
17
30
  id,
18
- publicKeyBase64Url: raw
19
- }];
31
+ publicKeyBase64Url: raw,
32
+ source: "environment"
33
+ }] : [], ...rotated];
20
34
  }
21
35
  function resolveTrustedKeys(env) {
22
- return [...EMBEDDED_TRUSTED_KEYS, ...trustedKeysFromEnv(env)];
36
+ return [...EMBEDDED_TRUSTED_KEYS.map((key) => ({
37
+ ...key,
38
+ source: "embedded"
39
+ })), ...trustedKeysFromEnv(env)];
40
+ }
41
+ function resolveConfiguredTrustKeySource(env) {
42
+ if (EMBEDDED_TRUSTED_KEYS.length > 0) {
43
+ return "embedded";
44
+ }
45
+ return trustedKeysFromEnv(env).length > 0 ? "environment" : "missing";
23
46
  }
24
47
  function resolveManifestUrl(env) {
25
48
  return String(env.FASED_SAT_MAINNET_MANIFEST_URL ?? "").trim() || DEFAULT_MANIFEST_URL;
@@ -87,47 +110,64 @@ function verifyDetachedEd25519Signature(params) {
87
110
  }
88
111
  });
89
112
  if (verify(null, Buffer.from(params.payload), publicKey, signature)) {
90
- return true;
113
+ return trustedKey;
91
114
  }
92
115
  } catch {}
93
116
  }
94
- return false;
117
+ return null;
95
118
  }
96
119
  async function verifyLiveManifest(params) {
120
+ const configuredTrustKeySource = resolveConfiguredTrustKeySource(params.env);
97
121
  const expectedHash = parseSha256(await fetchText(`${params.manifestUrl}.sha256`, { required: false }).catch(() => null));
98
122
  if (!expectedHash) {
99
123
  return {
100
- hash: "missing",
101
- signature: "missing"
124
+ verification: {
125
+ hash: "missing",
126
+ signature: "missing"
127
+ },
128
+ trustKeySource: configuredTrustKeySource
102
129
  };
103
130
  }
104
131
  if (sha256Hex(params.raw) !== expectedHash) {
105
132
  return {
106
- hash: "invalid",
107
- signature: "missing"
133
+ verification: {
134
+ hash: "invalid",
135
+ signature: "missing"
136
+ },
137
+ trustKeySource: configuredTrustKeySource
108
138
  };
109
139
  }
110
140
  const signature = await fetchText(`${params.manifestUrl}.sig`, { required: false }).catch(() => null);
111
141
  if (!signature?.trim()) {
112
142
  return {
113
- hash: "valid",
114
- signature: "missing"
143
+ verification: {
144
+ hash: "valid",
145
+ signature: "missing"
146
+ },
147
+ trustKeySource: configuredTrustKeySource
115
148
  };
116
149
  }
117
150
  const trustedKeys = resolveTrustedKeys(params.env);
118
- if (!trustedKeys.length || !verifyDetachedEd25519Signature({
151
+ const verifiedKey = verifyDetachedEd25519Signature({
119
152
  payload: params.raw,
120
153
  signatureBase64: signature.trim(),
121
154
  trustedKeys
122
- })) {
155
+ });
156
+ if (!verifiedKey) {
123
157
  return {
124
- hash: "valid",
125
- signature: "invalid"
158
+ verification: {
159
+ hash: "valid",
160
+ signature: "invalid"
161
+ },
162
+ trustKeySource: configuredTrustKeySource
126
163
  };
127
164
  }
128
165
  return {
129
- hash: "valid",
130
- signature: "valid"
166
+ verification: {
167
+ hash: "valid",
168
+ signature: "valid"
169
+ },
170
+ trustKeySource: verifiedKey.source
131
171
  };
132
172
  }
133
173
  function readLocalIds(env) {
@@ -191,18 +231,20 @@ async function getSatMainnetSyncStatus(opts) {
191
231
  verification: {
192
232
  hash: "not_required",
193
233
  signature: "not_required"
194
- }
234
+ },
235
+ trustKeySource: "not_required"
195
236
  };
196
237
  }
197
238
  const officialIds = readOfficialIds(manifest);
198
239
  if (!officialIds) {
199
240
  throw new Error("live manifest is missing the complete SAT runtime id tuple");
200
241
  }
201
- const verification = await verifyLiveManifest({
242
+ const verifiedManifest = await verifyLiveManifest({
202
243
  manifestUrl,
203
244
  raw,
204
245
  env
205
246
  });
247
+ const { verification, trustKeySource } = verifiedManifest;
206
248
  const localIds = readLocalIds(env);
207
249
  if (verification.hash !== "valid" || verification.signature !== "valid") {
208
250
  return {
@@ -218,7 +260,8 @@ async function getSatMainnetSyncStatus(opts) {
218
260
  officialIds,
219
261
  needsSync: false,
220
262
  verification,
221
- error: "Signed manifest verification failed."
263
+ trustKeySource,
264
+ error: trustKeySource === "missing" ? "This Fased release has no trusted SAT mainnet manifest key. Update Fased before syncing or mining." : "Signed manifest verification failed."
222
265
  };
223
266
  }
224
267
  const synced = idsEqual(localIds, officialIds);
@@ -235,7 +278,8 @@ async function getSatMainnetSyncStatus(opts) {
235
278
  officialIds,
236
279
  needsSync: !synced,
237
280
  runtimeFile: resolveWritableSatRuntimeDefaultsFile(env),
238
- verification
281
+ verification,
282
+ trustKeySource
239
283
  };
240
284
  } catch (error) {
241
285
  return {
@@ -1,6 +1,6 @@
1
1
  import { sameFileIdentity } from "../infra/file-identity.js";
2
2
  import { resolveSystemRunCommand } from "../infra/system-run-command.js";
3
- import syncFs from "node:fs";
3
+ import fs from "node:fs";
4
4
  import path from "node:path";
5
5
 
6
6
  //#region src/node-host/invoke-system-run-plan.ts
@@ -41,7 +41,7 @@ function pathComponentsFromRootSync(targetPath) {
41
41
  }
42
42
  function isWritableByCurrentProcessSync(candidate) {
43
43
  try {
44
- syncFs.accessSync(candidate, syncFs.constants.W_OK);
44
+ fs.accessSync(candidate, fs.constants.W_OK);
45
45
  return true;
46
46
  } catch {
47
47
  return false;
@@ -50,7 +50,7 @@ function isWritableByCurrentProcessSync(candidate) {
50
50
  function hasMutableSymlinkPathComponentSync(targetPath) {
51
51
  for (const component of pathComponentsFromRootSync(targetPath)) {
52
52
  try {
53
- if (!syncFs.lstatSync(component).isSymbolicLink()) {
53
+ if (!fs.lstatSync(component).isSymbolicLink()) {
54
54
  continue;
55
55
  }
56
56
  const parentDir = path.dirname(component);
@@ -79,10 +79,10 @@ function hardenApprovedExecutionPaths(params) {
79
79
  let cwdReal;
80
80
  let cwdRealStat;
81
81
  try {
82
- cwdLstat = syncFs.lstatSync(requestedCwd);
83
- cwdStat = syncFs.statSync(requestedCwd);
84
- cwdReal = syncFs.realpathSync(requestedCwd);
85
- cwdRealStat = syncFs.statSync(cwdReal);
82
+ cwdLstat = fs.lstatSync(requestedCwd);
83
+ cwdStat = fs.statSync(requestedCwd);
84
+ cwdReal = fs.realpathSync(requestedCwd);
85
+ cwdRealStat = fs.statSync(cwdReal);
86
86
  } catch {
87
87
  return {
88
88
  ok: false,
@@ -134,7 +134,7 @@ function hardenApprovedExecutionPaths(params) {
134
134
  const base = hardenedCwd ?? process.cwd();
135
135
  const candidate = path.isAbsolute(rawExecutable) ? rawExecutable : path.resolve(base, rawExecutable);
136
136
  try {
137
- argv[0] = syncFs.realpathSync(candidate);
137
+ argv[0] = fs.realpathSync(candidate);
138
138
  } catch {
139
139
  return {
140
140
  ok: false,
@@ -4,7 +4,7 @@ import { requestExecHostViaSocket } from "../infra/exec-host.js";
4
4
  import { runBrowserProxyCommand } from "./invoke-browser.js";
5
5
  import { buildSystemRunApprovalPlanV2 } from "./invoke-system-run-plan.js";
6
6
  import { handleSystemRunInvoke } from "./invoke-system-run.js";
7
- import syncFs from "node:fs";
7
+ import fs from "node:fs";
8
8
  import path from "node:path";
9
9
  import { spawn } from "node:child_process";
10
10
 
@@ -154,7 +154,7 @@ function resolveExecutable(bin, env) {
154
154
  for (const dir of resolveEnvPath(env)) {
155
155
  for (const ext of extensions) {
156
156
  const candidate = path.join(dir, bin + ext);
157
- if (syncFs.existsSync(candidate)) {
157
+ if (fs.existsSync(candidate)) {
158
158
  return candidate;
159
159
  }
160
160
  }
@@ -11,19 +11,19 @@ import { NODE_BROWSER_PROXY_COMMAND, NODE_EXEC_APPROVALS_COMMANDS, NODE_SYSTEM_R
11
11
  import { ensureFasedAgentCliOnPath } from "../infra/path-env.js";
12
12
  import { ensureNodeHostConfig, saveNodeHostConfig } from "./config.js";
13
13
  import { buildNodeInvokeResultParams, coerceNodeInvokePayload, handleInvoke } from "./invoke.js";
14
- import syncFs from "node:fs";
14
+ import fs from "node:fs";
15
15
  import path from "node:path";
16
16
 
17
17
  //#region src/node-host/runner.ts
18
18
  const DEFAULT_NODE_PATH = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin";
19
19
  function isExecutableFile(filePath) {
20
20
  try {
21
- const stat = syncFs.statSync(filePath);
21
+ const stat = fs.statSync(filePath);
22
22
  if (!stat.isFile()) {
23
23
  return false;
24
24
  }
25
25
  if (process.platform !== "win32") {
26
- syncFs.accessSync(filePath, syncFs.constants.X_OK);
26
+ fs.accessSync(filePath, fs.constants.X_OK);
27
27
  }
28
28
  return true;
29
29
  } catch {
@@ -6,7 +6,7 @@ import { withFileLock as withFileLock$1 } from "../plugin-sdk/file-lock.js";
6
6
  import "../infra/file-lock.js";
7
7
  import { getPairingAdapter } from "../channels/plugins/pairing.js";
8
8
  import { readJsonFileWithFallback, writeJsonFileAtomically } from "../plugin-sdk/json-store.js";
9
- import syncFs from "node:fs";
9
+ import fs from "node:fs";
10
10
  import os from "node:os";
11
11
  import path from "node:path";
12
12
  import crypto from "node:crypto";
@@ -82,7 +82,7 @@ async function readPrunedPairingRequests(filePath) {
82
82
  }
83
83
  async function ensureJsonFile(filePath, fallback) {
84
84
  try {
85
- await syncFs.promises.access(filePath);
85
+ await fs.promises.access(filePath);
86
86
  } catch {
87
87
  await writeJsonFile(filePath, fallback);
88
88
  }
@@ -225,7 +225,7 @@ function readAllowFromStateForPathSync(channel, filePath) {
225
225
  function readAllowFromStateForPathSyncWithExists(channel, filePath) {
226
226
  let raw = "";
227
227
  try {
228
- raw = syncFs.readFileSync(filePath, "utf8");
228
+ raw = fs.readFileSync(filePath, "utf8");
229
229
  } catch (err) {
230
230
  const code = err.code;
231
231
  if (code === "ENOENT") {
@@ -2,7 +2,7 @@ import { i as defaultRuntime } from "./subsystem-DBPNbQDQ.js";
2
2
  import { c as success, n as info, p as getChildLogger } from "./globals-B_jjtAje.js";
3
3
  import { a as resolveOAuthDir, c as expandHomePrefix, u as resolveRequiredHomeDir } from "./paths-BEmvSyOV.js";
4
4
  import { h as resolveUserPath } from "./utils-CYk9EKoq.js";
5
- import { Cr as formatCliCommand } from "./config-BxOWD3gF.js";
5
+ import { Cr as formatCliCommand } from "./config-DutIeFge.js";
6
6
  import { n as resolveAccountEntry, t as createAccountListHelpers } from "./account-helpers-Bdfws46K.js";
7
7
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-HSJ2KQTc.js";
8
8
  import path from "node:path";
@@ -1,8 +1,8 @@
1
1
  import { i as logVerbose } from "./globals-B_jjtAje.js";
2
- import { n as loadConfig } from "./config-BxOWD3gF.js";
2
+ import { n as loadConfig } from "./config-DutIeFge.js";
3
3
  import { i as resolveSlackAccount, s as resolveSlackBotToken } from "./accounts-CuqIKU8X.js";
4
4
  import { n as validateSlackBlocksArray } from "./blocks-input-Dcitfh7h.js";
5
- import { i as buildSlackBlocksFallbackText, t as sendMessageSlack } from "./send-BtFuV6zU.js";
5
+ import { i as buildSlackBlocksFallbackText, t as sendMessageSlack } from "./send-mkyZzhCO.js";
6
6
  import { n as createSlackWebClient } from "./client-D2N7hqVu.js";
7
7
 
8
8
  //#region src/slack/actions.ts
@@ -1,4 +1,4 @@
1
- import { Cr as formatCliCommand } from "./config-BxOWD3gF.js";
1
+ import { Cr as formatCliCommand } from "./config-DutIeFge.js";
2
2
  import { f as DEFAULT_ACCOUNT_ID } from "./session-key-HSJ2KQTc.js";
3
3
 
4
4
  //#region src/web/active-listener.ts
@@ -1,16 +1,16 @@
1
- import { Gt as createMediaAttachmentCache, Jt as resolveMediaAttachmentLocalRoots, Kt as normalizeMediaAttachments, Wt as buildProviderRegistry, Xt as isAudioAttachment, Yt as runCapability } from "./config-schema-ChJcPn7x.js";
2
- import "./runtime-CyTWeylK.js";
1
+ import { Gt as createMediaAttachmentCache, Jt as resolveMediaAttachmentLocalRoots, Kt as normalizeMediaAttachments, Wt as buildProviderRegistry, Xt as isAudioAttachment, Yt as runCapability } from "./config-schema-Cg6PYSHR.js";
2
+ import "./runtime-BLknHFGz.js";
3
3
  import "./subsystem-DBPNbQDQ.js";
4
4
  import { i as logVerbose, s as shouldLogVerbose } from "./globals-B_jjtAje.js";
5
5
  import "./paths-BEmvSyOV.js";
6
6
  import "./utils-CYk9EKoq.js";
7
- import "./config-BxOWD3gF.js";
7
+ import "./config-DutIeFge.js";
8
8
  import "./agent-scope-BbgPlhtw.js";
9
9
  import "./accounts-RHZyaB73.js";
10
10
  import "./accounts-CuqIKU8X.js";
11
11
  import "./logger-BbFvCoKk.js";
12
12
  import "./exec-DQ8j4Fm3.js";
13
- import "./accounts-DzLdrOVC.js";
13
+ import "./accounts-DI5226U8.js";
14
14
  import "./allow-list-BYeKk0Sy.js";
15
15
  import "./redact-Bm8vu_ju.js";
16
16
  import "./github-copilot-token-CUK__1s1.js";
@@ -19,11 +19,11 @@ import "./paths-CTZ2RS_E.js";
19
19
  import "./ip-C70a-YlD.js";
20
20
  import "./ssrf-BZG8Ztod.js";
21
21
  import "./fetch-guard-BuYrl6q2.js";
22
- import "./send-FcEJfLTd.js";
23
- import "./helpers-0E444CR0.js";
24
- import "./wsl-CXVwPntb.js";
25
- import "./pairing-store-DADXOv-J.js";
26
- import "./chunk-CwN3c1Fq.js";
22
+ import "./send-CUGEhiUa.js";
23
+ import "./helpers-BCZ9d3fl.js";
24
+ import "./wsl-JwmI6Zu8.js";
25
+ import "./pairing-store-D7I1Qmiw.js";
26
+ import "./chunk-CSUjIQSx.js";
27
27
  import "./tailscale-status-ClsquRGs.js";
28
28
  import "./reply-prefix-Bqzm6DC1.js";
29
29
  import "./tokens-BvtlOzVP.js";
@@ -31,32 +31,32 @@ import "./device-pairing-D2Yq-_U6.js";
31
31
  import "./pairing-token-N_6Jbt1L.js";
32
32
  import "./diagnostic-Dfn1iERm.js";
33
33
  import "./diagnostic-session-state-HO94DMou.js";
34
- import "./optional-runtime-dependency-BaVO1F3i.js";
35
- import "./image-ops-BYc-Ol7C.js";
36
- import "./wallet-status-2yrXvqSS.js";
37
- import "./pi-model-discovery-D9-CQFS2.js";
38
- import "./runtime-dependency-D6tYtvtU.js";
34
+ import "./optional-runtime-dependency-BEBP4VFJ.js";
35
+ import "./image-ops-B-QR_M9Z.js";
36
+ import "./wallet-status-CQI89c_6.js";
37
+ import "./pi-model-discovery-C5klknQZ.js";
38
+ import "./runtime-dependency-C5rJfC0u.js";
39
39
  import "./ws-CocpWGhl.js";
40
40
  import "./path-alias-guards-Dg3gU-MA.js";
41
41
  import "./fs-safe-BG-VzVkL.js";
42
- import "./markdown-tables-CpNefu6e.js";
43
- import "./media-QBCmvhBQ.js";
44
- import "./send-CNxLDNQ9.js";
45
- import "./outbound-attachment-Dhi2Q-_f.js";
42
+ import "./markdown-tables-B1Tx7c77.js";
43
+ import "./media-BwsqooWC.js";
44
+ import "./send-Bd3Z-jAd.js";
45
+ import "./outbound-attachment-L1q40kiu.js";
46
46
  import "./fetch-Cu-ahkie.js";
47
- import "./thread-bindings.state-DRZAbcUu.js";
47
+ import "./thread-bindings.state-ssxdG7xV.js";
48
48
  import "./memory-search-C3C0bD2H.js";
49
- import "./manager-VNI6sxbG.js";
49
+ import "./manager-Dhq3SXpO.js";
50
50
  import "./query-expansion-Zr9qQixm.js";
51
- import "./common-BJPuBxmx.js";
52
- import "./commands-registry-Bea-V_lR.js";
53
- import "./skill-commands-C2CnUTPX.js";
51
+ import "./common-Cjm8psuW.js";
52
+ import "./commands-registry-DJ0pfCcY.js";
53
+ import "./skill-commands-BybEjJ1_.js";
54
54
  import "./directory-live-DatqU-eS.js";
55
- import "./targets-eG595pY0.js";
55
+ import "./targets-DskkhJAp.js";
56
56
  import "./sandbox-paths-lj7_EVuA.js";
57
- import "./resolve-route-BPkfG5Pg.js";
57
+ import "./resolve-route-B7vZ3nKp.js";
58
58
  import "./render-Bwu_WxwA.js";
59
- import "./tables-L5mXZ5y_.js";
59
+ import "./tables-CVDOT5dX.js";
60
60
  import "./shared-clhhbWN3.js";
61
61
 
62
62
  //#region src/media-understanding/audio-preflight.ts
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { c as isRecord } from "./utils-CYk9EKoq.js";
3
3
  import { a as resolveDiscordAccount } from "./accounts-RHZyaB73.js";
4
- import { $ as fetchChannelPermissionsDiscord } from "./send-Qckp3h4k.js";
4
+ import { $ as fetchChannelPermissionsDiscord } from "./send-Bmtz9ICm.js";
5
5
 
6
6
  //#region src/discord/audit.ts
7
7
  var audit_exports = /* @__PURE__ */ __exportAll({
@@ -1,4 +1,4 @@
1
- import { x as splitOnboardingEntries } from "./helpers-0E444CR0.js";
1
+ import { x as splitOnboardingEntries } from "./helpers-BCZ9d3fl.js";
2
2
 
3
3
  //#region src/channels/plugins/onboarding/channel-access.ts
4
4
  function parseAllowlistEntries(raw) {
@@ -1,4 +1,4 @@
1
- import { t as promptChannelAccessConfig } from "./channel-access-BEin0yA4.js";
1
+ import { t as promptChannelAccessConfig } from "./channel-access-B1KciKmw.js";
2
2
 
3
3
  //#region src/channels/plugins/onboarding/channel-access-configure.ts
4
4
  async function configureChannelAccessWithAllowlist(params) {
@@ -1,5 +1,5 @@
1
1
  import { n as DEFAULT_ACCOUNT_ID, r as normalizeAccountId } from "./session-key--_1zVBRB.js";
2
2
  import { Y as ChannelMessageActionContext, n as ChannelPlugin, ut as getChatChannelMeta } from "./types.plugin-CvUiB3Kh.js";
3
- import { _ as FasedAgentPluginApi, t as PluginRuntime } from "./types-DMLEeE52.js";
4
- import { a as buildChannelConfigSchema, c as emptyPluginConfigSchema, i as setAccountEnabledInConfigSection, n as formatPairingApproveHint, o as applyAccountNameToChannelSection, r as deleteAccountFromConfigSection, s as migrateBaseNameToDefaultAccount, t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-6XVXW554.js";
3
+ import { _ as FasedAgentPluginApi, t as PluginRuntime } from "./types-CXLEOrJX.js";
4
+ import { a as buildChannelConfigSchema, c as emptyPluginConfigSchema, i as setAccountEnabledInConfigSection, n as formatPairingApproveHint, o as applyAccountNameToChannelSection, r as deleteAccountFromConfigSection, s as migrateBaseNameToDefaultAccount, t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-DWXHX-jt.js";
5
5
  export { type ChannelMessageActionContext, type ChannelPlugin, DEFAULT_ACCOUNT_ID, type FasedAgentPluginApi, PAIRING_APPROVED_MESSAGE, type PluginRuntime, applyAccountNameToChannelSection, buildChannelConfigSchema, deleteAccountFromConfigSection, emptyPluginConfigSchema, formatPairingApproveHint, getChatChannelMeta, migrateBaseNameToDefaultAccount, normalizeAccountId, setAccountEnabledInConfigSection };
@@ -1,20 +1,20 @@
1
- import { Nn as getChatChannelMeta } from "./runtime-CyTWeylK.js";
1
+ import { Nn as getChatChannelMeta } from "./runtime-BLknHFGz.js";
2
2
  import "./subsystem-DBPNbQDQ.js";
3
3
  import "./globals-B_jjtAje.js";
4
4
  import "./paths-BEmvSyOV.js";
5
5
  import "./utils-CYk9EKoq.js";
6
- import "./config-BxOWD3gF.js";
6
+ import "./config-DutIeFge.js";
7
7
  import "./agent-scope-BbgPlhtw.js";
8
8
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-HSJ2KQTc.js";
9
9
  import "./accounts-RHZyaB73.js";
10
10
  import "./accounts-CuqIKU8X.js";
11
11
  import "./logger-BbFvCoKk.js";
12
12
  import "./exec-DQ8j4Fm3.js";
13
- import "./accounts-DzLdrOVC.js";
13
+ import "./accounts-DI5226U8.js";
14
14
  import "./redact-Bm8vu_ju.js";
15
15
  import "./github-copilot-token-CUK__1s1.js";
16
16
  import "./retry-DstNBhDW.js";
17
17
  import "./paths-CTZ2RS_E.js";
18
- import { a as deleteAccountFromConfigSection, c as formatPairingApproveHint, n as applyAccountNameToChannelSection, o as setAccountEnabledInConfigSection, r as migrateBaseNameToDefaultAccount, s as buildChannelConfigSchema, t as PAIRING_APPROVED_MESSAGE, u as emptyPluginConfigSchema } from "./pairing-message-D01_6FkJ.js";
18
+ import { a as deleteAccountFromConfigSection, c as formatPairingApproveHint, n as applyAccountNameToChannelSection, o as setAccountEnabledInConfigSection, r as migrateBaseNameToDefaultAccount, s as buildChannelConfigSchema, t as PAIRING_APPROVED_MESSAGE, u as emptyPluginConfigSchema } from "./pairing-message-CZBahREg.js";
19
19
 
20
20
  export { DEFAULT_ACCOUNT_ID, PAIRING_APPROVED_MESSAGE, applyAccountNameToChannelSection, buildChannelConfigSchema, deleteAccountFromConfigSection, emptyPluginConfigSchema, formatPairingApproveHint, getChatChannelMeta, migrateBaseNameToDefaultAccount, normalizeAccountId, setAccountEnabledInConfigSection };
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { xn as INTERNAL_MESSAGE_CHANNEL } from "./runtime-CyTWeylK.js";
2
+ import { xn as INTERNAL_MESSAGE_CHANNEL } from "./runtime-BLknHFGz.js";
3
3
  import { n as resolveAccountEntry } from "./account-helpers-Bdfws46K.js";
4
4
  import { p as normalizeAccountId } from "./session-key-HSJ2KQTc.js";
5
5
 
@@ -1,4 +1,4 @@
1
- import { It as wrapExternalContent } from "./config-schema-ChJcPn7x.js";
1
+ import { It as wrapExternalContent } from "./config-schema-Cg6PYSHR.js";
2
2
 
3
3
  //#region src/security/channel-metadata.ts
4
4
  const DEFAULT_MAX_CHARS = 800;
@@ -1,16 +1,16 @@
1
- import { Lt as buildCommandsMessage, Rt as buildCommandsMessagePaginated, zt as buildHelpMessage } from "./config-schema-ChJcPn7x.js";
2
- import "./runtime-CyTWeylK.js";
1
+ import { Lt as buildCommandsMessage, Rt as buildCommandsMessagePaginated, zt as buildHelpMessage } from "./config-schema-Cg6PYSHR.js";
2
+ import "./runtime-BLknHFGz.js";
3
3
  import "./subsystem-DBPNbQDQ.js";
4
4
  import "./globals-B_jjtAje.js";
5
5
  import "./paths-BEmvSyOV.js";
6
6
  import "./utils-CYk9EKoq.js";
7
- import "./config-BxOWD3gF.js";
7
+ import "./config-DutIeFge.js";
8
8
  import "./agent-scope-BbgPlhtw.js";
9
9
  import "./accounts-RHZyaB73.js";
10
10
  import "./accounts-CuqIKU8X.js";
11
11
  import "./logger-BbFvCoKk.js";
12
12
  import "./exec-DQ8j4Fm3.js";
13
- import "./accounts-DzLdrOVC.js";
13
+ import "./accounts-DI5226U8.js";
14
14
  import "./allow-list-BYeKk0Sy.js";
15
15
  import "./redact-Bm8vu_ju.js";
16
16
  import "./github-copilot-token-CUK__1s1.js";
@@ -19,11 +19,11 @@ import "./paths-CTZ2RS_E.js";
19
19
  import "./ip-C70a-YlD.js";
20
20
  import "./ssrf-BZG8Ztod.js";
21
21
  import "./fetch-guard-BuYrl6q2.js";
22
- import "./send-FcEJfLTd.js";
23
- import "./helpers-0E444CR0.js";
24
- import "./wsl-CXVwPntb.js";
25
- import "./pairing-store-DADXOv-J.js";
26
- import "./chunk-CwN3c1Fq.js";
22
+ import "./send-CUGEhiUa.js";
23
+ import "./helpers-BCZ9d3fl.js";
24
+ import "./wsl-JwmI6Zu8.js";
25
+ import "./pairing-store-D7I1Qmiw.js";
26
+ import "./chunk-CSUjIQSx.js";
27
27
  import "./tailscale-status-ClsquRGs.js";
28
28
  import "./reply-prefix-Bqzm6DC1.js";
29
29
  import "./tokens-BvtlOzVP.js";
@@ -31,32 +31,32 @@ import "./device-pairing-D2Yq-_U6.js";
31
31
  import "./pairing-token-N_6Jbt1L.js";
32
32
  import "./diagnostic-Dfn1iERm.js";
33
33
  import "./diagnostic-session-state-HO94DMou.js";
34
- import "./optional-runtime-dependency-BaVO1F3i.js";
35
- import "./image-ops-BYc-Ol7C.js";
36
- import "./wallet-status-2yrXvqSS.js";
37
- import "./pi-model-discovery-D9-CQFS2.js";
38
- import "./runtime-dependency-D6tYtvtU.js";
34
+ import "./optional-runtime-dependency-BEBP4VFJ.js";
35
+ import "./image-ops-B-QR_M9Z.js";
36
+ import "./wallet-status-CQI89c_6.js";
37
+ import "./pi-model-discovery-C5klknQZ.js";
38
+ import "./runtime-dependency-C5rJfC0u.js";
39
39
  import "./ws-CocpWGhl.js";
40
40
  import "./path-alias-guards-Dg3gU-MA.js";
41
41
  import "./fs-safe-BG-VzVkL.js";
42
- import "./markdown-tables-CpNefu6e.js";
43
- import "./media-QBCmvhBQ.js";
44
- import "./send-CNxLDNQ9.js";
45
- import "./outbound-attachment-Dhi2Q-_f.js";
42
+ import "./markdown-tables-B1Tx7c77.js";
43
+ import "./media-BwsqooWC.js";
44
+ import "./send-Bd3Z-jAd.js";
45
+ import "./outbound-attachment-L1q40kiu.js";
46
46
  import "./fetch-Cu-ahkie.js";
47
- import "./thread-bindings.state-DRZAbcUu.js";
47
+ import "./thread-bindings.state-ssxdG7xV.js";
48
48
  import "./memory-search-C3C0bD2H.js";
49
- import "./manager-VNI6sxbG.js";
49
+ import "./manager-Dhq3SXpO.js";
50
50
  import "./query-expansion-Zr9qQixm.js";
51
- import "./common-BJPuBxmx.js";
52
- import "./commands-registry-Bea-V_lR.js";
53
- import "./skill-commands-C2CnUTPX.js";
51
+ import "./common-Cjm8psuW.js";
52
+ import "./commands-registry-DJ0pfCcY.js";
53
+ import "./skill-commands-BybEjJ1_.js";
54
54
  import "./directory-live-DatqU-eS.js";
55
- import "./targets-eG595pY0.js";
55
+ import "./targets-DskkhJAp.js";
56
56
  import "./sandbox-paths-lj7_EVuA.js";
57
- import "./resolve-route-BPkfG5Pg.js";
57
+ import "./resolve-route-B7vZ3nKp.js";
58
58
  import "./render-Bwu_WxwA.js";
59
- import "./tables-L5mXZ5y_.js";
59
+ import "./tables-CVDOT5dX.js";
60
60
  import "./shared-clhhbWN3.js";
61
61
 
62
62
  export { buildCommandsMessage, buildCommandsMessagePaginated, buildHelpMessage };
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Ot as listChannelDocks, lt as normalizeChannelId, t as getActivePluginRegistry } from "./runtime-CyTWeylK.js";
2
+ import { Ot as listChannelDocks, lt as normalizeChannelId, t as getActivePluginRegistry } from "./runtime-BLknHFGz.js";
3
3
  import { C as isPlainObject, o as escapeRegExp } from "./utils-CYk9EKoq.js";
4
- import { Jt as resolveConfiguredModelRef, ar as DEFAULT_MODEL, er as listThinkingLevels, or as DEFAULT_PROVIDER } from "./config-BxOWD3gF.js";
4
+ import { Jt as resolveConfiguredModelRef, ar as DEFAULT_MODEL, er as listThinkingLevels, or as DEFAULT_PROVIDER } from "./config-DutIeFge.js";
5
5
 
6
6
  //#region src/config/commands.ts
7
7
  function resolveAutoDefault(providerId) {
@@ -1,5 +1,5 @@
1
1
  import { t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
2
- import { c as detectMime, i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-BYc-Ol7C.js";
2
+ import { c as detectMime, i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-B-QR_M9Z.js";
3
3
  import fs from "node:fs/promises";
4
4
 
5
5
  //#region src/media/base64.ts
@@ -11121,7 +11121,13 @@ const ANTHROPIC_MODELS = [
11121
11121
  reasoning: true,
11122
11122
  input: ["text", "image"],
11123
11123
  contextWindow: 1e6,
11124
- maxTokens: 128e3
11124
+ maxTokens: 128e3,
11125
+ cost: {
11126
+ input: 10,
11127
+ output: 50,
11128
+ cacheRead: 1,
11129
+ cacheWrite: 12.5
11130
+ }
11125
11131
  }),
11126
11132
  model({
11127
11133
  id: "claude-opus-4-8",
@@ -11129,7 +11135,13 @@ const ANTHROPIC_MODELS = [
11129
11135
  reasoning: true,
11130
11136
  input: ["text", "image"],
11131
11137
  contextWindow: 1e6,
11132
- maxTokens: 128e3
11138
+ maxTokens: 128e3,
11139
+ cost: {
11140
+ input: 5,
11141
+ output: 25,
11142
+ cacheRead: .5,
11143
+ cacheWrite: 6.25
11144
+ }
11133
11145
  }),
11134
11146
  model({
11135
11147
  id: "claude-sonnet-5",
@@ -11137,7 +11149,13 @@ const ANTHROPIC_MODELS = [
11137
11149
  reasoning: true,
11138
11150
  input: ["text", "image"],
11139
11151
  contextWindow: 1e6,
11140
- maxTokens: 128e3
11152
+ maxTokens: 128e3,
11153
+ cost: {
11154
+ input: 2,
11155
+ output: 10,
11156
+ cacheRead: .2,
11157
+ cacheWrite: 2.5
11158
+ }
11141
11159
  }),
11142
11160
  model({
11143
11161
  id: "claude-haiku-4-5",