@rubytech/create-maxy-code 0.1.33 → 0.1.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/account-id-env.test.js +1 -1
- package/dist/__tests__/apt-resolve.test.js +7 -7
- package/dist/__tests__/brew-install.test.js +1 -1
- package/dist/__tests__/brew-resolve.test.js +1 -1
- package/dist/__tests__/cdp-port-no-silent-fallback.test.js +4 -4
- package/dist/__tests__/init-logging.test.js +1 -1
- package/dist/__tests__/launchd-plist.test.js +1 -1
- package/dist/__tests__/macos-version.test.js +1 -1
- package/dist/__tests__/peer-brand-detect.test.js +1 -1
- package/dist/__tests__/platform-detect.test.js +2 -2
- package/dist/__tests__/port-canonicalisation.test.js +1 -1
- package/dist/__tests__/preflight-port-classifier.test.js +6 -6
- package/dist/__tests__/samba-provision.test.js +1 -1
- package/dist/__tests__/snap-chromium.test.js +1 -1
- package/dist/apt-resolve.js +5 -5
- package/dist/brew-install.js +1 -1
- package/dist/brew-resolve.js +3 -3
- package/dist/index.js +146 -122
- package/dist/init-logging.js +1 -1
- package/dist/launchd-plist.js +1 -1
- package/dist/macos-version.js +2 -2
- package/dist/peer-brand-detect.js +1 -1
- package/dist/pinned-binaries.js +1 -1
- package/dist/platform-detect.js +1 -1
- package/dist/port-resolution.js +2 -2
- package/dist/preflight-port-classifier.js +3 -3
- package/dist/samba-provision.js +1 -1
- package/dist/snap-chromium.js +3 -3
- package/dist/uninstall.js +28 -28
- package/package.json +4 -1
- package/payload/platform/lib/account-enumeration/dist/__tests__/validate-env.test.js +1 -1
- package/payload/platform/lib/account-enumeration/dist/__tests__/validate-env.test.js.map +1 -1
- package/payload/platform/lib/account-enumeration/dist/index.d.ts +1 -1
- package/payload/platform/lib/account-enumeration/src/__tests__/validate-env.test.ts +1 -1
- package/payload/platform/lib/account-enumeration/src/index.ts +1 -1
- package/payload/platform/lib/admins-write/dist/index.js +3 -3
- package/payload/platform/lib/admins-write/dist/index.js.map +1 -1
- package/payload/platform/lib/admins-write/src/index.ts +4 -4
- package/payload/platform/lib/entitlement/dist/index.d.ts +1 -1
- package/payload/platform/lib/entitlement/dist/index.js +2 -2
- package/payload/platform/lib/entitlement/dist/index.js.map +1 -1
- package/payload/platform/lib/graph-mcp/dist/__tests__/warnings-envelope.test.js +1 -1
- package/payload/platform/lib/graph-mcp/dist/__tests__/warnings-envelope.test.js.map +1 -1
- package/payload/platform/lib/graph-mcp/dist/cypher-rewrite-stamp.d.ts +3 -3
- package/payload/platform/lib/graph-mcp/dist/cypher-rewrite-stamp.js +3 -3
- package/payload/platform/lib/graph-mcp/dist/cypher-shim-read.d.ts +1 -1
- package/payload/platform/lib/graph-mcp/dist/cypher-shim-read.js +1 -1
- package/payload/platform/lib/graph-mcp/dist/cypher-shim-write.d.ts +1 -1
- package/payload/platform/lib/graph-mcp/dist/cypher-shim-write.js +1 -1
- package/payload/platform/lib/graph-mcp/dist/cypher-validate.d.ts +1 -1
- package/payload/platform/lib/graph-mcp/dist/cypher-validate.js +1 -1
- package/payload/platform/lib/graph-mcp/dist/index.d.ts +1 -1
- package/payload/platform/lib/graph-mcp/dist/index.js +24 -24
- package/payload/platform/lib/graph-mcp/dist/index.js.map +1 -1
- package/payload/platform/lib/graph-mcp/dist/schema-cache.d.ts +1 -1
- package/payload/platform/lib/graph-mcp/dist/schema-cache.js +2 -2
- package/payload/platform/lib/graph-mcp/dist/schema-cypher-parser.d.ts +3 -3
- package/payload/platform/lib/graph-mcp/dist/schema-cypher-parser.js +3 -3
- package/payload/platform/lib/graph-mcp/src/__tests__/warnings-envelope.test.ts +1 -1
- package/payload/platform/lib/graph-mcp/src/cypher-rewrite-stamp.ts +3 -3
- package/payload/platform/lib/graph-mcp/src/cypher-shim-read.ts +1 -1
- package/payload/platform/lib/graph-mcp/src/cypher-shim-write.ts +1 -1
- package/payload/platform/lib/graph-mcp/src/cypher-validate.ts +1 -1
- package/payload/platform/lib/graph-mcp/src/index.ts +29 -29
- package/payload/platform/lib/graph-mcp/src/schema-cache.ts +2 -2
- package/payload/platform/lib/graph-mcp/src/schema-cypher-parser.ts +3 -3
- package/payload/platform/lib/graph-search/dist/index.d.ts +12 -12
- package/payload/platform/lib/graph-search/dist/index.js +11 -11
- package/payload/platform/lib/graph-search/dist/index.js.map +1 -1
- package/payload/platform/lib/graph-search/src/__tests__/bm25-label-gate.test.ts +2 -2
- package/payload/platform/lib/graph-search/src/__tests__/bm25-strong-bypass-threshold.test.ts +2 -2
- package/payload/platform/lib/graph-search/src/__tests__/brochure-threshold.test.ts +3 -3
- package/payload/platform/lib/graph-search/src/__tests__/expand-batch.test.ts +2 -2
- package/payload/platform/lib/graph-search/src/__tests__/fulltext-coverage.test.ts +6 -6
- package/payload/platform/lib/graph-search/src/__tests__/hybrid.test.ts +5 -5
- package/payload/platform/lib/graph-search/src/__tests__/vector-threshold.test.ts +2 -2
- package/payload/platform/lib/graph-search/src/index.ts +18 -18
- package/payload/platform/lib/graph-trash/dist/index.d.ts +3 -3
- package/payload/platform/lib/graph-trash/dist/index.js +3 -3
- package/payload/platform/lib/graph-trash/src/index.ts +3 -3
- package/payload/platform/lib/graph-write/dist/__tests__/action-provenance-gate.test.js +4 -4
- package/payload/platform/lib/graph-write/dist/__tests__/action-provenance-gate.test.js.map +1 -1
- package/payload/platform/lib/graph-write/dist/audit.d.ts +2 -2
- package/payload/platform/lib/graph-write/dist/audit.js +2 -2
- package/payload/platform/lib/graph-write/dist/conversation-provenance.js +1 -1
- package/payload/platform/lib/graph-write/dist/conversation-provenance.js.map +1 -1
- package/payload/platform/lib/graph-write/dist/index.d.ts +5 -5
- package/payload/platform/lib/graph-write/dist/index.js +12 -12
- package/payload/platform/lib/graph-write/dist/index.js.map +1 -1
- package/payload/platform/lib/graph-write/src/__tests__/action-provenance-gate.test.ts +4 -4
- package/payload/platform/lib/graph-write/src/audit.ts +2 -2
- package/payload/platform/lib/graph-write/src/conversation-provenance.ts +1 -1
- package/payload/platform/lib/graph-write/src/index.ts +13 -13
- package/payload/platform/lib/mcp-eager/dist/index.d.ts +2 -2
- package/payload/platform/lib/mcp-eager/dist/index.js +2 -2
- package/payload/platform/lib/mcp-eager/src/index.ts +2 -2
- package/payload/platform/lib/mcp-spawn-tee/dist/index.d.ts +2 -2
- package/payload/platform/lib/mcp-spawn-tee/dist/index.js +2 -2
- package/payload/platform/lib/mcp-spawn-tee/src/index.ts +2 -2
- package/payload/platform/lib/mcp-stderr-tee/dist/index.d.ts +1 -1
- package/payload/platform/lib/mcp-stderr-tee/dist/index.js +4 -4
- package/payload/platform/lib/mcp-stderr-tee/dist/index.js.map +1 -1
- package/payload/platform/lib/mcp-stderr-tee/src/index.ts +4 -4
- package/payload/platform/lib/oauth-llm/dist/index.d.ts +4 -4
- package/payload/platform/lib/oauth-llm/dist/index.js +3 -3
- package/payload/platform/lib/oauth-llm/dist/index.js.map +1 -1
- package/payload/platform/lib/oauth-llm/src/index.ts +6 -6
- package/payload/platform/lib/persistent-components/dist/index.d.ts +1 -1
- package/payload/platform/lib/persistent-components/dist/index.js +1 -1
- package/payload/platform/lib/persistent-components/src/index.ts +1 -1
- package/payload/platform/lib/task-secrets/dist/index.js +1 -1
- package/payload/platform/lib/task-secrets/dist/index.js.map +1 -1
- package/payload/platform/lib/task-secrets/src/__tests__/redact-secrets.test.ts +1 -1
- package/payload/platform/lib/task-secrets/src/index.ts +1 -1
- package/payload/platform/neo4j/edge-annotations.json +9 -9
- package/payload/platform/neo4j/schema.cypher +32 -33
- package/payload/platform/package.json +2 -2
- package/payload/platform/plugins/admin/PLUGIN.md +0 -2
- package/payload/platform/plugins/admin/hooks/__tests__/archive-ingest-surface-gate.test.sh +4 -4
- package/payload/platform/plugins/admin/hooks/__tests__/playwright-file-guard.test.sh +1 -1
- package/payload/platform/plugins/admin/hooks/__tests__/pre-tool-use-base64-guard.test.sh +1 -1
- package/payload/platform/plugins/admin/hooks/archive-ingest-surface-gate.sh +13 -13
- package/payload/platform/plugins/admin/hooks/pre-tool-use.sh +7 -7
- package/payload/platform/plugins/admin/mcp/dist/__tests__/plugin-read-skill-resolution.test.js +2 -2
- package/payload/platform/plugins/admin/mcp/dist/__tests__/plugin-read-skill-resolution.test.js.map +1 -1
- package/payload/platform/plugins/admin/mcp/dist/__tests__/public-hostname.test.js +1 -1
- package/payload/platform/plugins/admin/mcp/dist/__tests__/public-hostname.test.js.map +1 -1
- package/payload/platform/plugins/admin/mcp/dist/__tests__/skill-load-required-inputs.test.js +2 -2
- package/payload/platform/plugins/admin/mcp/dist/__tests__/skill-load-required-inputs.test.js.map +1 -1
- package/payload/platform/plugins/admin/mcp/dist/__tests__/skill-load.test.js +1 -1
- package/payload/platform/plugins/admin/mcp/dist/__tests__/skill-load.test.js.map +1 -1
- package/payload/platform/plugins/admin/mcp/dist/index.js +38 -65
- package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/admin/mcp/dist/lib/neo4j.js +2 -2
- package/payload/platform/plugins/admin/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/admin/mcp/dist/lib/public-hostname.js +2 -2
- package/payload/platform/plugins/admin/mcp/dist/lib/public-hostname.js.map +1 -1
- package/payload/platform/plugins/admin/mcp/dist/skill-resolution.js +5 -5
- package/payload/platform/plugins/admin/mcp/dist/skill-resolution.js.map +1 -1
- package/payload/platform/plugins/admin/skills/plugin-management/SKILL.md +1 -1
- package/payload/platform/plugins/admin/skills/public-agent-manager/SKILL.md +0 -1
- package/payload/platform/plugins/admin/skills/publish-site/SKILL.md +1 -1
- package/payload/platform/plugins/admin/skills/unzip-attachment/SKILL.md +2 -2
- package/payload/platform/plugins/cloudflare/mcp/dist/index.js +1 -1
- package/payload/platform/plugins/cloudflare/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.d.ts +1 -1
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js +6 -6
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js.map +1 -1
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.d.ts +2 -2
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.js +2 -2
- package/payload/platform/plugins/cloudflare/references/dashboard-guide.md +1 -1
- package/payload/platform/plugins/cloudflare/references/manual-setup.md +4 -4
- package/payload/platform/plugins/cloudflare/scripts/__tests__/tunnel-ingress.test.ts +1 -1
- package/payload/platform/plugins/cloudflare/scripts/_stream-log.sh +8 -8
- package/payload/platform/plugins/cloudflare/scripts/list-cf-domains.sh +2 -2
- package/payload/platform/plugins/cloudflare/scripts/list-cf-domains.ts +16 -16
- package/payload/platform/plugins/cloudflare/scripts/reset-tunnel.sh +1 -1
- package/payload/platform/plugins/cloudflare/scripts/setup-tunnel.sh +28 -28
- package/payload/platform/plugins/cloudflare/scripts/tunnel-ingress.ts +5 -5
- package/payload/platform/plugins/cloudflare/skills/setup-tunnel/SKILL.md +3 -3
- package/payload/platform/plugins/contacts/mcp/dist/lib/neo4j.js +2 -2
- package/payload/platform/plugins/contacts/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/contacts/mcp/dist/lib/resolve-person.d.ts +1 -1
- package/payload/platform/plugins/contacts/mcp/dist/lib/resolve-person.js +1 -1
- package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js +2 -2
- package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js.map +1 -1
- package/payload/platform/plugins/contacts/mcp/dist/tools/group-create.js +1 -1
- package/payload/platform/plugins/contacts/mcp/dist/tools/group-create.js.map +1 -1
- package/payload/platform/plugins/docs/references/deployment.md +30 -1
- package/payload/platform/plugins/docs/references/platform.md +1 -1
- package/payload/platform/plugins/docs/references/plugins-guide.md +2 -5
- package/payload/platform/plugins/docs/references/troubleshooting.md +3 -3
- package/payload/platform/plugins/email/mcp/dist/index.js +1 -1
- package/payload/platform/plugins/email/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.js +2 -2
- package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/credentials.d.ts +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/credentials.js +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/neo4j.js +2 -2
- package/payload/platform/plugins/email/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/screening.d.ts +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/screening.js +1 -1
- package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js +6 -6
- package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.d.ts +1 -1
- package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js +2 -2
- package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js.map +1 -1
- package/payload/platform/plugins/email/references/email-reference.md +2 -2
- package/payload/platform/plugins/loop/mcp/dist/lib/neo4j.js +3 -3
- package/payload/platform/plugins/loop/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/loop/mcp/src/lib/neo4j.ts +3 -3
- package/payload/platform/plugins/memory/bin/conversation-archive-ingest.mjs +24 -24
- package/payload/platform/plugins/memory/bin/conversation-archive-ingest.sh +6 -6
- package/payload/platform/plugins/memory/mcp/dist/index.js +8 -8
- package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.js +33 -33
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js +12 -12
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-validator.test.js +3 -3
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-validator.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/types.js +2 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/types.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/whatsapp-text.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/whatsapp-text.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/whatsapp-text.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/derive-keys.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/derive-keys.js +1 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/derive-keys.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/sender-bind.js +2 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/sender-bind.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/to-turn-text.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/to-turn-text.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/document-chunker.d.ts +2 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/document-chunker.js +2 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/document-hierarchy.js +6 -6
- package/payload/platform/plugins/memory/mcp/dist/lib/document-hierarchy.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/graph-prune.d.ts +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/graph-prune.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.d.ts +2 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.js +7 -7
- package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.d.ts +2 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.js +2 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts +9 -9
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js +25 -25
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.d.ts +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js +5 -5
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/neo4j.js +2 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.d.ts +4 -4
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.js +3 -3
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-validator.d.ts +3 -3
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-validator.js +5 -5
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-validator.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/uuid.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/uuid.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights.test.js +5 -5
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-enrich-rejection.test.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-enrich-rejection.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-normalisers-source-agnosticism.test.js +2 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-normalisers-source-agnosticism.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-normalisers-whatsapp-text.test.js +4 -4
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-normalisers-whatsapp-text.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write.test.js +6 -6
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest.test.js +7 -7
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/profile-update-not-applicable.test.js +2 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/profile-update-not-applicable.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/profile-update-personfields-open.test.js +3 -3
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/profile-update-personfields-open.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.d.ts +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js +3 -3
- package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-enrich-rejection.d.ts +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-enrich-rejection.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js +2 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.d.ts +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.d.ts +2 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-find-candidates.d.ts +3 -3
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.js +2 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts +9 -9
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js +10 -11
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-list-attachments.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-list-attachments.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-search.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-search.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js +3 -3
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/profile-read.js +9 -9
- package/payload/platform/plugins/memory/mcp/dist/tools/profile-read.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.d.ts +5 -5
- package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.js +9 -9
- package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/scripts/boot-smoke.sh +1 -1
- package/payload/platform/plugins/memory/mcp/scripts/graph/fixture.cypher +1 -1
- package/payload/platform/plugins/memory/mcp/vitest.config.ts +2 -2
- package/payload/platform/plugins/outlook/mcp/dist/lib/graph-client.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/lib/graph-client.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/scripts/verify-doc-impl.sh +1 -1
- package/payload/platform/plugins/scheduling/PLUGIN.md +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/__tests__/time-resolve-description.test.js +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/__tests__/time-resolve-description.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/index.js +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/getUserTimezone.test.js +3 -3
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/getUserTimezone.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/neo4j.d.ts +2 -2
- package/payload/platform/plugins/scheduling/mcp/dist/lib/neo4j.js +5 -5
- package/payload/platform/plugins/scheduling/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.d.ts +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +6 -6
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js.map +1 -1
- package/payload/platform/plugins/tasks/mcp/dist/index.js +1 -1
- package/payload/platform/plugins/tasks/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/tasks/mcp/dist/lib/neo4j.js +2 -2
- package/payload/platform/plugins/tasks/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/tasks/mcp/dist/tools/project-create.js +2 -2
- package/payload/platform/plugins/tasks/mcp/dist/tools/project-create.js.map +1 -1
- package/payload/platform/plugins/tasks/mcp/dist/tools/session-name.d.ts +1 -1
- package/payload/platform/plugins/tasks/mcp/dist/tools/session-name.d.ts.map +1 -1
- package/payload/platform/plugins/tasks/mcp/dist/tools/task-create.d.ts +5 -5
- package/payload/platform/plugins/tasks/mcp/dist/tools/task-create.js +3 -3
- package/payload/platform/plugins/tasks/mcp/dist/tools/task-create.js.map +1 -1
- package/payload/platform/plugins/tasks/mcp/dist/tools/task-update.d.ts +4 -4
- package/payload/platform/plugins/tasks/mcp/dist/tools/task-update.js +2 -2
- package/payload/platform/plugins/tasks/mcp/dist/tools/task-update.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/message-history.js +2 -2
- package/payload/platform/plugins/telegram/mcp/dist/tools/message-history.js.map +1 -1
- package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.js +2 -2
- package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/__tests__/waitlist-persist.test.js +3 -3
- package/payload/platform/plugins/waitlist/mcp/dist/tools/__tests__/waitlist-persist.test.js.map +1 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.d.ts +1 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.js +3 -3
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.js.map +1 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.js +5 -5
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.js.map +1 -1
- package/payload/platform/plugins/whatsapp/mcp/dist/call-api.d.ts +1 -1
- package/payload/platform/plugins/whatsapp/mcp/dist/call-api.js +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/index.js +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/lib/active-runs.d.ts +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/lib/active-runs.js +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.d.ts +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/lib/neo4j.js +2 -2
- package/payload/platform/plugins/workflows/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-create.js +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-create.js.map +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.js +4 -4
- package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.js.map +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-update.js +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-update.js.map +1 -1
- package/payload/platform/plugins/workflows/mcp/test-workflows.sh +2 -2
- package/payload/platform/scripts/__tests__/first-token-creates-stream-log.test.sh +1 -1
- package/payload/platform/scripts/__tests__/logs-read-prefix.sh +6 -6
- package/payload/platform/scripts/admin-conversation-recover.mjs +5 -5
- package/payload/platform/scripts/admin-persist-audit.ts +4 -4
- package/payload/platform/scripts/check-no-conversation-id-leaks.mjs +1 -1
- package/payload/platform/scripts/check-no-direct-clipboard.mjs +1 -1
- package/payload/platform/scripts/check-no-task-id-leaks.mjs +2 -2
- package/payload/platform/scripts/check-skill-load-coverage.mjs +1 -1
- package/payload/platform/scripts/component-knowledgedoc-backfill.ts +1 -1
- package/payload/platform/scripts/dedupe-userprofile-ghosts.sh +2 -2
- package/payload/platform/scripts/generate-entitlement-fixture.mjs +1 -1
- package/payload/platform/scripts/installer-device-verify.sh +6 -6
- package/payload/platform/scripts/lib/resolve-account-dir.sh +6 -6
- package/payload/platform/scripts/log-adherence-check.sh +3 -3
- package/payload/platform/scripts/logs-read.sh +13 -13
- package/payload/platform/scripts/logs-read.test.sh +1 -1
- package/payload/platform/scripts/migrate-import.sh +4 -4
- package/payload/platform/scripts/redact-install-logs.sh +1 -1
- package/payload/platform/scripts/seed-neo4j.sh +26 -32
- package/payload/platform/scripts/test-laptop-vnc-boot.sh +3 -3
- package/payload/platform/scripts/verify-skill-tool-surface.sh +17 -2
- package/payload/platform/scripts/vnc.sh +9 -9
- package/payload/platform/services/claude-session-manager/dist/config.d.ts +7 -2
- package/payload/platform/services/claude-session-manager/dist/config.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/config.js +3 -1
- package/payload/platform/services/claude-session-manager/dist/config.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +2 -2
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.js +145 -90
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/index.js +17 -4
- package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.d.ts +2 -2
- package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.js +4 -4
- package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/jsonl-observer.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/jsonl-observer.js +39 -10
- package/payload/platform/services/claude-session-manager/dist/jsonl-observer.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/jsonl-path.js +2 -2
- package/payload/platform/services/claude-session-manager/dist/jsonl-path.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +37 -18
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +176 -49
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/public-tool-audit.js +1 -1
- package/payload/platform/services/claude-session-manager/dist/public-tool-audit.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/session-store.d.ts +36 -11
- package/payload/platform/services/claude-session-manager/dist/session-store.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/session-store.js +53 -2
- package/payload/platform/services/claude-session-manager/dist/session-store.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/spawn-rate-limiter.js +2 -2
- package/payload/platform/services/claude-session-manager/dist/spawn-rate-limiter.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts +46 -1
- package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/system-prompt.js +131 -24
- package/payload/platform/services/claude-session-manager/dist/system-prompt.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/tool-surface.js +1 -1
- package/payload/platform/services/claude-session-manager/dist/tool-surface.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/types.d.ts +8 -1
- package/payload/platform/services/claude-session-manager/dist/types.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/url-capture.js +1 -1
- package/payload/platform/services/claude-session-manager/dist/url-capture.js.map +1 -1
- package/payload/platform/templates/agents/admin/IDENTITY.md +14 -0
- package/payload/platform/templates/agents/admin/SOUL.md +1 -3
- package/payload/platform/templates/specialists/agents/personal-assistant.md +1 -3
- package/payload/platform/templates/specialists/agents/project-manager.md +1 -1
- package/payload/platform/templates/systemd/edge.service.template +3 -3
- package/payload/premium-plugins/real-agent/BUNDLE.md +2 -4
- package/payload/premium-plugins/real-agent/plugins/.claude-plugin/marketplace.json +0 -5
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.js +3 -3
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/lib/neo4j.ts +3 -3
- package/payload/server/{chunk-ZGJ6CUU2.js → chunk-3G6JMV7N.js} +1 -1
- package/payload/server/{chunk-KVGTWNKQ.js → chunk-NNHHGQJL.js} +314 -5
- package/payload/server/{chunk-RZQMYJVY.js → chunk-QC5LHYPH.js} +3 -3
- package/payload/server/{cloudflare-task-tracker-4PKOLE4H.js → cloudflare-task-tracker-NEB3X6O2.js} +2 -2
- package/payload/server/maxy-edge.js +2 -2
- package/payload/server/public/assets/{Checkbox-C6zXApx_.js → Checkbox-8mOR8-gV.js} +1 -1
- package/payload/server/public/assets/{admin-Cuu1QdAA.js → admin-CK4V-B9A.js} +24 -24
- package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-BYXgFii5.js → architectureDiagram-Q4EWVU46-2DgPtOot.js} +1 -1
- package/payload/server/public/assets/{blockDiagram-DXYQGD6D-GIQ0eO13.js → blockDiagram-DXYQGD6D-BilycXVZ.js} +1 -1
- package/payload/server/public/assets/{brand-DdhkC994.css → brand-1_DraUIv.css} +1 -1
- package/payload/server/public/assets/{c4Diagram-AHTNJAMY-BmyWfG-l.js → c4Diagram-AHTNJAMY-CGiIFO5U.js} +1 -1
- package/payload/server/public/assets/channel-DYpIZW3Q.js +1 -0
- package/payload/server/public/assets/{chunk-336JU56O-DcWl0MQo.js → chunk-336JU56O-DxTg1h50.js} +2 -2
- package/payload/server/public/assets/{chunk-426QAEUC-BIW6kq6y.js → chunk-426QAEUC-DkGPjs0P.js} +1 -1
- package/payload/server/public/assets/{chunk-4TB4RGXK-CdoHpV4X.js → chunk-4TB4RGXK-D2JaxD6r.js} +1 -1
- package/payload/server/public/assets/{chunk-5FUZZQ4R-bn_a4sfU.js → chunk-5FUZZQ4R-Do3pbAGo.js} +1 -1
- package/payload/server/public/assets/{chunk-5PVQY5BW-C_Rq8j_M.js → chunk-5PVQY5BW-np5moZSl.js} +1 -1
- package/payload/server/public/assets/{chunk-EDXVE4YY-CWQvoVKV.js → chunk-EDXVE4YY-BUFLWwRP.js} +1 -1
- package/payload/server/public/assets/{chunk-ENJZ2VHE-DBHn1kSk.js → chunk-ENJZ2VHE-BE7Gt41s.js} +1 -1
- package/payload/server/public/assets/{chunk-ICPOFSXX-SW2Qx11O.js → chunk-ICPOFSXX-gOBkROMP.js} +1 -1
- package/payload/server/public/assets/{chunk-OYMX7WX6-BvIG7tVW.js → chunk-OYMX7WX6-DR-BkNZa.js} +1 -1
- package/payload/server/public/assets/{chunk-U2HBQHQK-BiBUb0cF.js → chunk-U2HBQHQK-qLp-uSVE.js} +1 -1
- package/payload/server/public/assets/{chunk-X2U36JSP-Y0MKZCCh.js → chunk-X2U36JSP-DQiKti0J.js} +1 -1
- package/payload/server/public/assets/{chunk-YZCP3GAM-DKPh06GH.js → chunk-YZCP3GAM-Cd0JhpTo.js} +1 -1
- package/payload/server/public/assets/{chunk-ZZ45TVLE-C2WNo-fK.js → chunk-ZZ45TVLE-8u01H3Hy.js} +1 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-nkfy9gg7.js +1 -0
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-B-pMmeCC.js +1 -0
- package/payload/server/public/assets/clone-jiTzIER6.js +1 -0
- package/payload/server/public/assets/{dagre-CrK8E9ee.js → dagre-BfVsOYOv.js} +1 -1
- package/payload/server/public/assets/{dagre-KV5264BT-_o6uXcH8.js → dagre-KV5264BT-BBF_zxbi.js} +1 -1
- package/payload/server/public/assets/data-BIOaDoqe.js +1 -0
- package/payload/server/public/assets/{device-url-actions-BcHerWqJ.js → device-url-actions-CJBD3ecO.js} +1 -1
- package/payload/server/public/assets/{diagram-5BDNPKRD-FFP9DKhc.js → diagram-5BDNPKRD-BFHk2a7t.js} +1 -1
- package/payload/server/public/assets/{diagram-G4DWMVQ6-DpwD1jBP.js → diagram-G4DWMVQ6-Be3_qYl2.js} +1 -1
- package/payload/server/public/assets/{diagram-MMDJMWI5-C3K5agdK.js → diagram-MMDJMWI5-B3r4XVcu.js} +1 -1
- package/payload/server/public/assets/{diagram-TYMM5635-CbeDipbC.js → diagram-TYMM5635-BW5EIT4D.js} +1 -1
- package/payload/server/public/assets/{erDiagram-SMLLAGMA-XBIFndNy.js → erDiagram-SMLLAGMA-DTu4_1Kb.js} +1 -1
- package/payload/server/public/assets/{flowDiagram-DWJPFMVM-BvEgySyn.js → flowDiagram-DWJPFMVM-CadrjLcA.js} +1 -1
- package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-D7gIRKJf.js → ganttDiagram-T4ZO3ILL-Cn0npD0L.js} +1 -1
- package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-vJu_hcri.js → gitGraphDiagram-UUTBAWPF-CK3gG5Qm.js} +1 -1
- package/payload/server/public/assets/graph-ClfU7t1k.js +1 -0
- package/payload/server/public/assets/graph-labels-CPzF6Gbk.js +1 -0
- package/payload/server/public/assets/{graphlib-Dp0mN6JW.js → graphlib-DFIOO59N.js} +1 -1
- package/payload/server/public/assets/{infoDiagram-42DDH7IO-g4Dlc5Cr.js → infoDiagram-42DDH7IO-BohUsXnN.js} +1 -1
- package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-D_45LXOe.js → ishikawaDiagram-UXIWVN3A-tjmA4BU8.js} +1 -1
- package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-CggbHl6N.js → journeyDiagram-VCZTEJTY-DzBlFESM.js} +1 -1
- package/payload/server/public/assets/{kanban-definition-6JOO6SKY-CysAe-Ab.js → kanban-definition-6JOO6SKY-BTw9BxK8.js} +1 -1
- package/payload/server/public/assets/{line-BAxq_DSY.js → line-BYPL6wAj.js} +1 -1
- package/payload/server/public/assets/{mermaid-parser.core-DbFuvkjL.js → mermaid-parser.core-Dmu4fWCS.js} +1 -1
- package/payload/server/public/assets/{mermaid.core-CehvJn5b.js → mermaid.core-Z9vvieC2.js} +3 -3
- package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-DbPbBJ9h.js → mindmap-definition-QFDTVHPH-BccAnfJ4.js} +1 -1
- package/payload/server/public/assets/page-CBTlFm3b.js +1 -0
- package/payload/server/public/assets/{page-Co7KCRV8.js → page-CDrsNrDO.js} +1 -1
- package/payload/server/public/assets/{pieDiagram-DEJITSTG-cagLL9ng.js → pieDiagram-DEJITSTG-CZwxH1nJ.js} +1 -1
- package/payload/server/public/assets/{public-B6TEcDLx.js → public-MKWxjwiF.js} +3 -3
- package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-Keaa1jDh.js → quadrantDiagram-34T5L4WZ-BWT4DItX.js} +1 -1
- package/payload/server/public/assets/{requirementDiagram-MS252O5E-BcYRyn5z.js → requirementDiagram-MS252O5E-CHYkWUEy.js} +1 -1
- package/payload/server/public/assets/{sankeyDiagram-XADWPNL6--fKoG9NR.js → sankeyDiagram-XADWPNL6-km7p45Ng.js} +1 -1
- package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-lKG36-Di.js → sequenceDiagram-FGHM5R23-BT1C0Dw-.js} +1 -1
- package/payload/server/public/assets/{stateDiagram-FHFEXIEX-BuVsrlig.js → stateDiagram-FHFEXIEX-hibC19DY.js} +1 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-MuJZxjmU.js +1 -0
- package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-D6X6uq17.js → timeline-definition-GMOUNBTQ-Cnm86NfE.js} +1 -1
- package/payload/server/public/assets/{vennDiagram-DHZGUBPP-BgvcfRVf.js → vennDiagram-DHZGUBPP-ByjQPLzS.js} +1 -1
- package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-Cpd1xsrt.js → wardleyDiagram-NUSXRM2D-CMVrWw7l.js} +1 -1
- package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-CDF5ZVFv.js → xychartDiagram-5P7HB3ND-Mpc1u3FV.js} +1 -1
- package/payload/server/public/data.html +5 -5
- package/payload/server/public/graph.html +6 -6
- package/payload/server/public/index.html +8 -8
- package/payload/server/public/public.html +5 -5
- package/payload/server/server.js +288 -412
- package/payload/docs/desktop-code-controls.md +0 -63
- package/payload/platform/plugins/anthropic/.claude-plugin/plugin.json +0 -8
- package/payload/platform/plugins/anthropic/PLUGIN.md +0 -40
- package/payload/platform/plugins/anthropic/references/console-api.md +0 -186
- package/payload/platform/plugins/anthropic/references/setup-guide.md +0 -36
- package/payload/platform/plugins/anthropic/skills/get-api-key/SKILL.md +0 -136
- package/payload/platform/plugins/estate-onboarding/.claude-plugin/plugin.json +0 -8
- package/payload/platform/plugins/estate-onboarding/PLUGIN.md +0 -30
- package/payload/platform/plugins/estate-onboarding/skills/bootstrap/SKILL.md +0 -26
- package/payload/platform/plugins/estate-onboarding/skills/bootstrap/references/onboarding-flow.md +0 -63
- package/payload/premium-plugins/real-agent/plugins/estate-onboarding/.claude-plugin/plugin.json +0 -8
- package/payload/premium-plugins/real-agent/plugins/estate-onboarding/PLUGIN.md +0 -30
- package/payload/premium-plugins/real-agent/plugins/estate-onboarding/skills/bootstrap/SKILL.md +0 -26
- package/payload/premium-plugins/real-agent/plugins/estate-onboarding/skills/bootstrap/references/onboarding-flow.md +0 -63
- package/payload/server/public/assets/channel-C76knBRO.js +0 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-Bohexn7P.js +0 -1
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DVsmsAu7.js +0 -1
- package/payload/server/public/assets/clone-DUrXF4sO.js +0 -1
- package/payload/server/public/assets/data-j1WNhF8t.js +0 -1
- package/payload/server/public/assets/graph-C_f_9L_7.js +0 -1
- package/payload/server/public/assets/graph-labels-BSQJHlgf.js +0 -1
- package/payload/server/public/assets/page-B0BPrSE3.js +0 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-DSt88_xL.js +0 -1
- /package/payload/server/public/assets/{brand-B-bNrpwc.js → brand-CENN2zdq.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-load.test.js","sourceRoot":"","sources":["../../src/__tests__/skill-load.test.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"skill-load.test.js","sourceRoot":"","sources":["../../src/__tests__/skill-load.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,6 @@ import { readFile, writeFile } from "node:fs/promises";
|
|
|
8
8
|
import { resolve, join } from "node:path";
|
|
9
9
|
import { execFileSync } from "node:child_process";
|
|
10
10
|
import { appendFileSync, cpSync, existsSync, mkdirSync, readdirSync, readFileSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
11
|
-
import { writeKey, validateKey, keyFilePath } from "../../../../lib/anthropic-key/dist/index.js";
|
|
12
11
|
import { writeAdminEntry, removeAdminFromAccount } from "../../../../lib/admins-write/dist/index.js";
|
|
13
12
|
import { deviceUrlBlock } from "../../../../lib/device-url/dist/index.js";
|
|
14
13
|
import { substituteBrandPlaceholders } from "../../../../lib/brand-templating/dist/index.js";
|
|
@@ -34,7 +33,7 @@ if (!PLATFORM_PORT) {
|
|
|
34
33
|
throw new Error("PLATFORM_PORT environment variable is required — set by getMcpServers() in claude-agent.ts");
|
|
35
34
|
}
|
|
36
35
|
// Brand-aware config — reads configDir, productName, and commercialMode from
|
|
37
|
-
// brand.json stamped at install time. commercialMode
|
|
36
|
+
// brand.json stamped at install time. commercialMode gates the
|
|
38
37
|
// entitlement verifier: false (default) preserves personal-mode installs;
|
|
39
38
|
// true requires a Rubytech-signed entitlement.json or the install runs locked.
|
|
40
39
|
// No fallback: if brand.json is missing or incomplete, the platform wasn't properly installed.
|
|
@@ -51,11 +50,11 @@ function resolveBrandConfig() {
|
|
|
51
50
|
if (!brand.productName) {
|
|
52
51
|
throw new Error(`brand.json at ${brandPath} is missing the productName field`);
|
|
53
52
|
}
|
|
54
|
-
//
|
|
53
|
+
// brand.json is the single source of truth for the
|
|
55
54
|
// four brand-scoped port fields. An admin MCP probe must see the exact
|
|
56
55
|
// same numbers the rest of the platform binds; silent vncDisplay-derived
|
|
57
56
|
// fallback was a recurrence-class silent-fallback-masks-root-cause
|
|
58
|
-
// violation
|
|
57
|
+
// violation and is now loud-fail.
|
|
59
58
|
const brandLabel = String(brand.configDir).replace(/^\./, "");
|
|
60
59
|
if (typeof brand.vncDisplay !== "number") {
|
|
61
60
|
console.error(`[mcp:admin] error reason=cdp-port-unresolved brand=${brandLabel} path=${brandPath} field=vncDisplay json_keys=${Object.keys(brand).join(",")}`);
|
|
@@ -124,11 +123,11 @@ async function readAccountConfig() {
|
|
|
124
123
|
}
|
|
125
124
|
const STAGING_ROOT = resolve(PLATFORM_ROOT, "../premium-plugins");
|
|
126
125
|
const PLUGINS_DIR = resolve(PLATFORM_ROOT, "plugins");
|
|
127
|
-
const CORE_PLUGINS = ["admin", "memory", "docs", "cloudflare"
|
|
126
|
+
const CORE_PLUGINS = ["admin", "memory", "docs", "cloudflare"];
|
|
128
127
|
// users.json lives under CONFIG_DIR (persistent) — see paths.ts comment for
|
|
129
128
|
// the regression that motivated the move. Both platform/ui and this MCP plugin
|
|
130
129
|
// resolve the same file via brand-aware $HOME/<configDir>, so the device-level
|
|
131
|
-
// admin auth store is single-pathed across both processes
|
|
130
|
+
// admin auth store is single-pathed across both processes.
|
|
132
131
|
const USERS_FILE = resolve(CONFIG_DIR, "users.json");
|
|
133
132
|
/** Maximum number of admin users allowed per tier. */
|
|
134
133
|
const MAX_ADMINS_BY_TIER = {
|
|
@@ -219,18 +218,18 @@ function checkPort(port, timeoutMs = 1000) {
|
|
|
219
218
|
eagerTool(server, "system-status", "Check health of all Maxy platform services: Neo4j, Ollama, Cloudflare tunnel, crontab (Maxy cron entries), VNC, Chrome (CDP), specialist agents, and deployed brand identity.", {}, async () => {
|
|
220
219
|
const checks = {};
|
|
221
220
|
try {
|
|
222
|
-
//
|
|
221
|
+
// NEO4J_URI must be explicit. The outer try/catch surfaces the
|
|
223
222
|
// unset condition as `checks.neo4j = "unreachable: NEO4J_URI unset..."`
|
|
224
223
|
// so system-status still reports cleanly — the misconfig appears in the
|
|
225
224
|
// check output instead of taking down the whole tool.
|
|
226
225
|
const neo4jUri = process.env.NEO4J_URI;
|
|
227
226
|
if (!neo4jUri) {
|
|
228
|
-
throw new Error("NEO4J_URI unset (
|
|
227
|
+
throw new Error("NEO4J_URI unset (no silent default)");
|
|
229
228
|
}
|
|
230
229
|
// NOTE: the port-replace below only works when the URI ends in :7687.
|
|
231
230
|
// For non-default bolt ports (e.g. :7688 on realagent) the HTTP port is
|
|
232
231
|
// bolt - 213 (see graph-proxy.ts). Pre-existing fragility — flagged as a
|
|
233
|
-
// follow-up in
|
|
232
|
+
// follow-up in.docs/neo4j-uri-audit.md. Not in scope.
|
|
234
233
|
const res = await fetch(neo4jUri.replace("bolt://", "http://").replace("7687", "7474"), { signal: AbortSignal.timeout(3000) });
|
|
235
234
|
checks.neo4j = res.ok ? "healthy" : `unhealthy (${res.status})`;
|
|
236
235
|
}
|
|
@@ -307,15 +306,15 @@ eagerTool(server, "system-status", "Check health of all Maxy platform services:
|
|
|
307
306
|
catch {
|
|
308
307
|
checks.crontab = "no crontab configured for this user";
|
|
309
308
|
}
|
|
310
|
-
// VNC display server (this brand's rfbPort
|
|
309
|
+
// VNC display server (this brand's rfbPort)
|
|
311
310
|
checks.vnc = (await checkPort(BRAND_CONFIG.rfbPort)) ? "running" : "not running";
|
|
312
|
-
// Chrome CDP (this brand's cdpPort
|
|
311
|
+
// Chrome CDP (this brand's cdpPort); personal-assistant
|
|
313
312
|
// browser tools depend on this.
|
|
314
313
|
const chromeUp = await checkPort(BRAND_CONFIG.cdpPort);
|
|
315
314
|
checks.chrome = chromeUp
|
|
316
315
|
? "running"
|
|
317
316
|
: `not running — personal-assistant browser tools degraded (CDP port ${BRAND_CONFIG.cdpPort} not listening)`;
|
|
318
|
-
// WiFi — current connection state
|
|
317
|
+
// WiFi — current connection state
|
|
319
318
|
try {
|
|
320
319
|
const wifiScan = execFileSync("nmcli", ["-t", "-f", "ACTIVE,SSID,SIGNAL", "device", "wifi", "list"], { encoding: "utf-8", timeout: 5000 });
|
|
321
320
|
const activeLine = wifiScan.split("\n").find((l) => l.startsWith("yes:"));
|
|
@@ -572,12 +571,12 @@ eagerTool(server, "account-update", "Update a user-configurable setting in accou
|
|
|
572
571
|
}
|
|
573
572
|
});
|
|
574
573
|
// Plugin enable/disable: deterministic write to account.json.enabledPlugins.
|
|
575
|
-
// The pre-tool-use hook denies the agent's direct Edit on account.json
|
|
574
|
+
// The pre-tool-use hook denies the agent's direct Edit on account.json,
|
|
576
575
|
// so the agent can no longer toggle enablement by hand-editing the file. This
|
|
577
576
|
// tool is the legitimate path: validates the plugin name, refuses core plugins,
|
|
578
577
|
// confirms the plugin directory exists, and atomically updates the array.
|
|
579
578
|
// Entitlement-bearing fields (tier, purchasedPlugins) are NOT writable here.
|
|
580
|
-
server.tool("plugin-toggle-enabled", "Enable or disable a plugin in this account by adding/removing its name from account.json's enabledPlugins array. Validates the plugin exists under platform/plugins/, refuses to disable core plugins (admin, memory, docs, cloudflare
|
|
579
|
+
server.tool("plugin-toggle-enabled", "Enable or disable a plugin in this account by adding/removing its name from account.json's enabledPlugins array. Validates the plugin exists under platform/plugins/, refuses to disable core plugins (admin, memory, docs, cloudflare), and writes atomically. Takes effect on next session start. Does NOT change purchasedPlugins or tier — those derive from the signed entitlement payload.", {
|
|
581
580
|
pluginName: z.string().describe("Plugin slug (lowercase a-z0-9-)."),
|
|
582
581
|
action: z.enum(["enable", "disable"]).describe("enable adds to enabledPlugins; disable removes."),
|
|
583
582
|
}, async ({ pluginName, action }) => {
|
|
@@ -637,7 +636,7 @@ eagerTool(server, "admin-add", "Add a new admin user to this account. Creates a
|
|
|
637
636
|
return { content: [{ type: "text", text: `${TAG} ${err instanceof Error ? err.message : String(err)}` }], isError: true };
|
|
638
637
|
}
|
|
639
638
|
// Enforce per-tier admin limit. Effective tier comes from the signed
|
|
640
|
-
// entitlement payload
|
|
639
|
+
// entitlement payload — editing account.json.tier directly
|
|
641
640
|
// has no effect; the verifier uses the signed value and emits a
|
|
642
641
|
// [entitlement] tampered: line if disk and signed diverge.
|
|
643
642
|
try {
|
|
@@ -679,7 +678,7 @@ eagerTool(server, "admin-add", "Add a new admin user to this account. Creates a
|
|
|
679
678
|
}
|
|
680
679
|
const pinHash = hashPin(plaintextPin);
|
|
681
680
|
const userId = crypto.randomUUID();
|
|
682
|
-
// Three-store admin auth invariant
|
|
681
|
+
// Three-store admin auth invariant: users.json
|
|
683
682
|
// (device-level PIN auth) and account.json admins[] (account-level role)
|
|
684
683
|
// route through the shared `admins-write` helper so the dual write has a
|
|
685
684
|
// single chokepoint. Per-leg `[admins-write]` and legacy `[admin-auth-store]`
|
|
@@ -705,12 +704,12 @@ eagerTool(server, "admin-add", "Add a new admin user to this account. Creates a
|
|
|
705
704
|
}
|
|
706
705
|
// 3. Write to Neo4j (graph-level): AdminUser + Person + OWNS atomically,
|
|
707
706
|
// plus ADMIN_OF edge to the LocalBusiness for this account.
|
|
708
|
-
//
|
|
707
|
+
// deterministic identity creation: never delegate node
|
|
709
708
|
// creation to the LLM. Person reuse rule mirrors writeAdminUserAndPerson
|
|
710
709
|
// in platform/ui/app/lib/neo4j-store.ts (case-insensitive exact match
|
|
711
710
|
// on givenName + familyName; partial-name ambiguity does NOT match —
|
|
712
711
|
// rationalisation is a separate agent-mediated concern).
|
|
713
|
-
//
|
|
712
|
+
// Neo4j-leg failure now returns is_error: true with the
|
|
714
713
|
// [admin-auth-store] line; previously it set a soft warning string and
|
|
715
714
|
// returned success, which is what hid the Adam Mackay incident from
|
|
716
715
|
// the recovery agent. The user is still functional via users.json +
|
|
@@ -725,7 +724,7 @@ eagerTool(server, "admin-add", "Add a new admin user to this account. Creates a
|
|
|
725
724
|
const firstSpace = trimmedName.search(/\s/);
|
|
726
725
|
const givenName = firstSpace === -1 ? trimmedName : trimmedName.slice(0, firstSpace).trim();
|
|
727
726
|
const familyName = firstSpace === -1 ? null : (trimmedName.slice(firstSpace + 1).trim() || null);
|
|
728
|
-
//
|
|
727
|
+
// stamp `accountId` on every AdminUser at MERGE time, both
|
|
729
728
|
// ON CREATE and ON MATCH (the latter via COALESCE so a pre-existing
|
|
730
729
|
// value isn't overwritten if it differs — which would itself be a
|
|
731
730
|
// graph-invariant violation worth surfacing). Pre-897 the missing
|
|
@@ -770,7 +769,7 @@ eagerTool(server, "admin-add", "Add a new admin user to this account. Creates a
|
|
|
770
769
|
if (result.records.length > 0) {
|
|
771
770
|
personReused = result.records[0].get("reused");
|
|
772
771
|
}
|
|
773
|
-
//
|
|
772
|
+
// post-write assertion mirroring the one in neo4j-store.ts.
|
|
774
773
|
// MATCH back the AdminUser we just wrote and verify every required
|
|
775
774
|
// field landed. Loud-fail the tool call if accountId or name is null
|
|
776
775
|
// so a Cypher regression that drops the field is grep-detectable.
|
|
@@ -897,7 +896,7 @@ eagerTool(server, "admin-list", "List all admins for this account with their nam
|
|
|
897
896
|
if (admins.length === 0) {
|
|
898
897
|
return { content: [{ type: "text", text: `${TAG} No admins configured for this account.` }] };
|
|
899
898
|
}
|
|
900
|
-
// Enrich with names from Neo4j AdminUser (canonical
|
|
899
|
+
// Enrich with names from Neo4j AdminUser (canonical). Best
|
|
901
900
|
// effort — render "(unknown)" for any userId without a graph entry.
|
|
902
901
|
const userMap = new Map();
|
|
903
902
|
try {
|
|
@@ -1197,9 +1196,9 @@ eagerTool(server, "logs-read", "Read recent logs. Stream logs (type=agent-stream
|
|
|
1197
1196
|
}, async ({ type, lines = 50, sessionKey, conversationId }) => {
|
|
1198
1197
|
try {
|
|
1199
1198
|
const LOG_DIR = resolve(getAccountDir(), "logs");
|
|
1200
|
-
//
|
|
1199
|
+
// sessionKey is the single identifier on disk.
|
|
1201
1200
|
// `conversationId` is retained as a legacy alias that maps to the
|
|
1202
|
-
// sessionKey-named file
|
|
1201
|
+
// sessionKey-named file will collapse the alias in the UI.
|
|
1203
1202
|
const idForResolve = sessionKey ?? conversationId;
|
|
1204
1203
|
if (idForResolve) {
|
|
1205
1204
|
if (!existsSync(LOG_DIR)) {
|
|
@@ -1207,7 +1206,7 @@ eagerTool(server, "logs-read", "Read recent logs. Stream logs (type=agent-stream
|
|
|
1207
1206
|
}
|
|
1208
1207
|
const prefixMap = {
|
|
1209
1208
|
"agent-stream": "claude-agent-stream",
|
|
1210
|
-
system: "claude-agent-stream", //
|
|
1209
|
+
system: "claude-agent-stream", // backwards-compatible alias for agent-stream
|
|
1211
1210
|
error: "claude-agent-stderr",
|
|
1212
1211
|
session: "sse-events",
|
|
1213
1212
|
public: "public-agent-stream",
|
|
@@ -1249,7 +1248,7 @@ eagerTool(server, "logs-read", "Read recent logs. Stream logs (type=agent-stream
|
|
|
1249
1248
|
if (sessionKey) {
|
|
1250
1249
|
const prefixes = {
|
|
1251
1250
|
"agent-stream": "claude-agent-stream-",
|
|
1252
|
-
system: "claude-agent-stream-", //
|
|
1251
|
+
system: "claude-agent-stream-", // backwards-compatible alias
|
|
1253
1252
|
error: "claude-agent-stderr-",
|
|
1254
1253
|
session: "sse-events-",
|
|
1255
1254
|
public: "public-agent-stream-",
|
|
@@ -1363,7 +1362,7 @@ eagerTool(server, "logs-read", "Read recent logs. Stream logs (type=agent-stream
|
|
|
1363
1362
|
}).toString();
|
|
1364
1363
|
return { content: [{ type: "text", text: `# vnc-boot.log\n\n${result}` }] };
|
|
1365
1364
|
}
|
|
1366
|
-
//
|
|
1365
|
+
// agent-stream and the legacy system alias both map to
|
|
1367
1366
|
// claude-agent-stream-. The fall-through default also covers them.
|
|
1368
1367
|
const prefix = resolvedType === "error" ? "claude-agent-stderr-"
|
|
1369
1368
|
: resolvedType === "session" ? "sse-events-"
|
|
@@ -1388,7 +1387,7 @@ eagerTool(server, "logs-read", "Read recent logs. Stream logs (type=agent-stream
|
|
|
1388
1387
|
return { content: [{ type: "text", text: `Failed to read logs: ${err instanceof Error ? err.message : String(err)}` }] };
|
|
1389
1388
|
}
|
|
1390
1389
|
});
|
|
1391
|
-
//
|
|
1390
|
+
// operator-authored skills are written to disk as a plugin so the
|
|
1392
1391
|
// existing plugin-manifest loader picks them up (parsePluginFrontmatter +
|
|
1393
1392
|
// assemblePublicPluginContent + loadEmbeddedPlugins all read from
|
|
1394
1393
|
// <PLATFORM_ROOT>/plugins/<dir>/). Canonical = <accountDir>/plugins/<plugin>
|
|
@@ -1396,7 +1395,7 @@ eagerTool(server, "logs-read", "Read recent logs. Stream logs (type=agent-stream
|
|
|
1396
1395
|
// <PLATFORM_ROOT>/plugins/<plugin> is rehydrated at admin session start by
|
|
1397
1396
|
// autoDeliverUserPlugins. The agent supplies pluginName/skillName/body —
|
|
1398
1397
|
// path is computed by this tool from ACCOUNT_ID. Symmetric write counterpart
|
|
1399
|
-
// to plugin-read
|
|
1398
|
+
// to plugin-read.
|
|
1400
1399
|
eagerTool(server, "store-skill", "Save an operator-authored skill on disk as part of an admin-managed plugin. " +
|
|
1401
1400
|
"The skill becomes immediately discoverable by the admin agent (and the public agent if publicEmbed=true). " +
|
|
1402
1401
|
"Path is computed internally from the active account; the agent supplies content + names only. " +
|
|
@@ -1528,7 +1527,7 @@ eagerTool(server, "plugin-read", "Read a plugin definition (PLUGIN.md) or one of
|
|
|
1528
1527
|
const resolvedFile = file ?? "PLUGIN.md";
|
|
1529
1528
|
const pluginPath = resolve(PLATFORM_ROOT, "plugins", pluginName, resolvedFile);
|
|
1530
1529
|
if (!existsSync(pluginPath)) {
|
|
1531
|
-
//
|
|
1530
|
+
// when the agent's pluginName/file combination misses
|
|
1532
1531
|
// a skill that DOES live under `plugins/*/skills/<slug>/SKILL.md`,
|
|
1533
1532
|
// surface the corrected pluginName AND the canonical file path so
|
|
1534
1533
|
// the next call is deterministic. Both wrong-`file` and wrong-`pluginName`
|
|
@@ -1595,12 +1594,12 @@ eagerTool(server, "plugin-read", "Read a plugin definition (PLUGIN.md) or one of
|
|
|
1595
1594
|
};
|
|
1596
1595
|
}
|
|
1597
1596
|
});
|
|
1598
|
-
//
|
|
1597
|
+
// agent-side `Glob` fallthrough when "set up cloudflare" maps a
|
|
1599
1598
|
// SKILL.md to the wrong plugin: skill-find walks
|
|
1600
1599
|
// `${PLATFORM_ROOT}/plugins/*/skills/<skillName>/SKILL.md` once and returns
|
|
1601
1600
|
// the owner. With one tool call the agent learns the correct plugin name.
|
|
1602
1601
|
//
|
|
1603
|
-
//
|
|
1602
|
+
// `skill-load` (below) is the canonical single-call surface that
|
|
1604
1603
|
// most agents want (resolve + read body in one shot). `skill-find` is kept
|
|
1605
1604
|
// for callers that need only the path (e.g. tooling that lists owners
|
|
1606
1605
|
// without reading the body).
|
|
@@ -1634,11 +1633,11 @@ server.tool("skill-find", "Find which plugin owns a skill by name. Walks plugins
|
|
|
1634
1633
|
isError: true,
|
|
1635
1634
|
};
|
|
1636
1635
|
});
|
|
1637
|
-
//
|
|
1636
|
+
// `skill-load` collapses skill resolve+read into one call.
|
|
1638
1637
|
//
|
|
1639
1638
|
// Why: 21 prose call sites previously said *"Load `admin/skills/plainly/SKILL.md`
|
|
1640
1639
|
// via `plugin-read`"*. The LLM kept passing the path as `pluginName`, tripping
|
|
1641
|
-
// the not-found branch with the corrected-pluginName hint
|
|
1640
|
+
// the not-found branch with the corrected-pluginName hint.
|
|
1642
1641
|
// The recurring failure is recorded in the corrections ledger. One slug-arg
|
|
1643
1642
|
// tool removes the path-format ambiguity at the source.
|
|
1644
1643
|
//
|
|
@@ -1674,7 +1673,7 @@ eagerTool(server, "skill-load", "Load a plugin skill's SKILL.md body by skill na
|
|
|
1674
1673
|
};
|
|
1675
1674
|
}
|
|
1676
1675
|
const content = substituteBrandPlaceholders(outcome.body, outcome.absolutePath);
|
|
1677
|
-
//
|
|
1676
|
+
// prepend a skill-input-contract notice when the skill's
|
|
1678
1677
|
// frontmatter declares `requiredInputs:`. The notice tells the agent
|
|
1679
1678
|
// to route missing inputs through AskUserQuestion (per IDENTITY.md
|
|
1680
1679
|
// "Skill-input resolution"); the embedded `<!-- skill-input-contract
|
|
@@ -1703,7 +1702,7 @@ eagerTool(server, "skill-load", "Load a plugin skill's SKILL.md body by skill na
|
|
|
1703
1702
|
};
|
|
1704
1703
|
}
|
|
1705
1704
|
});
|
|
1706
|
-
//
|
|
1705
|
+
// the inline UI-component tool is gone from the admin surface
|
|
1707
1706
|
// on native Claude Code. The PTY runtime has no host bridge for the UI
|
|
1708
1707
|
// primitives the legacy tool wrapped; calling it logged a "rendered"
|
|
1709
1708
|
// sentinel that read like a successful render to the agent while the
|
|
@@ -1759,32 +1758,6 @@ server.tool("remote-auth-set-password", "Set the remote access password. Hashes
|
|
|
1759
1758
|
};
|
|
1760
1759
|
}
|
|
1761
1760
|
});
|
|
1762
|
-
eagerTool(server, "api-key-store", "Validate and store an Anthropic API key. Key must start with sk-ant- and be at least 90 characters. " +
|
|
1763
|
-
"Writes to the platform's brand-specific config directory. Takes effect immediately for the public agent.", { apiKey: z.string() }, async ({ apiKey }) => {
|
|
1764
|
-
try {
|
|
1765
|
-
writeKey(apiKey);
|
|
1766
|
-
return { content: [{ type: "text", text: `API key stored at ${keyFilePath()}.` }] };
|
|
1767
|
-
}
|
|
1768
|
-
catch (err) {
|
|
1769
|
-
return {
|
|
1770
|
-
content: [{ type: "text", text: err instanceof Error ? err.message : String(err) }],
|
|
1771
|
-
isError: true,
|
|
1772
|
-
};
|
|
1773
|
-
}
|
|
1774
|
-
});
|
|
1775
|
-
eagerTool(server, "api-key-verify", "Verify the stored Anthropic API key works by making a minimal probe call. " +
|
|
1776
|
-
"Returns one of: valid (key works, credits available), billing (key valid but credit balance too low — " +
|
|
1777
|
-
"user must add credits at console.anthropic.com/settings/billing), auth_error (key rejected — invalid or revoked), " +
|
|
1778
|
-
"missing (no key file found), error (could not verify — network issue or Anthropic outage). " +
|
|
1779
|
-
"Call this on greeting, during system checks, or after storing a new key.", {}, async () => {
|
|
1780
|
-
const result = await validateKey();
|
|
1781
|
-
return {
|
|
1782
|
-
content: [{
|
|
1783
|
-
type: "text",
|
|
1784
|
-
text: `Status: ${result.status}\n${result.message}`,
|
|
1785
|
-
}],
|
|
1786
|
-
};
|
|
1787
|
-
});
|
|
1788
1761
|
// ===================================================================
|
|
1789
1762
|
// Utility tools
|
|
1790
1763
|
// ===================================================================
|
|
@@ -1837,7 +1810,7 @@ eagerTool(server, "qr-generate", "Generate a QR code from text or a URL. Returns
|
|
|
1837
1810
|
}
|
|
1838
1811
|
});
|
|
1839
1812
|
// ===================================================================
|
|
1840
|
-
// WiFi management
|
|
1813
|
+
// WiFi management
|
|
1841
1814
|
// ===================================================================
|
|
1842
1815
|
eagerTool(server, "wifi", "Manage WiFi connections on this device. Actions: " +
|
|
1843
1816
|
"scan (list visible networks with signal strength and security), " +
|
|
@@ -2110,7 +2083,7 @@ server.tool("premium-list", "List available premium plugins and their delivery s
|
|
|
2110
2083
|
};
|
|
2111
2084
|
}
|
|
2112
2085
|
const config = await readAccountConfig();
|
|
2113
|
-
// Effective purchasedPlugins from signed entitlement
|
|
2086
|
+
// Effective purchasedPlugins from signed entitlement.
|
|
2114
2087
|
const entitlement = await currentEntitlement();
|
|
2115
2088
|
const purchased = entitlement.purchasedPlugins;
|
|
2116
2089
|
const enabled = Array.isArray(config.enabledPlugins) ? config.enabledPlugins : [];
|
|
@@ -2217,7 +2190,7 @@ server.tool("premium-deliver", "Deliver a purchased premium plugin. Copies plugi
|
|
|
2217
2190
|
isError: true,
|
|
2218
2191
|
};
|
|
2219
2192
|
}
|
|
2220
|
-
// Effective purchasedPlugins from signed entitlement
|
|
2193
|
+
// Effective purchasedPlugins from signed entitlement. The
|
|
2221
2194
|
// raw account.json value is ignored on commercial installs; verifier
|
|
2222
2195
|
// returns the signed list (or [] on anonymous-fallback).
|
|
2223
2196
|
const entitlement = await resolveEntitlement(ENTITLEMENT_BRAND, {
|
|
@@ -2582,7 +2555,7 @@ function cleanupPendingAction(actionId) {
|
|
|
2582
2555
|
}
|
|
2583
2556
|
}
|
|
2584
2557
|
async function persistApprovalToolCall(opts) {
|
|
2585
|
-
// Write doctrine
|
|
2558
|
+
// Write doctrine: a ToolCall without its owning Conversation is
|
|
2586
2559
|
// noise — every admin tool call belongs to a chat. When conversationId is
|
|
2587
2560
|
// missing or its Conversation cannot be matched, we log and skip the
|
|
2588
2561
|
// persist rather than create an orphan ToolCall node. The legacy
|