@quolu/lattice 0.1.0 → 0.12.2
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/README.md +87 -4
- package/bin/lattice-bridge.mjs +87 -0
- package/bin/lattice-dashboard.mjs +70 -0
- package/bin/lattice-mcp.mjs +9 -9
- package/bin/lattice.mjs +61 -8
- package/docs/bridge-setup.md +87 -0
- package/docs/schemas/lattice.plan_create_input.v1.schema.json +56 -0
- package/docs/schemas/lattice.plan_create_input.v2.schema.json +72 -0
- package/docs/schemas/lattice.plan_create_input.v3.schema.json +81 -0
- package/package.json +19 -7
- package/sensor/dist/bin/command-supervision.d.ts +1 -1
- package/sensor/dist/bin/command-supervision.js +4 -4
- package/sensor/dist/bin/command-supervision.js.map +1 -1
- package/sensor/dist/bin/fatal-handler.js +2 -2
- package/sensor/dist/bin/fatal-handler.js.map +1 -1
- package/sensor/dist/bin/{codegraph.js → lattice-sensor.js} +207 -328
- package/sensor/dist/bin/node-version-check.d.ts +7 -5
- package/sensor/dist/bin/node-version-check.d.ts.map +1 -1
- package/sensor/dist/bin/node-version-check.js +19 -14
- package/sensor/dist/bin/node-version-check.js.map +1 -1
- package/sensor/dist/context/index.d.ts +1 -1
- package/sensor/dist/context/index.js +6 -6
- package/sensor/dist/context/index.js.map +1 -1
- package/sensor/dist/db/index.d.ts +5 -5
- package/sensor/dist/db/index.d.ts.map +1 -1
- package/sensor/dist/db/index.js +7 -7
- package/sensor/dist/db/index.js.map +1 -1
- package/sensor/dist/db/migrations.js +1 -1
- package/sensor/dist/db/migrations.js.map +1 -1
- package/sensor/dist/db/queries.d.ts +1 -1
- package/sensor/dist/db/queries.js +5 -5
- package/sensor/dist/db/queries.js.map +1 -1
- package/sensor/dist/db/schema.sql +2 -2
- package/sensor/dist/db/sqlite-adapter.d.ts +2 -2
- package/sensor/dist/db/sqlite-adapter.js +3 -3
- package/sensor/dist/db/sqlite-adapter.js.map +1 -1
- package/sensor/dist/db/wal-valve.d.ts +1 -1
- package/sensor/dist/db/wal-valve.d.ts.map +1 -1
- package/sensor/dist/db/wal-valve.js +2 -2
- package/sensor/dist/db/wal-valve.js.map +1 -1
- package/sensor/dist/directory.d.ts +27 -63
- package/sensor/dist/directory.d.ts.map +1 -1
- package/sensor/dist/directory.js +78 -134
- package/sensor/dist/directory.js.map +1 -1
- package/sensor/dist/errors.d.ts +15 -15
- package/sensor/dist/errors.d.ts.map +1 -1
- package/sensor/dist/errors.js +21 -21
- package/sensor/dist/errors.js.map +1 -1
- package/sensor/dist/extraction/dynamic-import.d.ts +1 -1
- package/sensor/dist/extraction/dynamic-import.js +1 -1
- package/sensor/dist/extraction/extraction-version.d.ts +1 -1
- package/sensor/dist/extraction/extraction-version.js +1 -1
- package/sensor/dist/extraction/generated-detection.d.ts +1 -1
- package/sensor/dist/extraction/generated-detection.js +1 -1
- package/sensor/dist/extraction/grammars.d.ts +3 -3
- package/sensor/dist/extraction/grammars.js +5 -5
- package/sensor/dist/extraction/grammars.js.map +1 -1
- package/sensor/dist/extraction/index.d.ts +6 -6
- package/sensor/dist/extraction/index.js +50 -50
- package/sensor/dist/extraction/index.js.map +1 -1
- package/sensor/dist/extraction/kernel/decode.d.ts +1 -1
- package/sensor/dist/extraction/kernel/decode.js +1 -1
- package/sensor/dist/extraction/kernel/index.d.ts +3 -3
- package/sensor/dist/extraction/kernel/index.js +6 -6
- package/sensor/dist/extraction/kernel/index.js.map +1 -1
- package/sensor/dist/extraction/kernel/layout.d.ts +1 -1
- package/sensor/dist/extraction/kernel/layout.js +1 -1
- package/sensor/dist/extraction/kernel/loader.d.ts +6 -6
- package/sensor/dist/extraction/kernel/loader.js +13 -13
- package/sensor/dist/extraction/kernel/loader.js.map +1 -1
- package/sensor/dist/extraction/languages/cfquery.d.ts +1 -1
- package/sensor/dist/extraction/languages/cfquery.js +1 -1
- package/sensor/dist/extraction/languages/lua.d.ts +11 -0
- package/sensor/dist/extraction/languages/lua.d.ts.map +1 -1
- package/sensor/dist/extraction/languages/lua.js +1 -0
- package/sensor/dist/extraction/languages/lua.js.map +1 -1
- package/sensor/dist/extraction/parse-pool.d.ts +5 -5
- package/sensor/dist/extraction/parse-pool.d.ts.map +1 -1
- package/sensor/dist/extraction/parse-pool.js +4 -4
- package/sensor/dist/extraction/parse-worker.js +1 -1
- package/sensor/dist/extraction/parse-worker.js.map +1 -1
- package/sensor/dist/extraction/store-writer.d.ts +1 -1
- package/sensor/dist/extraction/store-writer.js +1 -1
- package/sensor/dist/extraction/svelte-extractor.d.ts +1 -1
- package/sensor/dist/extraction/svelte-extractor.js +1 -1
- package/sensor/dist/extraction/tree-sitter-helpers.js +1 -1
- package/sensor/dist/extraction/tree-sitter.d.ts +2 -2
- package/sensor/dist/extraction/tree-sitter.d.ts.map +1 -1
- package/sensor/dist/extraction/tree-sitter.js +71 -4
- package/sensor/dist/extraction/tree-sitter.js.map +1 -1
- package/sensor/dist/extraction/wasm-runtime-flags.d.ts +2 -2
- package/sensor/dist/extraction/wasm-runtime-flags.d.ts.map +1 -1
- package/sensor/dist/extraction/wasm-runtime-flags.js +5 -5
- package/sensor/dist/extraction/wasm-runtime-flags.js.map +1 -1
- package/sensor/dist/index.d.ts +36 -36
- package/sensor/dist/index.d.ts.map +1 -1
- package/sensor/dist/index.js +71 -71
- package/sensor/dist/index.js.map +1 -1
- package/sensor/dist/mcp/daemon-manager.js +1 -1
- package/sensor/dist/mcp/daemon-paths.d.ts +3 -3
- package/sensor/dist/mcp/daemon-paths.js +7 -7
- package/sensor/dist/mcp/daemon-paths.js.map +1 -1
- package/sensor/dist/mcp/daemon-registry.d.ts +2 -2
- package/sensor/dist/mcp/daemon-registry.js +5 -5
- package/sensor/dist/mcp/daemon.d.ts +7 -7
- package/sensor/dist/mcp/daemon.d.ts.map +1 -1
- package/sensor/dist/mcp/daemon.js +21 -21
- package/sensor/dist/mcp/daemon.js.map +1 -1
- package/sensor/dist/mcp/dynamic-boundaries.js +1 -1
- package/sensor/dist/mcp/engine.d.ts +9 -9
- package/sensor/dist/mcp/engine.d.ts.map +1 -1
- package/sensor/dist/mcp/engine.js +44 -44
- package/sensor/dist/mcp/engine.js.map +1 -1
- package/sensor/dist/mcp/index.d.ts +14 -14
- package/sensor/dist/mcp/index.d.ts.map +1 -1
- package/sensor/dist/mcp/index.js +41 -41
- package/sensor/dist/mcp/index.js.map +1 -1
- package/sensor/dist/mcp/liveness-watchdog.js +7 -7
- package/sensor/dist/mcp/liveness-watchdog.js.map +1 -1
- package/sensor/dist/mcp/ppid-watchdog.d.ts +3 -3
- package/sensor/dist/mcp/ppid-watchdog.js +2 -2
- package/sensor/dist/mcp/proxy.d.ts.map +1 -1
- package/sensor/dist/mcp/proxy.js +37 -37
- package/sensor/dist/mcp/proxy.js.map +1 -1
- package/sensor/dist/mcp/query-pool.d.ts +3 -3
- package/sensor/dist/mcp/query-pool.js +7 -7
- package/sensor/dist/mcp/query-pool.js.map +1 -1
- package/sensor/dist/mcp/query-worker.d.ts +2 -2
- package/sensor/dist/mcp/query-worker.js +7 -7
- package/sensor/dist/mcp/query-worker.js.map +1 -1
- package/sensor/dist/mcp/server-instructions.d.ts +10 -12
- package/sensor/dist/mcp/server-instructions.d.ts.map +1 -1
- package/sensor/dist/mcp/server-instructions.js +39 -37
- package/sensor/dist/mcp/server-instructions.js.map +1 -1
- package/sensor/dist/mcp/session.d.ts +2 -2
- package/sensor/dist/mcp/session.js +18 -18
- package/sensor/dist/mcp/session.js.map +1 -1
- package/sensor/dist/mcp/startup-handshake.d.ts +3 -3
- package/sensor/dist/mcp/startup-handshake.d.ts.map +1 -1
- package/sensor/dist/mcp/startup-handshake.js +3 -3
- package/sensor/dist/mcp/startup-handshake.js.map +1 -1
- package/sensor/dist/mcp/tools.d.ts +53 -53
- package/sensor/dist/mcp/tools.d.ts.map +1 -1
- package/sensor/dist/mcp/tools.js +180 -216
- package/sensor/dist/mcp/tools.js.map +1 -1
- package/sensor/dist/mcp/transport.d.ts +1 -1
- package/sensor/dist/mcp/transport.js +6 -6
- package/sensor/dist/mcp/transport.js.map +1 -1
- package/sensor/dist/mcp/version.d.ts +2 -2
- package/sensor/dist/mcp/version.d.ts.map +1 -1
- package/sensor/dist/mcp/version.js +3 -3
- package/sensor/dist/mcp/version.js.map +1 -1
- package/sensor/dist/project-config.d.ts +6 -6
- package/sensor/dist/project-config.d.ts.map +1 -1
- package/sensor/dist/project-config.js +10 -10
- package/sensor/dist/project-config.js.map +1 -1
- package/sensor/dist/resolution/callback-synthesizer.js +4 -4
- package/sensor/dist/resolution/callback-synthesizer.js.map +1 -1
- package/sensor/dist/resolution/frameworks/drupal.d.ts +3 -3
- package/sensor/dist/resolution/frameworks/drupal.js +3 -3
- package/sensor/dist/resolution/frameworks/fabric.js +1 -1
- package/sensor/dist/resolution/frameworks/fabric.js.map +1 -1
- package/sensor/dist/resolution/frameworks/java.js +1 -1
- package/sensor/dist/resolution/frameworks/java.js.map +1 -1
- package/sensor/dist/resolution/frameworks/svelte.js +1 -1
- package/sensor/dist/resolution/frameworks/svelte.js.map +1 -1
- package/sensor/dist/resolution/goframe-synthesizer.d.ts +1 -1
- package/sensor/dist/resolution/goframe-synthesizer.js +1 -1
- package/sensor/dist/resolution/index.d.ts +1 -1
- package/sensor/dist/resolution/index.js +9 -9
- package/sensor/dist/resolution/index.js.map +1 -1
- package/sensor/dist/resolution/name-matcher.js +2 -2
- package/sensor/dist/resolution/name-matcher.js.map +1 -1
- package/sensor/dist/resolution/resolver-pool.d.ts +2 -2
- package/sensor/dist/resolution/resolver-pool.js +4 -4
- package/sensor/dist/resolution/resolver-pool.js.map +1 -1
- package/sensor/dist/resolution/resolver-worker.js +2 -2
- package/sensor/dist/resolution/resolver-worker.js.map +1 -1
- package/sensor/dist/resolution/workspace-packages.js +1 -1
- package/sensor/dist/resolution/workspace-packages.js.map +1 -1
- package/sensor/dist/search/identifier-segments.d.ts +1 -1
- package/sensor/dist/search/identifier-segments.js +1 -1
- package/sensor/dist/search/query-utils.d.ts +1 -0
- package/sensor/dist/search/query-utils.d.ts.map +1 -1
- package/sensor/dist/search/query-utils.js +10 -3
- package/sensor/dist/search/query-utils.js.map +1 -1
- package/sensor/dist/sync/git-hooks.d.ts +9 -9
- package/sensor/dist/sync/git-hooks.d.ts.map +1 -1
- package/sensor/dist/sync/git-hooks.js +15 -15
- package/sensor/dist/sync/git-hooks.js.map +1 -1
- package/sensor/dist/sync/watch-policy.d.ts +2 -2
- package/sensor/dist/sync/watch-policy.js +5 -5
- package/sensor/dist/sync/watch-policy.js.map +1 -1
- package/sensor/dist/sync/watcher.d.ts +2 -2
- package/sensor/dist/sync/watcher.d.ts.map +1 -1
- package/sensor/dist/sync/watcher.js +16 -16
- package/sensor/dist/sync/watcher.js.map +1 -1
- package/sensor/dist/sync/worktree.d.ts +5 -5
- package/sensor/dist/sync/worktree.d.ts.map +1 -1
- package/sensor/dist/sync/worktree.js +9 -9
- package/sensor/dist/sync/worktree.js.map +1 -1
- package/sensor/dist/telemetry/index.d.ts +8 -8
- package/sensor/dist/telemetry/index.d.ts.map +1 -1
- package/sensor/dist/telemetry/index.js +16 -16
- package/sensor/dist/telemetry/index.js.map +1 -1
- package/sensor/dist/types.d.ts +2 -2
- package/sensor/dist/types.js +1 -1
- package/sensor/dist/ui/color.d.ts +2 -2
- package/sensor/dist/ui/color.js +2 -2
- package/sensor/dist/ui/glyphs.d.ts +3 -3
- package/sensor/dist/ui/glyphs.js +7 -7
- package/sensor/dist/ui/glyphs.js.map +1 -1
- package/sensor/dist/utils.d.ts +4 -4
- package/sensor/dist/utils.js +8 -8
- package/sensor/dist/utils.js.map +1 -1
- package/sensor/package.json +8 -13
- package/src/artifact-contracts.mjs +2 -2
- package/src/boundary-compiler.mjs +28 -28
- package/src/boundary-observation-compiler-v2.mjs +10 -10
- package/src/bounded-seam.mjs +144 -0
- package/src/bridge-cli.mjs +227 -0
- package/src/bridge-config.mjs +346 -0
- package/src/bridge-daemon.mjs +328 -0
- package/src/bridge-launch-agent.mjs +311 -0
- package/src/bridge-server.mjs +309 -0
- package/src/cli-help.mjs +163 -0
- package/src/control-compiler.mjs +30 -30
- package/src/dag-chain.mjs +261 -0
- package/src/factory-diagnostics.mjs +8 -7
- package/src/hash-chain.mjs +76 -0
- package/src/node-version-guard.mjs +5 -4
- package/src/project-cli.mjs +392 -0
- package/src/project-identity.mjs +71 -0
- package/src/rc1-evidence-bundle.mjs +16 -16
- package/src/rc1-v4-campaign.mjs +15 -14
- package/src/rc1-v5-artifact-set.mjs +2 -2
- package/src/rc1-v5-campaign.mjs +15 -14
- package/src/rc1-v6-artifact-set.mjs +18 -18
- package/src/rc1-v6-campaign.mjs +16 -16
- package/src/rc1-v6-causal-binding.mjs +16 -14
- package/src/rc1-v6-measurement.mjs +20 -38
- package/src/rc2-artifact-set.mjs +45 -40
- package/src/rc2-campaign.mjs +48 -66
- package/src/rc2-delivery-policy-front-end.mjs +30 -30
- package/src/rc2-rc1-transfer-front-end.mjs +5 -5
- package/src/rc3-actual-dogfood.mjs +6 -6
- package/src/rc3-dogfood-scaffold.mjs +12 -7
- package/src/rc3-scripted-campaign.mjs +75 -21
- package/src/rc4-stage1-dogfood.mjs +24 -7
- package/src/runtime-cli.mjs +2424 -45
- package/src/runtime-contracts.mjs +7 -7
- package/src/runtime-control-store.mjs +547 -0
- package/src/runtime-controller-protocol.mjs +517 -0
- package/src/runtime-direct-os-observer.mjs +284 -0
- package/src/runtime-engine.mjs +2 -2
- package/src/runtime-errors.mjs +1 -1
- package/src/runtime-event-store.mjs +15 -43
- package/src/runtime-front-end.mjs +26 -26
- package/src/runtime-gate-store.mjs +477 -0
- package/src/runtime-hold-recompile.mjs +214 -23
- package/src/runtime-lifecycle-lock.mjs +290 -0
- package/src/runtime-managed-supervisor.mjs +1276 -0
- package/src/runtime-multi-epoch-store.mjs +761 -0
- package/src/runtime-projection.mjs +62 -0
- package/src/seam-transform.mjs +38 -38
- package/src/{codegraph-adapter.mjs → sensor-adapter.mjs} +7 -7
- package/src/sensor-cli.mjs +107 -0
- package/src/sensor-runtime.mjs +48 -0
- package/src/timestamp-contract.mjs +8 -0
- package/src/todo-chain.mjs +178 -0
- package/src/todo-cli.mjs +1032 -0
- package/src/todo-contracts.mjs +501 -0
- package/src/todo-dashboard-registry.mjs +318 -0
- package/src/todo-gantt-html.mjs +416 -0
- package/src/todo-gantt-layout.mjs +603 -0
- package/src/todo-gantt-live.mjs +269 -0
- package/src/todo-gantt-presentation.mjs +217 -0
- package/src/todo-gantt-svg.mjs +249 -0
- package/src/todo-markdown-renderer.mjs +260 -0
- package/src/todo-migration.mjs +260 -0
- package/src/todo-narrative-anchor.mjs +130 -0
- package/src/todo-revision.mjs +425 -0
- package/src/todo-status.mjs +340 -0
- package/src/todo-store.mjs +3451 -0
- package/src/treatment-compiler.mjs +28 -28
- package/src/treatment-runner.mjs +42 -44
- package/sensor/dist/bin/codegraph.d.ts +0 -26
- package/sensor/dist/bin/codegraph.d.ts.map +0 -1
- package/sensor/dist/bin/codegraph.js.map +0 -1
- package/sensor/dist/bin/uninstall.d.ts +0 -14
- package/sensor/dist/bin/uninstall.d.ts.map +0 -1
- package/sensor/dist/bin/uninstall.js +0 -36
- package/sensor/dist/bin/uninstall.js.map +0 -1
- package/sensor/dist/installer/beta-signup.d.ts +0 -54
- package/sensor/dist/installer/beta-signup.d.ts.map +0 -1
- package/sensor/dist/installer/beta-signup.js +0 -178
- package/sensor/dist/installer/beta-signup.js.map +0 -1
- package/sensor/dist/installer/config-writer.d.ts +0 -28
- package/sensor/dist/installer/config-writer.d.ts.map +0 -1
- package/sensor/dist/installer/config-writer.js +0 -91
- package/sensor/dist/installer/config-writer.js.map +0 -1
- package/sensor/dist/installer/index.d.ts +0 -142
- package/sensor/dist/installer/index.d.ts.map +0 -1
- package/sensor/dist/installer/index.js +0 -622
- package/sensor/dist/installer/index.js.map +0 -1
- package/sensor/dist/installer/instructions-template.d.ts +0 -41
- package/sensor/dist/installer/instructions-template.d.ts.map +0 -1
- package/sensor/dist/installer/instructions-template.js +0 -53
- package/sensor/dist/installer/instructions-template.js.map +0 -1
- package/sensor/dist/installer/targets/antigravity.d.ts +0 -57
- package/sensor/dist/installer/targets/antigravity.d.ts.map +0 -1
- package/sensor/dist/installer/targets/antigravity.js +0 -308
- package/sensor/dist/installer/targets/antigravity.js.map +0 -1
- package/sensor/dist/installer/targets/claude.d.ts +0 -62
- package/sensor/dist/installer/targets/claude.d.ts.map +0 -1
- package/sensor/dist/installer/targets/claude.js +0 -454
- package/sensor/dist/installer/targets/claude.js.map +0 -1
- package/sensor/dist/installer/targets/codex.d.ts +0 -18
- package/sensor/dist/installer/targets/codex.d.ts.map +0 -1
- package/sensor/dist/installer/targets/codex.js +0 -185
- package/sensor/dist/installer/targets/codex.js.map +0 -1
- package/sensor/dist/installer/targets/cursor.d.ts +0 -35
- package/sensor/dist/installer/targets/cursor.d.ts.map +0 -1
- package/sensor/dist/installer/targets/cursor.js +0 -254
- package/sensor/dist/installer/targets/cursor.js.map +0 -1
- package/sensor/dist/installer/targets/gemini.d.ts +0 -26
- package/sensor/dist/installer/targets/gemini.d.ts.map +0 -1
- package/sensor/dist/installer/targets/gemini.js +0 -165
- package/sensor/dist/installer/targets/gemini.js.map +0 -1
- package/sensor/dist/installer/targets/hermes.d.ts +0 -18
- package/sensor/dist/installer/targets/hermes.d.ts.map +0 -1
- package/sensor/dist/installer/targets/hermes.js +0 -359
- package/sensor/dist/installer/targets/hermes.js.map +0 -1
- package/sensor/dist/installer/targets/kiro.d.ts +0 -27
- package/sensor/dist/installer/targets/kiro.d.ts.map +0 -1
- package/sensor/dist/installer/targets/kiro.js +0 -178
- package/sensor/dist/installer/targets/kiro.js.map +0 -1
- package/sensor/dist/installer/targets/opencode.d.ts +0 -38
- package/sensor/dist/installer/targets/opencode.d.ts.map +0 -1
- package/sensor/dist/installer/targets/opencode.js +0 -288
- package/sensor/dist/installer/targets/opencode.js.map +0 -1
- package/sensor/dist/installer/targets/registry.d.ts +0 -35
- package/sensor/dist/installer/targets/registry.d.ts.map +0 -1
- package/sensor/dist/installer/targets/registry.js +0 -91
- package/sensor/dist/installer/targets/registry.js.map +0 -1
- package/sensor/dist/installer/targets/shared.d.ts +0 -101
- package/sensor/dist/installer/targets/shared.d.ts.map +0 -1
- package/sensor/dist/installer/targets/shared.js +0 -264
- package/sensor/dist/installer/targets/shared.js.map +0 -1
- package/sensor/dist/installer/targets/toml.d.ts +0 -52
- package/sensor/dist/installer/targets/toml.d.ts.map +0 -1
- package/sensor/dist/installer/targets/toml.js +0 -147
- package/sensor/dist/installer/targets/toml.js.map +0 -1
- package/sensor/dist/installer/targets/types.d.ts +0 -108
- package/sensor/dist/installer/targets/types.d.ts.map +0 -1
- package/sensor/dist/installer/targets/types.js +0 -16
- package/sensor/dist/installer/targets/types.js.map +0 -1
- package/sensor/dist/upgrade/index.d.ts +0 -171
- package/sensor/dist/upgrade/index.d.ts.map +0 -1
- package/sensor/dist/upgrade/index.js +0 -659
- package/sensor/dist/upgrade/index.js.map +0 -1
- package/sensor/dist/upgrade/remove-binary.d.ts +0 -87
- package/sensor/dist/upgrade/remove-binary.d.ts.map +0 -1
- package/sensor/dist/upgrade/remove-binary.js +0 -289
- package/sensor/dist/upgrade/remove-binary.js.map +0 -1
- package/sensor/dist/upgrade/update-check.d.ts +0 -92
- package/sensor/dist/upgrade/update-check.d.ts.map +0 -1
- package/sensor/dist/upgrade/update-check.js +0 -258
- package/sensor/dist/upgrade/update-check.js.map +0 -1
- package/src/bootstrap.mjs +0 -88
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* OpenAI Codex CLI target.
|
|
4
|
-
*
|
|
5
|
-
* - MCP server entry to `~/.codex/config.toml` as the dotted-key
|
|
6
|
-
* table `[mcp_servers.codegraph]`. TOML — not JSON — handled by
|
|
7
|
-
* the narrow serializer in `./toml.ts`.
|
|
8
|
-
* - Instructions to `~/.codex/AGENTS.md`.
|
|
9
|
-
*
|
|
10
|
-
* Codex CLI as of 2026-05 has no project-local config concept —
|
|
11
|
-
* everything lives under `~/.codex/`. `supportsLocation('local')`
|
|
12
|
-
* returns false; the orchestrator skips Codex when the user picks
|
|
13
|
-
* the local install location.
|
|
14
|
-
*
|
|
15
|
-
* No permissions concept.
|
|
16
|
-
*/
|
|
17
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
-
if (k2 === undefined) k2 = k;
|
|
19
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
-
}
|
|
23
|
-
Object.defineProperty(o, k2, desc);
|
|
24
|
-
}) : (function(o, m, k, k2) {
|
|
25
|
-
if (k2 === undefined) k2 = k;
|
|
26
|
-
o[k2] = m[k];
|
|
27
|
-
}));
|
|
28
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
-
}) : function(o, v) {
|
|
31
|
-
o["default"] = v;
|
|
32
|
-
});
|
|
33
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
34
|
-
var ownKeys = function(o) {
|
|
35
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
36
|
-
var ar = [];
|
|
37
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
38
|
-
return ar;
|
|
39
|
-
};
|
|
40
|
-
return ownKeys(o);
|
|
41
|
-
};
|
|
42
|
-
return function (mod) {
|
|
43
|
-
if (mod && mod.__esModule) return mod;
|
|
44
|
-
var result = {};
|
|
45
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
46
|
-
__setModuleDefault(result, mod);
|
|
47
|
-
return result;
|
|
48
|
-
};
|
|
49
|
-
})();
|
|
50
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
-
exports.codexTarget = void 0;
|
|
52
|
-
const fs = __importStar(require("fs"));
|
|
53
|
-
const path = __importStar(require("path"));
|
|
54
|
-
const os = __importStar(require("os"));
|
|
55
|
-
const shared_1 = require("./shared");
|
|
56
|
-
const instructions_template_1 = require("../instructions-template");
|
|
57
|
-
const toml_1 = require("./toml");
|
|
58
|
-
const TOML_HEADER = 'mcp_servers.codegraph';
|
|
59
|
-
function configDir() {
|
|
60
|
-
return path.join(os.homedir(), '.codex');
|
|
61
|
-
}
|
|
62
|
-
function tomlConfigPath() {
|
|
63
|
-
return path.join(configDir(), 'config.toml');
|
|
64
|
-
}
|
|
65
|
-
function instructionsPath() {
|
|
66
|
-
return path.join(configDir(), 'AGENTS.md');
|
|
67
|
-
}
|
|
68
|
-
class CodexTarget {
|
|
69
|
-
id = 'codex';
|
|
70
|
-
displayName = 'Codex CLI';
|
|
71
|
-
docsUrl = 'https://github.com/openai/codex';
|
|
72
|
-
supportsLocation(loc) {
|
|
73
|
-
return loc === 'global';
|
|
74
|
-
}
|
|
75
|
-
detect(loc) {
|
|
76
|
-
if (loc !== 'global') {
|
|
77
|
-
return { installed: false, alreadyConfigured: false };
|
|
78
|
-
}
|
|
79
|
-
const tomlPath = tomlConfigPath();
|
|
80
|
-
let alreadyConfigured = false;
|
|
81
|
-
if (fs.existsSync(tomlPath)) {
|
|
82
|
-
try {
|
|
83
|
-
const content = fs.readFileSync(tomlPath, 'utf-8');
|
|
84
|
-
alreadyConfigured = content.includes(`[${TOML_HEADER}]`);
|
|
85
|
-
}
|
|
86
|
-
catch { /* ignore */ }
|
|
87
|
-
}
|
|
88
|
-
const installed = fs.existsSync(configDir());
|
|
89
|
-
return { installed, alreadyConfigured, configPath: tomlPath };
|
|
90
|
-
}
|
|
91
|
-
install(loc, _opts) {
|
|
92
|
-
if (loc !== 'global') {
|
|
93
|
-
return {
|
|
94
|
-
files: [],
|
|
95
|
-
notes: ['Codex CLI has no project-local config — re-run with --location=global to install.'],
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
const files = [];
|
|
99
|
-
files.push(writeMcpEntry());
|
|
100
|
-
// AGENTS.md gets the short marker-fenced CodeGraph block (#704):
|
|
101
|
-
// subagents and non-MCP harnesses read AGENTS.md but never the MCP
|
|
102
|
-
// initialize instructions. Upsert self-heals a stale pre-#529 block.
|
|
103
|
-
files.push((0, shared_1.upsertInstructionsEntry)(instructionsPath()));
|
|
104
|
-
return { files };
|
|
105
|
-
}
|
|
106
|
-
uninstall(loc) {
|
|
107
|
-
if (loc !== 'global')
|
|
108
|
-
return { files: [] };
|
|
109
|
-
const files = [];
|
|
110
|
-
const tomlPath = tomlConfigPath();
|
|
111
|
-
if (fs.existsSync(tomlPath)) {
|
|
112
|
-
const content = fs.readFileSync(tomlPath, 'utf-8');
|
|
113
|
-
const { content: nextContent, action } = (0, toml_1.removeTomlTable)(content, TOML_HEADER);
|
|
114
|
-
if (action === 'removed') {
|
|
115
|
-
if (nextContent.trim() === '') {
|
|
116
|
-
try {
|
|
117
|
-
fs.unlinkSync(tomlPath);
|
|
118
|
-
}
|
|
119
|
-
catch { /* ignore */ }
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
(0, shared_1.atomicWriteFileSync)(tomlPath, nextContent.trimEnd() + '\n');
|
|
123
|
-
}
|
|
124
|
-
files.push({ path: tomlPath, action: 'removed' });
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
files.push({ path: tomlPath, action: 'not-found' });
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
files.push({ path: tomlPath, action: 'not-found' });
|
|
132
|
-
}
|
|
133
|
-
files.push(removeInstructionsEntry());
|
|
134
|
-
return { files };
|
|
135
|
-
}
|
|
136
|
-
printConfig(loc) {
|
|
137
|
-
if (loc !== 'global') {
|
|
138
|
-
return '# Codex CLI has no project-local config — use --location=global.\n';
|
|
139
|
-
}
|
|
140
|
-
const block = buildCodegraphBlock();
|
|
141
|
-
return `# Add to ${tomlConfigPath()}\n\n${block}\n`;
|
|
142
|
-
}
|
|
143
|
-
describePaths(loc) {
|
|
144
|
-
if (loc !== 'global')
|
|
145
|
-
return [];
|
|
146
|
-
return [tomlConfigPath(), instructionsPath()];
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
function buildCodegraphBlock() {
|
|
150
|
-
const mcp = (0, shared_1.getMcpServerConfig)();
|
|
151
|
-
return (0, toml_1.buildTomlTable)(TOML_HEADER, {
|
|
152
|
-
command: mcp.command,
|
|
153
|
-
args: mcp.args,
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
function writeMcpEntry() {
|
|
157
|
-
const file = tomlConfigPath();
|
|
158
|
-
const dir = path.dirname(file);
|
|
159
|
-
if (!fs.existsSync(dir))
|
|
160
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
161
|
-
const block = buildCodegraphBlock();
|
|
162
|
-
// Single read — `existing === ''` derives both "is the file empty
|
|
163
|
-
// or absent" and "what was its content," avoiding a TOCTOU window
|
|
164
|
-
// between two `fs.existsSync` calls.
|
|
165
|
-
const existing = fs.existsSync(file) ? fs.readFileSync(file, 'utf-8') : '';
|
|
166
|
-
const created = existing.length === 0;
|
|
167
|
-
const { content: nextContent, action } = (0, toml_1.upsertTomlTable)(existing, TOML_HEADER, block);
|
|
168
|
-
if (action === 'unchanged') {
|
|
169
|
-
return { path: file, action: 'unchanged' };
|
|
170
|
-
}
|
|
171
|
-
(0, shared_1.atomicWriteFileSync)(file, nextContent);
|
|
172
|
-
return { path: file, action: created ? 'created' : 'updated' };
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Strip the marker-delimited CodeGraph block from `~/.codex/AGENTS.md`
|
|
176
|
-
* if a prior install wrote one. Used by both install (self-heal on
|
|
177
|
-
* upgrade) and uninstall — see issue #529.
|
|
178
|
-
*/
|
|
179
|
-
function removeInstructionsEntry() {
|
|
180
|
-
const file = instructionsPath();
|
|
181
|
-
const action = (0, shared_1.removeMarkedSection)(file, instructions_template_1.CODEGRAPH_SECTION_START, instructions_template_1.CODEGRAPH_SECTION_END);
|
|
182
|
-
return { path: file, action };
|
|
183
|
-
}
|
|
184
|
-
exports.codexTarget = new CodexTarget();
|
|
185
|
-
//# sourceMappingURL=codex.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/installer/targets/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cursor target.
|
|
3
|
-
*
|
|
4
|
-
* - MCP server entry to `~/.cursor/mcp.json` (global) or
|
|
5
|
-
* `./.cursor/mcp.json` (local). Same `{mcpServers: {...}}` shape
|
|
6
|
-
* as Claude.
|
|
7
|
-
* - Instructions to `./.cursor/rules/codegraph.mdc` (project-local
|
|
8
|
-
* ONLY). Cursor's rules system is a project-scoped surface;
|
|
9
|
-
* global cursor rules aren't a stable convention as of 2026-05.
|
|
10
|
-
* For `--location=global`, only mcp.json is written.
|
|
11
|
-
*
|
|
12
|
-
* ## Why we hardcode `--path` for Cursor
|
|
13
|
-
*
|
|
14
|
-
* Cursor launches MCP-server subprocesses with a working directory
|
|
15
|
-
* that ISN'T the workspace root AND doesn't pass `rootUri` /
|
|
16
|
-
* `workspaceFolders` in the MCP initialize call. The codegraph MCP
|
|
17
|
-
* server's `process.cwd()` fallback therefore misses the workspace's
|
|
18
|
-
* `.codegraph/` and reports "not initialized" on every tool call.
|
|
19
|
-
*
|
|
20
|
-
* So we inject `--path` into the args ourselves:
|
|
21
|
-
*
|
|
22
|
-
* - `local` install: absolute path (we know it at install time).
|
|
23
|
-
* - `global` install: `${workspaceFolder}` — Cursor expands this to
|
|
24
|
-
* the open workspace's root, giving us per-workspace behavior
|
|
25
|
-
* from a single global config.
|
|
26
|
-
*
|
|
27
|
-
* Codex and Claude do not need this — they launch MCP servers with
|
|
28
|
-
* `cwd = workspace` and pass `rootUri`, respectively.
|
|
29
|
-
*
|
|
30
|
-
* No permissions concept — Cursor doesn't have an auto-allow list
|
|
31
|
-
* the installer can populate. `autoAllow` is silently ignored.
|
|
32
|
-
*/
|
|
33
|
-
import { AgentTarget } from './types';
|
|
34
|
-
export declare const cursorTarget: AgentTarget;
|
|
35
|
-
//# sourceMappingURL=cursor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/installer/targets/cursor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAKH,OAAO,EACL,WAAW,EAKZ,MAAM,SAAS,CAAC;AA4MjB,eAAO,MAAM,YAAY,EAAE,WAAgC,CAAC"}
|
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Cursor target.
|
|
4
|
-
*
|
|
5
|
-
* - MCP server entry to `~/.cursor/mcp.json` (global) or
|
|
6
|
-
* `./.cursor/mcp.json` (local). Same `{mcpServers: {...}}` shape
|
|
7
|
-
* as Claude.
|
|
8
|
-
* - Instructions to `./.cursor/rules/codegraph.mdc` (project-local
|
|
9
|
-
* ONLY). Cursor's rules system is a project-scoped surface;
|
|
10
|
-
* global cursor rules aren't a stable convention as of 2026-05.
|
|
11
|
-
* For `--location=global`, only mcp.json is written.
|
|
12
|
-
*
|
|
13
|
-
* ## Why we hardcode `--path` for Cursor
|
|
14
|
-
*
|
|
15
|
-
* Cursor launches MCP-server subprocesses with a working directory
|
|
16
|
-
* that ISN'T the workspace root AND doesn't pass `rootUri` /
|
|
17
|
-
* `workspaceFolders` in the MCP initialize call. The codegraph MCP
|
|
18
|
-
* server's `process.cwd()` fallback therefore misses the workspace's
|
|
19
|
-
* `.codegraph/` and reports "not initialized" on every tool call.
|
|
20
|
-
*
|
|
21
|
-
* So we inject `--path` into the args ourselves:
|
|
22
|
-
*
|
|
23
|
-
* - `local` install: absolute path (we know it at install time).
|
|
24
|
-
* - `global` install: `${workspaceFolder}` — Cursor expands this to
|
|
25
|
-
* the open workspace's root, giving us per-workspace behavior
|
|
26
|
-
* from a single global config.
|
|
27
|
-
*
|
|
28
|
-
* Codex and Claude do not need this — they launch MCP servers with
|
|
29
|
-
* `cwd = workspace` and pass `rootUri`, respectively.
|
|
30
|
-
*
|
|
31
|
-
* No permissions concept — Cursor doesn't have an auto-allow list
|
|
32
|
-
* the installer can populate. `autoAllow` is silently ignored.
|
|
33
|
-
*/
|
|
34
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
35
|
-
if (k2 === undefined) k2 = k;
|
|
36
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
37
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
38
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
39
|
-
}
|
|
40
|
-
Object.defineProperty(o, k2, desc);
|
|
41
|
-
}) : (function(o, m, k, k2) {
|
|
42
|
-
if (k2 === undefined) k2 = k;
|
|
43
|
-
o[k2] = m[k];
|
|
44
|
-
}));
|
|
45
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
46
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
47
|
-
}) : function(o, v) {
|
|
48
|
-
o["default"] = v;
|
|
49
|
-
});
|
|
50
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
51
|
-
var ownKeys = function(o) {
|
|
52
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
53
|
-
var ar = [];
|
|
54
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
55
|
-
return ar;
|
|
56
|
-
};
|
|
57
|
-
return ownKeys(o);
|
|
58
|
-
};
|
|
59
|
-
return function (mod) {
|
|
60
|
-
if (mod && mod.__esModule) return mod;
|
|
61
|
-
var result = {};
|
|
62
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
63
|
-
__setModuleDefault(result, mod);
|
|
64
|
-
return result;
|
|
65
|
-
};
|
|
66
|
-
})();
|
|
67
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
68
|
-
exports.cursorTarget = void 0;
|
|
69
|
-
const fs = __importStar(require("fs"));
|
|
70
|
-
const path = __importStar(require("path"));
|
|
71
|
-
const os = __importStar(require("os"));
|
|
72
|
-
const shared_1 = require("./shared");
|
|
73
|
-
const instructions_template_1 = require("../instructions-template");
|
|
74
|
-
function mcpJsonPath(loc) {
|
|
75
|
-
return loc === 'global'
|
|
76
|
-
? path.join(os.homedir(), '.cursor', 'mcp.json')
|
|
77
|
-
: path.join(process.cwd(), '.cursor', 'mcp.json');
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Cursor "rules" file. Only meaningful for the project-local
|
|
81
|
-
* location — Cursor reads `.cursor/rules/*.mdc` from the workspace
|
|
82
|
-
* root. There is no global equivalent.
|
|
83
|
-
*/
|
|
84
|
-
function rulesPath() {
|
|
85
|
-
return path.join(process.cwd(), '.cursor', 'rules', 'codegraph.mdc');
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Cursor `.mdc` rules use YAML-ish frontmatter. `alwaysApply: true`
|
|
89
|
-
* makes the rule load on every conversation regardless of file
|
|
90
|
-
* patterns — appropriate for a tool-usage guide that's relevant
|
|
91
|
-
* whenever the user is asking the agent to navigate code.
|
|
92
|
-
*/
|
|
93
|
-
const MDC_FRONTMATTER = [
|
|
94
|
-
'---',
|
|
95
|
-
'description: CodeGraph MCP usage guide — when to use which tool',
|
|
96
|
-
'alwaysApply: true',
|
|
97
|
-
'---',
|
|
98
|
-
'',
|
|
99
|
-
].join('\n');
|
|
100
|
-
class CursorTarget {
|
|
101
|
-
id = 'cursor';
|
|
102
|
-
displayName = 'Cursor';
|
|
103
|
-
docsUrl = 'https://docs.cursor.com/context/model-context-protocol';
|
|
104
|
-
supportsLocation(_loc) {
|
|
105
|
-
// Both supported, but `local` writes more files (mcp.json + rules);
|
|
106
|
-
// `global` writes only mcp.json. The orchestrator surfaces the
|
|
107
|
-
// difference via describePaths.
|
|
108
|
-
return true;
|
|
109
|
-
}
|
|
110
|
-
detect(loc) {
|
|
111
|
-
const mcpPath = mcpJsonPath(loc);
|
|
112
|
-
const config = (0, shared_1.readJsonFile)(mcpPath);
|
|
113
|
-
const alreadyConfigured = !!config.mcpServers?.codegraph;
|
|
114
|
-
// "Installed" heuristic: does ~/.cursor exist (global) or has the
|
|
115
|
-
// user opted into a project-local cursor config dir?
|
|
116
|
-
const installed = loc === 'global'
|
|
117
|
-
? fs.existsSync(path.join(os.homedir(), '.cursor'))
|
|
118
|
-
: fs.existsSync(path.join(process.cwd(), '.cursor'));
|
|
119
|
-
return { installed, alreadyConfigured, configPath: mcpPath };
|
|
120
|
-
}
|
|
121
|
-
install(loc, _opts) {
|
|
122
|
-
const files = [];
|
|
123
|
-
files.push(writeMcpEntry(loc));
|
|
124
|
-
// We no longer write `.cursor/rules/codegraph.mdc` — the codegraph
|
|
125
|
-
// usage guidance ships in the MCP server's `initialize` response,
|
|
126
|
-
// the single source of truth (issue #529). Strip a rules file a
|
|
127
|
-
// previous install created so an upgrade self-heals.
|
|
128
|
-
if (loc === 'local') {
|
|
129
|
-
const rulesCleanup = removeRulesEntry();
|
|
130
|
-
if (rulesCleanup.action === 'removed')
|
|
131
|
-
files.push(rulesCleanup);
|
|
132
|
-
}
|
|
133
|
-
return {
|
|
134
|
-
files,
|
|
135
|
-
notes: ['Restart Cursor for MCP changes to take effect.'],
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
uninstall(loc) {
|
|
139
|
-
const files = [];
|
|
140
|
-
const mcpPath = mcpJsonPath(loc);
|
|
141
|
-
const config = (0, shared_1.readJsonFile)(mcpPath);
|
|
142
|
-
if (config.mcpServers?.codegraph) {
|
|
143
|
-
delete config.mcpServers.codegraph;
|
|
144
|
-
if (Object.keys(config.mcpServers).length === 0) {
|
|
145
|
-
delete config.mcpServers;
|
|
146
|
-
}
|
|
147
|
-
(0, shared_1.writeJsonFile)(mcpPath, config);
|
|
148
|
-
files.push({ path: mcpPath, action: 'removed' });
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
files.push({ path: mcpPath, action: 'not-found' });
|
|
152
|
-
}
|
|
153
|
-
if (loc === 'local') {
|
|
154
|
-
files.push(removeRulesEntry());
|
|
155
|
-
}
|
|
156
|
-
return { files };
|
|
157
|
-
}
|
|
158
|
-
printConfig(loc) {
|
|
159
|
-
const target = mcpJsonPath(loc);
|
|
160
|
-
const snippet = JSON.stringify({ mcpServers: { codegraph: buildCursorMcpConfig(loc) } }, null, 2);
|
|
161
|
-
return `# Add to ${target}\n\n${snippet}\n`;
|
|
162
|
-
}
|
|
163
|
-
describePaths(loc) {
|
|
164
|
-
return loc === 'local'
|
|
165
|
-
? [mcpJsonPath(loc), rulesPath()]
|
|
166
|
-
: [mcpJsonPath(loc)];
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Build the codegraph MCP-server config for Cursor at the given
|
|
171
|
-
* location. Inherits the shared shape ({type, command, args}) and
|
|
172
|
-
* appends `--path` so the spawned MCP server resolves the workspace
|
|
173
|
-
* correctly regardless of Cursor's launch cwd. See file header for
|
|
174
|
-
* the full rationale.
|
|
175
|
-
*/
|
|
176
|
-
function buildCursorMcpConfig(loc) {
|
|
177
|
-
const base = (0, shared_1.getMcpServerConfig)();
|
|
178
|
-
const pathArg = loc === 'local' ? process.cwd() : '${workspaceFolder}';
|
|
179
|
-
return { ...base, args: [...base.args, '--path', pathArg] };
|
|
180
|
-
}
|
|
181
|
-
function writeMcpEntry(loc) {
|
|
182
|
-
const file = mcpJsonPath(loc);
|
|
183
|
-
const existing = (0, shared_1.readJsonFile)(file);
|
|
184
|
-
const before = existing.mcpServers?.codegraph;
|
|
185
|
-
const after = buildCursorMcpConfig(loc);
|
|
186
|
-
if ((0, shared_1.jsonDeepEqual)(before, after)) {
|
|
187
|
-
return { path: file, action: 'unchanged' };
|
|
188
|
-
}
|
|
189
|
-
const action = before ? 'updated' : (fs.existsSync(file) ? 'updated' : 'created');
|
|
190
|
-
if (!existing.mcpServers)
|
|
191
|
-
existing.mcpServers = {};
|
|
192
|
-
existing.mcpServers.codegraph = after;
|
|
193
|
-
(0, shared_1.writeJsonFile)(file, existing);
|
|
194
|
-
return { path: file, action };
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Remove the Cursor rules file on uninstall (and as a self-heal on
|
|
198
|
-
* install — see issue #529).
|
|
199
|
-
*
|
|
200
|
-
* Unlike the shared CLAUDE.md / AGENTS.md files (where codegraph owns
|
|
201
|
-
* only a marker-delimited section), `.cursor/rules/codegraph.mdc` is a
|
|
202
|
-
* file we create OUTRIGHT — the frontmatter is ours too. So a plain
|
|
203
|
-
* `removeMarkedSection` is wrong here: it would strip our instruction
|
|
204
|
-
* block but leave the orphaned `description: CodeGraph ...` frontmatter
|
|
205
|
-
* behind, so the file lingers and still "mentions" codegraph.
|
|
206
|
-
*
|
|
207
|
-
* Instead: strip our block, and if nothing but our own frontmatter
|
|
208
|
-
* remains, delete the whole file. Only when the user has added their
|
|
209
|
-
* own content outside our markers do we keep the file (minus our block).
|
|
210
|
-
*/
|
|
211
|
-
function removeRulesEntry() {
|
|
212
|
-
const file = rulesPath();
|
|
213
|
-
if (!fs.existsSync(file))
|
|
214
|
-
return { path: file, action: 'not-found' };
|
|
215
|
-
let content;
|
|
216
|
-
try {
|
|
217
|
-
content = fs.readFileSync(file, 'utf-8');
|
|
218
|
-
}
|
|
219
|
-
catch {
|
|
220
|
-
return { path: file, action: 'not-found' };
|
|
221
|
-
}
|
|
222
|
-
const ourFrontmatter = MDC_FRONTMATTER.trim();
|
|
223
|
-
const startIdx = content.indexOf(instructions_template_1.CODEGRAPH_SECTION_START);
|
|
224
|
-
const endIdx = content.indexOf(instructions_template_1.CODEGRAPH_SECTION_END);
|
|
225
|
-
// Our marked block is present — strip it, then decide what's left.
|
|
226
|
-
if (startIdx !== -1 && endIdx > startIdx) {
|
|
227
|
-
const before = content.substring(0, startIdx).trimEnd();
|
|
228
|
-
const after = content.substring(endIdx + instructions_template_1.CODEGRAPH_SECTION_END.length).trimStart();
|
|
229
|
-
const remainder = (before + (before && after ? '\n\n' : '') + after).trim();
|
|
230
|
-
if (remainder === '' || remainder === ourFrontmatter) {
|
|
231
|
-
try {
|
|
232
|
-
fs.unlinkSync(file);
|
|
233
|
-
}
|
|
234
|
-
catch { /* ignore */ }
|
|
235
|
-
}
|
|
236
|
-
else {
|
|
237
|
-
(0, shared_1.atomicWriteFileSync)(file, remainder + '\n');
|
|
238
|
-
}
|
|
239
|
-
return { path: file, action: 'removed' };
|
|
240
|
-
}
|
|
241
|
-
// No block, but the file is still our pristine frontmatter-only file
|
|
242
|
-
// — it's ours, so remove it.
|
|
243
|
-
if (content.trim() === ourFrontmatter) {
|
|
244
|
-
try {
|
|
245
|
-
fs.unlinkSync(file);
|
|
246
|
-
}
|
|
247
|
-
catch { /* ignore */ }
|
|
248
|
-
return { path: file, action: 'removed' };
|
|
249
|
-
}
|
|
250
|
-
// Foreign content we don't recognize — leave it alone.
|
|
251
|
-
return { path: file, action: 'not-found' };
|
|
252
|
-
}
|
|
253
|
-
exports.cursorTarget = new CursorTarget();
|
|
254
|
-
//# sourceMappingURL=cursor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/installer/targets/cursor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gemini CLI target (also covers the rebranded "Antigravity CLI" —
|
|
3
|
-
* Google is in the middle of unifying its CLI tools under
|
|
4
|
-
* Antigravity, and the new CLI continues to read `~/.gemini/settings.json`
|
|
5
|
-
* + project-local `.gemini/settings.json`). Writes:
|
|
6
|
-
*
|
|
7
|
-
* - MCP server entry to `~/.gemini/settings.json` (global) or
|
|
8
|
-
* `./.gemini/settings.json` (local) under the standard
|
|
9
|
-
* `mcpServers.codegraph` key. Same shape as Claude / Cursor.
|
|
10
|
-
* - Instructions to `~/.gemini/GEMINI.md` (global) or `./GEMINI.md`
|
|
11
|
-
* (local — Gemini reads the project root file directly, not
|
|
12
|
-
* under `.gemini/`).
|
|
13
|
-
*
|
|
14
|
-
* No permissions concept — Gemini CLI gates tool invocations through
|
|
15
|
-
* the `trust` field per server, not an external allowlist. We leave
|
|
16
|
-
* `trust` unset so the user controls confirmation prompts.
|
|
17
|
-
*
|
|
18
|
-
* The Antigravity IDE shares `~/.gemini/GEMINI.md` for instructions
|
|
19
|
-
* but uses a separate MCP config file (`~/.gemini/antigravity/mcp_config.json`)
|
|
20
|
-
* — see `./antigravity.ts`. Both targets writing to GEMINI.md is
|
|
21
|
-
* safe: the marker-based section replacement makes the second write
|
|
22
|
-
* a byte-identical no-op.
|
|
23
|
-
*/
|
|
24
|
-
import { AgentTarget } from './types';
|
|
25
|
-
export declare const geminiTarget: AgentTarget;
|
|
26
|
-
//# sourceMappingURL=gemini.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/installer/targets/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH,OAAO,EACL,WAAW,EAKZ,MAAM,SAAS,CAAC;AAgIjB,eAAO,MAAM,YAAY,EAAE,WAAgC,CAAC"}
|