@fased/fased 0.1.54 → 0.1.56

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 (465) hide show
  1. package/config/capability-catalog.json +12 -0
  2. package/dist/acp/client.js +2 -2
  3. package/dist/acp/secret-file.js +2 -2
  4. package/dist/agents/agent-scope.js +2 -2
  5. package/dist/agents/apply-patch.js +8 -8
  6. package/dist/agents/auth-profiles/paths.js +2 -2
  7. package/dist/agents/auth-profiles/store.js +2 -2
  8. package/dist/agents/authenticated-model-catalog.js +28 -0
  9. package/dist/agents/bash-tools.exec-host-node.js +1 -1
  10. package/dist/agents/bash-tools.exec.js +1 -1
  11. package/dist/agents/bash-tools.shared.js +2 -2
  12. package/dist/agents/cli-credentials.js +4 -4
  13. package/dist/agents/copilot-dynamic-headers.js +37 -0
  14. package/dist/agents/current-model-catalog.js +9 -13
  15. package/dist/agents/docs-path.js +3 -3
  16. package/dist/agents/embedded-pi-mcp.js +4 -4
  17. package/dist/agents/identity-avatar.js +3 -3
  18. package/dist/agents/identity-file.js +2 -2
  19. package/dist/agents/model-catalog-normalized.js +1 -0
  20. package/dist/agents/model-catalog-source.js +2 -2
  21. package/dist/agents/model-catalog.js +1 -1
  22. package/dist/agents/model-metadata.js +58 -9
  23. package/dist/agents/openai-codex-app-server.js +499 -0
  24. package/dist/agents/pi-embedded-runner/compact.js +3 -3
  25. package/dist/agents/pi-embedded-runner/extra-params.js +168 -79
  26. package/dist/agents/pi-embedded-runner/model.js +62 -1
  27. package/dist/agents/pi-embedded-runner/moonshot-stream-wrappers.js +46 -0
  28. package/dist/agents/pi-embedded-runner/openai-stream-wrappers.js +221 -0
  29. package/dist/agents/pi-embedded-runner/run/attempt.js +6 -4
  30. package/dist/agents/pi-embedded-runner/run.js +5 -2
  31. package/dist/agents/pi-embedded-runner/utils.js +1 -1
  32. package/dist/agents/pi-embedded-runner.js +1 -1
  33. package/dist/agents/pi-embedded-subscribe.raw-stream.js +3 -3
  34. package/dist/agents/pi-extensions/compaction-safeguard.js +3 -3
  35. package/dist/agents/pi-model-discovery.js +6 -6
  36. package/dist/agents/pi-project-settings.js +3 -3
  37. package/dist/agents/pi-tools.js +2 -2
  38. package/dist/agents/sandbox/fs-bridge.js +2 -2
  39. package/dist/agents/session-dirs.js +4 -4
  40. package/dist/agents/session-write-lock.js +13 -13
  41. package/dist/agents/shell-utils.js +5 -5
  42. package/dist/agents/skills/bundled-dir.js +4 -4
  43. package/dist/agents/skills/local-loader.js +6 -6
  44. package/dist/agents/skills/plugin-skills.js +2 -2
  45. package/dist/agents/skills/workspace.js +13 -13
  46. package/dist/agents/skills-install-download.js +7 -7
  47. package/dist/agents/skills-install-plan.js +2 -2
  48. package/dist/agents/skills-install.js +2 -2
  49. package/dist/agents/skills-status.js +2 -2
  50. package/dist/agents/subagent-depth.js +2 -2
  51. package/dist/agents/system-prompt-params.js +2 -2
  52. package/dist/agents/tools/discord-actions-messaging.js +1 -1
  53. package/dist/agents/tools/message-tool.js +1 -1
  54. package/dist/agents/tools/session-status-tool.js +3 -3
  55. package/dist/agents/tools/slack-actions.js +1 -1
  56. package/dist/agents/tools/tts-tool.js +1 -1
  57. package/dist/agents/workspace.js +22 -22
  58. package/dist/auto-reply/reply/agent-runner-execution.js +2 -2
  59. package/dist/auto-reply/reply/agent-runner.js +2 -2
  60. package/dist/auto-reply/reply/commands-export-session.js +7 -7
  61. package/dist/auto-reply/reply/commands-models.js +1 -1
  62. package/dist/auto-reply/reply/directive-handling.impl.js +4 -1
  63. package/dist/auto-reply/reply/dispatch-acp.js +1 -1
  64. package/dist/auto-reply/reply/dispatch-from-config.js +1 -1
  65. package/dist/auto-reply/reply/get-reply-run.js +20 -2
  66. package/dist/auto-reply/reply/model-selection.js +1 -1
  67. package/dist/auto-reply/reply/post-compaction-audit.js +3 -3
  68. package/dist/auto-reply/reply/post-compaction-context.js +3 -3
  69. package/dist/auto-reply/reply/session-reset-model.js +1 -1
  70. package/dist/auto-reply/reply/session.js +3 -3
  71. package/dist/auto-reply/skill-commands.js +3 -3
  72. package/dist/auto-reply/status.js +7 -7
  73. package/dist/auto-reply/thinking.js +1 -1
  74. package/dist/brand.js +1 -1
  75. package/dist/browser/cdp.helpers.js +2 -2
  76. package/dist/browser/chrome.executables.js +3 -3
  77. package/dist/browser/chrome.js +5 -5
  78. package/dist/browser/chrome.profile-decoration.js +6 -6
  79. package/dist/browser/extension-relay.js +7 -7
  80. package/dist/browser/profiles-service.js +2 -2
  81. package/dist/browser/server-context.js +2 -2
  82. package/dist/browser/trash.js +4 -4
  83. package/dist/build-info.json +3 -3
  84. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  85. package/dist/canvas-host/server.js +4 -4
  86. package/dist/capabilities/catalog.js +3 -3
  87. package/dist/channels/plugins/catalog.js +3 -3
  88. package/dist/cli/browser-cli-extension.js +6 -6
  89. package/dist/cli/command-format.js +2 -2
  90. package/dist/cli/cron-cli/register.cron-add.js +1 -1
  91. package/dist/cli/cron-cli/register.cron-simple.js +2 -2
  92. package/dist/cli/dns-cli.js +9 -9
  93. package/dist/cli/gateway-cli/dev.js +5 -5
  94. package/dist/cli/gateway-cli/run.js +2 -2
  95. package/dist/cli/hooks-cli.js +5 -5
  96. package/dist/cli/lightweight/gateway-runtime-probe.js +2 -2
  97. package/dist/cli/memory-cli.js +7 -7
  98. package/dist/cli/nodes-media-utils.js +2 -2
  99. package/dist/cli/plugins-cli.js +2 -2
  100. package/dist/cli/program/register.agent.js +1 -1
  101. package/dist/cli/providers-cli.js +3 -2
  102. package/dist/cli/secrets-cli.js +3 -3
  103. package/dist/cli/windows-argv.js +2 -2
  104. package/dist/commands/agent.js +22 -3
  105. package/dist/commands/auth-choice.apply.api-providers.js +3 -8
  106. package/dist/commands/auth-choice.apply.openai.js +13 -7
  107. package/dist/commands/auth-choice.model-check.js +1 -2
  108. package/dist/commands/configure.gateway-auth.js +14 -16
  109. package/dist/commands/dashboard-link.js +3 -3
  110. package/dist/commands/doctor-config-flow.js +1 -1
  111. package/dist/commands/doctor-install.js +5 -5
  112. package/dist/commands/doctor-memory-search.js +2 -2
  113. package/dist/commands/doctor-platform-notes.js +2 -2
  114. package/dist/commands/doctor-sandbox.js +2 -2
  115. package/dist/commands/doctor-state-integrity.js +23 -23
  116. package/dist/commands/doctor-workspace.js +3 -3
  117. package/dist/commands/doctor.js +3 -3
  118. package/dist/commands/hosted-dashboard-probe.js +3 -3
  119. package/dist/commands/managed-up.js +2 -2
  120. package/dist/commands/model-picker.js +27 -8
  121. package/dist/commands/models/list.probe.js +1 -1
  122. package/dist/commands/models/list.registry.js +13 -17
  123. package/dist/commands/models/list.status-command.js +2 -2
  124. package/dist/commands/onboard-auth.config-core.js +1 -1
  125. package/dist/commands/onboard-auth.config-litellm.js +21 -21
  126. package/dist/commands/onboard-auth.credentials.js +3 -4
  127. package/dist/commands/onboard-auth.js +0 -1
  128. package/dist/commands/onboarding/plugin-install.js +2 -2
  129. package/dist/commands/openai-codex-model-default.js +28 -5
  130. package/dist/commands/sessions-cleanup.js +2 -2
  131. package/dist/commands/signal-install.js +6 -6
  132. package/dist/commands/status-all/channels.js +2 -2
  133. package/dist/commands/wallet.js +47 -47
  134. package/dist/config/cache-utils.js +2 -2
  135. package/dist/config/includes.js +5 -5
  136. package/dist/config/io.js +2 -2
  137. package/dist/config/paths.js +3 -3
  138. package/dist/config/sat-runtime-ids.js +3 -3
  139. package/dist/config/sessions/disk-budget.js +6 -6
  140. package/dist/config/sessions/paths.js +2 -2
  141. package/dist/config/sessions/store.js +17 -17
  142. package/dist/config/sessions/transcript.js +4 -4
  143. package/dist/config/talk.js +2 -2
  144. package/dist/config/zod-schema.agent-defaults.js +6 -2
  145. package/dist/config/zod-schema.agent-runtime.js +6 -2
  146. package/dist/config/zod-schema.core.js +6 -2
  147. package/dist/control-ui/assets/{app-BKlu6OKz.js → app-D7TXyNRi.js} +1548 -1540
  148. package/dist/control-ui/assets/chat-model-ref-Djkv93yn.js +2 -0
  149. package/dist/control-ui/assets/{index-nrFcGMv-.js → index-BmSBom-w.js} +3 -3
  150. package/dist/control-ui/assets/{providers-BQFrRqym.js → providers-Cc89iMdx.js} +5 -5
  151. package/dist/control-ui/index.html +1 -1
  152. package/dist/control-ui/version.json +1 -0
  153. package/dist/cron/isolated-agent/run.js +6 -2
  154. package/dist/cron/service/jobs.js +11 -1
  155. package/dist/cron/service/store.js +2 -2
  156. package/dist/cron/store.js +6 -6
  157. package/dist/daemon/systemd-system.js +5 -5
  158. package/dist/discord/monitor/gateway-plugin.js +2 -2
  159. package/dist/discord/monitor/thread-bindings.state.js +2 -2
  160. package/dist/discord/voice/manager.js +1 -1
  161. package/dist/extensions/sat-mining/src/sat-bond-layout.js +9 -9
  162. package/dist/gateway/client.js +4 -4
  163. package/dist/gateway/control-ui-boot-check.js +6 -6
  164. package/dist/gateway/control-ui-login.js +7 -7
  165. package/dist/gateway/control-ui.js +11 -9
  166. package/dist/gateway/hooks-mapping.js +4 -4
  167. package/dist/gateway/protocol/schema/agents-models-skills.js +66 -4
  168. package/dist/gateway/server-discovery.js +2 -2
  169. package/dist/gateway/server-http.js +4 -4
  170. package/dist/gateway/server-methods/chat.js +3 -3
  171. package/dist/gateway/server-methods/models.js +8 -8
  172. package/dist/gateway/server-methods/sessions.js +8 -8
  173. package/dist/gateway/server-methods/tts.js +2 -2
  174. package/dist/gateway/server-methods/usage.js +2 -2
  175. package/dist/gateway/server-model-catalog.js +3 -0
  176. package/dist/gateway/server.impl.js +3 -3
  177. package/dist/gateway/session-compaction-checkpoints.js +4 -4
  178. package/dist/gateway/session-utils.fs.js +24 -24
  179. package/dist/gateway/session-utils.js +6 -6
  180. package/dist/gateway/sessions-patch.js +27 -24
  181. package/dist/hooks/bundled-dir.js +4 -4
  182. package/dist/hooks/gmail-setup-utils.js +6 -6
  183. package/dist/hooks/import-url.js +2 -2
  184. package/dist/hooks/loader.js +4 -4
  185. package/dist/hooks/workspace.js +7 -7
  186. package/dist/infra/archive.js +17 -17
  187. package/dist/infra/boundary-file-read.js +2 -2
  188. package/dist/infra/boundary-path.js +15 -15
  189. package/dist/infra/brew.js +2 -2
  190. package/dist/infra/control-ui-assets.js +14 -14
  191. package/dist/infra/device-auth-store.js +8 -8
  192. package/dist/infra/device-identity.js +8 -8
  193. package/dist/infra/dotenv.js +2 -2
  194. package/dist/infra/exec-approvals.js +8 -8
  195. package/dist/infra/exec-command-resolution.js +4 -4
  196. package/dist/infra/exec-safe-bin-trust.js +2 -2
  197. package/dist/infra/fased-root.js +5 -5
  198. package/dist/infra/fs-safe.js +14 -14
  199. package/dist/infra/gateway-lock.js +11 -11
  200. package/dist/infra/git-commit.js +5 -5
  201. package/dist/infra/git-root.js +4 -4
  202. package/dist/infra/hosted-runtime-artifact.js +3 -3
  203. package/dist/infra/is-main.js +2 -2
  204. package/dist/infra/json-file.js +7 -7
  205. package/dist/infra/outbound/delivery-queue.js +16 -16
  206. package/dist/infra/path-env.js +3 -3
  207. package/dist/infra/ports-lsof.js +4 -4
  208. package/dist/infra/provider-usage.auth.js +3 -3
  209. package/dist/infra/safe-open-sync.js +2 -2
  210. package/dist/infra/session-cost-usage.js +9 -9
  211. package/dist/infra/shell-env.js +2 -2
  212. package/dist/infra/state-migrations.fs.js +6 -6
  213. package/dist/infra/state-migrations.js +23 -23
  214. package/dist/infra/tmp-fased-dir.js +6 -6
  215. package/dist/infra/update-runner.js +31 -3
  216. package/dist/infra/widearea-dns.js +3 -3
  217. package/dist/infra/wsl.js +2 -2
  218. package/dist/light-update-status.js +1 -1
  219. package/dist/line/accounts.js +2 -2
  220. package/dist/line/download.js +2 -2
  221. package/dist/logging/config.js +3 -3
  222. package/dist/logging/logger.js +7 -7
  223. package/dist/managed/federation.js +3 -3
  224. package/dist/managed/tunnel.js +3 -3
  225. package/dist/media/store.js +13 -13
  226. package/dist/media-understanding/runner.js +3 -3
  227. package/dist/memory/embeddings.js +2 -2
  228. package/dist/memory/internal.js +10 -10
  229. package/dist/memory/inventory.js +19 -2
  230. package/dist/memory/manager-sync-ops.js +7 -7
  231. package/dist/memory/repair-executor.js +17 -17
  232. package/dist/node-host/invoke-system-run-plan.js +8 -8
  233. package/dist/node-host/invoke.js +2 -2
  234. package/dist/node-host/runner.js +3 -3
  235. package/dist/pairing/pairing-store.js +3 -3
  236. package/dist/plugin-sdk/{accounts-DW9OS5Ll.js → accounts-DzWlKv1U.js} +1 -1
  237. package/dist/plugin-sdk/{actions-DQUXohRr.js → actions-BplQVLL6.js} +4 -4
  238. package/dist/plugin-sdk/{active-listener-BZQWZPF7.js → active-listener-x4MLhYUw.js} +1 -1
  239. package/dist/plugin-sdk/{allow-list-BYeKk0Sy.js → allow-list-DyAxs4yw.js} +1 -1
  240. package/dist/plugin-sdk/{audio-preflight-t4mmHsI2.js → audio-preflight-G8h3Sn8_.js} +43 -47
  241. package/dist/plugin-sdk/{audit-BZk_6Buw.js → audit-CWknklvI.js} +1 -1
  242. package/dist/plugin-sdk/{channel-access-CN5HiWdb.js → channel-access-a9Dnfw7-.js} +1 -1
  243. package/dist/plugin-sdk/{channel-access-configure-B7Kkvx9K.js → channel-access-configure-CD4QDN5E.js} +1 -1
  244. package/dist/plugin-sdk/{channel-adapters.discord-IOZP8Cv5.js → channel-adapters.discord-BS4S4Svh.js} +1 -1
  245. package/dist/plugin-sdk/channel-plugin-common.d.ts +3 -3
  246. package/dist/plugin-sdk/channel-plugin-common.js +4 -4
  247. package/dist/plugin-sdk/{chunk-B2ffJ-LR.js → chunk-B8EZkwiT.js} +1 -1
  248. package/dist/plugin-sdk/{chunk-items-jOdkyP53.js → chunk-items-CEPklxGe.js} +1 -1
  249. package/dist/plugin-sdk/command-status.d.ts +2 -2
  250. package/dist/plugin-sdk/command-status.js +43 -47
  251. package/dist/plugin-sdk/{commands-registry-BWb4NcfW.js → commands-registry-BfEa4tFA.js} +2 -2
  252. package/dist/plugin-sdk/{common-C4XrB73N.js → common-CbfckC19.js} +1 -1
  253. package/dist/plugin-sdk/{config-rySyVtKs.js → config-Bt5GhnA-.js} +105 -73
  254. package/dist/plugin-sdk/{config-schema-BaybPPrJ.js → config-schema-B9DKr6J5.js} +96239 -81587
  255. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  256. package/dist/plugin-sdk/device-pair.js +2 -3
  257. package/dist/plugin-sdk/{diagnostic-Dfn1iERm.js → diagnostic-DLL_zekv.js} +3 -3
  258. package/dist/plugin-sdk/{directory-live-DatqU-eS.js → directory-live-CSuYxdwk.js} +1 -1
  259. package/dist/plugin-sdk/{directory-live-ClwN5KKq.js → directory-live-Dw7ZgC9_.js} +1 -1
  260. package/dist/plugin-sdk/discord.d.ts +5 -5
  261. package/dist/plugin-sdk/discord.js +31 -32
  262. package/dist/plugin-sdk/{draft-stream-controls-D4Tb_iS_.js → draft-stream-controls-BqchW1vi.js} +1 -1
  263. package/dist/plugin-sdk/{fetch-guard-BuYrl6q2.js → fetch-guard-CeG6u6ld.js} +1 -1
  264. package/dist/plugin-sdk/{filesystem-manager-B9DDPgfU.js → filesystem-manager-BGGGrkiN.js} +2 -2
  265. package/dist/plugin-sdk/{fs-safe-BG-VzVkL.js → fs-safe-xBqok6yR.js} +1 -1
  266. package/dist/plugin-sdk/{group-mentions-DLOOve8d.d.ts → group-mentions-BHRff6j8.d.ts} +1 -1
  267. package/dist/plugin-sdk/{guilds-BeT3iHHJ.js → guilds-CDhRIX57.js} +1 -1
  268. package/dist/plugin-sdk/{handle-action-CGF-Qnp0.js → handle-action-DbzZFYnG.js} +24 -25
  269. package/dist/plugin-sdk/{helpers-DgRMfCnT.js → helpers-CluGKuIV.js} +1 -1
  270. package/dist/plugin-sdk/{image-ops-CcBfoMLW.js → image-ops-CUaLtIFj.js} +1 -1
  271. package/dist/plugin-sdk/index.d.ts +8 -8
  272. package/dist/plugin-sdk/index.js +47 -51
  273. package/dist/plugin-sdk/json-store.js +6 -6
  274. package/dist/plugin-sdk/{login-DpDQyM7r.js → login-DJuHYDiK.js} +3 -3
  275. package/dist/plugin-sdk/{login-qr-COaSAPY5.js → login-qr-CbHL5ayf.js} +3 -3
  276. package/dist/plugin-sdk/{manager-Cqz30lA3.js → manager-oHAvZCT3.js} +7 -7
  277. package/dist/plugin-sdk/{markdown-tables-BOG5sSQQ.js → markdown-tables-Mkx7k92Y.js} +1 -1
  278. package/dist/plugin-sdk/{media-Bu-nJpPs.js → media-CA8sTmVE.js} +4 -4
  279. package/dist/plugin-sdk/{monitor-II_NIq3G.js → monitor-CZrN9pev.js} +51 -55
  280. package/dist/plugin-sdk/{monitor-DL6oEVo8.js → monitor-CmwGqNyV.js} +61 -65
  281. package/dist/plugin-sdk/{openresponses-http-vkHBBpGY.js → openresponses-http-CWOd4war.js} +43 -47
  282. package/dist/plugin-sdk/{optional-runtime-dependency-DEojVNfv.js → optional-runtime-dependency-DKmk9PZa.js} +1 -1
  283. package/dist/plugin-sdk/{outbound-mf2y6KuY.js → outbound-0oN9IfNw.js} +9 -9
  284. package/dist/plugin-sdk/{outbound-attachment-ivAHpWnn.js → outbound-attachment-DdVkqUzE.js} +2 -2
  285. package/dist/plugin-sdk/{pairing-message-CvJ6Qa1Q.d.ts → pairing-message-BMkkS038.d.ts} +2 -2
  286. package/dist/plugin-sdk/{pairing-message-CqYG12t-.js → pairing-message-ClqhfCUk.js} +1 -1
  287. package/dist/plugin-sdk/{pairing-store-D-21Sphe.js → pairing-store-B01mCSct.js} +2 -2
  288. package/dist/plugin-sdk/{pi-model-discovery-B6gD1clF.js → pi-model-discovery-Buz0JC1Y.js} +1 -1
  289. package/dist/plugin-sdk/{pi-model-discovery-runtime-3yDxS3ro.js → pi-model-discovery-runtime-DuwuoteY.js} +2 -2
  290. package/dist/plugin-sdk/{probe-Cyb-DGA3.js → probe--7xtfzMm.js} +3 -3
  291. package/dist/plugin-sdk/{probe-Dlk0Jxpw.js → probe-BFroeK3g.js} +1 -1
  292. package/dist/plugin-sdk/{probe-D8JAILir.js → probe-l_whvGLY.js} +1 -1
  293. package/dist/plugin-sdk/{resolve-channels-zEnvugag.js → probe-xY3Ky0Tx.js} +3 -4
  294. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +2 -2
  295. package/dist/plugin-sdk/{pw-ai-CMplwiwf.js → pw-ai-B0domrii.js} +6 -8
  296. package/dist/plugin-sdk/{qmd-manager-DCUE21Kj.js → qmd-manager-CFFeM4Fl.js} +3 -3
  297. package/dist/plugin-sdk/{query-expansion-Zr9qQixm.js → query-expansion-CAI2kKLQ.js} +1 -1
  298. package/dist/plugin-sdk/{replies-wiI4veI7.js → replies-1macZ1mZ.js} +4 -4
  299. package/dist/plugin-sdk/{resolve-channels-ChWKWtA9.js → resolve-channels-87LZrFk_.js} +2 -2
  300. package/dist/plugin-sdk/resolve-channels-CwB2_019.js +4 -0
  301. package/dist/plugin-sdk/{resolve-outbound-target-bm9RUK5q.js → resolve-outbound-target-BdH6LUoW.js} +2 -2
  302. package/dist/plugin-sdk/{resolve-route-ekGNc6os.js → resolve-route-CkNIKKEW.js} +1 -1
  303. package/dist/plugin-sdk/{resolve-users-BTvjQuui.js → resolve-users-Cxb5wpAQ.js} +1 -1
  304. package/dist/plugin-sdk/{resolve-users-CTzoruIZ.js → resolve-users-V6dHh_2B.js} +2 -2
  305. package/dist/plugin-sdk/{retry-policy-BvlC2SPh.js → retry-policy-9ybIh4Fq.js} +1 -1
  306. package/dist/plugin-sdk/{runtime-ClSakPxR.js → runtime-Dy420wBu.js} +3 -3
  307. package/dist/plugin-sdk/{runtime-dependency-yAWxH4El.js → runtime-dependency-CIw9t7-k.js} +123 -15
  308. package/dist/plugin-sdk/{sandbox-paths-lj7_EVuA.js → sandbox-paths-w64tYl0v.js} +1 -1
  309. package/dist/plugin-sdk/sat-runtime.d.ts +3 -3
  310. package/dist/plugin-sdk/sat-runtime.js +44 -10
  311. package/dist/plugin-sdk/{send-D264hFVb.js → send-2VcOMTN5.js} +9 -9
  312. package/dist/plugin-sdk/{send-CgyS75Av.js → send-BQUtCJFW.js} +10 -10
  313. package/dist/plugin-sdk/{send-D58yEeH4.js → send-DPJIIYAs.js} +6 -6
  314. package/dist/plugin-sdk/{send-C7x6gzSl.js → send-Dqes9tdU.js} +13 -13
  315. package/dist/plugin-sdk/{send-DrAtUGLM.js → send-J4JWKP62.js} +8 -8
  316. package/dist/plugin-sdk/{session-DyMtb5YQ.js → session-C_n2S5ub.js} +3 -3
  317. package/dist/plugin-sdk/{skill-commands-Q80wCyry.js → skill-commands-B7wx9ax8.js} +102 -102
  318. package/dist/plugin-sdk/{slack-C-I6q3NB.js → slack-BouRQG-W.js} +64 -68
  319. package/dist/plugin-sdk/{slack-actions-dGE_t_Un.js → slack-actions-CasHVtiq.js} +20 -21
  320. package/dist/plugin-sdk/slack.d.ts +5 -5
  321. package/dist/plugin-sdk/slack.js +13 -13
  322. package/dist/plugin-sdk/{ssrf-BZG8Ztod.js → ssrf-fG4UHKBw.js} +180 -2
  323. package/dist/plugin-sdk/{sticker-cache-DCrDTYIi.js → sticker-cache-BvGEUas3.js} +3 -3
  324. package/dist/plugin-sdk/{tables-0mhUOh5v.js → tables-CjlQJV4r.js} +2 -2
  325. package/dist/plugin-sdk/{device-pairing-D2Yq-_U6.js → tailscale-status-DwpNdO3Z.js} +104 -2
  326. package/dist/plugin-sdk/{targets-znKHngSk.js → targets-QfP164Dh.js} +2 -2
  327. package/dist/plugin-sdk/{telegram-actions-GBYY8-x9.js → telegram-actions-CwYjV6Db.js} +48 -52
  328. package/dist/plugin-sdk/telegram.d.ts +5 -5
  329. package/dist/plugin-sdk/telegram.js +11 -11
  330. package/dist/plugin-sdk/{thread-bindings.lifecycle-ClzPBK70.js → thread-bindings.lifecycle-DU4iX_Jr.js} +3 -3
  331. package/dist/plugin-sdk/{thread-bindings.state-Ha01nmrq.js → thread-bindings.state-BgYWFjNF.js} +2 -2
  332. package/dist/plugin-sdk/{tmp-fased-dir-C_xfeEN9.d.ts → tmp-fased-dir-BdFQvrvw.d.ts} +2 -2
  333. package/dist/plugin-sdk/{types-DV5TNhMK.d.ts → types-BYDL6dQj.d.ts} +2 -2
  334. package/dist/plugin-sdk/{types-BI2njxWJ.d.ts → types-CLIvQaVg.d.ts} +39 -5
  335. package/dist/plugin-sdk/{types-CBCtqtMn.d.ts → types-DyhXnYUr.d.ts} +1 -1
  336. package/dist/plugin-sdk/{types.plugin-CvUiB3Kh.d.ts → types.plugin-_fbu40Re.d.ts} +8 -5
  337. package/dist/plugin-sdk/{web-CJMfhGFY.js → web-D0yENDve.js} +52 -56
  338. package/dist/plugin-sdk/{whatsapp-actions-0ZbGo5ZV.js → whatsapp-actions-BT2nPLyo.js} +18 -19
  339. package/dist/plugin-sdk/{whatsapp-heartbeat-DGTsuvQ8.js → whatsapp-heartbeat-CiABSZ6G.js} +2 -2
  340. package/dist/plugin-sdk/whatsapp.d.ts +5 -5
  341. package/dist/plugin-sdk/whatsapp.js +14 -14
  342. package/dist/plugin-sdk/{wsl-D5jDUlms.js → wsl-B_ojyEtC.js} +53 -53
  343. package/dist/plugins/bundled-dir.js +3 -3
  344. package/dist/plugins/discovery.js +11 -11
  345. package/dist/plugins/loader.js +13 -13
  346. package/dist/plugins/manifest-registry.js +2 -2
  347. package/dist/plugins/manifest.js +4 -4
  348. package/dist/plugins/path-safety.js +3 -3
  349. package/dist/plugins/runtime/index.js +1 -1
  350. package/dist/plugins/status-cache.js +9 -9
  351. package/dist/plugins/update.js +3 -3
  352. package/dist/plugins/web-search-install-catalog.js +3 -3
  353. package/dist/providers/github-copilot-model-discovery.js +51 -0
  354. package/dist/providers/litellm-models.js +1 -1
  355. package/dist/providers/openai-codex-model-discovery.js +166 -0
  356. package/dist/providers/refresh.js +311 -67
  357. package/dist/providers/registry.js +16 -6
  358. package/dist/providers/runtime-model-catalog.js +250 -0
  359. package/dist/secrets/apply.js +16 -16
  360. package/dist/secrets/audit.js +11 -11
  361. package/dist/secrets/shared.js +9 -9
  362. package/dist/security/scan-paths.js +2 -2
  363. package/dist/shared/config-eval.js +2 -2
  364. package/dist/shared/model-thinking.js +54 -4
  365. package/dist/shared/pid-alive.js +2 -2
  366. package/dist/tasks/standing-orders.js +5 -5
  367. package/dist/tasks/task-flow-registry.js +5 -5
  368. package/dist/tasks/task-registry.js +5 -5
  369. package/dist/tasks/workflow-definitions.js +6 -6
  370. package/dist/telegram/bot-message-context.js +1 -1
  371. package/dist/telegram/token.js +5 -5
  372. package/dist/utils.js +5 -5
  373. package/dist/wallet/local-socket-signer-broker.js +16 -16
  374. package/dist/wallet/providers/embedded-keystore-adapter.js +5 -5
  375. package/dist/wallet/providers/local-socket-signer-adapter.js +2 -2
  376. package/dist/wallet/wallet-approval-auth.js +5 -5
  377. package/dist/wallet/wallet-audit-log.js +5 -5
  378. package/dist/wallet/wallet-custody.js +21 -21
  379. package/dist/wallet/wallet-inbound-events.js +5 -5
  380. package/dist/wallet/wallet-observability.js +5 -5
  381. package/dist/wallet/wallet-policy.js +9 -9
  382. package/dist/wallet/wallet-provider-registry.js +7 -7
  383. package/dist/wallet/wallet-runtime-config.js +3 -3
  384. package/dist/wallet/wallet-secrets-store.js +22 -22
  385. package/dist/wallet/wallet-send-approvals.js +5 -5
  386. package/dist/wallet/wallet-settlement-links.js +5 -5
  387. package/dist/web/accounts.js +3 -3
  388. package/dist/web/auth-store.js +18 -18
  389. package/dist/web/session.js +4 -4
  390. package/dist/wizard/host-security-capability.js +2 -2
  391. package/dist/wizard/onboarding.host-security.js +7 -7
  392. package/dist/wizard/onboarding.js +31 -13
  393. package/dist/wizard/onboarding.wallet.js +44 -44
  394. package/extensions/acpx/package.json +1 -1
  395. package/extensions/bluebubbles/package.json +1 -1
  396. package/extensions/copilot-proxy/package.json +1 -1
  397. package/extensions/diagnostics-otel/package.json +1 -1
  398. package/extensions/fased-federation/package.json +1 -1
  399. package/extensions/google-gemini-cli-auth/package.json +1 -1
  400. package/extensions/imessage/package.json +1 -1
  401. package/extensions/irc/package.json +1 -1
  402. package/extensions/line/package.json +1 -1
  403. package/extensions/llm-task/package.json +1 -1
  404. package/extensions/lobster/package.json +1 -1
  405. package/extensions/matrix/CHANGELOG.md +12 -0
  406. package/extensions/matrix/package.json +1 -1
  407. package/extensions/mattermost/package.json +1 -1
  408. package/extensions/memory-core/package.json +2 -2
  409. package/extensions/memory-lancedb/package.json +1 -1
  410. package/extensions/minimax-portal-auth/package.json +1 -1
  411. package/extensions/msteams/CHANGELOG.md +12 -0
  412. package/extensions/msteams/package.json +1 -1
  413. package/extensions/nextcloud-talk/package.json +1 -1
  414. package/extensions/nostr/CHANGELOG.md +12 -0
  415. package/extensions/nostr/package.json +1 -1
  416. package/extensions/open-prose/package.json +1 -1
  417. package/extensions/sat-mining/package.json +1 -1
  418. package/extensions/signal/package.json +1 -1
  419. package/extensions/synology-chat/package.json +1 -1
  420. package/extensions/tlon/package.json +1 -1
  421. package/extensions/twitch/CHANGELOG.md +12 -0
  422. package/extensions/twitch/package.json +1 -1
  423. package/extensions/voice-call/CHANGELOG.md +12 -0
  424. package/extensions/voice-call/package.json +1 -1
  425. package/extensions/zalo/CHANGELOG.md +12 -0
  426. package/extensions/zalo/package.json +1 -1
  427. package/extensions/zalouser/CHANGELOG.md +12 -0
  428. package/extensions/zalouser/package.json +1 -1
  429. package/package.json +2 -1
  430. package/dist/control-ui/assets/chat-model-ref-B9sWop67.js +0 -2
  431. package/dist/plugin-sdk/ip-C70a-YlD.js +0 -181
  432. package/dist/plugin-sdk/tailscale-status-ClsquRGs.js +0 -104
  433. package/dist/plugin-sdk/wallet-status-CyovJojz.js +0 -11944
  434. package/dist/plugin-sdk/ws-CocpWGhl.js +0 -114
  435. /package/dist/plugin-sdk/{blocks-input-Dcitfh7h.js → blocks-input-Bg-8S2pl.js} +0 -0
  436. /package/dist/plugin-sdk/{channel-activity-Cg1xRoc2.js → channel-activity-DBDMQ3yI.js} +0 -0
  437. /package/dist/plugin-sdk/{channel-core-BOkyXXLa.js → channel-core-CFRs8LPy.js} +0 -0
  438. /package/dist/plugin-sdk/{client-D2N7hqVu.js → client-pI228AVT.js} +0 -0
  439. /package/dist/plugin-sdk/{command-poll-backoff-NAePk3eL.js → command-poll-backoff-yJU83wEq.js} +0 -0
  440. /package/dist/plugin-sdk/{date-time-CE3Uer3C.js → date-time-uUevHscU.js} +0 -0
  441. /package/dist/plugin-sdk/{diagnostic-session-state-HO94DMou.js → diagnostic-session-state-DqgfGYqZ.js} +0 -0
  442. /package/dist/plugin-sdk/{draft-stream-loop-CKyHn8IX.js → draft-stream-loop-CrOPfV3F.js} +0 -0
  443. /package/dist/plugin-sdk/{fetch-Cu-ahkie.js → fetch-BtmoPIlf.js} +0 -0
  444. /package/dist/plugin-sdk/{gateway-registry-DFsoY6C0.js → gateway-registry-DZDsqicG.js} +0 -0
  445. /package/dist/plugin-sdk/{inbound-context-BFnIdcqI.js → inbound-context-DrAcXE0y.js} +0 -0
  446. /package/dist/plugin-sdk/{internal-qo16nNU1.js → internal-CG_nHo-2.js} +0 -0
  447. /package/dist/plugin-sdk/{memory-search-C3C0bD2H.js → memory-search-VFll-AIb.js} +0 -0
  448. /package/dist/plugin-sdk/{pairing-token-N_6Jbt1L.js → pairing-token-Cs3BRKc0.js} +0 -0
  449. /package/dist/plugin-sdk/{path-alias-guards-Dg3gU-MA.js → path-alias-guards-BJZD5JMJ.js} +0 -0
  450. /package/dist/plugin-sdk/{polls-DQrR-qT3.js → polls-DKQXVfJp.js} +0 -0
  451. /package/dist/plugin-sdk/{proxy-7xs_rsnV.js → proxy-DWpYcsvR.js} +0 -0
  452. /package/dist/plugin-sdk/{qmd-scope-D1sSG_Rx.js → qmd-scope-CdX34VCV.js} +0 -0
  453. /package/dist/plugin-sdk/{redact-identifier-Q3tkvxhm.js → redact-identifier-Lt7t3l7S.js} +0 -0
  454. /package/dist/plugin-sdk/{redact-sensitive-url-dPvnFFsK.js → redact-sensitive-url-g-ukZjwA.js} +0 -0
  455. /package/dist/plugin-sdk/{render-Bwu_WxwA.js → render-e7fENCYH.js} +0 -0
  456. /package/dist/plugin-sdk/{reply-prefix-Bqzm6DC1.js → reply-prefix-ClpxvL_w.js} +0 -0
  457. /package/dist/plugin-sdk/{reply-reference-BkbK_DWT.js → reply-reference-Bqk-7HXE.js} +0 -0
  458. /package/dist/plugin-sdk/{secure-random-Bl-AVLVb.js → secure-random-BIkG-k4s.js} +0 -0
  459. /package/dist/plugin-sdk/{shared-clhhbWN3.js → shared-CBgp_GBw.js} +0 -0
  460. /package/dist/plugin-sdk/{target-errors-C_SVKoEv.js → target-errors-Ckufe179.js} +0 -0
  461. /package/dist/plugin-sdk/{targets-BDvvnlph.js → targets-CoMJ1ry1.js} +0 -0
  462. /package/dist/plugin-sdk/{tokens-BvtlOzVP.js → tokens-BbnqfVuu.js} +0 -0
  463. /package/dist/plugin-sdk/{tool-loop-detection-CWphm1k_.js → tool-loop-detection-Bp8bPJLs.js} +0 -0
  464. /package/dist/plugin-sdk/{ui-e020ouhJ.js → ui-Be8cLHIS.js} +0 -0
  465. /package/dist/plugin-sdk/{with-timeout-BYrRAYFV.js → with-timeout-ckWB8rTo.js} +0 -0
