{"_id":"@amirtechai/xclaude","_rev":"13-2d165ea9151ddb53c6e64613ce07b68f","name":"@amirtechai/xclaude","dist-tags":{"latest":"0.2.5"},"versions":{"2026.3.24":{"name":"@amirtechai/xclaude","version":"2026.3.24","keywords":[],"author":"","license":"MIT","_id":"@amirtechai/xclaude@2026.3.24","maintainers":[{"name":"amirtechai","email":"amirtech.aix@gmail.com"}],"homepage":"https://xclaw.amirtech.ai","bugs":{"url":"https://github.com/amirtechai/xclaw/issues"},"bin":{"xclaw":"xclaw.mjs"},"dist":{"shasum":"28a0ebc4cc3abfc33b0f431bcf4b2dbb0f7f047e","tarball":"https://registry.npmjs.org/@amirtechai/xclaude/-/xclaude-2026.3.24.tgz","fileCount":14941,"integrity":"sha512-n+xjRoWDTlniJakVVk0tMMM7M0F+IBNRHnJK9qEtcpiap09uf9IiG+GqgnlWtKmYkLwJ8a2QAa2lC3efIoWMLg==","signatures":[{"sig":"MEQCIE1vPwRUoBUKERv2yPqGuBEfjeytXg3xefLbNzCwjRZhAiAPgCTe5zAUUbF+uEAJwCIUT8fforfgXqSS6C+BIw5IrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187200638},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.12","hono":"4.12.8","yauzl":"3.2.1","request":"npm:@cypress/request@3.0.10","file-type":"21.3.4","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.5.7","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"packageExtensions":{"@mariozechner/pi-coding-agent":{"dependencies":{"strip-ansi":"^7.2.0"}}},"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@tloncorp/api","@tloncorp/tlon-skill","@whiskeysockets/baileys","authenticate-pam","esbuild","node-llama-cpp","protobufjs","sharp"],"ignoredBuiltDependencies":["@discordjs/opus","koffi"]},"type":"module","engines":{"node":">=22.16.0"},"exports":{".":"./dist/index.js","./cli-entry":"./xclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./extension-api":"./dist/extensionAPI.js","./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/setup":{"types":"./dist/plugin-sdk/setup.d.ts","default":"./dist/plugin-sdk/setup.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/speech":{"types":"./dist/plugin-sdk/speech.d.ts","default":"./dist/plugin-sdk/speech.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/routing":{"types":"./dist/plugin-sdk/routing.d.ts","default":"./dist/plugin-sdk/routing.js"},"./plugin-sdk/runtime":{"types":"./dist/plugin-sdk/runtime.d.ts","default":"./dist/plugin-sdk/runtime.js"},"./plugin-sdk/sandbox":{"types":"./dist/plugin-sdk/sandbox.d.ts","default":"./dist/plugin-sdk/sandbox.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","default":"./dist/plugin-sdk/testing.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/line-core":{"types":"./dist/plugin-sdk/line-core.d.ts","default":"./dist/plugin-sdk/line-core.js"},"./plugin-sdk/temp-path":{"types":"./dist/plugin-sdk/temp-path.d.ts","default":"./dist/plugin-sdk/temp-path.js"},"./plugin-sdk/tool-send":{"types":"./dist/plugin-sdk/tool-send.d.ts","default":"./dist/plugin-sdk/tool-send.js"},"./plugin-sdk/web-media":{"types":"./dist/plugin-sdk/web-media.d.ts","default":"./dist/plugin-sdk/web-media.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/allow-from":{"types":"./dist/plugin-sdk/allow-from.d.ts","default":"./dist/plugin-sdk/allow-from.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/json-store":{"types":"./dist/plugin-sdk/json-store.d.ts","default":"./dist/plugin-sdk/json-store.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/slack-core":{"types":"./dist/plugin-sdk/slack-core.d.ts","default":"./dist/plugin-sdk/slack-core.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/acp-runtime":{"types":"./dist/plugin-sdk/acp-runtime.d.ts","default":"./dist/plugin-sdk/acp-runtime.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/cli-runtime":{"types":"./dist/plugin-sdk/cli-runtime.d.ts","default":"./dist/plugin-sdk/cli-runtime.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/request-url":{"types":"./dist/plugin-sdk/request-url.d.ts","default":"./dist/plugin-sdk/request-url.js"},"./plugin-sdk/runtime-env":{"types":"./dist/plugin-sdk/runtime-env.d.ts","default":"./dist/plugin-sdk/runtime-env.js"},"./plugin-sdk/setup-tools":{"types":"./dist/plugin-sdk/setup-tools.d.ts","default":"./dist/plugin-sdk/setup-tools.js"},"./plugin-sdk/speech-core":{"types":"./dist/plugin-sdk/speech-core.d.ts","default":"./dist/plugin-sdk/speech-core.js"},"./plugin-sdk/state-paths":{"types":"./dist/plugin-sdk/state-paths.d.ts","default":"./dist/plugin-sdk/state-paths.js"},"./plugin-sdk/command-auth":{"types":"./dist/plugin-sdk/command-auth.d.ts","default":"./dist/plugin-sdk/command-auth.js"},"./plugin-sdk/discord-core":{"types":"./dist/plugin-sdk/discord-core.d.ts","default":"./dist/plugin-sdk/discord-core.js"},"./plugin-sdk/group-access":{"types":"./dist/plugin-sdk/group-access.d.ts","default":"./dist/plugin-sdk/group-access.js"},"./plugin-sdk/hook-runtime":{"types":"./dist/plugin-sdk/hook-runtime.d.ts","default":"./dist/plugin-sdk/hook-runtime.js"},"./plugin-sdk/lazy-runtime":{"types":"./dist/plugin-sdk/lazy-runtime.d.ts","default":"./dist/plugin-sdk/lazy-runtime.js"},"./plugin-sdk/line-runtime":{"types":"./dist/plugin-sdk/line-runtime.d.ts","default":"./dist/plugin-sdk/line-runtime.js"},"./plugin-sdk/ollama-setup":{"types":"./dist/plugin-sdk/ollama-setup.d.ts","default":"./dist/plugin-sdk/ollama-setup.js"},"./plugin-sdk/plugin-entry":{"types":"./dist/plugin-sdk/plugin-entry.d.ts","default":"./dist/plugin-sdk/plugin-entry.js"},"./plugin-sdk/secret-input":{"types":"./dist/plugin-sdk/secret-input.d.ts","default":"./dist/plugin-sdk/secret-input.js"},"./plugin-sdk/ssrf-runtime":{"types":"./dist/plugin-sdk/ssrf-runtime.d.ts","default":"./dist/plugin-sdk/ssrf-runtime.js"},"./plugin-sdk/text-runtime":{"types":"./dist/plugin-sdk/text-runtime.d.ts","default":"./dist/plugin-sdk/text-runtime.js"},"./plugin-sdk/webhook-path":{"types":"./dist/plugin-sdk/webhook-path.d.ts","default":"./dist/plugin-sdk/webhook-path.js"},"./plugin-sdk/agent-runtime":{"types":"./dist/plugin-sdk/agent-runtime.d.ts","default":"./dist/plugin-sdk/agent-runtime.js"},"./plugin-sdk/boolean-param":{"types":"./dist/plugin-sdk/boolean-param.d.ts","default":"./dist/plugin-sdk/boolean-param.js"},"./plugin-sdk/channel-setup":{"types":"./dist/plugin-sdk/channel-setup.d.ts","default":"./dist/plugin-sdk/channel-setup.js"},"./plugin-sdk/imessage-core":{"types":"./dist/plugin-sdk/imessage-core.d.ts","default":"./dist/plugin-sdk/imessage-core.js"},"./plugin-sdk/infra-runtime":{"types":"./dist/plugin-sdk/infra-runtime.d.ts","default":"./dist/plugin-sdk/infra-runtime.js"},"./plugin-sdk/media-runtime":{"types":"./dist/plugin-sdk/media-runtime.d.ts","default":"./dist/plugin-sdk/media-runtime.js"},"./plugin-sdk/param-readers":{"types":"./dist/plugin-sdk/param-readers.d.ts","default":"./dist/plugin-sdk/param-readers.js"},"./plugin-sdk/provider-auth":{"types":"./dist/plugin-sdk/provider-auth.d.ts","default":"./dist/plugin-sdk/provider-auth.js"},"./plugin-sdk/reply-history":{"types":"./dist/plugin-sdk/reply-history.d.ts","default":"./dist/plugin-sdk/reply-history.js"},"./plugin-sdk/reply-payload":{"types":"./dist/plugin-sdk/reply-payload.d.ts","default":"./dist/plugin-sdk/reply-payload.js"},"./plugin-sdk/reply-runtime":{"types":"./dist/plugin-sdk/reply-runtime.d.ts","default":"./dist/plugin-sdk/reply-runtime.js"},"./plugin-sdk/runtime-store":{"types":"./dist/plugin-sdk/runtime-store.d.ts","default":"./dist/plugin-sdk/runtime-store.js"},"./plugin-sdk/setup-runtime":{"types":"./dist/plugin-sdk/setup-runtime.d.ts","default":"./dist/plugin-sdk/setup-runtime.js"},"./plugin-sdk/slack-targets":{"types":"./dist/plugin-sdk/slack-targets.d.ts","default":"./dist/plugin-sdk/slack-targets.js"},"./plugin-sdk/telegram-core":{"types":"./dist/plugin-sdk/telegram-core.d.ts","default":"./dist/plugin-sdk/telegram-core.js"},"./plugin-sdk/whatsapp-core":{"types":"./dist/plugin-sdk/whatsapp-core.d.ts","default":"./dist/plugin-sdk/whatsapp-core.js"},"./plugin-sdk/windows-spawn":{"types":"./dist/plugin-sdk/windows-spawn.d.ts","default":"./dist/plugin-sdk/windows-spawn.js"},"./plugin-sdk/channel-policy":{"types":"./dist/plugin-sdk/channel-policy.d.ts","default":"./dist/plugin-sdk/channel-policy.js"},"./plugin-sdk/channel-status":{"types":"./dist/plugin-sdk/channel-status.d.ts","default":"./dist/plugin-sdk/channel-status.js"},"./plugin-sdk/config-runtime":{"types":"./dist/plugin-sdk/config-runtime.d.ts","default":"./dist/plugin-sdk/config-runtime.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/plugin-runtime":{"types":"./dist/plugin-sdk/plugin-runtime.d.ts","default":"./dist/plugin-sdk/plugin-runtime.js"},"./plugin-sdk/provider-entry":{"types":"./dist/plugin-sdk/provider-entry.d.ts","default":"./dist/plugin-sdk/provider-entry.js"},"./plugin-sdk/provider-setup":{"types":"./dist/plugin-sdk/provider-setup.d.ts","default":"./dist/plugin-sdk/provider-setup.js"},"./plugin-sdk/provider-usage":{"types":"./dist/plugin-sdk/provider-usage.d.ts","default":"./dist/plugin-sdk/provider-usage.js"},"./plugin-sdk/speech-runtime":{"types":"./dist/plugin-sdk/speech-runtime.d.ts","default":"./dist/plugin-sdk/speech-runtime.js"},"./plugin-sdk/status-helpers":{"types":"./dist/plugin-sdk/status-helpers.d.ts","default":"./dist/plugin-sdk/status-helpers.js"},"./plugin-sdk/account-helpers":{"types":"./dist/plugin-sdk/account-helpers.d.ts","default":"./dist/plugin-sdk/account-helpers.js"},"./plugin-sdk/channel-actions":{"types":"./dist/plugin-sdk/channel-actions.d.ts","default":"./dist/plugin-sdk/channel-actions.js"},"./plugin-sdk/channel-inbound":{"types":"./dist/plugin-sdk/channel-inbound.d.ts","default":"./dist/plugin-sdk/channel-inbound.js"},"./plugin-sdk/channel-pairing":{"types":"./dist/plugin-sdk/channel-pairing.d.ts","default":"./dist/plugin-sdk/channel-pairing.js"},"./plugin-sdk/channel-runtime":{"types":"./dist/plugin-sdk/channel-runtime.d.ts","default":"./dist/plugin-sdk/channel-runtime.js"},"./plugin-sdk/channel-targets":{"types":"./dist/plugin-sdk/channel-targets.d.ts","default":"./dist/plugin-sdk/channel-targets.js"},"./plugin-sdk/gateway-runtime":{"types":"./dist/plugin-sdk/gateway-runtime.d.ts","default":"./dist/plugin-sdk/gateway-runtime.js"},"./plugin-sdk/process-runtime":{"types":"./dist/plugin-sdk/process-runtime.d.ts","default":"./dist/plugin-sdk/process-runtime.js"},"./plugin-sdk/provider-google":{"types":"./dist/plugin-sdk/provider-google.d.ts","default":"./dist/plugin-sdk/provider-google.js"},"./plugin-sdk/provider-models":{"types":"./dist/plugin-sdk/provider-models.d.ts","default":"./dist/plugin-sdk/provider-models.js"},"./plugin-sdk/provider-stream":{"types":"./dist/plugin-sdk/provider-stream.d.ts","default":"./dist/plugin-sdk/provider-stream.js"},"./plugin-sdk/webhook-ingress":{"types":"./dist/plugin-sdk/webhook-ingress.d.ts","default":"./dist/plugin-sdk/webhook-ingress.js"},"./plugin-sdk/whatsapp-shared":{"types":"./dist/plugin-sdk/whatsapp-shared.d.ts","default":"./dist/plugin-sdk/whatsapp-shared.js"},"./plugin-sdk/channel-contract":{"types":"./dist/plugin-sdk/channel-contract.d.ts","default":"./dist/plugin-sdk/channel-contract.js"},"./plugin-sdk/channel-feedback":{"types":"./dist/plugin-sdk/channel-feedback.d.ts","default":"./dist/plugin-sdk/channel-feedback.js"},"./plugin-sdk/device-bootstrap":{"types":"./dist/plugin-sdk/device-bootstrap.d.ts","default":"./dist/plugin-sdk/device-bootstrap.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/extension-shared":{"types":"./dist/plugin-sdk/extension-shared.d.ts","default":"./dist/plugin-sdk/extension-shared.js"},"./plugin-sdk/image-generation":{"types":"./dist/plugin-sdk/image-generation.d.ts","default":"./dist/plugin-sdk/image-generation.js"},"./plugin-sdk/outbound-runtime":{"types":"./dist/plugin-sdk/outbound-runtime.d.ts","default":"./dist/plugin-sdk/outbound-runtime.js"},"./plugin-sdk/provider-catalog":{"types":"./dist/plugin-sdk/provider-catalog.d.ts","default":"./dist/plugin-sdk/provider-catalog.js"},"./plugin-sdk/provider-onboard":{"types":"./dist/plugin-sdk/provider-onboard.d.ts","default":"./dist/plugin-sdk/provider-onboard.js"},"./plugin-sdk/security-runtime":{"types":"./dist/plugin-sdk/security-runtime.d.ts","default":"./dist/plugin-sdk/security-runtime.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.js"},"./plugin-sdk/channel-lifecycle":{"types":"./dist/plugin-sdk/channel-lifecycle.d.ts","default":"./dist/plugin-sdk/channel-lifecycle.js"},"./plugin-sdk/directory-runtime":{"types":"./dist/plugin-sdk/directory-runtime.d.ts","default":"./dist/plugin-sdk/directory-runtime.js"},"./plugin-sdk/keyed-async-queue":{"types":"./dist/plugin-sdk/keyed-async-queue.d.ts","default":"./dist/plugin-sdk/keyed-async-queue.js"},"./plugin-sdk/provider-env-vars":{"types":"./dist/plugin-sdk/provider-env-vars.d.ts","default":"./dist/plugin-sdk/provider-env-vars.js"},"./plugin-sdk/account-resolution":{"types":"./dist/plugin-sdk/account-resolution.d.ts","default":"./dist/plugin-sdk/account-resolution.js"},"./plugin-sdk/channel-send-result":{"types":"./dist/plugin-sdk/channel-send-result.d.ts","default":"./dist/plugin-sdk/channel-send-result.js"},"./plugin-sdk/interactive-runtime":{"types":"./dist/plugin-sdk/interactive-runtime.d.ts","default":"./dist/plugin-sdk/interactive-runtime.js"},"./plugin-sdk/media-understanding":{"types":"./dist/plugin-sdk/media-understanding.d.ts","default":"./dist/plugin-sdk/media-understanding.js"},"./plugin-sdk/provider-auth-login":{"types":"./dist/plugin-sdk/provider-auth-login.d.ts","default":"./dist/plugin-sdk/provider-auth-login.js"},"./plugin-sdk/provider-web-search":{"types":"./dist/plugin-sdk/provider-web-search.d.ts","default":"./dist/plugin-sdk/provider-web-search.js"},"./plugin-sdk/conversation-runtime":{"types":"./dist/plugin-sdk/conversation-runtime.d.ts","default":"./dist/plugin-sdk/conversation-runtime.js"},"./plugin-sdk/matrix-runtime-heavy":{"types":"./dist/plugin-sdk/matrix-runtime-heavy.d.ts","default":"./dist/plugin-sdk/matrix-runtime-heavy.js"},"./plugin-sdk/allowlist-config-edit":{"types":"./dist/plugin-sdk/allowlist-config-edit.d.ts","default":"./dist/plugin-sdk/allowlist-config-edit.js"},"./plugin-sdk/channel-config-schema":{"types":"./dist/plugin-sdk/channel-config-schema.d.ts","default":"./dist/plugin-sdk/channel-config-schema.js"},"./plugin-sdk/image-generation-core":{"types":"./dist/plugin-sdk/image-generation-core.d.ts","default":"./dist/plugin-sdk/image-generation-core.js"},"./plugin-sdk/matrix-runtime-shared":{"types":"./dist/plugin-sdk/matrix-runtime-shared.d.ts","default":"./dist/plugin-sdk/matrix-runtime-shared.js"},"./plugin-sdk/provider-auth-api-key":{"types":"./dist/plugin-sdk/provider-auth-api-key.d.ts","default":"./dist/plugin-sdk/provider-auth-api-key.js"},"./plugin-sdk/provider-zai-endpoint":{"types":"./dist/plugin-sdk/provider-zai-endpoint.d.ts","default":"./dist/plugin-sdk/provider-zai-endpoint.js"},"./plugin-sdk/setup-adapter-runtime":{"types":"./dist/plugin-sdk/setup-adapter-runtime.d.ts","default":"./dist/plugin-sdk/setup-adapter-runtime.js"},"./plugin-sdk/channel-config-helpers":{"types":"./dist/plugin-sdk/channel-config-helpers.d.ts","default":"./dist/plugin-sdk/channel-config-helpers.js"},"./plugin-sdk/channel-reply-pipeline":{"types":"./dist/plugin-sdk/channel-reply-pipeline.d.ts","default":"./dist/plugin-sdk/channel-reply-pipeline.js"},"./plugin-sdk/thread-bindings-runtime":{"types":"./dist/plugin-sdk/thread-bindings-runtime.d.ts","default":"./dist/plugin-sdk/thread-bindings-runtime.js"},"./plugin-sdk/self-hosted-provider-setup":{"types":"./dist/plugin-sdk/self-hosted-provider-setup.d.ts","default":"./dist/plugin-sdk/self-hosted-provider-setup.js"},"./plugin-sdk/media-understanding-runtime":{"types":"./dist/plugin-sdk/media-understanding-runtime.d.ts","default":"./dist/plugin-sdk/media-understanding-runtime.js"}},"gitHead":"7c33542fa841fe0a38e7f8fbb8e2ba7b24dc7d9b","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && node scripts/tsdown-build.mjs && node scripts/runtime-postbuild.mjs && node scripts/build-stamp.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && node --import tsx scripts/canvas-a2ui-copy.ts && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/copy-export-html-templates.ts && node --import tsx scripts/write-build-info.ts && node --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm check:no-conflict-markers && pnpm check:host-env-policy:swift && pnpm check:base-config-schema && pnpm check:bundled-plugin-metadata && pnpm check:bundled-provider-auth-env-vars && pnpm format:check && pnpm tsgo && pnpm plugin-sdk:check-exports && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:plugins:no-extension-src-imports && pnpm lint:plugins:no-extension-test-core-imports && pnpm lint:plugins:no-extension-imports && pnpm lint:plugins:plugin-sdk-subpaths-exported && pnpm lint:extensions:no-src-outside-plugin-sdk && pnpm lint:extensions:no-plugin-sdk-internal && pnpm lint:extensions:no-relative-outside-package && pnpm lint:web-search-provider-boundaries && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope","start":"node scripts/run-node.mjs","xclaw":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && xcodebuild -project XClaw.xcodeproj -scheme XClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build && xcrun simctl boot \"${IOS_SIM:-iPhone 17}\" || true && xcrun simctl launch booted ai.xclaw.ios'","prepack":"pnpm build && pnpm ui:build","prepare":"command -v git >/dev/null 2>&1 && git rev-parse --is-inside-work-tree >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"XCLAW_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:beta":"bash scripts/ios-beta-release.sh","ios:open":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && open XClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/XClaw.app","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","dup:check":"jscpd src extensions test scripts --format typescript,javascript --pattern \"**/*.{ts,tsx,js,mjs,cjs}\" --gitignore --noSymlinks --ignore \"**/node_modules/**,**/dist/**,**/.git/**,**/coverage/**,**/build/**,**/.build/**,**/.artifacts/**\" --min-lines 12 --min-tokens 80 --reporters console","ios:build":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && xcodebuild -project XClaw.xcodeproj -scheme XClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"XCLAW_LIVE_TEST=1 vitest run --config vitest.live.config.ts","xclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-i18n-glossary && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installPlayDebug && adb shell am start -n ai.xclaw.app/.MainActivity","audit:seams":"node scripts/audit-seams.mjs","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"XCLAW_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","mac:package":"bash scripts/package-mac-app.sh","mac:restart":"bash scripts/restart-mac.sh","moltbot:rpc":"node scripts/run-node.mjs agent --mode rpc --json","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testPlayDebugUnitTest","build:docker":"node scripts/tsdown-build.mjs && node scripts/runtime-postbuild.mjs && node scripts/build-stamp.mjs && node --import tsx scripts/canvas-a2ui-copy.ts && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/copy-export-html-templates.ts && node --import tsx scripts/write-build-info.ts && node --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","format:check":"oxfmt --check --threads=1","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/XClawKit/Sources","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:changed":"pnpm test -- --changed origin/main","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"XCLAW_TEST_PROFILE=macmini node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"pnpm config:docs:check && pnpm plugin-sdk:api:check && node scripts/stage-bundled-plugin-runtime-deps.mjs && pnpm ui:build && node --import tsx scripts/release-check.ts","test:channels":"XCLAW_TEST_SKIP_DEFAULT=1 XCLAW_TEST_INCLUDE_CHANNELS=1 node scripts/test-parallel.mjs","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","dup:check:json":"jscpd src extensions test scripts --format typescript,javascript --pattern \"**/*.{ts,tsx,js,mjs,cjs}\" --gitignore --noSymlinks --ignore \"**/node_modules/**,**/dist/**,**/.git/**,**/coverage/**,**/build/**,**/.build/**,**/.artifacts/**\" --min-lines 12 --min-tokens 80 --reporters json --output .artifacts/jscpd","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/XClawProtocol/GatewayModels.swift apps/shared/XClawKit/Sources/XClawProtocol/GatewayModels.swift","test:contracts":"pnpm test:contracts:channels && pnpm test:contracts:plugins","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:extension":"node scripts/test-extension.mjs","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installPlayDebug","config:docs:gen":"node --import tsx scripts/generate-config-doc-baseline.ts --write","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"XCLAW_TEST_SKIP_DEFAULT=1 XCLAW_TEST_INCLUDE_EXTENSIONS=1 node scripts/test-parallel.mjs","android:assemble":"cd apps/android && ./gradlew :app:assemblePlayDebug","docs:check-links":"node scripts/docs-link-audit.mjs","ios:beta:archive":"bash scripts/ios-beta-archive.sh","ios:beta:prepare":"bash scripts/ios-beta-prepare.sh","test:auth:compat":"vitest run --config vitest.gateway.config.ts src/gateway/server.auth.compat-baseline.test.ts src/gateway/client.test.ts src/gateway/reconnect-gating.test.ts src/gateway/protocol/connect-error-details.test.ts","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","config:docs:check":"node --import tsx scripts/generate-config-doc-baseline.ts --check","config:schema:gen":"node --import tsx scripts/generate-base-config-schema.ts --write","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"XCLAW_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","test:perf:imports":"XCLAW_VITEST_IMPORT_DURATIONS=1 XCLAW_VITEST_PRINT_IMPORT_BREAKDOWN=1 pnpm test","build:strict-smoke":"pnpm canvas:a2ui:bundle && node scripts/tsdown-build.mjs && node scripts/runtime-postbuild.mjs && node scripts/build-stamp.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","plugin-sdk:api:gen":"node --import tsx scripts/generate-plugin-sdk-api-baseline.ts --write","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:e2e:openshell":"XCLAW_E2E_OPENSHELL=1 vitest run --config vitest.e2e.config.ts test/openshell-sandbox.e2e.test.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","config:schema:check":"node --import tsx scripts/generate-base-config-schema.ts --check","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","test:startup:memory":"node scripts/check-cli-startup-memory.mjs","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","plugin-sdk:api:check":"node --import tsx scripts/generate-plugin-sdk-api-baseline.ts --check","test:build:singleton":"node scripts/test-built-plugin-singleton.mjs","test:parallels:linux":"bash scripts/e2e/parallels-linux-smoke.sh","test:parallels:macos":"bash scripts/e2e/parallels-macos-smoke.sh","test:coverage:changed":"vitest run --config vitest.unit.config.ts --coverage --changed origin/main","android:bundle:release":"bun apps/android/scripts/build-release-aab.ts","test:contracts:plugins":"XCLAW_TEST_PROFILE=low pnpm test -- src/plugins/contracts","test:extensions:memory":"node scripts/profile-extension-memory.mjs","test:parallels:windows":"bash scripts/e2e/parallels-windows-smoke.sh","test:perf:profile:main":"node scripts/run-vitest-profile.mjs main","android:run:third-party":"cd apps/android && ./gradlew :app:installThirdPartyDebug && adb shell am start -n ai.xclaw.app/.MainActivity","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","plugin-sdk:sync-exports":"node scripts/sync-plugin-sdk-exports.mjs","release:xclaw:npm:check":"node --import tsx scripts/xclaw-npm-release-check.ts","test:contracts:channels":"XCLAW_TEST_PROFILE=low pnpm test -- src/channels/plugins/contracts","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"XCLAW_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"XCLAW_LIVE_TEST=1 XCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","android:test:third-party":"cd apps/android && ./gradlew :app:testThirdPartyDebugUnitTest","check:base-config-schema":"node --import tsx scripts/generate-base-config-schema.ts --check","docs:check-i18n-glossary":"node scripts/check-docs-i18n-glossary.mjs","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","plugin-sdk:check-exports":"node scripts/sync-plugin-sdk-exports.mjs --check","release:plugins:npm:plan":"node --import tsx scripts/plugin-npm-release-plan.ts","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:perf:profile:runner":"node scripts/run-vitest-profile.mjs runner","test:perf:update-timings":"node scripts/test-update-timings.mjs","check:no-conflict-markers":"node scripts/check-no-conflict-markers.mjs","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","release:plugins:npm:check":"node --import tsx scripts/plugin-npm-release-check.ts","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:parallels:npm-update":"bash scripts/e2e/parallels-npm-update-smoke.sh","test:perf:imports:changed":"XCLAW_VITEST_IMPORT_DURATIONS=1 XCLAW_VITEST_PRINT_IMPORT_BREAKDOWN=1 pnpm test -- --changed origin/main","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"XCLAW_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","android:install:third-party":"cd apps/android && ./gradlew :app:installThirdPartyDebug","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","android:assemble:third-party":"cd apps/android && ./gradlew :app:assembleThirdPartyDebug","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","lint:tmp:no-random-messaging":"node scripts/check-no-random-messaging-tmp.mjs","check:bundled-plugin-metadata":"node scripts/generate-bundled-plugin-metadata.mjs --check","lint:tmp:no-raw-channel-fetch":"node scripts/check-no-raw-channel-fetch.mjs","test:gateway:watch-regression":"node scripts/check-gateway-watch-regression.mjs","lint:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","test:perf:find-thread-candidates":"node scripts/test-find-thread-candidates.mjs","test:perf:update-memory-hotspots":"node scripts/test-update-memory-hotspots.mjs","lint:plugins:no-extension-imports":"node scripts/check-plugin-extension-import-boundary.mjs","stage:bundled-plugin-runtime-deps":"node scripts/stage-bundled-plugin-runtime-deps.mjs","release:xclaw:npm:verify-published":"node --import tsx scripts/xclaw-npm-postpublish-verify.ts","lint:web-search-provider-boundaries":"node scripts/check-web-search-provider-boundaries.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","check:bundled-provider-auth-env-vars":"node scripts/generate-bundled-provider-auth-env-vars.mjs --check","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-extension-src-imports":"node --import tsx scripts/check-no-extension-src-imports.ts","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:extensions:no-plugin-sdk-internal":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=plugin-sdk-internal","lint:extensions:no-src-outside-plugin-sdk":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=src-outside-plugin-sdk","lint:plugins:plugin-sdk-subpaths-exported":"node scripts/check-plugin-sdk-subpath-exports.mjs","lint:extensions:no-relative-outside-package":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=relative-outside-package","lint:plugins:no-extension-test-core-imports":"node --import tsx scripts/check-no-extension-test-core-imports.ts","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"amirtechai","email":"amirtech.aix@gmail.com"},"repository":{"url":"git+https://github.com/amirtechai/xclaw.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-channel AI gateway with extensible messaging integrations","directories":{"doc":"docs","test":"test"},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.20.0","ajv":"^8.18.0","tar":"7.5.12","zod":"^4.3.6","hono":"4.12.8","jiti":"^2.6.1","long":"^5.3.2","uuid":"^13.0.0","yaml":"^2.8.3","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","gaxios":"7.1.4","undici":"^7.24.5","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"21.3.4","ipaddr.js":"^2.3.0","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.1.0","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","@mariozechner/pi-ai":"0.61.1","@mariozechner/pi-tui":"0.61.1","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1014.0","@agentclientprotocol/sdk":"0.16.1","@anthropic-ai/vertex-sdk":"^0.14.4","@modelcontextprotocol/sdk":"1.27.1","@mariozechner/pi-agent-core":"0.61.1","@mariozechner/pi-coding-agent":"0.61.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","jscpd":"4.0.8","jsdom":"^29.0.1","oxfmt":"0.41.0","oxlint":"^1.56.0","tsdown":"0.21.4","vitest":"^4.1.0","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.5.0","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.17.1","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.1.0","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260322.1"},"peerDependencies":{"node-llama-cpp":"3.18.1","@napi-rs/canvas":"^0.1.89"},"optionalDependencies":{"openshell":"0.1.0"},"peerDependenciesMeta":{"node-llama-cpp":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/xclaude_2026.3.24_1775464137045_0.5176638213130997","host":"s3://npm-registry-packages-npm-production"}},"2026.3.25":{"name":"@amirtechai/xclaude","version":"2026.3.25","keywords":[],"author":"","license":"MIT","_id":"@amirtechai/xclaude@2026.3.25","maintainers":[{"name":"amirtechai","email":"amirtech.aix@gmail.com"}],"homepage":"https://xclaw.amirtech.ai","bugs":{"url":"https://github.com/amirtechai/xclaw/issues"},"bin":{"xclaw":"xclaw.mjs","xclaude":"xclaw.mjs"},"dist":{"shasum":"e782b35b12606b9cce98fa4d4495010cd593c857","tarball":"https://registry.npmjs.org/@amirtechai/xclaude/-/xclaude-2026.3.25.tgz","fileCount":14941,"integrity":"sha512-X7AI0Mypx/Bl4G6yeq0m1PB1Yv2vPAFkgkaGxVK1Iwwcbw2WxPL5cRFLfNuMcF+87wyC7sLlFuecd8mGnhaanw==","signatures":[{"sig":"MEYCIQDUmI+59rYB/SCHyjqNSXl/azCgg/o4PNpqv9WlAL1zOgIhAKP034H8Z2Fb/iGk/HFZ7Yhi2JXUBI6pK3KlvhtEXx24","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187200666},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.12","hono":"4.12.8","yauzl":"3.2.1","request":"npm:@cypress/request@3.0.10","file-type":"21.3.4","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.5.7","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"packageExtensions":{"@mariozechner/pi-coding-agent":{"dependencies":{"strip-ansi":"^7.2.0"}}},"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@tloncorp/api","@tloncorp/tlon-skill","@whiskeysockets/baileys","authenticate-pam","esbuild","node-llama-cpp","protobufjs","sharp"],"ignoredBuiltDependencies":["@discordjs/opus","koffi"]},"type":"module","engines":{"node":">=22.16.0"},"exports":{".":"./dist/index.js","./cli-entry":"./xclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./extension-api":"./dist/extensionAPI.js","./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/setup":{"types":"./dist/plugin-sdk/setup.d.ts","default":"./dist/plugin-sdk/setup.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/speech":{"types":"./dist/plugin-sdk/speech.d.ts","default":"./dist/plugin-sdk/speech.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/routing":{"types":"./dist/plugin-sdk/routing.d.ts","default":"./dist/plugin-sdk/routing.js"},"./plugin-sdk/runtime":{"types":"./dist/plugin-sdk/runtime.d.ts","default":"./dist/plugin-sdk/runtime.js"},"./plugin-sdk/sandbox":{"types":"./dist/plugin-sdk/sandbox.d.ts","default":"./dist/plugin-sdk/sandbox.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","default":"./dist/plugin-sdk/testing.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/line-core":{"types":"./dist/plugin-sdk/line-core.d.ts","default":"./dist/plugin-sdk/line-core.js"},"./plugin-sdk/temp-path":{"types":"./dist/plugin-sdk/temp-path.d.ts","default":"./dist/plugin-sdk/temp-path.js"},"./plugin-sdk/tool-send":{"types":"./dist/plugin-sdk/tool-send.d.ts","default":"./dist/plugin-sdk/tool-send.js"},"./plugin-sdk/web-media":{"types":"./dist/plugin-sdk/web-media.d.ts","default":"./dist/plugin-sdk/web-media.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/allow-from":{"types":"./dist/plugin-sdk/allow-from.d.ts","default":"./dist/plugin-sdk/allow-from.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/json-store":{"types":"./dist/plugin-sdk/json-store.d.ts","default":"./dist/plugin-sdk/json-store.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/slack-core":{"types":"./dist/plugin-sdk/slack-core.d.ts","default":"./dist/plugin-sdk/slack-core.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/acp-runtime":{"types":"./dist/plugin-sdk/acp-runtime.d.ts","default":"./dist/plugin-sdk/acp-runtime.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/cli-runtime":{"types":"./dist/plugin-sdk/cli-runtime.d.ts","default":"./dist/plugin-sdk/cli-runtime.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/request-url":{"types":"./dist/plugin-sdk/request-url.d.ts","default":"./dist/plugin-sdk/request-url.js"},"./plugin-sdk/runtime-env":{"types":"./dist/plugin-sdk/runtime-env.d.ts","default":"./dist/plugin-sdk/runtime-env.js"},"./plugin-sdk/setup-tools":{"types":"./dist/plugin-sdk/setup-tools.d.ts","default":"./dist/plugin-sdk/setup-tools.js"},"./plugin-sdk/speech-core":{"types":"./dist/plugin-sdk/speech-core.d.ts","default":"./dist/plugin-sdk/speech-core.js"},"./plugin-sdk/state-paths":{"types":"./dist/plugin-sdk/state-paths.d.ts","default":"./dist/plugin-sdk/state-paths.js"},"./plugin-sdk/command-auth":{"types":"./dist/plugin-sdk/command-auth.d.ts","default":"./dist/plugin-sdk/command-auth.js"},"./plugin-sdk/discord-core":{"types":"./dist/plugin-sdk/discord-core.d.ts","default":"./dist/plugin-sdk/discord-core.js"},"./plugin-sdk/group-access":{"types":"./dist/plugin-sdk/group-access.d.ts","default":"./dist/plugin-sdk/group-access.js"},"./plugin-sdk/hook-runtime":{"types":"./dist/plugin-sdk/hook-runtime.d.ts","default":"./dist/plugin-sdk/hook-runtime.js"},"./plugin-sdk/lazy-runtime":{"types":"./dist/plugin-sdk/lazy-runtime.d.ts","default":"./dist/plugin-sdk/lazy-runtime.js"},"./plugin-sdk/line-runtime":{"types":"./dist/plugin-sdk/line-runtime.d.ts","default":"./dist/plugin-sdk/line-runtime.js"},"./plugin-sdk/ollama-setup":{"types":"./dist/plugin-sdk/ollama-setup.d.ts","default":"./dist/plugin-sdk/ollama-setup.js"},"./plugin-sdk/plugin-entry":{"types":"./dist/plugin-sdk/plugin-entry.d.ts","default":"./dist/plugin-sdk/plugin-entry.js"},"./plugin-sdk/secret-input":{"types":"./dist/plugin-sdk/secret-input.d.ts","default":"./dist/plugin-sdk/secret-input.js"},"./plugin-sdk/ssrf-runtime":{"types":"./dist/plugin-sdk/ssrf-runtime.d.ts","default":"./dist/plugin-sdk/ssrf-runtime.js"},"./plugin-sdk/text-runtime":{"types":"./dist/plugin-sdk/text-runtime.d.ts","default":"./dist/plugin-sdk/text-runtime.js"},"./plugin-sdk/webhook-path":{"types":"./dist/plugin-sdk/webhook-path.d.ts","default":"./dist/plugin-sdk/webhook-path.js"},"./plugin-sdk/agent-runtime":{"types":"./dist/plugin-sdk/agent-runtime.d.ts","default":"./dist/plugin-sdk/agent-runtime.js"},"./plugin-sdk/boolean-param":{"types":"./dist/plugin-sdk/boolean-param.d.ts","default":"./dist/plugin-sdk/boolean-param.js"},"./plugin-sdk/channel-setup":{"types":"./dist/plugin-sdk/channel-setup.d.ts","default":"./dist/plugin-sdk/channel-setup.js"},"./plugin-sdk/imessage-core":{"types":"./dist/plugin-sdk/imessage-core.d.ts","default":"./dist/plugin-sdk/imessage-core.js"},"./plugin-sdk/infra-runtime":{"types":"./dist/plugin-sdk/infra-runtime.d.ts","default":"./dist/plugin-sdk/infra-runtime.js"},"./plugin-sdk/media-runtime":{"types":"./dist/plugin-sdk/media-runtime.d.ts","default":"./dist/plugin-sdk/media-runtime.js"},"./plugin-sdk/param-readers":{"types":"./dist/plugin-sdk/param-readers.d.ts","default":"./dist/plugin-sdk/param-readers.js"},"./plugin-sdk/provider-auth":{"types":"./dist/plugin-sdk/provider-auth.d.ts","default":"./dist/plugin-sdk/provider-auth.js"},"./plugin-sdk/reply-history":{"types":"./dist/plugin-sdk/reply-history.d.ts","default":"./dist/plugin-sdk/reply-history.js"},"./plugin-sdk/reply-payload":{"types":"./dist/plugin-sdk/reply-payload.d.ts","default":"./dist/plugin-sdk/reply-payload.js"},"./plugin-sdk/reply-runtime":{"types":"./dist/plugin-sdk/reply-runtime.d.ts","default":"./dist/plugin-sdk/reply-runtime.js"},"./plugin-sdk/runtime-store":{"types":"./dist/plugin-sdk/runtime-store.d.ts","default":"./dist/plugin-sdk/runtime-store.js"},"./plugin-sdk/setup-runtime":{"types":"./dist/plugin-sdk/setup-runtime.d.ts","default":"./dist/plugin-sdk/setup-runtime.js"},"./plugin-sdk/slack-targets":{"types":"./dist/plugin-sdk/slack-targets.d.ts","default":"./dist/plugin-sdk/slack-targets.js"},"./plugin-sdk/telegram-core":{"types":"./dist/plugin-sdk/telegram-core.d.ts","default":"./dist/plugin-sdk/telegram-core.js"},"./plugin-sdk/whatsapp-core":{"types":"./dist/plugin-sdk/whatsapp-core.d.ts","default":"./dist/plugin-sdk/whatsapp-core.js"},"./plugin-sdk/windows-spawn":{"types":"./dist/plugin-sdk/windows-spawn.d.ts","default":"./dist/plugin-sdk/windows-spawn.js"},"./plugin-sdk/channel-policy":{"types":"./dist/plugin-sdk/channel-policy.d.ts","default":"./dist/plugin-sdk/channel-policy.js"},"./plugin-sdk/channel-status":{"types":"./dist/plugin-sdk/channel-status.d.ts","default":"./dist/plugin-sdk/channel-status.js"},"./plugin-sdk/config-runtime":{"types":"./dist/plugin-sdk/config-runtime.d.ts","default":"./dist/plugin-sdk/config-runtime.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/plugin-runtime":{"types":"./dist/plugin-sdk/plugin-runtime.d.ts","default":"./dist/plugin-sdk/plugin-runtime.js"},"./plugin-sdk/provider-entry":{"types":"./dist/plugin-sdk/provider-entry.d.ts","default":"./dist/plugin-sdk/provider-entry.js"},"./plugin-sdk/provider-setup":{"types":"./dist/plugin-sdk/provider-setup.d.ts","default":"./dist/plugin-sdk/provider-setup.js"},"./plugin-sdk/provider-usage":{"types":"./dist/plugin-sdk/provider-usage.d.ts","default":"./dist/plugin-sdk/provider-usage.js"},"./plugin-sdk/speech-runtime":{"types":"./dist/plugin-sdk/speech-runtime.d.ts","default":"./dist/plugin-sdk/speech-runtime.js"},"./plugin-sdk/status-helpers":{"types":"./dist/plugin-sdk/status-helpers.d.ts","default":"./dist/plugin-sdk/status-helpers.js"},"./plugin-sdk/account-helpers":{"types":"./dist/plugin-sdk/account-helpers.d.ts","default":"./dist/plugin-sdk/account-helpers.js"},"./plugin-sdk/channel-actions":{"types":"./dist/plugin-sdk/channel-actions.d.ts","default":"./dist/plugin-sdk/channel-actions.js"},"./plugin-sdk/channel-inbound":{"types":"./dist/plugin-sdk/channel-inbound.d.ts","default":"./dist/plugin-sdk/channel-inbound.js"},"./plugin-sdk/channel-pairing":{"types":"./dist/plugin-sdk/channel-pairing.d.ts","default":"./dist/plugin-sdk/channel-pairing.js"},"./plugin-sdk/channel-runtime":{"types":"./dist/plugin-sdk/channel-runtime.d.ts","default":"./dist/plugin-sdk/channel-runtime.js"},"./plugin-sdk/channel-targets":{"types":"./dist/plugin-sdk/channel-targets.d.ts","default":"./dist/plugin-sdk/channel-targets.js"},"./plugin-sdk/gateway-runtime":{"types":"./dist/plugin-sdk/gateway-runtime.d.ts","default":"./dist/plugin-sdk/gateway-runtime.js"},"./plugin-sdk/process-runtime":{"types":"./dist/plugin-sdk/process-runtime.d.ts","default":"./dist/plugin-sdk/process-runtime.js"},"./plugin-sdk/provider-google":{"types":"./dist/plugin-sdk/provider-google.d.ts","default":"./dist/plugin-sdk/provider-google.js"},"./plugin-sdk/provider-models":{"types":"./dist/plugin-sdk/provider-models.d.ts","default":"./dist/plugin-sdk/provider-models.js"},"./plugin-sdk/provider-stream":{"types":"./dist/plugin-sdk/provider-stream.d.ts","default":"./dist/plugin-sdk/provider-stream.js"},"./plugin-sdk/webhook-ingress":{"types":"./dist/plugin-sdk/webhook-ingress.d.ts","default":"./dist/plugin-sdk/webhook-ingress.js"},"./plugin-sdk/whatsapp-shared":{"types":"./dist/plugin-sdk/whatsapp-shared.d.ts","default":"./dist/plugin-sdk/whatsapp-shared.js"},"./plugin-sdk/channel-contract":{"types":"./dist/plugin-sdk/channel-contract.d.ts","default":"./dist/plugin-sdk/channel-contract.js"},"./plugin-sdk/channel-feedback":{"types":"./dist/plugin-sdk/channel-feedback.d.ts","default":"./dist/plugin-sdk/channel-feedback.js"},"./plugin-sdk/device-bootstrap":{"types":"./dist/plugin-sdk/device-bootstrap.d.ts","default":"./dist/plugin-sdk/device-bootstrap.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/extension-shared":{"types":"./dist/plugin-sdk/extension-shared.d.ts","default":"./dist/plugin-sdk/extension-shared.js"},"./plugin-sdk/image-generation":{"types":"./dist/plugin-sdk/image-generation.d.ts","default":"./dist/plugin-sdk/image-generation.js"},"./plugin-sdk/outbound-runtime":{"types":"./dist/plugin-sdk/outbound-runtime.d.ts","default":"./dist/plugin-sdk/outbound-runtime.js"},"./plugin-sdk/provider-catalog":{"types":"./dist/plugin-sdk/provider-catalog.d.ts","default":"./dist/plugin-sdk/provider-catalog.js"},"./plugin-sdk/provider-onboard":{"types":"./dist/plugin-sdk/provider-onboard.d.ts","default":"./dist/plugin-sdk/provider-onboard.js"},"./plugin-sdk/security-runtime":{"types":"./dist/plugin-sdk/security-runtime.d.ts","default":"./dist/plugin-sdk/security-runtime.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.js"},"./plugin-sdk/channel-lifecycle":{"types":"./dist/plugin-sdk/channel-lifecycle.d.ts","default":"./dist/plugin-sdk/channel-lifecycle.js"},"./plugin-sdk/directory-runtime":{"types":"./dist/plugin-sdk/directory-runtime.d.ts","default":"./dist/plugin-sdk/directory-runtime.js"},"./plugin-sdk/keyed-async-queue":{"types":"./dist/plugin-sdk/keyed-async-queue.d.ts","default":"./dist/plugin-sdk/keyed-async-queue.js"},"./plugin-sdk/provider-env-vars":{"types":"./dist/plugin-sdk/provider-env-vars.d.ts","default":"./dist/plugin-sdk/provider-env-vars.js"},"./plugin-sdk/account-resolution":{"types":"./dist/plugin-sdk/account-resolution.d.ts","default":"./dist/plugin-sdk/account-resolution.js"},"./plugin-sdk/channel-send-result":{"types":"./dist/plugin-sdk/channel-send-result.d.ts","default":"./dist/plugin-sdk/channel-send-result.js"},"./plugin-sdk/interactive-runtime":{"types":"./dist/plugin-sdk/interactive-runtime.d.ts","default":"./dist/plugin-sdk/interactive-runtime.js"},"./plugin-sdk/media-understanding":{"types":"./dist/plugin-sdk/media-understanding.d.ts","default":"./dist/plugin-sdk/media-understanding.js"},"./plugin-sdk/provider-auth-login":{"types":"./dist/plugin-sdk/provider-auth-login.d.ts","default":"./dist/plugin-sdk/provider-auth-login.js"},"./plugin-sdk/provider-web-search":{"types":"./dist/plugin-sdk/provider-web-search.d.ts","default":"./dist/plugin-sdk/provider-web-search.js"},"./plugin-sdk/conversation-runtime":{"types":"./dist/plugin-sdk/conversation-runtime.d.ts","default":"./dist/plugin-sdk/conversation-runtime.js"},"./plugin-sdk/matrix-runtime-heavy":{"types":"./dist/plugin-sdk/matrix-runtime-heavy.d.ts","default":"./dist/plugin-sdk/matrix-runtime-heavy.js"},"./plugin-sdk/allowlist-config-edit":{"types":"./dist/plugin-sdk/allowlist-config-edit.d.ts","default":"./dist/plugin-sdk/allowlist-config-edit.js"},"./plugin-sdk/channel-config-schema":{"types":"./dist/plugin-sdk/channel-config-schema.d.ts","default":"./dist/plugin-sdk/channel-config-schema.js"},"./plugin-sdk/image-generation-core":{"types":"./dist/plugin-sdk/image-generation-core.d.ts","default":"./dist/plugin-sdk/image-generation-core.js"},"./plugin-sdk/matrix-runtime-shared":{"types":"./dist/plugin-sdk/matrix-runtime-shared.d.ts","default":"./dist/plugin-sdk/matrix-runtime-shared.js"},"./plugin-sdk/provider-auth-api-key":{"types":"./dist/plugin-sdk/provider-auth-api-key.d.ts","default":"./dist/plugin-sdk/provider-auth-api-key.js"},"./plugin-sdk/provider-zai-endpoint":{"types":"./dist/plugin-sdk/provider-zai-endpoint.d.ts","default":"./dist/plugin-sdk/provider-zai-endpoint.js"},"./plugin-sdk/setup-adapter-runtime":{"types":"./dist/plugin-sdk/setup-adapter-runtime.d.ts","default":"./dist/plugin-sdk/setup-adapter-runtime.js"},"./plugin-sdk/channel-config-helpers":{"types":"./dist/plugin-sdk/channel-config-helpers.d.ts","default":"./dist/plugin-sdk/channel-config-helpers.js"},"./plugin-sdk/channel-reply-pipeline":{"types":"./dist/plugin-sdk/channel-reply-pipeline.d.ts","default":"./dist/plugin-sdk/channel-reply-pipeline.js"},"./plugin-sdk/thread-bindings-runtime":{"types":"./dist/plugin-sdk/thread-bindings-runtime.d.ts","default":"./dist/plugin-sdk/thread-bindings-runtime.js"},"./plugin-sdk/self-hosted-provider-setup":{"types":"./dist/plugin-sdk/self-hosted-provider-setup.d.ts","default":"./dist/plugin-sdk/self-hosted-provider-setup.js"},"./plugin-sdk/media-understanding-runtime":{"types":"./dist/plugin-sdk/media-understanding-runtime.d.ts","default":"./dist/plugin-sdk/media-understanding-runtime.js"}},"gitHead":"7c33542fa841fe0a38e7f8fbb8e2ba7b24dc7d9b","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && node scripts/tsdown-build.mjs && node scripts/runtime-postbuild.mjs && node scripts/build-stamp.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && node --import tsx scripts/canvas-a2ui-copy.ts && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/copy-export-html-templates.ts && node --import tsx scripts/write-build-info.ts && node --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm check:no-conflict-markers && pnpm check:host-env-policy:swift && pnpm check:base-config-schema && pnpm check:bundled-plugin-metadata && pnpm check:bundled-provider-auth-env-vars && pnpm format:check && pnpm tsgo && pnpm plugin-sdk:check-exports && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:plugins:no-extension-src-imports && pnpm lint:plugins:no-extension-test-core-imports && pnpm lint:plugins:no-extension-imports && pnpm lint:plugins:plugin-sdk-subpaths-exported && pnpm lint:extensions:no-src-outside-plugin-sdk && pnpm lint:extensions:no-plugin-sdk-internal && pnpm lint:extensions:no-relative-outside-package && pnpm lint:web-search-provider-boundaries && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope","start":"node scripts/run-node.mjs","xclaw":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && xcodebuild -project XClaw.xcodeproj -scheme XClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build && xcrun simctl boot \"${IOS_SIM:-iPhone 17}\" || true && xcrun simctl launch booted ai.xclaw.ios'","prepack":"pnpm build && pnpm ui:build","prepare":"command -v git >/dev/null 2>&1 && git rev-parse --is-inside-work-tree >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"XCLAW_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:beta":"bash scripts/ios-beta-release.sh","ios:open":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && open XClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/XClaw.app","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","dup:check":"jscpd src extensions test scripts --format typescript,javascript --pattern \"**/*.{ts,tsx,js,mjs,cjs}\" --gitignore --noSymlinks --ignore \"**/node_modules/**,**/dist/**,**/.git/**,**/coverage/**,**/build/**,**/.build/**,**/.artifacts/**\" --min-lines 12 --min-tokens 80 --reporters console","ios:build":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && xcodebuild -project XClaw.xcodeproj -scheme XClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"XCLAW_LIVE_TEST=1 vitest run --config vitest.live.config.ts","xclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-i18n-glossary && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installPlayDebug && adb shell am start -n ai.xclaw.app/.MainActivity","audit:seams":"node scripts/audit-seams.mjs","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"XCLAW_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","mac:package":"bash scripts/package-mac-app.sh","mac:restart":"bash scripts/restart-mac.sh","moltbot:rpc":"node scripts/run-node.mjs agent --mode rpc --json","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testPlayDebugUnitTest","build:docker":"node scripts/tsdown-build.mjs && node scripts/runtime-postbuild.mjs && node scripts/build-stamp.mjs && node --import tsx scripts/canvas-a2ui-copy.ts && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/copy-export-html-templates.ts && node --import tsx scripts/write-build-info.ts && node --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","format:check":"oxfmt --check --threads=1","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/XClawKit/Sources","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:changed":"pnpm test -- --changed origin/main","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"XCLAW_TEST_PROFILE=macmini node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"pnpm config:docs:check && pnpm plugin-sdk:api:check && node scripts/stage-bundled-plugin-runtime-deps.mjs && pnpm ui:build && node --import tsx scripts/release-check.ts","test:channels":"XCLAW_TEST_SKIP_DEFAULT=1 XCLAW_TEST_INCLUDE_CHANNELS=1 node scripts/test-parallel.mjs","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","dup:check:json":"jscpd src extensions test scripts --format typescript,javascript --pattern \"**/*.{ts,tsx,js,mjs,cjs}\" --gitignore --noSymlinks --ignore \"**/node_modules/**,**/dist/**,**/.git/**,**/coverage/**,**/build/**,**/.build/**,**/.artifacts/**\" --min-lines 12 --min-tokens 80 --reporters json --output .artifacts/jscpd","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/XClawProtocol/GatewayModels.swift apps/shared/XClawKit/Sources/XClawProtocol/GatewayModels.swift","test:contracts":"pnpm test:contracts:channels && pnpm test:contracts:plugins","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:extension":"node scripts/test-extension.mjs","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installPlayDebug","config:docs:gen":"node --import tsx scripts/generate-config-doc-baseline.ts --write","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"XCLAW_TEST_SKIP_DEFAULT=1 XCLAW_TEST_INCLUDE_EXTENSIONS=1 node scripts/test-parallel.mjs","android:assemble":"cd apps/android && ./gradlew :app:assemblePlayDebug","docs:check-links":"node scripts/docs-link-audit.mjs","ios:beta:archive":"bash scripts/ios-beta-archive.sh","ios:beta:prepare":"bash scripts/ios-beta-prepare.sh","test:auth:compat":"vitest run --config vitest.gateway.config.ts src/gateway/server.auth.compat-baseline.test.ts src/gateway/client.test.ts src/gateway/reconnect-gating.test.ts src/gateway/protocol/connect-error-details.test.ts","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","config:docs:check":"node --import tsx scripts/generate-config-doc-baseline.ts --check","config:schema:gen":"node --import tsx scripts/generate-base-config-schema.ts --write","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"XCLAW_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","test:perf:imports":"XCLAW_VITEST_IMPORT_DURATIONS=1 XCLAW_VITEST_PRINT_IMPORT_BREAKDOWN=1 pnpm test","build:strict-smoke":"pnpm canvas:a2ui:bundle && node scripts/tsdown-build.mjs && node scripts/runtime-postbuild.mjs && node scripts/build-stamp.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","plugin-sdk:api:gen":"node --import tsx scripts/generate-plugin-sdk-api-baseline.ts --write","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:e2e:openshell":"XCLAW_E2E_OPENSHELL=1 vitest run --config vitest.e2e.config.ts test/openshell-sandbox.e2e.test.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","config:schema:check":"node --import tsx scripts/generate-base-config-schema.ts --check","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","test:startup:memory":"node scripts/check-cli-startup-memory.mjs","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","plugin-sdk:api:check":"node --import tsx scripts/generate-plugin-sdk-api-baseline.ts --check","test:build:singleton":"node scripts/test-built-plugin-singleton.mjs","test:parallels:linux":"bash scripts/e2e/parallels-linux-smoke.sh","test:parallels:macos":"bash scripts/e2e/parallels-macos-smoke.sh","test:coverage:changed":"vitest run --config vitest.unit.config.ts --coverage --changed origin/main","android:bundle:release":"bun apps/android/scripts/build-release-aab.ts","test:contracts:plugins":"XCLAW_TEST_PROFILE=low pnpm test -- src/plugins/contracts","test:extensions:memory":"node scripts/profile-extension-memory.mjs","test:parallels:windows":"bash scripts/e2e/parallels-windows-smoke.sh","test:perf:profile:main":"node scripts/run-vitest-profile.mjs main","android:run:third-party":"cd apps/android && ./gradlew :app:installThirdPartyDebug && adb shell am start -n ai.xclaw.app/.MainActivity","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","plugin-sdk:sync-exports":"node scripts/sync-plugin-sdk-exports.mjs","release:xclaw:npm:check":"node --import tsx scripts/xclaw-npm-release-check.ts","test:contracts:channels":"XCLAW_TEST_PROFILE=low pnpm test -- src/channels/plugins/contracts","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"XCLAW_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"XCLAW_LIVE_TEST=1 XCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","android:test:third-party":"cd apps/android && ./gradlew :app:testThirdPartyDebugUnitTest","check:base-config-schema":"node --import tsx scripts/generate-base-config-schema.ts --check","docs:check-i18n-glossary":"node scripts/check-docs-i18n-glossary.mjs","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","plugin-sdk:check-exports":"node scripts/sync-plugin-sdk-exports.mjs --check","release:plugins:npm:plan":"node --import tsx scripts/plugin-npm-release-plan.ts","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:perf:profile:runner":"node scripts/run-vitest-profile.mjs runner","test:perf:update-timings":"node scripts/test-update-timings.mjs","check:no-conflict-markers":"node scripts/check-no-conflict-markers.mjs","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","release:plugins:npm:check":"node --import tsx scripts/plugin-npm-release-check.ts","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:parallels:npm-update":"bash scripts/e2e/parallels-npm-update-smoke.sh","test:perf:imports:changed":"XCLAW_VITEST_IMPORT_DURATIONS=1 XCLAW_VITEST_PRINT_IMPORT_BREAKDOWN=1 pnpm test -- --changed origin/main","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"XCLAW_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","android:install:third-party":"cd apps/android && ./gradlew :app:installThirdPartyDebug","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","android:assemble:third-party":"cd apps/android && ./gradlew :app:assembleThirdPartyDebug","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","lint:tmp:no-random-messaging":"node scripts/check-no-random-messaging-tmp.mjs","check:bundled-plugin-metadata":"node scripts/generate-bundled-plugin-metadata.mjs --check","lint:tmp:no-raw-channel-fetch":"node scripts/check-no-raw-channel-fetch.mjs","test:gateway:watch-regression":"node scripts/check-gateway-watch-regression.mjs","lint:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","test:perf:find-thread-candidates":"node scripts/test-find-thread-candidates.mjs","test:perf:update-memory-hotspots":"node scripts/test-update-memory-hotspots.mjs","lint:plugins:no-extension-imports":"node scripts/check-plugin-extension-import-boundary.mjs","stage:bundled-plugin-runtime-deps":"node scripts/stage-bundled-plugin-runtime-deps.mjs","release:xclaw:npm:verify-published":"node --import tsx scripts/xclaw-npm-postpublish-verify.ts","lint:web-search-provider-boundaries":"node scripts/check-web-search-provider-boundaries.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","check:bundled-provider-auth-env-vars":"node scripts/generate-bundled-provider-auth-env-vars.mjs --check","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-extension-src-imports":"node --import tsx scripts/check-no-extension-src-imports.ts","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:extensions:no-plugin-sdk-internal":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=plugin-sdk-internal","lint:extensions:no-src-outside-plugin-sdk":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=src-outside-plugin-sdk","lint:plugins:plugin-sdk-subpaths-exported":"node scripts/check-plugin-sdk-subpath-exports.mjs","lint:extensions:no-relative-outside-package":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=relative-outside-package","lint:plugins:no-extension-test-core-imports":"node --import tsx scripts/check-no-extension-test-core-imports.ts","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"amirtechai","email":"amirtech.aix@gmail.com"},"repository":{"url":"git+https://github.com/amirtechai/xclaw.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-channel AI gateway with extensible messaging integrations","directories":{"doc":"docs","test":"test"},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.20.0","ajv":"^8.18.0","tar":"7.5.12","zod":"^4.3.6","hono":"4.12.8","jiti":"^2.6.1","long":"^5.3.2","uuid":"^13.0.0","yaml":"^2.8.3","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","gaxios":"7.1.4","undici":"^7.24.5","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"21.3.4","ipaddr.js":"^2.3.0","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.1.0","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","@mariozechner/pi-ai":"0.61.1","@mariozechner/pi-tui":"0.61.1","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1014.0","@agentclientprotocol/sdk":"0.16.1","@anthropic-ai/vertex-sdk":"^0.14.4","@modelcontextprotocol/sdk":"1.27.1","@mariozechner/pi-agent-core":"0.61.1","@mariozechner/pi-coding-agent":"0.61.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","jscpd":"4.0.8","jsdom":"^29.0.1","oxfmt":"0.41.0","oxlint":"^1.56.0","tsdown":"0.21.4","vitest":"^4.1.0","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.5.0","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.17.1","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.1.0","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260322.1"},"peerDependencies":{"node-llama-cpp":"3.18.1","@napi-rs/canvas":"^0.1.89"},"optionalDependencies":{"openshell":"0.1.0"},"peerDependenciesMeta":{"node-llama-cpp":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/xclaude_2026.3.25_1775464508092_0.5271948451627682","host":"s3://npm-registry-packages-npm-production"}},"2026.3.26":{"name":"@amirtechai/xclaude","version":"2026.3.26","keywords":[],"author":"","license":"MIT","_id":"@amirtechai/xclaude@2026.3.26","maintainers":[{"name":"amirtechai","email":"amirtech.aix@gmail.com"}],"homepage":"https://xclaw.amirtech.ai","bugs":{"url":"https://github.com/amirtechai/xclaw/issues"},"bin":{"xclaw":"xclaw.mjs","xclaude":"xclaw.mjs"},"dist":{"shasum":"db9fe5432be067abb77fa2f94500312a3ee46bc4","tarball":"https://registry.npmjs.org/@amirtechai/xclaude/-/xclaude-2026.3.26.tgz","fileCount":14941,"integrity":"sha512-we8Tf9sFfkDUV+efuBaMkVqxptQnle0CXX4nCRL/PpiYrI7iwlGnELhg22SvpstWiH6pKkLyMUdsDRjnuyPddQ==","signatures":[{"sig":"MEYCIQDgaXDaQPCQXCqySQMPufKhGrDNptblzo2Kpg8PGOmn4wIhAJEyv34RRGIQBkWvmexOhw9iuOdbC1vLsD/ug+pATHQc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187200828},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.12","hono":"4.12.8","yauzl":"3.2.1","request":"npm:@cypress/request@3.0.10","file-type":"21.3.4","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.5.7","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"packageExtensions":{"@mariozechner/pi-coding-agent":{"dependencies":{"strip-ansi":"^7.2.0"}}},"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@tloncorp/api","@tloncorp/tlon-skill","@whiskeysockets/baileys","authenticate-pam","esbuild","node-llama-cpp","protobufjs","sharp"],"ignoredBuiltDependencies":["@discordjs/opus","koffi"]},"type":"module","engines":{"node":">=22.16.0"},"exports":{".":"./dist/index.js","./cli-entry":"./xclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./extension-api":"./dist/extensionAPI.js","./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/setup":{"types":"./dist/plugin-sdk/setup.d.ts","default":"./dist/plugin-sdk/setup.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/speech":{"types":"./dist/plugin-sdk/speech.d.ts","default":"./dist/plugin-sdk/speech.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/routing":{"types":"./dist/plugin-sdk/routing.d.ts","default":"./dist/plugin-sdk/routing.js"},"./plugin-sdk/runtime":{"types":"./dist/plugin-sdk/runtime.d.ts","default":"./dist/plugin-sdk/runtime.js"},"./plugin-sdk/sandbox":{"types":"./dist/plugin-sdk/sandbox.d.ts","default":"./dist/plugin-sdk/sandbox.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","default":"./dist/plugin-sdk/testing.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/line-core":{"types":"./dist/plugin-sdk/line-core.d.ts","default":"./dist/plugin-sdk/line-core.js"},"./plugin-sdk/temp-path":{"types":"./dist/plugin-sdk/temp-path.d.ts","default":"./dist/plugin-sdk/temp-path.js"},"./plugin-sdk/tool-send":{"types":"./dist/plugin-sdk/tool-send.d.ts","default":"./dist/plugin-sdk/tool-send.js"},"./plugin-sdk/web-media":{"types":"./dist/plugin-sdk/web-media.d.ts","default":"./dist/plugin-sdk/web-media.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/allow-from":{"types":"./dist/plugin-sdk/allow-from.d.ts","default":"./dist/plugin-sdk/allow-from.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/json-store":{"types":"./dist/plugin-sdk/json-store.d.ts","default":"./dist/plugin-sdk/json-store.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/slack-core":{"types":"./dist/plugin-sdk/slack-core.d.ts","default":"./dist/plugin-sdk/slack-core.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/acp-runtime":{"types":"./dist/plugin-sdk/acp-runtime.d.ts","default":"./dist/plugin-sdk/acp-runtime.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/cli-runtime":{"types":"./dist/plugin-sdk/cli-runtime.d.ts","default":"./dist/plugin-sdk/cli-runtime.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/request-url":{"types":"./dist/plugin-sdk/request-url.d.ts","default":"./dist/plugin-sdk/request-url.js"},"./plugin-sdk/runtime-env":{"types":"./dist/plugin-sdk/runtime-env.d.ts","default":"./dist/plugin-sdk/runtime-env.js"},"./plugin-sdk/setup-tools":{"types":"./dist/plugin-sdk/setup-tools.d.ts","default":"./dist/plugin-sdk/setup-tools.js"},"./plugin-sdk/speech-core":{"types":"./dist/plugin-sdk/speech-core.d.ts","default":"./dist/plugin-sdk/speech-core.js"},"./plugin-sdk/state-paths":{"types":"./dist/plugin-sdk/state-paths.d.ts","default":"./dist/plugin-sdk/state-paths.js"},"./plugin-sdk/command-auth":{"types":"./dist/plugin-sdk/command-auth.d.ts","default":"./dist/plugin-sdk/command-auth.js"},"./plugin-sdk/discord-core":{"types":"./dist/plugin-sdk/discord-core.d.ts","default":"./dist/plugin-sdk/discord-core.js"},"./plugin-sdk/group-access":{"types":"./dist/plugin-sdk/group-access.d.ts","default":"./dist/plugin-sdk/group-access.js"},"./plugin-sdk/hook-runtime":{"types":"./dist/plugin-sdk/hook-runtime.d.ts","default":"./dist/plugin-sdk/hook-runtime.js"},"./plugin-sdk/lazy-runtime":{"types":"./dist/plugin-sdk/lazy-runtime.d.ts","default":"./dist/plugin-sdk/lazy-runtime.js"},"./plugin-sdk/line-runtime":{"types":"./dist/plugin-sdk/line-runtime.d.ts","default":"./dist/plugin-sdk/line-runtime.js"},"./plugin-sdk/ollama-setup":{"types":"./dist/plugin-sdk/ollama-setup.d.ts","default":"./dist/plugin-sdk/ollama-setup.js"},"./plugin-sdk/plugin-entry":{"types":"./dist/plugin-sdk/plugin-entry.d.ts","default":"./dist/plugin-sdk/plugin-entry.js"},"./plugin-sdk/secret-input":{"types":"./dist/plugin-sdk/secret-input.d.ts","default":"./dist/plugin-sdk/secret-input.js"},"./plugin-sdk/ssrf-runtime":{"types":"./dist/plugin-sdk/ssrf-runtime.d.ts","default":"./dist/plugin-sdk/ssrf-runtime.js"},"./plugin-sdk/text-runtime":{"types":"./dist/plugin-sdk/text-runtime.d.ts","default":"./dist/plugin-sdk/text-runtime.js"},"./plugin-sdk/webhook-path":{"types":"./dist/plugin-sdk/webhook-path.d.ts","default":"./dist/plugin-sdk/webhook-path.js"},"./plugin-sdk/agent-runtime":{"types":"./dist/plugin-sdk/agent-runtime.d.ts","default":"./dist/plugin-sdk/agent-runtime.js"},"./plugin-sdk/boolean-param":{"types":"./dist/plugin-sdk/boolean-param.d.ts","default":"./dist/plugin-sdk/boolean-param.js"},"./plugin-sdk/channel-setup":{"types":"./dist/plugin-sdk/channel-setup.d.ts","default":"./dist/plugin-sdk/channel-setup.js"},"./plugin-sdk/imessage-core":{"types":"./dist/plugin-sdk/imessage-core.d.ts","default":"./dist/plugin-sdk/imessage-core.js"},"./plugin-sdk/infra-runtime":{"types":"./dist/plugin-sdk/infra-runtime.d.ts","default":"./dist/plugin-sdk/infra-runtime.js"},"./plugin-sdk/media-runtime":{"types":"./dist/plugin-sdk/media-runtime.d.ts","default":"./dist/plugin-sdk/media-runtime.js"},"./plugin-sdk/param-readers":{"types":"./dist/plugin-sdk/param-readers.d.ts","default":"./dist/plugin-sdk/param-readers.js"},"./plugin-sdk/provider-auth":{"types":"./dist/plugin-sdk/provider-auth.d.ts","default":"./dist/plugin-sdk/provider-auth.js"},"./plugin-sdk/reply-history":{"types":"./dist/plugin-sdk/reply-history.d.ts","default":"./dist/plugin-sdk/reply-history.js"},"./plugin-sdk/reply-payload":{"types":"./dist/plugin-sdk/reply-payload.d.ts","default":"./dist/plugin-sdk/reply-payload.js"},"./plugin-sdk/reply-runtime":{"types":"./dist/plugin-sdk/reply-runtime.d.ts","default":"./dist/plugin-sdk/reply-runtime.js"},"./plugin-sdk/runtime-store":{"types":"./dist/plugin-sdk/runtime-store.d.ts","default":"./dist/plugin-sdk/runtime-store.js"},"./plugin-sdk/setup-runtime":{"types":"./dist/plugin-sdk/setup-runtime.d.ts","default":"./dist/plugin-sdk/setup-runtime.js"},"./plugin-sdk/slack-targets":{"types":"./dist/plugin-sdk/slack-targets.d.ts","default":"./dist/plugin-sdk/slack-targets.js"},"./plugin-sdk/telegram-core":{"types":"./dist/plugin-sdk/telegram-core.d.ts","default":"./dist/plugin-sdk/telegram-core.js"},"./plugin-sdk/whatsapp-core":{"types":"./dist/plugin-sdk/whatsapp-core.d.ts","default":"./dist/plugin-sdk/whatsapp-core.js"},"./plugin-sdk/windows-spawn":{"types":"./dist/plugin-sdk/windows-spawn.d.ts","default":"./dist/plugin-sdk/windows-spawn.js"},"./plugin-sdk/channel-policy":{"types":"./dist/plugin-sdk/channel-policy.d.ts","default":"./dist/plugin-sdk/channel-policy.js"},"./plugin-sdk/channel-status":{"types":"./dist/plugin-sdk/channel-status.d.ts","default":"./dist/plugin-sdk/channel-status.js"},"./plugin-sdk/config-runtime":{"types":"./dist/plugin-sdk/config-runtime.d.ts","default":"./dist/plugin-sdk/config-runtime.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/plugin-runtime":{"types":"./dist/plugin-sdk/plugin-runtime.d.ts","default":"./dist/plugin-sdk/plugin-runtime.js"},"./plugin-sdk/provider-entry":{"types":"./dist/plugin-sdk/provider-entry.d.ts","default":"./dist/plugin-sdk/provider-entry.js"},"./plugin-sdk/provider-setup":{"types":"./dist/plugin-sdk/provider-setup.d.ts","default":"./dist/plugin-sdk/provider-setup.js"},"./plugin-sdk/provider-usage":{"types":"./dist/plugin-sdk/provider-usage.d.ts","default":"./dist/plugin-sdk/provider-usage.js"},"./plugin-sdk/speech-runtime":{"types":"./dist/plugin-sdk/speech-runtime.d.ts","default":"./dist/plugin-sdk/speech-runtime.js"},"./plugin-sdk/status-helpers":{"types":"./dist/plugin-sdk/status-helpers.d.ts","default":"./dist/plugin-sdk/status-helpers.js"},"./plugin-sdk/account-helpers":{"types":"./dist/plugin-sdk/account-helpers.d.ts","default":"./dist/plugin-sdk/account-helpers.js"},"./plugin-sdk/channel-actions":{"types":"./dist/plugin-sdk/channel-actions.d.ts","default":"./dist/plugin-sdk/channel-actions.js"},"./plugin-sdk/channel-inbound":{"types":"./dist/plugin-sdk/channel-inbound.d.ts","default":"./dist/plugin-sdk/channel-inbound.js"},"./plugin-sdk/channel-pairing":{"types":"./dist/plugin-sdk/channel-pairing.d.ts","default":"./dist/plugin-sdk/channel-pairing.js"},"./plugin-sdk/channel-runtime":{"types":"./dist/plugin-sdk/channel-runtime.d.ts","default":"./dist/plugin-sdk/channel-runtime.js"},"./plugin-sdk/channel-targets":{"types":"./dist/plugin-sdk/channel-targets.d.ts","default":"./dist/plugin-sdk/channel-targets.js"},"./plugin-sdk/gateway-runtime":{"types":"./dist/plugin-sdk/gateway-runtime.d.ts","default":"./dist/plugin-sdk/gateway-runtime.js"},"./plugin-sdk/process-runtime":{"types":"./dist/plugin-sdk/process-runtime.d.ts","default":"./dist/plugin-sdk/process-runtime.js"},"./plugin-sdk/provider-google":{"types":"./dist/plugin-sdk/provider-google.d.ts","default":"./dist/plugin-sdk/provider-google.js"},"./plugin-sdk/provider-models":{"types":"./dist/plugin-sdk/provider-models.d.ts","default":"./dist/plugin-sdk/provider-models.js"},"./plugin-sdk/provider-stream":{"types":"./dist/plugin-sdk/provider-stream.d.ts","default":"./dist/plugin-sdk/provider-stream.js"},"./plugin-sdk/webhook-ingress":{"types":"./dist/plugin-sdk/webhook-ingress.d.ts","default":"./dist/plugin-sdk/webhook-ingress.js"},"./plugin-sdk/whatsapp-shared":{"types":"./dist/plugin-sdk/whatsapp-shared.d.ts","default":"./dist/plugin-sdk/whatsapp-shared.js"},"./plugin-sdk/channel-contract":{"types":"./dist/plugin-sdk/channel-contract.d.ts","default":"./dist/plugin-sdk/channel-contract.js"},"./plugin-sdk/channel-feedback":{"types":"./dist/plugin-sdk/channel-feedback.d.ts","default":"./dist/plugin-sdk/channel-feedback.js"},"./plugin-sdk/device-bootstrap":{"types":"./dist/plugin-sdk/device-bootstrap.d.ts","default":"./dist/plugin-sdk/device-bootstrap.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/extension-shared":{"types":"./dist/plugin-sdk/extension-shared.d.ts","default":"./dist/plugin-sdk/extension-shared.js"},"./plugin-sdk/image-generation":{"types":"./dist/plugin-sdk/image-generation.d.ts","default":"./dist/plugin-sdk/image-generation.js"},"./plugin-sdk/outbound-runtime":{"types":"./dist/plugin-sdk/outbound-runtime.d.ts","default":"./dist/plugin-sdk/outbound-runtime.js"},"./plugin-sdk/provider-catalog":{"types":"./dist/plugin-sdk/provider-catalog.d.ts","default":"./dist/plugin-sdk/provider-catalog.js"},"./plugin-sdk/provider-onboard":{"types":"./dist/plugin-sdk/provider-onboard.d.ts","default":"./dist/plugin-sdk/provider-onboard.js"},"./plugin-sdk/security-runtime":{"types":"./dist/plugin-sdk/security-runtime.d.ts","default":"./dist/plugin-sdk/security-runtime.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.js"},"./plugin-sdk/channel-lifecycle":{"types":"./dist/plugin-sdk/channel-lifecycle.d.ts","default":"./dist/plugin-sdk/channel-lifecycle.js"},"./plugin-sdk/directory-runtime":{"types":"./dist/plugin-sdk/directory-runtime.d.ts","default":"./dist/plugin-sdk/directory-runtime.js"},"./plugin-sdk/keyed-async-queue":{"types":"./dist/plugin-sdk/keyed-async-queue.d.ts","default":"./dist/plugin-sdk/keyed-async-queue.js"},"./plugin-sdk/provider-env-vars":{"types":"./dist/plugin-sdk/provider-env-vars.d.ts","default":"./dist/plugin-sdk/provider-env-vars.js"},"./plugin-sdk/account-resolution":{"types":"./dist/plugin-sdk/account-resolution.d.ts","default":"./dist/plugin-sdk/account-resolution.js"},"./plugin-sdk/channel-send-result":{"types":"./dist/plugin-sdk/channel-send-result.d.ts","default":"./dist/plugin-sdk/channel-send-result.js"},"./plugin-sdk/interactive-runtime":{"types":"./dist/plugin-sdk/interactive-runtime.d.ts","default":"./dist/plugin-sdk/interactive-runtime.js"},"./plugin-sdk/media-understanding":{"types":"./dist/plugin-sdk/media-understanding.d.ts","default":"./dist/plugin-sdk/media-understanding.js"},"./plugin-sdk/provider-auth-login":{"types":"./dist/plugin-sdk/provider-auth-login.d.ts","default":"./dist/plugin-sdk/provider-auth-login.js"},"./plugin-sdk/provider-web-search":{"types":"./dist/plugin-sdk/provider-web-search.d.ts","default":"./dist/plugin-sdk/provider-web-search.js"},"./plugin-sdk/conversation-runtime":{"types":"./dist/plugin-sdk/conversation-runtime.d.ts","default":"./dist/plugin-sdk/conversation-runtime.js"},"./plugin-sdk/matrix-runtime-heavy":{"types":"./dist/plugin-sdk/matrix-runtime-heavy.d.ts","default":"./dist/plugin-sdk/matrix-runtime-heavy.js"},"./plugin-sdk/allowlist-config-edit":{"types":"./dist/plugin-sdk/allowlist-config-edit.d.ts","default":"./dist/plugin-sdk/allowlist-config-edit.js"},"./plugin-sdk/channel-config-schema":{"types":"./dist/plugin-sdk/channel-config-schema.d.ts","default":"./dist/plugin-sdk/channel-config-schema.js"},"./plugin-sdk/image-generation-core":{"types":"./dist/plugin-sdk/image-generation-core.d.ts","default":"./dist/plugin-sdk/image-generation-core.js"},"./plugin-sdk/matrix-runtime-shared":{"types":"./dist/plugin-sdk/matrix-runtime-shared.d.ts","default":"./dist/plugin-sdk/matrix-runtime-shared.js"},"./plugin-sdk/provider-auth-api-key":{"types":"./dist/plugin-sdk/provider-auth-api-key.d.ts","default":"./dist/plugin-sdk/provider-auth-api-key.js"},"./plugin-sdk/provider-zai-endpoint":{"types":"./dist/plugin-sdk/provider-zai-endpoint.d.ts","default":"./dist/plugin-sdk/provider-zai-endpoint.js"},"./plugin-sdk/setup-adapter-runtime":{"types":"./dist/plugin-sdk/setup-adapter-runtime.d.ts","default":"./dist/plugin-sdk/setup-adapter-runtime.js"},"./plugin-sdk/channel-config-helpers":{"types":"./dist/plugin-sdk/channel-config-helpers.d.ts","default":"./dist/plugin-sdk/channel-config-helpers.js"},"./plugin-sdk/channel-reply-pipeline":{"types":"./dist/plugin-sdk/channel-reply-pipeline.d.ts","default":"./dist/plugin-sdk/channel-reply-pipeline.js"},"./plugin-sdk/thread-bindings-runtime":{"types":"./dist/plugin-sdk/thread-bindings-runtime.d.ts","default":"./dist/plugin-sdk/thread-bindings-runtime.js"},"./plugin-sdk/self-hosted-provider-setup":{"types":"./dist/plugin-sdk/self-hosted-provider-setup.d.ts","default":"./dist/plugin-sdk/self-hosted-provider-setup.js"},"./plugin-sdk/media-understanding-runtime":{"types":"./dist/plugin-sdk/media-understanding-runtime.d.ts","default":"./dist/plugin-sdk/media-understanding-runtime.js"}},"gitHead":"7c33542fa841fe0a38e7f8fbb8e2ba7b24dc7d9b","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && node scripts/tsdown-build.mjs && node scripts/runtime-postbuild.mjs && node scripts/build-stamp.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && node --import tsx scripts/canvas-a2ui-copy.ts && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/copy-export-html-templates.ts && node --import tsx scripts/write-build-info.ts && node --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm check:no-conflict-markers && pnpm check:host-env-policy:swift && pnpm check:base-config-schema && pnpm check:bundled-plugin-metadata && pnpm check:bundled-provider-auth-env-vars && pnpm format:check && pnpm tsgo && pnpm plugin-sdk:check-exports && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:plugins:no-extension-src-imports && pnpm lint:plugins:no-extension-test-core-imports && pnpm lint:plugins:no-extension-imports && pnpm lint:plugins:plugin-sdk-subpaths-exported && pnpm lint:extensions:no-src-outside-plugin-sdk && pnpm lint:extensions:no-plugin-sdk-internal && pnpm lint:extensions:no-relative-outside-package && pnpm lint:web-search-provider-boundaries && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope","start":"node scripts/run-node.mjs","xclaw":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && xcodebuild -project XClaw.xcodeproj -scheme XClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build && xcrun simctl boot \"${IOS_SIM:-iPhone 17}\" || true && xcrun simctl launch booted ai.xclaw.ios'","prepack":"pnpm build && pnpm ui:build","prepare":"command -v git >/dev/null 2>&1 && git rev-parse --is-inside-work-tree >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"XCLAW_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:beta":"bash scripts/ios-beta-release.sh","ios:open":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && open XClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/XClaw.app","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","dup:check":"jscpd src extensions test scripts --format typescript,javascript --pattern \"**/*.{ts,tsx,js,mjs,cjs}\" --gitignore --noSymlinks --ignore \"**/node_modules/**,**/dist/**,**/.git/**,**/coverage/**,**/build/**,**/.build/**,**/.artifacts/**\" --min-lines 12 --min-tokens 80 --reporters console","ios:build":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && xcodebuild -project XClaw.xcodeproj -scheme XClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"XCLAW_LIVE_TEST=1 vitest run --config vitest.live.config.ts","xclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-i18n-glossary && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installPlayDebug && adb shell am start -n ai.xclaw.app/.MainActivity","audit:seams":"node scripts/audit-seams.mjs","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"XCLAW_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","mac:package":"bash scripts/package-mac-app.sh","mac:restart":"bash scripts/restart-mac.sh","moltbot:rpc":"node scripts/run-node.mjs agent --mode rpc --json","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testPlayDebugUnitTest","build:docker":"node scripts/tsdown-build.mjs && node scripts/runtime-postbuild.mjs && node scripts/build-stamp.mjs && node --import tsx scripts/canvas-a2ui-copy.ts && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/copy-export-html-templates.ts && node --import tsx scripts/write-build-info.ts && node --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","format:check":"oxfmt --check --threads=1","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/XClawKit/Sources","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:changed":"pnpm test -- --changed origin/main","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"XCLAW_TEST_PROFILE=macmini node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"pnpm config:docs:check && pnpm plugin-sdk:api:check && node scripts/stage-bundled-plugin-runtime-deps.mjs && pnpm ui:build && node --import tsx scripts/release-check.ts","test:channels":"XCLAW_TEST_SKIP_DEFAULT=1 XCLAW_TEST_INCLUDE_CHANNELS=1 node scripts/test-parallel.mjs","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","dup:check:json":"jscpd src extensions test scripts --format typescript,javascript --pattern \"**/*.{ts,tsx,js,mjs,cjs}\" --gitignore --noSymlinks --ignore \"**/node_modules/**,**/dist/**,**/.git/**,**/coverage/**,**/build/**,**/.build/**,**/.artifacts/**\" --min-lines 12 --min-tokens 80 --reporters json --output .artifacts/jscpd","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/XClawProtocol/GatewayModels.swift apps/shared/XClawKit/Sources/XClawProtocol/GatewayModels.swift","test:contracts":"pnpm test:contracts:channels && pnpm test:contracts:plugins","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:extension":"node scripts/test-extension.mjs","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installPlayDebug","config:docs:gen":"node --import tsx scripts/generate-config-doc-baseline.ts --write","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"XCLAW_TEST_SKIP_DEFAULT=1 XCLAW_TEST_INCLUDE_EXTENSIONS=1 node scripts/test-parallel.mjs","android:assemble":"cd apps/android && ./gradlew :app:assemblePlayDebug","docs:check-links":"node scripts/docs-link-audit.mjs","ios:beta:archive":"bash scripts/ios-beta-archive.sh","ios:beta:prepare":"bash scripts/ios-beta-prepare.sh","test:auth:compat":"vitest run --config vitest.gateway.config.ts src/gateway/server.auth.compat-baseline.test.ts src/gateway/client.test.ts src/gateway/reconnect-gating.test.ts src/gateway/protocol/connect-error-details.test.ts","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","config:docs:check":"node --import tsx scripts/generate-config-doc-baseline.ts --check","config:schema:gen":"node --import tsx scripts/generate-base-config-schema.ts --write","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"XCLAW_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","test:perf:imports":"XCLAW_VITEST_IMPORT_DURATIONS=1 XCLAW_VITEST_PRINT_IMPORT_BREAKDOWN=1 pnpm test","build:strict-smoke":"pnpm canvas:a2ui:bundle && node scripts/tsdown-build.mjs && node scripts/runtime-postbuild.mjs && node scripts/build-stamp.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","plugin-sdk:api:gen":"node --import tsx scripts/generate-plugin-sdk-api-baseline.ts --write","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:e2e:openshell":"XCLAW_E2E_OPENSHELL=1 vitest run --config vitest.e2e.config.ts test/openshell-sandbox.e2e.test.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","config:schema:check":"node --import tsx scripts/generate-base-config-schema.ts --check","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","test:startup:memory":"node scripts/check-cli-startup-memory.mjs","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","plugin-sdk:api:check":"node --import tsx scripts/generate-plugin-sdk-api-baseline.ts --check","test:build:singleton":"node scripts/test-built-plugin-singleton.mjs","test:parallels:linux":"bash scripts/e2e/parallels-linux-smoke.sh","test:parallels:macos":"bash scripts/e2e/parallels-macos-smoke.sh","test:coverage:changed":"vitest run --config vitest.unit.config.ts --coverage --changed origin/main","android:bundle:release":"bun apps/android/scripts/build-release-aab.ts","test:contracts:plugins":"XCLAW_TEST_PROFILE=low pnpm test -- src/plugins/contracts","test:extensions:memory":"node scripts/profile-extension-memory.mjs","test:parallels:windows":"bash scripts/e2e/parallels-windows-smoke.sh","test:perf:profile:main":"node scripts/run-vitest-profile.mjs main","android:run:third-party":"cd apps/android && ./gradlew :app:installThirdPartyDebug && adb shell am start -n ai.xclaw.app/.MainActivity","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","plugin-sdk:sync-exports":"node scripts/sync-plugin-sdk-exports.mjs","release:xclaw:npm:check":"node --import tsx scripts/xclaw-npm-release-check.ts","test:contracts:channels":"XCLAW_TEST_PROFILE=low pnpm test -- src/channels/plugins/contracts","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"XCLAW_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"XCLAW_LIVE_TEST=1 XCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","android:test:third-party":"cd apps/android && ./gradlew :app:testThirdPartyDebugUnitTest","check:base-config-schema":"node --import tsx scripts/generate-base-config-schema.ts --check","docs:check-i18n-glossary":"node scripts/check-docs-i18n-glossary.mjs","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","plugin-sdk:check-exports":"node scripts/sync-plugin-sdk-exports.mjs --check","release:plugins:npm:plan":"node --import tsx scripts/plugin-npm-release-plan.ts","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:perf:profile:runner":"node scripts/run-vitest-profile.mjs runner","test:perf:update-timings":"node scripts/test-update-timings.mjs","check:no-conflict-markers":"node scripts/check-no-conflict-markers.mjs","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","release:plugins:npm:check":"node --import tsx scripts/plugin-npm-release-check.ts","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:parallels:npm-update":"bash scripts/e2e/parallels-npm-update-smoke.sh","test:perf:imports:changed":"XCLAW_VITEST_IMPORT_DURATIONS=1 XCLAW_VITEST_PRINT_IMPORT_BREAKDOWN=1 pnpm test -- --changed origin/main","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"XCLAW_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","android:install:third-party":"cd apps/android && ./gradlew :app:installThirdPartyDebug","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","android:assemble:third-party":"cd apps/android && ./gradlew :app:assembleThirdPartyDebug","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","lint:tmp:no-random-messaging":"node scripts/check-no-random-messaging-tmp.mjs","check:bundled-plugin-metadata":"node scripts/generate-bundled-plugin-metadata.mjs --check","lint:tmp:no-raw-channel-fetch":"node scripts/check-no-raw-channel-fetch.mjs","test:gateway:watch-regression":"node scripts/check-gateway-watch-regression.mjs","lint:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","test:perf:find-thread-candidates":"node scripts/test-find-thread-candidates.mjs","test:perf:update-memory-hotspots":"node scripts/test-update-memory-hotspots.mjs","lint:plugins:no-extension-imports":"node scripts/check-plugin-extension-import-boundary.mjs","stage:bundled-plugin-runtime-deps":"node scripts/stage-bundled-plugin-runtime-deps.mjs","release:xclaw:npm:verify-published":"node --import tsx scripts/xclaw-npm-postpublish-verify.ts","lint:web-search-provider-boundaries":"node scripts/check-web-search-provider-boundaries.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","check:bundled-provider-auth-env-vars":"node scripts/generate-bundled-provider-auth-env-vars.mjs --check","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-extension-src-imports":"node --import tsx scripts/check-no-extension-src-imports.ts","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:extensions:no-plugin-sdk-internal":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=plugin-sdk-internal","lint:extensions:no-src-outside-plugin-sdk":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=src-outside-plugin-sdk","lint:plugins:plugin-sdk-subpaths-exported":"node scripts/check-plugin-sdk-subpath-exports.mjs","lint:extensions:no-relative-outside-package":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=relative-outside-package","lint:plugins:no-extension-test-core-imports":"node --import tsx scripts/check-no-extension-test-core-imports.ts","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"amirtechai","email":"amirtech.aix@gmail.com"},"repository":{"url":"git+https://github.com/amirtechai/xclaw.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-channel AI gateway with extensible messaging integrations","directories":{"doc":"docs","test":"test"},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.20.0","ajv":"^8.18.0","tar":"7.5.12","zod":"^4.3.6","hono":"4.12.8","jiti":"^2.6.1","long":"^5.3.2","uuid":"^13.0.0","yaml":"^2.8.3","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","gaxios":"7.1.4","undici":"^7.24.5","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"21.3.4","ipaddr.js":"^2.3.0","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.1.0","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","@mariozechner/pi-ai":"0.61.1","@mariozechner/pi-tui":"0.61.1","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1014.0","@agentclientprotocol/sdk":"0.16.1","@anthropic-ai/vertex-sdk":"^0.14.4","@modelcontextprotocol/sdk":"1.27.1","@mariozechner/pi-agent-core":"0.61.1","@mariozechner/pi-coding-agent":"0.61.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","jscpd":"4.0.8","jsdom":"^29.0.1","oxfmt":"0.41.0","oxlint":"^1.56.0","tsdown":"0.21.4","vitest":"^4.1.0","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.5.0","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.17.1","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.1.0","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260322.1"},"peerDependencies":{"node-llama-cpp":"3.18.1","@napi-rs/canvas":"^0.1.89"},"optionalDependencies":{"openshell":"0.1.0"},"peerDependenciesMeta":{"node-llama-cpp":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/xclaude_2026.3.26_1775495802184_0.27654163022480627","host":"s3://npm-registry-packages-npm-production"}},"2026.3.27":{"name":"@amirtechai/xclaude","version":"2026.3.27","keywords":[],"author":"","license":"MIT","_id":"@amirtechai/xclaude@2026.3.27","maintainers":[{"name":"amirtechai","email":"amirtech.aix@gmail.com"}],"homepage":"https://xclaw.amirtech.ai","bugs":{"url":"https://github.com/amirtechai/xclaw/issues"},"bin":{"xclaw":"xclaw.mjs","xclaude":"xclaw.mjs"},"dist":{"shasum":"cf9ea485e774b5928353cc939b2f24707abc3838","tarball":"https://registry.npmjs.org/@amirtechai/xclaude/-/xclaude-2026.3.27.tgz","fileCount":14941,"integrity":"sha512-/BWUnVAAnemNRO7Q1I//r7/uC0v2yDlTYFrI1b+7UcdSTA9ladGggrb670CnV3eIZLHzDs+5b133I4wwqPnfMQ==","signatures":[{"sig":"MEYCIQDi836Et6tNqkMuCO5dYUbaCsUqmrQW2JkHFfxuMs3DQQIhAKvOHL4EsTuG+qylO1XrASiaLEiTTALBDb9UuO0fFT/G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187200680},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.12","hono":"4.12.8","yauzl":"3.2.1","request":"npm:@cypress/request@3.0.10","file-type":"21.3.4","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.5.7","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"packageExtensions":{"@mariozechner/pi-coding-agent":{"dependencies":{"strip-ansi":"^7.2.0"}}},"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@tloncorp/api","@tloncorp/tlon-skill","@whiskeysockets/baileys","authenticate-pam","esbuild","node-llama-cpp","protobufjs","sharp"],"ignoredBuiltDependencies":["@discordjs/opus","koffi"]},"type":"module","engines":{"node":">=22.16.0"},"exports":{".":"./dist/index.js","./cli-entry":"./xclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./extension-api":"./dist/extensionAPI.js","./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/setup":{"types":"./dist/plugin-sdk/setup.d.ts","default":"./dist/plugin-sdk/setup.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/speech":{"types":"./dist/plugin-sdk/speech.d.ts","default":"./dist/plugin-sdk/speech.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/routing":{"types":"./dist/plugin-sdk/routing.d.ts","default":"./dist/plugin-sdk/routing.js"},"./plugin-sdk/runtime":{"types":"./dist/plugin-sdk/runtime.d.ts","default":"./dist/plugin-sdk/runtime.js"},"./plugin-sdk/sandbox":{"types":"./dist/plugin-sdk/sandbox.d.ts","default":"./dist/plugin-sdk/sandbox.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","default":"./dist/plugin-sdk/testing.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/line-core":{"types":"./dist/plugin-sdk/line-core.d.ts","default":"./dist/plugin-sdk/line-core.js"},"./plugin-sdk/temp-path":{"types":"./dist/plugin-sdk/temp-path.d.ts","default":"./dist/plugin-sdk/temp-path.js"},"./plugin-sdk/tool-send":{"types":"./dist/plugin-sdk/tool-send.d.ts","default":"./dist/plugin-sdk/tool-send.js"},"./plugin-sdk/web-media":{"types":"./dist/plugin-sdk/web-media.d.ts","default":"./dist/plugin-sdk/web-media.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/allow-from":{"types":"./dist/plugin-sdk/allow-from.d.ts","default":"./dist/plugin-sdk/allow-from.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/json-store":{"types":"./dist/plugin-sdk/json-store.d.ts","default":"./dist/plugin-sdk/json-store.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/slack-core":{"types":"./dist/plugin-sdk/slack-core.d.ts","default":"./dist/plugin-sdk/slack-core.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/acp-runtime":{"types":"./dist/plugin-sdk/acp-runtime.d.ts","default":"./dist/plugin-sdk/acp-runtime.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/cli-runtime":{"types":"./dist/plugin-sdk/cli-runtime.d.ts","default":"./dist/plugin-sdk/cli-runtime.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/request-url":{"types":"./dist/plugin-sdk/request-url.d.ts","default":"./dist/plugin-sdk/request-url.js"},"./plugin-sdk/runtime-env":{"types":"./dist/plugin-sdk/runtime-env.d.ts","default":"./dist/plugin-sdk/runtime-env.js"},"./plugin-sdk/setup-tools":{"types":"./dist/plugin-sdk/setup-tools.d.ts","default":"./dist/plugin-sdk/setup-tools.js"},"./plugin-sdk/speech-core":{"types":"./dist/plugin-sdk/speech-core.d.ts","default":"./dist/plugin-sdk/speech-core.js"},"./plugin-sdk/state-paths":{"types":"./dist/plugin-sdk/state-paths.d.ts","default":"./dist/plugin-sdk/state-paths.js"},"./plugin-sdk/command-auth":{"types":"./dist/plugin-sdk/command-auth.d.ts","default":"./dist/plugin-sdk/command-auth.js"},"./plugin-sdk/discord-core":{"types":"./dist/plugin-sdk/discord-core.d.ts","default":"./dist/plugin-sdk/discord-core.js"},"./plugin-sdk/group-access":{"types":"./dist/plugin-sdk/group-access.d.ts","default":"./dist/plugin-sdk/group-access.js"},"./plugin-sdk/hook-runtime":{"types":"./dist/plugin-sdk/hook-runtime.d.ts","default":"./dist/plugin-sdk/hook-runtime.js"},"./plugin-sdk/lazy-runtime":{"types":"./dist/plugin-sdk/lazy-runtime.d.ts","default":"./dist/plugin-sdk/lazy-runtime.js"},"./plugin-sdk/line-runtime":{"types":"./dist/plugin-sdk/line-runtime.d.ts","default":"./dist/plugin-sdk/line-runtime.js"},"./plugin-sdk/ollama-setup":{"types":"./dist/plugin-sdk/ollama-setup.d.ts","default":"./dist/plugin-sdk/ollama-setup.js"},"./plugin-sdk/plugin-entry":{"types":"./dist/plugin-sdk/plugin-entry.d.ts","default":"./dist/plugin-sdk/plugin-entry.js"},"./plugin-sdk/secret-input":{"types":"./dist/plugin-sdk/secret-input.d.ts","default":"./dist/plugin-sdk/secret-input.js"},"./plugin-sdk/ssrf-runtime":{"types":"./dist/plugin-sdk/ssrf-runtime.d.ts","default":"./dist/plugin-sdk/ssrf-runtime.js"},"./plugin-sdk/text-runtime":{"types":"./dist/plugin-sdk/text-runtime.d.ts","default":"./dist/plugin-sdk/text-runtime.js"},"./plugin-sdk/webhook-path":{"types":"./dist/plugin-sdk/webhook-path.d.ts","default":"./dist/plugin-sdk/webhook-path.js"},"./plugin-sdk/agent-runtime":{"types":"./dist/plugin-sdk/agent-runtime.d.ts","default":"./dist/plugin-sdk/agent-runtime.js"},"./plugin-sdk/boolean-param":{"types":"./dist/plugin-sdk/boolean-param.d.ts","default":"./dist/plugin-sdk/boolean-param.js"},"./plugin-sdk/channel-setup":{"types":"./dist/plugin-sdk/channel-setup.d.ts","default":"./dist/plugin-sdk/channel-setup.js"},"./plugin-sdk/imessage-core":{"types":"./dist/plugin-sdk/imessage-core.d.ts","default":"./dist/plugin-sdk/imessage-core.js"},"./plugin-sdk/infra-runtime":{"types":"./dist/plugin-sdk/infra-runtime.d.ts","default":"./dist/plugin-sdk/infra-runtime.js"},"./plugin-sdk/media-runtime":{"types":"./dist/plugin-sdk/media-runtime.d.ts","default":"./dist/plugin-sdk/media-runtime.js"},"./plugin-sdk/param-readers":{"types":"./dist/plugin-sdk/param-readers.d.ts","default":"./dist/plugin-sdk/param-readers.js"},"./plugin-sdk/provider-auth":{"types":"./dist/plugin-sdk/provider-auth.d.ts","default":"./dist/plugin-sdk/provider-auth.js"},"./plugin-sdk/reply-history":{"types":"./dist/plugin-sdk/reply-history.d.ts","default":"./dist/plugin-sdk/reply-history.js"},"./plugin-sdk/reply-payload":{"types":"./dist/plugin-sdk/reply-payload.d.ts","default":"./dist/plugin-sdk/reply-payload.js"},"./plugin-sdk/reply-runtime":{"types":"./dist/plugin-sdk/reply-runtime.d.ts","default":"./dist/plugin-sdk/reply-runtime.js"},"./plugin-sdk/runtime-store":{"types":"./dist/plugin-sdk/runtime-store.d.ts","default":"./dist/plugin-sdk/runtime-store.js"},"./plugin-sdk/setup-runtime":{"types":"./dist/plugin-sdk/setup-runtime.d.ts","default":"./dist/plugin-sdk/setup-runtime.js"},"./plugin-sdk/slack-targets":{"types":"./dist/plugin-sdk/slack-targets.d.ts","default":"./dist/plugin-sdk/slack-targets.js"},"./plugin-sdk/telegram-core":{"types":"./dist/plugin-sdk/telegram-core.d.ts","default":"./dist/plugin-sdk/telegram-core.js"},"./plugin-sdk/whatsapp-core":{"types":"./dist/plugin-sdk/whatsapp-core.d.ts","default":"./dist/plugin-sdk/whatsapp-core.js"},"./plugin-sdk/windows-spawn":{"types":"./dist/plugin-sdk/windows-spawn.d.ts","default":"./dist/plugin-sdk/windows-spawn.js"},"./plugin-sdk/channel-policy":{"types":"./dist/plugin-sdk/channel-policy.d.ts","default":"./dist/plugin-sdk/channel-policy.js"},"./plugin-sdk/channel-status":{"types":"./dist/plugin-sdk/channel-status.d.ts","default":"./dist/plugin-sdk/channel-status.js"},"./plugin-sdk/config-runtime":{"types":"./dist/plugin-sdk/config-runtime.d.ts","default":"./dist/plugin-sdk/config-runtime.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/plugin-runtime":{"types":"./dist/plugin-sdk/plugin-runtime.d.ts","default":"./dist/plugin-sdk/plugin-runtime.js"},"./plugin-sdk/provider-entry":{"types":"./dist/plugin-sdk/provider-entry.d.ts","default":"./dist/plugin-sdk/provider-entry.js"},"./plugin-sdk/provider-setup":{"types":"./dist/plugin-sdk/provider-setup.d.ts","default":"./dist/plugin-sdk/provider-setup.js"},"./plugin-sdk/provider-usage":{"types":"./dist/plugin-sdk/provider-usage.d.ts","default":"./dist/plugin-sdk/provider-usage.js"},"./plugin-sdk/speech-runtime":{"types":"./dist/plugin-sdk/speech-runtime.d.ts","default":"./dist/plugin-sdk/speech-runtime.js"},"./plugin-sdk/status-helpers":{"types":"./dist/plugin-sdk/status-helpers.d.ts","default":"./dist/plugin-sdk/status-helpers.js"},"./plugin-sdk/account-helpers":{"types":"./dist/plugin-sdk/account-helpers.d.ts","default":"./dist/plugin-sdk/account-helpers.js"},"./plugin-sdk/channel-actions":{"types":"./dist/plugin-sdk/channel-actions.d.ts","default":"./dist/plugin-sdk/channel-actions.js"},"./plugin-sdk/channel-inbound":{"types":"./dist/plugin-sdk/channel-inbound.d.ts","default":"./dist/plugin-sdk/channel-inbound.js"},"./plugin-sdk/channel-pairing":{"types":"./dist/plugin-sdk/channel-pairing.d.ts","default":"./dist/plugin-sdk/channel-pairing.js"},"./plugin-sdk/channel-runtime":{"types":"./dist/plugin-sdk/channel-runtime.d.ts","default":"./dist/plugin-sdk/channel-runtime.js"},"./plugin-sdk/channel-targets":{"types":"./dist/plugin-sdk/channel-targets.d.ts","default":"./dist/plugin-sdk/channel-targets.js"},"./plugin-sdk/gateway-runtime":{"types":"./dist/plugin-sdk/gateway-runtime.d.ts","default":"./dist/plugin-sdk/gateway-runtime.js"},"./plugin-sdk/process-runtime":{"types":"./dist/plugin-sdk/process-runtime.d.ts","default":"./dist/plugin-sdk/process-runtime.js"},"./plugin-sdk/provider-google":{"types":"./dist/plugin-sdk/provider-google.d.ts","default":"./dist/plugin-sdk/provider-google.js"},"./plugin-sdk/provider-models":{"types":"./dist/plugin-sdk/provider-models.d.ts","default":"./dist/plugin-sdk/provider-models.js"},"./plugin-sdk/provider-stream":{"types":"./dist/plugin-sdk/provider-stream.d.ts","default":"./dist/plugin-sdk/provider-stream.js"},"./plugin-sdk/webhook-ingress":{"types":"./dist/plugin-sdk/webhook-ingress.d.ts","default":"./dist/plugin-sdk/webhook-ingress.js"},"./plugin-sdk/whatsapp-shared":{"types":"./dist/plugin-sdk/whatsapp-shared.d.ts","default":"./dist/plugin-sdk/whatsapp-shared.js"},"./plugin-sdk/channel-contract":{"types":"./dist/plugin-sdk/channel-contract.d.ts","default":"./dist/plugin-sdk/channel-contract.js"},"./plugin-sdk/channel-feedback":{"types":"./dist/plugin-sdk/channel-feedback.d.ts","default":"./dist/plugin-sdk/channel-feedback.js"},"./plugin-sdk/device-bootstrap":{"types":"./dist/plugin-sdk/device-bootstrap.d.ts","default":"./dist/plugin-sdk/device-bootstrap.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/extension-shared":{"types":"./dist/plugin-sdk/extension-shared.d.ts","default":"./dist/plugin-sdk/extension-shared.js"},"./plugin-sdk/image-generation":{"types":"./dist/plugin-sdk/image-generation.d.ts","default":"./dist/plugin-sdk/image-generation.js"},"./plugin-sdk/outbound-runtime":{"types":"./dist/plugin-sdk/outbound-runtime.d.ts","default":"./dist/plugin-sdk/outbound-runtime.js"},"./plugin-sdk/provider-catalog":{"types":"./dist/plugin-sdk/provider-catalog.d.ts","default":"./dist/plugin-sdk/provider-catalog.js"},"./plugin-sdk/provider-onboard":{"types":"./dist/plugin-sdk/provider-onboard.d.ts","default":"./dist/plugin-sdk/provider-onboard.js"},"./plugin-sdk/security-runtime":{"types":"./dist/plugin-sdk/security-runtime.d.ts","default":"./dist/plugin-sdk/security-runtime.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.js"},"./plugin-sdk/channel-lifecycle":{"types":"./dist/plugin-sdk/channel-lifecycle.d.ts","default":"./dist/plugin-sdk/channel-lifecycle.js"},"./plugin-sdk/directory-runtime":{"types":"./dist/plugin-sdk/directory-runtime.d.ts","default":"./dist/plugin-sdk/directory-runtime.js"},"./plugin-sdk/keyed-async-queue":{"types":"./dist/plugin-sdk/keyed-async-queue.d.ts","default":"./dist/plugin-sdk/keyed-async-queue.js"},"./plugin-sdk/provider-env-vars":{"types":"./dist/plugin-sdk/provider-env-vars.d.ts","default":"./dist/plugin-sdk/provider-env-vars.js"},"./plugin-sdk/account-resolution":{"types":"./dist/plugin-sdk/account-resolution.d.ts","default":"./dist/plugin-sdk/account-resolution.js"},"./plugin-sdk/channel-send-result":{"types":"./dist/plugin-sdk/channel-send-result.d.ts","default":"./dist/plugin-sdk/channel-send-result.js"},"./plugin-sdk/interactive-runtime":{"types":"./dist/plugin-sdk/interactive-runtime.d.ts","default":"./dist/plugin-sdk/interactive-runtime.js"},"./plugin-sdk/media-understanding":{"types":"./dist/plugin-sdk/media-understanding.d.ts","default":"./dist/plugin-sdk/media-understanding.js"},"./plugin-sdk/provider-auth-login":{"types":"./dist/plugin-sdk/provider-auth-login.d.ts","default":"./dist/plugin-sdk/provider-auth-login.js"},"./plugin-sdk/provider-web-search":{"types":"./dist/plugin-sdk/provider-web-search.d.ts","default":"./dist/plugin-sdk/provider-web-search.js"},"./plugin-sdk/conversation-runtime":{"types":"./dist/plugin-sdk/conversation-runtime.d.ts","default":"./dist/plugin-sdk/conversation-runtime.js"},"./plugin-sdk/matrix-runtime-heavy":{"types":"./dist/plugin-sdk/matrix-runtime-heavy.d.ts","default":"./dist/plugin-sdk/matrix-runtime-heavy.js"},"./plugin-sdk/allowlist-config-edit":{"types":"./dist/plugin-sdk/allowlist-config-edit.d.ts","default":"./dist/plugin-sdk/allowlist-config-edit.js"},"./plugin-sdk/channel-config-schema":{"types":"./dist/plugin-sdk/channel-config-schema.d.ts","default":"./dist/plugin-sdk/channel-config-schema.js"},"./plugin-sdk/image-generation-core":{"types":"./dist/plugin-sdk/image-generation-core.d.ts","default":"./dist/plugin-sdk/image-generation-core.js"},"./plugin-sdk/matrix-runtime-shared":{"types":"./dist/plugin-sdk/matrix-runtime-shared.d.ts","default":"./dist/plugin-sdk/matrix-runtime-shared.js"},"./plugin-sdk/provider-auth-api-key":{"types":"./dist/plugin-sdk/provider-auth-api-key.d.ts","default":"./dist/plugin-sdk/provider-auth-api-key.js"},"./plugin-sdk/provider-zai-endpoint":{"types":"./dist/plugin-sdk/provider-zai-endpoint.d.ts","default":"./dist/plugin-sdk/provider-zai-endpoint.js"},"./plugin-sdk/setup-adapter-runtime":{"types":"./dist/plugin-sdk/setup-adapter-runtime.d.ts","default":"./dist/plugin-sdk/setup-adapter-runtime.js"},"./plugin-sdk/channel-config-helpers":{"types":"./dist/plugin-sdk/channel-config-helpers.d.ts","default":"./dist/plugin-sdk/channel-config-helpers.js"},"./plugin-sdk/channel-reply-pipeline":{"types":"./dist/plugin-sdk/channel-reply-pipeline.d.ts","default":"./dist/plugin-sdk/channel-reply-pipeline.js"},"./plugin-sdk/thread-bindings-runtime":{"types":"./dist/plugin-sdk/thread-bindings-runtime.d.ts","default":"./dist/plugin-sdk/thread-bindings-runtime.js"},"./plugin-sdk/self-hosted-provider-setup":{"types":"./dist/plugin-sdk/self-hosted-provider-setup.d.ts","default":"./dist/plugin-sdk/self-hosted-provider-setup.js"},"./plugin-sdk/media-understanding-runtime":{"types":"./dist/plugin-sdk/media-understanding-runtime.d.ts","default":"./dist/plugin-sdk/media-understanding-runtime.js"}},"gitHead":"7c33542fa841fe0a38e7f8fbb8e2ba7b24dc7d9b","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && node scripts/tsdown-build.mjs && node scripts/runtime-postbuild.mjs && node scripts/build-stamp.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && node --import tsx scripts/canvas-a2ui-copy.ts && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/copy-export-html-templates.ts && node --import tsx scripts/write-build-info.ts && node --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm check:no-conflict-markers && pnpm check:host-env-policy:swift && pnpm check:base-config-schema && pnpm check:bundled-plugin-metadata && pnpm check:bundled-provider-auth-env-vars && pnpm format:check && pnpm tsgo && pnpm plugin-sdk:check-exports && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:plugins:no-extension-src-imports && pnpm lint:plugins:no-extension-test-core-imports && pnpm lint:plugins:no-extension-imports && pnpm lint:plugins:plugin-sdk-subpaths-exported && pnpm lint:extensions:no-src-outside-plugin-sdk && pnpm lint:extensions:no-plugin-sdk-internal && pnpm lint:extensions:no-relative-outside-package && pnpm lint:web-search-provider-boundaries && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope","start":"node scripts/run-node.mjs","xclaw":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && xcodebuild -project XClaw.xcodeproj -scheme XClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build && xcrun simctl boot \"${IOS_SIM:-iPhone 17}\" || true && xcrun simctl launch booted ai.xclaw.ios'","prepack":"pnpm build && pnpm ui:build","prepare":"command -v git >/dev/null 2>&1 && git rev-parse --is-inside-work-tree >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"XCLAW_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:beta":"bash scripts/ios-beta-release.sh","ios:open":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && open XClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/XClaw.app","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","dup:check":"jscpd src extensions test scripts --format typescript,javascript --pattern \"**/*.{ts,tsx,js,mjs,cjs}\" --gitignore --noSymlinks --ignore \"**/node_modules/**,**/dist/**,**/.git/**,**/coverage/**,**/build/**,**/.build/**,**/.artifacts/**\" --min-lines 12 --min-tokens 80 --reporters console","ios:build":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && xcodebuild -project XClaw.xcodeproj -scheme XClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"XCLAW_LIVE_TEST=1 vitest run --config vitest.live.config.ts","xclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-i18n-glossary && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installPlayDebug && adb shell am start -n ai.xclaw.app/.MainActivity","audit:seams":"node scripts/audit-seams.mjs","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"XCLAW_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","mac:package":"bash scripts/package-mac-app.sh","mac:restart":"bash scripts/restart-mac.sh","moltbot:rpc":"node scripts/run-node.mjs agent --mode rpc --json","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testPlayDebugUnitTest","build:docker":"node scripts/tsdown-build.mjs && node scripts/runtime-postbuild.mjs && node scripts/build-stamp.mjs && node --import tsx scripts/canvas-a2ui-copy.ts && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/copy-export-html-templates.ts && node --import tsx scripts/write-build-info.ts && node --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","format:check":"oxfmt --check --threads=1","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/XClawKit/Sources","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:changed":"pnpm test -- --changed origin/main","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"XCLAW_TEST_PROFILE=macmini node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"pnpm config:docs:check && pnpm plugin-sdk:api:check && node scripts/stage-bundled-plugin-runtime-deps.mjs && pnpm ui:build && node --import tsx scripts/release-check.ts","test:channels":"XCLAW_TEST_SKIP_DEFAULT=1 XCLAW_TEST_INCLUDE_CHANNELS=1 node scripts/test-parallel.mjs","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","dup:check:json":"jscpd src extensions test scripts --format typescript,javascript --pattern \"**/*.{ts,tsx,js,mjs,cjs}\" --gitignore --noSymlinks --ignore \"**/node_modules/**,**/dist/**,**/.git/**,**/coverage/**,**/build/**,**/.build/**,**/.artifacts/**\" --min-lines 12 --min-tokens 80 --reporters json --output .artifacts/jscpd","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/XClawProtocol/GatewayModels.swift apps/shared/XClawKit/Sources/XClawProtocol/GatewayModels.swift","test:contracts":"pnpm test:contracts:channels && pnpm test:contracts:plugins","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:extension":"node scripts/test-extension.mjs","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installPlayDebug","config:docs:gen":"node --import tsx scripts/generate-config-doc-baseline.ts --write","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"XCLAW_TEST_SKIP_DEFAULT=1 XCLAW_TEST_INCLUDE_EXTENSIONS=1 node scripts/test-parallel.mjs","android:assemble":"cd apps/android && ./gradlew :app:assemblePlayDebug","docs:check-links":"node scripts/docs-link-audit.mjs","ios:beta:archive":"bash scripts/ios-beta-archive.sh","ios:beta:prepare":"bash scripts/ios-beta-prepare.sh","test:auth:compat":"vitest run --config vitest.gateway.config.ts src/gateway/server.auth.compat-baseline.test.ts src/gateway/client.test.ts src/gateway/reconnect-gating.test.ts src/gateway/protocol/connect-error-details.test.ts","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","config:docs:check":"node --import tsx scripts/generate-config-doc-baseline.ts --check","config:schema:gen":"node --import tsx scripts/generate-base-config-schema.ts --write","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"XCLAW_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","test:perf:imports":"XCLAW_VITEST_IMPORT_DURATIONS=1 XCLAW_VITEST_PRINT_IMPORT_BREAKDOWN=1 pnpm test","build:strict-smoke":"pnpm canvas:a2ui:bundle && node scripts/tsdown-build.mjs && node scripts/runtime-postbuild.mjs && node scripts/build-stamp.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","plugin-sdk:api:gen":"node --import tsx scripts/generate-plugin-sdk-api-baseline.ts --write","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:e2e:openshell":"XCLAW_E2E_OPENSHELL=1 vitest run --config vitest.e2e.config.ts test/openshell-sandbox.e2e.test.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","config:schema:check":"node --import tsx scripts/generate-base-config-schema.ts --check","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","test:startup:memory":"node scripts/check-cli-startup-memory.mjs","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","plugin-sdk:api:check":"node --import tsx scripts/generate-plugin-sdk-api-baseline.ts --check","test:build:singleton":"node scripts/test-built-plugin-singleton.mjs","test:parallels:linux":"bash scripts/e2e/parallels-linux-smoke.sh","test:parallels:macos":"bash scripts/e2e/parallels-macos-smoke.sh","test:coverage:changed":"vitest run --config vitest.unit.config.ts --coverage --changed origin/main","android:bundle:release":"bun apps/android/scripts/build-release-aab.ts","test:contracts:plugins":"XCLAW_TEST_PROFILE=low pnpm test -- src/plugins/contracts","test:extensions:memory":"node scripts/profile-extension-memory.mjs","test:parallels:windows":"bash scripts/e2e/parallels-windows-smoke.sh","test:perf:profile:main":"node scripts/run-vitest-profile.mjs main","android:run:third-party":"cd apps/android && ./gradlew :app:installThirdPartyDebug && adb shell am start -n ai.xclaw.app/.MainActivity","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","plugin-sdk:sync-exports":"node scripts/sync-plugin-sdk-exports.mjs","release:xclaw:npm:check":"node --import tsx scripts/xclaw-npm-release-check.ts","test:contracts:channels":"XCLAW_TEST_PROFILE=low pnpm test -- src/channels/plugins/contracts","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"XCLAW_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"XCLAW_LIVE_TEST=1 XCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","android:test:third-party":"cd apps/android && ./gradlew :app:testThirdPartyDebugUnitTest","check:base-config-schema":"node --import tsx scripts/generate-base-config-schema.ts --check","docs:check-i18n-glossary":"node scripts/check-docs-i18n-glossary.mjs","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","plugin-sdk:check-exports":"node scripts/sync-plugin-sdk-exports.mjs --check","release:plugins:npm:plan":"node --import tsx scripts/plugin-npm-release-plan.ts","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:perf:profile:runner":"node scripts/run-vitest-profile.mjs runner","test:perf:update-timings":"node scripts/test-update-timings.mjs","check:no-conflict-markers":"node scripts/check-no-conflict-markers.mjs","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","release:plugins:npm:check":"node --import tsx scripts/plugin-npm-release-check.ts","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:parallels:npm-update":"bash scripts/e2e/parallels-npm-update-smoke.sh","test:perf:imports:changed":"XCLAW_VITEST_IMPORT_DURATIONS=1 XCLAW_VITEST_PRINT_IMPORT_BREAKDOWN=1 pnpm test -- --changed origin/main","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"XCLAW_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","android:install:third-party":"cd apps/android && ./gradlew :app:installThirdPartyDebug","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","android:assemble:third-party":"cd apps/android && ./gradlew :app:assembleThirdPartyDebug","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","lint:tmp:no-random-messaging":"node scripts/check-no-random-messaging-tmp.mjs","check:bundled-plugin-metadata":"node scripts/generate-bundled-plugin-metadata.mjs --check","lint:tmp:no-raw-channel-fetch":"node scripts/check-no-raw-channel-fetch.mjs","test:gateway:watch-regression":"node scripts/check-gateway-watch-regression.mjs","lint:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","test:perf:find-thread-candidates":"node scripts/test-find-thread-candidates.mjs","test:perf:update-memory-hotspots":"node scripts/test-update-memory-hotspots.mjs","lint:plugins:no-extension-imports":"node scripts/check-plugin-extension-import-boundary.mjs","stage:bundled-plugin-runtime-deps":"node scripts/stage-bundled-plugin-runtime-deps.mjs","release:xclaw:npm:verify-published":"node --import tsx scripts/xclaw-npm-postpublish-verify.ts","lint:web-search-provider-boundaries":"node scripts/check-web-search-provider-boundaries.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","check:bundled-provider-auth-env-vars":"node scripts/generate-bundled-provider-auth-env-vars.mjs --check","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-extension-src-imports":"node --import tsx scripts/check-no-extension-src-imports.ts","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:extensions:no-plugin-sdk-internal":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=plugin-sdk-internal","lint:extensions:no-src-outside-plugin-sdk":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=src-outside-plugin-sdk","lint:plugins:plugin-sdk-subpaths-exported":"node scripts/check-plugin-sdk-subpath-exports.mjs","lint:extensions:no-relative-outside-package":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=relative-outside-package","lint:plugins:no-extension-test-core-imports":"node --import tsx scripts/check-no-extension-test-core-imports.ts","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"amirtechai","email":"amirtech.aix@gmail.com"},"repository":{"url":"git+https://github.com/amirtechai/xclaw.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-channel AI gateway with extensible messaging integrations","directories":{"doc":"docs","test":"test"},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.20.0","ajv":"^8.18.0","tar":"7.5.12","zod":"^4.3.6","hono":"4.12.8","jiti":"^2.6.1","long":"^5.3.2","uuid":"^13.0.0","yaml":"^2.8.3","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","gaxios":"7.1.4","undici":"^7.24.5","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"21.3.4","ipaddr.js":"^2.3.0","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.1.0","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","@mariozechner/pi-ai":"0.61.1","@mariozechner/pi-tui":"0.61.1","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1014.0","@agentclientprotocol/sdk":"0.16.1","@anthropic-ai/vertex-sdk":"^0.14.4","@modelcontextprotocol/sdk":"1.27.1","@mariozechner/pi-agent-core":"0.61.1","@mariozechner/pi-coding-agent":"0.61.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","jscpd":"4.0.8","jsdom":"^29.0.1","oxfmt":"0.41.0","oxlint":"^1.56.0","tsdown":"0.21.4","vitest":"^4.1.0","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.5.0","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.17.1","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.1.0","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260322.1"},"peerDependencies":{"node-llama-cpp":"3.18.1","@napi-rs/canvas":"^0.1.89"},"optionalDependencies":{"openshell":"0.1.0"},"peerDependenciesMeta":{"node-llama-cpp":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/xclaude_2026.3.27_1775495985295_0.7744358988656757","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@amirtechai/xclaude","version":"0.1.7","keywords":["claude-code","openai","llm","cli","agent","deepseek","ollama","gemini"],"license":"SEE LICENSE FILE","_id":"@amirtechai/xclaude@0.1.7","maintainers":[{"name":"amirtechai","email":"amirtech.aix@gmail.com"}],"homepage":"https://github.com/amirtechai/xclaude#readme","bugs":{"url":"https://github.com/amirtechai/xclaude/issues"},"bin":{"xclaude":"bin/xclaude"},"dist":{"shasum":"adbc082287b998c923fcdc0d677f5b22aefb06bb","tarball":"https://registry.npmjs.org/@amirtechai/xclaude/-/xclaude-0.1.7.tgz","fileCount":7,"integrity":"sha512-5s74fXddNN4WJqEwQZfH6Lon4v7UQB+Cbx2YnPnCF+pxVPaIO2nEg0KX8DRmD5choth/WZMMGcA/XU+Yk5tlAw==","signatures":[{"sig":"MEQCIDQ/VwGsJpGK1LwVfnIn/kl2lgNpfWtN1cDYDAe4jB7uAiBRX/x8AfN5/qSmB/8heNFi6Ibh4ZGiAVGGTX82bvSxcQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20065016},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"6e17df82062ac85bddb56b7e2f59a159e6a47964","scripts":{"dev":"bun run build && node dist/cli.mjs","test":"bun test --path-ignore-patterns='vscode-extension/**'","build":"bun run scripts/build.ts","smoke":"bun run build && node dist/cli.mjs --version","start":"node dist/cli.mjs","prepack":"npm run build","dev:code":"bun run profile:code && bun run dev:profile","dev:fast":"bun run profile:fast && bun run dev:ollama:fast","test:all":"bun test","dev:codex":"bun run scripts/provider-launch.ts codex","typecheck":"bunx tsc --noEmit","dev:gemini":"bun run scripts/provider-launch.ts gemini","dev:ollama":"bun run scripts/provider-launch.ts ollama","dev:openai":"bun run scripts/provider-launch.ts openai","dev:profile":"bun run scripts/provider-launch.ts","profile:auto":"bun run scripts/provider-recommend.ts --apply","profile:code":"bun run profile:init -- --provider ollama --model qwen2.5-coder:7b","profile:fast":"bun run profile:init -- --provider ollama --model llama3.2:3b","profile:init":"bun run scripts/provider-bootstrap.ts","doctor:report":"bun run scripts/system-check.ts --out reports/doctor-runtime.json","profile:codex":"bun run profile:init -- --provider codex --model codexplan","test:provider":"bun test src/services/api/*.test.ts src/utils/context.test.ts","build:verified":"bun run build && bun run verify:privacy","doctor:runtime":"bun run scripts/system-check.ts","verify:privacy":"bun run scripts/verify-no-phone-home.ts","dev:atomic-chat":"bun run scripts/provider-launch.ts atomic-chat","dev:ollama:fast":"bun run scripts/provider-launch.ts ollama --fast --bare","hardening:check":"bun run smoke && bun run doctor:runtime","dev:profile:fast":"bun run scripts/provider-launch.ts auto --fast --bare","hardening:strict":"bun run typecheck && bun run hardening:check","profile:recommend":"bun run scripts/provider-recommend.ts","doctor:runtime:json":"bun run scripts/system-check.ts --json","test:provider-recommendation":"bun test src/utils/providerRecommendation.test.ts src/utils/providerProfile.test.ts"},"_npmUser":{"name":"amirtechai","email":"amirtech.aix@gmail.com"},"repository":{"url":"git+https://github.com/amirtechai/xclaude.git","type":"git"},"_npmVersion":"10.9.7","description":"Claude Code opened to any LLM — OpenAI, Gemini, DeepSeek, Groq, Ollama, and 200+ models","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"8.20.0","ajv":"8.18.0","xss":"1.0.15","zod":"3.25.76","diff":"8.0.3","yaml":"2.8.3","axios":"1.14.0","chalk":"5.6.2","execa":"9.6.1","p-map":"7.0.4","react":"19.2.4","sharp":"^0.34.5","fflate":"0.8.2","ignore":"7.0.5","marked":"15.0.12","qrcode":"1.5.4","semver":"7.7.4","undici":"7.24.6","bidi-js":"1.0.3","figures":"6.1.0","fuse.js":"7.1.0","chokidar":"4.0.3","turndown":"7.2.2","auto-bind":"5.0.1","cli-boxes":"3.0.0","commander":"12.1.0","env-paths":"3.0.0","lodash-es":"4.18.0","lru-cache":"11.2.7","picomatch":"4.0.4","tree-kill":"1.2.2","type-fest":"4.41.0","wrap-ansi":"9.0.2","strip-ansi":"7.2.0","emoji-regex":"10.6.0","shell-quote":"1.8.3","signal-exit":"4.1.0","stack-utils":"2.0.6","usehooks-ts":"3.1.1","code-excerpt":"4.0.0","jsonc-parser":"3.3.1","cli-highlight":"2.1.11","indent-string":"5.0.0","proper-lockfile":"4.1.2","duck-duck-scrape":"^2.2.7","react-reconciler":"0.33.0","@anthropic-ai/sdk":"0.81.0","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.1","@opentelemetry/core":"2.6.1","google-auth-library":"9.15.1","supports-hyperlinks":"3.2.0","get-east-asian-width":"1.5.0","@growthbook/growthbook":"1.6.5","@mendable/firecrawl-js":"4.18.1","react-compiler-runtime":"1.0.0","@opentelemetry/api-logs":"0.214.0","@opentelemetry/sdk-logs":"0.214.0","@alcalzone/ansi-tokenize":"0.3.0","@anthropic-ai/vertex-sdk":"0.14.4","@opentelemetry/resources":"2.6.1","@anthropic-ai/bedrock-sdk":"0.26.4","@anthropic-ai/foundry-sdk":"0.2.3","@modelcontextprotocol/sdk":"1.29.0","@opentelemetry/sdk-metrics":"2.6.1","@commander-js/extra-typings":"12.1.0","@anthropic-ai/sandbox-runtime":"0.0.46","@opentelemetry/sdk-trace-base":"2.6.1","@opentelemetry/sdk-trace-node":"2.6.1","vscode-languageserver-protocol":"3.17.5","@opentelemetry/semantic-conventions":"1.40.0","@opentelemetry/exporter-logs-otlp-http":"0.214.0","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"1.3.11","typescript":"5.9.3","@types/node":"25.5.0","@types/react":"19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/xclaude_0.1.7_1775496639934_0.5891903264803011","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@amirtechai/xclaude","version":"0.1.8","keywords":["claude-code","openai","llm","cli","agent","deepseek","ollama","gemini"],"license":"SEE LICENSE FILE","_id":"@amirtechai/xclaude@0.1.8","maintainers":[{"name":"amirtechai","email":"amirtech.aix@gmail.com"}],"homepage":"https://github.com/amirtechai/xclaude#readme","bugs":{"url":"https://github.com/amirtechai/xclaude/issues"},"bin":{"xclaude":"bin/xclaude"},"dist":{"shasum":"de4aa9b4119c1704943f59b856cd30f34a73ab25","tarball":"https://registry.npmjs.org/@amirtechai/xclaude/-/xclaude-0.1.8.tgz","fileCount":7,"integrity":"sha512-IfukMKeC3PyKrfOgsm0Ci+pDfmAFNJ1K0IslJ4pNfDl4KxNL/d5TuFWX4cRmY8fhm2ihL1q/C0jiC+XrHUNh5w==","signatures":[{"sig":"MEQCIG3d5uJQ4Pz1ZnTt5byJ83dKqTUAmBFnkL6s4qFtwdA5AiAyY7CCho6kkHrwChkHTmzQazc4R0B56bn7j7lENnEnEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20065216},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"7adc834b22f2acc4642c65178222c964651f2d8f","scripts":{"dev":"bun run build && node dist/cli.mjs","test":"bun test --path-ignore-patterns='vscode-extension/**'","build":"bun run scripts/build.ts","smoke":"bun run build && node dist/cli.mjs --version","start":"node dist/cli.mjs","prepack":"npm run build","dev:code":"bun run profile:code && bun run dev:profile","dev:fast":"bun run profile:fast && bun run dev:ollama:fast","test:all":"bun test","dev:codex":"bun run scripts/provider-launch.ts codex","typecheck":"bunx tsc --noEmit","dev:gemini":"bun run scripts/provider-launch.ts gemini","dev:ollama":"bun run scripts/provider-launch.ts ollama","dev:openai":"bun run scripts/provider-launch.ts openai","dev:profile":"bun run scripts/provider-launch.ts","profile:auto":"bun run scripts/provider-recommend.ts --apply","profile:code":"bun run profile:init -- --provider ollama --model qwen2.5-coder:7b","profile:fast":"bun run profile:init -- --provider ollama --model llama3.2:3b","profile:init":"bun run scripts/provider-bootstrap.ts","doctor:report":"bun run scripts/system-check.ts --out reports/doctor-runtime.json","profile:codex":"bun run profile:init -- --provider codex --model codexplan","test:provider":"bun test src/services/api/*.test.ts src/utils/context.test.ts","build:verified":"bun run build && bun run verify:privacy","doctor:runtime":"bun run scripts/system-check.ts","verify:privacy":"bun run scripts/verify-no-phone-home.ts","dev:atomic-chat":"bun run scripts/provider-launch.ts atomic-chat","dev:ollama:fast":"bun run scripts/provider-launch.ts ollama --fast --bare","hardening:check":"bun run smoke && bun run doctor:runtime","dev:profile:fast":"bun run scripts/provider-launch.ts auto --fast --bare","hardening:strict":"bun run typecheck && bun run hardening:check","profile:recommend":"bun run scripts/provider-recommend.ts","doctor:runtime:json":"bun run scripts/system-check.ts --json","test:provider-recommendation":"bun test src/utils/providerRecommendation.test.ts src/utils/providerProfile.test.ts"},"_npmUser":{"name":"amirtechai","email":"amirtech.aix@gmail.com"},"repository":{"url":"git+https://github.com/amirtechai/xclaude.git","type":"git"},"_npmVersion":"10.9.7","description":"Claude Code opened to any LLM — OpenAI, Gemini, DeepSeek, Groq, Ollama, and 200+ models","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"8.20.0","ajv":"8.18.0","xss":"1.0.15","zod":"3.25.76","diff":"8.0.3","yaml":"2.8.3","axios":"1.14.0","chalk":"5.6.2","execa":"9.6.1","p-map":"7.0.4","react":"19.2.4","sharp":"^0.34.5","fflate":"0.8.2","ignore":"7.0.5","marked":"15.0.12","qrcode":"1.5.4","semver":"7.7.4","undici":"7.24.6","bidi-js":"1.0.3","figures":"6.1.0","fuse.js":"7.1.0","chokidar":"4.0.3","turndown":"7.2.2","auto-bind":"5.0.1","cli-boxes":"3.0.0","commander":"12.1.0","env-paths":"3.0.0","lodash-es":"4.18.0","lru-cache":"11.2.7","picomatch":"4.0.4","tree-kill":"1.2.2","type-fest":"4.41.0","wrap-ansi":"9.0.2","strip-ansi":"7.2.0","emoji-regex":"10.6.0","shell-quote":"1.8.3","signal-exit":"4.1.0","stack-utils":"2.0.6","usehooks-ts":"3.1.1","code-excerpt":"4.0.0","jsonc-parser":"3.3.1","cli-highlight":"2.1.11","indent-string":"5.0.0","proper-lockfile":"4.1.2","duck-duck-scrape":"^2.2.7","react-reconciler":"0.33.0","@anthropic-ai/sdk":"0.81.0","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.1","@opentelemetry/core":"2.6.1","google-auth-library":"9.15.1","supports-hyperlinks":"3.2.0","get-east-asian-width":"1.5.0","@growthbook/growthbook":"1.6.5","@mendable/firecrawl-js":"4.18.1","react-compiler-runtime":"1.0.0","@opentelemetry/api-logs":"0.214.0","@opentelemetry/sdk-logs":"0.214.0","@alcalzone/ansi-tokenize":"0.3.0","@anthropic-ai/vertex-sdk":"0.14.4","@opentelemetry/resources":"2.6.1","@anthropic-ai/bedrock-sdk":"0.26.4","@anthropic-ai/foundry-sdk":"0.2.3","@modelcontextprotocol/sdk":"1.29.0","@opentelemetry/sdk-metrics":"2.6.1","@commander-js/extra-typings":"12.1.0","@anthropic-ai/sandbox-runtime":"0.0.46","@opentelemetry/sdk-trace-base":"2.6.1","@opentelemetry/sdk-trace-node":"2.6.1","vscode-languageserver-protocol":"3.17.5","@opentelemetry/semantic-conventions":"1.40.0","@opentelemetry/exporter-logs-otlp-http":"0.214.0","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"1.3.11","typescript":"5.9.3","@types/node":"25.5.0","@types/react":"19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/xclaude_0.1.8_1775497350699_0.8026942114364746","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@amirtechai/xclaude","version":"0.1.9","keywords":["claude-code","openai","llm","cli","agent","deepseek","ollama","gemini"],"license":"SEE LICENSE FILE","_id":"@amirtechai/xclaude@0.1.9","maintainers":[{"name":"amirtechai","email":"amirtech.aix@gmail.com"}],"homepage":"https://github.com/amirtechai/xclaude#readme","bugs":{"url":"https://github.com/amirtechai/xclaude/issues"},"bin":{"xclaude":"bin/xclaude"},"dist":{"shasum":"0003916eab7a423718a4785fec44f22c62820b23","tarball":"https://registry.npmjs.org/@amirtechai/xclaude/-/xclaude-0.1.9.tgz","fileCount":7,"integrity":"sha512-mYTq7mElrXuQwtwlWDauBPg35YYZ1zS0hCB4jYnBJuMg8CHqdF9xk39u6skIQYK8r3tD3ROtGv6Gq32BQFfDvQ==","signatures":[{"sig":"MEYCIQChSADTdmrLbPHZ5Rr2u8iYcPnIZGsxFPIditLJNMGFmwIhAIERQFbje1C1mIMWUtjxjt8xehzTJ6Hcxaek6GZTg1i5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20065681},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"70c3c4e07b58214f28c463c380f8a4b69a39a6e4","scripts":{"dev":"bun run build && node dist/cli.mjs","test":"bun test --path-ignore-patterns='vscode-extension/**'","build":"bun run scripts/build.ts","smoke":"bun run build && node dist/cli.mjs --version","start":"node dist/cli.mjs","prepack":"npm run build","dev:code":"bun run profile:code && bun run dev:profile","dev:fast":"bun run profile:fast && bun run dev:ollama:fast","test:all":"bun test","dev:codex":"bun run scripts/provider-launch.ts codex","typecheck":"bunx tsc --noEmit","dev:gemini":"bun run scripts/provider-launch.ts gemini","dev:ollama":"bun run scripts/provider-launch.ts ollama","dev:openai":"bun run scripts/provider-launch.ts openai","dev:profile":"bun run scripts/provider-launch.ts","profile:auto":"bun run scripts/provider-recommend.ts --apply","profile:code":"bun run profile:init -- --provider ollama --model qwen2.5-coder:7b","profile:fast":"bun run profile:init -- --provider ollama --model llama3.2:3b","profile:init":"bun run scripts/provider-bootstrap.ts","doctor:report":"bun run scripts/system-check.ts --out reports/doctor-runtime.json","profile:codex":"bun run profile:init -- --provider codex --model codexplan","test:provider":"bun test src/services/api/*.test.ts src/utils/context.test.ts","build:verified":"bun run build && bun run verify:privacy","doctor:runtime":"bun run scripts/system-check.ts","verify:privacy":"bun run scripts/verify-no-phone-home.ts","dev:atomic-chat":"bun run scripts/provider-launch.ts atomic-chat","dev:ollama:fast":"bun run scripts/provider-launch.ts ollama --fast --bare","hardening:check":"bun run smoke && bun run doctor:runtime","dev:profile:fast":"bun run scripts/provider-launch.ts auto --fast --bare","hardening:strict":"bun run typecheck && bun run hardening:check","profile:recommend":"bun run scripts/provider-recommend.ts","doctor:runtime:json":"bun run scripts/system-check.ts --json","test:provider-recommendation":"bun test src/utils/providerRecommendation.test.ts src/utils/providerProfile.test.ts"},"_npmUser":{"name":"amirtechai","email":"amirtech.aix@gmail.com"},"repository":{"url":"git+https://github.com/amirtechai/xclaude.git","type":"git"},"_npmVersion":"10.9.7","description":"Claude Code opened to any LLM — OpenAI, Gemini, DeepSeek, Groq, Ollama, and 200+ models","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"8.20.0","ajv":"8.18.0","xss":"1.0.15","zod":"3.25.76","diff":"8.0.3","yaml":"2.8.3","axios":"1.14.0","chalk":"5.6.2","execa":"9.6.1","p-map":"7.0.4","react":"19.2.4","sharp":"^0.34.5","fflate":"0.8.2","ignore":"7.0.5","marked":"15.0.12","qrcode":"1.5.4","semver":"7.7.4","undici":"7.24.6","bidi-js":"1.0.3","figures":"6.1.0","fuse.js":"7.1.0","chokidar":"4.0.3","turndown":"7.2.2","auto-bind":"5.0.1","cli-boxes":"3.0.0","commander":"12.1.0","env-paths":"3.0.0","lodash-es":"4.18.0","lru-cache":"11.2.7","picomatch":"4.0.4","tree-kill":"1.2.2","type-fest":"4.41.0","wrap-ansi":"9.0.2","strip-ansi":"7.2.0","emoji-regex":"10.6.0","shell-quote":"1.8.3","signal-exit":"4.1.0","stack-utils":"2.0.6","usehooks-ts":"3.1.1","code-excerpt":"4.0.0","jsonc-parser":"3.3.1","cli-highlight":"2.1.11","indent-string":"5.0.0","proper-lockfile":"4.1.2","duck-duck-scrape":"^2.2.7","react-reconciler":"0.33.0","@anthropic-ai/sdk":"0.81.0","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.1","@opentelemetry/core":"2.6.1","google-auth-library":"9.15.1","supports-hyperlinks":"3.2.0","get-east-asian-width":"1.5.0","@growthbook/growthbook":"1.6.5","@mendable/firecrawl-js":"4.18.1","react-compiler-runtime":"1.0.0","@opentelemetry/api-logs":"0.214.0","@opentelemetry/sdk-logs":"0.214.0","@alcalzone/ansi-tokenize":"0.3.0","@anthropic-ai/vertex-sdk":"0.14.4","@opentelemetry/resources":"2.6.1","@anthropic-ai/bedrock-sdk":"0.26.4","@anthropic-ai/foundry-sdk":"0.2.3","@modelcontextprotocol/sdk":"1.29.0","@opentelemetry/sdk-metrics":"2.6.1","@commander-js/extra-typings":"12.1.0","@anthropic-ai/sandbox-runtime":"0.0.46","@opentelemetry/sdk-trace-base":"2.6.1","@opentelemetry/sdk-trace-node":"2.6.1","vscode-languageserver-protocol":"3.17.5","@opentelemetry/semantic-conventions":"1.40.0","@opentelemetry/exporter-logs-otlp-http":"0.214.0","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"1.3.11","typescript":"5.9.3","@types/node":"25.5.0","@types/react":"19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/xclaude_0.1.9_1775503478006_0.9398751536058956","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@amirtechai/xclaude","version":"0.2.0","keywords":["claude-code","openai","llm","cli","agent","deepseek","ollama","gemini"],"license":"SEE LICENSE FILE","_id":"@amirtechai/xclaude@0.2.0","maintainers":[{"name":"amirtechai","email":"amirtech.aix@gmail.com"}],"homepage":"https://github.com/amirtechai/xclaude#readme","bugs":{"url":"https://github.com/amirtechai/xclaude/issues"},"bin":{"xclaude":"bin/xclaude"},"dist":{"shasum":"f01f9792880b80ca1e7c98435cf0f58320ed82d6","tarball":"https://registry.npmjs.org/@amirtechai/xclaude/-/xclaude-0.2.0.tgz","fileCount":7,"integrity":"sha512-UaQNlBdEr2p7Uk9wA019TcCQISix16kc5oU1WlRO9efkY9m9kVC8caTVlCByDdjtNgbRIRRXkZbMTgBX7U4QoQ==","signatures":[{"sig":"MEYCIQDSgUXuYOwZAdrPqVWlBBBFilOUHgNUAuOeysk+bQq0OAIhAMdMJdWbdZE3pDBt3HPLwerxu0bnwM0A405zPp+tYZ/U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20075960},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"8f3c9c13b30fd748c542fb5f5296a50eb0acd45c","scripts":{"dev":"bun run build && node dist/cli.mjs","test":"bun test --path-ignore-patterns='vscode-extension/**'","build":"bun run scripts/build.ts","smoke":"bun run build && node dist/cli.mjs --version","start":"node dist/cli.mjs","prepack":"npm run build","dev:code":"bun run profile:code && bun run dev:profile","dev:fast":"bun run profile:fast && bun run dev:ollama:fast","test:all":"bun test","dev:codex":"bun run scripts/provider-launch.ts codex","typecheck":"bunx tsc --noEmit","dev:gemini":"bun run scripts/provider-launch.ts gemini","dev:ollama":"bun run scripts/provider-launch.ts ollama","dev:openai":"bun run scripts/provider-launch.ts openai","dev:profile":"bun run scripts/provider-launch.ts","profile:auto":"bun run scripts/provider-recommend.ts --apply","profile:code":"bun run profile:init -- --provider ollama --model qwen2.5-coder:7b","profile:fast":"bun run profile:init -- --provider ollama --model llama3.2:3b","profile:init":"bun run scripts/provider-bootstrap.ts","doctor:report":"bun run scripts/system-check.ts --out reports/doctor-runtime.json","profile:codex":"bun run profile:init -- --provider codex --model codexplan","test:provider":"bun test src/services/api/*.test.ts src/utils/context.test.ts","build:verified":"bun run build && bun run verify:privacy","doctor:runtime":"bun run scripts/system-check.ts","verify:privacy":"bun run scripts/verify-no-phone-home.ts","dev:atomic-chat":"bun run scripts/provider-launch.ts atomic-chat","dev:ollama:fast":"bun run scripts/provider-launch.ts ollama --fast --bare","hardening:check":"bun run smoke && bun run doctor:runtime","dev:profile:fast":"bun run scripts/provider-launch.ts auto --fast --bare","hardening:strict":"bun run typecheck && bun run hardening:check","profile:recommend":"bun run scripts/provider-recommend.ts","doctor:runtime:json":"bun run scripts/system-check.ts --json","test:provider-recommendation":"bun test src/utils/providerRecommendation.test.ts src/utils/providerProfile.test.ts"},"_npmUser":{"name":"amirtechai","email":"amirtech.aix@gmail.com"},"repository":{"url":"git+https://github.com/amirtechai/xclaude.git","type":"git"},"_npmVersion":"10.9.7","description":"Claude Code opened to any LLM — OpenAI, Gemini, DeepSeek, Groq, Ollama, and 200+ models","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"8.20.0","ajv":"8.18.0","xss":"1.0.15","zod":"3.25.76","diff":"8.0.3","yaml":"2.8.3","axios":"1.14.0","chalk":"5.6.2","execa":"9.6.1","p-map":"7.0.4","react":"19.2.4","sharp":"^0.34.5","fflate":"0.8.2","ignore":"7.0.5","marked":"15.0.12","qrcode":"1.5.4","semver":"7.7.4","undici":"7.24.6","bidi-js":"1.0.3","figures":"6.1.0","fuse.js":"7.1.0","chokidar":"4.0.3","turndown":"7.2.2","auto-bind":"5.0.1","cli-boxes":"3.0.0","commander":"12.1.0","env-paths":"3.0.0","lodash-es":"4.18.0","lru-cache":"11.2.7","picomatch":"4.0.4","tree-kill":"1.2.2","type-fest":"4.41.0","wrap-ansi":"9.0.2","strip-ansi":"7.2.0","emoji-regex":"10.6.0","shell-quote":"1.8.3","signal-exit":"4.1.0","stack-utils":"2.0.6","usehooks-ts":"3.1.1","code-excerpt":"4.0.0","jsonc-parser":"3.3.1","cli-highlight":"2.1.11","indent-string":"5.0.0","proper-lockfile":"4.1.2","duck-duck-scrape":"^2.2.7","react-reconciler":"0.33.0","@anthropic-ai/sdk":"0.81.0","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.1","@opentelemetry/core":"2.6.1","google-auth-library":"9.15.1","supports-hyperlinks":"3.2.0","get-east-asian-width":"1.5.0","@growthbook/growthbook":"1.6.5","@mendable/firecrawl-js":"4.18.1","react-compiler-runtime":"1.0.0","@opentelemetry/api-logs":"0.214.0","@opentelemetry/sdk-logs":"0.214.0","@alcalzone/ansi-tokenize":"0.3.0","@anthropic-ai/vertex-sdk":"0.14.4","@opentelemetry/resources":"2.6.1","@anthropic-ai/bedrock-sdk":"0.26.4","@anthropic-ai/foundry-sdk":"0.2.3","@modelcontextprotocol/sdk":"1.29.0","@opentelemetry/sdk-metrics":"2.6.1","@commander-js/extra-typings":"12.1.0","@anthropic-ai/sandbox-runtime":"0.0.46","@opentelemetry/sdk-trace-base":"2.6.1","@opentelemetry/sdk-trace-node":"2.6.1","vscode-languageserver-protocol":"3.17.5","@opentelemetry/semantic-conventions":"1.40.0","@opentelemetry/exporter-logs-otlp-http":"0.214.0","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"1.3.11","typescript":"5.9.3","@types/node":"25.5.0","@types/react":"19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/xclaude_0.2.0_1775546754809_0.3830425016000649","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@amirtechai/xclaude","version":"0.2.1","keywords":["claude-code","openai","llm","cli","agent","deepseek","ollama","gemini"],"license":"SEE LICENSE FILE","_id":"@amirtechai/xclaude@0.2.1","maintainers":[{"name":"amirtechai","email":"amirtech.aix@gmail.com"}],"homepage":"https://github.com/amirtechai/xclaude#readme","bugs":{"url":"https://github.com/amirtechai/xclaude/issues"},"bin":{"xclaude":"bin/xclaude"},"dist":{"shasum":"5f441be2d33da78d17bf4a391ad97c3f8591e187","tarball":"https://registry.npmjs.org/@amirtechai/xclaude/-/xclaude-0.2.1.tgz","fileCount":7,"integrity":"sha512-YnsdvkRfHZh6u3UACmqidLwvlolQrq1gzaXepMUJRFwxu9XkQ4miXZbJ75V30K4ezvmuAa9SKDn8NBeIuTNwVA==","signatures":[{"sig":"MEUCIQDChSPWnrpp0bhbTpxL0q55AM359cBbcpx15J4XQh1NiAIgbkQjwsfjWjXikuOo/7ZpHOUM6MAEwNX0Gx40ttW5nGs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20075499},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"b073a1a53ac700b380fd70ccfea869b5b6d80943","scripts":{"dev":"bun run build && node dist/cli.mjs","test":"bun test --path-ignore-patterns='vscode-extension/**'","build":"bun run scripts/build.ts","smoke":"bun run build && node dist/cli.mjs --version","start":"node dist/cli.mjs","prepack":"npm run build","dev:code":"bun run profile:code && bun run dev:profile","dev:fast":"bun run profile:fast && bun run dev:ollama:fast","test:all":"bun test","dev:codex":"bun run scripts/provider-launch.ts codex","typecheck":"bunx tsc --noEmit","dev:gemini":"bun run scripts/provider-launch.ts gemini","dev:ollama":"bun run scripts/provider-launch.ts ollama","dev:openai":"bun run scripts/provider-launch.ts openai","dev:profile":"bun run scripts/provider-launch.ts","profile:auto":"bun run scripts/provider-recommend.ts --apply","profile:code":"bun run profile:init -- --provider ollama --model qwen2.5-coder:7b","profile:fast":"bun run profile:init -- --provider ollama --model llama3.2:3b","profile:init":"bun run scripts/provider-bootstrap.ts","doctor:report":"bun run scripts/system-check.ts --out reports/doctor-runtime.json","profile:codex":"bun run profile:init -- --provider codex --model codexplan","test:provider":"bun test src/services/api/*.test.ts src/utils/context.test.ts","build:verified":"bun run build && bun run verify:privacy","doctor:runtime":"bun run scripts/system-check.ts","verify:privacy":"bun run scripts/verify-no-phone-home.ts","dev:atomic-chat":"bun run scripts/provider-launch.ts atomic-chat","dev:ollama:fast":"bun run scripts/provider-launch.ts ollama --fast --bare","hardening:check":"bun run smoke && bun run doctor:runtime","dev:profile:fast":"bun run scripts/provider-launch.ts auto --fast --bare","hardening:strict":"bun run typecheck && bun run hardening:check","profile:recommend":"bun run scripts/provider-recommend.ts","doctor:runtime:json":"bun run scripts/system-check.ts --json","test:provider-recommendation":"bun test src/utils/providerRecommendation.test.ts src/utils/providerProfile.test.ts"},"_npmUser":{"name":"amirtechai","email":"amirtech.aix@gmail.com"},"repository":{"url":"git+https://github.com/amirtechai/xclaude.git","type":"git"},"_npmVersion":"10.9.7","description":"Claude Code opened to any LLM — OpenAI, Gemini, DeepSeek, Groq, Ollama, and 200+ models","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"8.20.0","ajv":"8.18.0","xss":"1.0.15","zod":"3.25.76","diff":"8.0.3","yaml":"2.8.3","axios":"1.14.0","chalk":"5.6.2","execa":"9.6.1","p-map":"7.0.4","react":"19.2.4","sharp":"^0.34.5","fflate":"0.8.2","ignore":"7.0.5","marked":"15.0.12","qrcode":"1.5.4","semver":"7.7.4","undici":"7.24.6","bidi-js":"1.0.3","figures":"6.1.0","fuse.js":"7.1.0","chokidar":"4.0.3","turndown":"7.2.2","auto-bind":"5.0.1","cli-boxes":"3.0.0","commander":"12.1.0","env-paths":"3.0.0","lodash-es":"4.18.0","lru-cache":"11.2.7","picomatch":"4.0.4","tree-kill":"1.2.2","type-fest":"4.41.0","wrap-ansi":"9.0.2","strip-ansi":"7.2.0","emoji-regex":"10.6.0","shell-quote":"1.8.3","signal-exit":"4.1.0","stack-utils":"2.0.6","usehooks-ts":"3.1.1","code-excerpt":"4.0.0","jsonc-parser":"3.3.1","cli-highlight":"2.1.11","indent-string":"5.0.0","proper-lockfile":"4.1.2","duck-duck-scrape":"^2.2.7","react-reconciler":"0.33.0","@anthropic-ai/sdk":"0.81.0","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.1","@opentelemetry/core":"2.6.1","google-auth-library":"9.15.1","supports-hyperlinks":"3.2.0","get-east-asian-width":"1.5.0","@growthbook/growthbook":"1.6.5","@mendable/firecrawl-js":"4.18.1","react-compiler-runtime":"1.0.0","@opentelemetry/api-logs":"0.214.0","@opentelemetry/sdk-logs":"0.214.0","@alcalzone/ansi-tokenize":"0.3.0","@anthropic-ai/vertex-sdk":"0.14.4","@opentelemetry/resources":"2.6.1","@anthropic-ai/bedrock-sdk":"0.26.4","@anthropic-ai/foundry-sdk":"0.2.3","@modelcontextprotocol/sdk":"1.29.0","@opentelemetry/sdk-metrics":"2.6.1","@commander-js/extra-typings":"12.1.0","@anthropic-ai/sandbox-runtime":"0.0.46","@opentelemetry/sdk-trace-base":"2.6.1","@opentelemetry/sdk-trace-node":"2.6.1","vscode-languageserver-protocol":"3.17.5","@opentelemetry/semantic-conventions":"1.40.0","@opentelemetry/exporter-logs-otlp-http":"0.214.0","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"1.3.11","typescript":"5.9.3","@types/node":"25.5.0","@types/react":"19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/xclaude_0.2.1_1775922680550_0.8574280332628923","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@amirtechai/xclaude","version":"0.2.2","keywords":["claude-code","openai","llm","cli","agent","deepseek","ollama","gemini"],"license":"SEE LICENSE FILE","_id":"@amirtechai/xclaude@0.2.2","maintainers":[{"name":"amirtechai","email":"amirtech.aix@gmail.com"}],"homepage":"https://github.com/amirtechai/xclaude#readme","bugs":{"url":"https://github.com/amirtechai/xclaude/issues"},"bin":{"xclaude":"bin/xclaude"},"dist":{"shasum":"7d41c15d475adbb55936d44c1c51dd932d7e7afd","tarball":"https://registry.npmjs.org/@amirtechai/xclaude/-/xclaude-0.2.2.tgz","fileCount":7,"integrity":"sha512-mtzEyE5mi2WhMR46ZN6uS3JkWA9bYM2U/KwpRt1otalH1Houbvxh3MvMBgGPgyS90cBxK/8N7yPbFa+P7V6nDA==","signatures":[{"sig":"MEUCIQD9RmUZWPupiNrD4dOoVMhG5/MU2mxFKQuDu3EhHmO50gIgTwZ1mC7XkquaFZNn2vyjuzCjmoXe12wl+KMnVBPRzBA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20075402},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"b073a1a53ac700b380fd70ccfea869b5b6d80943","scripts":{"dev":"bun run build && node dist/cli.mjs","test":"bun test --path-ignore-patterns='vscode-extension/**'","build":"bun run scripts/build.ts","smoke":"bun run build && node dist/cli.mjs --version","start":"node dist/cli.mjs","prepack":"npm run build","dev:code":"bun run profile:code && bun run dev:profile","dev:fast":"bun run profile:fast && bun run dev:ollama:fast","test:all":"bun test","dev:codex":"bun run scripts/provider-launch.ts codex","typecheck":"bunx tsc --noEmit","dev:gemini":"bun run scripts/provider-launch.ts gemini","dev:ollama":"bun run scripts/provider-launch.ts ollama","dev:openai":"bun run scripts/provider-launch.ts openai","dev:profile":"bun run scripts/provider-launch.ts","profile:auto":"bun run scripts/provider-recommend.ts --apply","profile:code":"bun run profile:init -- --provider ollama --model qwen2.5-coder:7b","profile:fast":"bun run profile:init -- --provider ollama --model llama3.2:3b","profile:init":"bun run scripts/provider-bootstrap.ts","doctor:report":"bun run scripts/system-check.ts --out reports/doctor-runtime.json","profile:codex":"bun run profile:init -- --provider codex --model codexplan","test:provider":"bun test src/services/api/*.test.ts src/utils/context.test.ts","build:verified":"bun run build && bun run verify:privacy","doctor:runtime":"bun run scripts/system-check.ts","verify:privacy":"bun run scripts/verify-no-phone-home.ts","dev:atomic-chat":"bun run scripts/provider-launch.ts atomic-chat","dev:ollama:fast":"bun run scripts/provider-launch.ts ollama --fast --bare","hardening:check":"bun run smoke && bun run doctor:runtime","dev:profile:fast":"bun run scripts/provider-launch.ts auto --fast --bare","hardening:strict":"bun run typecheck && bun run hardening:check","profile:recommend":"bun run scripts/provider-recommend.ts","doctor:runtime:json":"bun run scripts/system-check.ts --json","test:provider-recommendation":"bun test src/utils/providerRecommendation.test.ts src/utils/providerProfile.test.ts"},"_npmUser":{"name":"amirtechai","email":"amirtech.aix@gmail.com"},"repository":{"url":"git+https://github.com/amirtechai/xclaude.git","type":"git"},"_npmVersion":"10.9.7","description":"Claude Code opened to any LLM — OpenAI, Gemini, DeepSeek, Groq, Ollama, and 200+ models","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"8.20.0","ajv":"8.18.0","xss":"1.0.15","zod":"3.25.76","diff":"8.0.3","yaml":"2.8.3","axios":"1.14.0","chalk":"5.6.2","execa":"9.6.1","p-map":"7.0.4","react":"19.2.4","sharp":"^0.34.5","fflate":"0.8.2","ignore":"7.0.5","marked":"15.0.12","qrcode":"1.5.4","semver":"7.7.4","undici":"7.24.6","bidi-js":"1.0.3","figures":"6.1.0","fuse.js":"7.1.0","chokidar":"4.0.3","turndown":"7.2.2","auto-bind":"5.0.1","cli-boxes":"3.0.0","commander":"12.1.0","env-paths":"3.0.0","lodash-es":"4.18.0","lru-cache":"11.2.7","picomatch":"4.0.4","tree-kill":"1.2.2","type-fest":"4.41.0","wrap-ansi":"9.0.2","strip-ansi":"7.2.0","emoji-regex":"10.6.0","shell-quote":"1.8.3","signal-exit":"4.1.0","stack-utils":"2.0.6","usehooks-ts":"3.1.1","code-excerpt":"4.0.0","jsonc-parser":"3.3.1","cli-highlight":"2.1.11","indent-string":"5.0.0","proper-lockfile":"4.1.2","duck-duck-scrape":"^2.2.7","react-reconciler":"0.33.0","@anthropic-ai/sdk":"0.81.0","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.1","@opentelemetry/core":"2.6.1","google-auth-library":"9.15.1","supports-hyperlinks":"3.2.0","get-east-asian-width":"1.5.0","@growthbook/growthbook":"1.6.5","@mendable/firecrawl-js":"4.18.1","react-compiler-runtime":"1.0.0","@opentelemetry/api-logs":"0.214.0","@opentelemetry/sdk-logs":"0.214.0","@alcalzone/ansi-tokenize":"0.3.0","@anthropic-ai/vertex-sdk":"0.14.4","@opentelemetry/resources":"2.6.1","@anthropic-ai/bedrock-sdk":"0.26.4","@anthropic-ai/foundry-sdk":"0.2.3","@modelcontextprotocol/sdk":"1.29.0","@opentelemetry/sdk-metrics":"2.6.1","@commander-js/extra-typings":"12.1.0","@anthropic-ai/sandbox-runtime":"0.0.46","@opentelemetry/sdk-trace-base":"2.6.1","@opentelemetry/sdk-trace-node":"2.6.1","vscode-languageserver-protocol":"3.17.5","@opentelemetry/semantic-conventions":"1.40.0","@opentelemetry/exporter-logs-otlp-http":"0.214.0","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"1.3.11","typescript":"5.9.3","@types/node":"25.5.0","@types/react":"19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/xclaude_0.2.2_1775941131969_0.37842775229603065","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@amirtechai/xclaude","version":"0.2.3","keywords":["claude-code","openai","llm","cli","agent","deepseek","ollama","gemini"],"license":"SEE LICENSE FILE","_id":"@amirtechai/xclaude@0.2.3","maintainers":[{"name":"amirtechai","email":"amirtech.aix@gmail.com"}],"homepage":"https://github.com/amirtechai/xclaude#readme","bugs":{"url":"https://github.com/amirtechai/xclaude/issues"},"bin":{"xclaude":"bin/xclaude"},"dist":{"shasum":"7106d68be83f42b98530404f041f7c17cb7ed79a","tarball":"https://registry.npmjs.org/@amirtechai/xclaude/-/xclaude-0.2.3.tgz","fileCount":7,"integrity":"sha512-stCbmKK74n9EP5JkSNm85n9+gjGuWpwJFFrrnmQ7J32gDkiLFyvO0mKqNLHS7/fVFqypRFNB86kBerqhJizncA==","signatures":[{"sig":"MEUCIQCZqyoDgVSqT3lFwwLe9qfJjS/Q3mkeVGebKV1U4TqXZAIgePiqt+09NixlT93WjlqBMn4J2JkIlPinO4iAouzcFGA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20075796},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"b073a1a53ac700b380fd70ccfea869b5b6d80943","scripts":{"dev":"bun run build && node dist/cli.mjs","test":"bun test --path-ignore-patterns='vscode-extension/**'","build":"bun run scripts/build.ts","smoke":"bun run build && node dist/cli.mjs --version","start":"node dist/cli.mjs","prepack":"npm run build","dev:code":"bun run profile:code && bun run dev:profile","dev:fast":"bun run profile:fast && bun run dev:ollama:fast","test:all":"bun test","dev:codex":"bun run scripts/provider-launch.ts codex","typecheck":"bunx tsc --noEmit","dev:gemini":"bun run scripts/provider-launch.ts gemini","dev:ollama":"bun run scripts/provider-launch.ts ollama","dev:openai":"bun run scripts/provider-launch.ts openai","dev:profile":"bun run scripts/provider-launch.ts","profile:auto":"bun run scripts/provider-recommend.ts --apply","profile:code":"bun run profile:init -- --provider ollama --model qwen2.5-coder:7b","profile:fast":"bun run profile:init -- --provider ollama --model llama3.2:3b","profile:init":"bun run scripts/provider-bootstrap.ts","doctor:report":"bun run scripts/system-check.ts --out reports/doctor-runtime.json","profile:codex":"bun run profile:init -- --provider codex --model codexplan","test:provider":"bun test src/services/api/*.test.ts src/utils/context.test.ts","build:verified":"bun run build && bun run verify:privacy","doctor:runtime":"bun run scripts/system-check.ts","verify:privacy":"bun run scripts/verify-no-phone-home.ts","dev:atomic-chat":"bun run scripts/provider-launch.ts atomic-chat","dev:ollama:fast":"bun run scripts/provider-launch.ts ollama --fast --bare","hardening:check":"bun run smoke && bun run doctor:runtime","dev:profile:fast":"bun run scripts/provider-launch.ts auto --fast --bare","hardening:strict":"bun run typecheck && bun run hardening:check","profile:recommend":"bun run scripts/provider-recommend.ts","doctor:runtime:json":"bun run scripts/system-check.ts --json","test:provider-recommendation":"bun test src/utils/providerRecommendation.test.ts src/utils/providerProfile.test.ts"},"_npmUser":{"name":"amirtechai","email":"amirtech.aix@gmail.com"},"repository":{"url":"git+https://github.com/amirtechai/xclaude.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code opened to any LLM — OpenAI, Gemini, DeepSeek, Groq, Ollama, and 200+ models","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"8.20.0","ajv":"8.18.0","xss":"1.0.15","zod":"3.25.76","diff":"8.0.3","yaml":"2.8.3","axios":"1.14.0","chalk":"5.6.2","execa":"9.6.1","p-map":"7.0.4","react":"19.2.4","sharp":"^0.34.5","fflate":"0.8.2","ignore":"7.0.5","marked":"15.0.12","qrcode":"1.5.4","semver":"7.7.4","undici":"7.24.6","bidi-js":"1.0.3","figures":"6.1.0","fuse.js":"7.1.0","chokidar":"4.0.3","turndown":"7.2.2","auto-bind":"5.0.1","cli-boxes":"3.0.0","commander":"12.1.0","env-paths":"3.0.0","lodash-es":"4.18.0","lru-cache":"11.2.7","picomatch":"4.0.4","tree-kill":"1.2.2","type-fest":"4.41.0","wrap-ansi":"9.0.2","strip-ansi":"7.2.0","emoji-regex":"10.6.0","shell-quote":"1.8.3","signal-exit":"4.1.0","stack-utils":"2.0.6","usehooks-ts":"3.1.1","code-excerpt":"4.0.0","jsonc-parser":"3.3.1","cli-highlight":"2.1.11","indent-string":"5.0.0","proper-lockfile":"4.1.2","duck-duck-scrape":"^2.2.7","react-reconciler":"0.33.0","@anthropic-ai/sdk":"0.81.0","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.1","@opentelemetry/core":"2.6.1","google-auth-library":"9.15.1","supports-hyperlinks":"3.2.0","get-east-asian-width":"1.5.0","@growthbook/growthbook":"1.6.5","@mendable/firecrawl-js":"4.18.1","react-compiler-runtime":"1.0.0","@opentelemetry/api-logs":"0.214.0","@opentelemetry/sdk-logs":"0.214.0","@alcalzone/ansi-tokenize":"0.3.0","@anthropic-ai/vertex-sdk":"0.14.4","@opentelemetry/resources":"2.6.1","@anthropic-ai/bedrock-sdk":"0.26.4","@anthropic-ai/foundry-sdk":"0.2.3","@modelcontextprotocol/sdk":"1.29.0","@opentelemetry/sdk-metrics":"2.6.1","@commander-js/extra-typings":"12.1.0","@anthropic-ai/sandbox-runtime":"0.0.46","@opentelemetry/sdk-trace-base":"2.6.1","@opentelemetry/sdk-trace-node":"2.6.1","vscode-languageserver-protocol":"3.17.5","@opentelemetry/semantic-conventions":"1.40.0","@opentelemetry/exporter-logs-otlp-http":"0.214.0","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"1.3.11","typescript":"5.9.3","@types/node":"25.5.0","@types/react":"19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/xclaude_0.2.3_1775989946283_0.8520119856524333","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@amirtechai/xclaude","version":"0.2.4","keywords":["claude-code","openai","llm","cli","agent","deepseek","ollama","gemini"],"license":"SEE LICENSE FILE","_id":"@amirtechai/xclaude@0.2.4","maintainers":[{"name":"amirtechai","email":"amirtech.aix@gmail.com"}],"homepage":"https://github.com/amirtechai/xclaude#readme","bugs":{"url":"https://github.com/amirtechai/xclaude/issues"},"bin":{"xclaude":"bin/xclaude"},"dist":{"shasum":"e0d9e9c4633aa4fc1e18d7b7001f1f1196cbcbf9","tarball":"https://registry.npmjs.org/@amirtechai/xclaude/-/xclaude-0.2.4.tgz","fileCount":7,"integrity":"sha512-XGH1aMCdRUe5CJCQkoDqd5z8ihDwI44qoQM/mCpfCtfoj+R6mIUldB6nDVitlYPEXQi9LyorIUlbgyI8rFaqUQ==","signatures":[{"sig":"MEUCIQCmbpO3LVwDGHatqcojnMMsV0H/KLEJ1bYwmqcaW6p0YgIgD2VLoovqq57LZcKu9UJDdBzv3FzZFK0kQc9r54thWrQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20076844},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"b073a1a53ac700b380fd70ccfea869b5b6d80943","scripts":{"dev":"bun run build && node dist/cli.mjs","test":"bun test --path-ignore-patterns='vscode-extension/**'","build":"bun run scripts/build.ts","smoke":"bun run build && node dist/cli.mjs --version","start":"node dist/cli.mjs","prepack":"npm run build","dev:code":"bun run profile:code && bun run dev:profile","dev:fast":"bun run profile:fast && bun run dev:ollama:fast","test:all":"bun test","dev:codex":"bun run scripts/provider-launch.ts codex","typecheck":"bunx tsc --noEmit","dev:gemini":"bun run scripts/provider-launch.ts gemini","dev:ollama":"bun run scripts/provider-launch.ts ollama","dev:openai":"bun run scripts/provider-launch.ts openai","dev:profile":"bun run scripts/provider-launch.ts","profile:auto":"bun run scripts/provider-recommend.ts --apply","profile:code":"bun run profile:init -- --provider ollama --model qwen2.5-coder:7b","profile:fast":"bun run profile:init -- --provider ollama --model llama3.2:3b","profile:init":"bun run scripts/provider-bootstrap.ts","doctor:report":"bun run scripts/system-check.ts --out reports/doctor-runtime.json","profile:codex":"bun run profile:init -- --provider codex --model codexplan","test:provider":"bun test src/services/api/*.test.ts src/utils/context.test.ts","build:verified":"bun run build && bun run verify:privacy","doctor:runtime":"bun run scripts/system-check.ts","verify:privacy":"bun run scripts/verify-no-phone-home.ts","dev:atomic-chat":"bun run scripts/provider-launch.ts atomic-chat","dev:ollama:fast":"bun run scripts/provider-launch.ts ollama --fast --bare","hardening:check":"bun run smoke && bun run doctor:runtime","dev:profile:fast":"bun run scripts/provider-launch.ts auto --fast --bare","hardening:strict":"bun run typecheck && bun run hardening:check","profile:recommend":"bun run scripts/provider-recommend.ts","doctor:runtime:json":"bun run scripts/system-check.ts --json","test:provider-recommendation":"bun test src/utils/providerRecommendation.test.ts src/utils/providerProfile.test.ts"},"_npmUser":{"name":"amirtechai","email":"amirtech.aix@gmail.com"},"repository":{"url":"git+https://github.com/amirtechai/xclaude.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code opened to any LLM — OpenAI, Gemini, DeepSeek, Groq, Ollama, and 200+ models","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"8.20.0","ajv":"8.18.0","xss":"1.0.15","zod":"3.25.76","diff":"8.0.3","yaml":"2.8.3","axios":"1.14.0","chalk":"5.6.2","execa":"9.6.1","p-map":"7.0.4","react":"19.2.4","sharp":"^0.34.5","fflate":"0.8.2","ignore":"7.0.5","marked":"15.0.12","qrcode":"1.5.4","semver":"7.7.4","undici":"7.24.6","bidi-js":"1.0.3","figures":"6.1.0","fuse.js":"7.1.0","chokidar":"4.0.3","turndown":"7.2.2","auto-bind":"5.0.1","cli-boxes":"3.0.0","commander":"12.1.0","env-paths":"3.0.0","lodash-es":"4.18.0","lru-cache":"11.2.7","picomatch":"4.0.4","tree-kill":"1.2.2","type-fest":"4.41.0","wrap-ansi":"9.0.2","strip-ansi":"7.2.0","emoji-regex":"10.6.0","shell-quote":"1.8.3","signal-exit":"4.1.0","stack-utils":"2.0.6","usehooks-ts":"3.1.1","code-excerpt":"4.0.0","jsonc-parser":"3.3.1","cli-highlight":"2.1.11","indent-string":"5.0.0","proper-lockfile":"4.1.2","duck-duck-scrape":"^2.2.7","react-reconciler":"0.33.0","@anthropic-ai/sdk":"0.81.0","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.1","@opentelemetry/core":"2.6.1","google-auth-library":"9.15.1","supports-hyperlinks":"3.2.0","get-east-asian-width":"1.5.0","@growthbook/growthbook":"1.6.5","@mendable/firecrawl-js":"4.18.1","react-compiler-runtime":"1.0.0","@opentelemetry/api-logs":"0.214.0","@opentelemetry/sdk-logs":"0.214.0","@alcalzone/ansi-tokenize":"0.3.0","@anthropic-ai/vertex-sdk":"0.14.4","@opentelemetry/resources":"2.6.1","@anthropic-ai/bedrock-sdk":"0.26.4","@anthropic-ai/foundry-sdk":"0.2.3","@modelcontextprotocol/sdk":"1.29.0","@opentelemetry/sdk-metrics":"2.6.1","@commander-js/extra-typings":"12.1.0","@anthropic-ai/sandbox-runtime":"0.0.46","@opentelemetry/sdk-trace-base":"2.6.1","@opentelemetry/sdk-trace-node":"2.6.1","vscode-languageserver-protocol":"3.17.5","@opentelemetry/semantic-conventions":"1.40.0","@opentelemetry/exporter-logs-otlp-http":"0.214.0","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"1.3.11","typescript":"5.9.3","@types/node":"25.5.0","@types/react":"19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/xclaude_0.2.4_1775990410209_0.7786599811678045","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@amirtechai/xclaude","version":"0.2.5","description":"Claude Code opened to any LLM — OpenAI, Gemini, DeepSeek, Groq, Ollama, and 200+ models","type":"module","bin":{"xclaude":"bin/xclaude"},"scripts":{"test":"bun test --path-ignore-patterns='vscode-extension/**'","test:all":"bun test","build":"bun run scripts/build.ts","dev":"bun run build && node dist/cli.mjs","dev:profile":"bun run scripts/provider-launch.ts","dev:profile:fast":"bun run scripts/provider-launch.ts auto --fast --bare","dev:codex":"bun run scripts/provider-launch.ts codex","dev:openai":"bun run scripts/provider-launch.ts openai","dev:gemini":"bun run scripts/provider-launch.ts gemini","dev:ollama":"bun run scripts/provider-launch.ts ollama","dev:ollama:fast":"bun run scripts/provider-launch.ts ollama --fast --bare","dev:atomic-chat":"bun run scripts/provider-launch.ts atomic-chat","profile:init":"bun run scripts/provider-bootstrap.ts","profile:recommend":"bun run scripts/provider-recommend.ts","profile:auto":"bun run scripts/provider-recommend.ts --apply","profile:codex":"bun run profile:init -- --provider codex --model codexplan","profile:fast":"bun run profile:init -- --provider ollama --model llama3.2:3b","profile:code":"bun run profile:init -- --provider ollama --model qwen2.5-coder:7b","dev:fast":"bun run profile:fast && bun run dev:ollama:fast","dev:code":"bun run profile:code && bun run dev:profile","start":"node dist/cli.mjs","test:provider-recommendation":"bun test src/utils/providerRecommendation.test.ts src/utils/providerProfile.test.ts","typecheck":"bunx tsc --noEmit","smoke":"bun run build && node dist/cli.mjs --version","verify:privacy":"bun run scripts/verify-no-phone-home.ts","build:verified":"bun run build && bun run verify:privacy","test:provider":"bun test src/services/api/*.test.ts src/utils/context.test.ts","doctor:runtime":"bun run scripts/system-check.ts","doctor:runtime:json":"bun run scripts/system-check.ts --json","doctor:report":"bun run scripts/system-check.ts --out reports/doctor-runtime.json","hardening:check":"bun run smoke && bun run doctor:runtime","hardening:strict":"bun run typecheck && bun run hardening:check","prepack":"npm run build"},"dependencies":{"@alcalzone/ansi-tokenize":"0.3.0","@anthropic-ai/bedrock-sdk":"0.26.4","@anthropic-ai/foundry-sdk":"0.2.3","@anthropic-ai/sandbox-runtime":"0.0.46","@anthropic-ai/sdk":"0.81.0","@anthropic-ai/vertex-sdk":"0.14.4","@commander-js/extra-typings":"12.1.0","@growthbook/growthbook":"1.6.5","@mendable/firecrawl-js":"4.18.1","@modelcontextprotocol/sdk":"1.29.0","@opentelemetry/api":"1.9.1","@opentelemetry/api-logs":"0.214.0","@opentelemetry/core":"2.6.1","@opentelemetry/exporter-logs-otlp-http":"0.214.0","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2","@opentelemetry/resources":"2.6.1","@opentelemetry/sdk-logs":"0.214.0","@opentelemetry/sdk-metrics":"2.6.1","@opentelemetry/sdk-trace-base":"2.6.1","@opentelemetry/sdk-trace-node":"2.6.1","@opentelemetry/semantic-conventions":"1.40.0","ajv":"8.18.0","auto-bind":"5.0.1","axios":"1.14.0","bidi-js":"1.0.3","chalk":"5.6.2","chokidar":"4.0.3","cli-boxes":"3.0.0","cli-highlight":"2.1.11","code-excerpt":"4.0.0","commander":"12.1.0","diff":"8.0.3","duck-duck-scrape":"^2.2.7","emoji-regex":"10.6.0","env-paths":"3.0.0","execa":"9.6.1","fflate":"0.8.2","figures":"6.1.0","fuse.js":"7.1.0","get-east-asian-width":"1.5.0","google-auth-library":"9.15.1","https-proxy-agent":"7.0.6","ignore":"7.0.5","indent-string":"5.0.0","jsonc-parser":"3.3.1","lodash-es":"4.18.0","lru-cache":"11.2.7","marked":"15.0.12","p-map":"7.0.4","picomatch":"4.0.4","proper-lockfile":"4.1.2","qrcode":"1.5.4","react":"19.2.4","react-compiler-runtime":"1.0.0","react-reconciler":"0.33.0","semver":"7.7.4","sharp":"^0.34.5","shell-quote":"1.8.3","signal-exit":"4.1.0","stack-utils":"2.0.6","strip-ansi":"7.2.0","supports-hyperlinks":"3.2.0","tree-kill":"1.2.2","turndown":"7.2.2","type-fest":"4.41.0","undici":"7.24.6","usehooks-ts":"3.1.1","vscode-languageserver-protocol":"3.17.5","wrap-ansi":"9.0.2","ws":"8.20.0","xss":"1.0.15","yaml":"2.8.3","zod":"3.25.76"},"devDependencies":{"@types/bun":"1.3.11","@types/node":"25.5.0","@types/react":"19.2.14","typescript":"5.9.3"},"engines":{"node":">=20.0.0"},"repository":{"type":"git","url":"git+https://github.com/amirtechai/xclaude.git"},"keywords":["claude-code","openai","llm","cli","agent","deepseek","ollama","gemini"],"license":"SEE LICENSE FILE","publishConfig":{"access":"public"},"gitHead":"b073a1a53ac700b380fd70ccfea869b5b6d80943","_id":"@amirtechai/xclaude@0.2.5","bugs":{"url":"https://github.com/amirtechai/xclaude/issues"},"homepage":"https://github.com/amirtechai/xclaude#readme","_nodeVersion":"22.22.2","_npmVersion":"11.12.1","dist":{"integrity":"sha512-32TfoIVCG+bc9mu/caDEG/S9t+YGlc5WnVz4nDRlOm0bHzB77Q4epAg4+JDINsRwcdoxYCA7kL4bOCNr8lUnGg==","shasum":"e99189ec580d1c57f443ec3ba218082fffe34f3a","tarball":"https://registry.npmjs.org/@amirtechai/xclaude/-/xclaude-0.2.5.tgz","fileCount":7,"unpackedSize":20077211,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAVn9XEIS0/kGNqOsj4ddT+wRx7NXvc/NTXs9a3tkeHZAiACKbPSw90QbiNOoY1pUlGfh3jo+GsD4B2a2v7T6sxt5w=="}]},"_npmUser":{"name":"amirtechai","email":"amirtech.aix@gmail.com"},"directories":{},"maintainers":[{"name":"amirtechai","email":"amirtech.aix@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/xclaude_0.2.5_1775991344072_0.25963991905705086"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-06T08:28:56.944Z","modified":"2026-04-12T10:55:44.503Z","2026.3.24":"2026-04-06T08:28:58.375Z","2026.3.25":"2026-04-06T08:35:09.487Z","2026.3.26":"2026-04-06T17:16:43.651Z","2026.3.27":"2026-04-06T17:19:46.688Z","0.1.7":"2026-04-06T17:30:40.292Z","0.1.8":"2026-04-06T17:42:30.993Z","0.1.9":"2026-04-06T19:24:38.330Z","0.2.0":"2026-04-07T07:25:55.127Z","0.2.1":"2026-04-11T15:51:20.911Z","0.2.2":"2026-04-11T20:58:52.304Z","0.2.3":"2026-04-12T10:32:26.550Z","0.2.4":"2026-04-12T10:40:10.531Z","0.2.5":"2026-04-12T10:55:44.409Z"},"bugs":{"url":"https://github.com/amirtechai/xclaude/issues"},"license":"SEE LICENSE FILE","homepage":"https://github.com/amirtechai/xclaude#readme","keywords":["claude-code","openai","llm","cli","agent","deepseek","ollama","gemini"],"repository":{"type":"git","url":"git+https://github.com/amirtechai/xclaude.git"},"description":"Claude Code opened to any LLM — OpenAI, Gemini, DeepSeek, Groq, Ollama, and 200+ models","maintainers":[{"name":"amirtechai","email":"amirtech.aix@gmail.com"}],"readme":"# Xclaude\n\nXclaude is an open-source coding-agent CLI that works with more than one model provider.\n\nUse OpenAI-compatible APIs, Gemini, GitHub Models, Codex, Ollama, Atomic Chat, and other supported backends while keeping the same terminal-first workflow: prompts, tools, agents, MCP, slash commands, and streaming output.\n\n## Why Xclaude\n\n- Use one CLI across cloud and local model providers\n- Save provider profiles inside the app with `/provider`\n- Run locally with Ollama or Atomic Chat\n- Keep core coding-agent workflows: bash, file tools, grep, glob, agents, tasks, MCP, and web tools\n\n## Provenance & Legal Notice\n\nXclaude is derived from Anthropic's Claude Code CLI source code, which was\ninadvertently exposed in March 2026 through a packaging error in npm. The\noriginal Claude Code source is proprietary software owned by Anthropic PBC.\n\nThis project adds multi-provider support, strips telemetry, and adapts the\ncodebase for open use. It is not an authorized fork or open-source release\nby Anthropic.\n\n**\"Claude\" and \"Claude Code\" are trademarks of Anthropic PBC.**\n\nContributors should be aware that the legal status of distributing code\nderived from Anthropic's proprietary source is unresolved. See the LICENSE\nfile for details.\n\n---\n\n## Quick Start\n\n### Install\n\n```bash\nnpm install -g @amirtechai/xclaude\n```\n\nIf the npm install path later reports `ripgrep not found`, install ripgrep system-wide and confirm `rg --version` works in the same terminal before starting Xclaude.\n\n### Start\n\n```bash\nxclaude\n```\n\nInside Xclaude:\n\n- run `/provider` for guided setup of OpenAI-compatible, Gemini, Ollama, or Codex profiles\n- run `/onboard-github` for GitHub Models setup\n\n### Fastest OpenAI setup\n\nmacOS / Linux:\n\n```bash\nexport CLAUDE_CODE_USE_OPENAI=1\nexport OPENAI_API_KEY=sk-your-key-here\nexport OPENAI_MODEL=gpt-4o\n\nxclaude\n```\n\nWindows PowerShell:\n\n```powershell\n$env:CLAUDE_CODE_USE_OPENAI=\"1\"\n$env:OPENAI_API_KEY=\"sk-your-key-here\"\n$env:OPENAI_MODEL=\"gpt-4o\"\n\nxclaude\n```\n\n### Fastest local Ollama setup\n\nmacOS / Linux:\n\n```bash\nexport CLAUDE_CODE_USE_OPENAI=1\nexport OPENAI_BASE_URL=http://localhost:11434/v1\nexport OPENAI_MODEL=qwen2.5-coder:7b\n\nxclaude\n```\n\nWindows PowerShell:\n\n```powershell\n$env:CLAUDE_CODE_USE_OPENAI=\"1\"\n$env:OPENAI_BASE_URL=\"http://localhost:11434/v1\"\n$env:OPENAI_MODEL=\"qwen2.5-coder:7b\"\n\nxclaude\n```\n\n---\n\n## Setup Guides\n\nBeginner-friendly guides:\n\n- [Non-Technical Setup](docs/non-technical-setup.md)\n- [Windows Quick Start](docs/quick-start-windows.md)\n- [macOS / Linux Quick Start](docs/quick-start-mac-linux.md)\n\nAdvanced and source-build guides:\n\n- [Advanced Setup](docs/advanced-setup.md)\n- [Android Install](ANDROID_INSTALL.md)\n\n---\n\n## Supported Providers\n\n| Provider | Setup Path | Notes |\n| --- | --- | --- |\n| OpenAI-compatible | `/provider` or env vars | Works with OpenAI, OpenRouter, DeepSeek, Groq, Mistral, LM Studio, and compatible local `/v1` servers |\n| Gemini | `/provider` or env vars | Google Gemini support through the runtime provider layer |\n| GitHub Models | `/onboard-github` | Interactive onboarding with saved credentials |\n| Codex | `/provider` | Uses existing Codex credentials when available |\n| Ollama | `/provider` or env vars | Local inference with no API key |\n| Atomic Chat | advanced setup | Local Apple Silicon backend |\n| Bedrock / Vertex / Foundry | env vars | Additional provider integrations for supported environments |\n\n---\n\n## What Works\n\n- Tool-driven coding workflows\n  Bash, file read/write/edit, grep, glob, agents, tasks, MCP, and slash commands\n- Streaming responses\n  Real-time token output and tool progress\n- Tool calling\n  Multi-step tool loops with model calls, tool execution, and follow-up responses\n- Images\n  URL and base64 image inputs for providers that support vision\n- Provider profiles\n  Guided setup plus saved `.xclaude-profile.json` support\n- Local and remote model backends\n  Cloud APIs, local servers, and Apple Silicon local inference\n\n---\n\n## Provider Notes\n\nXclaude supports multiple providers, but behavior is not identical across all of them.\n\n- Anthropic-specific features may not exist on other providers\n- Tool quality depends heavily on the selected model\n- Smaller local models can struggle with long multi-step tool flows\n- Some providers impose lower output caps than the CLI defaults, and Xclaude adapts where possible\n\nFor best results, use models with strong tool/function calling support.\n\n---\n\n## Agent Routing\n\nRoute different agents to different AI providers within the same session. Useful for cost optimization (cheap model for code review, powerful model for complex coding) or leveraging model strengths.\n\n### Configuration\n\nAdd to `~/.claude/settings.json`:\n\n```json\n{\n  \"agentModels\": {\n    \"deepseek-chat\": {\n      \"base_url\": \"https://api.deepseek.com/v1\",\n      \"api_key\": \"sk-your-key\"\n    },\n    \"gpt-4o\": {\n      \"base_url\": \"https://api.openai.com/v1\",\n      \"api_key\": \"sk-your-key\"\n    }\n  },\n  \"agentRouting\": {\n    \"Explore\": \"deepseek-chat\",\n    \"Plan\": \"gpt-4o\",\n    \"general-purpose\": \"gpt-4o\",\n    \"frontend-dev\": \"deepseek-chat\",\n    \"default\": \"gpt-4o\"\n  }\n}\n```\n\n### How It Works\n\n- **agentModels**: Maps model names to OpenAI-compatible API endpoints\n- **agentRouting**: Maps agent types or team member names to model names\n- **Priority**: `name` > `subagent_type` > `\"default\"` > global provider\n- **Matching**: Case-insensitive, hyphen/underscore equivalent (`general-purpose` = `general_purpose`)\n- **Teams**: Team members are routed by their `name` — no extra config needed\n\nWhen no routing match is found, the global provider (env vars) is used as fallback.\n\n> **Note:** `api_key` values in `settings.json` are stored in plaintext. Keep this file private and do not commit it to version control.\n\n---\n\n## Web Search and Fetch\n\nBy default, `WebSearch` now works on non-Anthropic models using DuckDuckGo. This gives GPT-4o, DeepSeek, Gemini, Ollama, and other OpenAI-compatible providers a free web search path out of the box.\n\n>**Note:** DuckDuckGo fallback works by scraping search results and may be rate-limited, blocked, or subject to DuckDuckGo's Terms of Service. If you want a more reliable supported option, configure Firecrawl.\n\nFor Anthropic-native backends (Anthropic/Vertex/Foundry) and Codex responses, Xclaude keeps the native provider web search behavior.\n\n`WebFetch` works but uses basic HTTP plus HTML-to-markdown conversion. That fails on JavaScript-rendered pages (React, Next.js, Vue SPAs) and sites that block plain HTTP requests.\n\nSet a [Firecrawl](https://firecrawl.dev) API key if you want Firecrawl-powered search/fetch behavior:\n\n```bash\nexport FIRECRAWL_API_KEY=your-key-here\n```\n\nWith Firecrawl enabled:\n\n- `WebSearch` can use Firecrawl's search API (while DuckDuckGo remains the default free path for non-Claude models)\n- `WebFetch` uses Firecrawl's scrape endpoint instead of raw HTTP, handling JS-rendered pages correctly\n\nFree tier at [firecrawl.dev](https://firecrawl.dev) includes 500 credits. The key is optional.\n\n---\n\n## Source Build\n\n```bash\nbun install\nbun run build\nnode dist/cli.mjs\n```\n\nHelpful commands:\n\n- `bun run dev`\n- `bun run smoke`\n- `bun run doctor:runtime`\n\n---\n\n## VS Code Extension\n\nThe repo includes a VS Code extension in [`vscode-extension/xclaude-vscode`](vscode-extension/xclaude-vscode) for Xclaude launch integration and theme support.\n\n---\n\n## Security\n\nIf you believe you found a security issue, see [SECURITY.md](SECURITY.md).\n\n---\n\n## Contributing\n\nContributions are welcome.\n\nFor larger changes, open an issue first so the scope is clear before implementation. Helpful validation commands include:\n\n- `bun run build`\n- `bun run smoke`\n- focused `bun test ...` runs for touched areas\n\n---\n\n## Disclaimer\n\nXclaude is an independent community project and is not affiliated with, endorsed by, or sponsored by Anthropic.\n\n\"Claude\" and \"Claude Code\" are trademarks of Anthropic.\n\n---\n\n## License\n\nMIT\n","readmeFilename":"README.md"}