@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
@@ -1,8 +1,8 @@
1
1
  import { isPidAlive } from "../shared/pid-alive.js";
2
2
  import { resolveProcessScopedMap } from "../shared/process-scoped-map.js";
3
- import syncFs from "node:fs";
3
+ import fs from "node:fs";
4
4
  import path from "node:path";
5
- import fs from "node:fs/promises";
5
+ import fs$1 from "node:fs/promises";
6
6
 
7
7
  //#region src/agents/session-write-lock.ts
8
8
  const CLEANUP_SIGNALS = [
@@ -84,7 +84,7 @@ async function releaseHeldLock(normalizedSessionFile, held, opts = {}) {
84
84
  await held.handle.close();
85
85
  } catch {}
86
86
  try {
87
- await fs.rm(held.lockPath, { force: true });
87
+ await fs$1.rm(held.lockPath, { force: true });
88
88
  } catch {}
89
89
  })();
90
90
  try {
@@ -106,7 +106,7 @@ function releaseAllLocksSync() {
106
106
  }
107
107
  } catch {}
108
108
  try {
109
- syncFs.rmSync(held.lockPath, { force: true });
109
+ fs.rmSync(held.lockPath, { force: true });
110
110
  } catch {}
111
111
  HELD_LOCKS.delete(sessionFile);
112
112
  }
@@ -175,7 +175,7 @@ function registerCleanupHandlers() {
175
175
  }