@@ -1,10 +1,10 @@
1
- import { $ as clearHistoryEntriesIfEnabled, At as allowListMatches, F as issuePairingChallenge, Ft as resolveSlackUserAllowed, G as logTypingFailure, Ht as enqueueSystemEvent, I as createTypingCallbacks, Ir as resolveCommandAuthorizedFromAuthorizers, Lr as resolveControlCommandGate, Mr as readStoreAllowFromForDmPolicy, Mt as normalizeAllowListLower, Nt as normalizeSlackSlug, Pn as installRequestBodyLimitGuard, Pt as resolveSlackAllowListMatch, R as resolveMentionGatingWithBypass, U as logAckFailure, Ut as resolveChannelConfigWrites, W as logInboundDrop, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, at as shouldAckReaction, c as addAllowlistUserEntriesFromConfigEntry, d as mergeAllowlist, dt as resolveInboundDebounceMs, f as patchAllowlistUsersInConfigEntries, fn as buildMentionRegexes, ft as formatInboundEnvelope, gt as createReplyDispatcherWithTyping, ht as dispatchInboundMessage, it as removeAckReactionAfterReply, jt as normalizeAllowList, l as buildAllowlistResolutionSummary, ln as hasControlCommand, mt as resolveEnvelopeFormatOptions, nt as recordPendingHistoryEntryIfEnabled, or as createDedupeCache, p as summarizeMapping, pn as matchesMentionWithExplicit, ri as formatAllowlistMatchMeta, rt as recordInboundSession, sr as pruneMapToMaxSize, ut as createInboundDebouncer, x as isDangerousNameMatchingEnabled } from "./config-schema-BaybPPrJ.js";
2
- import { K as resolveSessionKey, S as readSessionUpdatedAt, w as updateLastRoute } from "./runtime-ClSakPxR.js";
1
+ import { $t as normalizeSlackSlug, Bt as hasControlCommand, Ci as resolveCommandAuthorizedFromAuthorizers, F as issuePairingChallenge, G as logTypingFailure, I as createTypingCallbacks, In as installRequestBodyLimitGuard, Jr as pruneMapToMaxSize, Qt as normalizeAllowListLower, R as resolveMentionGatingWithBypass, St as resolveChannelConfigWrites, U as logAckFailure, W as logInboundDrop, Wi as formatAllowlistMatchMeta, Wt as enqueueSystemEvent, X as removeAckReactionAfterReply, Xt as allowListMatches, Y as recordInboundSession, Z as shouldAckReaction, Zt as normalizeAllowList, bn as matchesMentionWithExplicit, c as addAllowlistUserEntriesFromConfigEntry, ct as createReplyDispatcherWithTyping, d as mergeAllowlist, dn as DEFAULT_GROUP_HISTORY_LIMIT, en as resolveSlackAllowListMatch, f as patchAllowlistUsersInConfigEntries, hn as clearHistoryEntriesIfEnabled, it as formatInboundEnvelope, l as buildAllowlistResolutionSummary, nt as createInboundDebouncer, ot as resolveEnvelopeFormatOptions, p as summarizeMapping, pn as buildPendingHistoryContextFromMap, qr as createDedupeCache, rt as resolveInboundDebounceMs, st as dispatchInboundMessage, tn as resolveSlackUserAllowed, vn as recordPendingHistoryEntryIfEnabled, wi as resolveControlCommandGate, x as isDangerousNameMatchingEnabled, yi as readStoreAllowFromForDmPolicy, yn as buildMentionRegexes } from "./config-schema-B9DKr6J5.js";
2
+ import { K as resolveSessionKey, S as readSessionUpdatedAt, w as updateLastRoute } from "./runtime-Dy420wBu.js";
3
3
  import { r as createNonExitingRuntime } from "./subsystem-DBPNbQDQ.js";
