@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
|
@@ -3,11 +3,11 @@ import { isSelfChatMode, normalizeE164 } from "../../utils.js";
|
|
|
3
3
|
import { loadConfig } from "../../config/io.js";
|
|
4
4
|
import "../../config/config.js";
|
|
5
5
|
import { resolveWhatsAppAccount } from "../accounts.js";
|
|
6
|
-
import { redactIdentifier } from "../../logging/redact-identifier.js";
|
|
7
|
-
import { upsertChannelPairingRequest } from "../../pairing/pairing-store.js";
|
|
8
6
|
import { resolveDefaultGroupPolicy, resolveOpenProviderRuntimeGroupPolicy, warnMissingProviderGroupPolicyFallbackOnce } from "../../config/runtime-group-policy.js";
|
|
9
|
-
import {
|
|
7
|
+
import { upsertChannelPairingRequest } from "../../pairing/pairing-store.js";
|
|
10
8
|
import { readStoreAllowFromForDmPolicy, resolveDmGroupAccessWithLists } from "../../security/dm-policy-shared.js";
|
|
9
|
+
import { redactIdentifier } from "../../logging/redact-identifier.js";
|
|
10
|
+
import { buildPairingReply } from "../../pairing/pairing-messages.js";
|
|
11
11
|
import { formatError } from "../session.js";
|
|
12
12
|
|
|
13
13
|
//#region src/web/inbound/access-control.ts
|
|
@@ -2,11 +2,11 @@ import { getChildLogger } from "../../logging/logger.js";
|
|
|
2
2
|
import { logVerbose, shouldLogVerbose } from "../../globals.js";
|
|
3
3
|
import { jidToE164, resolveJidToE164 } from "../../utils.js";
|
|
4
4
|
import { createSubsystemLogger } from "../../logging/subsystem.js";
|
|
5
|
-
import { saveMediaBuffer } from "../../media/store.js";
|
|
6
5
|
import { redactIdentifier } from "../../logging/redact-identifier.js";
|
|
7
|
-
import { formatLocationText } from "../../channels/location.js";
|
|
8
6
|
import { createInboundDebouncer } from "../../auto-reply/inbound-debounce.js";
|
|
7
|
+
import { saveMediaBuffer } from "../../media/store.js";
|
|
9
8
|
import { recordChannelActivity } from "../../infra/channel-activity.js";
|
|
9
|
+
import { formatLocationText } from "../../channels/location.js";
|
|
10
10
|
import { createWaSocket, formatError, getStatusCode, waitForWaConnection } from "../session.js";
|
|
11
11
|
import { isRecentInboundMessage } from "./dedupe.js";
|
|
12
12
|
import { describeReplyContext, extractLocationData, extractMediaPlaceholder, extractMentionedJids, extractText } from "./extract.js";
|
package/dist/web/media.js
CHANGED
|
@@ -2,10 +2,10 @@ import { logVerbose, shouldLogVerbose } from "../globals.js";
|
|
|
2
2
|
import { resolveUserPath } from "../utils.js";
|
|
3
3
|
import { maxBytesForKind, mediaKindFromMime } from "../media/constants.js";
|
|
4
4
|
import { detectMime, extensionForMime } from "../media/mime.js";
|
|
5
|
+
import { convertHeicToJpeg, hasAlphaChannel, optimizeImageToPng, resizeToJpeg } from "../media/image-ops.js";
|
|
5
6
|
import { SafeOpenError, readLocalFileSafely } from "../infra/fs-safe.js";
|
|
6
|
-
import { getDefaultMediaLocalRoots } from "../media/local-roots.js";
|
|
7
7
|
import { fetchRemoteMedia } from "../media/fetch.js";
|
|
8
|
-
import {
|
|
8
|
+
import { getDefaultMediaLocalRoots } from "../media/local-roots.js";
|
|
9
9
|
import { fileURLToPath } from "node:url";
|
|
10
10
|
import path from "node:path";
|
|
11
11
|
import fs from "node:fs/promises";
|
package/dist/web/outbound.js
CHANGED
|
@@ -3,13 +3,13 @@ import { toWhatsappJid } from "../utils.js";
|
|
|
3
3
|
import { createSubsystemLogger } from "../logging/subsystem.js";
|
|
4
4
|
import { loadConfig } from "../config/io.js";
|
|
5
5
|
import "../config/config.js";
|
|
6
|
-
import { resolveMarkdownTableMode } from "../config/markdown-tables.js";
|
|
7
|
-
import { loadWebMedia } from "./media.js";
|
|
8
6
|
import { generateSecureUuid } from "../infra/secure-random.js";
|
|
9
7
|
import { redactIdentifier } from "../logging/redact-identifier.js";
|
|
10
|
-
import {
|
|
8
|
+
import { resolveMarkdownTableMode } from "../config/markdown-tables.js";
|
|
11
9
|
import { convertMarkdownTables } from "../markdown/tables.js";
|
|
10
|
+
import { loadWebMedia } from "./media.js";
|
|
12
11
|
import { requireActiveWebListener } from "./active-listener.js";
|
|
12
|
+
import { normalizePollInput } from "../polls.js";
|
|
13
13
|
import { markdownToWhatsApp } from "../markdown/whatsapp.js";
|
|
14
14
|
import { formatError } from "./session.js";
|
|
15
15
|
|
package/dist/web/session.js
CHANGED
|
@@ -7,7 +7,7 @@ import { redactSensitiveText } from "../logging/redact.js";
|
|
|
7
7
|
import "../logging.js";
|
|
8
8
|
import { WA_WEB_AUTH_DIR, getWebAuthAgeMs, logWebSelfId, logoutWeb, maybeRestoreCredsFromBackup, pickWebChannel, readCredsJsonRaw, readWebSelfId, resolveDefaultWebAuthDir, resolveWebCredsBackupPath, resolveWebCredsPath, webAuthExists } from "./auth-store.js";
|
|
9
9
|
import { redactSensitiveUrlLikeString } from "../shared/net/redact-sensitive-url.js";
|
|
10
|
-
import
|
|
10
|
+
import syncFs from "node:fs";
|
|
11
11
|
import { randomUUID } from "node:crypto";
|
|
12
12
|
import { DisconnectReason, fetchLatestBaileysVersion, makeCacheableSignalKeyStore, makeWASocket, useMultiFileAuthState } from "@whiskeysockets/baileys";
|
|
13
13
|
import qrcode from "qrcode-terminal";
|
|
@@ -27,9 +27,9 @@ async function safeSaveCreds(authDir, saveCreds, logger) {
|
|
|
27
27
|
if (raw) {
|
|
28
28
|
try {
|
|
29
29
|
JSON.parse(raw);
|
|
30
|
-
|
|
30
|
+
syncFs.copyFileSync(credsPath, backupPath);
|
|
31
31
|
try {
|
|
32
|
-
|
|
32
|
+
syncFs.chmodSync(backupPath, 384);
|
|
33
33
|
} catch {}
|
|
34
34
|
} catch {}
|
|
35
35
|
}
|
|
@@ -37,7 +37,7 @@ async function safeSaveCreds(authDir, saveCreds, logger) {
|
|
|
37
37
|
try {
|
|
38
38
|
await Promise.resolve(saveCreds());
|
|
39
39
|
try {
|
|
40
|
-
|
|
40
|
+
syncFs.chmodSync(resolveWebCredsPath(authDir), 384);
|
|
41
41
|
} catch {}
|
|
42
42
|
} catch (err) {
|
|
43
43
|
logger.warn({ error: formatError(err) }, "failed saving WhatsApp creds");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import syncFs from "node:fs";
|
|
2
2
|
import os from "node:os";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { spawnSync } from "node:child_process";
|
|
@@ -24,7 +24,7 @@ function isHostedSecurityCapableSession(explicitFlag = false) {
|
|
|
24
24
|
const currentUser = currentUserName();
|
|
25
25
|
if (currentUser) {
|
|
26
26
|
const sudoersPath = path.join("/etc/sudoers.d", `fased-host-maintenance-${currentUser}`);
|
|
27
|
-
if (
|
|
27
|
+
if (syncFs.existsSync(sudoersPath)) {
|
|
28
28
|
return true;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { loadPersistedFederationToken } from "../federation/access-token.js";
|
|
2
1
|
import { DEFAULT_FEDERATION_BASE_URL, resolveFederationBaseUrl, resolveFederationHandle } from "../federation/runtime.js";
|
|
2
|
+
import { loadPersistedFederationToken } from "../federation/access-token.js";
|
|
3
3
|
|
|
4
4
|
//#region src/wizard/onboarding.federation.ts
|
|
5
5
|
async function configureFederationForOnboarding(params) {
|
|
@@ -6,22 +6,22 @@ import { enableTailscaleFunnel, enableTailscaleServe } from "../infra/tailscale.
|
|
|
6
6
|
import { clearDeviceAuthStore } from "../infra/device-auth-store.js";
|
|
7
7
|
import { readWalletProviderRegistry } from "../wallet/wallet-provider-registry.js";
|
|
8
8
|
import { loadPersistedFederationToken } from "../federation/access-token.js";
|
|
9
|
-
import {
|
|
9
|
+
import { normalizeControlUiBasePath } from "../gateway/control-ui-shared.js";
|
|
10
|
+
import { detectBrowserOpenSupport, formatControlUiSshHint, openUrl, probeGatewayReachable, resolveControlUiLinks, waitForGatewayReachable } from "../commands/onboard-helpers.js";
|
|
10
11
|
import { runFederationAutoConnectOnce } from "../federation/auto-connect.js";
|
|
12
|
+
import { waitForHostedDashboardBrowserPath } from "../commands/hosted-dashboard-probe.js";
|
|
13
|
+
import { buildSystemdUnit } from "../daemon/systemd-unit.js";
|
|
14
|
+
import { isSystemdUserServiceAvailable } from "../daemon/systemd.js";
|
|
15
|
+
import { resolveGatewayService } from "../daemon/service.js";
|
|
16
|
+
import { readWalletStatusSnapshot } from "../wallet/wallet-status.js";
|
|
11
17
|
import { readManagedFederationTokenSummary } from "../managed/federation.js";
|
|
12
|
-
import { normalizeControlUiBasePath } from "../gateway/control-ui-shared.js";
|
|
13
18
|
import { CONTROL_UI_BOOT_CHECK_PATH } from "../gateway/control-ui-boot-check.js";
|
|
14
|
-
import { detectBrowserOpenSupport, formatControlUiSshHint, openUrl, probeGatewayReachable, resolveControlUiLinks, waitForGatewayReachable } from "../commands/onboard-helpers.js";
|
|
15
19
|
import { readManagedReservationSummaries } from "../managed/tunnel.js";
|
|
16
20
|
import { resolveGatewayMaxOldSpaceMb } from "../daemon/service-env.js";
|
|
17
21
|
import { buildGatewayInstallPlan, gatewayInstallErrorHint, resolveGatewayStartupMode, resolveHostedOnboardingGatewayStartupMode } from "../commands/daemon-install-helpers.js";
|
|
18
22
|
import { DEFAULT_GATEWAY_DAEMON_RUNTIME, GATEWAY_DAEMON_RUNTIME_OPTIONS } from "../commands/daemon-runtime.js";
|
|
19
|
-
import { buildSystemdUnit } from "../daemon/systemd-unit.js";
|
|
20
|
-
import { isSystemdUserServiceAvailable } from "../daemon/systemd.js";
|
|
21
|
-
import { resolveGatewayService } from "../daemon/service.js";
|
|
22
23
|
import { SERVICE_AUDIT_CODES, auditGatewayServiceConfig } from "../daemon/service-audit.js";
|
|
23
24
|
import { buildCapabilityReadinessReport, formatCapabilityReadinessSummary } from "../capabilities/catalog.js";
|
|
24
|
-
import { waitForHostedDashboardBrowserPath } from "../commands/hosted-dashboard-probe.js";
|
|
25
25
|
import { noteBullet, noteCommand, noteCommands, noteHeading, noteLabel, noteMuted, noteSuccess, noteWarn } from "./onboarding-note-format.js";
|
|
26
26
|
import { describeOperatorReadinessChecklist } from "../operator/operator-readiness.js";
|
|
27
27
|
import { runTui } from "../tui/tui.js";
|
|
@@ -2,7 +2,7 @@ import { redactSensitiveText } from "../logging/redact.js";
|
|
|
2
2
|
import { redactSensitiveUrlLikeString } from "../shared/net/redact-sensitive-url.js";
|
|
3
3
|
import { noteCommands, noteHeading, noteStep, noteWarn } from "./onboarding-note-format.js";
|
|
4
4
|
import { isHostingProfile } from "./onboarding.types.js";
|
|
5
|
-
import
|
|
5
|
+
import syncFs from "node:fs";
|
|
6
6
|
import os from "node:os";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import { spawn, spawnSync } from "node:child_process";
|
|
@@ -12,7 +12,7 @@ import { Buffer } from "node:buffer";
|
|
|
12
12
|
function resolveHostSecurityLogPath() {
|
|
13
13
|
const home = process.env.HOME?.trim() || os.homedir();
|
|
14
14
|
const logDir = path.join(home, ".fased", "logs");
|
|
15
|
-
|
|
15
|
+
syncFs.mkdirSync(logDir, {
|
|
16
16
|
recursive: true,
|
|
17
17
|
mode: 448
|
|
18
18
|
});
|
|
@@ -26,7 +26,7 @@ function appendHostSecurityLog(logPath, title, detail) {
|
|
|
26
26
|
sanitizedDetail?.trim() || "(no output)",
|
|
27
27
|
""
|
|
28
28
|
].join("\n");
|
|
29
|
-
|
|
29
|
+
syncFs.appendFileSync(logPath, body, "utf8");
|
|
30
30
|
}
|
|
31
31
|
function resolveTailnetSshConfirmationPath() {
|
|
32
32
|
const stateDir = process.env.FASED_STATE_DIR?.trim() || process.env.FASED_CONFIG_DIR?.trim() || path.join(process.env.HOME?.trim() || os.homedir(), ".fased");
|
|
@@ -34,7 +34,7 @@ function resolveTailnetSshConfirmationPath() {
|
|
|
34
34
|
}
|
|
35
35
|
function hasStoredTailnetSshConfirmation(target) {
|
|
36
36
|
try {
|
|
37
|
-
const raw =
|
|
37
|
+
const raw = syncFs.readFileSync(resolveTailnetSshConfirmationPath(), "utf8");
|
|
38
38
|
const parsed = JSON.parse(raw);
|
|
39
39
|
return parsed.user === target.user && parsed.repoDir === target.repoDir;
|
|
40
40
|
} catch {
|
|
@@ -43,11 +43,11 @@ function hasStoredTailnetSshConfirmation(target) {
|
|
|
43
43
|
}
|
|
44
44
|
function writeTailnetSshConfirmation(target) {
|
|
45
45
|
const markerPath = resolveTailnetSshConfirmationPath();
|
|
46
|
-
|
|
46
|
+
syncFs.mkdirSync(path.dirname(markerPath), {
|
|
47
47
|
recursive: true,
|
|
48
48
|
mode: 448
|
|
49
49
|
});
|
|
50
|
-
|
|
50
|
+
syncFs.writeFileSync(markerPath, `${JSON.stringify({
|
|
51
51
|
confirmedAt: new Date().toISOString(),
|
|
52
52
|
user: target.user,
|
|
53
53
|
host: target.host,
|
|
@@ -75,7 +75,7 @@ const HOST_MAINTENANCE_HELPER = "/usr/local/sbin/fased-host-maintenance";
|
|
|
75
75
|
function detectTotalMemoryMb() {
|
|
76
76
|
if (process.platform === "linux") {
|
|
77
77
|
try {
|
|
78
|
-
const meminfo =
|
|
78
|
+
const meminfo = syncFs.readFileSync("/proc/meminfo", "utf8");
|
|
79
79
|
const match = meminfo.match(/^MemTotal:\s+(\d+)\s+kB/m);
|
|
80
80
|
if (match?.[1]) {
|
|
81
81
|
return Math.floor(Number.parseInt(match[1], 10) / 1024);
|
|
@@ -8,9 +8,9 @@ import "../config/config.js";
|
|
|
8
8
|
import "../agents/auth-profiles.js";
|
|
9
9
|
import { ensureWalletStateDir, resolveLocalSignerBackendSocketPath, resolveLocalSignerMaterialRootDir, resolveLocalSignerRunAsUser, resolveLocalSignerSocketPath } from "../wallet/wallet-runtime-config.js";
|
|
10
10
|
import { checkNamedWalletDeletionSafety, deleteNamedWallet, readWalletProviderRegistry, resolveWalletUserRole, setDefaultWallet, setNamedWalletRole, upsertNamedWallet } from "../wallet/wallet-provider-registry.js";
|
|
11
|
+
import { DEFAULT_WORKSPACE, applyWizardMetadata, ensureWorkspaceAndSessions, handleOnboardingRepair, printWizardHeader, probeGatewayReachable, summarizeExistingConfig } from "../commands/onboard-helpers.js";
|
|
11
12
|
import { configureWalletForOnboarding, installSignerdBinary, migrateLocalSignerKeystoreToMaterialDir, resolveSignerdBinaryPath, restartLocalSocketSigner } from "./onboarding.wallet.js";
|
|
12
13
|
import { collectWalletSignerDoctorReport, walletSetupCommand } from "../commands/wallet.js";
|
|
13
|
-
import { DEFAULT_WORKSPACE, applyWizardMetadata, ensureWorkspaceAndSessions, handleOnboardingRepair, printWizardHeader, probeGatewayReachable, summarizeExistingConfig } from "../commands/onboard-helpers.js";
|
|
14
14
|
import { promptAuthChoiceGrouped } from "../commands/auth-choice-prompt.js";
|
|
15
15
|
import { logConfigUpdated } from "../config/logging.js";
|
|
16
16
|
import { applyAuthChoice } from "../commands/auth-choice.apply.js";
|
|
@@ -29,7 +29,7 @@ import { finalizeOnboardingWizard } from "./onboarding.finalize.js";
|
|
|
29
29
|
import { configureGatewayForOnboarding } from "./onboarding.gateway-config.js";
|
|
30
30
|
import { applyHostingSecurity } from "./onboarding.host-security.js";
|
|
31
31
|
import { normalizeHostedWalletPaths } from "./wallet-path-migration.js";
|
|
32
|
-
import
|
|
32
|
+
import syncFs from "node:fs";
|
|
33
33
|
import path from "node:path";
|
|
34
34
|
import { spawn, spawnSync } from "node:child_process";
|
|
35
35
|
|
|
@@ -472,7 +472,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
|
|
|
472
472
|
const stateRoot = String(process.env.FASED_STATE_DIR ?? "").trim() || path.join(String(process.env.HOME ?? "").trim() || process.cwd(), ".fased");
|
|
473
473
|
const installRoot = path.join(stateRoot, "toolchains", `go${goVersion}`);
|
|
474
474
|
const goBin = path.join(installRoot, "bin", "go");
|
|
475
|
-
if (
|
|
475
|
+
if (syncFs.existsSync(goBin)) {
|
|
476
476
|
process.env.FASED_GO_BIN = goBin;
|
|
477
477
|
return goModernEnough() ? "installed" : "unavailable";
|
|
478
478
|
}
|
|
@@ -505,7 +505,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
|
|
|
505
505
|
if (String(process.env.FASED_FORCE_NATIVE_SIGNER_BUILD ?? "").trim() === "1") {
|
|
506
506
|
return false;
|
|
507
507
|
}
|
|
508
|
-
return
|
|
508
|
+
return syncFs.existsSync(resolveSignerdBinaryPath(process.env));
|
|
509
509
|
};
|
|
510
510
|
const maybeInstallGoForOnboarding = async () => {
|
|
511
511
|
if (goModernEnough()) {
|
|
@@ -539,7 +539,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
|
|
|
539
539
|
return goModernEnough();
|
|
540
540
|
};
|
|
541
541
|
const prepareLocalSignerForOnboarding = async (params) => {
|
|
542
|
-
if (
|
|
542
|
+
if (syncFs.existsSync(params.binPath) || String(process.env.FASED_SKIP_NATIVE_SIGNER_BUILD ?? "").trim() === "1" || hasExplicitSignerAssetSource()) {
|
|
543
543
|
return;
|
|
544
544
|
}
|
|
545
545
|
if (goModernEnough()) {
|
|
@@ -1092,8 +1092,8 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
|
|
|
1092
1092
|
const configuredPaths = keystoreKeys.map((key) => (nextConfig.env?.vars?.[key] ?? "").trim() || String(process.env[key] ?? "").trim()).filter(Boolean);
|
|
1093
1093
|
for (const file of new Set([...configuredPaths, ...defaultKeystorePaths])) {
|
|
1094
1094
|
try {
|
|
1095
|
-
if (file &&
|
|
1096
|
-
|
|
1095
|
+
if (file && syncFs.existsSync(file)) {
|
|
1096
|
+
syncFs.rmSync(file, { force: true });
|
|
1097
1097
|
}
|
|
1098
1098
|
} catch {}
|
|
1099
1099
|
}
|
|
@@ -1215,7 +1215,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
|
|
|
1215
1215
|
process.env[rpcKey] = effectiveRpcUrl;
|
|
1216
1216
|
try {
|
|
1217
1217
|
let moveToSignerDir = false;
|
|
1218
|
-
if (isolatedTargetKeystorePath &&
|
|
1218
|
+
if (isolatedTargetKeystorePath && syncFs.existsSync(isolatedTargetKeystorePath)) {
|
|
1219
1219
|
moveToSignerDir = await prompter.confirm({
|
|
1220
1220
|
message: "Signer keystore already exists. Overwrite it?",
|
|
1221
1221
|
initialValue: false
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { loadConfig } from "../config/io.js";
|
|
2
2
|
import "../config/config.js";
|
|
3
3
|
import { ensureWalletStateDir, resolveLocalSignerBackendSocketPath, resolveLocalSignerMaterialRootDir, resolveLocalSignerRunAsUser, resolveLocalSignerSidecarPaths, resolveLocalSignerSocketPath, resolveWalletRuntimeConfig } from "../wallet/wallet-runtime-config.js";
|
|
4
|
-
import { callLocalSocketSigner } from "../wallet/providers/local-socket-signer-adapter.js";
|
|
5
4
|
import { WALLET_PROVIDER_IDS, readWalletProviderRegistry, setWalletProvidersEnabled } from "../wallet/wallet-provider-registry.js";
|
|
6
5
|
import { applyWalletPolicyConfig, resolveWalletRoleForId } from "../wallet/wallet-policy.js";
|
|
6
|
+
import { callLocalSocketSigner } from "../wallet/providers/local-socket-signer-adapter.js";
|
|
7
7
|
import { resolveWalletProviderId } from "../wallet/wallet-provider-resolver.js";
|
|
8
8
|
import { fileURLToPath } from "node:url";
|
|
9
|
-
import
|
|
9
|
+
import syncFs from "node:fs";
|
|
10
10
|
import path from "node:path";
|
|
11
11
|
import { execSync, spawn, spawnSync } from "node:child_process";
|
|
12
12
|
import { randomBytes } from "node:crypto";
|
|
@@ -48,7 +48,7 @@ function runCommand(params) {
|
|
|
48
48
|
}
|
|
49
49
|
function isSignerdRunning(socketPath) {
|
|
50
50
|
try {
|
|
51
|
-
|
|
51
|
+
syncFs.statSync(socketPath);
|
|
52
52
|
return true;
|
|
53
53
|
} catch {
|
|
54
54
|
return false;
|
|
@@ -77,7 +77,7 @@ async function sleep(ms) {
|
|
|
77
77
|
}
|
|
78
78
|
function readFileTail(filePath, maxLines = 20) {
|
|
79
79
|
try {
|
|
80
|
-
const text =
|
|
80
|
+
const text = syncFs.readFileSync(filePath, "utf8").trim();
|
|
81
81
|
if (!text) {
|
|
82
82
|
return undefined;
|
|
83
83
|
}
|
|
@@ -159,7 +159,7 @@ async function readSignerdHealth(socketPath) {
|
|
|
159
159
|
function resolveInstallScript() {
|
|
160
160
|
for (const rel of INSTALL_SCRIPT_RELPATHS) {
|
|
161
161
|
const abs = path.resolve(rel);
|
|
162
|
-
if (
|
|
162
|
+
if (syncFs.existsSync(abs)) {
|
|
163
163
|
return abs;
|
|
164
164
|
}
|
|
165
165
|
}
|
|
@@ -168,7 +168,7 @@ function resolveInstallScript() {
|
|
|
168
168
|
function resolveBuildScript() {
|
|
169
169
|
for (const rel of BUILD_SCRIPT_RELPATHS) {
|
|
170
170
|
const abs = path.resolve(rel);
|
|
171
|
-
if (
|
|
171
|
+
if (syncFs.existsSync(abs)) {
|
|
172
172
|
return abs;
|
|
173
173
|
}
|
|
174
174
|
}
|
|
@@ -177,7 +177,7 @@ function resolveBuildScript() {
|
|
|
177
177
|
function resolveBrokerCliPath() {
|
|
178
178
|
for (const rel of BROKER_CLI_RELPATHS) {
|
|
179
179
|
const candidate = fileURLToPath(new URL(rel, import.meta.url));
|
|
180
|
-
if (
|
|
180
|
+
if (syncFs.existsSync(candidate)) {
|
|
181
181
|
return candidate;
|
|
182
182
|
}
|
|
183
183
|
}
|
|
@@ -190,17 +190,17 @@ function resolveLocalSignerdReleaseBaseUrl(installScriptPath) {
|
|
|
190
190
|
const arch = process.arch === "arm64" ? "arm64" : "amd64";
|
|
191
191
|
const assetPath = path.join(releaseDir, `fased-signerd-${platform}-${arch}`);
|
|
192
192
|
const checksumsPath = path.join(releaseDir, "fased-signerd-checksums.txt");
|
|
193
|
-
if (!
|
|
193
|
+
if (!syncFs.existsSync(assetPath) || !syncFs.existsSync(checksumsPath)) {
|
|
194
194
|
return null;
|
|
195
195
|
}
|
|
196
196
|
return `file://${releaseDir}`;
|
|
197
197
|
}
|
|
198
198
|
function resolveGoBinary(env = process.env) {
|
|
199
199
|
const explicit = String(env.FASED_GO_BIN ?? "").trim();
|
|
200
|
-
if (explicit &&
|
|
200
|
+
if (explicit && syncFs.existsSync(explicit)) {
|
|
201
201
|
return explicit;
|
|
202
202
|
}
|
|
203
|
-
if (
|
|
203
|
+
if (syncFs.existsSync("/usr/local/go/bin/go")) {
|
|
204
204
|
return "/usr/local/go/bin/go";
|
|
205
205
|
}
|
|
206
206
|
const child = spawnSync("bash", ["-lc", "command -v go || true"], {
|
|
@@ -271,7 +271,7 @@ function runScriptOrThrow(params) {
|
|
|
271
271
|
function copySignerdBinaryToTarget(params) {
|
|
272
272
|
const sourcePath = path.resolve(params.sourcePath);
|
|
273
273
|
const targetPath = path.resolve(params.targetPath);
|
|
274
|
-
if (!
|
|
274
|
+
if (!syncFs.existsSync(sourcePath)) {
|
|
275
275
|
throw new Error(`fased-signerd build completed but binary was not found at ${sourcePath}.`);
|
|
276
276
|
}
|
|
277
277
|
if (params.runAsUser) {
|
|
@@ -295,9 +295,9 @@ function copySignerdBinaryToTarget(params) {
|
|
|
295
295
|
}
|
|
296
296
|
return;
|
|
297
297
|
}
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
298
|
+
syncFs.mkdirSync(path.dirname(targetPath), { recursive: true });
|
|
299
|
+
syncFs.copyFileSync(sourcePath, targetPath);
|
|
300
|
+
syncFs.chmodSync(targetPath, 493);
|
|
301
301
|
}
|
|
302
302
|
function buildSignerdBinaryFromSource(binPath) {
|
|
303
303
|
if (String(process.env.FASED_SKIP_NATIVE_SIGNER_BUILD ?? "").trim() === "1") {
|
|
@@ -353,7 +353,7 @@ function installSignerdBinaryFromExplicitAsset(binPath) {
|
|
|
353
353
|
throw new Error(detail || "fased-signerd install failed", { cause: err });
|
|
354
354
|
}
|
|
355
355
|
const installedPath = runAsUser ? stagingPath : binPath;
|
|
356
|
-
if (!
|
|
356
|
+
if (!syncFs.existsSync(installedPath)) {
|
|
357
357
|
throw new Error(`fased-signerd install script ran but binary not found at ${binPath}.\n` + `Check install script output above for errors.`);
|
|
358
358
|
}
|
|
359
359
|
if (runAsUser && installedPath !== binPath) {
|
|
@@ -376,7 +376,7 @@ function installSignerdBinaryFromExplicitAsset(binPath) {
|
|
|
376
376
|
});
|
|
377
377
|
}
|
|
378
378
|
}
|
|
379
|
-
if (!
|
|
379
|
+
if (!syncFs.existsSync(binPath)) {
|
|
380
380
|
throw new Error(`fased-signerd install script completed but target binary not found at ${binPath}.\n` + `Check install script output above for errors.`);
|
|
381
381
|
}
|
|
382
382
|
return true;
|
|
@@ -434,7 +434,7 @@ function inferScopedSignerKeystoreEnv(materialDir, env) {
|
|
|
434
434
|
const solanaKey = `FASED_WALLET_SOLANA_KEYSTORE_PATH__${envSuffix}`;
|
|
435
435
|
if (!String(env[solanaKey] ?? "").trim()) {
|
|
436
436
|
const candidate = path.join(materialDir, `keystore-solana-${fileSuffix}.v1.enc`);
|
|
437
|
-
if (
|
|
437
|
+
if (syncFs.existsSync(candidate)) {
|
|
438
438
|
inferred[solanaKey] = candidate;
|
|
439
439
|
}
|
|
440
440
|
}
|
|
@@ -469,7 +469,7 @@ function resolveLocalSignerPassphraseSource(materialDir, env) {
|
|
|
469
469
|
const candidates = [configuredFile ? path.resolve(configuredFile) : "", path.join(materialDir, "passphrase")].filter(Boolean);
|
|
470
470
|
for (const candidate of candidates) {
|
|
471
471
|
try {
|
|
472
|
-
const value =
|
|
472
|
+
const value = syncFs.readFileSync(candidate, "utf8").trim();
|
|
473
473
|
if (value) {
|
|
474
474
|
return {
|
|
475
475
|
kind: "file",
|
|
@@ -636,11 +636,11 @@ function writeLocalSignerEnvFile(params) {
|
|
|
636
636
|
...cfg.env?.vars
|
|
637
637
|
};
|
|
638
638
|
const signerEnvPath = path.resolve(ensureWalletStateDir(mergedEnv).rootDir, "signer.env");
|
|
639
|
-
|
|
639
|
+
syncFs.mkdirSync(path.dirname(signerEnvPath), {
|
|
640
640
|
recursive: true,
|
|
641
641
|
mode: 448
|
|
642
642
|
});
|
|
643
|
-
|
|
643
|
+
syncFs.writeFileSync(signerEnvPath, renderLocalSignerEnvFile({
|
|
644
644
|
config: cfg,
|
|
645
645
|
env: mergedEnv
|
|
646
646
|
}), {
|
|
@@ -648,7 +648,7 @@ function writeLocalSignerEnvFile(params) {
|
|
|
648
648
|
mode: 384
|
|
649
649
|
});
|
|
650
650
|
try {
|
|
651
|
-
|
|
651
|
+
syncFs.chmodSync(signerEnvPath, 384);
|
|
652
652
|
} catch {}
|
|
653
653
|
return signerEnvPath;
|
|
654
654
|
}
|
|
@@ -690,7 +690,7 @@ function startSignerIsolationHelperBackground(runAsUser, args, logPath, env = pr
|
|
|
690
690
|
if (!helperArgs) {
|
|
691
691
|
return false;
|
|
692
692
|
}
|
|
693
|
-
const out =
|
|
693
|
+
const out = syncFs.openSync(logPath, "a", 384);
|
|
694
694
|
const child = spawn("sudo", [
|
|
695
695
|
"-n",
|
|
696
696
|
"-E",
|
|
@@ -711,10 +711,10 @@ function startSignerIsolationHelperBackground(runAsUser, args, logPath, env = pr
|
|
|
711
711
|
return true;
|
|
712
712
|
}
|
|
713
713
|
function signerMaintenanceHelperArgs(runAsUser, args) {
|
|
714
|
-
if (
|
|
714
|
+
if (syncFs.existsSync(SIGNER_MAINTENANCE_HELPER)) {
|
|
715
715
|
return [SIGNER_MAINTENANCE_HELPER, ...args];
|
|
716
716
|
}
|
|
717
|
-
if (
|
|
717
|
+
if (syncFs.existsSync(SIGNER_ISOLATION_HELPER)) {
|
|
718
718
|
return [
|
|
719
719
|
SIGNER_ISOLATION_HELPER,
|
|
720
720
|
resolveCurrentUnixUser(),
|
|
@@ -769,16 +769,16 @@ function ensureLocalSignerPassphrase() {
|
|
|
769
769
|
const generated = existing.kind === "value" ? existing.value : randomBytes(24).toString("base64url");
|
|
770
770
|
const stagingDir = ensureWalletStateDir(process.env).rootDir;
|
|
771
771
|
const stagingPath = path.join(stagingDir, `.local-signer-passphrase-${process.pid}-${Date.now()}`);
|
|
772
|
-
|
|
772
|
+
syncFs.mkdirSync(path.dirname(stagingPath), {
|
|
773
773
|
recursive: true,
|
|
774
774
|
mode: 448
|
|
775
775
|
});
|
|
776
|
-
|
|
776
|
+
syncFs.writeFileSync(stagingPath, `${generated}\n`, {
|
|
777
777
|
encoding: "utf8",
|
|
778
778
|
mode: 384
|
|
779
779
|
});
|
|
780
780
|
try {
|
|
781
|
-
|
|
781
|
+
syncFs.chmodSync(stagingPath, 384);
|
|
782
782
|
} catch {}
|
|
783
783
|
let passphrasePath = path.join(materialDir, "passphrase");
|
|
784
784
|
try {
|
|
@@ -808,7 +808,7 @@ function ensureLocalSignerPassphrase() {
|
|
|
808
808
|
process.env.FASED_WALLET_PASSPHRASE = generated;
|
|
809
809
|
} catch (err) {
|
|
810
810
|
try {
|
|
811
|
-
|
|
811
|
+
syncFs.rmSync(stagingPath, { force: true });
|
|
812
812
|
} catch {}
|
|
813
813
|
const detail = err instanceof Error ? err.message : String(err);
|
|
814
814
|
if (!detail.includes("passphrase already exists")) {
|
|
@@ -826,16 +826,16 @@ function ensureLocalSignerPassphrase() {
|
|
|
826
826
|
}
|
|
827
827
|
const generated = randomBytes(24).toString("base64url");
|
|
828
828
|
const passphraseFile = path.join(materialDir, "passphrase");
|
|
829
|
-
|
|
829
|
+
syncFs.mkdirSync(path.dirname(passphraseFile), {
|
|
830
830
|
recursive: true,
|
|
831
831
|
mode: 448
|
|
832
832
|
});
|
|
833
|
-
|
|
833
|
+
syncFs.writeFileSync(passphraseFile, `${generated}\n`, {
|
|
834
834
|
encoding: "utf8",
|
|
835
835
|
mode: 384
|
|
836
836
|
});
|
|
837
837
|
try {
|
|
838
|
-
|
|
838
|
+
syncFs.chmodSync(passphraseFile, 384);
|
|
839
839
|
} catch {}
|
|
840
840
|
process.env.FASED_WALLET_PASSPHRASE_FILE = passphraseFile;
|
|
841
841
|
delete process.env.FASED_WALLET_PASSPHRASE;
|
|
@@ -887,8 +887,8 @@ function startSignerdBackground(binPath, socketPath, materialDir, env = process.
|
|
|
887
887
|
throw new Error(`failed to launch isolated signer as ${runAsUser}: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
|
|
888
888
|
}
|
|
889
889
|
}
|
|
890
|
-
const out =
|
|
891
|
-
const err =
|
|
890
|
+
const out = syncFs.openSync(logPath, "a", 384);
|
|
891
|
+
const err = syncFs.openSync(logPath, "a", 384);
|
|
892
892
|
const child = spawn(binPath, [
|
|
893
893
|
"-socket",
|
|
894
894
|
socketPath,
|
|
@@ -964,7 +964,7 @@ function stopProcessBySocket(socketPath, runAsUser) {
|
|
|
964
964
|
}
|
|
965
965
|
for (const candidatePidPath of pidPaths) {
|
|
966
966
|
try {
|
|
967
|
-
const pid = Number.parseInt(
|
|
967
|
+
const pid = Number.parseInt(syncFs.readFileSync(candidatePidPath, "utf8").trim(), 10);
|
|
968
968
|
if (Number.isFinite(pid) && pid > 0) {
|
|
969
969
|
try {
|
|
970
970
|
const command = readProcessCommand(pid);
|
|
@@ -975,16 +975,16 @@ function stopProcessBySocket(socketPath, runAsUser) {
|
|
|
975
975
|
}
|
|
976
976
|
} catch {}
|
|
977
977
|
try {
|
|
978
|
-
|
|
978
|
+
syncFs.unlinkSync(candidatePidPath);
|
|
979
979
|
} catch {}
|
|
980
980
|
}
|
|
981
981
|
try {
|
|
982
|
-
|
|
982
|
+
syncFs.unlinkSync(socketPath);
|
|
983
983
|
} catch {}
|
|
984
984
|
}
|
|
985
985
|
function readProcessCommand(pid) {
|
|
986
986
|
try {
|
|
987
|
-
const cmdline =
|
|
987
|
+
const cmdline = syncFs.readFileSync(`/proc/${pid}/cmdline`, "utf8").replaceAll("\0", " ").trim();
|
|
988
988
|
if (cmdline) {
|
|
989
989
|
return cmdline;
|
|
990
990
|
}
|
|
@@ -1050,8 +1050,8 @@ function startSignerBrokerBackground(appSocketPath, backendSocketPath, materialD
|
|
|
1050
1050
|
throw new Error(`failed to launch isolated signer broker as ${runAsUser}: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
|
|
1051
1051
|
}
|
|
1052
1052
|
}
|
|
1053
|
-
const out =
|
|
1054
|
-
const err =
|
|
1053
|
+
const out = syncFs.openSync(logPath, "a", 384);
|
|
1054
|
+
const err = syncFs.openSync(logPath, "a", 384);
|
|
1055
1055
|
const child = spawn(process.execPath, [
|
|
1056
1056
|
brokerCli,
|
|
1057
1057
|
"wallet",
|
|
@@ -1087,7 +1087,7 @@ async function restartLocalSocketSigner(walletDir, env = process.env) {
|
|
|
1087
1087
|
const binPath = resolveSignerdBinaryPath(env);
|
|
1088
1088
|
const materialDir = resolveLocalSignerMaterialRootDir(env);
|
|
1089
1089
|
const runAsUser = resolveLocalSignerRunAsUser(env);
|
|
1090
|
-
if (!
|
|
1090
|
+
if (!syncFs.existsSync(binPath)) {
|
|
1091
1091
|
return;
|
|
1092
1092
|
}
|
|
1093
1093
|
stopProcessBySocket(socketPath, runAsUser);
|
|
@@ -1130,7 +1130,7 @@ async function syncLocalSocketSignerFromConfig(params) {
|
|
|
1130
1130
|
env: mergedEnv
|
|
1131
1131
|
});
|
|
1132
1132
|
const binPath = resolveSignerdBinaryPath(mergedEnv);
|
|
1133
|
-
if (!
|
|
1133
|
+
if (!syncFs.existsSync(binPath)) {
|
|
1134
1134
|
installSignerdBinary(binPath);
|
|
1135
1135
|
}
|
|
1136
1136
|
if (params?.restart === false) {
|
|
@@ -1159,7 +1159,7 @@ function migrateLocalSignerKeystoreToMaterialDir(params) {
|
|
|
1159
1159
|
return targetPath;
|
|
1160
1160
|
}
|
|
1161
1161
|
ensureIsolatedSignerPaths(materialDir, resolveLocalSignerBackendSocketPath(process.env), resolveLocalSignerSocketPath(process.env), runAsUser);
|
|
1162
|
-
if (
|
|
1162
|
+
if (syncFs.existsSync(targetPath) && !params.force) {
|
|
1163
1163
|
throw new Error(`Keystore already exists: ${targetPath}`);
|
|
1164
1164
|
}
|
|
1165
1165
|
if (runSignerIsolationHelper(runAsUser, [
|
|
@@ -1257,7 +1257,7 @@ function hasConfiguredWalletMaterial(params) {
|
|
|
1257
1257
|
}
|
|
1258
1258
|
try {
|
|
1259
1259
|
const walletDir = ensureWalletStateDir(mergedEnv).rootDir;
|
|
1260
|
-
return
|
|
1260
|
+
return syncFs.readdirSync(walletDir).some((entry) => /^keystore-solana(?:-[A-Za-z0-9_-]+)?\.v1\.enc$/.test(entry) || /^keystore-evm(?:-[A-Za-z0-9_-]+)?\.v1\.enc$/.test(entry));
|
|
1261
1261
|
} catch {
|
|
1262
1262
|
return false;
|
|
1263
1263
|
}
|
|
@@ -1356,12 +1356,12 @@ async function configureWalletForOnboarding(params) {
|
|
|
1356
1356
|
const binPath = resolveSignerdBinaryPath(process.env);
|
|
1357
1357
|
const runAsUser = resolveLocalSignerRunAsUser(process.env);
|
|
1358
1358
|
ensureLocalSignerPassphrase();
|
|
1359
|
-
if (!
|
|
1359
|
+
if (!syncFs.existsSync(binPath)) {
|
|
1360
1360
|
if (!quietSignerNotes) {
|
|
1361
1361
|
await prompter.note([`fased-signerd not found at: ${binPath}`, "Building fased-signerd locally when Go is available, or using an explicitly configured signer asset."].join("\n"), "Local socket signer");
|
|
1362
1362
|
}
|
|
1363
1363
|
await params.prepareLocalSigner?.({ binPath });
|
|
1364
|
-
if (!
|
|
1364
|
+
if (!syncFs.existsSync(binPath)) {
|
|
1365
1365
|
installSignerdBinary(binPath);
|
|
1366
1366
|
}
|
|
1367
1367
|
if (!quietSignerNotes) {
|