@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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ensureAuthProfileStore } from "./auth-profiles/store.js";
|
|
2
2
|
import "./auth-profiles.js";
|
|
3
3
|
import { resolvePiCredentialMapFromStore } from "./pi-auth-credentials.js";
|
|
4
|
-
import
|
|
4
|
+
import syncFs from "node:fs";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import * as PiCodingAgent from "@mariozechner/pi-coding-agent";
|
|
7
7
|
|
|
@@ -25,12 +25,12 @@ function scrubLegacyStaticAuthJsonEntries(pathname) {
|
|
|
25
25
|
if (process.env.FASED_AUTH_STORE_READONLY === "1") {
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
|
-
if (!
|
|
28
|
+
if (!syncFs.existsSync(pathname)) {
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
31
|
let parsed;
|
|
32
32
|
try {
|
|
33
|
-
parsed = JSON.parse(
|
|
33
|
+
parsed = JSON.parse(syncFs.readFileSync(pathname, "utf8"));
|
|
34
34
|
} catch {
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
@@ -52,11 +52,11 @@ function scrubLegacyStaticAuthJsonEntries(pathname) {
|
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
54
|
if (Object.keys(parsed).length === 0) {
|
|
55
|
-
|
|
55
|
+
syncFs.rmSync(pathname, { force: true });
|
|
56
56
|
return;
|
|
57
57
|
}
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
syncFs.writeFileSync(pathname, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
|
|
59
|
+
syncFs.chmodSync(pathname, 384);
|
|
60
60
|
}
|
|
61
61
|
function createAuthStorage(AuthStorageLike, path, creds) {
|
|
62
62
|
const withInMemory = AuthStorageLike;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { applyMergePatch } from "../config/merge-patch.js";
|
|
2
2
|
import { applyPiCompactionSettingsFromConfig } from "./pi-settings.js";
|
|
3
|
-
import
|
|
3
|
+
import syncFs from "node:fs";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { SettingsManager } from "@mariozechner/pi-coding-agent";
|
|
6
6
|
|
|
@@ -28,7 +28,7 @@ function buildEmbeddedPiSettingsSnapshot(params) {
|
|
|
28
28
|
}
|
|
29
29
|
function readJsonFile(filePath) {
|
|
30
30
|
try {
|
|
31
|
-
const raw =
|
|
31
|
+
const raw = syncFs.readFileSync(filePath, "utf8");
|
|
32
32
|
const parsed = JSON.parse(raw);
|
|
33
33
|
return parsed && typeof parsed === "object" && !Array.isArray(parsed) ? parsed : {};
|
|
34
34
|
} catch {
|
|
@@ -49,7 +49,7 @@ function loadEnabledBundlePiSettingsSnapshot(params) {
|
|
|
49
49
|
const servers = mcp.mcpServers && typeof mcp.mcpServers === "object" && !Array.isArray(mcp.mcpServers) ? mcp.mcpServers : undefined;
|
|
50
50
|
if (servers) {
|
|
51
51
|
const resolvedServers = {};
|
|
52
|
-
const resolvedRoot =
|
|
52
|
+
const resolvedRoot = syncFs.realpathSync.native?.(pluginRoot) ?? syncFs.realpathSync(pluginRoot);
|
|
53
53
|
for (const [name, server] of Object.entries(servers)) {
|
|
54
54
|
if (!server || typeof server !== "object" || Array.isArray(server)) {
|
|
55
55
|
resolvedServers[name] = server;
|
package/dist/agents/pi-tools.js
CHANGED
|
@@ -5,16 +5,16 @@ import { resolveAgentConfig } from "./agent-scope.js";
|
|
|
5
5
|
import { resolveGatewayMessageChannel } from "../utils/message-channel.js";
|
|
6
6
|
import { resolveToolProfilePolicy } from "./tool-policy-shared.js";
|
|
7
7
|
import { applyOwnerOnlyToolPolicy, collectExplicitAllowlist, mergeAlsoAllowPolicy } from "./tool-policy.js";
|
|
8
|
-
import { resolveImageSanitizationLimits } from "./image-sanitization.js";
|
|
9
8
|
import { listChannelAgentTools } from "./channel-tools.js";
|
|
10
9
|
import { resolveMergedSafeBinProfileFixtures } from "../infra/exec-safe-bin-runtime-policy.js";
|
|
10
|
+
import { resolveImageSanitizationLimits } from "./image-sanitization.js";
|
|
11
|
+
import { getSubagentDepthFromSessionStore } from "./subagent-depth.js";
|
|
11
12
|
import { getPluginToolMeta } from "../plugins/tools.js";
|
|
12
13
|
import { createApplyPatchTool } from "./apply-patch.js";
|
|
13
14
|
import { createExecTool } from "./bash-tools.exec.js";
|
|
14
15
|
import { createProcessTool } from "./bash-tools.process.js";
|
|
15
16
|
import "./bash-tools.js";
|
|
16
17
|
import { resolveWorkspaceRoot } from "./workspace-dir.js";
|
|
17
|
-
import { getSubagentDepthFromSessionStore } from "./subagent-depth.js";
|
|
18
18
|
import { createFasedAgentTools } from "./fased-tools.js";
|
|
19
19
|
import { wrapToolWithAbortSignal } from "./pi-tools.abort.js";
|
|
20
20
|
import { wrapToolWithBeforeToolCallHook } from "./pi-tools.before-tool-call.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { detectMime } from "../media/mime.js";
|
|
2
|
-
import { SafeOpenError, openFileWithinRoot, writeFileWithinRoot } from "../infra/fs-safe.js";
|
|
3
2
|
import { sanitizeToolResultImages } from "./tool-images.js";
|
|
3
|
+
import { SafeOpenError, openFileWithinRoot, writeFileWithinRoot } from "../infra/fs-safe.js";
|
|
4
4
|
import { assertSandboxPath } from "./sandbox-paths.js";
|
|
5
5
|
import { sniffMimeFromBase64 } from "../media/sniff-mime-from-base64.js";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
@@ -4,13 +4,13 @@ import { isToolAllowed } from "./tool-policy.js";
|
|
|
4
4
|
import { resolveSandboxBrowserDockerCreateConfig } from "./config.js";
|
|
5
5
|
import { DEFAULT_BROWSER_EVALUATE_ENABLED, DEFAULT_FASED_BROWSER_COLOR, DEFAULT_FASED_BROWSER_PROFILE_NAME } from "../../browser/constants.js";
|
|
6
6
|
import { resolveProfile } from "../../browser/config.js";
|
|
7
|
-
import { startBrowserBridgeServer, stopBrowserBridgeServer } from "../../browser/bridge-server.js";
|
|
8
|
-
import { BROWSER_BRIDGES } from "./browser-bridges.js";
|
|
9
7
|
import { computeSandboxBrowserConfigHash } from "./config-hash.js";
|
|
10
8
|
import { readBrowserRegistry, updateBrowserRegistry } from "./registry.js";
|
|
11
9
|
import { resolveSandboxAgentId, slugifySessionKey } from "./shared.js";
|
|
12
10
|
import { validateNetworkMode } from "./validate-sandbox-security.js";
|
|
13
11
|
import { buildSandboxCreateArgs, dockerContainerState, execDocker, readDockerContainerEnvVar, readDockerContainerLabel, readDockerPort } from "./docker.js";
|
|
12
|
+
import { startBrowserBridgeServer, stopBrowserBridgeServer } from "../../browser/bridge-server.js";
|
|
13
|
+
import { BROWSER_BRIDGES } from "./browser-bridges.js";
|
|
14
14
|
import { NOVNC_PASSWORD_ENV_KEY, buildNoVncDirectUrl, buildNoVncObserverTokenUrl, consumeNoVncObserverToken, generateNoVncPassword, isNoVncEnabled, issueNoVncObserverToken } from "./novnc-auth.js";
|
|
15
15
|
import crypto from "node:crypto";
|
|
16
16
|
|
|
@@ -8,10 +8,10 @@ import { DEFAULT_BROWSER_EVALUATE_ENABLED } from "../../browser/constants.js";
|
|
|
8
8
|
import { resolveSandboxRuntimeStatus } from "./runtime-status.js";
|
|
9
9
|
import { syncSkillsToWorkspace } from "../skills/workspace.js";
|
|
10
10
|
import "../skills.js";
|
|
11
|
-
import { ensureBrowserControlAuth, resolveBrowserControlAuth } from "../../browser/control-auth.js";
|
|
12
|
-
import { resolveSandboxBackend } from "./backend.js";
|
|
13
11
|
import { resolveSandboxScopeKey, resolveSandboxWorkspaceDir } from "./shared.js";
|
|
14
12
|
import { ensureSandboxContainer } from "./docker.js";
|
|
13
|
+
import { ensureBrowserControlAuth, resolveBrowserControlAuth } from "../../browser/control-auth.js";
|
|
14
|
+
import { resolveSandboxBackend } from "./backend.js";
|
|
15
15
|
import { ensureSandboxBrowser } from "./browser.js";
|
|
16
16
|
import { createSandboxFsBridge } from "./fs-bridge.js";
|
|
17
17
|
import { maybePruneSandboxes } from "./prune.js";
|
|
@@ -3,8 +3,8 @@ import { createSubsystemLogger } from "../../logging/subsystem.js";
|
|
|
3
3
|
import { formatCliCommand } from "../../cli/command-format.js";
|
|
4
4
|
import { DEFAULT_SANDBOX_IMAGE, SANDBOX_AGENT_WORKSPACE_MOUNT } from "./constants.js";
|
|
5
5
|
import { sanitizeEnvVars } from "./sanitize-env-vars.js";
|
|
6
|
-
import { computeSandboxConfigHash } from "./config-hash.js";
|
|
7
6
|
import { FASED_CLI_ENV_VALUE } from "../../infra/fased-exec-env.js";
|
|
7
|
+
import { computeSandboxConfigHash } from "./config-hash.js";
|
|
8
8
|
import { readRegistry, updateRegistry } from "./registry.js";
|
|
9
9
|
import { resolveSandboxAgentId, resolveSandboxScopeKey, slugifySessionKey } from "./shared.js";
|
|
10
10
|
import { validateSandboxSecurity } from "./validate-sandbox-security.js";
|
|
@@ -3,7 +3,7 @@ import { PATH_ALIAS_POLICIES } from "../../infra/path-alias-guards.js";
|
|
|
3
3
|
import { execDockerRaw } from "./docker.js";
|
|
4
4
|
import { isPathInsideContainerRoot, normalizeContainerPath } from "./path-utils.js";
|
|
5
5
|
import { buildSandboxFsMounts, resolveSandboxFsPathWithMounts } from "./fs-paths.js";
|
|
6
|
-
import
|
|
6
|
+
import syncFs from "node:fs";
|
|
7
7
|
|
|
8
8
|
//#region src/agents/sandbox/fs-bridge.ts
|
|
9
9
|
function createSandboxFsBridge(params) {
|
|
@@ -160,7 +160,7 @@ var SandboxFsBridgeImpl = class {
|
|
|
160
160
|
throw guarded.error instanceof Error ? guarded.error : new Error(`Sandbox boundary checks failed; cannot ${options.action}: ${target.containerPath}`);
|
|
161
161
|
}
|
|
162
162
|
} else {
|
|
163
|
-
|
|
163
|
+
syncFs.closeSync(guarded.fd);
|
|
164
164
|
}
|
|
165
165
|
const canonicalContainerPath = await this.resolveCanonicalContainerPath({
|
|
166
166
|
containerPath: target.containerPath,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { loadConfig } from "../../config/io.js";
|
|
2
2
|
import "../../config/config.js";
|
|
3
3
|
import { resolveSandboxConfigForAgent } from "./config.js";
|
|
4
|
-
import { stopBrowserBridgeServer } from "../../browser/bridge-server.js";
|
|
5
|
-
import { BROWSER_BRIDGES } from "./browser-bridges.js";
|
|
6
4
|
import { readBrowserRegistry, readRegistry, removeBrowserRegistryEntry, removeRegistryEntry } from "./registry.js";
|
|
7
5
|
import { resolveSandboxAgentId } from "./shared.js";
|
|
8
6
|
import { dockerContainerState, execDocker } from "./docker.js";
|
|
7
|
+
import { stopBrowserBridgeServer } from "../../browser/bridge-server.js";
|
|
8
|
+
import { BROWSER_BRIDGES } from "./browser-bridges.js";
|
|
9
9
|
|
|
10
10
|
//#region src/agents/sandbox/manage.ts
|
|
11
11
|
async function listSandboxRegistryItems(params) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defaultRuntime } from "../../runtime.js";
|
|
2
|
-
import { stopBrowserBridgeServer } from "../../browser/bridge-server.js";
|
|
3
|
-
import { BROWSER_BRIDGES } from "./browser-bridges.js";
|
|
4
2
|
import { readBrowserRegistry, readRegistry, removeBrowserRegistryEntry, removeRegistryEntry } from "./registry.js";
|
|
5
3
|
import { dockerContainerState, execDocker } from "./docker.js";
|
|
4
|
+
import { stopBrowserBridgeServer } from "../../browser/bridge-server.js";
|
|
5
|
+
import { BROWSER_BRIDGES } from "./browser-bridges.js";
|
|
6
6
|
|
|
7
7
|
//#region src/agents/sandbox/prune.ts
|
|
8
8
|
let lastPruneAtMs = 0;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import syncFs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import fs
|
|
3
|
+
import fs from "node:fs/promises";
|
|
4
4
|
|
|
5
5
|
//#region src/agents/session-dirs.ts
|
|
6
6
|
function mapAgentSessionDirs(agentsDir, entries) {
|
|
@@ -9,7 +9,7 @@ function mapAgentSessionDirs(agentsDir, entries) {
|
|
|
9
9
|
async function resolveAgentSessionDirsFromAgentsDir(agentsDir) {
|
|
10
10
|
let entries = [];
|
|
11
11
|
try {
|
|
12
|
-
entries = await fs
|
|
12
|
+
entries = await fs.readdir(agentsDir, { withFileTypes: true });
|
|
13
13
|
} catch (err) {
|
|
14
14
|
const code = err.code;
|
|
15
15
|
if (code === "ENOENT") {
|
|
@@ -22,7 +22,7 @@ async function resolveAgentSessionDirsFromAgentsDir(agentsDir) {
|
|
|
22
22
|
function resolveAgentSessionDirsFromAgentsDirSync(agentsDir) {
|
|
23
23
|
let entries = [];
|
|
24
24
|
try {
|
|
25
|
-
entries =
|
|
25
|
+
entries = syncFs.readdirSync(agentsDir, { withFileTypes: true });
|
|
26
26
|
} catch (err) {
|
|
27
27
|
const code = err.code;
|
|
28
28
|
if (code === "ENOENT") {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { isPidAlive } from "../shared/pid-alive.js";
|
|
2
2
|
import { resolveProcessScopedMap } from "../shared/process-scoped-map.js";
|
|
3
|
-
import
|
|
3
|
+
import syncFs from "node:fs";
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import fs
|
|
5
|
+
import fs from "node:fs/promises";
|
|
6
6
|
|
|
7
7
|
//#region src/agents/session-write-lock.ts
|
|
8
8
|
const CLEANUP_SIGNALS = [
|
|
@@ -84,7 +84,7 @@ async function releaseHeldLock(normalizedSessionFile, held, opts = {}) {
|
|
|
84
84
|
await held.handle.close();
|
|
85
85
|
} catch {}
|
|
86
86
|
try {
|
|
87
|
-
await fs
|
|
87
|
+
await fs.rm(held.lockPath, { force: true });
|
|
88
88
|
} catch {}
|
|
89
89
|
})();
|
|
90
90
|
try {
|
|
@@ -106,7 +106,7 @@ function releaseAllLocksSync() {
|
|
|
106
106
|
}
|
|
107
107
|
} catch {}
|
|
108
108
|
try {
|
|
109
|
-
|
|
109
|
+
syncFs.rmSync(held.lockPath, { force: true });
|
|
110
110
|
} catch {}
|
|
111
111
|
HELD_LOCKS.delete(sessionFile);
|
|
112
112
|
}
|
|
@@ -175,7 +175,7 @@ function registerCleanupHandlers() {
|
|
|
175
175
|
}
|
|
176
176
|
async function readLockPayload(lockPath) {
|
|
177
177
|
try {
|
|
178
|
-
const raw = await fs
|
|
178
|
+
const raw = await fs.readFile(lockPath, "utf8");
|
|
179
179
|
const parsed = JSON.parse(raw);
|
|
180
180
|
const payload = {};
|
|
181
181
|
if (typeof parsed.pid === "number") {
|
|
@@ -226,7 +226,7 @@ async function shouldReclaimContendedLockFile(lockPath, details, staleMs, nowMs)
|
|
|
226
226
|
return true;
|
|
227
227
|
}
|
|
228
228
|
try {
|
|
229
|
-
const stat = await fs
|
|
229
|
+
const stat = await fs.stat(lockPath);
|
|
230
230
|
const ageMs = Math.max(0, nowMs - stat.mtimeMs);
|
|
231
231
|
return ageMs > staleMs;
|
|
232
232
|
} catch (error) {
|
|
@@ -241,7 +241,7 @@ async function cleanStaleLockFiles(params) {
|
|
|
241
241
|
const nowMs = params.nowMs ?? Date.now();
|
|
242
242
|
let entries = [];
|
|
243
243
|
try {
|
|
244
|
-
entries = await fs
|
|
244
|
+
entries = await fs.readdir(sessionsDir, { withFileTypes: true });
|
|
245
245
|
} catch (err) {
|
|
246
246
|
const code = err.code;
|
|
247
247
|
if (code === "ENOENT") {
|
|
@@ -265,7 +265,7 @@ async function cleanStaleLockFiles(params) {
|
|
|
265
265
|
removed: false
|
|
266
266
|
};
|
|
267
267
|
if (lockInfo.stale && removeStale) {
|
|
268
|
-
await fs
|
|
268
|
+
await fs.rm(lockPath, { force: true });
|
|
269
269
|
lockInfo.removed = true;
|
|
270
270
|
cleaned.push(lockInfo);
|
|
271
271
|
params.log?.warn?.(`removed stale session lock: ${lockPath} (${lockInfo.staleReasons.join(", ") || "unknown"})`);
|
|
@@ -284,10 +284,10 @@ async function acquireSessionWriteLock(params) {
|
|
|
284
284
|
const maxHoldMs = resolvePositiveMs(params.maxHoldMs, DEFAULT_MAX_HOLD_MS);
|
|
285
285
|
const sessionFile = path.resolve(params.sessionFile);
|
|
286
286
|
const sessionDir = path.dirname(sessionFile);
|
|
287
|
-
await fs
|
|
287
|
+
await fs.mkdir(sessionDir, { recursive: true });
|
|
288
288
|
let normalizedDir = sessionDir;
|
|
289
289
|
try {
|
|
290
|
-
normalizedDir = await fs
|
|
290
|
+
normalizedDir = await fs.realpath(sessionDir);
|
|
291
291
|
} catch {}
|
|
292
292
|
const normalizedSessionFile = path.join(normalizedDir, path.basename(sessionFile));
|
|
293
293
|
const lockPath = `${normalizedSessionFile}.lock`;
|
|
@@ -305,7 +305,7 @@ async function acquireSessionWriteLock(params) {
|
|
|
305
305
|
attempt += 1;
|
|
306
306
|
let handle = null;
|
|
307
307
|
try {
|
|
308
|
-
handle = await fs
|
|
308
|
+
handle = await fs.open(lockPath, "wx");
|
|
309
309
|
const createdAt = new Date().toISOString();
|
|
310
310
|
await handle.writeFile(JSON.stringify({
|
|
311
311
|
pid: process.pid,
|
|
@@ -328,7 +328,7 @@ async function acquireSessionWriteLock(params) {
|
|
|
328
328
|
await handle.close();
|
|
329
329
|
} catch {}
|
|
330
330
|
try {
|
|
331
|
-
await fs
|
|
331
|
+
await fs.rm(lockPath, { force: true });
|
|
332
332
|
} catch {}
|
|
333
333
|
}
|
|
334
334
|
const code = err.code;
|
|
@@ -339,7 +339,7 @@ async function acquireSessionWriteLock(params) {
|
|
|
339
339
|
const nowMs = Date.now();
|
|
340
340
|
const inspected = inspectLockPayload(payload, staleMs, nowMs);
|
|
341
341
|
if (await shouldReclaimContendedLockFile(lockPath, inspected, staleMs, nowMs)) {
|
|
342
|
-
await fs
|
|
342
|
+
await fs.rm(lockPath, { force: true });
|
|
343
343
|
continue;
|
|
344
344
|
}
|
|
345
345
|
const delay = Math.min(1e3, 50 * attempt);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import syncFs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { spawn } from "node:child_process";
|
|
4
4
|
|
|
@@ -6,13 +6,13 @@ import { spawn } from "node:child_process";
|
|
|
6
6
|
function resolvePowerShellPath() {
|
|
7
7
|
const programFiles = process.env.ProgramFiles || process.env.PROGRAMFILES || "C:\\Program Files";
|
|
8
8
|
const pwsh7 = path.join(programFiles, "PowerShell", "7", "pwsh.exe");
|
|
9
|
-
if (
|
|
9
|
+
if (syncFs.existsSync(pwsh7)) {
|
|
10
10
|
return pwsh7;
|
|
11
11
|
}
|
|
12
12
|
const programW6432 = process.env.ProgramW6432;
|
|
13
13
|
if (programW6432 && programW6432 !== programFiles) {
|
|
14
14
|
const pwsh7Alt = path.join(programW6432, "PowerShell", "7", "pwsh.exe");
|
|
15
|
-
if (
|
|
15
|
+
if (syncFs.existsSync(pwsh7Alt)) {
|
|
16
16
|
return pwsh7Alt;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
@@ -23,7 +23,7 @@ function resolvePowerShellPath() {
|
|
|
23
23
|
const systemRoot = process.env.SystemRoot || process.env.WINDIR;
|
|
24
24
|
if (systemRoot) {
|
|
25
25
|
const candidate = path.join(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe");
|
|
26
|
-
if (
|
|
26
|
+
if (syncFs.existsSync(candidate)) {
|
|
27
27
|
return candidate;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
@@ -73,7 +73,7 @@ function resolveShellFromPath(name) {
|
|
|
73
73
|
for (const entry of entries) {
|
|
74
74
|
const candidate = path.join(entry, name);
|
|
75
75
|
try {
|
|
76
|
-
|
|
76
|
+
syncFs.accessSync(candidate, syncFs.constants.X_OK);
|
|
77
77
|
return candidate;
|
|
78
78
|
} catch {}
|
|
79
79
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { resolveFasedAgentPackageRootSync } from "../../infra/fased-root.js";
|
|
2
2
|
import { fileURLToPath } from "node:url";
|
|
3
|
-
import
|
|
3
|
+
import syncFs from "node:fs";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
|
|
6
6
|
//#region src/agents/skills/bundled-dir.ts
|
|
7
7
|
function looksLikeSkillsDir(dir) {
|
|
8
8
|
try {
|
|
9
|
-
const entries =
|
|
9
|
+
const entries = syncFs.readdirSync(dir, { withFileTypes: true });
|
|
10
10
|
for (const entry of entries) {
|
|
11
11
|
if (entry.name.startsWith(".")) {
|
|
12
12
|
continue;
|
|
@@ -16,7 +16,7 @@ function looksLikeSkillsDir(dir) {
|
|
|
16
16
|
return true;
|
|
17
17
|
}
|
|
18
18
|
if (entry.isDirectory()) {
|
|
19
|
-
if (
|
|
19
|
+
if (syncFs.existsSync(path.join(fullPath, "SKILL.md"))) {
|
|
20
20
|
return true;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -35,7 +35,7 @@ function resolveBundledSkillsDir(opts = {}) {
|
|
|
35
35
|
const execPath = opts.execPath ?? process.execPath;
|
|
36
36
|
const execDir = path.dirname(execPath);
|
|
37
37
|
const sibling = path.join(execDir, "skills");
|
|
38
|
-
if (
|
|
38
|
+
if (syncFs.existsSync(sibling)) {
|
|
39
39
|
return sibling;
|
|
40
40
|
}
|
|
41
41
|
} catch {}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { openVerifiedFileSync } from "../../infra/safe-open-sync.js";
|
|
2
2
|
import { parseFrontmatter, resolveSkillInvocationPolicy } from "./frontmatter.js";
|
|
3
3
|
import { createSyntheticSourceInfo } from "./skill-contract.js";
|
|
4
|
-
import
|
|
4
|
+
import syncFs from "node:fs";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
|
|
7
7
|
//#region src/agents/skills/local-loader.ts
|
|
@@ -22,9 +22,9 @@ function readSkillFileSync(params) {
|
|
|
22
22
|
if (!isPathWithinRoot(params.rootRealPath, opened.path)) {
|
|
23
23
|
return null;
|
|
24
24
|
}
|
|
25
|
-
return
|
|
25
|
+
return syncFs.readFileSync(opened.fd, "utf8");
|
|
26
26
|
} finally {
|
|
27
|
-
|
|
27
|
+
syncFs.closeSync(opened.fd);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
function loadSingleSkillDirectory(params) {
|
|
@@ -69,7 +69,7 @@ function loadSingleSkillDirectory(params) {
|
|
|
69
69
|
}
|
|
70
70
|
function listCandidateSkillDirs(dir) {
|
|
71
71
|
try {
|
|
72
|
-
return
|
|
72
|
+
return syncFs.readdirSync(dir, { withFileTypes: true }).filter((entry) => entry.isDirectory() && !entry.name.startsWith(".") && entry.name !== "node_modules").map((entry) => path.join(dir, entry.name)).sort((left, right) => left.localeCompare(right));
|
|
73
73
|
} catch {
|
|
74
74
|
return [];
|
|
75
75
|
}
|
|
@@ -78,7 +78,7 @@ function loadSkillsFromDirSafe(params) {
|
|
|
78
78
|
const rootDir = path.resolve(params.dir);
|
|
79
79
|
let rootRealPath;
|
|
80
80
|
try {
|
|
81
|
-
rootRealPath =
|
|
81
|
+
rootRealPath = syncFs.realpathSync(rootDir);
|
|
82
82
|
} catch {
|
|
83
83
|
return { skills: [] };
|
|
84
84
|
}
|
|
@@ -102,7 +102,7 @@ function loadSkillsFromDirSafe(params) {
|
|
|
102
102
|
function readSkillFrontmatterSafe(params) {
|
|
103
103
|
let rootRealPath;
|
|
104
104
|
try {
|
|
105
|
-
rootRealPath =
|
|
105
|
+
rootRealPath = syncFs.realpathSync(path.resolve(params.rootDir));
|
|
106
106
|
} catch {
|
|
107
107
|
return null;
|
|
108
108
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createSubsystemLogger } from "../../logging/subsystem.js";
|
|
2
2
|
import { normalizePluginsConfig, resolveEffectiveEnableState, resolveMemorySlotDecision } from "../../plugins/config-state.js";
|
|
3
3
|
import { loadPluginManifestRegistry } from "../../plugins/manifest-registry.js";
|
|
4
|
-
import
|
|
4
|
+
import syncFs from "node:fs";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
|
|
7
7
|
//#region src/agents/skills/plugin-skills.ts
|
|
@@ -58,7 +58,7 @@ function resolvePluginSkillDirs(params) {
|
|
|
58
58
|
continue;
|
|
59
59
|
}
|
|
60
60
|
const candidate = path.resolve(record.rootDir, trimmed);
|
|
61
|
-
if (!
|
|
61
|
+
if (!syncFs.existsSync(candidate)) {
|
|
62
62
|
log.warn(`plugin skill path not found (${record.id}): ${candidate}`);
|
|
63
63
|
continue;
|
|
64
64
|
}
|
|
@@ -8,13 +8,13 @@ import { shouldIncludeSkill } from "./config.js";
|
|
|
8
8
|
import { resolveBundledSkillsDir } from "./bundled-dir.js";
|
|
9
9
|
import { resolvePluginSkillDirs } from "./plugin-skills.js";
|
|
10
10
|
import { serializeByKey } from "./serialize.js";
|
|
11
|
-
import
|
|
11
|
+
import syncFs from "node:fs";
|
|
12
12
|
import os from "node:os";
|
|
13
13
|
import path from "node:path";
|
|
14
14
|
import { formatSkillsForPrompt, loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
|
|
15
15
|
|
|
16
16
|
//#region src/agents/skills/workspace.ts
|
|
17
|
-
const fsp =
|
|
17
|
+
const fsp = syncFs.promises;
|
|
18
18
|
const skillsLogger = createSubsystemLogger("skills");
|
|
19
19
|
const skillCommandDebugOnce = new Set();
|
|
20
20
|
/**
|
|
@@ -84,10 +84,10 @@ function isPathWithinRoot(candidatePath, rootPath) {
|
|
|
84
84
|
let candidate = path.resolve(candidatePath);
|
|
85
85
|
let root = path.resolve(rootPath);
|
|
86
86
|
try {
|
|
87
|
-
candidate =
|
|
87
|
+
candidate = syncFs.realpathSync.native(candidate);
|
|
88
88
|
} catch {}
|
|
89
89
|
try {
|
|
90
|
-
root =
|
|
90
|
+
root = syncFs.realpathSync.native(root);
|
|
91
91
|
} catch {}
|
|
92
92
|
const relative = path.relative(root, candidate);
|
|
93
93
|
return relative === "" || !relative.startsWith("..") && !path.isAbsolute(relative);
|
|
@@ -135,7 +135,7 @@ function resolveSkillsLimits(config) {
|
|
|
135
135
|
}
|
|
136
136
|
function listChildDirectories(dir) {
|
|
137
137
|
try {
|
|
138
|
-
const entries =
|
|
138
|
+
const entries = syncFs.readdirSync(dir, { withFileTypes: true });
|
|
139
139
|
const dirs = [];
|
|
140
140
|
for (const entry of entries) {
|
|
141
141
|
if (entry.name.startsWith(".")) continue;
|
|
@@ -147,7 +147,7 @@ function listChildDirectories(dir) {
|
|
|
147
147
|
}
|
|
148
148
|
if (entry.isSymbolicLink()) {
|
|
149
149
|
try {
|
|
150
|
-
if (
|
|
150
|
+
if (syncFs.statSync(fullPath).isDirectory()) {
|
|
151
151
|
dirs.push(entry.name);
|
|
152
152
|
}
|
|
153
153
|
} catch {}
|
|
@@ -161,7 +161,7 @@ function listChildDirectories(dir) {
|
|
|
161
161
|
function resolveNestedSkillsRoot(dir, opts) {
|
|
162
162
|
const nested = path.join(dir, "skills");
|
|
163
163
|
try {
|
|
164
|
-
if (!
|
|
164
|
+
if (!syncFs.existsSync(nested) || !syncFs.statSync(nested).isDirectory()) {
|
|
165
165
|
return { baseDir: dir };
|
|
166
166
|
}
|
|
167
167
|
} catch {
|
|
@@ -172,7 +172,7 @@ function resolveNestedSkillsRoot(dir, opts) {
|
|
|
172
172
|
const toScan = scanLimit === 0 ? [] : nestedDirs.slice(0, Math.min(nestedDirs.length, scanLimit));
|
|
173
173
|
for (const name of toScan) {
|
|
174
174
|
const skillMd = path.join(nested, name, "SKILL.md");
|
|
175
|
-
if (
|
|
175
|
+
if (syncFs.existsSync(skillMd)) {
|
|
176
176
|
return {
|
|
177
177
|
baseDir: nested,
|
|
178
178
|
note: `Detected nested skills root at ${nested}`
|
|
@@ -199,9 +199,9 @@ function loadSkillEntries(workspaceDir, opts) {
|
|
|
199
199
|
const resolved = resolveNestedSkillsRoot(params.dir, { maxEntriesToScan: limits.maxCandidatesPerRoot });
|
|
200
200
|
const baseDir = resolved.baseDir;
|
|
201
201
|
const rootSkillMd = path.join(baseDir, "SKILL.md");
|
|
202
|
-
if (
|
|
202
|
+
if (syncFs.existsSync(rootSkillMd)) {
|
|
203
203
|
try {
|
|
204
|
-
const size =
|
|
204
|
+
const size = syncFs.statSync(rootSkillMd).size;
|
|
205
205
|
if (size > limits.maxSkillFileBytes) {
|
|
206
206
|
skillsLogger.warn("Skipping skills root due to oversized SKILL.md.", {
|
|
207
207
|
dir: baseDir,
|
|
@@ -244,11 +244,11 @@ function loadSkillEntries(workspaceDir, opts) {
|
|
|
244
244
|
for (const name of limitedChildren) {
|
|
245
245
|
const skillDir = path.join(baseDir, name);
|
|
246
246
|
const skillMd = path.join(skillDir, "SKILL.md");
|
|
247
|
-
if (!
|
|
247
|
+
if (!syncFs.existsSync(skillMd)) {
|
|
248
248
|
continue;
|
|
249
249
|
}
|
|
250
250
|
try {
|
|
251
|
-
const size =
|
|
251
|
+
const size = syncFs.statSync(skillMd).size;
|
|
252
252
|
if (size > limits.maxSkillFileBytes) {
|
|
253
253
|
skillsLogger.warn("Skipping skill due to oversized SKILL.md.", {
|
|
254
254
|
skill: name,
|
|
@@ -336,7 +336,7 @@ function loadSkillEntries(workspaceDir, opts) {
|
|
|
336
336
|
const skillEntries = Array.from(merged.values()).map((skill) => {
|
|
337
337
|
let frontmatter = {};
|
|
338
338
|
try {
|
|
339
|
-
const raw =
|
|
339
|
+
const raw = syncFs.readFileSync(skill.filePath, "utf-8");
|
|
340
340
|
frontmatter = parseFrontmatter(raw);
|
|
341
341
|
} catch {}
|
|
342
342
|
return {
|
|
@@ -8,7 +8,7 @@ import { hasBinary } from "../shared/config-eval.js";
|
|
|
8
8
|
import "./skills.js";
|
|
9
9
|
import { formatInstallFailureMessage } from "./skills-install-output.js";
|
|
10
10
|
import { resolveSkillToolsRootDir } from "./skills/tools-dir.js";
|
|
11
|
-
import
|
|
11
|
+
import syncFs from "node:fs";
|
|
12
12
|
import path from "node:path";
|
|
13
13
|
import { createHash } from "node:crypto";
|
|
14
14
|
import { Readable } from "node:stream";
|
|
@@ -85,11 +85,11 @@ async function downloadFile(url, destPath, timeoutMs) {
|
|
|
85
85
|
throw new Error(`Download failed (${response.status} ${response.statusText})`);
|
|
86
86
|
}
|
|
87
87
|
await ensureDir(path.dirname(destPath));
|
|
88
|
-
const file =
|
|
88
|
+
const file = syncFs.createWriteStream(destPath);
|
|
89
89
|
const body = response.body;
|
|
90
90
|
const readable = isNodeReadableStream(body) ? body : Readable.fromWeb(body);
|
|
91
91
|
await pipeline(readable, file);
|
|
92
|
-
const stat = await
|
|
92
|
+
const stat = await syncFs.promises.stat(destPath);
|
|
93
93
|
return { bytes: stat.size };
|
|
94
94
|
} finally {
|
|
95
95
|
await release();
|
|
@@ -100,7 +100,7 @@ function normalizeHex(value) {
|
|
|
100
100
|
}
|
|
101
101
|
async function digestFile(filePath, algorithm, encoding) {
|
|
102
102
|
const hash = createHash(algorithm);
|
|
103
|
-
await pipeline(
|
|
103
|
+
await pipeline(syncFs.createReadStream(filePath), hash);
|
|
104
104
|
return hash.digest(encoding);
|
|
105
105
|
}
|
|
106
106
|
async function verifyDownloadIntegrity(archivePath, spec) {
|
|
@@ -183,7 +183,7 @@ async function extractArchive(params) {
|
|
|
183
183
|
};
|
|
184
184
|
}
|
|
185
185
|
const readArchiveFingerprint = async () => {
|
|
186
|
-
const stat = await
|
|
186
|
+
const stat = await syncFs.promises.stat(archivePath);
|
|
187
187
|
return {
|
|
188
188
|
size: stat.size,
|
|
189
189
|
mtimeMs: stat.mtimeMs
|
|
@@ -196,7 +196,7 @@ async function extractArchive(params) {
|
|
|
196
196
|
for (const part of parts) {
|
|
197
197
|
current = path.join(current, part);
|
|
198
198
|
try {
|
|
199
|
-
const stat = await
|
|
199
|
+
const stat = await syncFs.promises.lstat(current);
|
|
200
200
|
if (stat.isSymbolicLink()) {
|
|
201
201
|
throw new Error(`archive entry traverses symlink in destination: ${originalPath}`);
|
|
202
202
|
}
|
|
@@ -352,7 +352,7 @@ async function installDownloadSpec(params) {
|
|
|
352
352
|
try {
|
|
353
353
|
targetDir = resolveDownloadTargetDir(entry, spec);
|
|
354
354
|
await ensureDir(targetDir);
|
|
355
|
-
const stat = await
|
|
355
|
+
const stat = await syncFs.promises.lstat(targetDir);
|
|
356
356
|
if (stat.isSymbolicLink()) {
|
|
357
357
|
throw new Error(`targetDir is a symlink: ${targetDir}`);
|
|
358
358
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { hasBinary } from "../shared/config-eval.js";
|
|
2
2
|
import "./skills.js";
|
|
3
3
|
import { resolveBrewExecutable } from "../infra/brew.js";
|
|
4
|
-
import
|
|
4
|
+
import syncFs from "node:fs";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
|
|
7
7
|
//#region src/agents/skills-install-plan.ts
|
|
@@ -153,7 +153,7 @@ function candidateSkillBinPaths(bin) {
|
|
|
153
153
|
function findSkillBinaryOutsidePath(bin) {
|
|
154
154
|
for (const candidate of candidateSkillBinPaths(bin)) {
|
|
155
155
|
try {
|
|
156
|
-
if (
|
|
156
|
+
if (syncFs.existsSync(candidate)) {
|
|
157
157
|
return candidate;
|
|
158
158
|
}
|
|
159
159
|
} catch {}
|
|
@@ -8,7 +8,7 @@ import { resolveBrewExecutable } from "../infra/brew.js";
|
|
|
8
8
|
import { summarizeSkillInstallTrust } from "./skills-install-trust.js";
|
|
9
9
|
import { formatInstallFailureMessage } from "./skills-install-output.js";
|
|
10
10
|
import { installDownloadSpec } from "./skills-install-download.js";
|
|
11
|
-
import
|
|
11
|
+
import syncFs from "node:fs";
|
|
12
12
|
import path from "node:path";
|
|
13
13
|
|
|
14
14
|
//#region src/agents/skills-install.ts
|
|
@@ -236,7 +236,7 @@ function candidateBinPaths(bin) {
|
|
|
236
236
|
function findBinaryOutsidePath(bin) {
|
|
237
237
|
for (const candidate of candidateBinPaths(bin)) {
|
|
238
238
|
try {
|
|
239
|
-
if (
|
|
239
|
+
if (syncFs.existsSync(candidate)) {
|
|
240
240
|
return candidate;
|
|
241
241
|
}
|
|
242
242
|
} catch {}
|