4
4
  import { i as logVerbose, l as warn, p as getChildLogger, s as shouldLogVerbose, t as danger } from "./globals-B_jjtAje.js";
5
5
  import "./paths-BEmvSyOV.js";
6
6
  import "./utils-CYk9EKoq.js";
7
- import { Nt as resolveSlackNativeStreaming, Pt as resolveSlackStreamingMode, jt as mapStreamingModeToSlackLegacyDraftStreamMode, n as loadConfig, s as writeConfigFile } from "./config-rySyVtKs.js";
7
+ import { Nt as resolveSlackNativeStreaming, Pt as resolveSlackStreamingMode, jt as mapStreamingModeToSlackLegacyDraftStreamMode, n as loadConfig, s as writeConfigFile } from "./config-Bt5GhnA-.js";
8
8
  import "./agent-scope-BbgPlhtw.js";
9
9
  import { n as resolveConversationLabel } from "./conversation-label-BoVqak2R.js";
10
10
  import { c as normalizeMainKey, p as normalizeAccountId, u as resolveThreadSessionKeys } from "./session-key-HSJ2KQTc.js";
@@ -12,65 +12,61 @@ import "./accounts-RHZyaB73.js";
12
12
  import { i as resolveSlackAccount, n as listSlackAccountIds, o as resolveSlackAppToken, r as resolveDefaultSlackAccountId, s as resolveSlackBotToken, t as listEnabledSlackAccounts } from "./accounts-CuqIKU8X.js";
