@fased/fased 0.1.45 → 0.1.47
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/dist/acp/client.js +2 -2
- package/dist/acp/control-plane/spawn.js +1 -1
- package/dist/acp/secret-file.js +2 -2
- package/dist/agents/acp-spawn-parent-stream.js +2 -2
- package/dist/agents/acp-spawn.js +3 -3
- 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/bash-tools.exec-approval-request.js +1 -1
- package/dist/agents/bash-tools.exec-host-node.js +1 -1
- package/dist/agents/bash-tools.exec-runtime.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/defaults.js +1 -1
- package/dist/agents/docs-path.js +3 -3
- package/dist/agents/embedded-pi-mcp.js +4 -4
- package/dist/agents/fased-tools.js +4 -4
- package/dist/agents/identity-avatar.js +4 -4
- package/dist/agents/identity-file.js +2 -2
- package/dist/agents/pi-embedded-runner/compact.js +4 -4
- package/dist/agents/pi-embedded-runner/run/attempt.js +5 -5
- package/dist/agents/pi-embedded-runner/run/images.js +1 -1
- package/dist/agents/pi-embedded-runner/run.js +2 -2
- package/dist/agents/pi-embedded-runner/system-prompt.js +1 -1
- package/dist/agents/pi-embedded-subscribe.handlers.compaction.js +1 -1
- package/dist/agents/pi-embedded-subscribe.handlers.messages.js +1 -1
- package/dist/agents/pi-embedded-subscribe.js +2 -2
- package/dist/agents/pi-embedded-subscribe.raw-stream.js +3 -3
- package/dist/agents/pi-embedded-subscribe.tools.js +1 -1
- 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/pi-tools.read.js +1 -1
- package/dist/agents/sandbox/browser.js +2 -2
- package/dist/agents/sandbox/context.js +2 -2
- package/dist/agents/sandbox/docker.js +1 -1
- package/dist/agents/sandbox/fs-bridge.js +2 -2
- package/dist/agents/sandbox/manage.js +2 -2
- package/dist/agents/sandbox/prune.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-announce-output.js +3 -3
- package/dist/agents/subagent-announce.js +6 -6
- package/dist/agents/subagent-announce.runtime.js +1 -1
- package/dist/agents/subagent-depth.js +2 -2
- package/dist/agents/subagent-registry.js +3 -3
- package/dist/agents/subagent-spawn.js +2 -2
- package/dist/agents/system-prompt-params.js +3 -3
- package/dist/agents/tool-images.js +1 -1
- package/dist/agents/tools/canvas-tool.js +2 -2
- package/dist/agents/tools/cron-tool.js +1 -1
- package/dist/agents/tools/diff-view-tool.js +1 -1
- package/dist/agents/tools/discord-actions-messaging.js +1 -1
- package/dist/agents/tools/gateway-tool.js +1 -1
- package/dist/agents/tools/gateway.js +1 -1
- package/dist/agents/tools/marketplace-offer-draft-tool.js +3 -3
- package/dist/agents/tools/message-tool.js +5 -5
- package/dist/agents/tools/mining-tool.js +1 -1
- package/dist/agents/tools/nodes-tool.js +1 -1
- package/dist/agents/tools/session-status-tool.js +3 -3
- package/dist/agents/tools/sessions-history-tool.js +1 -1
- package/dist/agents/tools/sessions-list-tool.js +1 -1
- package/dist/agents/tools/sessions-send-tool.a2a.js +1 -1
- package/dist/agents/tools/sessions-send-tool.js +1 -1
- package/dist/agents/tools/slack-actions.js +1 -1
- package/dist/agents/tools/subagents-tool.js +3 -3
- package/dist/agents/tools/telegram-actions.js +1 -1
- package/dist/agents/tools/tts-tool.js +1 -1
- package/dist/agents/tools/wallet-action-tool.js +4 -4
- package/dist/agents/tools/wallet-tool.js +7 -7
- package/dist/agents/tools/web-fetch.js +1 -1
- package/dist/agents/workspace.js +22 -22
- package/dist/auto-reply/chunk.js +1 -1
- package/dist/auto-reply/envelope.js +1 -1
- package/dist/auto-reply/reply/abort.js +2 -2
- package/dist/auto-reply/reply/agent-runner-execution.js +4 -4
- package/dist/auto-reply/reply/agent-runner-memory.js +2 -2
- package/dist/auto-reply/reply/agent-runner-payloads.js +1 -1
- package/dist/auto-reply/reply/agent-runner.js +8 -8
- package/dist/auto-reply/reply/bash-command.js +1 -1
- package/dist/auto-reply/reply/commands-acp/diagnostics.js +1 -1
- package/dist/auto-reply/reply/commands-acp/lifecycle.js +2 -2
- package/dist/auto-reply/reply/commands-acp/shared.js +1 -1
- package/dist/auto-reply/reply/commands-compact.js +2 -2
- package/dist/auto-reply/reply/commands-control.js +1 -1
- 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/commands-session-abort.js +2 -2
- package/dist/auto-reply/reply/commands-status.js +2 -2
- package/dist/auto-reply/reply/commands-subagents/action-focus.js +1 -1
- package/dist/auto-reply/reply/commands-subagents/action-kill.js +2 -2
- package/dist/auto-reply/reply/commands-subagents/action-send.js +1 -1
- package/dist/auto-reply/reply/commands-subagents/shared.js +1 -1
- package/dist/auto-reply/reply/dispatch-acp.js +5 -5
- package/dist/auto-reply/reply/dispatch-from-config.js +2 -2
- package/dist/auto-reply/reply/followup-runner.js +4 -4
- package/dist/auto-reply/reply/get-reply-directives.js +2 -2
- package/dist/auto-reply/reply/get-reply-inline-actions.js +2 -2
- package/dist/auto-reply/reply/get-reply-run.js +4 -4
- package/dist/auto-reply/reply/model-selection.js +2 -2
- 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/queue/cleanup.js +1 -1
- package/dist/auto-reply/reply/reply-delivery.js +1 -1
- package/dist/auto-reply/reply/reply-directives.js +1 -1
- package/dist/auto-reply/reply/route-reply.js +1 -1
- package/dist/auto-reply/reply/session-reset-model.js +1 -1
- package/dist/auto-reply/reply/session-updates.js +1 -1
- package/dist/auto-reply/reply/session.js +3 -3
- package/dist/auto-reply/reply/streaming-directives.js +1 -1
- package/dist/auto-reply/reply.js +1 -1
- package/dist/auto-reply/skill-commands.js +3 -3
- package/dist/auto-reply/status.js +9 -9
- package/dist/brand.js +1 -1
- package/dist/browser/chrome.executables.js +3 -3
- package/dist/browser/chrome.js +3 -3
- package/dist/browser/chrome.profile-decoration.js +6 -6
- 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/bundled/session-memory/handler.js +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/a2ui.js +1 -1
- package/dist/canvas-host/server.js +5 -5
- package/dist/capabilities/catalog.js +3 -3
- package/dist/channel-web.js +1 -1
- package/dist/channels/plugins/actions/signal.js +1 -1
- package/dist/channels/plugins/actions/telegram.js +2 -2
- package/dist/channels/plugins/catalog.js +3 -3
- package/dist/channels/plugins/onboarding/discord.js +1 -1
- package/dist/channels/plugins/onboarding/imessage.js +1 -1
- package/dist/cli/browser-cli-extension.js +7 -7
- package/dist/cli/command-format.js +2 -2
- package/dist/cli/components-cli.js +1 -1
- package/dist/cli/cron-cli/register.cron-simple.js +2 -2
- package/dist/cli/cron-cli/shared.js +1 -1
- package/dist/cli/daemon-cli/install.js +2 -2
- package/dist/cli/daemon-cli/status.gather.js +1 -1
- package/dist/cli/daemon-cli/status.print.js +1 -1
- package/dist/cli/directory-cli.js +1 -1
- package/dist/cli/dns-cli.js +9 -9
- package/dist/cli/exec-approvals-cli.js +2 -2
- package/dist/cli/federation-cli.js +3 -3
- package/dist/cli/gateway-cli/dev.js +5 -5
- package/dist/cli/gateway-cli/register.js +3 -3
- package/dist/cli/gateway-cli/run.js +3 -3
- package/dist/cli/hooks-cli.js +6 -6
- package/dist/cli/memory-cli.js +7 -7
- package/dist/cli/node-cli/daemon.js +1 -1
- package/dist/cli/nodes-cli/register.status.js +1 -1
- package/dist/cli/nodes-cli/rpc.js +1 -1
- package/dist/cli/nodes-media-utils.js +2 -2
- package/dist/cli/plugins-cli.js +3 -3
- package/dist/cli/program/message/helpers.js +1 -1
- package/dist/cli/program/register.agent.js +1 -1
- package/dist/cli/program/register.status-health-sessions.js +1 -1
- package/dist/cli/program/register.wallet.js +1 -1
- package/dist/cli/run-main.js +1 -1
- package/dist/cli/secrets-cli.js +3 -3
- package/dist/cli/tui-cli.js +1 -1
- package/dist/cli/update-cli/status.js +1 -1
- package/dist/cli/update-cli/update-command.js +3 -3
- package/dist/cli/windows-argv.js +2 -2
- package/dist/commands/agent/attempt.js +1 -1
- package/dist/commands/agent/delivery.js +2 -2
- package/dist/commands/agent.js +9 -9
- package/dist/commands/agents.commands.add.js +1 -1
- package/dist/commands/agents.commands.delete.js +1 -1
- package/dist/commands/channels/add.js +2 -2
- package/dist/commands/channels/list.js +2 -2
- package/dist/commands/channels/status.js +1 -1
- package/dist/commands/configure.daemon.js +1 -1
- package/dist/commands/configure.wizard.js +1 -1
- package/dist/commands/dashboard-link.js +3 -3
- package/dist/commands/dashboard.js +2 -2
- package/dist/commands/docs.js +1 -1
- package/dist/commands/doctor-config-flow.js +2 -2
- package/dist/commands/doctor-format.js +1 -1
- package/dist/commands/doctor-gateway-daemon-flow.js +5 -5
- package/dist/commands/doctor-gateway-services.js +2 -2
- 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-security.js +1 -1
- package/dist/commands/doctor-state-integrity.js +23 -23
- package/dist/commands/doctor-workspace.js +3 -3
- package/dist/commands/doctor.js +4 -4
- package/dist/commands/gateway-status.js +2 -2
- package/dist/commands/hosted-dashboard-probe.js +2 -2
- package/dist/commands/managed-up.js +2 -2
- package/dist/commands/message.js +1 -1
- package/dist/commands/models/list.probe.js +3 -3
- package/dist/commands/models/list.status-command.js +3 -3
- package/dist/commands/onboard-auth.credentials.js +3 -3
- package/dist/commands/onboard-channels.js +1 -1
- package/dist/commands/onboard-helpers.js +1 -1
- package/dist/commands/onboard-non-interactive/local/daemon-install.js +2 -2
- package/dist/commands/onboard-non-interactive/local.js +1 -1
- package/dist/commands/onboard-skills.js +1 -1
- package/dist/commands/onboarding/plugin-install.js +3 -3
- package/dist/commands/openai-model-default.js +1 -1
- package/dist/commands/sessions-cleanup.js +2 -2
- package/dist/commands/signal-install.js +6 -6
- package/dist/commands/status-all/channels.js +3 -3
- package/dist/commands/status-all/diagnosis.js +1 -1
- package/dist/commands/status-all/format.js +1 -1
- package/dist/commands/status-all.js +8 -8
- package/dist/commands/status.command.js +4 -4
- package/dist/commands/status.gateway-probe.js +1 -1
- package/dist/commands/status.scan.js +3 -3
- package/dist/commands/status.summary.js +1 -1
- package/dist/commands/wallet.js +51 -50
- 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/control-ui/assets/{app-JBrTSsNu.js → app-CHqTx3P_.js} +4 -4
- package/dist/control-ui/assets/chat-model-ref-BbrdMKjQ.js +2 -0
- package/dist/control-ui/assets/{index-H-2DWAnH.js → index-CFHfNlLv.js} +3 -3
- package/dist/control-ui/assets/{providers-C9hLw4o6.js → providers-DqFL6WrJ.js} +2 -2
- package/dist/control-ui/index.html +1 -1
- package/dist/cron/isolated-agent/delivery-dispatch.js +2 -2
- package/dist/cron/isolated-agent/delivery-target.js +1 -1
- package/dist/cron/isolated-agent/run.js +5 -5
- package/dist/cron/service/store.js +2 -2
- package/dist/cron/store.js +6 -6
- package/dist/daemon/service-audit.js +2 -2
- package/dist/daemon/systemd-system.js +10 -10
- package/dist/discord/monitor/agent-components.js +9 -9
- package/dist/discord/monitor/gateway-plugin.js +1 -1
- package/dist/discord/monitor/listeners.js +2 -2
- package/dist/discord/monitor/message-handler.js +1 -1
- package/dist/discord/monitor/message-handler.preflight.js +8 -8
- package/dist/discord/monitor/message-handler.process.js +5 -5
- package/dist/discord/monitor/native-command.js +9 -9
- package/dist/discord/monitor/provider.js +2 -2
- package/dist/discord/monitor/reply-delivery.js +1 -1
- package/dist/discord/monitor/thread-bindings.state.js +2 -2
- package/dist/discord/send.outbound.js +1 -1
- package/dist/discord/voice/command.js +1 -1
- package/dist/extensionAPI.js +1 -1
- package/dist/extensions/sat-mining/src/rpc-read.js +7 -3
- package/dist/extensions/sat-mining/src/sat-bond-layout.js +9 -9
- package/dist/extensions/sat-mining/src/solana-submit.js +2 -2
- package/dist/federation/auto-connect.js +1 -1
- package/dist/federation/marketplace-capability-adapter.js +1 -1
- package/dist/federation/marketplace-delivery.js +1 -1
- package/dist/federation/marketplace-direct-payment.js +1 -1
- package/dist/federation/marketplace-escrow.js +2 -2
- package/dist/federation/settlement-evidence.js +1 -1
- package/dist/gateway/a2a-http.js +1 -1
- package/dist/gateway/call.js +2 -2
- package/dist/gateway/client.js +3 -3
- package/dist/gateway/control-ui-boot-check.js +7 -7
- package/dist/gateway/control-ui-login.js +7 -7
- package/dist/gateway/control-ui.js +10 -10
- package/dist/gateway/federation-http.js +3 -3
- package/dist/gateway/federation-marketplace.js +1 -1
- package/dist/gateway/hooks-mapping.js +4 -4
- package/dist/gateway/hooks.js +1 -1
- package/dist/gateway/openai-http.js +1 -1
- package/dist/gateway/openresponses-http.js +1 -1
- package/dist/gateway/server/health-state.js +1 -1
- package/dist/gateway/server/hooks.js +2 -2
- package/dist/gateway/server/ws-connection/message-handler.js +6 -6
- package/dist/gateway/server-channels.js +1 -1
- package/dist/gateway/server-cron.js +3 -3
- package/dist/gateway/server-discovery.js +2 -2
- package/dist/gateway/server-http.js +17 -17
- package/dist/gateway/server-methods/agent.js +4 -4
- package/dist/gateway/server-methods/agents.js +1 -1
- package/dist/gateway/server-methods/channels.js +1 -1
- package/dist/gateway/server-methods/chat.js +6 -6
- package/dist/gateway/server-methods/commands.js +1 -1
- package/dist/gateway/server-methods/devices.js +1 -1
- package/dist/gateway/server-methods/doctor.js +2 -2
- package/dist/gateway/server-methods/hooks.js +1 -1
- package/dist/gateway/server-methods/models.js +1 -1
- package/dist/gateway/server-methods/nodes.js +2 -2
- package/dist/gateway/server-methods/send.js +4 -4
- package/dist/gateway/server-methods/services.js +1 -1
- package/dist/gateway/server-methods/sessions.js +12 -12
- package/dist/gateway/server-methods/skills.js +2 -2
- package/dist/gateway/server-methods/system.js +1 -1
- package/dist/gateway/server-methods/tts.js +2 -2
- package/dist/gateway/server-methods/usage.js +2 -2
- package/dist/gateway/server-node-events.js +5 -5
- package/dist/gateway/server-reload-handlers.js +3 -3
- package/dist/gateway/server-restart-sentinel.js +3 -3
- package/dist/gateway/server.impl.js +19 -19
- 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 +2 -2
- package/dist/gateway/tools-invoke-http.js +2 -2
- 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 +5 -5
- package/dist/hooks/workspace.js +7 -7
- package/dist/imessage/monitor/deliver.js +1 -1
- package/dist/imessage/monitor/inbound-processing.js +4 -4
- package/dist/imessage/monitor/monitor-provider.js +2 -2
- package/dist/imessage/send.js +2 -2
- package/dist/index.js +1 -1
- 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 +9 -9
- 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/heartbeat-runner.js +8 -8
- 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/channel-resolution.js +1 -1
- package/dist/infra/outbound/deliver.js +3 -3
- package/dist/infra/outbound/delivery-queue.js +16 -16
- package/dist/infra/outbound/message-action-params.js +2 -2
- package/dist/infra/outbound/message-action-runner.js +4 -4
- package/dist/infra/outbound/message.js +3 -3
- package/dist/infra/outbound/outbound-session.js +1 -1
- package/dist/infra/outbound/payloads.js +1 -1
- 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/session-maintenance-warning.js +1 -1
- package/dist/infra/shell-env.js +2 -2
- package/dist/infra/skills-remote.js +1 -1
- 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 +1 -1
- package/dist/infra/widearea-dns.js +3 -3
- package/dist/infra/wsl.js +2 -2
- package/dist/light-update-status.js +11 -11
- package/dist/line/accounts.js +2 -2
- package/dist/line/bot-handlers.js +2 -2
- package/dist/line/bot-message-context.js +2 -2
- package/dist/line/download.js +3 -3
- package/dist/line/monitor.js +3 -3
- package/dist/line/webhook-node.js +1 -1
- package/dist/llm-slug-generator.js +1 -1
- 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/fetch.js +1 -1
- package/dist/media/input-files.js +2 -2
- package/dist/media/store.js +14 -14
- package/dist/media-understanding/attachments.js +4 -4
- package/dist/media-understanding/providers/google/inline-data.js +1 -1
- package/dist/media-understanding/providers/shared.js +1 -1
- 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/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 +5 -5
- package/dist/pairing/pairing-store.js +3 -3
- package/dist/plugin-sdk/{accounts-Bz_2QZSt.js → accounts-DzLdrOVC.js} +1 -1
- package/dist/plugin-sdk/{actions-CysoQjk1.js → actions-PhofTgnO.js} +4 -4
- package/dist/plugin-sdk/{active-listener-C5ALSs7Y.js → active-listener-C8a74qPO.js} +1 -1
- package/dist/plugin-sdk/{allow-list-yqasgPpz.js → allow-list-BYeKk0Sy.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-CKgOmu0p.js → audio-preflight-CARAVcz-.js} +51 -49
- package/dist/plugin-sdk/{audit-BFnu5TVB.js → audit-ByK45Q1d.js} +1 -1
- package/dist/plugin-sdk/{channel-access-BiWxa3LR.js → channel-access-BEin0yA4.js} +1 -1
- package/dist/plugin-sdk/{channel-access-configure-gJvqbbXB.js → channel-access-configure-Di_DoR-Q.js} +1 -1
- package/dist/plugin-sdk/{channel-adapters.discord-g8Do3f5N.js → channel-adapters.discord-IOZP8Cv5.js} +1 -1
- package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
- package/dist/plugin-sdk/channel-plugin-common.js +8 -8
- package/dist/plugin-sdk/{chunk-CuJIMshx.js → chunk-CwN3c1Fq.js} +1 -1
- package/dist/plugin-sdk/{chunk-items-CNyHcNiG.js → chunk-items-DH7ooQBZ.js} +1 -1
- package/dist/plugin-sdk/command-status.js +51 -49
- package/dist/plugin-sdk/{commands-registry-DwQIFJmL.js → commands-registry-Bea-V_lR.js} +2 -2
- package/dist/plugin-sdk/{common-C90EHP1w.js → common-BJPuBxmx.js} +1 -1
- package/dist/plugin-sdk/{config-DKNrb8oT.js → config-BxOWD3gF.js} +61 -6
- package/dist/plugin-sdk/{pi-embedded-runner-XtyJMQqg.js → config-schema-ChJcPn7x.js} +4818 -445
- package/dist/plugin-sdk/device-pair.d.ts +1 -1
- package/dist/plugin-sdk/device-pair.js +3 -3
- package/dist/plugin-sdk/{device-pairing-J1IH1jFl.js → device-pairing-D2Yq-_U6.js} +1 -1
- package/dist/plugin-sdk/{diagnostic-C16gioN6.js → diagnostic-Dfn1iERm.js} +4 -4
- package/dist/plugin-sdk/{directory-live-DK_83362.js → directory-live-ClwN5KKq.js} +1 -1
- package/dist/plugin-sdk/{directory-live-G7AN8y8N.js → directory-live-DatqU-eS.js} +1 -1
- package/dist/plugin-sdk/discord.d.ts +4 -4
- package/dist/plugin-sdk/discord.js +36 -37
- package/dist/plugin-sdk/{draft-stream-controls-DGYBMJYc.js → draft-stream-controls-D4Tb_iS_.js} +1 -1
- package/dist/plugin-sdk/{fetch-RV7QDF43.js → fetch-Cu-ahkie.js} +2 -2
- package/dist/plugin-sdk/{fetch-guard-CxXvFYq5.js → fetch-guard-BuYrl6q2.js} +3 -3
- package/dist/plugin-sdk/{filesystem-manager-CeSmCA_A.js → filesystem-manager-B9DDPgfU.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-DztQeyQe.js → fs-safe-BG-VzVkL.js} +1 -1
- package/dist/plugin-sdk/{guilds-n7MMnX1c.js → guilds-BeT3iHHJ.js} +1 -1
- package/dist/plugin-sdk/{handle-action-DkfMckah.js → handle-action-Bk-L2J84.js} +29 -29
- package/dist/plugin-sdk/{helpers-C1pcZJsv.js → helpers-0E444CR0.js} +74 -2
- package/dist/plugin-sdk/{image-ops-BSQmb-17.js → image-ops-BYc-Ol7C.js} +1 -1
- package/dist/plugin-sdk/index.d.ts +20 -16
- package/dist/plugin-sdk/index.js +63 -4294
- package/dist/plugin-sdk/{internal-CC6TMTtc.js → internal-qo16nNU1.js} +1 -1
- package/dist/plugin-sdk/json-store.js +6 -6
- package/dist/plugin-sdk/{login-YbYyMkkE.js → login-B_At7IVI.js} +3 -3
- package/dist/plugin-sdk/{login-qr-DvJw8_2g.js → login-qr-BlSQ8QJF.js} +6 -6
- package/dist/plugin-sdk/{manager-DQ1dH8OM.js → manager-VNI6sxbG.js} +11 -11
- package/dist/plugin-sdk/{markdown-tables-DrB-IM8r.js → markdown-tables-CpNefu6e.js} +1 -1
- package/dist/plugin-sdk/{media-D8pWjqEt.js → media-QBCmvhBQ.js} +4 -4
- package/dist/plugin-sdk/{monitor-dqvs6ijC.js → monitor-BhHlerHI.js} +59 -57
- package/dist/plugin-sdk/{monitor-B8dLCpFA.js → monitor-C9UczH5N.js} +67 -67
- package/dist/plugin-sdk/{openresponses-http-S64mJyy8.js → openresponses-http-CtuFHD5w.js} +51 -49
- package/dist/plugin-sdk/{optional-runtime-dependency-Bt_3Yigu.js → optional-runtime-dependency-BaVO1F3i.js} +1 -1
- package/dist/plugin-sdk/{outbound-B5ukMdUv.js → outbound-CWrcAWpE.js} +9 -9
- package/dist/plugin-sdk/{outbound-attachment-C9oadpUP.js → outbound-attachment-Dhi2Q-_f.js} +2 -2
- package/dist/plugin-sdk/{pairing-message-DfIyssV_.d.ts → pairing-message-6XVXW554.d.ts} +1 -1
- package/dist/plugin-sdk/{pairing-message-B787pcJI.js → pairing-message-D01_6FkJ.js} +1 -1
- package/dist/plugin-sdk/{pairing-store-BdOcH_GA.js → pairing-store-DADXOv-J.js} +2 -2
- package/dist/plugin-sdk/{pi-model-discovery-DQdXL_-F.js → pi-model-discovery-D9-CQFS2.js} +1 -1
- package/dist/plugin-sdk/{pi-model-discovery-runtime-IwiWDCQ3.js → pi-model-discovery-runtime-DhNNXQgq.js} +5 -5
- package/dist/plugin-sdk/{probe-CJ6lN-jD.js → probe-Cyb-DGA3.js} +3 -3
- package/dist/plugin-sdk/{probe-CvXWxzag.js → probe-D8JAILir.js} +2 -2
- package/dist/plugin-sdk/{probe-DO4M1Qd1.js → probe-Dlk0Jxpw.js} +2 -2
- package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +1 -1
- package/dist/plugin-sdk/{pw-ai-BFHYmEIx.js → pw-ai-CQG7vp-Y.js} +11 -11
- package/dist/plugin-sdk/{qmd-manager-D2LMB27z.js → qmd-manager-DCUE21Kj.js} +5 -5
- package/dist/plugin-sdk/{query-expansion-BM7lmqaP.js → query-expansion-Zr9qQixm.js} +3 -3
- package/dist/plugin-sdk/{redact-sensitive-url-B0RJQqO7.js → redact-sensitive-url-dPvnFFsK.js} +1 -0
- package/dist/plugin-sdk/{replies-BPFt4O-j.js → replies-C_FeIOF4.js} +4 -4
- package/dist/plugin-sdk/{resolve-channels-sscr14hU.js → resolve-channels-ChWKWtA9.js} +2 -2
- package/dist/plugin-sdk/{probe-DbhD54Aw.js → resolve-channels-zEnvugag.js} +4 -3
- package/dist/plugin-sdk/{resolve-outbound-target-BP_JscKT.js → resolve-outbound-target-DD8edEdz.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-wp5xq4Ws.js → resolve-route-BPkfG5Pg.js} +1 -1
- package/dist/plugin-sdk/{resolve-users-C1sjzEsV.js → resolve-users-BTvjQuui.js} +1 -1
- package/dist/plugin-sdk/{resolve-users-B63RqPIO.js → resolve-users-CTzoruIZ.js} +2 -2
- package/dist/plugin-sdk/{retry-policy-BTH89onl.js → retry-policy-C0YsRX_6.js} +2 -2
- package/dist/plugin-sdk/{runtime-BUpqjZNM.js → runtime-CyTWeylK.js} +5 -5
- package/dist/plugin-sdk/{runtime-dependency-B5Fut2tT.js → runtime-dependency-D6tYtvtU.js} +5 -5
- package/dist/plugin-sdk/{sandbox-paths-fc-HFGJr.js → sandbox-paths-lj7_EVuA.js} +1 -1
- package/dist/plugin-sdk/sat-runtime.d.ts +2 -2
- package/dist/plugin-sdk/sat-runtime.js +14 -14
- package/dist/plugin-sdk/{send-CRI83FPV.js → send-BedQ8ekw.js} +14 -14
- package/dist/plugin-sdk/{send-DUp9GIX8.js → send-BtFuV6zU.js} +9 -9
- package/dist/plugin-sdk/{send-DWB5HFdb.js → send-CNxLDNQ9.js} +9 -9
- package/dist/plugin-sdk/{send-DGUAXb2b.js → send-FcEJfLTd.js} +6 -6
- package/dist/plugin-sdk/{send-zn5KBXIN.js → send-Qckp3h4k.js} +10 -10
- package/dist/plugin-sdk/{session-BLyxz03u.js → session-C3Ul4abD.js} +4 -4
- package/dist/plugin-sdk/{skill-commands-DCnCOVR_.js → skill-commands-C2CnUTPX.js} +4 -4
- package/dist/plugin-sdk/{slack-actions-Dwy-8Zg7.js → slack-actions-CLyEd8FK.js} +25 -25
- package/dist/plugin-sdk/{slack-DcXn5HVj.js → slack-bSeSOI9d.js} +72 -71
- package/dist/plugin-sdk/slack.d.ts +4 -4
- package/dist/plugin-sdk/slack.js +17 -18
- package/dist/plugin-sdk/{ssrf-D_4q0mKh.js → ssrf-BZG8Ztod.js} +1 -1
- package/dist/plugin-sdk/{sticker-cache-C3YATyKD.js → sticker-cache-DBnS3hHh.js} +4 -4
- package/dist/plugin-sdk/{tables-DX84FwPB.js → tables-L5mXZ5y_.js} +2 -2
- package/dist/plugin-sdk/{targets-BgSHco9b.js → targets-eG595pY0.js} +2 -2
- package/dist/plugin-sdk/{telegram-actions-Dd_iEzYH.js → telegram-actions-D0Kyqy_e.js} +56 -54
- package/dist/plugin-sdk/telegram.d.ts +4 -4
- package/dist/plugin-sdk/telegram.js +15 -16
- package/dist/plugin-sdk/{thread-bindings.lifecycle-DjpMLjhY.js → thread-bindings.lifecycle-C_5BEWmL.js} +3 -3
- package/dist/plugin-sdk/{thread-bindings.state-DYYR9qeT.js → thread-bindings.state-DRZAbcUu.js} +4 -4
- package/dist/plugin-sdk/{tmp-fased-dir-Bcp1DTSV.d.ts → tmp-fased-dir-BpMLNd4L.d.ts} +1 -1
- package/dist/plugin-sdk/{types-BTkcYtOt.d.ts → types-0CsXVmg8.d.ts} +2 -2
- package/dist/plugin-sdk/{types-CMoLtViq.d.ts → types-DMLEeE52.d.ts} +1 -1
- package/dist/plugin-sdk/{wallet-status-D9UVH6k9.js → wallet-status-2yrXvqSS.js} +7 -7
- package/dist/plugin-sdk/{web-BgTy1WeG.js → web-CSRe4zy2.js} +60 -58
- package/dist/plugin-sdk/{whatsapp-actions-DISRDbu1.js → whatsapp-actions-CkLkpg8M.js} +23 -23
- package/dist/plugin-sdk/{whatsapp-heartbeat-KM3lYpt-.js → whatsapp-heartbeat-DuAE9_88.js} +3 -3
- package/dist/plugin-sdk/whatsapp.d.ts +9 -9
- package/dist/plugin-sdk/whatsapp.js +18 -19
- package/dist/plugin-sdk/{ws-CxmRDbD9.js → ws-CocpWGhl.js} +1 -1
- package/dist/plugin-sdk/{wsl-Cw-xOsqF.js → wsl-CXVwPntb.js} +3 -3
- package/dist/plugin-sdk/{zod-schema.providers-core-CIzCjXH9.d.ts → zod-schema.providers-core-FaYR6KdD.d.ts} +61 -61
- package/dist/plugins/bundled-dir.js +3 -3
- package/dist/plugins/config-state.js +1 -0
- 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/providers.js +1 -1
- package/dist/plugins/runtime/index.js +12 -12
- package/dist/plugins/status-cache.js +9 -9
- package/dist/plugins/status.js +1 -1
- package/dist/plugins/tools.js +1 -1
- package/dist/plugins/update.js +3 -3
- package/dist/plugins/web-search-install-catalog.js +3 -3
- package/dist/plugins/web-search-providers.runtime.js +1 -1
- package/dist/process/command-queue.js +1 -1
- package/dist/providers/refresh.js +2 -2
- package/dist/providers/registry.js +53 -2
- package/dist/secrets/apply.js +16 -16
- package/dist/secrets/audit.js +11 -11
- package/dist/secrets/shared.js +9 -9
- package/dist/security/audit-channel.js +1 -1
- package/dist/security/audit-extra.async.js +3 -3
- package/dist/security/audit-extra.sync.js +2 -2
- package/dist/security/audit.js +4 -4
- package/dist/security/dm-policy-shared.js +1 -1
- package/dist/security/scan-paths.js +2 -2
- package/dist/shared/config-eval.js +2 -2
- package/dist/shared/model-thinking.js +4 -1
- package/dist/shared/net/redact-sensitive-url.js +1 -0
- package/dist/shared/pid-alive.js +2 -2
- package/dist/signal/client.js +1 -1
- package/dist/signal/index.js +1 -1
- package/dist/signal/monitor/access-policy.js +1 -1
- package/dist/signal/monitor/event-handler.js +6 -6
- package/dist/signal/monitor.js +4 -4
- package/dist/signal/send.js +3 -3
- package/dist/slack/monitor/auth.js +1 -1
- package/dist/slack/monitor/context.js +1 -1
- package/dist/slack/monitor/dm-auth.js +1 -1
- package/dist/slack/monitor/message-handler/prepare.js +4 -4
- package/dist/slack/monitor/provider.js +3 -3
- package/dist/slack/monitor/replies.js +1 -1
- package/dist/slack/monitor/slash.js +1 -1
- package/dist/slack/send.js +1 -1
- 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/helpers.js +2 -2
- package/dist/telegram/bot-handlers.js +6 -6
- package/dist/telegram/bot-message-context.js +6 -6
- package/dist/telegram/bot-message-dispatch.js +2 -2
- package/dist/telegram/bot-native-commands.js +4 -4
- package/dist/telegram/bot.js +1 -1
- package/dist/telegram/dm-access.js +1 -1
- package/dist/telegram/group-access.js +1 -1
- package/dist/telegram/monitor.js +2 -2
- package/dist/telegram/send.js +2 -2
- package/dist/telegram/token.js +5 -5
- package/dist/telegram/webhook.js +1 -1
- package/dist/tts/tts-core.js +1 -1
- package/dist/utils.js +5 -5
- package/dist/video-generation/dashscope-compatible.js +1 -1
- package/dist/wallet/local-socket-signer-broker.js +18 -18
- package/dist/wallet/providers/embedded-keystore-adapter.js +6 -6
- package/dist/wallet/providers/local-socket-signer-adapter.js +5 -5
- package/dist/wallet/wallet-approval-auth.js +5 -5
- package/dist/wallet/wallet-audit-log.js +5 -5
- package/dist/wallet/wallet-canary.js +1 -1
- package/dist/wallet/wallet-custody.js +25 -25
- package/dist/wallet/wallet-inbound-events.js +7 -7
- package/dist/wallet/wallet-observability.js +5 -5
- package/dist/wallet/wallet-policy.js +11 -11
- package/dist/wallet/wallet-provider-registry.js +7 -7
- package/dist/wallet/wallet-provider-resolver.js +1 -1
- 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 +10 -10
- package/dist/wallet/wallet-settlement-links.js +5 -5
- package/dist/wallet/wallet-status.js +2 -2
- package/dist/web/accounts.js +3 -3
- package/dist/web/auth-store.js +18 -18
- package/dist/web/auto-reply/deliver-reply.js +2 -2
- package/dist/web/auto-reply/heartbeat-runner.js +3 -3
- package/dist/web/auto-reply/monitor/group-gating.js +1 -1
- package/dist/web/auto-reply/monitor/process-message.js +4 -4
- package/dist/web/auto-reply/monitor.js +4 -4
- package/dist/web/inbound/access-control.js +3 -3
- package/dist/web/inbound/monitor.js +2 -2
- package/dist/web/media.js +2 -2
- package/dist/web/outbound.js +3 -3
- package/dist/web/session.js +4 -4
- package/dist/wizard/host-security-capability.js +2 -2
- package/dist/wizard/onboarding.federation.js +1 -1
- package/dist/wizard/onboarding.finalize.js +7 -7
- package/dist/wizard/onboarding.host-security.js +7 -7
- package/dist/wizard/onboarding.js +8 -8
- package/dist/wizard/onboarding.wallet.js +45 -45
- 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/index.ts +13 -1
- package/extensions/sat-mining/package.json +1 -1
- package/extensions/sat-mining/src/epoch-service.ts +16 -0
- package/extensions/sat-mining/src/round-watcher.ts +21 -0
- package/extensions/sat-mining/src/rpc-read.ts +9 -2
- package/extensions/sat-mining/src/runtime.ts +5 -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 +1 -1
- package/dist/control-ui/assets/chat-model-ref-DV2P__mw.js +0 -2
- package/dist/plugin-sdk/links-D5ecKoG9.js +0 -74
- package/dist/plugin-sdk/media-payload-DpYEcV-X.js +0 -18
- package/dist/plugin-sdk/resolve-channels-B-dUtZYa.js +0 -4
- package/dist/plugin-sdk/resolve-utils-DrvLA82C.js +0 -136
- /package/dist/plugin-sdk/{blocks-input-DdQwSVtP.js → blocks-input-Dcitfh7h.js} +0 -0
- /package/dist/plugin-sdk/{channel-activity-B7MIaDei.js → channel-activity-Cg1xRoc2.js} +0 -0
- /package/dist/plugin-sdk/{channel-core-CMPoGCik.js → channel-core-BOkyXXLa.js} +0 -0
- /package/dist/plugin-sdk/{client-BTUzO_8g.js → client-D2N7hqVu.js} +0 -0
- /package/dist/plugin-sdk/{command-poll-backoff-CBq0jVRw.js → command-poll-backoff-NAePk3eL.js} +0 -0
- /package/dist/plugin-sdk/{date-time-Bbp5JvNw.js → date-time-CE3Uer3C.js} +0 -0
- /package/dist/plugin-sdk/{diagnostic-session-state-B-9PL5r7.js → diagnostic-session-state-HO94DMou.js} +0 -0
- /package/dist/plugin-sdk/{draft-stream-loop-DZ1OAyye.js → draft-stream-loop-CKyHn8IX.js} +0 -0
- /package/dist/plugin-sdk/{fetch-headers-DvXyXtoI.js → fetch-headers-my7hgV2G.js} +0 -0
- /package/dist/plugin-sdk/{fetch-timeout-jOIu9Xud.js → fetch-timeout-l_6RdoMw.js} +0 -0
- /package/dist/plugin-sdk/{gateway-registry-C-MTEdvG.js → gateway-registry-DFsoY6C0.js} +0 -0
- /package/dist/plugin-sdk/{github-copilot-token-Dgug856m.js → github-copilot-token-CUK__1s1.js} +0 -0
- /package/dist/plugin-sdk/{inbound-context-BNCTzgjG.js → inbound-context-BFnIdcqI.js} +0 -0
- /package/dist/plugin-sdk/{ip-BkeyFRJr.js → ip-C70a-YlD.js} +0 -0
- /package/dist/plugin-sdk/{memory-search-DHSeU4pJ.js → memory-search-C3C0bD2H.js} +0 -0
- /package/dist/plugin-sdk/{pairing-token-HQpaqod5.js → pairing-token-N_6Jbt1L.js} +0 -0
- /package/dist/plugin-sdk/{path-alias-guards-BlIJ0AmG.js → path-alias-guards-Dg3gU-MA.js} +0 -0
- /package/dist/plugin-sdk/{paths-B88DQEK8.js → paths-CTZ2RS_E.js} +0 -0
- /package/dist/plugin-sdk/{polls-Dy1NsYKT.js → polls-DQrR-qT3.js} +0 -0
- /package/dist/plugin-sdk/{proxy-R5TjOIFS.js → proxy-7xs_rsnV.js} +0 -0
- /package/dist/plugin-sdk/{qmd-scope-C9tRnohc.js → qmd-scope-D1sSG_Rx.js} +0 -0
- /package/dist/plugin-sdk/{redact-CwCz68Mi.js → redact-Bm8vu_ju.js} +0 -0
- /package/dist/plugin-sdk/{redact-identifier-CDvAeiFm.js → redact-identifier-Q3tkvxhm.js} +0 -0
- /package/dist/plugin-sdk/{render-K7NwXvVu.js → render-Bwu_WxwA.js} +0 -0
- /package/dist/plugin-sdk/{reply-prefix-CbPHNXlm.js → reply-prefix-Bqzm6DC1.js} +0 -0
- /package/dist/plugin-sdk/{reply-reference-CWEIswqw.js → reply-reference-BkbK_DWT.js} +0 -0
- /package/dist/plugin-sdk/{retry-DycQ4ymF.js → retry-DstNBhDW.js} +0 -0
- /package/dist/plugin-sdk/{run-with-concurrency-CLARJMM7.js → run-with-concurrency-BsDJWzgM.js} +0 -0
- /package/dist/plugin-sdk/{secure-random-C2EhANj2.js → secure-random-Bl-AVLVb.js} +0 -0
- /package/dist/plugin-sdk/{shared-V35XNAbz.js → shared-clhhbWN3.js} +0 -0
- /package/dist/plugin-sdk/{tailscale-status-BGBRraZW.js → tailscale-status-ClsquRGs.js} +0 -0
- /package/dist/plugin-sdk/{target-errors-C0yNDbGS.js → target-errors-C_SVKoEv.js} +0 -0
- /package/dist/plugin-sdk/{targets-CuTZl1mO.js → targets-BDvvnlph.js} +0 -0
- /package/dist/plugin-sdk/{tokens-Do_JU4Rh.js → tokens-BvtlOzVP.js} +0 -0
- /package/dist/plugin-sdk/{tool-loop-detection-P5u2k0_f.js → tool-loop-detection-CWphm1k_.js} +0 -0
- /package/dist/plugin-sdk/{transcript-events-NZiMKWBK.js → transcript-events-BJQWUdmU.js} +0 -0
- /package/dist/plugin-sdk/{ui-KGr1WRXC.js → ui-e020ouhJ.js} +0 -0
- /package/dist/plugin-sdk/{with-timeout-Dl513q34.js → with-timeout-BYrRAYFV.js} +0 -0
package/dist/commands/wallet.js
CHANGED
|
@@ -2,19 +2,20 @@ import { defaultRuntime } from "../runtime.js";
|
|
|
2
2
|
import { loadConfig, writeConfigFile } from "../config/io.js";
|
|
3
3
|
import "../config/config.js";
|
|
4
4
|
import { ensureWalletStateDir, resolveLocalSignerBackendSocketPath, resolveLocalSignerMaterialRootDir, resolveLocalSignerSidecarPaths, resolveLocalSignerSocketPath, resolveWalletRuntimeConfig } from "../wallet/wallet-runtime-config.js";
|
|
5
|
-
import { readWalletApprovalAuthSnapshot } from "../wallet/wallet-approval-auth.js";
|
|
6
5
|
import { normalizeWalletUserRole, readWalletProviderRegistry, resolveWalletUserRole, setDefaultWallet, setNamedWalletRole, upsertNamedWallet } from "../wallet/wallet-provider-registry.js";
|
|
7
6
|
import { applyWalletPolicyConfig, resolveWalletRoleForId } from "../wallet/wallet-policy.js";
|
|
7
|
+
import { buildWalletProviderCapabilityMatrix } from "../wallet/wallet-provider-capabilities.js";
|
|
8
|
+
import { redactWalletDiagnosticText } from "../wallet/wallet-redaction.js";
|
|
8
9
|
import { readWalletProviderSecretStatus, saveWalletProviderSecret } from "../wallet/wallet-secrets-store.js";
|
|
9
10
|
import { createWalletProviderAdapter, resolveWalletProviderId } from "../wallet/wallet-provider-resolver.js";
|
|
11
|
+
import { readWalletApprovalAuthSnapshot } from "../wallet/wallet-approval-auth.js";
|
|
10
12
|
import { deleteWalletCustodyCeremony, initializeWalletCustodyCeremony, listSplitKeyWalletCustodyStatuses, lockWalletCustodyUnlockSessions, readWalletCustodyStatus, recoverWalletCustodyPassphrase } from "../wallet/wallet-custody.js";
|
|
11
|
-
import { buildWalletProviderCapabilityMatrix } from "../wallet/wallet-provider-capabilities.js";
|
|
12
13
|
import { readWalletStatusSnapshot, resolveWalletConfigForRuntime } from "../wallet/wallet-status.js";
|
|
13
14
|
import { startLocalSocketSignerBroker } from "../wallet/local-socket-signer-broker.js";
|
|
14
15
|
import { listWalletInboundEvents, pollWalletInboundEvents, reconcileWalletInboundEvents } from "../wallet/wallet-inbound-events.js";
|
|
15
16
|
import { buildWalletCanaryReport, runWalletProviderCanaryReport } from "../wallet/wallet-canary.js";
|
|
16
17
|
import { resolveSignerdBinaryPath, restartLocalSocketSigner } from "../wizard/onboarding.wallet.js";
|
|
17
|
-
import
|
|
18
|
+
import syncFs from "node:fs";
|
|
18
19
|
import path from "node:path";
|
|
19
20
|
import { createCipheriv, createDecipheriv, createPrivateKey, createPublicKey, randomBytes, scryptSync } from "node:crypto";
|
|
20
21
|
import { createInterface } from "node:readline/promises";
|
|
@@ -675,12 +676,12 @@ function resolveKeystorePassphrase(optionsPassphrase, env) {
|
|
|
675
676
|
return optionsPassphrase.trim();
|
|
676
677
|
}
|
|
677
678
|
const file = String(env.FASED_WALLET_PASSPHRASE_FILE ?? "").trim();
|
|
678
|
-
if (file &&
|
|
679
|
-
return
|
|
679
|
+
if (file && syncFs.existsSync(file)) {
|
|
680
|
+
return syncFs.readFileSync(file, "utf8").trim();
|
|
680
681
|
}
|
|
681
682
|
const managedFile = path.join(resolveLocalSignerMaterialRootDir(env), "passphrase");
|
|
682
|
-
if (
|
|
683
|
-
return
|
|
683
|
+
if (syncFs.existsSync(managedFile)) {
|
|
684
|
+
return syncFs.readFileSync(managedFile, "utf8").trim();
|
|
684
685
|
}
|
|
685
686
|
return String(env.FASED_WALLET_PASSPHRASE ?? "").trim();
|
|
686
687
|
}
|
|
@@ -696,7 +697,7 @@ function resolveLocalSignerPassphraseSource(env) {
|
|
|
696
697
|
const candidates = [configuredFile ? path.resolve(configuredFile) : "", path.join(resolveLocalSignerMaterialRootDir(env), "passphrase")].filter(Boolean);
|
|
697
698
|
for (const candidate of candidates) {
|
|
698
699
|
try {
|
|
699
|
-
const value =
|
|
700
|
+
const value = syncFs.readFileSync(candidate, "utf8").trim();
|
|
700
701
|
if (value) {
|
|
701
702
|
return {
|
|
702
703
|
kind: "file",
|
|
@@ -774,16 +775,16 @@ function ensureLocalSignerPassphraseFileForCustodyDisable(params) {
|
|
|
774
775
|
};
|
|
775
776
|
}
|
|
776
777
|
function writePassphraseFile(filePath, passphrase) {
|
|
777
|
-
|
|
778
|
+
syncFs.mkdirSync(path.dirname(filePath), {
|
|
778
779
|
recursive: true,
|
|
779
780
|
mode: 448
|
|
780
781
|
});
|
|
781
|
-
|
|
782
|
+
syncFs.writeFileSync(filePath, `${passphrase}\n`, {
|
|
782
783
|
encoding: "utf8",
|
|
783
784
|
mode: 384
|
|
784
785
|
});
|
|
785
786
|
try {
|
|
786
|
-
|
|
787
|
+
syncFs.chmodSync(filePath, 384);
|
|
787
788
|
} catch {}
|
|
788
789
|
}
|
|
789
790
|
function walletIdsMatchForEnvSuffix(left, right) {
|
|
@@ -823,7 +824,7 @@ function collectLocalSignerKeystoreTargets(cfg, env) {
|
|
|
823
824
|
return;
|
|
824
825
|
}
|
|
825
826
|
const resolved = path.resolve(candidate);
|
|
826
|
-
if (!
|
|
827
|
+
if (!syncFs.existsSync(resolved)) {
|
|
827
828
|
return;
|
|
828
829
|
}
|
|
829
830
|
const existing = targets.get(resolved);
|
|
@@ -850,8 +851,8 @@ function collectLocalSignerKeystoreTargets(cfg, env) {
|
|
|
850
851
|
addTarget("solana", value, key.slice("FASED_WALLET_SOLANA_KEYSTORE_PATH__".length).toLowerCase());
|
|
851
852
|
}
|
|
852
853
|
}
|
|
853
|
-
if (
|
|
854
|
-
for (const entry of
|
|
854
|
+
if (syncFs.existsSync(materialRoot)) {
|
|
855
|
+
for (const entry of syncFs.readdirSync(materialRoot, { withFileTypes: true })) {
|
|
855
856
|
if (!entry.isFile()) {
|
|
856
857
|
continue;
|
|
857
858
|
}
|
|
@@ -871,7 +872,7 @@ function collectLocalSignerKeystoreTargets(cfg, env) {
|
|
|
871
872
|
return [...targets.values()].toSorted((left, right) => left.label.localeCompare(right.label));
|
|
872
873
|
}
|
|
873
874
|
async function reencryptLocalSignerKeystore(params) {
|
|
874
|
-
const raw =
|
|
875
|
+
const raw = syncFs.readFileSync(params.target.path, "utf8");
|
|
875
876
|
const detected = detectEmbeddedKeystoreType(raw);
|
|
876
877
|
if (detected === "solana-envelope") {
|
|
877
878
|
const envelope = parseSolanaKeystoreEnvelope(raw);
|
|
@@ -884,7 +885,7 @@ async function reencryptLocalSignerKeystore(params) {
|
|
|
884
885
|
passphrase: params.newPassphrase,
|
|
885
886
|
publicKey: envelope.publicKey
|
|
886
887
|
});
|
|
887
|
-
|
|
888
|
+
syncFs.writeFileSync(params.target.path, `${JSON.stringify(nextEnvelope, null, 2)}\n`, {
|
|
888
889
|
encoding: "utf8",
|
|
889
890
|
mode: 384
|
|
890
891
|
});
|
|
@@ -905,13 +906,13 @@ function removeLocalSignerPassphraseFileIfManaged(env) {
|
|
|
905
906
|
const resolved = path.resolve(configured);
|
|
906
907
|
const materialRoot = resolveLocalSignerMaterialRootDir(env);
|
|
907
908
|
const withinMaterialRoot = resolved === materialRoot || resolved.startsWith(`${materialRoot}${path.sep}`);
|
|
908
|
-
if (!withinMaterialRoot || !
|
|
909
|
+
if (!withinMaterialRoot || !syncFs.existsSync(resolved)) {
|
|
909
910
|
return {
|
|
910
911
|
removed: false,
|
|
911
912
|
path: resolved
|
|
912
913
|
};
|
|
913
914
|
}
|
|
914
|
-
|
|
915
|
+
syncFs.rmSync(resolved, { force: true });
|
|
915
916
|
return {
|
|
916
917
|
removed: true,
|
|
917
918
|
path: resolved
|
|
@@ -949,11 +950,11 @@ function writeLocalSignerEnvFile(cfg, env) {
|
|
|
949
950
|
"",
|
|
950
951
|
`"${signerBinPath}" --socket "\${FASED_WALLET_LOCAL_SIGNER_BACKEND_SOCKET:-$FASED_WALLET_LOCAL_SIGNER_SOCKET}"`
|
|
951
952
|
];
|
|
952
|
-
|
|
953
|
+
syncFs.mkdirSync(path.dirname(signerEnvPath), {
|
|
953
954
|
recursive: true,
|
|
954
955
|
mode: 448
|
|
955
956
|
});
|
|
956
|
-
|
|
957
|
+
syncFs.writeFileSync(signerEnvPath, `${signerEnvLines.join("\n")}\n`, {
|
|
957
958
|
encoding: "utf8",
|
|
958
959
|
mode: 384
|
|
959
960
|
});
|
|
@@ -1051,11 +1052,11 @@ async function configureLocalSignerMode(runtime, options, env) {
|
|
|
1051
1052
|
"",
|
|
1052
1053
|
`"${signerBinPath}" --socket "\${FASED_WALLET_LOCAL_SIGNER_BACKEND_SOCKET:-$FASED_WALLET_LOCAL_SIGNER_SOCKET}"`
|
|
1053
1054
|
];
|
|
1054
|
-
|
|
1055
|
+
syncFs.mkdirSync(path.dirname(signerEnvPath), {
|
|
1055
1056
|
recursive: true,
|
|
1056
1057
|
mode: 448
|
|
1057
1058
|
});
|
|
1058
|
-
|
|
1059
|
+
syncFs.writeFileSync(signerEnvPath, `${signerEnvLines.join("\n")}\n`, {
|
|
1059
1060
|
encoding: "utf8",
|
|
1060
1061
|
mode: 384
|
|
1061
1062
|
});
|
|
@@ -1499,10 +1500,10 @@ async function walletKeystoreInitCommand(runtime = defaultRuntime, options = {})
|
|
|
1499
1500
|
}
|
|
1500
1501
|
const chain = options.chain ?? "solana";
|
|
1501
1502
|
const outPath = resolveEmbeddedKeystorePathForChain(env, chain, options.out, options.walletId);
|
|
1502
|
-
if (
|
|
1503
|
+
if (syncFs.existsSync(outPath) && !options.force) {
|
|
1503
1504
|
throw new Error(`Keystore already exists: ${outPath}`);
|
|
1504
1505
|
}
|
|
1505
|
-
|
|
1506
|
+
syncFs.mkdirSync(path.dirname(outPath), {
|
|
1506
1507
|
recursive: true,
|
|
1507
1508
|
mode: 448
|
|
1508
1509
|
});
|
|
@@ -1517,14 +1518,14 @@ async function walletKeystoreInitCommand(runtime = defaultRuntime, options = {})
|
|
|
1517
1518
|
passphrase,
|
|
1518
1519
|
publicKey
|
|
1519
1520
|
});
|
|
1520
|
-
|
|
1521
|
+
syncFs.writeFileSync(outPath, `${JSON.stringify(envelope, null, 2)}\n`, {
|
|
1521
1522
|
encoding: "utf8",
|
|
1522
1523
|
mode: 384
|
|
1523
1524
|
});
|
|
1524
1525
|
addressOut = publicKey;
|
|
1525
1526
|
privateKeyOut = Buffer.from(secretKey).toString("base64");
|
|
1526
1527
|
try {
|
|
1527
|
-
|
|
1528
|
+
syncFs.chmodSync(outPath, 384);
|
|
1528
1529
|
} catch {}
|
|
1529
1530
|
const cfg = options.skipProviderConfig ? ensureWalletMaterialConfig(loadConfig(), {
|
|
1530
1531
|
keystorePath: outPath,
|
|
@@ -1599,10 +1600,10 @@ async function walletKeystoreImportCommand(runtime = defaultRuntime, options = {
|
|
|
1599
1600
|
throw new Error("Missing private key. Pass --private-key or set FASED_WALLET_PRIVATE_KEY.");
|
|
1600
1601
|
}
|
|
1601
1602
|
const outPath = resolveEmbeddedKeystorePathForChain(env, chain, options.out, options.walletId);
|
|
1602
|
-
if (
|
|
1603
|
+
if (syncFs.existsSync(outPath) && !options.force) {
|
|
1603
1604
|
throw new Error(`Keystore already exists: ${outPath}`);
|
|
1604
1605
|
}
|
|
1605
|
-
|
|
1606
|
+
syncFs.mkdirSync(path.dirname(outPath), {
|
|
1606
1607
|
recursive: true,
|
|
1607
1608
|
mode: 448
|
|
1608
1609
|
});
|
|
@@ -1614,13 +1615,13 @@ async function walletKeystoreImportCommand(runtime = defaultRuntime, options = {
|
|
|
1614
1615
|
passphrase,
|
|
1615
1616
|
publicKey
|
|
1616
1617
|
});
|
|
1617
|
-
|
|
1618
|
+
syncFs.writeFileSync(outPath, `${JSON.stringify(envelope, null, 2)}\n`, {
|
|
1618
1619
|
encoding: "utf8",
|
|
1619
1620
|
mode: 384
|
|
1620
1621
|
});
|
|
1621
1622
|
addressOut = publicKey;
|
|
1622
1623
|
try {
|
|
1623
|
-
|
|
1624
|
+
syncFs.chmodSync(outPath, 384);
|
|
1624
1625
|
} catch {}
|
|
1625
1626
|
const cfg = options.skipProviderConfig ? ensureWalletMaterialConfig(loadConfig(), {
|
|
1626
1627
|
keystorePath: outPath,
|
|
@@ -1682,7 +1683,7 @@ async function walletKeystoreStatusCommand(runtime = defaultRuntime, options = {
|
|
|
1682
1683
|
const cfg = loadConfig();
|
|
1683
1684
|
const chain = options.chain ?? "solana";
|
|
1684
1685
|
const keystorePath = resolveEmbeddedKeystorePathForChain(env, chain, cfg.wallet?.keystore?.path, options.walletId);
|
|
1685
|
-
const exists =
|
|
1686
|
+
const exists = syncFs.existsSync(keystorePath);
|
|
1686
1687
|
const providerId = cfg.wallet?.provider?.id;
|
|
1687
1688
|
let address;
|
|
1688
1689
|
let unlocked = false;
|
|
@@ -1690,7 +1691,7 @@ async function walletKeystoreStatusCommand(runtime = defaultRuntime, options = {
|
|
|
1690
1691
|
let detectedType = "missing";
|
|
1691
1692
|
if (exists) {
|
|
1692
1693
|
const passphrase = resolveKeystorePassphrase(undefined, env);
|
|
1693
|
-
const raw =
|
|
1694
|
+
const raw = syncFs.readFileSync(keystorePath, "utf8");
|
|
1694
1695
|
detectedType = detectEmbeddedKeystoreType(raw);
|
|
1695
1696
|
if (passphrase) {
|
|
1696
1697
|
try {
|
|
@@ -1755,14 +1756,14 @@ async function walletKeystoreValidateCommand(runtime = defaultRuntime, options =
|
|
|
1755
1756
|
};
|
|
1756
1757
|
let raw = "";
|
|
1757
1758
|
let detectedType = "missing";
|
|
1758
|
-
if (!
|
|
1759
|
+
if (!syncFs.existsSync(keystorePath)) {
|
|
1759
1760
|
result.checks.push({
|
|
1760
1761
|
id: "keystore.exists",
|
|
1761
1762
|
ok: false,
|
|
1762
1763
|
message: `missing: ${keystorePath}`
|
|
1763
1764
|
});
|
|
1764
1765
|
} else {
|
|
1765
|
-
raw =
|
|
1766
|
+
raw = syncFs.readFileSync(keystorePath, "utf8");
|
|
1766
1767
|
detectedType = detectEmbeddedKeystoreType(raw);
|
|
1767
1768
|
result.checks.push({
|
|
1768
1769
|
id: "keystore.exists",
|
|
@@ -1864,7 +1865,7 @@ async function walletKeystoreValidateCommand(runtime = defaultRuntime, options =
|
|
|
1864
1865
|
async function walletKeystorePassphraseInitCommand(runtime = defaultRuntime, options = {}) {
|
|
1865
1866
|
const env = process.env ?? process.env;
|
|
1866
1867
|
const outPath = resolvePassphraseFilePath(env, options.out);
|
|
1867
|
-
if (
|
|
1868
|
+
if (syncFs.existsSync(outPath) && !options.force) {
|
|
1868
1869
|
throw new Error(`Passphrase file already exists: ${outPath} (use --force to overwrite)`);
|
|
1869
1870
|
}
|
|
1870
1871
|
const bytes = typeof options.length === "number" && Number.isFinite(options.length) && options.length >= 16 ? Math.floor(options.length) : 24;
|
|
@@ -1886,15 +1887,15 @@ async function walletKeystorePassphraseRotateCommand(runtime = defaultRuntime, o
|
|
|
1886
1887
|
const cfg = loadConfig();
|
|
1887
1888
|
const keystorePath = resolveEmbeddedKeystorePath(env, cfg.wallet?.keystore?.path);
|
|
1888
1889
|
const passphraseFile = resolvePassphraseFilePath(env, options.file);
|
|
1889
|
-
if (!
|
|
1890
|
+
if (!syncFs.existsSync(keystorePath)) {
|
|
1890
1891
|
throw new Error(`Keystore missing: ${keystorePath}`);
|
|
1891
1892
|
}
|
|
1892
|
-
const oldPassphrase = (options.oldPassphrase ?? (
|
|
1893
|
+
const oldPassphrase = (options.oldPassphrase ?? (syncFs.existsSync(passphraseFile) ? syncFs.readFileSync(passphraseFile, "utf8") : "")).trim() || String(env.FASED_WALLET_PASSPHRASE ?? "").trim();
|
|
1893
1894
|
if (!oldPassphrase) {
|
|
1894
1895
|
throw new Error("Missing old passphrase. Provide --old-passphrase or configure passphrase file/env.");
|
|
1895
1896
|
}
|
|
1896
1897
|
const newPassphrase = (options.newPassphrase ?? "").trim() || randomBytes(24).toString("base64url");
|
|
1897
|
-
const raw =
|
|
1898
|
+
const raw = syncFs.readFileSync(keystorePath, "utf8");
|
|
1898
1899
|
const detected = detectEmbeddedKeystoreType(raw);
|
|
1899
1900
|
if (detected === "solana-envelope") {
|
|
1900
1901
|
const envelope = parseSolanaKeystoreEnvelope(raw);
|
|
@@ -1907,7 +1908,7 @@ async function walletKeystorePassphraseRotateCommand(runtime = defaultRuntime, o
|
|
|
1907
1908
|
passphrase: newPassphrase,
|
|
1908
1909
|
publicKey: envelope.publicKey
|
|
1909
1910
|
});
|
|
1910
|
-
|
|
1911
|
+
syncFs.writeFileSync(keystorePath, `${JSON.stringify(nextEnvelope, null, 2)}\n`, {
|
|
1911
1912
|
encoding: "utf8",
|
|
1912
1913
|
mode: 384
|
|
1913
1914
|
});
|
|
@@ -1932,10 +1933,10 @@ async function walletKeystoreExportCommand(runtime = defaultRuntime, options = {
|
|
|
1932
1933
|
const env = process.env ?? process.env;
|
|
1933
1934
|
const cfg = loadConfig();
|
|
1934
1935
|
const keystorePath = resolveEmbeddedKeystorePath(env, cfg.wallet?.keystore?.path);
|
|
1935
|
-
if (!
|
|
1936
|
+
if (!syncFs.existsSync(keystorePath)) {
|
|
1936
1937
|
throw new Error(`Keystore missing: ${keystorePath}`);
|
|
1937
1938
|
}
|
|
1938
|
-
const raw =
|
|
1939
|
+
const raw = syncFs.readFileSync(keystorePath, "utf8");
|
|
1939
1940
|
const detected = detectEmbeddedKeystoreType(raw);
|
|
1940
1941
|
const outPath = options.out?.trim() ? path.resolve(options.out.trim()) : undefined;
|
|
1941
1942
|
const payload = {
|
|
@@ -1948,11 +1949,11 @@ async function walletKeystoreExportCommand(runtime = defaultRuntime, options = {
|
|
|
1948
1949
|
payload.keystore = raw;
|
|
1949
1950
|
}
|
|
1950
1951
|
if (outPath) {
|
|
1951
|
-
|
|
1952
|
+
syncFs.mkdirSync(path.dirname(outPath), {
|
|
1952
1953
|
recursive: true,
|
|
1953
1954
|
mode: 448
|
|
1954
1955
|
});
|
|
1955
|
-
|
|
1956
|
+
syncFs.writeFileSync(outPath, raw, {
|
|
1956
1957
|
encoding: "utf8",
|
|
1957
1958
|
mode: 384
|
|
1958
1959
|
});
|
|
@@ -2128,7 +2129,7 @@ async function collectWalletSignerDoctorReport(env = process.env, options = {})
|
|
|
2128
2129
|
const push = (check, ok, detail) => checks.push({
|
|
2129
2130
|
check,
|
|
2130
2131
|
ok,
|
|
2131
|
-
detail
|
|
2132
|
+
detail: detail ? redactWalletDiagnosticText(detail) : undefined
|
|
2132
2133
|
});
|
|
2133
2134
|
const providerId = resolveWalletProviderId(cfg, effectiveEnv);
|
|
2134
2135
|
const isLocalSigner = providerId === "local-socket-signer";
|
|
@@ -2138,7 +2139,7 @@ async function collectWalletSignerDoctorReport(env = process.env, options = {})
|
|
|
2138
2139
|
const isNotFoundError = (err) => err?.code === "ENOENT";
|
|
2139
2140
|
if (isLocalSigner) {
|
|
2140
2141
|
try {
|
|
2141
|
-
const st =
|
|
2142
|
+
const st = syncFs.statSync(socketPath);
|
|
2142
2143
|
push("socket.exists", st.isSocket?.() ?? true, socketPath);
|
|
2143
2144
|
try {
|
|
2144
2145
|
const mode = st.mode & 511;
|
|
@@ -2148,7 +2149,7 @@ async function collectWalletSignerDoctorReport(env = process.env, options = {})
|
|
|
2148
2149
|
push("socket.exists", localSignerSetupPending && isNotFoundError(err), localSignerSetupPending && isNotFoundError(err) ? "Configure" : String(err));
|
|
2149
2150
|
}
|
|
2150
2151
|
try {
|
|
2151
|
-
const pidRaw =
|
|
2152
|
+
const pidRaw = syncFs.readFileSync(pidPath, "utf8").trim();
|
|
2152
2153
|
const pid = Number.parseInt(pidRaw, 10);
|
|
2153
2154
|
if (Number.isFinite(pid) && pid > 1) {
|
|
2154
2155
|
try {
|
|
@@ -2164,7 +2165,7 @@ async function collectWalletSignerDoctorReport(env = process.env, options = {})
|
|
|
2164
2165
|
push("pid.alive", localSignerSetupPending && isNotFoundError(err), localSignerSetupPending && isNotFoundError(err) ? "Configure" : String(err));
|
|
2165
2166
|
}
|
|
2166
2167
|
try {
|
|
2167
|
-
const st =
|
|
2168
|
+
const st = syncFs.statSync(auditPath);
|
|
2168
2169
|
push("audit.exists", true, `bytes=${st.size}`);
|
|
2169
2170
|
} catch (err) {
|
|
2170
2171
|
push("audit.exists", localSignerSetupPending && isNotFoundError(err), localSignerSetupPending && isNotFoundError(err) ? "Configure" : String(err));
|
|
@@ -2192,14 +2193,14 @@ async function collectWalletSignerDoctorReport(env = process.env, options = {})
|
|
|
2192
2193
|
return "";
|
|
2193
2194
|
}
|
|
2194
2195
|
try {
|
|
2195
|
-
return
|
|
2196
|
+
return syncFs.readFileSync(p, "utf8").trim();
|
|
2196
2197
|
} catch {
|
|
2197
2198
|
return "";
|
|
2198
2199
|
}
|
|
2199
2200
|
})();
|
|
2200
2201
|
const inspectKeystore = (label, keystorePath) => {
|
|
2201
2202
|
try {
|
|
2202
|
-
const raw =
|
|
2203
|
+
const raw = syncFs.readFileSync(keystorePath, "utf8");
|
|
2203
2204
|
const kind = detectEmbeddedKeystoreType(raw);
|
|
2204
2205
|
if (kind === "unknown") {
|
|
2205
2206
|
push(`keystore.file.${label}`, false, `${keystorePath} type=unknown (expected fased-solana-keypair envelope)`);
|
|
@@ -2256,7 +2257,7 @@ async function collectWalletSignerDoctorReport(env = process.env, options = {})
|
|
|
2256
2257
|
return true;
|
|
2257
2258
|
}
|
|
2258
2259
|
const defaultPath = resolveEmbeddedKeystorePathForChain(effectiveEnv, "solana");
|
|
2259
|
-
if (
|
|
2260
|
+
if (syncFs.existsSync(defaultPath)) {
|
|
2260
2261
|
return true;
|
|
2261
2262
|
}
|
|
2262
2263
|
if (providerDefaultWallet?.addresses?.solana) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import syncFs from "node:fs";
|
|
2
2
|
|
|
3
3
|
//#region src/config/cache-utils.ts
|
|
4
4
|
function resolveCacheTtlMs(params) {
|
|
@@ -16,7 +16,7 @@ function isCacheEnabled(ttlMs) {
|
|
|
16
16
|
}
|
|
17
17
|
function getFileMtimeMs(filePath) {
|
|
18
18
|
try {
|
|
19
|
-
return
|
|
19
|
+
return syncFs.statSync(filePath).mtimeMs;
|
|
20
20
|
} catch {
|
|
21
21
|
return undefined;
|
|
22
22
|
}
|
package/dist/config/includes.js
CHANGED
|
@@ -4,7 +4,7 @@ import { isBlockedObjectKey } from "../infra/prototype-keys.js";
|
|
|
4
4
|
import { canUseBoundaryFileOpen, openBoundaryFileSync } from "../infra/boundary-file-read.js";
|
|
5
5
|
import { isPathInside } from "../security/scan-paths.js";
|
|
6
6
|
import "./prototype-keys.js";
|
|
7
|
-
import
|
|
7
|
+
import syncFs from "node:fs";
|
|
8
8
|
import path from "node:path";
|
|
9
9
|
import JSON5 from "json5";
|
|
10
10
|
|
|
@@ -130,7 +130,7 @@ var IncludeProcessor = class IncludeProcessor {
|
|
|
130
130
|
throw new ConfigIncludeError(`Include path escapes config directory: ${includePath} (root: ${this.rootDir})`, includePath);
|
|
131
131
|
}
|
|
132
132
|
try {
|
|
133
|
-
const real =
|
|
133
|
+
const real = syncFs.realpathSync(normalized);
|
|
134
134
|
if (!isPathInside(this.rootRealDir, real)) {
|
|
135
135
|
throw new ConfigIncludeError(`Include path resolves outside config directory (symlink): ${includePath} (root: ${this.rootDir})`, includePath);
|
|
136
136
|
}
|
|
@@ -184,13 +184,13 @@ var IncludeProcessor = class IncludeProcessor {
|
|
|
184
184
|
};
|
|
185
185
|
function safeRealpath(target) {
|
|
186
186
|
try {
|
|
187
|
-
return
|
|
187
|
+
return syncFs.realpathSync(target);
|
|
188
188
|
} catch {
|
|
189
189
|
return target;
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
192
|
function readConfigIncludeFileWithGuards(params) {
|
|
193
|
-
const ioFs = params.ioFs ??
|
|
193
|
+
const ioFs = params.ioFs ?? syncFs;
|
|
194
194
|
const maxBytes = params.maxBytes ?? MAX_INCLUDE_FILE_BYTES;
|
|
195
195
|
if (!canUseBoundaryFileOpen(ioFs)) {
|
|
196
196
|
return ioFs.readFileSync(params.resolvedPath, "utf-8");
|
|
@@ -217,7 +217,7 @@ function readConfigIncludeFileWithGuards(params) {
|
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
219
|
const defaultResolver = {
|
|
220
|
-
readFile: (p) =>
|
|
220
|
+
readFile: (p) => syncFs.readFileSync(p, "utf-8"),
|
|
221
221
|
readFileWithGuards: ({ includePath, resolvedPath, rootRealDir }) => readConfigIncludeFileWithGuards({
|
|
222
222
|
includePath,
|
|
223
223
|
resolvedPath,
|
package/dist/config/io.js
CHANGED
|
@@ -22,7 +22,7 @@ import { repairInstalledPluginAllowlist } from "./plugins-allowlist.js";
|
|
|
22
22
|
import { applyConfigOverrides } from "./runtime-overrides.js";
|
|
23
23
|
import { validateConfigObjectRawWithPlugins, validateConfigObjectWithPlugins } from "./validation.js";
|
|
24
24
|
import { compareFasedAgentVersions } from "./version.js";
|
|
25
|
-
import
|
|
25
|
+
import syncFs from "node:fs";
|
|
26
26
|
import os from "node:os";
|
|
27
27
|
import path from "node:path";
|
|
28
28
|
import JSON5 from "json5";
|
|
@@ -477,7 +477,7 @@ function resolveConfigPathForDeps(deps) {
|
|
|
477
477
|
}
|
|
478
478
|
function normalizeDeps(overrides = {}) {
|
|
479
479
|
return {
|
|
480
|
-
fs: overrides.fs ??
|
|
480
|
+
fs: overrides.fs ?? syncFs,
|
|
481
481
|
json5: overrides.json5 ?? JSON5,
|
|
482
482
|
env: overrides.env ?? process.env,
|
|
483
483
|
homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
|
package/dist/config/paths.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { expandHomePrefix, resolveRequiredHomeDir } from "../infra/home-dir.js";
|
|
2
|
-
import
|
|
2
|
+
import syncFs from "node:fs";
|
|
3
3
|
import os from "node:os";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
|
|
@@ -86,7 +86,7 @@ function resolveConfigPathCandidate(env = process.env, homedir = envHomedir(env)
|
|
|
86
86
|
const candidates = resolveDefaultConfigCandidates(env, homedir);
|
|
87
87
|
const existing = candidates.find((candidate) => {
|
|
88
88
|
try {
|
|
89
|
-
return
|
|
89
|
+
return syncFs.existsSync(candidate);
|
|
90
90
|
} catch {
|
|
91
91
|
return false;
|
|
92
92
|
}
|
|
@@ -108,7 +108,7 @@ function resolveConfigPath(env = process.env, stateDir = resolveStateDir(env, en
|
|
|
108
108
|
const candidates = [path.join(stateDir, CONFIG_FILENAME)];
|
|
109
109
|
const existing = candidates.find((candidate) => {
|
|
110
110
|
try {
|
|
111
|
-
return
|
|
111
|
+
return syncFs.existsSync(candidate);
|
|
112
112
|
} catch {
|
|
113
113
|
return false;
|
|
114
114
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import syncFs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
|
|
4
4
|
//#region src/config/sat-runtime-ids.ts
|
|
@@ -63,7 +63,7 @@ function resolveSatRuntimeDefaultsFile(env = process.env) {
|
|
|
63
63
|
path.resolve(import.meta.dirname, "..", "..", "..", "config", "sat-runtime.env")
|
|
64
64
|
];
|
|
65
65
|
for (const candidate of candidates) {
|
|
66
|
-
if (candidate &&
|
|
66
|
+
if (candidate && syncFs.existsSync(candidate)) {
|
|
67
67
|
return candidate;
|
|
68
68
|
}
|
|
69
69
|
}
|
|
@@ -82,7 +82,7 @@ function loadSatRuntimeDefaults(env = process.env) {
|
|
|
82
82
|
if (!file) {
|
|
83
83
|
return null;
|
|
84
84
|
}
|
|
85
|
-
const parsed = parseEnvFile(
|
|
85
|
+
const parsed = parseEnvFile(syncFs.readFileSync(file, "utf8"));
|
|
86
86
|
if (!parsed.programId || !parsed.bondProgramId || !parsed.mintAddress || !parsed.mintProgramId) {
|
|
87
87
|
return null;
|
|
88
88
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isPrimarySessionTranscriptFileName, isSessionArchiveArtifactName } from "./artifacts.js";
|
|
2
2
|
import { resolveSessionFilePath } from "./paths.js";
|
|
3
|
-
import
|
|
3
|
+
import syncFs from "node:fs";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
|
|
6
6
|
//#region src/config/sessions/disk-budget.ts
|
|
@@ -11,7 +11,7 @@ const NOOP_LOGGER = {
|
|
|
11
11
|
function canonicalizePathForComparison(filePath) {
|
|
12
12
|
const resolved = path.resolve(filePath);
|
|
13
13
|
try {
|
|
14
|
-
return
|
|
14
|
+
return syncFs.realpathSync(resolved);
|
|
15
15
|
} catch {
|
|
16
16
|
return resolved;
|
|
17
17
|
}
|
|
@@ -83,14 +83,14 @@ function resolveReferencedSessionTranscriptPaths(params) {
|
|
|
83
83
|
return referenced;
|
|
84
84
|
}
|
|
85
85
|
async function readSessionsDirFiles(sessionsDir) {
|
|
86
|
-
const dirEntries = await
|
|
86
|
+
const dirEntries = await syncFs.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
|
|
87
87
|
const files = [];
|
|
88
88
|
for (const dirent of dirEntries) {
|
|
89
89
|
if (!dirent.isFile()) {
|
|
90
90
|
continue;
|
|
91
91
|
}
|
|
92
92
|
const filePath = path.join(sessionsDir, dirent.name);
|
|
93
|
-
const stat = await
|
|
93
|
+
const stat = await syncFs.promises.stat(filePath).catch(() => null);
|
|
94
94
|
if (!stat?.isFile()) {
|
|
95
95
|
continue;
|
|
96
96
|
}
|
|
@@ -105,11 +105,11 @@ async function readSessionsDirFiles(sessionsDir) {
|
|
|
105
105
|
return files;
|
|
106
106
|
}
|
|
107
107
|
async function removeFileIfExists(filePath) {
|
|
108
|
-
const stat = await
|
|
108
|
+
const stat = await syncFs.promises.stat(filePath).catch(() => null);
|
|
109
109
|
if (!stat?.isFile()) {
|
|
110
110
|
return 0;
|
|
111
111
|
}
|
|
112
|
-
await
|
|
112
|
+
await syncFs.promises.rm(filePath, { force: true }).catch(() => undefined);
|
|
113
113
|
return stat.size;
|
|
114
114
|
}
|
|
115
115
|
async function removeFileForBudget(params) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { expandHomePrefix, resolveRequiredHomeDir } from "../../infra/home-dir.js";
|
|
2
2
|
import { resolveStateDir } from "../paths.js";
|
|
3
3
|
import { DEFAULT_AGENT_ID, normalizeAgentId } from "../../routing/session-key.js";
|
|
4
|
-
import
|
|
4
|
+
import syncFs from "node:fs";
|
|
5
5
|
import os from "node:os";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
|
|
@@ -112,7 +112,7 @@ function resolveStructuralSessionFallbackPath(candidateAbsPath, expectedAgentId)
|
|
|
112
112
|
}
|
|
113
113
|
function safeRealpathSync(filePath) {
|
|
114
114
|
try {
|
|
115
|
-
return
|
|
115
|
+
return syncFs.realpathSync(filePath);
|
|
116
116
|
} catch {
|
|
117
117
|
return undefined;
|
|
118
118
|
}
|
|
@@ -10,7 +10,7 @@ import { archiveSessionTranscripts, cleanupArchivedSessionTranscripts } from "..
|
|
|
10
10
|
import { deliveryContextFromSession, mergeDeliveryContext, normalizeDeliveryContext, normalizeSessionDeliveryFields } from "../../utils/delivery-context.js";
|
|
11
11
|
import { getFileMtimeMs, isCacheEnabled, resolveCacheTtlMs } from "../cache-utils.js";
|
|
12
12
|
import { enforceSessionDiskBudget } from "./disk-budget.js";
|
|
13
|
-
import
|
|
13
|
+
import syncFs from "node:fs";
|
|
14
14
|
import path from "node:path";
|
|
15
15
|
import crypto from "node:crypto";
|
|
16
16
|
|
|
@@ -155,7 +155,7 @@ function loadSessionStore(storePath, opts = {}) {
|
|
|
155
155
|
const retryBuf = maxReadAttempts > 1 ? new Int32Array(new SharedArrayBuffer(4)) : undefined;
|
|
156
156
|
for (let attempt = 0; attempt < maxReadAttempts; attempt++) {
|
|
157
157
|
try {
|
|
158
|
-
const raw =
|
|
158
|
+
const raw = syncFs.readFileSync(storePath, "utf-8");
|
|
159
159
|
if (raw.length === 0 && attempt < maxReadAttempts - 1) {
|
|
160
160
|
Atomics.wait(retryBuf, 0, 0, 50);
|
|
161
161
|
continue;
|
|
@@ -406,7 +406,7 @@ function capEntryCount(store, overrideMax, opts = {}) {
|
|
|
406
406
|
}
|
|
407
407
|
async function getSessionFileSize(storePath) {
|
|
408
408
|
try {
|
|
409
|
-
const stat = await
|
|
409
|
+
const stat = await syncFs.promises.stat(storePath);
|
|
410
410
|
return stat.size;
|
|
411
411
|
} catch {
|
|
412
412
|
return null;
|
|
@@ -428,7 +428,7 @@ async function rotateSessionFile(storePath, overrideBytes) {
|
|
|
428
428
|
}
|
|
429
429
|
const backupPath = `${storePath}.bak.${Date.now()}`;
|
|
430
430
|
try {
|
|
431
|
-
await
|
|
431
|
+
await syncFs.promises.rename(storePath, backupPath);
|
|
432
432
|
log.info("rotated session store file", {
|
|
433
433
|
backupPath: path.basename(backupPath),
|
|
434
434
|
sizeBytes: fileSize
|
|
@@ -439,13 +439,13 @@ async function rotateSessionFile(storePath, overrideBytes) {
|
|
|
439
439
|
try {
|
|
440
440
|
const dir = path.dirname(storePath);
|
|
441
441
|
const baseName = path.basename(storePath);
|
|
442
|
-
const files = await
|
|
442
|
+
const files = await syncFs.promises.readdir(dir);
|
|
443
443
|
const backups = files.filter((f) => f.startsWith(`${baseName}.bak.`)).toSorted().toReversed();
|
|
444
444
|
const maxBackups = 3;
|
|
445
445
|
if (backups.length > maxBackups) {
|
|
446
446
|
const toDelete = backups.slice(maxBackups);
|
|
447
447
|
for (const old of toDelete) {
|
|
448
|
-
await
|
|
448
|
+
await syncFs.promises.unlink(path.join(dir, old)).catch(() => undefined);
|
|
449
449
|
}
|
|
450
450
|
log.info("cleaned up old session store backups", { deleted: toDelete.length });
|
|
451
451
|
}
|
|
@@ -561,15 +561,15 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
|
|
|
561
561
|
});
|
|
562
562
|
}
|
|
563
563
|
}
|
|
564
|
-
await
|
|
564
|
+
await syncFs.promises.mkdir(path.dirname(storePath), { recursive: true });
|
|
565
565
|
const json = JSON.stringify(store, null, 2);
|
|
566
566
|
if (process.platform === "win32") {
|
|
567
567
|
const tmp = `${storePath}.${process.pid}.${crypto.randomUUID()}.tmp`;
|
|
568
568
|
try {
|
|
569
|
-
await
|
|
569
|
+
await syncFs.promises.writeFile(tmp, json, "utf-8");
|
|
570
570
|
for (let i = 0; i < 5; i++) {
|
|
571
571
|
try {
|
|
572
|
-
await
|
|
572
|
+
await syncFs.promises.rename(tmp, storePath);
|
|
573
573
|
break;
|
|
574
574
|
} catch {
|
|
575
575
|
if (i < 4) {
|
|
@@ -587,28 +587,28 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
|
|
|
587
587
|
}
|
|
588
588
|
throw err;
|
|
589
589
|
} finally {
|
|
590
|
-
await
|
|
590
|
+
await syncFs.promises.rm(tmp, { force: true }).catch(() => undefined);
|
|
591
591
|
}
|
|
592
592
|
return;
|
|
593
593
|
}
|
|
594
594
|
const tmp = `${storePath}.${process.pid}.${crypto.randomUUID()}.tmp`;
|
|
595
595
|
try {
|
|
596
|
-
await
|
|
596
|
+
await syncFs.promises.writeFile(tmp, json, {
|
|
597
597
|
mode: 384,
|
|
598
598
|
encoding: "utf-8"
|
|
599
599
|
});
|
|
600
|
-
await
|
|
601
|
-
await
|
|
600
|
+
await syncFs.promises.rename(tmp, storePath);
|
|
601
|
+
await syncFs.promises.chmod(storePath, 384);
|
|
602
602
|
} catch (err) {
|
|
603
603
|
const code = err && typeof err === "object" && "code" in err ? String(err.code) : null;
|
|
604
604
|
if (code === "ENOENT") {
|
|
605
605
|
try {
|
|
606
|
-
await
|
|
607
|
-
await
|
|
606
|
+
await syncFs.promises.mkdir(path.dirname(storePath), { recursive: true });
|
|
607
|
+
await syncFs.promises.writeFile(storePath, json, {
|
|
608
608
|
mode: 384,
|
|
609
609
|
encoding: "utf-8"
|
|
610
610
|
});
|
|
611
|
-
await
|
|
611
|
+
await syncFs.promises.chmod(storePath, 384);
|
|
612
612
|
} catch (err2) {
|
|
613
613
|
const code2 = err2 && typeof err2 === "object" && "code" in err2 ? String(err2.code) : null;
|
|
614
614
|
if (code2 === "ENOENT") {
|
|
@@ -620,7 +620,7 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
|
|
|
620
620
|
}
|
|
621
621
|
throw err;
|
|
622
622
|
} finally {
|
|
623
|
-
await
|
|
623
|
+
await syncFs.promises.rm(tmp, { force: true });
|
|
624
624
|
}
|
|
625
625
|
}
|
|
626
626
|
async function saveSessionStore(storePath, store, opts) {
|