memkin 0.4.0
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/LICENSE +191 -0
- package/README.en.md +934 -0
- package/README.md +934 -0
- package/README.zh-CN.md +825 -0
- package/bin/memkin.mjs +41 -0
- package/dist/adapters/file.d.ts +19 -0
- package/dist/adapters/file.d.ts.map +1 -0
- package/dist/adapters/file.js +61 -0
- package/dist/adapters/file.js.map +1 -0
- package/dist/adapters/gbrain.d.ts +29 -0
- package/dist/adapters/gbrain.d.ts.map +1 -0
- package/dist/adapters/gbrain.js +622 -0
- package/dist/adapters/gbrain.js.map +1 -0
- package/dist/adapters/index.d.ts +6 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +5 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/registry.d.ts +18 -0
- package/dist/adapters/registry.d.ts.map +1 -0
- package/dist/adapters/registry.js +18 -0
- package/dist/adapters/registry.js.map +1 -0
- package/dist/adapters/stdout.d.ts +12 -0
- package/dist/adapters/stdout.d.ts.map +1 -0
- package/dist/adapters/stdout.js +29 -0
- package/dist/adapters/stdout.js.map +1 -0
- package/dist/adapters/store.d.ts +47 -0
- package/dist/adapters/store.d.ts.map +1 -0
- package/dist/adapters/store.js +642 -0
- package/dist/adapters/store.js.map +1 -0
- package/dist/cli-helpers.d.ts +12 -0
- package/dist/cli-helpers.d.ts.map +1 -0
- package/dist/cli-helpers.js +11 -0
- package/dist/cli-helpers.js.map +1 -0
- package/dist/cli-stores.d.ts +61 -0
- package/dist/cli-stores.d.ts.map +1 -0
- package/dist/cli-stores.js +130 -0
- package/dist/cli-stores.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1579 -0
- package/dist/cli.js.map +1 -0
- package/dist/collectors/agent/claude-code.d.ts +12 -0
- package/dist/collectors/agent/claude-code.d.ts.map +1 -0
- package/dist/collectors/agent/claude-code.js +94 -0
- package/dist/collectors/agent/claude-code.js.map +1 -0
- package/dist/collectors/agent/codex.d.ts +16 -0
- package/dist/collectors/agent/codex.d.ts.map +1 -0
- package/dist/collectors/agent/codex.js +149 -0
- package/dist/collectors/agent/codex.js.map +1 -0
- package/dist/collectors/agent/collector.d.ts +20 -0
- package/dist/collectors/agent/collector.d.ts.map +1 -0
- package/dist/collectors/agent/collector.js +108 -0
- package/dist/collectors/agent/collector.js.map +1 -0
- package/dist/collectors/agent/hermes.d.ts +13 -0
- package/dist/collectors/agent/hermes.d.ts.map +1 -0
- package/dist/collectors/agent/hermes.js +90 -0
- package/dist/collectors/agent/hermes.js.map +1 -0
- package/dist/collectors/agent/index.d.ts +6 -0
- package/dist/collectors/agent/index.d.ts.map +1 -0
- package/dist/collectors/agent/index.js +5 -0
- package/dist/collectors/agent/index.js.map +1 -0
- package/dist/collectors/agent/types.d.ts +61 -0
- package/dist/collectors/agent/types.d.ts.map +1 -0
- package/dist/collectors/agent/types.js +6 -0
- package/dist/collectors/agent/types.js.map +1 -0
- package/dist/collectors/feishu/auth.d.ts +13 -0
- package/dist/collectors/feishu/auth.d.ts.map +1 -0
- package/dist/collectors/feishu/auth.js +72 -0
- package/dist/collectors/feishu/auth.js.map +1 -0
- package/dist/collectors/feishu/chat-name-resolver.d.ts +33 -0
- package/dist/collectors/feishu/chat-name-resolver.d.ts.map +1 -0
- package/dist/collectors/feishu/chat-name-resolver.js +63 -0
- package/dist/collectors/feishu/chat-name-resolver.js.map +1 -0
- package/dist/collectors/feishu/collector.d.ts +27 -0
- package/dist/collectors/feishu/collector.d.ts.map +1 -0
- package/dist/collectors/feishu/collector.js +136 -0
- package/dist/collectors/feishu/collector.js.map +1 -0
- package/dist/collectors/feishu/cursor-staging.d.ts +11 -0
- package/dist/collectors/feishu/cursor-staging.d.ts.map +1 -0
- package/dist/collectors/feishu/cursor-staging.js +37 -0
- package/dist/collectors/feishu/cursor-staging.js.map +1 -0
- package/dist/collectors/feishu/docs/blocks.d.ts +25 -0
- package/dist/collectors/feishu/docs/blocks.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/blocks.js +34 -0
- package/dist/collectors/feishu/docs/blocks.js.map +1 -0
- package/dist/collectors/feishu/docs/candidate.d.ts +17 -0
- package/dist/collectors/feishu/docs/candidate.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/candidate.js +36 -0
- package/dist/collectors/feishu/docs/candidate.js.map +1 -0
- package/dist/collectors/feishu/docs/config.d.ts +41 -0
- package/dist/collectors/feishu/docs/config.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/config.js +30 -0
- package/dist/collectors/feishu/docs/config.js.map +1 -0
- package/dist/collectors/feishu/docs/decision.d.ts +14 -0
- package/dist/collectors/feishu/docs/decision.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/decision.js +43 -0
- package/dist/collectors/feishu/docs/decision.js.map +1 -0
- package/dist/collectors/feishu/docs/full-builder.d.ts +17 -0
- package/dist/collectors/feishu/docs/full-builder.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/full-builder.js +136 -0
- package/dist/collectors/feishu/docs/full-builder.js.map +1 -0
- package/dist/collectors/feishu/docs/hash.d.ts +8 -0
- package/dist/collectors/feishu/docs/hash.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/hash.js +15 -0
- package/dist/collectors/feishu/docs/hash.js.map +1 -0
- package/dist/collectors/feishu/docs/ingest.d.ts +54 -0
- package/dist/collectors/feishu/docs/ingest.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/ingest.js +120 -0
- package/dist/collectors/feishu/docs/ingest.js.map +1 -0
- package/dist/collectors/feishu/docs/llm-json.d.ts +13 -0
- package/dist/collectors/feishu/docs/llm-json.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/llm-json.js +40 -0
- package/dist/collectors/feishu/docs/llm-json.js.map +1 -0
- package/dist/collectors/feishu/docs/pointer-builder.d.ts +7 -0
- package/dist/collectors/feishu/docs/pointer-builder.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/pointer-builder.js +11 -0
- package/dist/collectors/feishu/docs/pointer-builder.js.map +1 -0
- package/dist/collectors/feishu/docs/render.d.ts +8 -0
- package/dist/collectors/feishu/docs/render.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/render.js +105 -0
- package/dist/collectors/feishu/docs/render.js.map +1 -0
- package/dist/collectors/feishu/docs/run.d.ts +37 -0
- package/dist/collectors/feishu/docs/run.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/run.js +143 -0
- package/dist/collectors/feishu/docs/run.js.map +1 -0
- package/dist/collectors/feishu/docs/status.d.ts +16 -0
- package/dist/collectors/feishu/docs/status.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/status.js +24 -0
- package/dist/collectors/feishu/docs/status.js.map +1 -0
- package/dist/collectors/feishu/docs/store-writer.d.ts +32 -0
- package/dist/collectors/feishu/docs/store-writer.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/store-writer.js +71 -0
- package/dist/collectors/feishu/docs/store-writer.js.map +1 -0
- package/dist/collectors/feishu/docs/toc.d.ts +3 -0
- package/dist/collectors/feishu/docs/toc.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/toc.js +19 -0
- package/dist/collectors/feishu/docs/toc.js.map +1 -0
- package/dist/collectors/feishu/docs/triggers.d.ts +7 -0
- package/dist/collectors/feishu/docs/triggers.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/triggers.js +31 -0
- package/dist/collectors/feishu/docs/triggers.js.map +1 -0
- package/dist/collectors/feishu/docs/types.d.ts +109 -0
- package/dist/collectors/feishu/docs/types.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/types.js +2 -0
- package/dist/collectors/feishu/docs/types.js.map +1 -0
- package/dist/collectors/feishu/docs/upgrade-queue.d.ts +19 -0
- package/dist/collectors/feishu/docs/upgrade-queue.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/upgrade-queue.js +36 -0
- package/dist/collectors/feishu/docs/upgrade-queue.js.map +1 -0
- package/dist/collectors/feishu/docs/url-parser.d.ts +3 -0
- package/dist/collectors/feishu/docs/url-parser.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/url-parser.js +39 -0
- package/dist/collectors/feishu/docs/url-parser.js.map +1 -0
- package/dist/collectors/feishu/docs/walkers.d.ts +24 -0
- package/dist/collectors/feishu/docs/walkers.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/walkers.js +90 -0
- package/dist/collectors/feishu/docs/walkers.js.map +1 -0
- package/dist/collectors/feishu/docs/wiki-resolver.d.ts +15 -0
- package/dist/collectors/feishu/docs/wiki-resolver.d.ts.map +1 -0
- package/dist/collectors/feishu/docs/wiki-resolver.js +24 -0
- package/dist/collectors/feishu/docs/wiki-resolver.js.map +1 -0
- package/dist/collectors/feishu/http-client.d.ts +26 -0
- package/dist/collectors/feishu/http-client.d.ts.map +1 -0
- package/dist/collectors/feishu/http-client.js +94 -0
- package/dist/collectors/feishu/http-client.js.map +1 -0
- package/dist/collectors/feishu/index.d.ts +3 -0
- package/dist/collectors/feishu/index.d.ts.map +1 -0
- package/dist/collectors/feishu/index.js +2 -0
- package/dist/collectors/feishu/index.js.map +1 -0
- package/dist/collectors/feishu/lark-cli-client.d.ts +28 -0
- package/dist/collectors/feishu/lark-cli-client.d.ts.map +1 -0
- package/dist/collectors/feishu/lark-cli-client.js +104 -0
- package/dist/collectors/feishu/lark-cli-client.js.map +1 -0
- package/dist/collectors/feishu/lark-cli-identity-backend.d.ts +28 -0
- package/dist/collectors/feishu/lark-cli-identity-backend.d.ts.map +1 -0
- package/dist/collectors/feishu/lark-cli-identity-backend.js +110 -0
- package/dist/collectors/feishu/lark-cli-identity-backend.js.map +1 -0
- package/dist/collectors/feishu/rate-limiter.d.ts +10 -0
- package/dist/collectors/feishu/rate-limiter.d.ts.map +1 -0
- package/dist/collectors/feishu/rate-limiter.js +33 -0
- package/dist/collectors/feishu/rate-limiter.js.map +1 -0
- package/dist/collectors/feishu/self-open-id.d.ts +20 -0
- package/dist/collectors/feishu/self-open-id.d.ts.map +1 -0
- package/dist/collectors/feishu/self-open-id.js +31 -0
- package/dist/collectors/feishu/self-open-id.js.map +1 -0
- package/dist/collectors/feishu/sources/base.d.ts +9 -0
- package/dist/collectors/feishu/sources/base.d.ts.map +1 -0
- package/dist/collectors/feishu/sources/base.js +2 -0
- package/dist/collectors/feishu/sources/base.js.map +1 -0
- package/dist/collectors/feishu/sources/calendar.d.ts +16 -0
- package/dist/collectors/feishu/sources/calendar.d.ts.map +1 -0
- package/dist/collectors/feishu/sources/calendar.js +98 -0
- package/dist/collectors/feishu/sources/calendar.js.map +1 -0
- package/dist/collectors/feishu/sources/dm.d.ts +28 -0
- package/dist/collectors/feishu/sources/dm.d.ts.map +1 -0
- package/dist/collectors/feishu/sources/dm.js +156 -0
- package/dist/collectors/feishu/sources/dm.js.map +1 -0
- package/dist/collectors/feishu/sources/mail.d.ts +27 -0
- package/dist/collectors/feishu/sources/mail.d.ts.map +1 -0
- package/dist/collectors/feishu/sources/mail.js +149 -0
- package/dist/collectors/feishu/sources/mail.js.map +1 -0
- package/dist/collectors/feishu/sources/message-search.d.ts +37 -0
- package/dist/collectors/feishu/sources/message-search.d.ts.map +1 -0
- package/dist/collectors/feishu/sources/message-search.js +140 -0
- package/dist/collectors/feishu/sources/message-search.js.map +1 -0
- package/dist/collectors/feishu/sources/messages.d.ts +28 -0
- package/dist/collectors/feishu/sources/messages.d.ts.map +1 -0
- package/dist/collectors/feishu/sources/messages.js +175 -0
- package/dist/collectors/feishu/sources/messages.js.map +1 -0
- package/dist/collectors/feishu/sources/tasks.d.ts +15 -0
- package/dist/collectors/feishu/sources/tasks.d.ts.map +1 -0
- package/dist/collectors/feishu/sources/tasks.js +74 -0
- package/dist/collectors/feishu/sources/tasks.js.map +1 -0
- package/dist/collectors/feishu/types.d.ts +258 -0
- package/dist/collectors/feishu/types.d.ts.map +1 -0
- package/dist/collectors/feishu/types.js +17 -0
- package/dist/collectors/feishu/types.js.map +1 -0
- package/dist/collectors/index.d.ts +10 -0
- package/dist/collectors/index.d.ts.map +1 -0
- package/dist/collectors/index.js +18 -0
- package/dist/collectors/index.js.map +1 -0
- package/dist/config-center/connection-checks.d.ts +28 -0
- package/dist/config-center/connection-checks.d.ts.map +1 -0
- package/dist/config-center/connection-checks.js +114 -0
- package/dist/config-center/connection-checks.js.map +1 -0
- package/dist/config-center/document.d.ts +21 -0
- package/dist/config-center/document.d.ts.map +1 -0
- package/dist/config-center/document.js +93 -0
- package/dist/config-center/document.js.map +1 -0
- package/dist/config-center/index.d.ts +9 -0
- package/dist/config-center/index.d.ts.map +1 -0
- package/dist/config-center/index.js +29 -0
- package/dist/config-center/index.js.map +1 -0
- package/dist/config-center/recommendations.d.ts +16 -0
- package/dist/config-center/recommendations.d.ts.map +1 -0
- package/dist/config-center/recommendations.js +50 -0
- package/dist/config-center/recommendations.js.map +1 -0
- package/dist/config-center/reducer.d.ts +57 -0
- package/dist/config-center/reducer.d.ts.map +1 -0
- package/dist/config-center/reducer.js +192 -0
- package/dist/config-center/reducer.js.map +1 -0
- package/dist/config-center/schema.d.ts +31 -0
- package/dist/config-center/schema.d.ts.map +1 -0
- package/dist/config-center/schema.js +442 -0
- package/dist/config-center/schema.js.map +1 -0
- package/dist/config-center/secrets.d.ts +9 -0
- package/dist/config-center/secrets.d.ts.map +1 -0
- package/dist/config-center/secrets.js +51 -0
- package/dist/config-center/secrets.js.map +1 -0
- package/dist/config-center/source-dirs.d.ts +16 -0
- package/dist/config-center/source-dirs.d.ts.map +1 -0
- package/dist/config-center/source-dirs.js +81 -0
- package/dist/config-center/source-dirs.js.map +1 -0
- package/dist/config-center/tui/app.d.ts +22 -0
- package/dist/config-center/tui/app.d.ts.map +1 -0
- package/dist/config-center/tui/app.js +142 -0
- package/dist/config-center/tui/app.js.map +1 -0
- package/dist/config-center/tui/render.d.ts +20 -0
- package/dist/config-center/tui/render.d.ts.map +1 -0
- package/dist/config-center/tui/render.js +166 -0
- package/dist/config-center/tui/render.js.map +1 -0
- package/dist/config-center/validation.d.ts +9 -0
- package/dist/config-center/validation.d.ts.map +1 -0
- package/dist/config-center/validation.js +59 -0
- package/dist/config-center/validation.js.map +1 -0
- package/dist/consolidator/consolidator.d.ts +43 -0
- package/dist/consolidator/consolidator.d.ts.map +1 -0
- package/dist/consolidator/consolidator.js +67 -0
- package/dist/consolidator/consolidator.js.map +1 -0
- package/dist/consolidator/dead-link.d.ts +7 -0
- package/dist/consolidator/dead-link.d.ts.map +1 -0
- package/dist/consolidator/dead-link.js +57 -0
- package/dist/consolidator/dead-link.js.map +1 -0
- package/dist/consolidator/hot-warm.d.ts +9 -0
- package/dist/consolidator/hot-warm.d.ts.map +1 -0
- package/dist/consolidator/hot-warm.js +88 -0
- package/dist/consolidator/hot-warm.js.map +1 -0
- package/dist/consolidator/infer-preferences.d.ts +14 -0
- package/dist/consolidator/infer-preferences.d.ts.map +1 -0
- package/dist/consolidator/infer-preferences.js +73 -0
- package/dist/consolidator/infer-preferences.js.map +1 -0
- package/dist/consolidator/rules.d.ts +5 -0
- package/dist/consolidator/rules.d.ts.map +1 -0
- package/dist/consolidator/rules.js +53 -0
- package/dist/consolidator/rules.js.map +1 -0
- package/dist/consolidator/warm-cold.d.ts +13 -0
- package/dist/consolidator/warm-cold.d.ts.map +1 -0
- package/dist/consolidator/warm-cold.js +91 -0
- package/dist/consolidator/warm-cold.js.map +1 -0
- package/dist/core/block-builder.d.ts +15 -0
- package/dist/core/block-builder.d.ts.map +1 -0
- package/dist/core/block-builder.js +185 -0
- package/dist/core/block-builder.js.map +1 -0
- package/dist/core/canonicalize.d.ts +3 -0
- package/dist/core/canonicalize.d.ts.map +1 -0
- package/dist/core/canonicalize.js +141 -0
- package/dist/core/canonicalize.js.map +1 -0
- package/dist/core/concurrency.d.ts +2 -0
- package/dist/core/concurrency.d.ts.map +1 -0
- package/dist/core/concurrency.js +14 -0
- package/dist/core/concurrency.js.map +1 -0
- package/dist/core/config.d.ts +257 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +247 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/cursors.d.ts +36 -0
- package/dist/core/cursors.d.ts.map +1 -0
- package/dist/core/cursors.js +90 -0
- package/dist/core/cursors.js.map +1 -0
- package/dist/core/dedup.d.ts +45 -0
- package/dist/core/dedup.d.ts.map +1 -0
- package/dist/core/dedup.js +111 -0
- package/dist/core/dedup.js.map +1 -0
- package/dist/core/entity-extract.d.ts +3 -0
- package/dist/core/entity-extract.d.ts.map +1 -0
- package/dist/core/entity-extract.js +54 -0
- package/dist/core/entity-extract.js.map +1 -0
- package/dist/core/env-validation.d.ts +9 -0
- package/dist/core/env-validation.d.ts.map +1 -0
- package/dist/core/env-validation.js +94 -0
- package/dist/core/env-validation.js.map +1 -0
- package/dist/core/helpers.d.ts +3 -0
- package/dist/core/helpers.d.ts.map +1 -0
- package/dist/core/helpers.js +10 -0
- package/dist/core/helpers.js.map +1 -0
- package/dist/core/identity-resolver.d.ts +42 -0
- package/dist/core/identity-resolver.d.ts.map +1 -0
- package/dist/core/identity-resolver.js +207 -0
- package/dist/core/identity-resolver.js.map +1 -0
- package/dist/core/person-identity.d.ts +140 -0
- package/dist/core/person-identity.d.ts.map +1 -0
- package/dist/core/person-identity.js +428 -0
- package/dist/core/person-identity.js.map +1 -0
- package/dist/core/person-slug.d.ts +21 -0
- package/dist/core/person-slug.d.ts.map +1 -0
- package/dist/core/person-slug.js +93 -0
- package/dist/core/person-slug.js.map +1 -0
- package/dist/core/pipeline-factory.d.ts +13 -0
- package/dist/core/pipeline-factory.d.ts.map +1 -0
- package/dist/core/pipeline-factory.js +37 -0
- package/dist/core/pipeline-factory.js.map +1 -0
- package/dist/core/pipeline.d.ts +77 -0
- package/dist/core/pipeline.d.ts.map +1 -0
- package/dist/core/pipeline.js +332 -0
- package/dist/core/pipeline.js.map +1 -0
- package/dist/core/resource-loader.d.ts +2 -0
- package/dist/core/resource-loader.d.ts.map +1 -0
- package/dist/core/resource-loader.js +12 -0
- package/dist/core/resource-loader.js.map +1 -0
- package/dist/core/schemas.d.ts +5142 -0
- package/dist/core/schemas.d.ts.map +1 -0
- package/dist/core/schemas.js +256 -0
- package/dist/core/schemas.js.map +1 -0
- package/dist/core/signal-scoring.d.ts +3 -0
- package/dist/core/signal-scoring.d.ts.map +1 -0
- package/dist/core/signal-scoring.js +128 -0
- package/dist/core/signal-scoring.js.map +1 -0
- package/dist/core/source-ref.d.ts +4 -0
- package/dist/core/source-ref.d.ts.map +1 -0
- package/dist/core/source-ref.js +24 -0
- package/dist/core/source-ref.js.map +1 -0
- package/dist/core/state.d.ts +22 -0
- package/dist/core/state.d.ts.map +1 -0
- package/dist/core/state.js +33 -0
- package/dist/core/state.js.map +1 -0
- package/dist/core/types.d.ts +266 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +6 -0
- package/dist/core/types.js.map +1 -0
- package/dist/daemon/alerts.d.ts +12 -0
- package/dist/daemon/alerts.d.ts.map +1 -0
- package/dist/daemon/alerts.js +34 -0
- package/dist/daemon/alerts.js.map +1 -0
- package/dist/daemon/autostart/argv.d.ts +21 -0
- package/dist/daemon/autostart/argv.d.ts.map +1 -0
- package/dist/daemon/autostart/argv.js +37 -0
- package/dist/daemon/autostart/argv.js.map +1 -0
- package/dist/daemon/autostart/daemon-state.d.ts +19 -0
- package/dist/daemon/autostart/daemon-state.d.ts.map +1 -0
- package/dist/daemon/autostart/daemon-state.js +34 -0
- package/dist/daemon/autostart/daemon-state.js.map +1 -0
- package/dist/daemon/autostart/index.d.ts +40 -0
- package/dist/daemon/autostart/index.d.ts.map +1 -0
- package/dist/daemon/autostart/index.js +146 -0
- package/dist/daemon/autostart/index.js.map +1 -0
- package/dist/daemon/autostart/launchd.d.ts +13 -0
- package/dist/daemon/autostart/launchd.d.ts.map +1 -0
- package/dist/daemon/autostart/launchd.js +51 -0
- package/dist/daemon/autostart/launchd.js.map +1 -0
- package/dist/daemon/autostart/runner.d.ts +14 -0
- package/dist/daemon/autostart/runner.d.ts.map +1 -0
- package/dist/daemon/autostart/runner.js +30 -0
- package/dist/daemon/autostart/runner.js.map +1 -0
- package/dist/daemon/autostart/systemd.d.ts +11 -0
- package/dist/daemon/autostart/systemd.d.ts.map +1 -0
- package/dist/daemon/autostart/systemd.js +40 -0
- package/dist/daemon/autostart/systemd.js.map +1 -0
- package/dist/daemon/index.d.ts +6 -0
- package/dist/daemon/index.d.ts.map +1 -0
- package/dist/daemon/index.js +6 -0
- package/dist/daemon/index.js.map +1 -0
- package/dist/daemon/logger.d.ts +8 -0
- package/dist/daemon/logger.d.ts.map +1 -0
- package/dist/daemon/logger.js +35 -0
- package/dist/daemon/logger.js.map +1 -0
- package/dist/daemon/reload-manager.d.ts +41 -0
- package/dist/daemon/reload-manager.d.ts.map +1 -0
- package/dist/daemon/reload-manager.js +89 -0
- package/dist/daemon/reload-manager.js.map +1 -0
- package/dist/daemon/run-history.d.ts +29 -0
- package/dist/daemon/run-history.d.ts.map +1 -0
- package/dist/daemon/run-history.js +54 -0
- package/dist/daemon/run-history.js.map +1 -0
- package/dist/daemon/scheduler.d.ts +45 -0
- package/dist/daemon/scheduler.d.ts.map +1 -0
- package/dist/daemon/scheduler.js +217 -0
- package/dist/daemon/scheduler.js.map +1 -0
- package/dist/daemon/serve-runtime.d.ts +31 -0
- package/dist/daemon/serve-runtime.d.ts.map +1 -0
- package/dist/daemon/serve-runtime.js +230 -0
- package/dist/daemon/serve-runtime.js.map +1 -0
- package/dist/daemon/source-schedule.d.ts +25 -0
- package/dist/daemon/source-schedule.d.ts.map +1 -0
- package/dist/daemon/source-schedule.js +87 -0
- package/dist/daemon/source-schedule.js.map +1 -0
- package/dist/embedded-assets.generated.d.ts +4 -0
- package/dist/embedded-assets.generated.d.ts.map +1 -0
- package/dist/embedded-assets.generated.js +12 -0
- package/dist/embedded-assets.generated.js.map +1 -0
- package/dist/extractors/noise-filter.d.ts +30 -0
- package/dist/extractors/noise-filter.d.ts.map +1 -0
- package/dist/extractors/noise-filter.js +185 -0
- package/dist/extractors/noise-filter.js.map +1 -0
- package/dist/extractors/playbook-extractor.d.ts +35 -0
- package/dist/extractors/playbook-extractor.d.ts.map +1 -0
- package/dist/extractors/playbook-extractor.js +98 -0
- package/dist/extractors/playbook-extractor.js.map +1 -0
- package/dist/extractors/providers/anthropic.d.ts +13 -0
- package/dist/extractors/providers/anthropic.d.ts.map +1 -0
- package/dist/extractors/providers/anthropic.js +67 -0
- package/dist/extractors/providers/anthropic.js.map +1 -0
- package/dist/extractors/providers/index.d.ts +12 -0
- package/dist/extractors/providers/index.d.ts.map +1 -0
- package/dist/extractors/providers/index.js +41 -0
- package/dist/extractors/providers/index.js.map +1 -0
- package/dist/extractors/providers/mock.d.ts +14 -0
- package/dist/extractors/providers/mock.d.ts.map +1 -0
- package/dist/extractors/providers/mock.js +37 -0
- package/dist/extractors/providers/mock.js.map +1 -0
- package/dist/extractors/providers/openai.d.ts +15 -0
- package/dist/extractors/providers/openai.d.ts.map +1 -0
- package/dist/extractors/providers/openai.js +109 -0
- package/dist/extractors/providers/openai.js.map +1 -0
- package/dist/extractors/providers/types.d.ts +27 -0
- package/dist/extractors/providers/types.d.ts.map +1 -0
- package/dist/extractors/providers/types.js +6 -0
- package/dist/extractors/providers/types.js.map +1 -0
- package/dist/extractors/signal-extractor.d.ts +30 -0
- package/dist/extractors/signal-extractor.d.ts.map +1 -0
- package/dist/extractors/signal-extractor.js +371 -0
- package/dist/extractors/signal-extractor.js.map +1 -0
- package/dist/formatters/index.d.ts +3 -0
- package/dist/formatters/index.d.ts.map +1 -0
- package/dist/formatters/index.js +3 -0
- package/dist/formatters/index.js.map +1 -0
- package/dist/formatters/json.d.ts +6 -0
- package/dist/formatters/json.d.ts.map +1 -0
- package/dist/formatters/json.js +16 -0
- package/dist/formatters/json.js.map +1 -0
- package/dist/formatters/markdown.d.ts +6 -0
- package/dist/formatters/markdown.d.ts.map +1 -0
- package/dist/formatters/markdown.js +198 -0
- package/dist/formatters/markdown.js.map +1 -0
- package/dist/hooks/handlers.d.ts +21 -0
- package/dist/hooks/handlers.d.ts.map +1 -0
- package/dist/hooks/handlers.js +22 -0
- package/dist/hooks/handlers.js.map +1 -0
- package/dist/hooks/inject.d.ts +7 -0
- package/dist/hooks/inject.d.ts.map +1 -0
- package/dist/hooks/inject.js +18 -0
- package/dist/hooks/inject.js.map +1 -0
- package/dist/hooks/install.d.ts +14 -0
- package/dist/hooks/install.d.ts.map +1 -0
- package/dist/hooks/install.js +34 -0
- package/dist/hooks/install.js.map +1 -0
- package/dist/hooks/output.d.ts +19 -0
- package/dist/hooks/output.d.ts.map +1 -0
- package/dist/hooks/output.js +13 -0
- package/dist/hooks/output.js.map +1 -0
- package/dist/hooks/recall-client.d.ts +25 -0
- package/dist/hooks/recall-client.d.ts.map +1 -0
- package/dist/hooks/recall-client.js +56 -0
- package/dist/hooks/recall-client.js.map +1 -0
- package/dist/hooks/run-event.d.ts +13 -0
- package/dist/hooks/run-event.d.ts.map +1 -0
- package/dist/hooks/run-event.js +20 -0
- package/dist/hooks/run-event.js.map +1 -0
- package/dist/hooks/settings-edit.d.ts +10 -0
- package/dist/hooks/settings-edit.d.ts.map +1 -0
- package/dist/hooks/settings-edit.js +44 -0
- package/dist/hooks/settings-edit.js.map +1 -0
- package/dist/hooks/writeback.d.ts +12 -0
- package/dist/hooks/writeback.d.ts.map +1 -0
- package/dist/hooks/writeback.js +48 -0
- package/dist/hooks/writeback.js.map +1 -0
- package/dist/install/clients/claude-code.d.ts +3 -0
- package/dist/install/clients/claude-code.d.ts.map +1 -0
- package/dist/install/clients/claude-code.js +31 -0
- package/dist/install/clients/claude-code.js.map +1 -0
- package/dist/install/clients/claude-desktop.d.ts +3 -0
- package/dist/install/clients/claude-desktop.d.ts.map +1 -0
- package/dist/install/clients/claude-desktop.js +33 -0
- package/dist/install/clients/claude-desktop.js.map +1 -0
- package/dist/install/clients/codex.d.ts +3 -0
- package/dist/install/clients/codex.d.ts.map +1 -0
- package/dist/install/clients/codex.js +33 -0
- package/dist/install/clients/codex.js.map +1 -0
- package/dist/install/clients/cursor.d.ts +3 -0
- package/dist/install/clients/cursor.d.ts.map +1 -0
- package/dist/install/clients/cursor.js +37 -0
- package/dist/install/clients/cursor.js.map +1 -0
- package/dist/install/clients/hermes.d.ts +3 -0
- package/dist/install/clients/hermes.d.ts.map +1 -0
- package/dist/install/clients/hermes.js +37 -0
- package/dist/install/clients/hermes.js.map +1 -0
- package/dist/install/clients/index.d.ts +4 -0
- package/dist/install/clients/index.d.ts.map +1 -0
- package/dist/install/clients/index.js +18 -0
- package/dist/install/clients/index.js.map +1 -0
- package/dist/install/clients/windsurf.d.ts +3 -0
- package/dist/install/clients/windsurf.d.ts.map +1 -0
- package/dist/install/clients/windsurf.js +34 -0
- package/dist/install/clients/windsurf.js.map +1 -0
- package/dist/install/command.d.ts +14 -0
- package/dist/install/command.d.ts.map +1 -0
- package/dist/install/command.js +34 -0
- package/dist/install/command.js.map +1 -0
- package/dist/install/directive.d.ts +7 -0
- package/dist/install/directive.d.ts.map +1 -0
- package/dist/install/directive.js +31 -0
- package/dist/install/directive.js.map +1 -0
- package/dist/install/index.d.ts +28 -0
- package/dist/install/index.d.ts.map +1 -0
- package/dist/install/index.js +122 -0
- package/dist/install/index.js.map +1 -0
- package/dist/install/json-config.d.ts +8 -0
- package/dist/install/json-config.d.ts.map +1 -0
- package/dist/install/json-config.js +44 -0
- package/dist/install/json-config.js.map +1 -0
- package/dist/install/marked-block.d.ts +11 -0
- package/dist/install/marked-block.d.ts.map +1 -0
- package/dist/install/marked-block.js +34 -0
- package/dist/install/marked-block.js.map +1 -0
- package/dist/install/mcp-entry.d.ts +11 -0
- package/dist/install/mcp-entry.d.ts.map +1 -0
- package/dist/install/mcp-entry.js +7 -0
- package/dist/install/mcp-entry.js.map +1 -0
- package/dist/install/skill.d.ts +4 -0
- package/dist/install/skill.d.ts.map +1 -0
- package/dist/install/skill.js +61 -0
- package/dist/install/skill.js.map +1 -0
- package/dist/install/toml-config.d.ts +4 -0
- package/dist/install/toml-config.d.ts.map +1 -0
- package/dist/install/toml-config.js +54 -0
- package/dist/install/toml-config.js.map +1 -0
- package/dist/install/types.d.ts +40 -0
- package/dist/install/types.d.ts.map +1 -0
- package/dist/install/types.js +10 -0
- package/dist/install/types.js.map +1 -0
- package/dist/install/yaml-config.d.ts +4 -0
- package/dist/install/yaml-config.d.ts.map +1 -0
- package/dist/install/yaml-config.js +19 -0
- package/dist/install/yaml-config.js.map +1 -0
- package/dist/lifecycle/down.d.ts +19 -0
- package/dist/lifecycle/down.d.ts.map +1 -0
- package/dist/lifecycle/down.js +24 -0
- package/dist/lifecycle/down.js.map +1 -0
- package/dist/lifecycle/health-poll.d.ts +19 -0
- package/dist/lifecycle/health-poll.d.ts.map +1 -0
- package/dist/lifecycle/health-poll.js +39 -0
- package/dist/lifecycle/health-poll.js.map +1 -0
- package/dist/lifecycle/install-state.d.ts +34 -0
- package/dist/lifecycle/install-state.d.ts.map +1 -0
- package/dist/lifecycle/install-state.js +70 -0
- package/dist/lifecycle/install-state.js.map +1 -0
- package/dist/lifecycle/legacy-migration.d.ts +58 -0
- package/dist/lifecycle/legacy-migration.d.ts.map +1 -0
- package/dist/lifecycle/legacy-migration.js +212 -0
- package/dist/lifecycle/legacy-migration.js.map +1 -0
- package/dist/lifecycle/lifecycle-lock.d.ts +20 -0
- package/dist/lifecycle/lifecycle-lock.d.ts.map +1 -0
- package/dist/lifecycle/lifecycle-lock.js +98 -0
- package/dist/lifecycle/lifecycle-lock.js.map +1 -0
- package/dist/lifecycle/run-up.d.ts +38 -0
- package/dist/lifecycle/run-up.d.ts.map +1 -0
- package/dist/lifecycle/run-up.js +307 -0
- package/dist/lifecycle/run-up.js.map +1 -0
- package/dist/lifecycle/status.d.ts +38 -0
- package/dist/lifecycle/status.d.ts.map +1 -0
- package/dist/lifecycle/status.js +41 -0
- package/dist/lifecycle/status.js.map +1 -0
- package/dist/lifecycle/up.d.ts +35 -0
- package/dist/lifecycle/up.d.ts.map +1 -0
- package/dist/lifecycle/up.js +45 -0
- package/dist/lifecycle/up.js.map +1 -0
- package/dist/processors/privacy.d.ts +101 -0
- package/dist/processors/privacy.d.ts.map +1 -0
- package/dist/processors/privacy.js +273 -0
- package/dist/processors/privacy.js.map +1 -0
- package/dist/profile/accumulate.d.ts +28 -0
- package/dist/profile/accumulate.d.ts.map +1 -0
- package/dist/profile/accumulate.js +48 -0
- package/dist/profile/accumulate.js.map +1 -0
- package/dist/profile/behavior.d.ts +32 -0
- package/dist/profile/behavior.d.ts.map +1 -0
- package/dist/profile/behavior.js +122 -0
- package/dist/profile/behavior.js.map +1 -0
- package/dist/profile/four-color.d.ts +12 -0
- package/dist/profile/four-color.d.ts.map +1 -0
- package/dist/profile/four-color.js +39 -0
- package/dist/profile/four-color.js.map +1 -0
- package/dist/profile/profile-synth.d.ts +27 -0
- package/dist/profile/profile-synth.d.ts.map +1 -0
- package/dist/profile/profile-synth.js +174 -0
- package/dist/profile/profile-synth.js.map +1 -0
- package/dist/profile/types.d.ts +84 -0
- package/dist/profile/types.d.ts.map +1 -0
- package/dist/profile/types.js +11 -0
- package/dist/profile/types.js.map +1 -0
- package/dist/server/api.d.ts +49 -0
- package/dist/server/api.d.ts.map +1 -0
- package/dist/server/api.js +502 -0
- package/dist/server/api.js.map +1 -0
- package/dist/server/backfill-job.d.ts +36 -0
- package/dist/server/backfill-job.d.ts.map +1 -0
- package/dist/server/backfill-job.js +88 -0
- package/dist/server/backfill-job.js.map +1 -0
- package/dist/server/backfill-routes.d.ts +7 -0
- package/dist/server/backfill-routes.d.ts.map +1 -0
- package/dist/server/backfill-routes.js +146 -0
- package/dist/server/backfill-routes.js.map +1 -0
- package/dist/server/chat-name-refresh-job.d.ts +33 -0
- package/dist/server/chat-name-refresh-job.d.ts.map +1 -0
- package/dist/server/chat-name-refresh-job.js +120 -0
- package/dist/server/chat-name-refresh-job.js.map +1 -0
- package/dist/server/chat-name-routes.d.ts +13 -0
- package/dist/server/chat-name-routes.d.ts.map +1 -0
- package/dist/server/chat-name-routes.js +81 -0
- package/dist/server/chat-name-routes.js.map +1 -0
- package/dist/server/config-routes.d.ts +10 -0
- package/dist/server/config-routes.d.ts.map +1 -0
- package/dist/server/config-routes.js +122 -0
- package/dist/server/config-routes.js.map +1 -0
- package/dist/server/context.d.ts +13 -0
- package/dist/server/context.d.ts.map +1 -0
- package/dist/server/context.js +47 -0
- package/dist/server/context.js.map +1 -0
- package/dist/server/entity.d.ts +25 -0
- package/dist/server/entity.d.ts.map +1 -0
- package/dist/server/entity.js +34 -0
- package/dist/server/entity.js.map +1 -0
- package/dist/server/event-bus.d.ts +35 -0
- package/dist/server/event-bus.d.ts.map +1 -0
- package/dist/server/event-bus.js +4 -0
- package/dist/server/event-bus.js.map +1 -0
- package/dist/server/mcp-http-runtime.d.ts +28 -0
- package/dist/server/mcp-http-runtime.d.ts.map +1 -0
- package/dist/server/mcp-http-runtime.js +24 -0
- package/dist/server/mcp-http-runtime.js.map +1 -0
- package/dist/server/mcp-http.d.ts +41 -0
- package/dist/server/mcp-http.d.ts.map +1 -0
- package/dist/server/mcp-http.js +139 -0
- package/dist/server/mcp-http.js.map +1 -0
- package/dist/server/mcp.d.ts +292 -0
- package/dist/server/mcp.d.ts.map +1 -0
- package/dist/server/mcp.js +1146 -0
- package/dist/server/mcp.js.map +1 -0
- package/dist/server/open-browser.d.ts +3 -0
- package/dist/server/open-browser.d.ts.map +1 -0
- package/dist/server/open-browser.js +12 -0
- package/dist/server/open-browser.js.map +1 -0
- package/dist/server/runtime.d.ts +13 -0
- package/dist/server/runtime.d.ts.map +1 -0
- package/dist/server/runtime.js +27 -0
- package/dist/server/runtime.js.map +1 -0
- package/dist/server/server-security.d.ts +51 -0
- package/dist/server/server-security.d.ts.map +1 -0
- package/dist/server/server-security.js +76 -0
- package/dist/server/server-security.js.map +1 -0
- package/dist/server/setup-server.d.ts +7 -0
- package/dist/server/setup-server.d.ts.map +1 -0
- package/dist/server/setup-server.js +49 -0
- package/dist/server/setup-server.js.map +1 -0
- package/dist/setup/assess-hardware.d.ts +34 -0
- package/dist/setup/assess-hardware.d.ts.map +1 -0
- package/dist/setup/assess-hardware.js +179 -0
- package/dist/setup/assess-hardware.js.map +1 -0
- package/dist/setup/connection-tests.d.ts +17 -0
- package/dist/setup/connection-tests.d.ts.map +1 -0
- package/dist/setup/connection-tests.js +69 -0
- package/dist/setup/connection-tests.js.map +1 -0
- package/dist/setup/detect-api-keys.d.ts +13 -0
- package/dist/setup/detect-api-keys.d.ts.map +1 -0
- package/dist/setup/detect-api-keys.js +41 -0
- package/dist/setup/detect-api-keys.js.map +1 -0
- package/dist/setup/detect-runtime.d.ts +14 -0
- package/dist/setup/detect-runtime.d.ts.map +1 -0
- package/dist/setup/detect-runtime.js +43 -0
- package/dist/setup/detect-runtime.js.map +1 -0
- package/dist/setup/detect-sources.d.ts +14 -0
- package/dist/setup/detect-sources.d.ts.map +1 -0
- package/dist/setup/detect-sources.js +75 -0
- package/dist/setup/detect-sources.js.map +1 -0
- package/dist/setup/doctor.d.ts +48 -0
- package/dist/setup/doctor.d.ts.map +1 -0
- package/dist/setup/doctor.js +157 -0
- package/dist/setup/doctor.js.map +1 -0
- package/dist/setup/generate-config.d.ts +13 -0
- package/dist/setup/generate-config.d.ts.map +1 -0
- package/dist/setup/generate-config.js +163 -0
- package/dist/setup/generate-config.js.map +1 -0
- package/dist/setup/index.d.ts +9 -0
- package/dist/setup/index.d.ts.map +1 -0
- package/dist/setup/index.js +9 -0
- package/dist/setup/index.js.map +1 -0
- package/dist/setup/init-wizard.d.ts +20 -0
- package/dist/setup/init-wizard.d.ts.map +1 -0
- package/dist/setup/init-wizard.js +531 -0
- package/dist/setup/init-wizard.js.map +1 -0
- package/dist/setup/terminal.d.ts +28 -0
- package/dist/setup/terminal.d.ts.map +1 -0
- package/dist/setup/terminal.js +258 -0
- package/dist/setup/terminal.js.map +1 -0
- package/dist/setup/validate-config.d.ts +30 -0
- package/dist/setup/validate-config.d.ts.map +1 -0
- package/dist/setup/validate-config.js +45 -0
- package/dist/setup/validate-config.js.map +1 -0
- package/dist/store/chunks.d.ts +25 -0
- package/dist/store/chunks.d.ts.map +1 -0
- package/dist/store/chunks.js +78 -0
- package/dist/store/chunks.js.map +1 -0
- package/dist/store/data-dir-lock.d.ts +15 -0
- package/dist/store/data-dir-lock.d.ts.map +1 -0
- package/dist/store/data-dir-lock.js +96 -0
- package/dist/store/data-dir-lock.js.map +1 -0
- package/dist/store/database.d.ts +31 -0
- package/dist/store/database.d.ts.map +1 -0
- package/dist/store/database.js +113 -0
- package/dist/store/database.js.map +1 -0
- package/dist/store/embedding.d.ts +23 -0
- package/dist/store/embedding.d.ts.map +1 -0
- package/dist/store/embedding.js +62 -0
- package/dist/store/embedding.js.map +1 -0
- package/dist/store/engine-factory.d.ts +4 -0
- package/dist/store/engine-factory.d.ts.map +1 -0
- package/dist/store/engine-factory.js +18 -0
- package/dist/store/engine-factory.js.map +1 -0
- package/dist/store/graph.d.ts +75 -0
- package/dist/store/graph.d.ts.map +1 -0
- package/dist/store/graph.js +276 -0
- package/dist/store/graph.js.map +1 -0
- package/dist/store/managed/managed-engine.d.ts +35 -0
- package/dist/store/managed/managed-engine.d.ts.map +1 -0
- package/dist/store/managed/managed-engine.js +40 -0
- package/dist/store/managed/managed-engine.js.map +1 -0
- package/dist/store/managed/managed-lock.d.ts +2 -0
- package/dist/store/managed/managed-lock.d.ts.map +1 -0
- package/dist/store/managed/managed-lock.js +68 -0
- package/dist/store/managed/managed-lock.js.map +1 -0
- package/dist/store/managed/new-install.d.ts +12 -0
- package/dist/store/managed/new-install.d.ts.map +1 -0
- package/dist/store/managed/new-install.js +23 -0
- package/dist/store/managed/new-install.js.map +1 -0
- package/dist/store/managed/pg-paths.d.ts +28 -0
- package/dist/store/managed/pg-paths.d.ts.map +1 -0
- package/dist/store/managed/pg-paths.js +41 -0
- package/dist/store/managed/pg-paths.js.map +1 -0
- package/dist/store/managed/pg-runtime-provider.d.ts +47 -0
- package/dist/store/managed/pg-runtime-provider.d.ts.map +1 -0
- package/dist/store/managed/pg-runtime-provider.js +249 -0
- package/dist/store/managed/pg-runtime-provider.js.map +1 -0
- package/dist/store/managed/pg-supervisor.d.ts +30 -0
- package/dist/store/managed/pg-supervisor.d.ts.map +1 -0
- package/dist/store/managed/pg-supervisor.js +308 -0
- package/dist/store/managed/pg-supervisor.js.map +1 -0
- package/dist/store/managed/recovery-loop.d.ts +41 -0
- package/dist/store/managed/recovery-loop.d.ts.map +1 -0
- package/dist/store/managed/recovery-loop.js +87 -0
- package/dist/store/managed/recovery-loop.js.map +1 -0
- package/dist/store/managed/stop-from-state.d.ts +11 -0
- package/dist/store/managed/stop-from-state.d.ts.map +1 -0
- package/dist/store/managed/stop-from-state.js +26 -0
- package/dist/store/managed/stop-from-state.js.map +1 -0
- package/dist/store/migrations/index.d.ts +9 -0
- package/dist/store/migrations/index.d.ts.map +1 -0
- package/dist/store/migrations/index.js +121 -0
- package/dist/store/migrations/index.js.map +1 -0
- package/dist/store/pages.d.ts +81 -0
- package/dist/store/pages.d.ts.map +1 -0
- package/dist/store/pages.js +286 -0
- package/dist/store/pages.js.map +1 -0
- package/dist/store/person-behavior.d.ts +37 -0
- package/dist/store/person-behavior.d.ts.map +1 -0
- package/dist/store/person-behavior.js +134 -0
- package/dist/store/person-behavior.js.map +1 -0
- package/dist/store/pglite-assets.d.ts +15 -0
- package/dist/store/pglite-assets.d.ts.map +1 -0
- package/dist/store/pglite-assets.js +47 -0
- package/dist/store/pglite-assets.js.map +1 -0
- package/dist/store/pglite-executor.d.ts +21 -0
- package/dist/store/pglite-executor.d.ts.map +1 -0
- package/dist/store/pglite-executor.js +61 -0
- package/dist/store/pglite-executor.js.map +1 -0
- package/dist/store/postgres-executor.d.ts +16 -0
- package/dist/store/postgres-executor.d.ts.map +1 -0
- package/dist/store/postgres-executor.js +77 -0
- package/dist/store/postgres-executor.js.map +1 -0
- package/dist/store/query-rewrite.d.ts +28 -0
- package/dist/store/query-rewrite.d.ts.map +1 -0
- package/dist/store/query-rewrite.js +97 -0
- package/dist/store/query-rewrite.js.map +1 -0
- package/dist/store/search.d.ts +65 -0
- package/dist/store/search.d.ts.map +1 -0
- package/dist/store/search.js +312 -0
- package/dist/store/search.js.map +1 -0
- package/dist/store/sequence-sync.d.ts +22 -0
- package/dist/store/sequence-sync.d.ts.map +1 -0
- package/dist/store/sequence-sync.js +46 -0
- package/dist/store/sequence-sync.js.map +1 -0
- package/dist/store/sql-executor.d.ts +17 -0
- package/dist/store/sql-executor.d.ts.map +1 -0
- package/dist/store/sql-executor.js +3 -0
- package/dist/store/sql-executor.js.map +1 -0
- package/dist/store/store-meta.d.ts +10 -0
- package/dist/store/store-meta.d.ts.map +1 -0
- package/dist/store/store-meta.js +13 -0
- package/dist/store/store-meta.js.map +1 -0
- package/dist/store/tags.d.ts +10 -0
- package/dist/store/tags.d.ts.map +1 -0
- package/dist/store/tags.js +35 -0
- package/dist/store/tags.js.map +1 -0
- package/dist/store/timeline.d.ts +38 -0
- package/dist/store/timeline.d.ts.map +1 -0
- package/dist/store/timeline.js +173 -0
- package/dist/store/timeline.js.map +1 -0
- package/dist/store/trgm-search.d.ts +13 -0
- package/dist/store/trgm-search.d.ts.map +1 -0
- package/dist/store/trgm-search.js +53 -0
- package/dist/store/trgm-search.js.map +1 -0
- package/dist/store/wikilink.d.ts +17 -0
- package/dist/store/wikilink.d.ts.map +1 -0
- package/dist/store/wikilink.js +58 -0
- package/dist/store/wikilink.js.map +1 -0
- package/dist/sync/obsidian.d.ts +136 -0
- package/dist/sync/obsidian.d.ts.map +1 -0
- package/dist/sync/obsidian.js +543 -0
- package/dist/sync/obsidian.js.map +1 -0
- package/dist/synth/cache.d.ts +17 -0
- package/dist/synth/cache.d.ts.map +1 -0
- package/dist/synth/cache.js +67 -0
- package/dist/synth/cache.js.map +1 -0
- package/dist/synth/citations.d.ts +12 -0
- package/dist/synth/citations.d.ts.map +1 -0
- package/dist/synth/citations.js +28 -0
- package/dist/synth/citations.js.map +1 -0
- package/dist/synth/context.d.ts +10 -0
- package/dist/synth/context.d.ts.map +1 -0
- package/dist/synth/context.js +67 -0
- package/dist/synth/context.js.map +1 -0
- package/dist/synth/engine.d.ts +16 -0
- package/dist/synth/engine.d.ts.map +1 -0
- package/dist/synth/engine.js +111 -0
- package/dist/synth/engine.js.map +1 -0
- package/dist/synth/gaps.d.ts +17 -0
- package/dist/synth/gaps.d.ts.map +1 -0
- package/dist/synth/gaps.js +57 -0
- package/dist/synth/gaps.js.map +1 -0
- package/dist/synth/index.d.ts +6 -0
- package/dist/synth/index.d.ts.map +1 -0
- package/dist/synth/index.js +6 -0
- package/dist/synth/index.js.map +1 -0
- package/dist/synth/intent.d.ts +6 -0
- package/dist/synth/intent.d.ts.map +1 -0
- package/dist/synth/intent.js +13 -0
- package/dist/synth/intent.js.map +1 -0
- package/dist/synth/intents/daily-report.d.ts +7 -0
- package/dist/synth/intents/daily-report.d.ts.map +1 -0
- package/dist/synth/intents/daily-report.js +37 -0
- package/dist/synth/intents/daily-report.js.map +1 -0
- package/dist/synth/intents/index.d.ts +2 -0
- package/dist/synth/intents/index.d.ts.map +1 -0
- package/dist/synth/intents/index.js +12 -0
- package/dist/synth/intents/index.js.map +1 -0
- package/dist/synth/intents/person-strategy.d.ts +40 -0
- package/dist/synth/intents/person-strategy.d.ts.map +1 -0
- package/dist/synth/intents/person-strategy.js +66 -0
- package/dist/synth/intents/person-strategy.js.map +1 -0
- package/dist/synth/intents/recall.d.ts +8 -0
- package/dist/synth/intents/recall.d.ts.map +1 -0
- package/dist/synth/intents/recall.js +26 -0
- package/dist/synth/intents/recall.js.map +1 -0
- package/dist/synth/intents/troubleshoot.d.ts +11 -0
- package/dist/synth/intents/troubleshoot.d.ts.map +1 -0
- package/dist/synth/intents/troubleshoot.js +66 -0
- package/dist/synth/intents/troubleshoot.js.map +1 -0
- package/dist/synth/scope.d.ts +13 -0
- package/dist/synth/scope.d.ts.map +1 -0
- package/dist/synth/scope.js +139 -0
- package/dist/synth/scope.js.map +1 -0
- package/dist/synth/types.d.ts +117 -0
- package/dist/synth/types.d.ts.map +1 -0
- package/dist/synth/types.js +2 -0
- package/dist/synth/types.js.map +1 -0
- package/package.json +98 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { DIRECTIVE_L1 } from "../directive.js";
|
|
4
|
+
import { mcpEntry } from "../types.js";
|
|
5
|
+
// Codex MCP config is global-only (~/.codex/config.toml); rules go to AGENTS.md
|
|
6
|
+
// (global ~/.codex/AGENTS.md or project ./AGENTS.md).
|
|
7
|
+
export const codex = {
|
|
8
|
+
id: "codex",
|
|
9
|
+
displayName: "Codex",
|
|
10
|
+
supportsHttp: true,
|
|
11
|
+
detect(home) {
|
|
12
|
+
return existsSync(join(home, ".codex"));
|
|
13
|
+
},
|
|
14
|
+
plan(ctx) {
|
|
15
|
+
const mcpPath = join(ctx.home, ".codex", "config.toml");
|
|
16
|
+
const rulesPath = ctx.scope === "project" ? join(ctx.cwd, "AGENTS.md") : join(ctx.home, ".codex", "AGENTS.md");
|
|
17
|
+
return [
|
|
18
|
+
{
|
|
19
|
+
path: mcpPath,
|
|
20
|
+
kind: "toml-mcp",
|
|
21
|
+
action: ctx.action,
|
|
22
|
+
entry: ctx.action === "upsert" ? mcpEntry(ctx) : undefined,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
path: rulesPath,
|
|
26
|
+
kind: "marked-block",
|
|
27
|
+
action: ctx.action,
|
|
28
|
+
content: ctx.action === "upsert" ? DIRECTIVE_L1 : undefined,
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=codex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/install/clients/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAsB,QAAQ,EAAgB,MAAM,aAAa,CAAC;AAEzE,gFAAgF;AAChF,sDAAsD;AACtD,MAAM,CAAC,MAAM,KAAK,GAAkB;IAClC,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,OAAO;IACpB,YAAY,EAAE,IAAI;IAClB,MAAM,CAAC,IAAI;QACT,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,GAAY;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QACxD,MAAM,SAAS,GACb,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC/F,OAAO;YACL;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;aAC3D;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;aAC5D;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/install/clients/cursor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,aAAa,CAAC;AAOzE,eAAO,MAAM,MAAM,EAAE,aA2BpB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { DIRECTIVE_L1, MEMKIN_BLOCK_END, MEMKIN_BLOCK_START } from "../directive.js";
|
|
4
|
+
import { mcpEntry } from "../types.js";
|
|
5
|
+
// Cursor rules use `.mdc` with required frontmatter, so memkin owns the whole
|
|
6
|
+
// file (managed-file) rather than appending a marker block.
|
|
7
|
+
const L1_BODY = DIRECTIVE_L1.replace(MEMKIN_BLOCK_START, "").replace(MEMKIN_BLOCK_END, "").trim();
|
|
8
|
+
const CURSOR_MDC = `---\nalwaysApply: true\n---\n\n${L1_BODY}\n`;
|
|
9
|
+
export const cursor = {
|
|
10
|
+
id: "cursor",
|
|
11
|
+
displayName: "Cursor",
|
|
12
|
+
// TODO(SP4 T6b): verify HTTP support
|
|
13
|
+
supportsHttp: false,
|
|
14
|
+
detect(home) {
|
|
15
|
+
return existsSync(join(home, ".cursor"));
|
|
16
|
+
},
|
|
17
|
+
plan(ctx) {
|
|
18
|
+
const base = ctx.scope === "project" ? ctx.cwd : ctx.home;
|
|
19
|
+
const mcpPath = join(base, ".cursor", "mcp.json");
|
|
20
|
+
const rulesPath = join(base, ".cursor", "rules", "memkin.mdc");
|
|
21
|
+
return [
|
|
22
|
+
{
|
|
23
|
+
path: mcpPath,
|
|
24
|
+
kind: "json-mcp",
|
|
25
|
+
action: ctx.action,
|
|
26
|
+
entry: ctx.action === "upsert" ? mcpEntry(ctx) : undefined,
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
path: rulesPath,
|
|
30
|
+
kind: "managed-file",
|
|
31
|
+
action: ctx.action,
|
|
32
|
+
content: ctx.action === "upsert" ? CURSOR_MDC : undefined,
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=cursor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/install/clients/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAsB,QAAQ,EAAgB,MAAM,aAAa,CAAC;AAEzE,8EAA8E;AAC9E,4DAA4D;AAC5D,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAClG,MAAM,UAAU,GAAG,kCAAkC,OAAO,IAAI,CAAC;AAEjE,MAAM,CAAC,MAAM,MAAM,GAAkB;IACnC,EAAE,EAAE,QAAQ;IACZ,WAAW,EAAE,QAAQ;IACrB,qCAAqC;IACrC,YAAY,EAAE,KAAK;IACnB,MAAM,CAAC,IAAI;QACT,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC,GAAY;QACf,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAC/D,OAAO;YACL;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;aAC3D;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;aAC1D;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hermes.d.ts","sourceRoot":"","sources":["../../../src/install/clients/hermes.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,aAAa,CAAC;AASzE,eAAO,MAAM,MAAM,EAAE,aAyBpB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { MEMKIN_SKILL } from "../skill.js";
|
|
4
|
+
import { mcpEntry } from "../types.js";
|
|
5
|
+
// OpenClaw / Hermes. MCP lives in config.yaml `mcp_servers`; the skill drops
|
|
6
|
+
// into the skills dir. Newer Hermes uses ~/.hermes; older OpenClaw layout uses
|
|
7
|
+
// ~/.openclaw — detect either and pin the root accordingly.
|
|
8
|
+
function hermesRoot(home) {
|
|
9
|
+
return existsSync(join(home, ".hermes")) ? join(home, ".hermes") : join(home, ".openclaw");
|
|
10
|
+
}
|
|
11
|
+
export const hermes = {
|
|
12
|
+
id: "hermes",
|
|
13
|
+
displayName: "OpenClaw / Hermes",
|
|
14
|
+
// TODO(SP4 T6b): verify HTTP support
|
|
15
|
+
supportsHttp: false,
|
|
16
|
+
detect(home) {
|
|
17
|
+
return existsSync(join(home, ".hermes")) || existsSync(join(home, ".openclaw"));
|
|
18
|
+
},
|
|
19
|
+
plan(ctx) {
|
|
20
|
+
const root = hermesRoot(ctx.home);
|
|
21
|
+
return [
|
|
22
|
+
{
|
|
23
|
+
path: join(root, "config.yaml"),
|
|
24
|
+
kind: "yaml-mcp",
|
|
25
|
+
action: ctx.action,
|
|
26
|
+
entry: ctx.action === "upsert" ? mcpEntry(ctx) : undefined,
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
path: join(root, "skills", "memkin", "SKILL.md"),
|
|
30
|
+
kind: "managed-file",
|
|
31
|
+
action: ctx.action,
|
|
32
|
+
content: ctx.action === "upsert" ? MEMKIN_SKILL : undefined,
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=hermes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hermes.js","sourceRoot":"","sources":["../../../src/install/clients/hermes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAsB,QAAQ,EAAgB,MAAM,aAAa,CAAC;AAEzE,6EAA6E;AAC7E,+EAA+E;AAC/E,4DAA4D;AAC5D,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAkB;IACnC,EAAE,EAAE,QAAQ;IACZ,WAAW,EAAE,mBAAmB;IAChC,qCAAqC;IACrC,YAAY,EAAE,KAAK;IACnB,MAAM,CAAC,IAAI;QACT,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,CAAC,GAAY;QACf,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO;YACL;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC;gBAC/B,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;aAC3D;YACD;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;gBAChD,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;aAC5D;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/install/clients/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQjD,eAAO,MAAM,QAAQ,EAAE,aAAa,EAOnC,CAAC;AAEF,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEhE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { claudeCode } from "./claude-code.js";
|
|
2
|
+
import { claudeDesktop } from "./claude-desktop.js";
|
|
3
|
+
import { codex } from "./codex.js";
|
|
4
|
+
import { cursor } from "./cursor.js";
|
|
5
|
+
import { hermes } from "./hermes.js";
|
|
6
|
+
import { windsurf } from "./windsurf.js";
|
|
7
|
+
export const ADAPTERS = [
|
|
8
|
+
claudeCode,
|
|
9
|
+
claudeDesktop,
|
|
10
|
+
cursor,
|
|
11
|
+
codex,
|
|
12
|
+
windsurf,
|
|
13
|
+
hermes,
|
|
14
|
+
];
|
|
15
|
+
export function getAdapter(id) {
|
|
16
|
+
return ADAPTERS.find((a) => a.id === id);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/install/clients/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,MAAM,QAAQ,GAAoB;IACvC,UAAU;IACV,aAAa;IACb,MAAM;IACN,KAAK;IACL,QAAQ;IACR,MAAM;CACP,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,EAAU;IACnC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"windsurf.d.ts","sourceRoot":"","sources":["../../../src/install/clients/windsurf.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,aAAa,CAAC;AAEzE,eAAO,MAAM,QAAQ,EAAE,aA6BtB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { DIRECTIVE_L1 } from "../directive.js";
|
|
4
|
+
import { mcpEntry } from "../types.js";
|
|
5
|
+
export const windsurf = {
|
|
6
|
+
id: "windsurf",
|
|
7
|
+
displayName: "Windsurf",
|
|
8
|
+
// TODO(SP4 T6b): verify HTTP support
|
|
9
|
+
supportsHttp: false,
|
|
10
|
+
detect(home) {
|
|
11
|
+
return existsSync(join(home, ".codeium", "windsurf"));
|
|
12
|
+
},
|
|
13
|
+
plan(ctx) {
|
|
14
|
+
const mcpPath = join(ctx.home, ".codeium", "windsurf", "mcp_config.json");
|
|
15
|
+
const rulesPath = ctx.scope === "project"
|
|
16
|
+
? join(ctx.cwd, ".windsurfrules")
|
|
17
|
+
: join(ctx.home, ".codeium", "windsurf", "memories", "global_rules.md");
|
|
18
|
+
return [
|
|
19
|
+
{
|
|
20
|
+
path: mcpPath,
|
|
21
|
+
kind: "json-mcp",
|
|
22
|
+
action: ctx.action,
|
|
23
|
+
entry: ctx.action === "upsert" ? mcpEntry(ctx) : undefined,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
path: rulesPath,
|
|
27
|
+
kind: "marked-block",
|
|
28
|
+
action: ctx.action,
|
|
29
|
+
content: ctx.action === "upsert" ? DIRECTIVE_L1 : undefined,
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=windsurf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"windsurf.js","sourceRoot":"","sources":["../../../src/install/clients/windsurf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAsB,QAAQ,EAAgB,MAAM,aAAa,CAAC;AAEzE,MAAM,CAAC,MAAM,QAAQ,GAAkB;IACrC,EAAE,EAAE,UAAU;IACd,WAAW,EAAE,UAAU;IACvB,qCAAqC;IACrC,YAAY,EAAE,KAAK;IACnB,MAAM,CAAC,IAAI;QACT,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,GAAY;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAC1E,MAAM,SAAS,GACb,GAAG,CAAC,KAAK,KAAK,SAAS;YACrB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAC5E,OAAO;YACL;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;aAC3D;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;aAC5D;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface LaunchCmd {
|
|
2
|
+
command: string;
|
|
3
|
+
args: string[];
|
|
4
|
+
}
|
|
5
|
+
export interface ResolveOpts {
|
|
6
|
+
/** Use the Streamable HTTP transport instead of stdio. */
|
|
7
|
+
http?: boolean;
|
|
8
|
+
/** Injectable PATH lookup for tests. */
|
|
9
|
+
onPath?: (bin: string) => boolean;
|
|
10
|
+
}
|
|
11
|
+
/** Default check: is `bin` an executable on PATH? */
|
|
12
|
+
export declare function isOnPath(bin: string, env?: NodeJS.ProcessEnv): boolean;
|
|
13
|
+
export declare function resolveLaunchCmd(opts?: ResolveOpts): LaunchCmd;
|
|
14
|
+
//# sourceMappingURL=command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/install/command.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,0DAA0D;IAC1D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wCAAwC;IACxC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACnC;AAED,qDAAqD;AACrD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAenF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,WAAgB,GAAG,SAAS,CAOlE"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { accessSync, constants } from "node:fs";
|
|
2
|
+
import { delimiter, join } from "node:path";
|
|
3
|
+
// Resolves the command an MCP client should spawn to launch Memkin's stdio
|
|
4
|
+
// (or HTTP) server. Prefers a globally-installed `memkin` binary; otherwise
|
|
5
|
+
// falls back to `npx -y memkin`.
|
|
6
|
+
const PACKAGE = "memkin";
|
|
7
|
+
/** Default check: is `bin` an executable on PATH? */
|
|
8
|
+
export function isOnPath(bin, env = process.env) {
|
|
9
|
+
const path = env.PATH ?? "";
|
|
10
|
+
const exts = process.platform === "win32" ? ["", ".cmd", ".exe", ".bat"] : [""];
|
|
11
|
+
for (const dir of path.split(delimiter)) {
|
|
12
|
+
if (!dir)
|
|
13
|
+
continue;
|
|
14
|
+
for (const ext of exts) {
|
|
15
|
+
try {
|
|
16
|
+
accessSync(join(dir, bin + ext), constants.X_OK);
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
// not here; keep looking
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
export function resolveLaunchCmd(opts = {}) {
|
|
27
|
+
const transport = opts.http ? "--mcp-http" : "--mcp";
|
|
28
|
+
const onPath = opts.onPath ?? isOnPath;
|
|
29
|
+
if (onPath("memkin")) {
|
|
30
|
+
return { command: "memkin", args: ["serve", transport] };
|
|
31
|
+
}
|
|
32
|
+
return { command: "npx", args: ["-y", PACKAGE, "serve", transport] };
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/install/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE5C,2EAA2E;AAC3E,4EAA4E;AAC5E,iCAAiC;AAEjC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAczB,qDAAqD;AACrD,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,MAAyB,OAAO,CAAC,GAAG;IACxE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBACjD,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,yBAAyB;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAoB,EAAE;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC;IACvC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;AACvE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const MEMKIN_BLOCK_START = "<!-- memkin:start -->";
|
|
2
|
+
export declare const MEMKIN_BLOCK_END = "<!-- memkin:end -->";
|
|
3
|
+
/** L1: minimal directive block for rules files (CLAUDE.md / AGENTS.md / …). */
|
|
4
|
+
export declare const DIRECTIVE_L1 = "<!-- memkin:start -->\n## Memkin \u2014 \u4F60\u7684\u4E2A\u4EBA\u8BB0\u5FC6\u5E93\n\u4F60\u63A5\u5165\u4E86 Memkin\uFF1A\u7528\u6237\u5173\u4E8E\u300C\u4EBA / \u9879\u76EE / \u51B3\u7B56 / \u4EFB\u52A1 / \u8FC7\u5F80\u300D\u7684\u672C\u5730\u6301\u4E45\u8BB0\u5FC6\uFF0C\u662F\u8FD9\u4E9B\u4E8B\u7684**\u4E8B\u5B9E\u6765\u6E90**\u3002\n- **\u4F55\u65F6\u67E5**\uFF1A\u95EE\u9898\u6D89\u53CA\u5177\u4F53\u7684\u4EBA\u3001\u9879\u76EE\u8FDB\u5C55\u3001\u8FC7\u53BB\u7684\u51B3\u5B9A\u3001\u5F85\u529E\uFF0C\u6216\u5E26\u300C\u4E0A\u5468 / \u4E4B\u524D / \u6211\u4EEC\u5F53\u65F6\u2026\u300D\u65F6\u2014\u2014\u5148\u67E5 Memkin\uFF0C\u522B\u53EA\u51ED\u4EE3\u7801\u6216\u731C\u6D4B\u3002\n- **\u600E\u4E48\u67E5\uFF08\u4FBF\u5B9C\u4F18\u5148\uFF09**\uFF1A\u5148 `search`\uFF08\u5173\u952E\u8BCD\uFF0C\u96F6\u6210\u672C\uFF09\u2192 \u4E0D\u591F\u518D `query` / `recall`\uFF08\u8BED\u4E49 + \u5F15\u7528\uFF09\uFF1B\u4F1A\u8BDD\u5F00\u59CB\u53EF\u5148 `get_session_context` \u8FDB\u5165\u72B6\u6001\u3002\n- **\u4F55\u65F6\u4E0D\u67E5**\uFF1A\u4E0E\u7528\u6237\u4E2A\u4EBA\u4E16\u754C\u65E0\u5173\u7684\u901A\u7528\u95EE\u9898\uFF08\u7EAF\u8BED\u6CD5 / \u901A\u7528\u7B97\u6CD5\uFF09\uFF0C\u522B\u6253\u6270\u8BB0\u5FC6\u5E93\u3002\n- \u66F4\u591A\u7528\u6CD5\uFF08\u5199\u56DE\u3001\u56FE\u8C31\u3001\u4EBA\u7269\u753B\u50CF\uFF09\u6309\u9700\u53D1\u73B0\uFF1A\u8C03\u7528\u5DE5\u5177\u65F6\u770B\u5176\u8BF4\u660E\uFF0C\u6216 `get_health`\u3002\n<!-- memkin:end -->";
|
|
5
|
+
/** L2: medium directive used as the MCP server `instructions` field. */
|
|
6
|
+
export declare const DIRECTIVE_L2 = "Memkin is the user's local-first personal memory \u2014 the source of truth about the user's people, projects, decisions, tasks, and history.\n\nBrain-first, cheap-first. When a request concerns a specific person, a project's status/history, a past decision, a todo, or contains \"last week / earlier / what did we\u2026\", consult Memkin BEFORE answering from code or assumptions:\n 1) search (keyword, zero-cost)\n 2) query / recall (semantic + cited) \u2014 only if search is thin\n Accept good results; do not over-escalate.\nSession start: call get_session_context for a compact digest of active projects, recent decisions, open tasks, and key people.\nProject-status questions: combine Memkin (decisions/tasks/timeline) WITH repo reality (git/code); do not answer from code alone.\nDo NOT consult Memkin for generic questions unrelated to the user's world (pure syntax, general algorithms).\nWrite-back (conservative): on a clear decision/discovery, or when the user says \"remember this\", persist via put_page / add_timeline_entry; if unsure, ask.\nMore tools (graph traversal, person profile, daily report, troubleshoot) are discoverable via their tool descriptions and get_health.";
|
|
7
|
+
//# sourceMappingURL=directive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directive.d.ts","sourceRoot":"","sources":["../../src/install/directive.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,kBAAkB,0BAA0B,CAAC;AAC1D,eAAO,MAAM,gBAAgB,wBAAwB,CAAC;AAEtD,+EAA+E;AAC/E,eAAO,MAAM,YAAY,67CAOL,CAAC;AAErB,wEAAwE;AACxE,eAAO,MAAM,YAAY,grCAU6G,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Single source of truth for Memkin's agent-facing memory directives.
|
|
2
|
+
//
|
|
3
|
+
// Progressive disclosure (Spec 12):
|
|
4
|
+
// L1 — minimal, written into each client's rules file (always resident).
|
|
5
|
+
// L2 — medium, passed as the MCP server `instructions` field (injected by
|
|
6
|
+
// clients that support it; covers clients without a rules file).
|
|
7
|
+
// L3 — full detail, lives in tool descriptions / the optional skill (on demand).
|
|
8
|
+
export const MEMKIN_BLOCK_START = "<!-- memkin:start -->";
|
|
9
|
+
export const MEMKIN_BLOCK_END = "<!-- memkin:end -->";
|
|
10
|
+
/** L1: minimal directive block for rules files (CLAUDE.md / AGENTS.md / …). */
|
|
11
|
+
export const DIRECTIVE_L1 = `${MEMKIN_BLOCK_START}
|
|
12
|
+
## Memkin — 你的个人记忆库
|
|
13
|
+
你接入了 Memkin:用户关于「人 / 项目 / 决策 / 任务 / 过往」的本地持久记忆,是这些事的**事实来源**。
|
|
14
|
+
- **何时查**:问题涉及具体的人、项目进展、过去的决定、待办,或带「上周 / 之前 / 我们当时…」时——先查 Memkin,别只凭代码或猜测。
|
|
15
|
+
- **怎么查(便宜优先)**:先 \`search\`(关键词,零成本)→ 不够再 \`query\` / \`recall\`(语义 + 引用);会话开始可先 \`get_session_context\` 进入状态。
|
|
16
|
+
- **何时不查**:与用户个人世界无关的通用问题(纯语法 / 通用算法),别打扰记忆库。
|
|
17
|
+
- 更多用法(写回、图谱、人物画像)按需发现:调用工具时看其说明,或 \`get_health\`。
|
|
18
|
+
${MEMKIN_BLOCK_END}`;
|
|
19
|
+
/** L2: medium directive used as the MCP server `instructions` field. */
|
|
20
|
+
export const DIRECTIVE_L2 = `Memkin is the user's local-first personal memory — the source of truth about the user's people, projects, decisions, tasks, and history.
|
|
21
|
+
|
|
22
|
+
Brain-first, cheap-first. When a request concerns a specific person, a project's status/history, a past decision, a todo, or contains "last week / earlier / what did we…", consult Memkin BEFORE answering from code or assumptions:
|
|
23
|
+
1) search (keyword, zero-cost)
|
|
24
|
+
2) query / recall (semantic + cited) — only if search is thin
|
|
25
|
+
Accept good results; do not over-escalate.
|
|
26
|
+
Session start: call get_session_context for a compact digest of active projects, recent decisions, open tasks, and key people.
|
|
27
|
+
Project-status questions: combine Memkin (decisions/tasks/timeline) WITH repo reality (git/code); do not answer from code alone.
|
|
28
|
+
Do NOT consult Memkin for generic questions unrelated to the user's world (pure syntax, general algorithms).
|
|
29
|
+
Write-back (conservative): on a clear decision/discovery, or when the user says "remember this", persist via put_page / add_timeline_entry; if unsure, ask.
|
|
30
|
+
More tools (graph traversal, person profile, daily report, troubleshoot) are discoverable via their tool descriptions and get_health.`;
|
|
31
|
+
//# sourceMappingURL=directive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directive.js","sourceRoot":"","sources":["../../src/install/directive.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,oCAAoC;AACpC,2EAA2E;AAC3E,4EAA4E;AAC5E,wEAAwE;AACxE,mFAAmF;AAEnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAEtD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,kBAAkB;;;;;;;EAO/C,gBAAgB,EAAE,CAAC;AAErB,wEAAwE;AACxE,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;sIAU0G,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type LaunchCmd } from "./command.js";
|
|
2
|
+
import type { InstallAction, InstallOp, Scope } from "./types.js";
|
|
3
|
+
export interface InstallOptions {
|
|
4
|
+
/** Explicit client ids; empty/undefined → install to all detected. */
|
|
5
|
+
agent?: string[];
|
|
6
|
+
scope?: Scope;
|
|
7
|
+
http?: boolean;
|
|
8
|
+
url?: string;
|
|
9
|
+
port?: number;
|
|
10
|
+
dryRun?: boolean;
|
|
11
|
+
home?: string;
|
|
12
|
+
cwd?: string;
|
|
13
|
+
platform?: NodeJS.Platform;
|
|
14
|
+
launch?: LaunchCmd;
|
|
15
|
+
}
|
|
16
|
+
export interface PlannedClient {
|
|
17
|
+
id: string;
|
|
18
|
+
displayName: string;
|
|
19
|
+
ops: InstallOp[];
|
|
20
|
+
}
|
|
21
|
+
/** Plan without touching disk (for `--dry-run`). */
|
|
22
|
+
export declare function planInstall(opts: InstallOptions, action: InstallAction): PlannedClient[];
|
|
23
|
+
export declare function runInstall(opts?: InstallOptions): PlannedClient[];
|
|
24
|
+
export declare function runUninstall(opts?: InstallOptions): PlannedClient[];
|
|
25
|
+
/** Ids of clients detected as installed on this machine. */
|
|
26
|
+
export declare function detectInstalledAgents(home?: string, platform?: NodeJS.Platform): string[];
|
|
27
|
+
export { ADAPTERS } from "./clients/index.js";
|
|
28
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/install/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAC;AAShE,OAAO,KAAK,EAAiB,aAAa,EAAE,SAAS,EAAW,KAAK,EAAE,MAAM,YAAY,CAAC;AAG1F,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,SAAS,EAAE,CAAC;CAClB;AAmGD,oDAAoD;AACpD,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,GAAG,aAAa,EAAE,CAExF;AAYD,wBAAgB,UAAU,CAAC,IAAI,GAAE,cAAmB,GAAG,aAAa,EAAE,CAErE;AAED,wBAAgB,YAAY,CAAC,IAAI,GAAE,cAAmB,GAAG,aAAa,EAAE,CAEvE;AAED,4DAA4D;AAC5D,wBAAgB,qBAAqB,CAAC,IAAI,SAAY,EAAE,QAAQ,kBAAmB,GAAG,MAAM,EAAE,CAE7F;AAED,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
2
|
+
import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
3
|
+
import { homedir } from "node:os";
|
|
4
|
+
import { dirname } from "node:path";
|
|
5
|
+
import { ADAPTERS, getAdapter } from "./clients/index.js";
|
|
6
|
+
import { resolveLaunchCmd } from "./command.js";
|
|
7
|
+
import { parseJsonConfig, removeMcpServer, stringifyJsonConfig, upsertMcpServer, } from "./json-config.js";
|
|
8
|
+
import { removeBlock, upsertBlock } from "./marked-block.js";
|
|
9
|
+
import { removeMcpServerToml, upsertMcpServerToml } from "./toml-config.js";
|
|
10
|
+
import { removeMcpServerYaml, upsertMcpServerYaml } from "./yaml-config.js";
|
|
11
|
+
function readFileOr(path, fallback) {
|
|
12
|
+
return existsSync(path) ? readFileSync(path, "utf8") : fallback;
|
|
13
|
+
}
|
|
14
|
+
function ensureDir(dir) {
|
|
15
|
+
if (!existsSync(dir))
|
|
16
|
+
mkdirSync(dir, { recursive: true });
|
|
17
|
+
}
|
|
18
|
+
function applyOp(op) {
|
|
19
|
+
if (op.kind === "cli") {
|
|
20
|
+
spawnSync(op.args[0], op.args.slice(1), { stdio: "ignore" });
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
ensureDir(dirname(op.path));
|
|
24
|
+
switch (op.kind) {
|
|
25
|
+
case "json-mcp": {
|
|
26
|
+
const obj = parseJsonConfig(readFileOr(op.path, ""), op.path);
|
|
27
|
+
const next = op.action === "upsert" && op.entry
|
|
28
|
+
? upsertMcpServer(obj, "memkin", op.entry)
|
|
29
|
+
: removeMcpServer(obj, "memkin");
|
|
30
|
+
writeFileSync(op.path, stringifyJsonConfig(next));
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
case "toml-mcp": {
|
|
34
|
+
const text = readFileOr(op.path, "");
|
|
35
|
+
const next = op.action === "upsert" && op.entry
|
|
36
|
+
? upsertMcpServerToml(text, "memkin", op.entry)
|
|
37
|
+
: removeMcpServerToml(text, "memkin");
|
|
38
|
+
writeFileSync(op.path, next);
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
case "yaml-mcp": {
|
|
42
|
+
const text = readFileOr(op.path, "");
|
|
43
|
+
const next = op.action === "upsert" && op.entry
|
|
44
|
+
? upsertMcpServerYaml(text, "memkin", op.entry)
|
|
45
|
+
: removeMcpServerYaml(text, "memkin");
|
|
46
|
+
writeFileSync(op.path, next);
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
case "marked-block": {
|
|
50
|
+
const text = readFileOr(op.path, "");
|
|
51
|
+
const next = op.action === "upsert" && op.content ? upsertBlock(text, op.content) : removeBlock(text);
|
|
52
|
+
writeFileSync(op.path, next);
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
case "managed-file": {
|
|
56
|
+
if (op.action === "upsert" && op.content) {
|
|
57
|
+
ensureDir(dirname(op.path));
|
|
58
|
+
writeFileSync(op.path, op.content);
|
|
59
|
+
}
|
|
60
|
+
else if (existsSync(op.path)) {
|
|
61
|
+
rmSync(op.path);
|
|
62
|
+
}
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function selectAdapters(opts) {
|
|
68
|
+
if (opts.agent && opts.agent.length > 0) {
|
|
69
|
+
return opts.agent.map((id) => {
|
|
70
|
+
const a = getAdapter(id);
|
|
71
|
+
if (!a) {
|
|
72
|
+
throw new Error(`Unknown agent "${id}". Known: ${ADAPTERS.map((x) => x.id).join(", ")}`);
|
|
73
|
+
}
|
|
74
|
+
return a;
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
const home = opts.home ?? homedir();
|
|
78
|
+
const platform = opts.platform ?? process.platform;
|
|
79
|
+
return ADAPTERS.filter((a) => a.detect(home, platform));
|
|
80
|
+
}
|
|
81
|
+
function planFor(adapter, opts, action) {
|
|
82
|
+
const port = opts.port ?? 3928;
|
|
83
|
+
const url = opts.url ?? `http://127.0.0.1:${port}/mcp`;
|
|
84
|
+
const transport = opts.http && adapter.supportsHttp ? "http" : "stdio";
|
|
85
|
+
const ctx = {
|
|
86
|
+
home: opts.home ?? homedir(),
|
|
87
|
+
platform: opts.platform ?? process.platform,
|
|
88
|
+
scope: opts.scope ?? "global",
|
|
89
|
+
cwd: opts.cwd ?? process.cwd(),
|
|
90
|
+
launch: opts.launch ?? resolveLaunchCmd({ http: opts.http }),
|
|
91
|
+
action,
|
|
92
|
+
transport,
|
|
93
|
+
url,
|
|
94
|
+
};
|
|
95
|
+
return { id: adapter.id, displayName: adapter.displayName, ops: adapter.plan(ctx) };
|
|
96
|
+
}
|
|
97
|
+
/** Plan without touching disk (for `--dry-run`). */
|
|
98
|
+
export function planInstall(opts, action) {
|
|
99
|
+
return selectAdapters(opts).map((a) => planFor(a, opts, action));
|
|
100
|
+
}
|
|
101
|
+
function execute(opts, action) {
|
|
102
|
+
const planned = planInstall(opts, action);
|
|
103
|
+
if (!opts.dryRun) {
|
|
104
|
+
for (const client of planned) {
|
|
105
|
+
for (const op of client.ops)
|
|
106
|
+
applyOp(op);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return planned;
|
|
110
|
+
}
|
|
111
|
+
export function runInstall(opts = {}) {
|
|
112
|
+
return execute(opts, "upsert");
|
|
113
|
+
}
|
|
114
|
+
export function runUninstall(opts = {}) {
|
|
115
|
+
return execute(opts, "remove");
|
|
116
|
+
}
|
|
117
|
+
/** Ids of clients detected as installed on this machine. */
|
|
118
|
+
export function detectInstalledAgents(home = homedir(), platform = process.platform) {
|
|
119
|
+
return ADAPTERS.filter((a) => a.detect(home, platform)).map((a) => a.id);
|
|
120
|
+
}
|
|
121
|
+
export { ADAPTERS } from "./clients/index.js";
|
|
122
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/install/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { McpEntry } from "./mcp-entry.js";
|
|
2
|
+
export type { McpEntry };
|
|
3
|
+
type Json = Record<string, unknown>;
|
|
4
|
+
export declare function parseJsonConfig(text: string, path: string): Json;
|
|
5
|
+
export declare function upsertMcpServer(obj: Json, name: string, entry: McpEntry): Json;
|
|
6
|
+
export declare function removeMcpServer(obj: Json, name: string): Json;
|
|
7
|
+
export declare function stringifyJsonConfig(obj: Json): string;
|
|
8
|
+
//# sourceMappingURL=json-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-config.d.ts","sourceRoot":"","sources":["../../src/install/json-config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,YAAY,EAAE,QAAQ,EAAE,CAAC;AAEzB,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAYhE;AAaD,wBAAgB,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAI9E;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAM7D;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,CAErD"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// JSON-based MCP config editing (Claude Code ~/.claude.json, Claude Desktop,
|
|
2
|
+
// Cursor ~/.cursor/mcp.json, Windsurf). Operates on parsed objects; the
|
|
3
|
+
// orchestrator handles file IO. Other keys/servers are preserved.
|
|
4
|
+
export function parseJsonConfig(text, path) {
|
|
5
|
+
const trimmed = text.trim();
|
|
6
|
+
if (trimmed === "")
|
|
7
|
+
return {};
|
|
8
|
+
try {
|
|
9
|
+
const parsed = JSON.parse(trimmed);
|
|
10
|
+
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
11
|
+
throw new Error("expected a top-level JSON object");
|
|
12
|
+
}
|
|
13
|
+
return parsed;
|
|
14
|
+
}
|
|
15
|
+
catch (e) {
|
|
16
|
+
throw new Error(`Invalid JSON in ${path}: ${e.message}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function servers(obj) {
|
|
20
|
+
const mcp = obj.mcpServers;
|
|
21
|
+
return mcp && typeof mcp === "object" && !Array.isArray(mcp) ? { ...mcp } : {};
|
|
22
|
+
}
|
|
23
|
+
function toJsonValue(entry) {
|
|
24
|
+
return entry.kind === "http"
|
|
25
|
+
? { type: "http", url: entry.url }
|
|
26
|
+
: { command: entry.command, args: entry.args };
|
|
27
|
+
}
|
|
28
|
+
export function upsertMcpServer(obj, name, entry) {
|
|
29
|
+
const next = servers(obj);
|
|
30
|
+
next[name] = toJsonValue(entry);
|
|
31
|
+
return { ...obj, mcpServers: next };
|
|
32
|
+
}
|
|
33
|
+
export function removeMcpServer(obj, name) {
|
|
34
|
+
const mcp = obj.mcpServers;
|
|
35
|
+
if (!mcp || typeof mcp !== "object" || Array.isArray(mcp))
|
|
36
|
+
return obj;
|
|
37
|
+
const next = { ...mcp };
|
|
38
|
+
delete next[name];
|
|
39
|
+
return { ...obj, mcpServers: next };
|
|
40
|
+
}
|
|
41
|
+
export function stringifyJsonConfig(obj) {
|
|
42
|
+
return `${JSON.stringify(obj, null, 2)}\n`;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=json-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-config.js","sourceRoot":"","sources":["../../src/install/json-config.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,wEAAwE;AACxE,kEAAkE;AAQlE,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,IAAY;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,MAAc,CAAC;IACxB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,GAAS;IACxB,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC;IAC3B,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAI,GAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3F,CAAC;AAED,SAAS,WAAW,CAAC,KAAe;IAClC,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM;QAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE;QAClC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAS,EAAE,IAAY,EAAE,KAAe;IACtE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAS,EAAE,IAAY;IACrD,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC;IAC3B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACtE,MAAM,IAAI,GAAG,EAAE,GAAI,GAAY,EAAE,CAAC;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAS;IAC3C,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Insert or replace the memkin block in `existing`.
|
|
3
|
+
* `block` must already include the start/end markers (e.g. DIRECTIVE_L1).
|
|
4
|
+
* Idempotent: re-running with changed content replaces in place, never appends a duplicate.
|
|
5
|
+
*/
|
|
6
|
+
export declare function upsertBlock(existing: string, block: string): string;
|
|
7
|
+
/** Remove the memkin block, tidying surrounding whitespace. No-op if absent. */
|
|
8
|
+
export declare function removeBlock(existing: string): string;
|
|
9
|
+
/** True if `existing` already contains a memkin block. */
|
|
10
|
+
export declare function hasBlock(existing: string): boolean;
|
|
11
|
+
//# sourceMappingURL=marked-block.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marked-block.d.ts","sourceRoot":"","sources":["../../src/install/marked-block.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMnE;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOpD;AAED,0DAA0D;AAC1D,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAElD"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { MEMKIN_BLOCK_END, MEMKIN_BLOCK_START } from "./directive.js";
|
|
2
|
+
function escapeRegExp(s) {
|
|
3
|
+
return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
4
|
+
}
|
|
5
|
+
// Matches a single memkin-delimited block (non-greedy, spans newlines).
|
|
6
|
+
const blockRegex = new RegExp(`${escapeRegExp(MEMKIN_BLOCK_START)}[\\s\\S]*?${escapeRegExp(MEMKIN_BLOCK_END)}`);
|
|
7
|
+
/**
|
|
8
|
+
* Insert or replace the memkin block in `existing`.
|
|
9
|
+
* `block` must already include the start/end markers (e.g. DIRECTIVE_L1).
|
|
10
|
+
* Idempotent: re-running with changed content replaces in place, never appends a duplicate.
|
|
11
|
+
*/
|
|
12
|
+
export function upsertBlock(existing, block) {
|
|
13
|
+
if (blockRegex.test(existing)) {
|
|
14
|
+
return existing.replace(blockRegex, block);
|
|
15
|
+
}
|
|
16
|
+
if (existing.trim() === "")
|
|
17
|
+
return `${block}\n`;
|
|
18
|
+
return `${existing.replace(/\s*$/, "")}\n\n${block}\n`;
|
|
19
|
+
}
|
|
20
|
+
/** Remove the memkin block, tidying surrounding whitespace. No-op if absent. */
|
|
21
|
+
export function removeBlock(existing) {
|
|
22
|
+
if (!blockRegex.test(existing))
|
|
23
|
+
return existing;
|
|
24
|
+
const tidied = existing
|
|
25
|
+
.replace(blockRegex, "")
|
|
26
|
+
.replace(/\n{3,}/g, "\n\n")
|
|
27
|
+
.replace(/\s*$/, "");
|
|
28
|
+
return tidied === "" ? "" : `${tidied}\n`;
|
|
29
|
+
}
|
|
30
|
+
/** True if `existing` already contains a memkin block. */
|
|
31
|
+
export function hasBlock(existing) {
|
|
32
|
+
return blockRegex.test(existing);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=marked-block.js.map
|