13
13
  import "./logger-BbFvCoKk.js";
14
14
  import "./exec-DQ8j4Fm3.js";
15
- import "./accounts-DW9OS5Ll.js";
16
- import { S as resolveChannelEntryMatchWithFallback, v as applyChannelMatchMeta, y as buildChannelKeyCandidates } from "./allow-list-BYeKk0Sy.js";
15
+ import "./accounts-DzWlKv1U.js";
16
+ import { S as resolveChannelEntryMatchWithFallback, v as applyChannelMatchMeta, y as buildChannelKeyCandidates } from "./allow-list-DyAxs4yw.js";
17
17
  import "./redact-Bm8vu_ju.js";
18
18
  import "./github-copilot-token-CUK__1s1.js";
19
19
  import "./retry-DstNBhDW.js";
20
20
  import { l as resolveStorePath } from "./paths-CTZ2RS_E.js";
21
- import "./ip-C70a-YlD.js";
22
- import { c as normalizeHostname } from "./ssrf-BZG8Ztod.js";
23
- import "./fetch-guard-BuYrl6q2.js";
24
- import "./send-D58yEeH4.js";
25
- import { A as resolveDefaultGroupPolicy, M as warnMissingProviderGroupPolicyFallbackOnce, j as resolveOpenProviderRuntimeGroupPolicy } from "./helpers-DgRMfCnT.js";
26
- import "./wsl-D5jDUlms.js";
27
- import { a as upsertChannelPairingRequest } from "./pairing-store-D-21Sphe.js";
28
- import { l as resolveTextChunkLimit } from "./chunk-B2ffJ-LR.js";
29
- import "./tailscale-status-ClsquRGs.js";
30
- import { a as resolveAckReaction, c as resolveHumanDelayConfig, n as createReplyPrefixOptions } from "./reply-prefix-Bqzm6DC1.js";
31
- import "./tokens-BvtlOzVP.js";
32
- import "./device-pairing-D2Yq-_U6.js";
33
- import "./pairing-token-N_6Jbt1L.js";
34
- import { t as generateSecureToken } from "./secure-random-Bl-AVLVb.js";
35
- import "./diagnostic-Dfn1iERm.js";
36
- import "./diagnostic-session-state-HO94DMou.js";
37
- import "./optional-runtime-dependency-DEojVNfv.js";
38
- import "./image-ops-CcBfoMLW.js";
39
- import "./wallet-status-CyovJojz.js";
40
- import "./pi-model-discovery-B6gD1clF.js";
41
- import "./runtime-dependency-yAWxH4El.js";
42
- import "./ws-CocpWGhl.js";
43
- import "./path-alias-guards-Dg3gU-MA.js";
44
- import "./fs-safe-BG-VzVkL.js";
45
- import "./markdown-tables-BOG5sSQQ.js";
46
- import { a as fetchRemoteMedia } from "./media-Bu-nJpPs.js";
47
- import "./send-DrAtUGLM.js";
48
- import { a as saveMediaBuffer } from "./outbound-attachment-ivAHpWnn.js";
49
- import "./fetch-Cu-ahkie.js";
50
- import "./thread-bindings.state-Ha01nmrq.js";
51
- import "./memory-search-C3C0bD2H.js";
52
- import "./manager-Cqz30lA3.js";
53
- import "./query-expansion-Zr9qQixm.js";
54
- import "./common-C4XrB73N.js";
55
- import { E as resolveNativeSkillsEnabled, T as resolveNativeCommandsEnabled, g as shouldHandleTextCommands } from "./commands-registry-BWb4NcfW.js";
56
- import "./skill-commands-Q80wCyry.js";
57
- import { t as finalizeInboundContext } from "./inbound-context-BFnIdcqI.js";
58
- import "./directory-live-DatqU-eS.js";
59
- import "./targets-znKHngSk.js";
60
- import "./sandbox-paths-lj7_EVuA.js";
61
- import { n as resolveAgentRoute } from "./resolve-route-ekGNc6os.js";
62
- import "./render-Bwu_WxwA.js";
63
- import "./tables-0mhUOh5v.js";
64
- import "./shared-clhhbWN3.js";
65
- import { t as sendMessageSlack } from "./send-D264hFVb.js";
66
- import { r as resolveSlackWebClientOptions } from "./client-D2N7hqVu.js";
67
- import { a as listSlackPins, c as reactSlackMessage, d as removeSlackReaction, f as sendSlackMessage, i as listSlackEmojis, l as readSlackMessages, n as editSlackMessage, o as listSlackReactions, p as unpinSlackMessage, r as getSlackMemberInfo, s as pinSlackMessage, t as deleteSlackMessage, u as removeOwnSlackReactions } from "./actions-DQUXohRr.js";
68
- import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-jOdkyP53.js";
69
- import { t as createDraftStreamLoop } from "./draft-stream-loop-CKyHn8IX.js";
70
- import { t as resolveSlackChannelAllowlist } from "./resolve-channels-zEnvugag.js";
71
- import { t as resolveSlackUserAllowlist } from "./resolve-users-BTvjQuui.js";
72
- import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-wiI4veI7.js";
73
- import { probeSlack } from "./probe-Cyb-DGA3.js";
21
+ import { c as normalizeHostname } from "./ssrf-fG4UHKBw.js";
22
+ import "./fetch-guard-CeG6u6ld.js";
23
+ import "./send-DPJIIYAs.js";
24
+ import { A as resolveDefaultGroupPolicy, M as warnMissingProviderGroupPolicyFallbackOnce, j as resolveOpenProviderRuntimeGroupPolicy } from "./helpers-CluGKuIV.js";
25
+ import "./wsl-B_ojyEtC.js";
26
+ import { a as upsertChannelPairingRequest } from "./pairing-store-B01mCSct.js";
27
+ import { l as resolveTextChunkLimit } from "./chunk-B8EZkwiT.js";
28
+ import "./tailscale-status-DwpNdO3Z.js";
29
+ import { a as resolveAckReaction, c as resolveHumanDelayConfig, n as createReplyPrefixOptions } from "./reply-prefix-ClpxvL_w.js";
30
+ import "./tokens-BbnqfVuu.js";
31
+ import "./pairing-token-Cs3BRKc0.js";
32
+ import { t as generateSecureToken } from "./secure-random-BIkG-k4s.js";
33
+ import "./diagnostic-DLL_zekv.js";
34
+ import "./diagnostic-session-state-DqgfGYqZ.js";
35
+ import "./optional-runtime-dependency-DKmk9PZa.js";
36
+ import "./image-ops-CUaLtIFj.js";
37
+ import "./memory-search-VFll-AIb.js";
38
+ import "./manager-oHAvZCT3.js";
39
+ import "./query-expansion-CAI2kKLQ.js";
40
+ import "./common-CbfckC19.js";
41
+ import { E as resolveNativeSkillsEnabled, T as resolveNativeCommandsEnabled, g as shouldHandleTextCommands } from "./commands-registry-BfEa4tFA.js";
42
+ import "./runtime-dependency-CIw9t7-k.js";
43
+ import "./path-alias-guards-BJZD5JMJ.js";
44
+ import "./fs-safe-xBqok6yR.js";
45
+ import "./markdown-tables-Mkx7k92Y.js";
46
+ import { a as fetchRemoteMedia } from "./media-CA8sTmVE.js";
47
+ import "./send-J4JWKP62.js";
48
+ import { a as saveMediaBuffer } from "./outbound-attachment-DdVkqUzE.js";
49
+ import "./fetch-BtmoPIlf.js";
50
+ import "./thread-bindings.state-BgYWFjNF.js";
51
+ import "./skill-commands-B7wx9ax8.js";
52
+ import "./sandbox-paths-w64tYl0v.js";
53
+ import "./directory-live-CSuYxdwk.js";
54
+ import "./targets-QfP164Dh.js";
55
+ import "./pi-model-discovery-Buz0JC1Y.js";
56
+ import { n as resolveAgentRoute } from "./resolve-route-CkNIKKEW.js";
57
+ import { t as finalizeInboundContext } from "./inbound-context-DrAcXE0y.js";
58
+ import "./render-e7fENCYH.js";
59
+ import "./tables-CjlQJV4r.js";
60
+ import "./shared-CBgp_GBw.js";
61
+ import { t as sendMessageSlack } from "./send-2VcOMTN5.js";
62
+ import { r as resolveSlackWebClientOptions } from "./client-pI228AVT.js";
63
+ import { a as listSlackPins, c as reactSlackMessage, d as removeSlackReaction, f as sendSlackMessage, i as listSlackEmojis, l as readSlackMessages, n as editSlackMessage, o as listSlackReactions, p as unpinSlackMessage, r as getSlackMemberInfo, s as pinSlackMessage, t as deleteSlackMessage, u as removeOwnSlackReactions } from "./actions-BplQVLL6.js";
64
+ import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-CEPklxGe.js";
65
+ import { t as createDraftStreamLoop } from "./draft-stream-loop-CrOPfV3F.js";
66
+ import { t as resolveSlackUserAllowlist } from "./resolve-users-Cxb5wpAQ.js";
67
+ import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-1macZ1mZ.js";
68
+ import { t as resolveSlackChannelAllowlist } from "./probe-xY3Ky0Tx.js";
69
+ import { t as probeSlack } from "./probe--7xtfzMm.js";
74
70
  import SlackBolt from "@slack/bolt";