176
176
  async function readLockPayload(lockPath) {
177
177
  try {
178
- const raw = await fs.readFile(lockPath, "utf8");
178
+ const raw = await fs$1.readFile(lockPath, "utf8");
179
179
  const parsed = JSON.parse(raw);
180
180
  const payload = {};
181
181
  if (typeof parsed.pid === "number") {
@@ -226,7 +226,7 @@ async function shouldReclaimContendedLockFile(lockPath, details, staleMs, nowMs)
226
226
  return true;
227
227
  }
228
228
  try {
229
- const stat = await fs.stat(lockPath);
229
+ const stat = await fs$1.stat(lockPath);
230
230
  const ageMs = Math.max(0, nowMs - stat.mtimeMs);
231
231
  return ageMs > staleMs;
232
232
  } catch (error) {
@@ -241,7 +241,7 @@ async function cleanStaleLockFiles(params) {
241
241
  const nowMs = params.nowMs ?? Date.now();
242
242
  let entries = [];
243
243
  try {
244
- entries = await fs.readdir(sessionsDir, { withFileTypes: true });
244
+ entries = await fs$1.readdir(sessionsDir, { withFileTypes: true });
245
245
  } catch (err) {
246
246
  const code = err.code;
247
247
  if (code === "ENOENT") {
@@ -265,7 +265,7 @@ async function cleanStaleLockFiles(params) {
265
265
  removed: false
266
266
  };
267
267
  if (lockInfo.stale && removeStale) {
268
- await fs.rm(lockPath, { force: true });
268
+ await fs$1.rm(lockPath, { force: true });
269
269
  lockInfo.removed = true;
270
270
  cleaned.push(lockInfo);
271
271
  params.log?.warn?.(`removed stale session lock: ${lockPath} (${lockInfo.staleReasons.join(", ") || "unknown"})`);
@@ -284,10 +284,10 @@ async function acquireSessionWriteLock(params) {
284
284
  const maxHoldMs = resolvePositiveMs(params.maxHoldMs, DEFAULT_MAX_HOLD_MS);
285
285
  const sessionFile = path.resolve(params.sessionFile);
286
286
  const sessionDir = path.dirname(sessionFile);
287
- await fs.mkdir(sessionDir, { recursive: true });
287
+ await fs$1.mkdir(sessionDir, { recursive: true });
288
288
  let normalizedDir = sessionDir;
289
289
  try {
290
- normalizedDir = await fs.realpath(sessionDir);
290
+ normalizedDir = await fs$1.realpath(sessionDir);
291
291
  } catch {}
292
292
  const normalizedSessionFile = path.join(normalizedDir, path.basename(sessionFile));
293
293
  const lockPath = `${normalizedSessionFile}.lock`;
@@ -305,7 +305,7 @@ async function acquireSessionWriteLock(params) {
305
305
  attempt += 1;
306
306
  let handle = null;
307
307
  try {
308
- handle = await fs.open(lockPath, "wx");
308
+ handle = await fs$1.open(lockPath, "wx");
309
309
  const createdAt = new Date().toISOString();
310
310
  await handle.writeFile(JSON.stringify({
311
311
  pid: process.pid,
@@ -328,7 +328,7 @@ async function acquireSessionWriteLock(params) {
328
328
  await handle.close();
329
329
  } catch {}
330
330
  try {
331
- await fs.rm(lockPath, { force: true });
331
+ await fs$1.rm(lockPath, { force: true });
332
332
  } catch {}
333
333
  }
334
334
  const code = err.code;
@@ -339,7 +339,7 @@ async function acquireSessionWriteLock(params) {
339
339
  const nowMs = Date.now();
340
340
  const inspected = inspectLockPayload(payload, staleMs, nowMs);
341
341
  if (await shouldReclaimContendedLockFile(lockPath, inspected, staleMs, nowMs)) {
342
- await fs.rm(lockPath, { force: true });
342
+ await fs$1.rm(lockPath, { force: true });
343
343
  continue;
344
344
  }
345
345
  const delay = Math.min(1e3, 50 * attempt);
@@ -1,4 +1,4 @@
1
- import syncFs from "node:fs";
1
+ import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { spawn } from "node:child_process";
4
4
 
@@ -6,13 +6,13 @@ import { spawn } from "node:child_process";
6
6
  function resolvePowerShellPath() {
7
7
  const programFiles = process.env.ProgramFiles || process.env.PROGRAMFILES || "C:\\Program Files";
8
8
  const pwsh7 = path.join(programFiles, "PowerShell", "7", "pwsh.exe");
9
- if (syncFs.existsSync(pwsh7)) {
9
+ if (fs.existsSync(pwsh7)) {
10
10
  return pwsh7;
11
11
  }
12
12
  const programW6432 = process.env.ProgramW6432;
13
13
  if (programW6432 && programW6432 !== programFiles) {
14
14
  const pwsh7Alt = path.join(programW6432, "PowerShell", "7", "pwsh.exe");
15
- if (syncFs.existsSync(pwsh7Alt)) {
15
+ if (fs.existsSync(pwsh7Alt)) {
16
16
  return pwsh7Alt;
17
17
  }
18
18
  }
@@ -23,7 +23,7 @@ function resolvePowerShellPath() {
23
23
  const systemRoot = process.env.SystemRoot || process.env.WINDIR;
24
24
  if (systemRoot) {
25
25
  const candidate = path.join(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe");
26
- if (syncFs.existsSync(candidate)) {
26
+ if (fs.existsSync(candidate)) {
27
27
  return candidate;
28
28
  }
29
29
  }
@@ -73,7 +73,7 @@ function resolveShellFromPath(name) {
73
73
  for (const entry of entries) {
74
74
  const candidate = path.join(entry, name);
75
75
  try {
76
- syncFs.accessSync(candidate, syncFs.constants.X_OK);
76
+ fs.accessSync(candidate, fs.constants.X_OK);
77
77
  return candidate;
78
78
  } catch {}
79
79
  }
@@ -1,12 +1,12 @@
1
1
  import { resolveFasedAgentPackageRootSync } from "../../infra/fased-root.js";
2
2
  import { fileURLToPath } from "node:url";
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/agents/skills/bundled-dir.ts
7
7
  function looksLikeSkillsDir(dir) {
8
8
  try {
9
- const entries = syncFs.readdirSync(dir, { withFileTypes: true });
9
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
10
10
  for (const entry of entries) {
11
11
  if (entry.name.startsWith(".")) {
12
12
  continue;
@@ -16,7 +16,7 @@ function looksLikeSkillsDir(dir) {
16
16
  return true;
17
17
  }
18
18
  if (entry.isDirectory()) {
19
- if (syncFs.existsSync(path.join(fullPath, "SKILL.md"))) {
19
+ if (fs.existsSync(path.join(fullPath, "SKILL.md"))) {
20
20
  return true;
21
21
  }
22
22
  }
@@ -35,7 +35,7 @@ function resolveBundledSkillsDir(opts = {}) {
35
35
  const execPath = opts.execPath ?? process.execPath;
36
36
  const execDir = path.dirname(execPath);
37
37
  const sibling = path.join(execDir, "skills");
38
- if (syncFs.existsSync(sibling)) {
38
+ if (fs.existsSync(sibling)) {
39
39
  return sibling;
40
40
  }
41
41
  } catch {}
@@ -1,7 +1,7 @@
1
1
  import { openVerifiedFileSync } from "../../infra/safe-open-sync.js";
2
2
  import { parseFrontmatter, resolveSkillInvocationPolicy } from "./frontmatter.js";
3
3
  import { createSyntheticSourceInfo } from "./skill-contract.js";
4
- import syncFs from "node:fs";
4
+ import fs from "node:fs";
5
5
  import path from "node:path";
6
6
 
7
7
  //#region src/agents/skills/local-loader.ts
@@ -22,9 +22,9 @@ function readSkillFileSync(params) {
22
22
  if (!isPathWithinRoot(params.rootRealPath, opened.path)) {
23
23
  return null;
24
24
  }
25
- return syncFs.readFileSync(opened.fd, "utf8");
25
+ return fs.readFileSync(opened.fd, "utf8");
26
26
  } finally {
27
- syncFs.closeSync(opened.fd);
27
+ fs.closeSync(opened.fd);
28
28
  }
29
29
  }
30
30
  function loadSingleSkillDirectory(params) {
@@ -69,7 +69,7 @@ function loadSingleSkillDirectory(params) {
69
69
  }
70
70
  function listCandidateSkillDirs(dir) {
71
71
  try {
72
- return syncFs.readdirSync(dir, { withFileTypes: true }).filter((entry) => entry.isDirectory() && !entry.name.startsWith(".") && entry.name !== "node_modules").map((entry) => path.join(dir, entry.name)).sort((left, right) => left.localeCompare(right));
72
+ return fs.readdirSync(dir, { withFileTypes: true }).filter((entry) => entry.isDirectory() && !entry.name.startsWith(".") && entry.name !== "node_modules").map((entry) => path.join(dir, entry.name)).sort((left, right) => left.localeCompare(right));
73
73
  } catch {
74
74
  return [];
75
75
  }
@@ -78,7 +78,7 @@ function loadSkillsFromDirSafe(params) {
78
78
  const rootDir = path.resolve(params.dir);
79
79
  let rootRealPath;
80
80
  try {
81
- rootRealPath = syncFs.realpathSync(rootDir);
81
+ rootRealPath = fs.realpathSync(rootDir);
82
82
  } catch {
83
83
  return { skills: [] };
84
84
  }
@@ -102,7 +102,7 @@ function loadSkillsFromDirSafe(params) {
102
102
  function readSkillFrontmatterSafe(params) {
103
103
  let rootRealPath;
104
104
  try {
105
- rootRealPath = syncFs.realpathSync(path.resolve(params.rootDir));
105
+ rootRealPath = fs.realpathSync(path.resolve(params.rootDir));
106
106
  } catch {
107
107
  return null;
108
108
  }
@@ -1,7 +1,7 @@
1
1
  import { createSubsystemLogger } from "../../logging/subsystem.js";
2
2
  import { normalizePluginsConfig, resolveEffectiveEnableState, resolveMemorySlotDecision } from "../../plugins/config-state.js";
3
3
  import { loadPluginManifestRegistry } from "../../plugins/manifest-registry.js";
4
- import syncFs from "node:fs";
4
+ import fs from "node:fs";
5
5
  import path from "node:path";
6
6
 
7
7
  //#region src/agents/skills/plugin-skills.ts
@@ -58,7 +58,7 @@ function resolvePluginSkillDirs(params) {
58
58
  continue;
59
59
  }
60
60
  const candidate = path.resolve(record.rootDir, trimmed);
61
- if (!syncFs.existsSync(candidate)) {
61
+ if (!fs.existsSync(candidate)) {
62
62
  log.warn(`plugin skill path not found (${record.id}): ${candidate}`);
63
63
  continue;
64
64
  }
@@ -1,11 +1,11 @@
1
- import syncFs from "node:fs";
1
+ import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { createHash } from "node:crypto";
4
4
 
5
5
  //#region src/agents/skills/trust.ts
6
6
  const MARKETPLACE_ORIGIN_DIRS = [".clawhub", ".clawdhub"];
7
7
  function hasMarketplaceOriginMarker(root) {
8
- return MARKETPLACE_ORIGIN_DIRS.some((dir) => syncFs.existsSync(path.join(root, dir, "origin.json")));
8
+ return MARKETPLACE_ORIGIN_DIRS.some((dir) => fs.existsSync(path.join(root, dir, "origin.json")));
9
9
  }
10
10
  function isTrackedMarketplaceSkill(root) {
11
11
  const skillsDir = path.dirname(root);
@@ -16,7 +16,7 @@ function isTrackedMarketplaceSkill(root) {
16
16
  const workspaceDir = path.dirname(skillsDir);
17
17
  for (const directory of MARKETPLACE_ORIGIN_DIRS) {
18
18
  try {
19
- const lock = JSON.parse(syncFs.readFileSync(path.join(workspaceDir, directory, "lock.json"), "utf8"));
19
+ const lock = JSON.parse(fs.readFileSync(path.join(workspaceDir, directory, "lock.json"), "utf8"));
20
20
  if (lock.version === 1 && lock.skills?.[slug]) {
21
21
  return true;
22
22
  }
@@ -33,7 +33,7 @@ function computeSkillContentSha256Sync(skillDir) {
33
33
  if (!current) {
34
34
  continue;
35
35
  }
36
- const entries = syncFs.readdirSync(current, { withFileTypes: true }).toSorted((left, right) => left.name.localeCompare(right.name));
36
+ const entries = fs.readdirSync(current, { withFileTypes: true }).toSorted((left, right) => left.name.localeCompare(right.name));
37
37
  for (const entry of entries) {
38
38
  if (entry.name.startsWith(".")) {
39
39
  continue;
@@ -48,7 +48,7 @@ function computeSkillContentSha256Sync(skillDir) {
48
48
  }
49
49
  digest.update(path.relative(skillDir, fullPath).split(path.sep).join("/"));
50
50
  digest.update("\n");
51
- digest.update(syncFs.readFileSync(fullPath));
51
+ digest.update(fs.readFileSync(fullPath));
52
52
  digest.update("\n");
53
53
  }
54
54
  }
@@ -64,7 +64,7 @@ function marketplaceSkillProvenanceMatchesContent(skillDir) {
64
64
  }
65
65
  for (const directory of MARKETPLACE_ORIGIN_DIRS) {
66
66
  try {
67
- const origin = JSON.parse(syncFs.readFileSync(path.join(root, directory, "origin.json"), "utf8"));
67
+ const origin = JSON.parse(fs.readFileSync(path.join(root, directory, "origin.json"), "utf8"));
68
68
  if (origin.version === 1 && origin.archiveIntegrityVerified === true && typeof origin.archiveSha256 === "string" && /^[a-f0-9]{64}$/u.test(origin.archiveSha256) && typeof origin.contentSha256 === "string" && /^[a-f0-9]{64}$/u.test(origin.contentSha256) && computeSkillContentSha256Sync(root) === origin.contentSha256) {
69
69
  return true;
70
70
  }
@@ -9,13 +9,13 @@ import { shouldIncludeSkill } from "./config.js";
9
9
  import { resolveBundledSkillsDir } from "./bundled-dir.js";
10
10
  import { resolvePluginSkillDirs } from "./plugin-skills.js";
11
11
  import { serializeByKey } from "./serialize.js";
12
- import syncFs from "node:fs";
12
+ import fs from "node:fs";
13
13
  import os from "node:os";
14
14
  import path from "node:path";
15
15
  import { formatSkillsForPrompt, loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
16
16
 
17
17
  //#region src/agents/skills/workspace.ts
18
- const fsp = syncFs.promises;
18
+ const fsp = fs.promises;
19
19
  const skillsLogger = createSubsystemLogger("skills");
20
20
  const skillCommandDebugOnce = new Set();
21
21
  const CLAUDE_BUNDLE_MANIFEST_MAX_BYTES = 64 * 1024;
@@ -86,10 +86,10 @@ function isPathWithinRoot(candidatePath, rootPath) {
86
86
  let candidate = path.resolve(candidatePath);
87
87
  let root = path.resolve(rootPath);
88
88
  try {
89
- candidate = syncFs.realpathSync.native(candidate);
89
+ candidate = fs.realpathSync.native(candidate);
90
90
  } catch {}
91
91
  try {
92
- root = syncFs.realpathSync.native(root);
92
+ root = fs.realpathSync.native(root);
93
93
  } catch {}
94
94
  const relative = path.relative(root, candidate);
95
95
  return relative === "" || !relative.startsWith("..") && !path.isAbsolute(relative);
@@ -137,7 +137,7 @@ function resolveSkillsLimits(config) {
137
137
  }
138
138
  function listChildDirectories(dir) {
139
139
  try {
140
- const entries = syncFs.readdirSync(dir, { withFileTypes: true });
140
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
141
141
  const dirs = [];
142
142
  for (const entry of entries) {
143
143
  if (entry.name.startsWith(".")) continue;
@@ -149,7 +149,7 @@ function listChildDirectories(dir) {
149
149
  }
150
150
  if (entry.isSymbolicLink()) {
151
151
  try {
152
- if (syncFs.statSync(fullPath).isDirectory()) {
152
+ if (fs.statSync(fullPath).isDirectory()) {
153
153
  dirs.push(entry.name);
154
154
  }
155
155
  } catch {}
@@ -163,7 +163,7 @@ function listChildDirectories(dir) {
163
163
  function resolveNestedSkillsRoot(dir, opts) {
164
164
  const nested = path.join(dir, "skills");
165
165
  try {
166
- if (!syncFs.existsSync(nested) || !syncFs.statSync(nested).isDirectory()) {
166
+ if (!fs.existsSync(nested) || !fs.statSync(nested).isDirectory()) {
167
167
  return { baseDir: dir };
168
168
  }
169
169
  } catch {
@@ -174,7 +174,7 @@ function resolveNestedSkillsRoot(dir, opts) {
174
174
  const toScan = scanLimit === 0 ? [] : nestedDirs.slice(0, Math.min(nestedDirs.length, scanLimit));
175
175
  for (const name of toScan) {
176
176
  const skillMd = path.join(nested, name, "SKILL.md");
177
- if (syncFs.existsSync(skillMd)) {
177
+ if (fs.existsSync(skillMd)) {
178
178
  return {
179
179
  baseDir: nested,
180
180
  note: `Detected nested skills root at ${nested}`
@@ -201,9 +201,9 @@ function loadSkillEntries(workspaceDir, opts) {
201
201
  const resolved = resolveNestedSkillsRoot(params.dir, { maxEntriesToScan: limits.maxCandidatesPerRoot });
202
202
  const baseDir = resolved.baseDir;
203
203
  const rootSkillMd = path.join(baseDir, "SKILL.md");
204
- if (syncFs.existsSync(rootSkillMd)) {
204
+ if (fs.existsSync(rootSkillMd)) {
205
205
  try {
206
- const size = syncFs.statSync(rootSkillMd).size;
206
+ const size = fs.statSync(rootSkillMd).size;
207
207
  if (size > limits.maxSkillFileBytes) {
208
208
  skillsLogger.warn("Skipping skills root due to oversized SKILL.md.", {
209
209
  dir: baseDir,
@@ -246,11 +246,11 @@ function loadSkillEntries(workspaceDir, opts) {
246
246
  for (const name of limitedChildren) {
247
247
  const skillDir = path.join(baseDir, name);
248
248
  const skillMd = path.join(skillDir, "SKILL.md");
249
- if (!syncFs.existsSync(skillMd)) {
249
+ if (!fs.existsSync(skillMd)) {
250
250
  continue;
251
251
  }
252
252
  try {
253
- const size = syncFs.statSync(skillMd).size;
253
+ const size = fs.statSync(skillMd).size;
254
254
  if (size > limits.maxSkillFileBytes) {
255
255
  skillsLogger.warn("Skipping skill due to oversized SKILL.md.", {
256
256
  skill: name,
@@ -338,7 +338,7 @@ function loadSkillEntries(workspaceDir, opts) {
338
338
  const skillEntries = Array.from(merged.values()).map((skill) => {
339
339
  let frontmatter = {};
340
340
  try {
341
- const raw = syncFs.readFileSync(skill.filePath, "utf-8");
341
+ const raw = fs.readFileSync(skill.filePath, "utf-8");
342
342
  frontmatter = parseFrontmatter(raw);
343
343
  } catch {}
344
344
  return {
@@ -433,7 +433,7 @@ function stripMarkdownFrontmatter(content) {
433
433
  }
434
434
  function listImmediateDirectories(root) {
435
435
  try {
436
- return syncFs.readdirSync(root, { withFileTypes: true }).filter((entry) => entry.isDirectory() && !entry.isSymbolicLink()).map((entry) => path.join(root, entry.name));
436
+ return fs.readdirSync(root, { withFileTypes: true }).filter((entry) => entry.isDirectory() && !entry.isSymbolicLink()).map((entry) => path.join(root, entry.name));
437
437
  } catch {
438
438
  return [];
439
439
  }
@@ -449,11 +449,11 @@ function loadClaudeBundleCommandSpecs(params) {
449
449
  for (const unresolvedRoot of roots) {
450
450
  let root;
451
451
  try {
452
- const stat = syncFs.lstatSync(unresolvedRoot);
452
+ const stat = fs.lstatSync(unresolvedRoot);
453
453
  if (!stat.isDirectory() || stat.isSymbolicLink()) {
454
454
  continue;
455
455
  }
456
- root = syncFs.realpathSync(unresolvedRoot);
456
+ root = fs.realpathSync(unresolvedRoot);
457
457
  } catch {
458
458
  continue;
459
459
  }
@@ -464,11 +464,11 @@ function loadClaudeBundleCommandSpecs(params) {
464
464
  const manifestPath = path.join(root, ".claude-plugin", "plugin.json");
465
465
  let pluginId = "";
466
466
  try {
467
- const stat = syncFs.lstatSync(manifestPath);
467
+ const stat = fs.lstatSync(manifestPath);
468
468
  if (!stat.isFile() || stat.isSymbolicLink() || stat.size <= 0 || stat.size > CLAUDE_BUNDLE_MANIFEST_MAX_BYTES) {
469
469
  continue;
470
470
  }
471
- const manifest = JSON.parse(syncFs.readFileSync(manifestPath, "utf8"));
471
+ const manifest = JSON.parse(fs.readFileSync(manifestPath, "utf8"));
472
472
  pluginId = typeof manifest.name === "string" ? manifest.name.trim() : "";
473
473
  } catch {
474
474
  continue;
@@ -479,11 +479,11 @@ function loadClaudeBundleCommandSpecs(params) {
479
479
  const commandsDir = path.join(root, "commands");
480
480
  let entries;
481
481
  try {
482
- const stat = syncFs.lstatSync(commandsDir);
482
+ const stat = fs.lstatSync(commandsDir);
483
483
  if (!stat.isDirectory() || stat.isSymbolicLink()) {
484
484
  continue;
485
485
  }
486
- entries = syncFs.readdirSync(commandsDir, { withFileTypes: true });
486
+ entries = fs.readdirSync(commandsDir, { withFileTypes: true });
487
487
  } catch {
488
488
  continue;
489
489
  }
@@ -494,11 +494,11 @@ function loadClaudeBundleCommandSpecs(params) {
494
494
  const filePath = path.join(commandsDir, entry.name);
495
495
  let content;
496
496
  try {
497
- const stat = syncFs.lstatSync(filePath);
497
+ const stat = fs.lstatSync(filePath);
498
498
  if (stat.size <= 0 || stat.size > params.maxFileBytes) {
499
499
  continue;
500
500
  }
501
- content = syncFs.readFileSync(filePath, "utf8");
501
+ content = fs.readFileSync(filePath, "utf8");
502
502
  } catch {
503
503
  continue;
504
504
  }
@@ -8,7 +8,7 @@ import { hasBinary } from "../shared/config-eval.js";
8
8
  import "./skills.js";
9
9
  import { formatInstallFailureMessage } from "./skills-install-output.js";
10
10
  import { resolveSkillToolsRootDir } from "./skills/tools-dir.js";
11
- import syncFs from "node:fs";
11
+ import fs from "node:fs";
12
12
  import path from "node:path";
13
13
  import { createHash } from "node:crypto";
14
14
  import { Readable } from "node:stream";
@@ -85,11 +85,11 @@ async function downloadFile(url, destPath, timeoutMs) {
85
85
  throw new Error(`Download failed (${response.status} ${response.statusText})`);
86
86
  }
87
87
  await ensureDir(path.dirname(destPath));
88
- const file = syncFs.createWriteStream(destPath);
88
+ const file = fs.createWriteStream(destPath);
89
89
  const body = response.body;
90
90
  const readable = isNodeReadableStream(body) ? body : Readable.fromWeb(body);
91
91
  await pipeline(readable, file);
92
- const stat = await syncFs.promises.stat(destPath);
92
+ const stat = await fs.promises.stat(destPath);
93
93
  return { bytes: stat.size };
94
94
  } finally {
95
95
  await release();
@@ -100,7 +100,7 @@ function normalizeHex(value) {
100
100
  }
101
101
  async function digestFile(filePath, algorithm, encoding) {
102
102
  const hash = createHash(algorithm);
103
- await pipeline(syncFs.createReadStream(filePath), hash);
103
+ await pipeline(fs.createReadStream(filePath), hash);
104
104
  return hash.digest(encoding);
105
105
  }
106
106
  async function verifyDownloadIntegrity(archivePath, spec) {
@@ -183,7 +183,7 @@ async function extractArchive(params) {
183
183
  };
184
184
  }
185
185
  const readArchiveFingerprint = async () => {
186
- const stat = await syncFs.promises.stat(archivePath);
186
+ const stat = await fs.promises.stat(archivePath);
187
187
  return {
188
188
  size: stat.size,
189
189
  mtimeMs: stat.mtimeMs
@@ -196,7 +196,7 @@ async function extractArchive(params) {
196
196
  for (const part of parts) {
197
197
  current = path.join(current, part);
198
198
  try {
199
- const stat = await syncFs.promises.lstat(current);
199
+ const stat = await fs.promises.lstat(current);
200
200
  if (stat.isSymbolicLink()) {
201
201
  throw new Error(`archive entry traverses symlink in destination: ${originalPath}`);
202
202
  }
@@ -352,7 +352,7 @@ async function installDownloadSpec(params) {
352
352
  try {
353
353
  targetDir = resolveDownloadTargetDir(entry, spec);
354
354
  await ensureDir(targetDir);
355
- const stat = await syncFs.promises.lstat(targetDir);
355
+ const stat = await fs.promises.lstat(targetDir);
356
356
  if (stat.isSymbolicLink()) {
357
357
  throw new Error(`targetDir is a symlink: ${targetDir}`);
358
358
  }
@@ -1,7 +1,7 @@
1
1
  import { hasBinary } from "../shared/config-eval.js";
2
2
  import "./skills.js";
3
3
  import { resolveBrewExecutable } from "../infra/brew.js";
4
- import syncFs from "node:fs";
4
+ import fs from "node:fs";
5
5
  import path from "node:path";
6
6
 
7
7
  //#region src/agents/skills-install-plan.ts
@@ -153,7 +153,7 @@ function candidateSkillBinPaths(bin) {
153
153
  function findSkillBinaryOutsidePath(bin) {
154
154
  for (const candidate of candidateSkillBinPaths(bin)) {
155
155
  try {
156
- if (syncFs.existsSync(candidate)) {
156
+ if (fs.existsSync(candidate)) {
157
157
  return candidate;
158
158
  }
159
159
  } catch {}
@@ -8,7 +8,7 @@ import { resolveBrewExecutable } from "../infra/brew.js";
8
8
  import { summarizeSkillInstallTrust } from "./skills-install-trust.js";
9
9
  import { formatInstallFailureMessage } from "./skills-install-output.js";
10
10
  import { installDownloadSpec } from "./skills-install-download.js";
11
- import syncFs from "node:fs";
11
+ import fs from "node:fs";
12
12
  import path from "node:path";
13
13
 
14
14
  //#region src/agents/skills-install.ts
@@ -236,7 +236,7 @@ function candidateBinPaths(bin) {
236
236
  function findBinaryOutsidePath(bin) {
237
237
  for (const candidate of candidateBinPaths(bin)) {
238
238
  try {
239
- if (syncFs.existsSync(candidate)) {
239
+ if (fs.existsSync(candidate)) {
240
240
  return candidate;
241
241
  }
242
242
  } catch {}
@@ -8,7 +8,7 @@ import { evaluateEntryRequirementsForCurrentPlatform } from "../shared/entry-sta
8
8
  import { resolveSkillInstallPlan } from "./skills-install-plan.js";
9
9
  import { summarizeSkillInstallTrust } from "./skills-install-trust.js";
10
10
  import { resolveBundledSkillsContext } from "./skills/bundled-context.js";
11
- import syncFs from "node:fs";
11
+ import fs from "node:fs";
12
12
  import path from "node:path";
13
13
 
14
14
  //#region src/agents/skills-status.ts
@@ -116,7 +116,7 @@ function readSkillMarketplaceStatus(skillDir) {
116
116
  const candidates = [path.join(skillDir, ".clawhub", "origin.json"), path.join(skillDir, ".clawdhub", "origin.json")];
117
117
  for (const candidate of candidates) {
118
118
  try {
119
- const raw = JSON.parse(syncFs.readFileSync(candidate, "utf8"));
119
+ const raw = JSON.parse(fs.readFileSync(candidate, "utf8"));
120
120
  if (raw.version !== 1 || typeof raw.registry !== "string" || typeof raw.slug !== "string" || typeof raw.installedVersion !== "string" || typeof raw.installedAt !== "number") {
121
121
  continue;
122
122
  }
@@ -1,7 +1,7 @@
1
1
  import { getSubagentDepth, parseAgentSessionKey } from "../sessions/session-key-utils.js";
2
2
  import { resolveDefaultAgentId } from "./agent-scope.js";
3
3
  import { resolveStorePath } from "../config/sessions/paths.js";
4
- import syncFs from "node:fs";
4
+ import fs from "node:fs";
5
5
  import JSON5 from "json5";
6
6
 
7
7
  //#region src/agents/subagent-depth.ts
@@ -28,7 +28,7 @@ function normalizeSessionKey(value) {
28
28
  }
29
29
  function readSessionStore(storePath) {
30
30
  try {
31
- const raw = syncFs.readFileSync(storePath, "utf-8");
31
+ const raw = fs.readFileSync(storePath, "utf-8");
32
32
  const parsed = JSON5.parse(raw);
33
33
  if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
34
34
  return parsed;
@@ -1,6 +1,6 @@
1
1
  import { formatUserTime, resolveUserTimeFormat, resolveUserTimezone } from "./date-time.js";
2
2
  import { findGitRoot } from "../infra/git-root.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/agents/system-prompt-params.ts
@@ -29,7 +29,7 @@ function resolveRepoRoot(params) {
29
29
  if (configured) {
30
30
  try {
31
31
  const resolved = path.resolve(configured);
32
- const stat = syncFs.statSync(resolved);
32
+ const stat = fs.statSync(resolved);
33
33
  if (stat.isDirectory()) {
34
34
  return resolved;
35
35
  }