@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.
- package/config/capability-catalog.json +12 -0
- package/dist/acp/client.js +2 -2
- package/dist/acp/secret-file.js +2 -2
- package/dist/agents/agent-scope.js +2 -2
- package/dist/agents/apply-patch.js +8 -8
- package/dist/agents/auth-profiles/paths.js +2 -2
- package/dist/agents/auth-profiles/store.js +2 -2
- package/dist/agents/authenticated-model-catalog.js +28 -0
- package/dist/agents/bash-tools.exec-host-node.js +1 -1
- package/dist/agents/bash-tools.exec.js +1 -1
- package/dist/agents/bash-tools.shared.js +2 -2
- package/dist/agents/cli-credentials.js +4 -4
- package/dist/agents/copilot-dynamic-headers.js +37 -0
- package/dist/agents/current-model-catalog.js +9 -13
- package/dist/agents/docs-path.js +3 -3
- package/dist/agents/embedded-pi-mcp.js +4 -4
- package/dist/agents/identity-avatar.js +3 -3
- package/dist/agents/identity-file.js +2 -2
- package/dist/agents/model-catalog-normalized.js +1 -0
- package/dist/agents/model-catalog-source.js +2 -2
- package/dist/agents/model-catalog.js +1 -1
- package/dist/agents/model-metadata.js +58 -9
- package/dist/agents/openai-codex-app-server.js +499 -0
- package/dist/agents/pi-embedded-runner/compact.js +3 -3
- package/dist/agents/pi-embedded-runner/extra-params.js +168 -79
- package/dist/agents/pi-embedded-runner/model.js +62 -1
- package/dist/agents/pi-embedded-runner/moonshot-stream-wrappers.js +46 -0
- package/dist/agents/pi-embedded-runner/openai-stream-wrappers.js +221 -0
- package/dist/agents/pi-embedded-runner/run/attempt.js +6 -4
- package/dist/agents/pi-embedded-runner/run.js +5 -2
- package/dist/agents/pi-embedded-runner/utils.js +1 -1
- package/dist/agents/pi-embedded-runner.js +1 -1
- package/dist/agents/pi-embedded-subscribe.raw-stream.js +3 -3
- package/dist/agents/pi-extensions/compaction-safeguard.js +3 -3
- package/dist/agents/pi-model-discovery.js +6 -6
- package/dist/agents/pi-project-settings.js +3 -3
- package/dist/agents/pi-tools.js +2 -2
- package/dist/agents/sandbox/fs-bridge.js +2 -2
- package/dist/agents/session-dirs.js +4 -4
- package/dist/agents/session-write-lock.js +13 -13
- package/dist/agents/shell-utils.js +5 -5
- package/dist/agents/skills/bundled-dir.js +4 -4
- package/dist/agents/skills/local-loader.js +6 -6
- package/dist/agents/skills/plugin-skills.js +2 -2
- package/dist/agents/skills/workspace.js +13 -13
- package/dist/agents/skills-install-download.js +7 -7
- package/dist/agents/skills-install-plan.js +2 -2
- package/dist/agents/skills-install.js +2 -2
- package/dist/agents/skills-status.js +2 -2
- package/dist/agents/subagent-depth.js +2 -2
- package/dist/agents/system-prompt-params.js +2 -2
- package/dist/agents/tools/discord-actions-messaging.js +1 -1
- package/dist/agents/tools/message-tool.js +1 -1
- package/dist/agents/tools/session-status-tool.js +3 -3
- package/dist/agents/tools/slack-actions.js +1 -1
- package/dist/agents/tools/tts-tool.js +1 -1
- package/dist/agents/workspace.js +22 -22
- package/dist/auto-reply/reply/agent-runner-execution.js +2 -2
- package/dist/auto-reply/reply/agent-runner.js +2 -2
- package/dist/auto-reply/reply/commands-export-session.js +7 -7
- package/dist/auto-reply/reply/commands-models.js +1 -1
- package/dist/auto-reply/reply/directive-handling.impl.js +4 -1
- package/dist/auto-reply/reply/dispatch-acp.js +1 -1
- package/dist/auto-reply/reply/dispatch-from-config.js +1 -1
- package/dist/auto-reply/reply/get-reply-run.js +20 -2
- package/dist/auto-reply/reply/model-selection.js +1 -1
- package/dist/auto-reply/reply/post-compaction-audit.js +3 -3
- package/dist/auto-reply/reply/post-compaction-context.js +3 -3
- package/dist/auto-reply/reply/session-reset-model.js +1 -1
- package/dist/auto-reply/reply/session.js +3 -3
- package/dist/auto-reply/skill-commands.js +3 -3
- package/dist/auto-reply/status.js +7 -7
- package/dist/auto-reply/thinking.js +1 -1
- package/dist/brand.js +1 -1
- package/dist/browser/cdp.helpers.js +2 -2
- package/dist/browser/chrome.executables.js +3 -3
- package/dist/browser/chrome.js +5 -5
- package/dist/browser/chrome.profile-decoration.js +6 -6
- package/dist/browser/extension-relay.js +7 -7
- package/dist/browser/profiles-service.js +2 -2
- package/dist/browser/server-context.js +2 -2
- package/dist/browser/trash.js +4 -4
- package/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/server.js +4 -4
- package/dist/capabilities/catalog.js +3 -3
- package/dist/channels/plugins/catalog.js +3 -3
- package/dist/cli/browser-cli-extension.js +6 -6
- package/dist/cli/command-format.js +2 -2
- package/dist/cli/cron-cli/register.cron-add.js +1 -1
- package/dist/cli/cron-cli/register.cron-simple.js +2 -2
- package/dist/cli/dns-cli.js +9 -9
- package/dist/cli/gateway-cli/dev.js +5 -5
- package/dist/cli/gateway-cli/run.js +2 -2
- package/dist/cli/hooks-cli.js +5 -5
- package/dist/cli/lightweight/gateway-runtime-probe.js +2 -2
- package/dist/cli/memory-cli.js +7 -7
- package/dist/cli/nodes-media-utils.js +2 -2
- package/dist/cli/plugins-cli.js +2 -2
- package/dist/cli/program/register.agent.js +1 -1
- package/dist/cli/providers-cli.js +3 -2
- package/dist/cli/secrets-cli.js +3 -3
- package/dist/cli/windows-argv.js +2 -2
- package/dist/commands/agent.js +22 -3
- package/dist/commands/auth-choice.apply.api-providers.js +3 -8
- package/dist/commands/auth-choice.apply.openai.js +13 -7
- package/dist/commands/auth-choice.model-check.js +1 -2
- package/dist/commands/configure.gateway-auth.js +14 -16
- package/dist/commands/dashboard-link.js +3 -3
- package/dist/commands/doctor-config-flow.js +1 -1
- package/dist/commands/doctor-install.js +5 -5
- package/dist/commands/doctor-memory-search.js +2 -2
- package/dist/commands/doctor-platform-notes.js +2 -2
- package/dist/commands/doctor-sandbox.js +2 -2
- package/dist/commands/doctor-state-integrity.js +23 -23
- package/dist/commands/doctor-workspace.js +3 -3
- package/dist/commands/doctor.js +3 -3
- package/dist/commands/hosted-dashboard-probe.js +3 -3
- package/dist/commands/managed-up.js +2 -2
- package/dist/commands/model-picker.js +27 -8
- package/dist/commands/models/list.probe.js +1 -1
- package/dist/commands/models/list.registry.js +13 -17
- package/dist/commands/models/list.status-command.js +2 -2
- package/dist/commands/onboard-auth.config-core.js +1 -1
- package/dist/commands/onboard-auth.config-litellm.js +21 -21
- package/dist/commands/onboard-auth.credentials.js +3 -4
- package/dist/commands/onboard-auth.js +0 -1
- package/dist/commands/onboarding/plugin-install.js +2 -2
- package/dist/commands/openai-codex-model-default.js +28 -5
- package/dist/commands/sessions-cleanup.js +2 -2
- package/dist/commands/signal-install.js +6 -6
- package/dist/commands/status-all/channels.js +2 -2
- package/dist/commands/wallet.js +47 -47
- package/dist/config/cache-utils.js +2 -2
- package/dist/config/includes.js +5 -5
- package/dist/config/io.js +2 -2
- package/dist/config/paths.js +3 -3
- package/dist/config/sat-runtime-ids.js +3 -3
- package/dist/config/sessions/disk-budget.js +6 -6
- package/dist/config/sessions/paths.js +2 -2
- package/dist/config/sessions/store.js +17 -17
- package/dist/config/sessions/transcript.js +4 -4
- package/dist/config/talk.js +2 -2
- package/dist/config/zod-schema.agent-defaults.js +6 -2
- package/dist/config/zod-schema.agent-runtime.js +6 -2
- package/dist/config/zod-schema.core.js +6 -2
- package/dist/control-ui/assets/{app-BKlu6OKz.js → app-D7TXyNRi.js} +1548 -1540
- package/dist/control-ui/assets/chat-model-ref-Djkv93yn.js +2 -0
- package/dist/control-ui/assets/{index-nrFcGMv-.js → index-BmSBom-w.js} +3 -3
- package/dist/control-ui/assets/{providers-BQFrRqym.js → providers-Cc89iMdx.js} +5 -5
- package/dist/control-ui/index.html +1 -1
- package/dist/control-ui/version.json +1 -0
- package/dist/cron/isolated-agent/run.js +6 -2
- package/dist/cron/service/jobs.js +11 -1
- package/dist/cron/service/store.js +2 -2
- package/dist/cron/store.js +6 -6
- package/dist/daemon/systemd-system.js +5 -5
- package/dist/discord/monitor/gateway-plugin.js +2 -2
- package/dist/discord/monitor/thread-bindings.state.js +2 -2
- package/dist/discord/voice/manager.js +1 -1
- package/dist/extensions/sat-mining/src/sat-bond-layout.js +9 -9
- package/dist/gateway/client.js +4 -4
- package/dist/gateway/control-ui-boot-check.js +6 -6
- package/dist/gateway/control-ui-login.js +7 -7
- package/dist/gateway/control-ui.js +11 -9
- package/dist/gateway/hooks-mapping.js +4 -4
- package/dist/gateway/protocol/schema/agents-models-skills.js +66 -4
- package/dist/gateway/server-discovery.js +2 -2
- package/dist/gateway/server-http.js +4 -4
- package/dist/gateway/server-methods/chat.js +3 -3
- package/dist/gateway/server-methods/models.js +8 -8
- package/dist/gateway/server-methods/sessions.js +8 -8
- package/dist/gateway/server-methods/tts.js +2 -2
- package/dist/gateway/server-methods/usage.js +2 -2
- package/dist/gateway/server-model-catalog.js +3 -0
- package/dist/gateway/server.impl.js +3 -3
- package/dist/gateway/session-compaction-checkpoints.js +4 -4
- package/dist/gateway/session-utils.fs.js +24 -24
- package/dist/gateway/session-utils.js +6 -6
- package/dist/gateway/sessions-patch.js +27 -24
- package/dist/hooks/bundled-dir.js +4 -4
- package/dist/hooks/gmail-setup-utils.js +6 -6
- package/dist/hooks/import-url.js +2 -2
- package/dist/hooks/loader.js +4 -4
- package/dist/hooks/workspace.js +7 -7
- package/dist/infra/archive.js +17 -17
- package/dist/infra/boundary-file-read.js +2 -2
- package/dist/infra/boundary-path.js +15 -15
- package/dist/infra/brew.js +2 -2
- package/dist/infra/control-ui-assets.js +14 -14
- package/dist/infra/device-auth-store.js +8 -8
- package/dist/infra/device-identity.js +8 -8
- package/dist/infra/dotenv.js +2 -2
- package/dist/infra/exec-approvals.js +8 -8
- package/dist/infra/exec-command-resolution.js +4 -4
- package/dist/infra/exec-safe-bin-trust.js +2 -2
- package/dist/infra/fased-root.js +5 -5
- package/dist/infra/fs-safe.js +14 -14
- package/dist/infra/gateway-lock.js +11 -11
- package/dist/infra/git-commit.js +5 -5
- package/dist/infra/git-root.js +4 -4
- package/dist/infra/hosted-runtime-artifact.js +3 -3
- package/dist/infra/is-main.js +2 -2
- package/dist/infra/json-file.js +7 -7
- package/dist/infra/outbound/delivery-queue.js +16 -16
- package/dist/infra/path-env.js +3 -3
- package/dist/infra/ports-lsof.js +4 -4
- package/dist/infra/provider-usage.auth.js +3 -3
- package/dist/infra/safe-open-sync.js +2 -2
- package/dist/infra/session-cost-usage.js +9 -9
- package/dist/infra/shell-env.js +2 -2
- package/dist/infra/state-migrations.fs.js +6 -6
- package/dist/infra/state-migrations.js +23 -23
- package/dist/infra/tmp-fased-dir.js +6 -6
- package/dist/infra/update-runner.js +31 -3
- package/dist/infra/widearea-dns.js +3 -3
- package/dist/infra/wsl.js +2 -2
- package/dist/light-update-status.js +1 -1
- package/dist/line/accounts.js +2 -2
- package/dist/line/download.js +2 -2
- package/dist/logging/config.js +3 -3
- package/dist/logging/logger.js +7 -7
- package/dist/managed/federation.js +3 -3
- package/dist/managed/tunnel.js +3 -3
- package/dist/media/store.js +13 -13
- package/dist/media-understanding/runner.js +3 -3
- package/dist/memory/embeddings.js +2 -2
- package/dist/memory/internal.js +10 -10
- package/dist/memory/inventory.js +19 -2
- package/dist/memory/manager-sync-ops.js +7 -7
- package/dist/memory/repair-executor.js +17 -17
- package/dist/node-host/invoke-system-run-plan.js +8 -8
- package/dist/node-host/invoke.js +2 -2
- package/dist/node-host/runner.js +3 -3
- package/dist/pairing/pairing-store.js +3 -3
- package/dist/plugin-sdk/{accounts-DW9OS5Ll.js → accounts-DzWlKv1U.js} +1 -1
- package/dist/plugin-sdk/{actions-DQUXohRr.js → actions-BplQVLL6.js} +4 -4
- package/dist/plugin-sdk/{active-listener-BZQWZPF7.js → active-listener-x4MLhYUw.js} +1 -1
- package/dist/plugin-sdk/{allow-list-BYeKk0Sy.js → allow-list-DyAxs4yw.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-t4mmHsI2.js → audio-preflight-G8h3Sn8_.js} +43 -47
- package/dist/plugin-sdk/{audit-BZk_6Buw.js → audit-CWknklvI.js} +1 -1
- package/dist/plugin-sdk/{channel-access-CN5HiWdb.js → channel-access-a9Dnfw7-.js} +1 -1
- package/dist/plugin-sdk/{channel-access-configure-B7Kkvx9K.js → channel-access-configure-CD4QDN5E.js} +1 -1
- package/dist/plugin-sdk/{channel-adapters.discord-IOZP8Cv5.js → channel-adapters.discord-BS4S4Svh.js} +1 -1
- package/dist/plugin-sdk/channel-plugin-common.d.ts +3 -3
- package/dist/plugin-sdk/channel-plugin-common.js +4 -4
- package/dist/plugin-sdk/{chunk-B2ffJ-LR.js → chunk-B8EZkwiT.js} +1 -1
- package/dist/plugin-sdk/{chunk-items-jOdkyP53.js → chunk-items-CEPklxGe.js} +1 -1
- package/dist/plugin-sdk/command-status.d.ts +2 -2
- package/dist/plugin-sdk/command-status.js +43 -47
- package/dist/plugin-sdk/{commands-registry-BWb4NcfW.js → commands-registry-BfEa4tFA.js} +2 -2
- package/dist/plugin-sdk/{common-C4XrB73N.js → common-CbfckC19.js} +1 -1
- package/dist/plugin-sdk/{config-rySyVtKs.js → config-Bt5GhnA-.js} +105 -73
- package/dist/plugin-sdk/{config-schema-BaybPPrJ.js → config-schema-B9DKr6J5.js} +96239 -81587
- package/dist/plugin-sdk/device-pair.d.ts +1 -1
- package/dist/plugin-sdk/device-pair.js +2 -3
- package/dist/plugin-sdk/{diagnostic-Dfn1iERm.js → diagnostic-DLL_zekv.js} +3 -3
- package/dist/plugin-sdk/{directory-live-DatqU-eS.js → directory-live-CSuYxdwk.js} +1 -1
- package/dist/plugin-sdk/{directory-live-ClwN5KKq.js → directory-live-Dw7ZgC9_.js} +1 -1
- package/dist/plugin-sdk/discord.d.ts +5 -5
- package/dist/plugin-sdk/discord.js +31 -32
- package/dist/plugin-sdk/{draft-stream-controls-D4Tb_iS_.js → draft-stream-controls-BqchW1vi.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-BuYrl6q2.js → fetch-guard-CeG6u6ld.js} +1 -1
- package/dist/plugin-sdk/{filesystem-manager-B9DDPgfU.js → filesystem-manager-BGGGrkiN.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-BG-VzVkL.js → fs-safe-xBqok6yR.js} +1 -1
- package/dist/plugin-sdk/{group-mentions-DLOOve8d.d.ts → group-mentions-BHRff6j8.d.ts} +1 -1
- package/dist/plugin-sdk/{guilds-BeT3iHHJ.js → guilds-CDhRIX57.js} +1 -1
- package/dist/plugin-sdk/{handle-action-CGF-Qnp0.js → handle-action-DbzZFYnG.js} +24 -25
- package/dist/plugin-sdk/{helpers-DgRMfCnT.js → helpers-CluGKuIV.js} +1 -1
- package/dist/plugin-sdk/{image-ops-CcBfoMLW.js → image-ops-CUaLtIFj.js} +1 -1
- package/dist/plugin-sdk/index.d.ts +8 -8
- package/dist/plugin-sdk/index.js +47 -51
- package/dist/plugin-sdk/json-store.js +6 -6
- package/dist/plugin-sdk/{login-DpDQyM7r.js → login-DJuHYDiK.js} +3 -3
- package/dist/plugin-sdk/{login-qr-COaSAPY5.js → login-qr-CbHL5ayf.js} +3 -3
- package/dist/plugin-sdk/{manager-Cqz30lA3.js → manager-oHAvZCT3.js} +7 -7
- package/dist/plugin-sdk/{markdown-tables-BOG5sSQQ.js → markdown-tables-Mkx7k92Y.js} +1 -1
- package/dist/plugin-sdk/{media-Bu-nJpPs.js → media-CA8sTmVE.js} +4 -4
- package/dist/plugin-sdk/{monitor-II_NIq3G.js → monitor-CZrN9pev.js} +51 -55
- package/dist/plugin-sdk/{monitor-DL6oEVo8.js → monitor-CmwGqNyV.js} +61 -65
- package/dist/plugin-sdk/{openresponses-http-vkHBBpGY.js → openresponses-http-CWOd4war.js} +43 -47
- package/dist/plugin-sdk/{optional-runtime-dependency-DEojVNfv.js → optional-runtime-dependency-DKmk9PZa.js} +1 -1
- package/dist/plugin-sdk/{outbound-mf2y6KuY.js → outbound-0oN9IfNw.js} +9 -9
- package/dist/plugin-sdk/{outbound-attachment-ivAHpWnn.js → outbound-attachment-DdVkqUzE.js} +2 -2
- package/dist/plugin-sdk/{pairing-message-CvJ6Qa1Q.d.ts → pairing-message-BMkkS038.d.ts} +2 -2
- package/dist/plugin-sdk/{pairing-message-CqYG12t-.js → pairing-message-ClqhfCUk.js} +1 -1
- package/dist/plugin-sdk/{pairing-store-D-21Sphe.js → pairing-store-B01mCSct.js} +2 -2
- package/dist/plugin-sdk/{pi-model-discovery-B6gD1clF.js → pi-model-discovery-Buz0JC1Y.js} +1 -1
- package/dist/plugin-sdk/{pi-model-discovery-runtime-3yDxS3ro.js → pi-model-discovery-runtime-DuwuoteY.js} +2 -2
- package/dist/plugin-sdk/{probe-Cyb-DGA3.js → probe--7xtfzMm.js} +3 -3
- package/dist/plugin-sdk/{probe-Dlk0Jxpw.js → probe-BFroeK3g.js} +1 -1
- package/dist/plugin-sdk/{probe-D8JAILir.js → probe-l_whvGLY.js} +1 -1
- package/dist/plugin-sdk/{resolve-channels-zEnvugag.js → probe-xY3Ky0Tx.js} +3 -4
- package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +2 -2
- package/dist/plugin-sdk/{pw-ai-CMplwiwf.js → pw-ai-B0domrii.js} +6 -8
- package/dist/plugin-sdk/{qmd-manager-DCUE21Kj.js → qmd-manager-CFFeM4Fl.js} +3 -3
- package/dist/plugin-sdk/{query-expansion-Zr9qQixm.js → query-expansion-CAI2kKLQ.js} +1 -1
- package/dist/plugin-sdk/{replies-wiI4veI7.js → replies-1macZ1mZ.js} +4 -4
- package/dist/plugin-sdk/{resolve-channels-ChWKWtA9.js → resolve-channels-87LZrFk_.js} +2 -2
- package/dist/plugin-sdk/resolve-channels-CwB2_019.js +4 -0
- package/dist/plugin-sdk/{resolve-outbound-target-bm9RUK5q.js → resolve-outbound-target-BdH6LUoW.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-ekGNc6os.js → resolve-route-CkNIKKEW.js} +1 -1
- package/dist/plugin-sdk/{resolve-users-BTvjQuui.js → resolve-users-Cxb5wpAQ.js} +1 -1
- package/dist/plugin-sdk/{resolve-users-CTzoruIZ.js → resolve-users-V6dHh_2B.js} +2 -2
- package/dist/plugin-sdk/{retry-policy-BvlC2SPh.js → retry-policy-9ybIh4Fq.js} +1 -1
- package/dist/plugin-sdk/{runtime-ClSakPxR.js → runtime-Dy420wBu.js} +3 -3
- package/dist/plugin-sdk/{runtime-dependency-yAWxH4El.js → runtime-dependency-CIw9t7-k.js} +123 -15
- package/dist/plugin-sdk/{sandbox-paths-lj7_EVuA.js → sandbox-paths-w64tYl0v.js} +1 -1
- package/dist/plugin-sdk/sat-runtime.d.ts +3 -3
- package/dist/plugin-sdk/sat-runtime.js +44 -10
- package/dist/plugin-sdk/{send-D264hFVb.js → send-2VcOMTN5.js} +9 -9
- package/dist/plugin-sdk/{send-CgyS75Av.js → send-BQUtCJFW.js} +10 -10
- package/dist/plugin-sdk/{send-D58yEeH4.js → send-DPJIIYAs.js} +6 -6
- package/dist/plugin-sdk/{send-C7x6gzSl.js → send-Dqes9tdU.js} +13 -13
- package/dist/plugin-sdk/{send-DrAtUGLM.js → send-J4JWKP62.js} +8 -8
- package/dist/plugin-sdk/{session-DyMtb5YQ.js → session-C_n2S5ub.js} +3 -3
- package/dist/plugin-sdk/{skill-commands-Q80wCyry.js → skill-commands-B7wx9ax8.js} +102 -102
- package/dist/plugin-sdk/{slack-C-I6q3NB.js → slack-BouRQG-W.js} +64 -68
- package/dist/plugin-sdk/{slack-actions-dGE_t_Un.js → slack-actions-CasHVtiq.js} +20 -21
- package/dist/plugin-sdk/slack.d.ts +5 -5
- package/dist/plugin-sdk/slack.js +13 -13
- package/dist/plugin-sdk/{ssrf-BZG8Ztod.js → ssrf-fG4UHKBw.js} +180 -2
- package/dist/plugin-sdk/{sticker-cache-DCrDTYIi.js → sticker-cache-BvGEUas3.js} +3 -3
- package/dist/plugin-sdk/{tables-0mhUOh5v.js → tables-CjlQJV4r.js} +2 -2
- package/dist/plugin-sdk/{device-pairing-D2Yq-_U6.js → tailscale-status-DwpNdO3Z.js} +104 -2
- package/dist/plugin-sdk/{targets-znKHngSk.js → targets-QfP164Dh.js} +2 -2
- package/dist/plugin-sdk/{telegram-actions-GBYY8-x9.js → telegram-actions-CwYjV6Db.js} +48 -52
- package/dist/plugin-sdk/telegram.d.ts +5 -5
- package/dist/plugin-sdk/telegram.js +11 -11
- package/dist/plugin-sdk/{thread-bindings.lifecycle-ClzPBK70.js → thread-bindings.lifecycle-DU4iX_Jr.js} +3 -3
- package/dist/plugin-sdk/{thread-bindings.state-Ha01nmrq.js → thread-bindings.state-BgYWFjNF.js} +2 -2
- package/dist/plugin-sdk/{tmp-fased-dir-C_xfeEN9.d.ts → tmp-fased-dir-BdFQvrvw.d.ts} +2 -2
- package/dist/plugin-sdk/{types-DV5TNhMK.d.ts → types-BYDL6dQj.d.ts} +2 -2
- package/dist/plugin-sdk/{types-BI2njxWJ.d.ts → types-CLIvQaVg.d.ts} +39 -5
- package/dist/plugin-sdk/{types-CBCtqtMn.d.ts → types-DyhXnYUr.d.ts} +1 -1
- package/dist/plugin-sdk/{types.plugin-CvUiB3Kh.d.ts → types.plugin-_fbu40Re.d.ts} +8 -5
- package/dist/plugin-sdk/{web-CJMfhGFY.js → web-D0yENDve.js} +52 -56
- package/dist/plugin-sdk/{whatsapp-actions-0ZbGo5ZV.js → whatsapp-actions-BT2nPLyo.js} +18 -19
- package/dist/plugin-sdk/{whatsapp-heartbeat-DGTsuvQ8.js → whatsapp-heartbeat-CiABSZ6G.js} +2 -2
- package/dist/plugin-sdk/whatsapp.d.ts +5 -5
- package/dist/plugin-sdk/whatsapp.js +14 -14
- package/dist/plugin-sdk/{wsl-D5jDUlms.js → wsl-B_ojyEtC.js} +53 -53
- package/dist/plugins/bundled-dir.js +3 -3
- package/dist/plugins/discovery.js +11 -11
- package/dist/plugins/loader.js +13 -13
- package/dist/plugins/manifest-registry.js +2 -2
- package/dist/plugins/manifest.js +4 -4
- package/dist/plugins/path-safety.js +3 -3
- package/dist/plugins/runtime/index.js +1 -1
- package/dist/plugins/status-cache.js +9 -9
- package/dist/plugins/update.js +3 -3
- package/dist/plugins/web-search-install-catalog.js +3 -3
- package/dist/providers/github-copilot-model-discovery.js +51 -0
- package/dist/providers/litellm-models.js +1 -1
- package/dist/providers/openai-codex-model-discovery.js +166 -0
- package/dist/providers/refresh.js +311 -67
- package/dist/providers/registry.js +16 -6
- package/dist/providers/runtime-model-catalog.js +250 -0
- package/dist/secrets/apply.js +16 -16
- package/dist/secrets/audit.js +11 -11
- package/dist/secrets/shared.js +9 -9
- package/dist/security/scan-paths.js +2 -2
- package/dist/shared/config-eval.js +2 -2
- package/dist/shared/model-thinking.js +54 -4
- package/dist/shared/pid-alive.js +2 -2
- package/dist/tasks/standing-orders.js +5 -5
- package/dist/tasks/task-flow-registry.js +5 -5
- package/dist/tasks/task-registry.js +5 -5
- package/dist/tasks/workflow-definitions.js +6 -6
- package/dist/telegram/bot-message-context.js +1 -1
- package/dist/telegram/token.js +5 -5
- package/dist/utils.js +5 -5
- package/dist/wallet/local-socket-signer-broker.js +16 -16
- package/dist/wallet/providers/embedded-keystore-adapter.js +5 -5
- package/dist/wallet/providers/local-socket-signer-adapter.js +2 -2
- package/dist/wallet/wallet-approval-auth.js +5 -5
- package/dist/wallet/wallet-audit-log.js +5 -5
- package/dist/wallet/wallet-custody.js +21 -21
- package/dist/wallet/wallet-inbound-events.js +5 -5
- package/dist/wallet/wallet-observability.js +5 -5
- package/dist/wallet/wallet-policy.js +9 -9
- package/dist/wallet/wallet-provider-registry.js +7 -7
- package/dist/wallet/wallet-runtime-config.js +3 -3
- package/dist/wallet/wallet-secrets-store.js +22 -22
- package/dist/wallet/wallet-send-approvals.js +5 -5
- package/dist/wallet/wallet-settlement-links.js +5 -5
- package/dist/web/accounts.js +3 -3
- package/dist/web/auth-store.js +18 -18
- package/dist/web/session.js +4 -4
- package/dist/wizard/host-security-capability.js +2 -2
- package/dist/wizard/onboarding.host-security.js +7 -7
- package/dist/wizard/onboarding.js +31 -13
- package/dist/wizard/onboarding.wallet.js +44 -44
- package/extensions/acpx/package.json +1 -1
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/fased-federation/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/lobster/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +12 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +2 -2
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +12 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +12 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/sat-mining/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/synology-chat/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +12 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +12 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +12 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +12 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +2 -1
- package/dist/control-ui/assets/chat-model-ref-B9sWop67.js +0 -2
- package/dist/plugin-sdk/ip-C70a-YlD.js +0 -181
- package/dist/plugin-sdk/tailscale-status-ClsquRGs.js +0 -104
- package/dist/plugin-sdk/wallet-status-CyovJojz.js +0 -11944
- package/dist/plugin-sdk/ws-CocpWGhl.js +0 -114
- /package/dist/plugin-sdk/{blocks-input-Dcitfh7h.js → blocks-input-Bg-8S2pl.js} +0 -0
- /package/dist/plugin-sdk/{channel-activity-Cg1xRoc2.js → channel-activity-DBDMQ3yI.js} +0 -0
- /package/dist/plugin-sdk/{channel-core-BOkyXXLa.js → channel-core-CFRs8LPy.js} +0 -0
- /package/dist/plugin-sdk/{client-D2N7hqVu.js → client-pI228AVT.js} +0 -0
- /package/dist/plugin-sdk/{command-poll-backoff-NAePk3eL.js → command-poll-backoff-yJU83wEq.js} +0 -0
- /package/dist/plugin-sdk/{date-time-CE3Uer3C.js → date-time-uUevHscU.js} +0 -0
- /package/dist/plugin-sdk/{diagnostic-session-state-HO94DMou.js → diagnostic-session-state-DqgfGYqZ.js} +0 -0
- /package/dist/plugin-sdk/{draft-stream-loop-CKyHn8IX.js → draft-stream-loop-CrOPfV3F.js} +0 -0
- /package/dist/plugin-sdk/{fetch-Cu-ahkie.js → fetch-BtmoPIlf.js} +0 -0
- /package/dist/plugin-sdk/{gateway-registry-DFsoY6C0.js → gateway-registry-DZDsqicG.js} +0 -0
- /package/dist/plugin-sdk/{inbound-context-BFnIdcqI.js → inbound-context-DrAcXE0y.js} +0 -0
- /package/dist/plugin-sdk/{internal-qo16nNU1.js → internal-CG_nHo-2.js} +0 -0
- /package/dist/plugin-sdk/{memory-search-C3C0bD2H.js → memory-search-VFll-AIb.js} +0 -0
- /package/dist/plugin-sdk/{pairing-token-N_6Jbt1L.js → pairing-token-Cs3BRKc0.js} +0 -0
- /package/dist/plugin-sdk/{path-alias-guards-Dg3gU-MA.js → path-alias-guards-BJZD5JMJ.js} +0 -0
- /package/dist/plugin-sdk/{polls-DQrR-qT3.js → polls-DKQXVfJp.js} +0 -0
- /package/dist/plugin-sdk/{proxy-7xs_rsnV.js → proxy-DWpYcsvR.js} +0 -0
- /package/dist/plugin-sdk/{qmd-scope-D1sSG_Rx.js → qmd-scope-CdX34VCV.js} +0 -0
- /package/dist/plugin-sdk/{redact-identifier-Q3tkvxhm.js → redact-identifier-Lt7t3l7S.js} +0 -0
- /package/dist/plugin-sdk/{redact-sensitive-url-dPvnFFsK.js → redact-sensitive-url-g-ukZjwA.js} +0 -0
- /package/dist/plugin-sdk/{render-Bwu_WxwA.js → render-e7fENCYH.js} +0 -0
- /package/dist/plugin-sdk/{reply-prefix-Bqzm6DC1.js → reply-prefix-ClpxvL_w.js} +0 -0
- /package/dist/plugin-sdk/{reply-reference-BkbK_DWT.js → reply-reference-Bqk-7HXE.js} +0 -0
- /package/dist/plugin-sdk/{secure-random-Bl-AVLVb.js → secure-random-BIkG-k4s.js} +0 -0
- /package/dist/plugin-sdk/{shared-clhhbWN3.js → shared-CBgp_GBw.js} +0 -0
- /package/dist/plugin-sdk/{target-errors-C_SVKoEv.js → target-errors-Ckufe179.js} +0 -0
- /package/dist/plugin-sdk/{targets-BDvvnlph.js → targets-CoMJ1ry1.js} +0 -0
- /package/dist/plugin-sdk/{tokens-BvtlOzVP.js → tokens-BbnqfVuu.js} +0 -0
- /package/dist/plugin-sdk/{tool-loop-detection-CWphm1k_.js → tool-loop-detection-Bp8bPJLs.js} +0 -0
- /package/dist/plugin-sdk/{ui-e020ouhJ.js → ui-Be8cLHIS.js} +0 -0
- /package/dist/plugin-sdk/{with-timeout-BYrRAYFV.js → with-timeout-ckWB8rTo.js} +0 -0
|
@@ -1,73 +1,69 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { C as recordSessionMetaFromInbound, S as readSessionUpdatedAt, _n as resolveChannelGroupRequireMention, bn as resolveGroupSessionKey, gn as resolveChannelGroupPolicy, w as updateLastRoute, x as loadSessionStore } from "./runtime-
|
|
1
|
+
import { $ as dispatchReplyWithBufferedBlockDispatcher, At as registerUnhandledRejectionHandler, Bt as hasControlCommand, J as sleepWithAbort, Jt as normalizeGroupActivation, K as buildPairingReply, L as resolveMentionGating, Q as shouldAckReactionForWhatsApp, Vt as shouldComputeCommandAuthorized, Wt as enqueueSystemEvent, Yt as parseActivationCommand, bi as resolveDmGroupAccessWithCommandGate, bt as formatDurationPrecise, dn as DEFAULT_GROUP_HISTORY_LIMIT, fn as buildHistoryContextFromEntries, it as formatInboundEnvelope, nt as createInboundDebouncer, ot as resolveEnvelopeFormatOptions, q as computeBackoff, qr as createDedupeCache, rt as resolveInboundDebounceMs, ut as getReplyFromConfig, vn as recordPendingHistoryEntryIfEnabled, xi as resolveDmGroupAccessWithLists, xn as normalizeMentionText, yi as readStoreAllowFromForDmPolicy, yn as buildMentionRegexes } from "./config-schema-B9DKr6J5.js";
|
|
2
|
+
import { C as recordSessionMetaFromInbound, S as readSessionUpdatedAt, _n as resolveChannelGroupRequireMention, bn as resolveGroupSessionKey, gn as resolveChannelGroupPolicy, w as updateLastRoute, x as loadSessionStore } from "./runtime-Dy420wBu.js";
|
|
3
3
|
import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
|
|
4
4
|
import { i as logVerbose, p as getChildLogger, s as shouldLogVerbose } from "./globals-B_jjtAje.js";
|
|
5
5
|
import "./paths-BEmvSyOV.js";
|
|
6
6
|
import { d as normalizeE164, l as isSelfChatMode, m as resolveJidToE164, n as clamp, u as jidToE164, x as toWhatsappJid, y as sleep } from "./utils-CYk9EKoq.js";
|
|
7
|
-
import {
|
|
7
|
+
import { _a as formatCliCommand, n as loadConfig } from "./config-Bt5GhnA-.js";
|
|
8
8
|
import "./agent-scope-BbgPlhtw.js";
|
|
9
9
|
import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-HSJ2KQTc.js";
|
|
10
10
|
import "./accounts-RHZyaB73.js";
|
|
11
11
|
import "./accounts-CuqIKU8X.js";
|
|
12
12
|
import "./logger-BbFvCoKk.js";
|
|
13
13
|
import "./exec-DQ8j4Fm3.js";
|
|
14
|
-
import { _ as webAuthExists, c as logWebSelfId, d as pickWebChannel, i as resolveWhatsAppAccount, o as WA_WEB_AUTH_DIR, p as readWebSelfId, s as getWebAuthAgeMs } from "./accounts-
|
|
15
|
-
import "./allow-list-
|
|
14
|
+
import { _ as webAuthExists, c as logWebSelfId, d as pickWebChannel, i as resolveWhatsAppAccount, o as WA_WEB_AUTH_DIR, p as readWebSelfId, s as getWebAuthAgeMs } from "./accounts-DzWlKv1U.js";
|
|
15
|
+
import "./allow-list-DyAxs4yw.js";
|
|
16
16
|
import "./redact-Bm8vu_ju.js";
|
|
17
17
|
import "./github-copilot-token-CUK__1s1.js";
|
|
18
18
|
import "./retry-DstNBhDW.js";
|
|
19
19
|
import { l as resolveStorePath } from "./paths-CTZ2RS_E.js";
|
|
20
|
-
import "./
|
|
21
|
-
import "./
|
|
22
|
-
import "./
|
|
23
|
-
import
|
|
24
|
-
import "./
|
|
25
|
-
import { A as
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import
|
|
29
|
-
import "./
|
|
30
|
-
import
|
|
31
|
-
import "./
|
|
32
|
-
import "./
|
|
33
|
-
import "./
|
|
34
|
-
import "./
|
|
35
|
-
import "./
|
|
36
|
-
import
|
|
37
|
-
import "./
|
|
38
|
-
import "./
|
|
39
|
-
import "./
|
|
40
|
-
import "./
|
|
41
|
-
import "./
|
|
42
|
-
import "./
|
|
43
|
-
import "./path-alias-guards-
|
|
44
|
-
import "./fs-safe-
|
|
45
|
-
import { n as resolveMarkdownTableMode } from "./markdown-tables-
|
|
46
|
-
import { n as loadWebMedia, u as getAgentScopedMediaLocalRoots } from "./media-
|
|
47
|
-
import "./send-
|
|
48
|
-
import { a as saveMediaBuffer } from "./outbound-attachment-
|
|
49
|
-
import "./fetch-
|
|
50
|
-
import "./thread-bindings.state-
|
|
51
|
-
import "./
|
|
52
|
-
import "./
|
|
53
|
-
import "./
|
|
54
|
-
import "./
|
|
55
|
-
import "./
|
|
56
|
-
import "./
|
|
57
|
-
import { t as finalizeInboundContext } from "./inbound-context-
|
|
58
|
-
import "./
|
|
59
|
-
import "./
|
|
60
|
-
import "./
|
|
61
|
-
import {
|
|
62
|
-
import "./
|
|
63
|
-
import
|
|
64
|
-
import { n as
|
|
65
|
-
import { r as
|
|
66
|
-
import "./
|
|
67
|
-
import "./whatsapp-heartbeat-DGTsuvQ8.js";
|
|
68
|
-
import { i as markdownToWhatsApp, n as sendMessageWhatsApp, r as sendReactionWhatsApp } from "./outbound-mf2y6KuY.js";
|
|
69
|
-
import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-DyMtb5YQ.js";
|
|
70
|
-
import { t as loginWeb } from "./login-DpDQyM7r.js";
|
|
20
|
+
import "./ssrf-fG4UHKBw.js";
|
|
21
|
+
import "./fetch-guard-CeG6u6ld.js";
|
|
22
|
+
import { n as redactSensitiveUrlLikeString } from "./redact-sensitive-url-g-ukZjwA.js";
|
|
23
|
+
import "./send-DPJIIYAs.js";
|
|
24
|
+
import { A as resolveDefaultGroupPolicy, M as warnMissingProviderGroupPolicyFallbackOnce, j as resolveOpenProviderRuntimeGroupPolicy } from "./helpers-CluGKuIV.js";
|
|
25
|
+
import { A as formatLocationText, j as toLocationContext } from "./wsl-B_ojyEtC.js";
|
|
26
|
+
import { a as upsertChannelPairingRequest } from "./pairing-store-B01mCSct.js";
|
|
27
|
+
import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-B8EZkwiT.js";
|
|
28
|
+
import "./tailscale-status-DwpNdO3Z.js";
|
|
29
|
+
import { l as resolveIdentityNamePrefix, n as createReplyPrefixOptions, u as resolveMessagePrefix } from "./reply-prefix-ClpxvL_w.js";
|
|
30
|
+
import "./tokens-BbnqfVuu.js";
|
|
31
|
+
import "./pairing-token-Cs3BRKc0.js";
|
|
32
|
+
import "./diagnostic-DLL_zekv.js";
|
|
33
|
+
import "./diagnostic-session-state-DqgfGYqZ.js";
|
|
34
|
+
import { t as redactIdentifier } from "./redact-identifier-Lt7t3l7S.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 "./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 { n as resolveMarkdownTableMode } from "./markdown-tables-Mkx7k92Y.js";
|
|
46
|
+
import { n as loadWebMedia, u as getAgentScopedMediaLocalRoots } 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, t as buildAgentSessionKey } from "./resolve-route-CkNIKKEW.js";
|
|
57
|
+
import { t as finalizeInboundContext } from "./inbound-context-DrAcXE0y.js";
|
|
58
|
+
import "./render-e7fENCYH.js";
|
|
59
|
+
import { t as convertMarkdownTables } from "./tables-CjlQJV4r.js";
|
|
60
|
+
import { n as recordChannelActivity } from "./channel-activity-DBDMQ3yI.js";
|
|
61
|
+
import { r as setActiveWebListener } from "./active-listener-x4MLhYUw.js";
|
|
62
|
+
import "./shared-CBgp_GBw.js";
|
|
63
|
+
import "./whatsapp-heartbeat-CiABSZ6G.js";
|
|
64
|
+
import { i as markdownToWhatsApp, n as sendMessageWhatsApp, r as sendReactionWhatsApp } from "./outbound-0oN9IfNw.js";
|
|
65
|
+
import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-C_n2S5ub.js";
|
|
66
|
+
import { t as loginWeb } from "./login-DJuHYDiK.js";
|
|
71
67
|
import { randomUUID } from "node:crypto";
|
|
72
68
|
import { DisconnectReason, downloadMediaMessage, extractMessageContent, getContentType, isJidGroup, normalizeMessageContent } from "@whiskeysockets/baileys";
|
|
73
69
|
|
|
@@ -1,35 +1,34 @@
|
|
|
1
|
-
import "./runtime-
|
|
1
|
+
import "./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-
|
|
6
|
+
import "./config-Bt5GhnA-.js";
|
|
7
7
|
import "./agent-scope-BbgPlhtw.js";
|
|
8
8
|
import "./accounts-RHZyaB73.js";
|
|
9
9
|
import "./accounts-CuqIKU8X.js";
|
|
10
10
|
import "./logger-BbFvCoKk.js";
|
|
11
11
|
import "./exec-DQ8j4Fm3.js";
|
|
12
|
-
import { i as resolveWhatsAppAccount } from "./accounts-
|
|
12
|
+
import { i as resolveWhatsAppAccount } from "./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 "./
|
|
18
|
-
import "./
|
|
19
|
-
import "./
|
|
20
|
-
import "./
|
|
21
|
-
import "./
|
|
22
|
-
import "./
|
|
23
|
-
import "./path-alias-guards-
|
|
24
|
-
import "./fs-safe-
|
|
25
|
-
import "./markdown-tables-
|
|
26
|
-
import "./media-
|
|
27
|
-
import
|
|
28
|
-
import "./
|
|
29
|
-
import "./
|
|
30
|
-
import {
|
|
31
|
-
import
|
|
32
|
-
import "./session-DyMtb5YQ.js";
|
|
17
|
+
import "./ssrf-fG4UHKBw.js";
|
|
18
|
+
import "./fetch-guard-CeG6u6ld.js";
|
|
19
|
+
import "./chunk-B8EZkwiT.js";
|
|
20
|
+
import "./optional-runtime-dependency-DKmk9PZa.js";
|
|
21
|
+
import "./image-ops-CUaLtIFj.js";
|
|
22
|
+
import { a as jsonResult, c as readReactionParams, d as readStringParam, n as createActionGate, t as ToolAuthorizationError } from "./common-CbfckC19.js";
|
|
23
|
+
import "./path-alias-guards-BJZD5JMJ.js";
|
|
24
|
+
import "./fs-safe-xBqok6yR.js";
|
|
25
|
+
import "./markdown-tables-Mkx7k92Y.js";
|
|
26
|
+
import "./media-CA8sTmVE.js";
|
|
27
|
+
import "./render-e7fENCYH.js";
|
|
28
|
+
import "./tables-CjlQJV4r.js";
|
|
29
|
+
import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-BdH6LUoW.js";
|
|
30
|
+
import { r as sendReactionWhatsApp } from "./outbound-0oN9IfNw.js";
|
|
31
|
+
import "./session-C_n2S5ub.js";
|
|
33
32
|
|
|
34
33
|
//#region src/agents/tools/whatsapp-target-auth.ts
|
|
35
34
|
function resolveAuthorizedWhatsAppOutboundTarget(params) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { x as loadSessionStore } from "./runtime-
|
|
1
|
+
import { x as loadSessionStore } from "./runtime-Dy420wBu.js";
|
|
2
2
|
import { f as normalizeChatChannelId } from "./subsystem-DBPNbQDQ.js";
|
|
3
3
|
import { d as normalizeE164 } from "./utils-CYk9EKoq.js";
|
|
4
4
|
import { f as DEFAULT_ACCOUNT_ID } from "./session-key-HSJ2KQTc.js";
|
|
5
5
|
import { l as resolveStorePath } from "./paths-CTZ2RS_E.js";
|
|
6
|
-
import { r as readChannelAllowFromStoreSync } from "./pairing-store-
|
|
6
|
+
import { r as readChannelAllowFromStoreSync } from "./pairing-store-B01mCSct.js";
|
|
7
7
|
|
|
8
8
|
//#region src/channels/plugins/whatsapp-heartbeat.ts
|
|
9
9
|
function getSessionRecipients(cfg) {
|
|
@@ -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,
|
|
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-
|
|
4
|
-
import { D as normalizeE164 } from "./types-
|
|
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-
|
|
6
|
-
import { _ as buildTokenChannelStatusSummary, m as resolveWhatsAppGroupToolPolicy, p as resolveWhatsAppGroupRequireMention } from "./group-mentions-
|
|
2
|
+
import { At as FasedAgentConfig, F as ChannelAccountSnapshot, Gt as WhatsAppAccountConfig, J as ChannelMessageActionAdapter, Tn as GroupPolicy, it as ChannelStatusIssue, n as ChannelPlugin, r as ChannelOnboardingAdapter, u as ChannelMessageActionName, ut as getChatChannelMeta, wn as DmPolicy } 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, m as resolveWhatsAppGroupToolPolicy, p as resolveWhatsAppGroupRequireMention } from "./group-mentions-BHRff6j8.js";
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
|
|
9
9
|
//#region src/config/zod-schema.providers-whatsapp.d.ts
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { $t as resolveWhatsAppGroupToolPolicy, At as resolveWhatsAppMentionStripPatterns, Mt as normalizeWhatsAppAllowFromEntries, Nn as getChatChannelMeta, Nt as normalizeWhatsAppMessagingTarget, Qt as resolveWhatsAppGroupRequireMention, _t as listWhatsAppDirectoryPeersFromConfig, dt as listDiscordDirectoryPeersFromConfig, ft as listSlackDirectoryGroupsFromConfig, gt as listWhatsAppDirectoryGroupsFromConfig, ht as listTelegramDirectoryPeersFromConfig, jt as looksLikeWhatsAppTargetId, kt as resolveWhatsAppGroupIntroHint, mt as listTelegramDirectoryGroupsFromConfig, pt as listSlackDirectoryPeersFromConfig, ut as listDiscordDirectoryGroupsFromConfig } from "./runtime-
|
|
1
|
+
import { $t as resolveWhatsAppGroupToolPolicy, At as resolveWhatsAppMentionStripPatterns, Mt as normalizeWhatsAppAllowFromEntries, Nn as getChatChannelMeta, Nt as normalizeWhatsAppMessagingTarget, Qt as resolveWhatsAppGroupRequireMention, _t as listWhatsAppDirectoryPeersFromConfig, dt as listDiscordDirectoryPeersFromConfig, ft as listSlackDirectoryGroupsFromConfig, gt as listWhatsAppDirectoryGroupsFromConfig, ht as listTelegramDirectoryPeersFromConfig, jt as looksLikeWhatsAppTargetId, kt as resolveWhatsAppGroupIntroHint, mt as listTelegramDirectoryGroupsFromConfig, pt as listSlackDirectoryPeersFromConfig, ut as listDiscordDirectoryGroupsFromConfig } 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 { c as isRecord, d as normalizeE164, f as pathExists } from "./utils-CYk9EKoq.js";
|
|
6
|
-
import {
|
|
6
|
+
import { _a as formatCliCommand, l as WhatsAppConfigSchema } 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 "./accounts-CuqIKU8X.js";
|
|
11
11
|
import "./logger-BbFvCoKk.js";
|
|
12
12
|
import "./exec-DQ8j4Fm3.js";
|
|
13
|
-
import { a as resolveWhatsAppAuthDir, i as resolveWhatsAppAccount, n as listWhatsAppAccountIds, r as resolveDefaultWhatsAppAccountId } from "./accounts-
|
|
13
|
+
import { a as resolveWhatsAppAuthDir, i as resolveWhatsAppAccount, n as listWhatsAppAccountIds, r as resolveDefaultWhatsAppAccountId } from "./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-
|
|
19
|
-
import { A as resolveDefaultGroupPolicy, D as formatDocsLink, g as resolveOnboardingAccountId, h as resolveAccountIdForConfigure, i as normalizeAllowFromEntries, j as resolveOpenProviderRuntimeGroupPolicy, k as resolveAllowlistProviderRuntimeGroupPolicy, w as buildTokenChannelStatusSummary, x as splitOnboardingEntries } from "./helpers-
|
|
20
|
-
import "./pairing-store-
|
|
21
|
-
import "./optional-runtime-dependency-
|
|
22
|
-
import "./image-ops-
|
|
23
|
-
import { d as readStringParam, n as createActionGate } from "./common-
|
|
24
|
-
import { n as asString, r as collectIssuesForEnabledAccounts } from "./shared-
|
|
25
|
-
import "./channel-core-
|
|
26
|
-
import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-
|
|
27
|
-
import { t as resolveWhatsAppHeartbeatRecipients } from "./whatsapp-heartbeat-
|
|
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, g as resolveOnboardingAccountId, h as resolveAccountIdForConfigure, i as normalizeAllowFromEntries, j as resolveOpenProviderRuntimeGroupPolicy, k as resolveAllowlistProviderRuntimeGroupPolicy, w as buildTokenChannelStatusSummary, x as splitOnboardingEntries } from "./helpers-CluGKuIV.js";
|
|
20
|
+
import "./pairing-store-B01mCSct.js";
|
|
21
|
+
import "./optional-runtime-dependency-DKmk9PZa.js";
|
|
22
|
+
import "./image-ops-CUaLtIFj.js";
|
|
23
|
+
import { d as readStringParam, n as createActionGate } from "./common-CbfckC19.js";
|
|
24
|
+
import { n as asString, r as collectIssuesForEnabledAccounts } from "./shared-CBgp_GBw.js";
|
|
25
|
+
import "./channel-core-CFRs8LPy.js";
|
|
26
|
+
import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-BdH6LUoW.js";
|
|
27
|
+
import { t as resolveWhatsAppHeartbeatRecipients } from "./whatsapp-heartbeat-CiABSZ6G.js";
|
|
28
28
|
import path from "node:path";
|
|
29
29
|
|
|
30
30
|
//#region src/config/merge-config.ts
|
|
@@ -293,7 +293,7 @@ const whatsappOnboardingAdapter = {
|
|
|
293
293
|
message: linked ? "WhatsApp already linked. Re-link now?" : "Link WhatsApp now (QR)?",
|
|
294
294
|
initialValue: !linked
|
|
295
295
|
})) try {
|
|
296
|
-
const { loginWeb } = await import("./login-
|
|
296
|
+
const { loginWeb } = await import("./login-DJuHYDiK.js").then((n) => n.n);
|
|
297
297
|
await loginWeb(false, void 0, runtime, accountId);
|
|
298
298
|
} catch (err) {
|
|
299
299
|
runtime.error(`WhatsApp login failed: ${String(err)}`);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
|
|
2
2
|
import { c as expandHomePrefix } from "./paths-BEmvSyOV.js";
|
|
3
3
|
import { t as CONFIG_DIR } from "./utils-CYk9EKoq.js";
|
|
4
|
-
import { Ft as resolveTelegramPreviewStreamMode } from "./config-
|
|
4
|
+
import { Ft as resolveTelegramPreviewStreamMode } from "./config-Bt5GhnA-.js";
|
|
5
5
|
import { p as normalizeAccountId } from "./session-key-HSJ2KQTc.js";
|
|
6
|
-
import { n as readChannelAllowFromStore } from "./pairing-store-
|
|
7
|
-
import { h as normalizeMimeType, u as getFileExtension } from "./image-ops-
|
|
6
|
+
import { n as readChannelAllowFromStore } from "./pairing-store-B01mCSct.js";
|
|
7
|
+
import { h as normalizeMimeType, u as getFileExtension } from "./image-ops-CUaLtIFj.js";
|
|
8
8
|
import path from "node:path";
|
|
9
9
|
import fs, { readFileSync } from "node:fs";
|
|
10
10
|
import JSON5 from "json5";
|
|
@@ -69,55 +69,6 @@ function isVoiceCompatibleAudio(opts) {
|
|
|
69
69
|
return isTelegramVoiceCompatibleAudio(opts);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
//#endregion
|
|
73
|
-
//#region src/cron/store.ts
|
|
74
|
-
const DEFAULT_CRON_DIR = path.join(CONFIG_DIR, "cron");
|
|
75
|
-
const DEFAULT_CRON_STORE_PATH = path.join(DEFAULT_CRON_DIR, "jobs.json");
|
|
76
|
-
function resolveCronStorePath(storePath) {
|
|
77
|
-
if (storePath?.trim()) {
|
|
78
|
-
const raw = storePath.trim();
|
|
79
|
-
if (raw.startsWith("~")) return path.resolve(expandHomePrefix(raw));
|
|
80
|
-
return path.resolve(raw);
|
|
81
|
-
}
|
|
82
|
-
return DEFAULT_CRON_STORE_PATH;
|
|
83
|
-
}
|
|
84
|
-
async function loadCronStore(storePath) {
|
|
85
|
-
try {
|
|
86
|
-
const raw = await fs.promises.readFile(storePath, "utf-8");
|
|
87
|
-
let parsed;
|
|
88
|
-
try {
|
|
89
|
-
parsed = JSON5.parse(raw);
|
|
90
|
-
} catch (err) {
|
|
91
|
-
throw new Error(`Failed to parse cron store at ${storePath}: ${String(err)}`, { cause: err });
|
|
92
|
-
}
|
|
93
|
-
const parsedRecord = parsed && typeof parsed === "object" && !Array.isArray(parsed) ? parsed : {};
|
|
94
|
-
const jobs = Array.isArray(parsedRecord.jobs) ? parsedRecord.jobs : [];
|
|
95
|
-
const trustedSources = Array.isArray(parsedRecord.trustedSources) ? parsedRecord.trustedSources.filter(Boolean) : [];
|
|
96
|
-
return {
|
|
97
|
-
version: 1,
|
|
98
|
-
jobs: jobs.filter(Boolean),
|
|
99
|
-
...trustedSources.length > 0 ? { trustedSources } : {}
|
|
100
|
-
};
|
|
101
|
-
} catch (err) {
|
|
102
|
-
if (err?.code === "ENOENT") return {
|
|
103
|
-
version: 1,
|
|
104
|
-
jobs: []
|
|
105
|
-
};
|
|
106
|
-
throw err;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
async function saveCronStore(storePath, store) {
|
|
110
|
-
await fs.promises.mkdir(path.dirname(storePath), { recursive: true });
|
|
111
|
-
const { randomBytes } = await import("node:crypto");
|
|
112
|
-
const tmp = `${storePath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
|
|
113
|
-
const json = JSON.stringify(store, null, 2);
|
|
114
|
-
await fs.promises.writeFile(tmp, json, "utf-8");
|
|
115
|
-
await fs.promises.rename(tmp, storePath);
|
|
116
|
-
try {
|
|
117
|
-
await fs.promises.copyFile(storePath, `${storePath}.bak`);
|
|
118
|
-
} catch {}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
72
|
//#endregion
|
|
122
73
|
//#region src/channels/location.ts
|
|
123
74
|
function resolveLocation(location) {
|
|
@@ -517,6 +468,55 @@ function extractTelegramLocation(msg) {
|
|
|
517
468
|
return null;
|
|
518
469
|
}
|
|
519
470
|
|
|
471
|
+
//#endregion
|
|
472
|
+
//#region src/cron/store.ts
|
|
473
|
+
const DEFAULT_CRON_DIR = path.join(CONFIG_DIR, "cron");
|
|
474
|
+
const DEFAULT_CRON_STORE_PATH = path.join(DEFAULT_CRON_DIR, "jobs.json");
|
|
475
|
+
function resolveCronStorePath(storePath) {
|
|
476
|
+
if (storePath?.trim()) {
|
|
477
|
+
const raw = storePath.trim();
|
|
478
|
+
if (raw.startsWith("~")) return path.resolve(expandHomePrefix(raw));
|
|
479
|
+
return path.resolve(raw);
|
|
480
|
+
}
|
|
481
|
+
return DEFAULT_CRON_STORE_PATH;
|
|
482
|
+
}
|
|
483
|
+
async function loadCronStore(storePath) {
|
|
484
|
+
try {
|
|
485
|
+
const raw = await fs.promises.readFile(storePath, "utf-8");
|
|
486
|
+
let parsed;
|
|
487
|
+
try {
|
|
488
|
+
parsed = JSON5.parse(raw);
|
|
489
|
+
} catch (err) {
|
|
490
|
+
throw new Error(`Failed to parse cron store at ${storePath}: ${String(err)}`, { cause: err });
|
|
491
|
+
}
|
|
492
|
+
const parsedRecord = parsed && typeof parsed === "object" && !Array.isArray(parsed) ? parsed : {};
|
|
493
|
+
const jobs = Array.isArray(parsedRecord.jobs) ? parsedRecord.jobs : [];
|
|
494
|
+
const trustedSources = Array.isArray(parsedRecord.trustedSources) ? parsedRecord.trustedSources.filter(Boolean) : [];
|
|
495
|
+
return {
|
|
496
|
+
version: 1,
|
|
497
|
+
jobs: jobs.filter(Boolean),
|
|
498
|
+
...trustedSources.length > 0 ? { trustedSources } : {}
|
|
499
|
+
};
|
|
500
|
+
} catch (err) {
|
|
501
|
+
if (err?.code === "ENOENT") return {
|
|
502
|
+
version: 1,
|
|
503
|
+
jobs: []
|
|
504
|
+
};
|
|
505
|
+
throw err;
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
async function saveCronStore(storePath, store) {
|
|
509
|
+
await fs.promises.mkdir(path.dirname(storePath), { recursive: true });
|
|
510
|
+
const { randomBytes } = await import("node:crypto");
|
|
511
|
+
const tmp = `${storePath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
|
|
512
|
+
const json = JSON.stringify(store, null, 2);
|
|
513
|
+
await fs.promises.writeFile(tmp, json, "utf-8");
|
|
514
|
+
await fs.promises.rename(tmp, storePath);
|
|
515
|
+
try {
|
|
516
|
+
await fs.promises.copyFile(storePath, `${storePath}.bak`);
|
|
517
|
+
} catch {}
|
|
518
|
+
}
|
|
519
|
+
|
|
520
520
|
//#endregion
|
|
521
521
|
//#region src/infra/wsl.ts
|
|
522
522
|
function isWSLEnv() {
|
|
@@ -551,4 +551,4 @@ function isWSL2Sync() {
|
|
|
551
551
|
}
|
|
552
552
|
|
|
553
553
|
//#endregion
|
|
554
|
-
export {
|
|
554
|
+
export { formatLocationText as A, resolveTelegramReplyId as C, normalizeAllowFrom as D, isSenderAllowed as E, isSenderIdAllowed as F, mergeDmAllowFromSources as I, resolveGroupAllowFromSources as L, isTelegramVoiceCompatibleAudio as M, isVoiceCompatibleAudio as N, normalizeDmAllowFromWithStore as O, firstDefined as P, resolveTelegramMediaPlaceholder as S, resolveTelegramThreadSpec as T, extractTelegramLocation as _, resolveCronStorePath as a, resolveTelegramForumThreadId as b, buildSenderLabel as c, buildTelegramGroupPeerId as d, buildTelegramParentPeer as f, expandTextLinks as g, describeReplyTarget as h, loadCronStore as i, toLocationContext as j, resolveSenderAllowMatch as k, buildSenderName as l, buildTypingThreadParams as m, isWSLEnv as n, saveCronStore as o, buildTelegramThreadParams as p, isWSLSync as r, buildGroupLabel as s, isWSL2Sync as t, buildTelegramGroupFrom as u, hasBotMention as v, resolveTelegramStreamMode as w, resolveTelegramGroupAllowFromContext as x, normalizeForwardedContext as y };
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { resolveFasedAgentPackageRootSync } from "../infra/fased-root.js";
|
|
2
2
|
import { fileURLToPath } from "node:url";
|
|
3
|
-
import
|
|
3
|
+
import syncFs from "node:fs";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
|
|
6
6
|
//#region src/plugins/bundled-dir.ts
|
|
7
7
|
function looksLikeBundledPluginsDir(dir) {
|
|
8
8
|
try {
|
|
9
|
-
const entries =
|
|
9
|
+
const entries = syncFs.readdirSync(dir, { withFileTypes: true });
|
|
10
10
|
for (const entry of entries) {
|
|
11
11
|
if (!entry.isDirectory()) {
|
|
12
12
|
continue;
|
|
13
13
|
}
|
|
14
14
|
const pluginRoot = path.join(dir, entry.name);
|
|
15
|
-
if (
|
|
15
|
+
if (syncFs.existsSync(path.join(pluginRoot, "fased.plugin.json"))) {
|
|
16
16
|
return true;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
@@ -3,7 +3,7 @@ import { openBoundaryFileSync } from "../infra/boundary-file-read.js";
|
|
|
3
3
|
import { resolveBundledPluginsDir } from "./bundled-dir.js";
|
|
4
4
|
import { DEFAULT_PLUGIN_ENTRY_CANDIDATES, getPackageManifestMetadata, loadPluginManifest } from "./manifest.js";
|
|
5
5
|
import { formatPosixMode, isPathInside, safeRealpathSync, safeStatSync } from "./path-safety.js";
|
|
6
|
-
import
|
|
6
|
+
import syncFs from "node:fs";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
|
|
9
9
|
//#region src/plugins/discovery.ts
|
|
@@ -168,12 +168,12 @@ function readPackageManifest(dir) {
|
|
|
168
168
|
return null;
|
|
169
169
|
}
|
|
170
170
|
try {
|
|
171
|
-
const raw =
|
|
171
|
+
const raw = syncFs.readFileSync(opened.fd, "utf-8");
|
|
172
172
|
return JSON.parse(raw);
|
|
173
173
|
} catch {
|
|
174
174
|
return null;
|
|
175
175
|
} finally {
|
|
176
|
-
|
|
176
|
+
syncFs.closeSync(opened.fd);
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
function normalizePackageEntry(entry) {
|
|
@@ -212,7 +212,7 @@ function inferLegacyPluginManifestExtensions(manifest, packageDir) {
|
|
|
212
212
|
if (!isPathInside(packageDir, resolved)) {
|
|
213
213
|
continue;
|
|
214
214
|
}
|
|
215
|
-
if (
|
|
215
|
+
if (syncFs.existsSync(resolved) && isExtensionFile(resolved)) {
|
|
216
216
|
entries.push(normalized);
|
|
217
217
|
}
|
|
218
218
|
}
|
|
@@ -283,16 +283,16 @@ function resolvePackageEntrySource(params) {
|
|
|
283
283
|
return null;
|
|
284
284
|
}
|
|
285
285
|
const safeSource = opened.path;
|
|
286
|
-
|
|
286
|
+
syncFs.closeSync(opened.fd);
|
|
287
287
|
return safeSource;
|
|
288
288
|
}
|
|
289
289
|
function discoverInDirectory(params) {
|
|
290
|
-
if (!
|
|
290
|
+
if (!syncFs.existsSync(params.dir)) {
|
|
291
291
|
return;
|
|
292
292
|
}
|
|
293
293
|
let entries = [];
|
|
294
294
|
try {
|
|
295
|
-
entries =
|
|
295
|
+
entries = syncFs.readdirSync(params.dir, { withFileTypes: true });
|
|
296
296
|
} catch (err) {
|
|
297
297
|
params.diagnostics.push({
|
|
298
298
|
level: "warn",
|
|
@@ -364,7 +364,7 @@ function discoverInDirectory(params) {
|
|
|
364
364
|
"index.mjs",
|
|
365
365
|
"index.cjs"
|
|
366
366
|
];
|
|
367
|
-
const indexFile = indexCandidates.map((candidate) => path.join(fullPath, candidate)).find((candidate) =>
|
|
367
|
+
const indexFile = indexCandidates.map((candidate) => path.join(fullPath, candidate)).find((candidate) => syncFs.existsSync(candidate));
|
|
368
368
|
if (indexFile && isExtensionFile(indexFile)) {
|
|
369
369
|
addCandidate({
|
|
370
370
|
candidates: params.candidates,
|
|
@@ -384,7 +384,7 @@ function discoverInDirectory(params) {
|
|
|
384
384
|
}
|
|
385
385
|
function discoverFromPath(params) {
|
|
386
386
|
const resolved = resolveUserPath(params.rawPath);
|
|
387
|
-
if (!
|
|
387
|
+
if (!syncFs.existsSync(resolved)) {
|
|
388
388
|
params.diagnostics.push({
|
|
389
389
|
level: "error",
|
|
390
390
|
message: `plugin path not found: ${resolved}`,
|
|
@@ -392,7 +392,7 @@ function discoverFromPath(params) {
|
|
|
392
392
|
});
|
|
393
393
|
return;
|
|
394
394
|
}
|
|
395
|
-
const stat =
|
|
395
|
+
const stat = syncFs.statSync(resolved);
|
|
396
396
|
if (stat.isFile()) {
|
|
397
397
|
if (!isExtensionFile(resolved)) {
|
|
398
398
|
params.diagnostics.push({
|
|
@@ -455,7 +455,7 @@ function discoverFromPath(params) {
|
|
|
455
455
|
"index.mjs",
|
|
456
456
|
"index.cjs"
|
|
457
457
|
];
|
|
458
|
-
const indexFile = indexCandidates.map((candidate) => path.join(resolved, candidate)).find((candidate) =>
|
|
458
|
+
const indexFile = indexCandidates.map((candidate) => path.join(resolved, candidate)).find((candidate) => syncFs.existsSync(candidate));
|
|
459
459
|
if (indexFile && isExtensionFile(indexFile)) {
|
|
460
460
|
addCandidate({
|
|
461
461
|
candidates: params.candidates,
|
package/dist/plugins/loader.js
CHANGED
|
@@ -13,7 +13,7 @@ import { setActivePluginRegistry } from "./runtime.js";
|
|
|
13
13
|
import { initializeGlobalHookRunner } from "./hook-runner-global.js";
|
|
14
14
|
import { createPluginRuntime } from "./runtime/index.js";
|
|
15
15
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
16
|
-
import
|
|
16
|
+
import syncFs from "node:fs";
|
|
17
17
|
import path from "node:path";
|
|
18
18
|
import { createJiti } from "jiti";
|
|
19
19
|
|
|
@@ -36,7 +36,7 @@ const resolvePluginSdkAliasFile = (params) => {
|
|
|
36
36
|
const distCandidate = path.join(cursor, "dist", "plugin-sdk", params.distFile);
|
|
37
37
|
const orderedCandidates = isDistRuntime ? [distCandidate, srcCandidate] : isProduction ? isTest ? [distCandidate, srcCandidate] : [distCandidate] : [srcCandidate, distCandidate];
|
|
38
38
|
for (const candidate of orderedCandidates) {
|
|
39
|
-
if (
|
|
39
|
+
if (syncFs.existsSync(candidate)) {
|
|
40
40
|
return candidate;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
@@ -122,7 +122,7 @@ function repairOfficialChannelRuntimeDependencies(params) {
|
|
|
122
122
|
}
|
|
123
123
|
let manifest;
|
|
124
124
|
try {
|
|
125
|
-
manifest = JSON.parse(
|
|
125
|
+
manifest = JSON.parse(syncFs.readFileSync(path.join(params.pluginRoot, "package.json"), "utf8"));
|
|
126
126
|
} catch {
|
|
127
127
|
return;
|
|
128
128
|
}
|
|
@@ -133,31 +133,31 @@ function repairOfficialChannelRuntimeDependencies(params) {
|
|
|
133
133
|
for (const dependencyName of dependencyNames) {
|
|
134
134
|
const segments = dependencyName.split("/");
|
|
135
135
|
const source = path.join(params.pluginRoot, "node_modules", ...segments);
|
|
136
|
-
if (!
|
|
136
|
+
if (!syncFs.existsSync(source)) {
|
|
137
137
|
continue;
|
|
138
138
|
}
|
|
139
139
|
const target = path.join(coreRoot, "node_modules", ...segments);
|
|
140
140
|
try {
|
|
141
|
-
const sourceReal =
|
|
141
|
+
const sourceReal = syncFs.realpathSync(source);
|
|
142
142
|
let shouldCreate = true;
|
|
143
143
|
try {
|
|
144
|
-
const current =
|
|
144
|
+
const current = syncFs.lstatSync(target);
|
|
145
145
|
if (!current.isSymbolicLink()) {
|
|
146
146
|
shouldCreate = false;
|
|
147
147
|
} else {
|
|
148
|
-
const targetReal =
|
|
148
|
+
const targetReal = syncFs.realpathSync(target);
|
|
149
149
|
if (targetReal === sourceReal) {
|
|
150
150
|
shouldCreate = false;
|
|
151
151
|
} else {
|
|
152
|
-
|
|
152
|
+
syncFs.unlinkSync(target);
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
} catch {}
|
|
156
156
|
if (!shouldCreate) {
|
|
157
157
|
continue;
|
|
158
158
|
}
|
|
159
|
-
|
|
160
|
-
|
|
159
|
+
syncFs.mkdirSync(path.dirname(target), { recursive: true });
|
|
160
|
+
syncFs.symlinkSync(sourceReal, target, process.platform === "win32" ? "junction" : "dir");
|
|
161
161
|
} catch (error) {
|
|
162
162
|
params.logger.warn(`[plugins] unable to expose ${dependencyName} from ${params.pluginId}: ${String(error)}`);
|
|
163
163
|
}
|
|
@@ -228,7 +228,7 @@ async function preloadNativePluginModules(options = {}) {
|
|
|
228
228
|
continue;
|
|
229
229
|
}
|
|
230
230
|
const safeSource = opened.path;
|
|
231
|
-
|
|
231
|
+
syncFs.closeSync(opened.fd);
|
|
232
232
|
const startedAt = Date.now();
|
|
233
233
|
try {
|
|
234
234
|
const moduleUrl = pathToFileURL(safeSource).href;
|
|
@@ -644,7 +644,7 @@ function loadFasedAgentPlugins(options = {}) {
|
|
|
644
644
|
continue;
|
|
645
645
|
}
|
|
646
646
|
const safeSource = opened.path;
|
|
647
|
-
|
|
647
|
+
syncFs.closeSync(opened.fd);
|
|
648
648
|
repairOfficialChannelRuntimeDependencies({
|
|
649
649
|
pluginId,
|
|
650
650
|
pluginRoot,
|
|
@@ -808,7 +808,7 @@ function resolveRuntimePluginRegistry(options = {}) {
|
|
|
808
808
|
}
|
|
809
809
|
function safeRealpathOrResolve(value) {
|
|
810
810
|
try {
|
|
811
|
-
return
|
|
811
|
+
return syncFs.realpathSync(value);
|
|
812
812
|
} catch {
|
|
813
813
|
return path.resolve(value);
|
|
814
814
|
}
|
|
@@ -5,7 +5,7 @@ import { loadPluginManifest } from "./manifest.js";
|
|
|
5
5
|
import { safeRealpathSync } from "./path-safety.js";
|
|
6
6
|
import { discoverFasedAgentPlugins } from "./discovery.js";
|
|
7
7
|
import { checkMinHostVersion } from "./min-host-version.js";
|
|
8
|
-
import
|
|
8
|
+
import syncFs from "node:fs";
|
|
9
9
|
import path from "node:path";
|
|
10
10
|
|
|
11
11
|
//#region src/plugins/manifest-registry.ts
|
|
@@ -49,7 +49,7 @@ function buildCacheKey(params) {
|
|
|
49
49
|
}
|
|
50
50
|
function safeStatMtimeMs(filePath) {
|
|
51
51
|
try {
|
|
52
|
-
return
|
|
52
|
+
return syncFs.statSync(filePath).mtimeMs;
|
|
53
53
|
} catch {
|
|
54
54
|
return null;
|
|
55
55
|
}
|