75
71
 
76
72
  //#region src/slack/http/registry.ts
@@ -2918,7 +2914,7 @@ function readSlackExternalArgMenuToken(raw) {
2918
2914
  }
2919
2915
  let commandsRegistry;
2920
2916
  async function getCommandsRegistry() {
2921
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BWb4NcfW.js").then((n) => n.n);
2917
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BfEa4tFA.js").then((n) => n.n);
2922
2918
  return commandsRegistry;
2923
2919
  }
2924
2920
  function encodeSlackCommandArgValue(parts) {
@@ -3242,14 +3238,14 @@ async function registerSlackMonitorSlashCommands(params) {
3242
3238
  const channelName = channelInfo?.name;
3243
3239
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
3244
3240
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
3245
- import("./resolve-route-ekGNc6os.js").then((n) => n.r),
3246
- import("./inbound-context-BFnIdcqI.js").then((n) => n.n),
3247
- import("./config-schema-BaybPPrJ.js").then((n) => n.lt)
3241
+ import("./resolve-route-CkNIKKEW.js").then((n) => n.r),
3242
+ import("./inbound-context-DrAcXE0y.js").then((n) => n.n),
3243
+ import("./config-schema-B9DKr6J5.js").then((n) => n.tt)
3248
3244
  ]);
3249
3245
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordSessionMetaFromInbound, resolveStorePath }] = await Promise.all([
3250
3246
  import("./conversation-label-BoVqak2R.js").then((n) => n.t),
3251
- import("./reply-prefix-Bqzm6DC1.js").then((n) => n.r),
3252
- import("./runtime-ClSakPxR.js").then((n) => n.m)
3247
+ import("./reply-prefix-ClpxvL_w.js").then((n) => n.r),
3248
+ import("./runtime-Dy420wBu.js").then((n) => n.m)
3253
3249
  ]);
3254
3250
  const route = resolveAgentRoute({
3255
3251
  cfg,
@@ -3317,9 +3313,9 @@ async function registerSlackMonitorSlashCommands(params) {
3317
3313
  });
3318
3314
  const deliverSlashPayloads = async (replies) => {
3319
3315
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
3320
- import("./replies-wiI4veI7.js").then((n) => n.r),
3321
- import("./chunk-B2ffJ-LR.js").then((n) => n.s),
3322
- import("./markdown-tables-BOG5sSQQ.js").then((n) => n.t)
3316
+ import("./replies-1macZ1mZ.js").then((n) => n.r),
3317
+ import("./chunk-B8EZkwiT.js").then((n) => n.s),
3318
+ import("./markdown-tables-Mkx7k92Y.js").then((n) => n.t)
3323
3319
  ]);
3324
3320
  await deliverSlackSlashReplies({
3325
3321
  replies,
@@ -3372,7 +3368,7 @@ async function registerSlackMonitorSlashCommands(params) {
3372
3368
  let nativeCommands = [];
3373
3369
  if (nativeEnabled) {
3374
3370
  reg = await getCommandsRegistry();
3375
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-Q80wCyry.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
3371
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-B7wx9ax8.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
3376
3372
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
3377
3373
  skillCommands,
3378
3374
  provider: "slack"
@@ -1,37 +1,36 @@
1
- import { bt as parseSlackTarget, xt as resolveSlackChannelId } from "./runtime-ClSakPxR.js";
1
+ import { bt as parseSlackTarget, xt as resolveSlackChannelId } from "./runtime-Dy420wBu.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-rySyVtKs.js";
6
+ import "./config-Bt5GhnA-.js";
7
7
  import "./agent-scope-BbgPlhtw.js";
8
8
  import "./accounts-RHZyaB73.js";
9
9
  import { i as resolveSlackAccount } from "./accounts-CuqIKU8X.js";
10
10
  import "./logger-BbFvCoKk.js";
11
11
  import "./exec-DQ8j4Fm3.js";
12
- import "./accounts-DW9OS5Ll.js";
12
+ import "./accounts-DzWlKv1U.js";
13
13
  import "./redact-Bm8vu_ju.js";
14
14
  import "./github-copilot-token-CUK__1s1.js";
15
15
  import "./retry-DstNBhDW.js";
16
16
  import "./paths-CTZ2RS_E.js";
17
- import "./ip-C70a-YlD.js";
18
- import "./ssrf-BZG8Ztod.js";
19
- import "./fetch-guard-BuYrl6q2.js";
20
- import "./chunk-B2ffJ-LR.js";
21
- import "./tokens-BvtlOzVP.js";
22
- import "./optional-runtime-dependency-DEojVNfv.js";
23
- import "./image-ops-CcBfoMLW.js";
24
- import "./path-alias-guards-Dg3gU-MA.js";
25
- import "./fs-safe-BG-VzVkL.js";
26
- import "./markdown-tables-BOG5sSQQ.js";
27
- import "./media-Bu-nJpPs.js";
28
- import { a as jsonResult, c as readReactionParams, d as readStringParam, n as createActionGate, s as readNumberParam } from "./common-C4XrB73N.js";
29
- import { i as withNormalizedTimestamp } from "./date-time-CE3Uer3C.js";
30
- import "./render-Bwu_WxwA.js";
31
- import { t as parseSlackBlocksInput } from "./blocks-input-Dcitfh7h.js";
32
- import "./send-D264hFVb.js";
33
- import "./client-D2N7hqVu.js";
34
- import { a as listSlackPins, c as reactSlackMessage, d as removeSlackReaction, f as sendSlackMessage, i as listSlackEmojis, l as readSlackMessages, n as editSlackMessage, o as listSlackReactions, p as unpinSlackMessage, r as getSlackMemberInfo, s as pinSlackMessage, t as deleteSlackMessage, u as removeOwnSlackReactions } from "./actions-DQUXohRr.js";
17
+ import "./ssrf-fG4UHKBw.js";
18
+ import "./fetch-guard-CeG6u6ld.js";
19
+ import "./chunk-B8EZkwiT.js";
20
+ import "./tokens-BbnqfVuu.js";
21
+ import "./optional-runtime-dependency-DKmk9PZa.js";
22
+ import "./image-ops-CUaLtIFj.js";
23
+ import { a as jsonResult, c as readReactionParams, d as readStringParam, n as createActionGate, s as readNumberParam } from "./common-CbfckC19.js";
24
+ import "./path-alias-guards-BJZD5JMJ.js";
25
+ import "./fs-safe-xBqok6yR.js";
26
+ import "./markdown-tables-Mkx7k92Y.js";
27
+ import "./media-CA8sTmVE.js";
28
+ import { i as withNormalizedTimestamp } from "./date-time-uUevHscU.js";
29
+ import "./render-e7fENCYH.js";
30
+ import { t as parseSlackBlocksInput } from "./blocks-input-Bg-8S2pl.js";
31
+ import "./send-2VcOMTN5.js";
32
+ import "./client-pI228AVT.js";
33
+ import { a as listSlackPins, c as reactSlackMessage, d as removeSlackReaction, f as sendSlackMessage, i as listSlackEmojis, l as readSlackMessages, n as editSlackMessage, o as listSlackReactions, p as unpinSlackMessage, r as getSlackMemberInfo, s as pinSlackMessage, t as deleteSlackMessage, u as removeOwnSlackReactions } from "./actions-BplQVLL6.js";
35
34
 
36
35
  //#region src/agents/tools/slack-actions.ts
37
36
  const messagingActions = new Set([
@@ -1,9 +1,9 @@
1
1
  import { n as DEFAULT_ACCOUNT_ID, r as normalizeAccountId } from "./session-key--_1zVBRB.js";
2
- import { At as FasedAgentConfig, J as ChannelMessageActionAdapter, Y as ChannelMessageActionContext, ct as ChannelThreadingToolContext, lt as ChannelToolSend, n as ChannelPlugin, qt as SlackAccountConfig, r as ChannelOnboardingAdapter, st as ChannelThreadingContext, u as ChannelMessageActionName, ut as getChatChannelMeta } from "./types.plugin-CvUiB3Kh.js";
3
- import { Bt as resolveDefaultGroupPolicy, Cn as readStringParam, Gt as listSlackDirectoryGroupsFromConfig, Jt as listTelegramDirectoryPeersFromConfig, Kt as listSlackDirectoryPeersFromConfig, Ut as listDiscordDirectoryGroupsFromConfig, Vt as resolveOpenProviderRuntimeGroupPolicy, Wt as listDiscordDirectoryPeersFromConfig, Xt as listWhatsAppDirectoryPeersFromConfig, Yt as listWhatsAppDirectoryGroupsFromConfig, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-DV5TNhMK.js";
4
- import { D as normalizeE164 } from "./types-BI2njxWJ.js";
5
- 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-CvJ6Qa1Q.js";
6
- import { _ as buildTokenChannelStatusSummary, l as resolveSlackGroupRequireMention, u as resolveSlackGroupToolPolicy } from "./group-mentions-DLOOve8d.js";
2
+ import { At as FasedAgentConfig, J as ChannelMessageActionAdapter, Jt as SlackAccountConfig, Y as ChannelMessageActionContext, ct as ChannelThreadingToolContext, lt as ChannelToolSend, n as ChannelPlugin, r as ChannelOnboardingAdapter, st as ChannelThreadingContext, u as ChannelMessageActionName, ut as getChatChannelMeta } from "./types.plugin-_fbu40Re.js";
3
+ import { Bt as resolveDefaultGroupPolicy, Cn as readStringParam, Gt as listSlackDirectoryGroupsFromConfig, Jt as listTelegramDirectoryPeersFromConfig, Kt as listSlackDirectoryPeersFromConfig, Ut as listDiscordDirectoryGroupsFromConfig, Vt as resolveOpenProviderRuntimeGroupPolicy, Wt as listDiscordDirectoryPeersFromConfig, Xt as listWhatsAppDirectoryPeersFromConfig, Yt as listWhatsAppDirectoryGroupsFromConfig, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-BYDL6dQj.js";
4
+ import { D as normalizeE164 } from "./types-CLIvQaVg.js";
5
+ 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-BMkkS038.js";
6
+ import { _ as buildTokenChannelStatusSummary, l as resolveSlackGroupRequireMention, u as resolveSlackGroupToolPolicy } from "./group-mentions-BHRff6j8.js";
7
7
  import { o as SlackConfigSchema } from "./zod-schema.providers-core-CIzCjXH9.js";
8
8
  import { AgentToolResult } from "@mariozechner/pi-agent-core";
9
9
 
@@ -1,28 +1,28 @@
1
- import { Jt as resolveSlackGroupRequireMention, Nn as getChatChannelMeta, Yt as resolveSlackGroupToolPolicy, _t as listWhatsAppDirectoryPeersFromConfig, cn as buildSlackThreadingToolContext, dt as listDiscordDirectoryPeersFromConfig, ft as listSlackDirectoryGroupsFromConfig, gt as listWhatsAppDirectoryGroupsFromConfig, ht as listTelegramDirectoryPeersFromConfig, mt as listTelegramDirectoryGroupsFromConfig, pt as listSlackDirectoryPeersFromConfig, ut as listDiscordDirectoryGroupsFromConfig, vt as looksLikeSlackTargetId, yt as normalizeSlackMessagingTarget } from "./runtime-ClSakPxR.js";
1
+ import { Jt as resolveSlackGroupRequireMention, Nn as getChatChannelMeta, Yt as resolveSlackGroupToolPolicy, _t as listWhatsAppDirectoryPeersFromConfig, cn as buildSlackThreadingToolContext, dt as listDiscordDirectoryPeersFromConfig, ft as listSlackDirectoryGroupsFromConfig, gt as listWhatsAppDirectoryGroupsFromConfig, ht as listTelegramDirectoryPeersFromConfig, mt as listTelegramDirectoryGroupsFromConfig, pt as listSlackDirectoryPeersFromConfig, ut as listDiscordDirectoryGroupsFromConfig, vt as looksLikeSlackTargetId, yt as normalizeSlackMessagingTarget } from "./runtime-Dy420wBu.js";
2
2
  import "./subsystem-DBPNbQDQ.js";
3
3
  import "./globals-B_jjtAje.js";
4
4
  import "./paths-BEmvSyOV.js";
5
5
  import { d as normalizeE164 } from "./utils-CYk9EKoq.js";
6
- import { h as SlackConfigSchema } from "./config-rySyVtKs.js";
6
+ import { h as SlackConfigSchema } from "./config-Bt5GhnA-.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 { a as resolveSlackReplyToMode, i as resolveSlackAccount, n as listSlackAccountIds, r as resolveDefaultSlackAccountId, t as listEnabledSlackAccounts } from "./accounts-CuqIKU8X.js";
11
11
  import "./logger-BbFvCoKk.js";
12
12
  import "./exec-DQ8j4Fm3.js";
13
- import "./accounts-DW9OS5Ll.js";
13
+ import "./accounts-DzWlKv1U.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-CqYG12t-.js";
19
- import { A as resolveDefaultGroupPolicy, D as formatDocsLink, _ as setAccountGroupPolicyForChannel, a as noteChannelLookupFailure, b as setOnboardingChannelEnabled, d as promptLegacyChannelAllowFrom, g as resolveOnboardingAccountId, h as resolveAccountIdForConfigure, j as resolveOpenProviderRuntimeGroupPolicy, k as resolveAllowlistProviderRuntimeGroupPolicy, l as patchChannelConfigForAccount, o as noteChannelLookupSummary, s as parseMentionOrPrefixedId, w as buildTokenChannelStatusSummary, y as setLegacyChannelDmPolicyWithAllowFrom } from "./helpers-DgRMfCnT.js";
20
- import "./optional-runtime-dependency-DEojVNfv.js";
21
- import "./image-ops-CcBfoMLW.js";
22
- import { d as readStringParam, n as createActionGate, s as readNumberParam } from "./common-C4XrB73N.js";
23
- import "./channel-core-BOkyXXLa.js";
24
- import { t as configureChannelAccessWithAllowlist } from "./channel-access-configure-B7Kkvx9K.js";
25
- import { t as parseSlackBlocksInput } from "./blocks-input-Dcitfh7h.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-ClqhfCUk.js";
19
+ import { A as resolveDefaultGroupPolicy, D as formatDocsLink, _ as setAccountGroupPolicyForChannel, a as noteChannelLookupFailure, b as setOnboardingChannelEnabled, d as promptLegacyChannelAllowFrom, g as resolveOnboardingAccountId, h as resolveAccountIdForConfigure, j as resolveOpenProviderRuntimeGroupPolicy, k as resolveAllowlistProviderRuntimeGroupPolicy, l as patchChannelConfigForAccount, o as noteChannelLookupSummary, s as parseMentionOrPrefixedId, w as buildTokenChannelStatusSummary, y as setLegacyChannelDmPolicyWithAllowFrom } from "./helpers-CluGKuIV.js";
20
+ import "./optional-runtime-dependency-DKmk9PZa.js";
21
+ import "./image-ops-CUaLtIFj.js";
22
+ import { d as readStringParam, n as createActionGate, s as readNumberParam } from "./common-CbfckC19.js";
23
+ import "./channel-core-CFRs8LPy.js";
24
+ import { t as configureChannelAccessWithAllowlist } from "./channel-access-configure-CD4QDN5E.js";
25
+ import { t as parseSlackBlocksInput } from "./blocks-input-Bg-8S2pl.js";
26
26
 
27
27
  //#region src/slack/message-actions.ts
28
28
  function listSlackMessageActions(cfg) {
@@ -314,7 +314,7 @@ async function promptSlackAllowFrom(params) {
314
314
  parseId,
315
315
  invalidWithoutTokenNote: "Slack token missing; use user ids (or mention form) only.",
316
316
  resolveEntries: async ({ token, entries }) => {
317
- const { resolveSlackUserAllowlist } = await import("./resolve-users-BTvjQuui.js").then((n) => n.n);
317
+ const { resolveSlackUserAllowlist } = await import("./resolve-users-Cxb5wpAQ.js").then((n) => n.n);
318
318
  return resolveSlackUserAllowlist({
319
319
  token,
320
320
  entries
@@ -461,7 +461,7 @@ const slackOnboardingAdapter = {
461
461
  accountId: slackAccountId
462
462
  });
463
463
  if (accountWithTokens.botToken && entries.length > 0) try {
464
- const { resolveSlackChannelAllowlist } = await import("./resolve-channels-zEnvugag.js").then((n) => n.n);
464
+ const { resolveSlackChannelAllowlist } = await import("./resolve-channels-CwB2_019.js");
465
465
  const resolved = await resolveSlackChannelAllowlist({
466
466
  token: accountWithTokens.botToken,
467
467
  entries
@@ -1,8 +1,186 @@
1
- import { d as parseLooseIpAddress, i as isCanonicalDottedDecimalIPv4, n as isBlockedSpecialUseIpv4Address, o as isIpv4Address, r as isBlockedSpecialUseIpv6Address, s as isLegacyIpv4Literal, t as extractEmbeddedIpv4FromIpv6, u as parseCanonicalIpAddress } from "./ip-C70a-YlD.js";
2
1
  import { Agent } from "undici";
3
2
  import { lookup } from "node:dns";
4
3
  import { lookup as lookup$1 } from "node:dns/promises";
4
+ import ipaddr from "ipaddr.js";
5
5
 
6
+ //#region src/shared/net/ip.ts
7
+ const BLOCKED_IPV4_SPECIAL_USE_RANGES = new Set([
8
+ "unspecified",
9
+ "broadcast",
10
+ "multicast",
11
+ "linkLocal",
12
+ "loopback",
13
+ "carrierGradeNat",
14
+ "private",
15
+ "reserved"
16
+ ]);
17
+ const BLOCKED_IPV6_SPECIAL_USE_RANGES = new Set([
18
+ "unspecified",
19
+ "loopback",
20
+ "linkLocal",
21
+ "uniqueLocal",
22
+ "multicast"
23
+ ]);
24
+ const RFC2544_BENCHMARK_PREFIX = [ipaddr.IPv4.parse("198.18.0.0"), 15];
25
+ const EMBEDDED_IPV4_SENTINEL_RULES = [
26
+ {
27
+ matches: (parts) => parts[0] === 0 && parts[1] === 0 && parts[2] === 0 && parts[3] === 0 && parts[4] === 0 && parts[5] === 0,
28
+ toHextets: (parts) => [parts[6], parts[7]]
29
+ },
30
+ {
31
+ matches: (parts) => parts[0] === 100 && parts[1] === 65435 && parts[2] === 1 && parts[3] === 0 && parts[4] === 0 && parts[5] === 0,
32
+ toHextets: (parts) => [parts[6], parts[7]]
33
+ },
34
+ {
35
+ matches: (parts) => parts[0] === 8194,
36
+ toHextets: (parts) => [parts[1], parts[2]]
37
+ },
38
+ {
39
+ matches: (parts) => parts[0] === 8193 && parts[1] === 0,
40
+ toHextets: (parts) => [parts[6] ^ 65535, parts[7] ^ 65535]
41
+ },
42
+ {
43
+ matches: (parts) => (parts[4] & 64767) === 0 && parts[5] === 24318,
44
+ toHextets: (parts) => [parts[6], parts[7]]
45
+ }
46
+ ];
47
+ function stripIpv6Brackets(value) {
48
+ if (value.startsWith("[") && value.endsWith("]")) return value.slice(1, -1);
49
+ return value;
50
+ }
51
+ function isNumericIpv4LiteralPart(value) {
52
+ return /^[0-9]+$/.test(value) || /^0x[0-9a-f]+$/i.test(value);
53
+ }
54
+ function parseIpv6WithEmbeddedIpv4(raw) {
55
+ if (!raw.includes(":") || !raw.includes(".")) return;
56
+ const match = /^(.*:)([^:%]+(?:\.[^:%]+){3})(%[0-9A-Za-z]+)?$/i.exec(raw);
57
+ if (!match) return;
58
+ const [, prefix, embeddedIpv4, zoneSuffix = ""] = match;
59
+ if (!ipaddr.IPv4.isValidFourPartDecimal(embeddedIpv4)) return;
60
+ const octets = embeddedIpv4.split(".").map((part) => Number.parseInt(part, 10));
61
+ const normalizedIpv6 = `${prefix}${(octets[0] << 8 | octets[1]).toString(16)}:${(octets[2] << 8 | octets[3]).toString(16)}${zoneSuffix}`;
62
+ if (!ipaddr.IPv6.isValid(normalizedIpv6)) return;
63
+ return ipaddr.IPv6.parse(normalizedIpv6);
64
+ }
65
+ function isIpv4Address(address) {
66
+ return address.kind() === "ipv4";
67
+ }
68
+ function isIpv6Address(address) {
69
+ return address.kind() === "ipv6";
70
+ }
71
+ function normalizeIpv4MappedAddress(address) {
72
+ if (!isIpv6Address(address)) return address;
73
+ if (!address.isIPv4MappedAddress()) return address;
74
+ return address.toIPv4Address();
75
+ }
76
+ function parseCanonicalIpAddress(raw) {
77
+ const trimmed = raw?.trim();
78
+ if (!trimmed) return;
79
+ const normalized = stripIpv6Brackets(trimmed);
80
+ if (!normalized) return;
81
+ if (ipaddr.IPv4.isValid(normalized)) {
82
+ if (!ipaddr.IPv4.isValidFourPartDecimal(normalized)) return;
83
+ return ipaddr.IPv4.parse(normalized);
84
+ }
85
+ if (ipaddr.IPv6.isValid(normalized)) return ipaddr.IPv6.parse(normalized);
86
+ return parseIpv6WithEmbeddedIpv4(normalized);
87
+ }
88
+ function parseLooseIpAddress(raw) {
89
+ const trimmed = raw?.trim();
90
+ if (!trimmed) return;
91
+ const normalized = stripIpv6Brackets(trimmed);
92
+ if (!normalized) return;
93
+ if (ipaddr.isValid(normalized)) return ipaddr.parse(normalized);
94
+ return parseIpv6WithEmbeddedIpv4(normalized);
95
+ }
96
+ function normalizeIpAddress(raw) {
97
+ const parsed = parseCanonicalIpAddress(raw);
98
+ if (!parsed) return;
99
+ return normalizeIpv4MappedAddress(parsed).toString().toLowerCase();
100
+ }
101
+ function isCanonicalDottedDecimalIPv4(raw) {
102
+ const trimmed = raw?.trim();
103
+ if (!trimmed) return false;
104
+ const normalized = stripIpv6Brackets(trimmed);
105
+ if (!normalized) return false;
106
+ return ipaddr.IPv4.isValidFourPartDecimal(normalized);
107
+ }
108
+ function isLegacyIpv4Literal(raw) {
109
+ const trimmed = raw?.trim();
110
+ if (!trimmed) return false;
111
+ const normalized = stripIpv6Brackets(trimmed);
112
+ if (!normalized || normalized.includes(":")) return false;
113
+ if (isCanonicalDottedDecimalIPv4(normalized)) return false;
114
+ const parts = normalized.split(".");
115
+ if (parts.length === 0 || parts.length > 4) return false;
116
+ if (parts.some((part) => part.length === 0)) return false;
117
+ if (!parts.every((part) => isNumericIpv4LiteralPart(part))) return false;
118
+ return true;
119
+ }
120
+ function isLoopbackIpAddress(raw) {
121
+ const parsed = parseCanonicalIpAddress(raw);
122
+ if (!parsed) return false;
123
+ return normalizeIpv4MappedAddress(parsed).range() === "loopback";
124
+ }
125
+ function isBlockedSpecialUseIpv6Address(address) {
126
+ if (BLOCKED_IPV6_SPECIAL_USE_RANGES.has(address.range())) return true;
127
+ return (address.parts[0] & 65472) === 65216;
128
+ }
129
+ function isBlockedSpecialUseIpv4Address(address, options = {}) {
130
+ const inRfc2544BenchmarkRange = address.match(RFC2544_BENCHMARK_PREFIX);
131
+ if (inRfc2544BenchmarkRange && options.allowRfc2544BenchmarkRange === true) return false;
132
+ return BLOCKED_IPV4_SPECIAL_USE_RANGES.has(address.range()) || inRfc2544BenchmarkRange;
133
+ }
134
+ function decodeIpv4FromHextets(high, low) {
135
+ const octets = [
136
+ high >>> 8 & 255,
137
+ high & 255,
138
+ low >>> 8 & 255,
139
+ low & 255
140
+ ];
141
+ return ipaddr.IPv4.parse(octets.join("."));
142
+ }
143
+ function extractEmbeddedIpv4FromIpv6(address) {
144
+ if (address.isIPv4MappedAddress()) return address.toIPv4Address();
145
+ if (address.range() === "rfc6145") return decodeIpv4FromHextets(address.parts[6], address.parts[7]);
146
+ if (address.range() === "rfc6052") return decodeIpv4FromHextets(address.parts[6], address.parts[7]);
147
+ for (const rule of EMBEDDED_IPV4_SENTINEL_RULES) {
148
+ if (!rule.matches(address.parts)) continue;
149
+ const [high, low] = rule.toHextets(address.parts);
150
+ return decodeIpv4FromHextets(high, low);
151
+ }
152
+ }
153
+ function isIpInCidr(ip, cidr) {
154
+ const normalizedIp = parseCanonicalIpAddress(ip);
155
+ if (!normalizedIp) return false;
156
+ const candidate = cidr.trim();
157
+ if (!candidate) return false;
158
+ const comparableIp = normalizeIpv4MappedAddress(normalizedIp);
159
+ if (!candidate.includes("/")) {
160
+ const exact = parseCanonicalIpAddress(candidate);
161
+ if (!exact) return false;
162
+ const comparableExact = normalizeIpv4MappedAddress(exact);
163
+ return comparableIp.kind() === comparableExact.kind() && comparableIp.toString() === comparableExact.toString();
164
+ }
165
+ let parsedCidr;
166
+ try {
167
+ parsedCidr = ipaddr.parseCIDR(candidate);
168
+ } catch {
169
+ return false;
170
+ }
171
+ const [baseAddress, prefixLength] = parsedCidr;
172
+ const comparableBase = normalizeIpv4MappedAddress(baseAddress);
173
+ if (comparableIp.kind() !== comparableBase.kind()) return false;
174
+ try {
175
+ if (isIpv4Address(comparableIp) && isIpv4Address(comparableBase)) return comparableIp.match([comparableBase, prefixLength]);
176
+ if (isIpv6Address(comparableIp) && isIpv6Address(comparableBase)) return comparableIp.match([comparableBase, prefixLength]);
177
+ return false;
178
+ } catch {
179
+ return false;
180
+ }
181
+ }
182
+
183
+ //#endregion
6
184
  //#region src/infra/net/hostname.ts
7
185
  function normalizeHostname(hostname) {
8
186
  const normalized = hostname.trim().toLowerCase().replace(/\.$/, "");
@@ -206,4 +384,4 @@ async function closeDispatcher(dispatcher) {
206
384
  }
207
385
 
208
386
  //#endregion
209
- export { isBlockedHostnameOrIp as a, normalizeHostname as c, isBlockedHostname as i, closeDispatcher as n, isPrivateIpAddress as o, createPinnedDispatcher as r, resolvePinnedHostnameWithPolicy as s, SsrFBlockedError as t };
387
+ export { isBlockedHostnameOrIp as a, normalizeHostname as c, normalizeIpAddress as d, isBlockedHostname as i, isIpInCidr as l, closeDispatcher as n, isPrivateIpAddress as o, createPinnedDispatcher as r, resolvePinnedHostnameWithPolicy as s, SsrFBlockedError as t, isLoopbackIpAddress as u };
@@ -1,7 +1,7 @@
1
- import { M as findModelInCatalog, N as loadModelCatalog, P as modelSupportsVision, qt as resolveAutoImageModel } from "./config-schema-BaybPPrJ.js";
1
+ import { Et as resolveAutoImageModel, M as findModelInCatalog, N as loadModelCatalog, P as modelSupportsVision } from "./config-schema-B9DKr6J5.js";
2
2
  import { i as logVerbose } from "./globals-B_jjtAje.js";
3
3
  import { t as STATE_DIR } from "./paths-BEmvSyOV.js";
4
- import { Yt as resolveDefaultModelForAgent, cn as resolveApiKeyForProvider } from "./config-rySyVtKs.js";
4
+ import { Yt as resolveDefaultModelForAgent, cn as resolveApiKeyForProvider } from "./config-Bt5GhnA-.js";
5
5
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-CUK__1s1.js";
6
6
  import path from "node:path";
7
7
  import fs from "node:fs/promises";
@@ -147,7 +147,7 @@ async function describeStickerImage(params) {
147
147
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
148
148
  try {
149
149
  const buffer = await fs.readFile(imagePath);
150
- const { describeImageWithModel } = await import("./config-schema-BaybPPrJ.js").then((n) => n.on);
150
+ const { describeImageWithModel } = await import("./config-schema-B9DKr6J5.js").then((n) => n.zt);
151
151
  return (await describeImageWithModel({
152
152
  buffer,
153
153
  fileName: "sticker.webp",
@@ -1,5 +1,5 @@
1
- import { l as markdownToIRWithMeta } from "./media-Bu-nJpPs.js";
2
- import { t as renderMarkdownWithMarkers } from "./render-Bwu_WxwA.js";
1
+ import { l as markdownToIRWithMeta } from "./media-CA8sTmVE.js";
2
+ import { t as renderMarkdownWithMarkers } from "./render-e7fENCYH.js";
3
3
 
4
4
  //#region src/markdown/tables.ts
5
5
  const MARKDOWN_STYLE_MARKERS = {