@aligndottech/cli 0.49.0 → 0.50.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/README.md +4 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +26 -8
- package/dist/cli.js.map +1 -1
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +4 -1
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +18 -2
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/connect.d.ts +5 -0
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +24 -0
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/import/confluence.d.ts.map +1 -1
- package/dist/commands/import/confluence.js +24 -5
- package/dist/commands/import/confluence.js.map +1 -1
- package/dist/commands/import/docs.js +2 -2
- package/dist/commands/import/git.d.ts.map +1 -1
- package/dist/commands/import/git.js +15 -5
- package/dist/commands/import/git.js.map +1 -1
- package/dist/commands/import/github.d.ts.map +1 -1
- package/dist/commands/import/github.js +34 -7
- package/dist/commands/import/github.js.map +1 -1
- package/dist/commands/import/gitlab.d.ts.map +1 -1
- package/dist/commands/import/gitlab.js +10 -5
- package/dist/commands/import/gitlab.js.map +1 -1
- package/dist/commands/import/jira.d.ts.map +1 -1
- package/dist/commands/import/jira.js +10 -5
- package/dist/commands/import/jira.js.map +1 -1
- package/dist/commands/import/linear.d.ts.map +1 -1
- package/dist/commands/import/linear.js +10 -5
- package/dist/commands/import/linear.js.map +1 -1
- package/dist/commands/import/notion.d.ts.map +1 -1
- package/dist/commands/import/notion.js +10 -5
- package/dist/commands/import/notion.js.map +1 -1
- package/dist/commands/import/sessions.js +2 -2
- package/dist/commands/import/slack.d.ts.map +1 -1
- package/dist/commands/import/slack.js +12 -7
- package/dist/commands/import/slack.js.map +1 -1
- package/dist/commands/import/teams.d.ts.map +1 -1
- package/dist/commands/import/teams.js +10 -5
- package/dist/commands/import/teams.js.map +1 -1
- package/dist/commands/import/zoom.d.ts.map +1 -1
- package/dist/commands/import/zoom.js +10 -5
- package/dist/commands/import/zoom.js.map +1 -1
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +43 -1
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/local.d.ts.map +1 -1
- package/dist/commands/local.js +76 -4
- package/dist/commands/local.js.map +1 -1
- package/dist/commands/mark.d.ts +37 -0
- package/dist/commands/mark.d.ts.map +1 -0
- package/dist/commands/mark.js +105 -0
- package/dist/commands/mark.js.map +1 -0
- package/dist/commands/mcp.d.ts +141 -2
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +72 -14
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/registry.d.ts.map +1 -1
- package/dist/commands/registry.js +8 -2
- package/dist/commands/registry.js.map +1 -1
- package/dist/commands/setup.d.ts +39 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +65 -50
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/share.d.ts +7 -0
- package/dist/commands/share.d.ts.map +1 -0
- package/dist/commands/share.js +60 -0
- package/dist/commands/share.js.map +1 -0
- package/dist/commands/sync.d.ts +55 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +278 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/telemetry.d.ts +3 -3
- package/dist/commands/telemetry.js +6 -6
- package/dist/commands/telemetry.js.map +1 -1
- package/dist/commands/why.d.ts.map +1 -1
- package/dist/commands/why.js +6 -1
- package/dist/commands/why.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/backfill-state.d.ts +116 -0
- package/dist/lib/backfill-state.d.ts.map +1 -0
- package/dist/lib/backfill-state.js +342 -0
- package/dist/lib/backfill-state.js.map +1 -0
- package/dist/lib/backup-copy.d.ts +17 -0
- package/dist/lib/backup-copy.d.ts.map +1 -0
- package/dist/lib/backup-copy.js +13 -0
- package/dist/lib/backup-copy.js.map +1 -0
- package/dist/lib/capture-report.d.ts +22 -18
- package/dist/lib/capture-report.d.ts.map +1 -1
- package/dist/lib/capture-report.js +64 -2
- package/dist/lib/capture-report.js.map +1 -1
- package/dist/lib/config.d.ts +31 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +139 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/confirm-timeout.d.ts +8 -0
- package/dist/lib/confirm-timeout.d.ts.map +1 -0
- package/dist/lib/confirm-timeout.js +18 -0
- package/dist/lib/confirm-timeout.js.map +1 -0
- package/dist/lib/curation/check-marks.d.ts +48 -0
- package/dist/lib/curation/check-marks.d.ts.map +1 -0
- package/dist/lib/curation/check-marks.js +81 -0
- package/dist/lib/curation/check-marks.js.map +1 -0
- package/dist/lib/curation/guardrail.d.ts +39 -0
- package/dist/lib/curation/guardrail.d.ts.map +1 -0
- package/dist/lib/curation/guardrail.js +93 -0
- package/dist/lib/curation/guardrail.js.map +1 -0
- package/dist/lib/curation/judge.d.ts +3 -0
- package/dist/lib/curation/judge.d.ts.map +1 -0
- package/dist/lib/curation/judge.js +9 -0
- package/dist/lib/curation/judge.js.map +1 -0
- package/dist/lib/curation/judgements-db.d.ts +96 -0
- package/dist/lib/curation/judgements-db.d.ts.map +1 -0
- package/dist/lib/curation/judgements-db.js +200 -0
- package/dist/lib/curation/judgements-db.js.map +1 -0
- package/dist/lib/curation/last-check.d.ts +32 -0
- package/dist/lib/curation/last-check.d.ts.map +1 -0
- package/dist/lib/curation/last-check.js +81 -0
- package/dist/lib/curation/last-check.js.map +1 -0
- package/dist/lib/curation/mark.d.ts +76 -0
- package/dist/lib/curation/mark.d.ts.map +1 -0
- package/dist/lib/curation/mark.js +359 -0
- package/dist/lib/curation/mark.js.map +1 -0
- package/dist/lib/curation/text.d.ts +6 -0
- package/dist/lib/curation/text.d.ts.map +1 -0
- package/dist/lib/curation/text.js +35 -0
- package/dist/lib/curation/text.js.map +1 -0
- package/dist/lib/fetchers/capture.d.ts +49 -2
- package/dist/lib/fetchers/capture.d.ts.map +1 -1
- package/dist/lib/fetchers/capture.js +7 -1
- package/dist/lib/fetchers/capture.js.map +1 -1
- package/dist/lib/fetchers/confluence.d.ts +2 -2
- package/dist/lib/fetchers/confluence.d.ts.map +1 -1
- package/dist/lib/fetchers/confluence.js.map +1 -1
- package/dist/lib/fetchers/git.d.ts +1 -0
- package/dist/lib/fetchers/git.d.ts.map +1 -1
- package/dist/lib/fetchers/git.js +3 -1
- package/dist/lib/fetchers/git.js.map +1 -1
- package/dist/lib/fetchers/github.d.ts +44 -5
- package/dist/lib/fetchers/github.d.ts.map +1 -1
- package/dist/lib/fetchers/github.js +122 -5
- package/dist/lib/fetchers/github.js.map +1 -1
- package/dist/lib/fetchers/gitlab.d.ts +2 -2
- package/dist/lib/fetchers/gitlab.d.ts.map +1 -1
- package/dist/lib/fetchers/gitlab.js.map +1 -1
- package/dist/lib/fetchers/jira.d.ts +2 -2
- package/dist/lib/fetchers/jira.d.ts.map +1 -1
- package/dist/lib/fetchers/jira.js.map +1 -1
- package/dist/lib/fetchers/linear.d.ts +2 -2
- package/dist/lib/fetchers/linear.d.ts.map +1 -1
- package/dist/lib/fetchers/linear.js.map +1 -1
- package/dist/lib/fetchers/notion.d.ts +2 -2
- package/dist/lib/fetchers/notion.d.ts.map +1 -1
- package/dist/lib/fetchers/notion.js.map +1 -1
- package/dist/lib/fetchers/slack.d.ts +2 -3
- package/dist/lib/fetchers/slack.d.ts.map +1 -1
- package/dist/lib/fetchers/slack.js.map +1 -1
- package/dist/lib/fetchers/teams.d.ts +2 -2
- package/dist/lib/fetchers/teams.d.ts.map +1 -1
- package/dist/lib/fetchers/teams.js.map +1 -1
- package/dist/lib/fetchers/zoom.d.ts +2 -2
- package/dist/lib/fetchers/zoom.d.ts.map +1 -1
- package/dist/lib/fetchers/zoom.js.map +1 -1
- package/dist/lib/gateway-client.d.ts +34 -0
- package/dist/lib/gateway-client.d.ts.map +1 -1
- package/dist/lib/gateway-client.js +19 -1
- package/dist/lib/gateway-client.js.map +1 -1
- package/dist/lib/github-text.d.ts +3 -0
- package/dist/lib/github-text.d.ts.map +1 -0
- package/dist/lib/github-text.js +18 -0
- package/dist/lib/github-text.js.map +1 -0
- package/dist/lib/hook-context.d.ts +10 -0
- package/dist/lib/hook-context.d.ts.map +1 -1
- package/dist/lib/hook-context.js +14 -0
- package/dist/lib/hook-context.js.map +1 -1
- package/dist/lib/import-defaults.d.ts +39 -23
- package/dist/lib/import-defaults.d.ts.map +1 -1
- package/dist/lib/import-defaults.js +28 -26
- package/dist/lib/import-defaults.js.map +1 -1
- package/dist/lib/launch/adapters/aider.d.ts +17 -0
- package/dist/lib/launch/adapters/aider.d.ts.map +1 -0
- package/dist/lib/launch/adapters/aider.js +30 -0
- package/dist/lib/launch/adapters/aider.js.map +1 -0
- package/dist/lib/launch/adapters/auggie.d.ts +18 -0
- package/dist/lib/launch/adapters/auggie.d.ts.map +1 -0
- package/dist/lib/launch/adapters/auggie.js +34 -0
- package/dist/lib/launch/adapters/auggie.js.map +1 -0
- package/dist/lib/launch/adapters/cline.d.ts +10 -0
- package/dist/lib/launch/adapters/cline.d.ts.map +1 -0
- package/dist/lib/launch/adapters/cline.js +41 -0
- package/dist/lib/launch/adapters/cline.js.map +1 -0
- package/dist/lib/launch/adapters/continue.d.ts +22 -0
- package/dist/lib/launch/adapters/continue.d.ts.map +1 -0
- package/dist/lib/launch/adapters/continue.js +46 -0
- package/dist/lib/launch/adapters/continue.js.map +1 -0
- package/dist/lib/launch/adapters/gemini-cli.d.ts +13 -14
- package/dist/lib/launch/adapters/gemini-cli.d.ts.map +1 -1
- package/dist/lib/launch/adapters/gemini-cli.js +38 -53
- package/dist/lib/launch/adapters/gemini-cli.js.map +1 -1
- package/dist/lib/launch/adapters/goose.d.ts +20 -0
- package/dist/lib/launch/adapters/goose.d.ts.map +1 -0
- package/dist/lib/launch/adapters/goose.js +47 -0
- package/dist/lib/launch/adapters/goose.js.map +1 -0
- package/dist/lib/launch/adapters/notes.d.ts +7 -0
- package/dist/lib/launch/adapters/notes.d.ts.map +1 -0
- package/dist/lib/launch/adapters/notes.js +5 -0
- package/dist/lib/launch/adapters/notes.js.map +1 -0
- package/dist/lib/launch/agents.d.ts +2 -0
- package/dist/lib/launch/agents.d.ts.map +1 -1
- package/dist/lib/launch/agents.js +3 -1
- package/dist/lib/launch/agents.js.map +1 -1
- package/dist/lib/launch/auggie-state.d.ts +25 -0
- package/dist/lib/launch/auggie-state.d.ts.map +1 -0
- package/dist/lib/launch/auggie-state.js +74 -0
- package/dist/lib/launch/auggie-state.js.map +1 -0
- package/dist/lib/launch/cline-state.d.ts +32 -0
- package/dist/lib/launch/cline-state.d.ts.map +1 -0
- package/dist/lib/launch/cline-state.js +108 -0
- package/dist/lib/launch/cline-state.js.map +1 -0
- package/dist/lib/launch/config-writes.d.ts +4 -0
- package/dist/lib/launch/config-writes.d.ts.map +1 -1
- package/dist/lib/launch/config-writes.js +8 -3
- package/dist/lib/launch/config-writes.js.map +1 -1
- package/dist/lib/launch/continue-state.d.ts +41 -0
- package/dist/lib/launch/continue-state.d.ts.map +1 -0
- package/dist/lib/launch/continue-state.js +142 -0
- package/dist/lib/launch/continue-state.js.map +1 -0
- package/dist/lib/launch/detect.d.ts.map +1 -1
- package/dist/lib/launch/detect.js +3 -1
- package/dist/lib/launch/detect.js.map +1 -1
- package/dist/lib/launch/gemini-state.d.ts +26 -20
- package/dist/lib/launch/gemini-state.d.ts.map +1 -1
- package/dist/lib/launch/gemini-state.js +95 -37
- package/dist/lib/launch/gemini-state.js.map +1 -1
- package/dist/lib/launch/gemini-system-file.d.ts +17 -0
- package/dist/lib/launch/gemini-system-file.d.ts.map +1 -0
- package/dist/lib/launch/gemini-system-file.js +55 -0
- package/dist/lib/launch/gemini-system-file.js.map +1 -0
- package/dist/lib/launch/gemini-trust.d.ts +3 -1
- package/dist/lib/launch/gemini-trust.d.ts.map +1 -1
- package/dist/lib/launch/gemini-trust.js +10 -3
- package/dist/lib/launch/gemini-trust.js.map +1 -1
- package/dist/lib/launch/goose-state.d.ts +53 -0
- package/dist/lib/launch/goose-state.d.ts.map +1 -0
- package/dist/lib/launch/goose-state.js +137 -0
- package/dist/lib/launch/goose-state.js.map +1 -0
- package/dist/lib/launch/launch-files.d.ts.map +1 -1
- package/dist/lib/launch/launch-files.js +3 -2
- package/dist/lib/launch/launch-files.js.map +1 -1
- package/dist/lib/launch/launch.d.ts +17 -2
- package/dist/lib/launch/launch.d.ts.map +1 -1
- package/dist/lib/launch/launch.js +36 -3
- package/dist/lib/launch/launch.js.map +1 -1
- package/dist/lib/launch/mcp-child-env.d.ts +30 -0
- package/dist/lib/launch/mcp-child-env.d.ts.map +1 -0
- package/dist/lib/launch/mcp-child-env.js +151 -0
- package/dist/lib/launch/mcp-child-env.js.map +1 -0
- package/dist/lib/launch/pick-agent.d.ts.map +1 -1
- package/dist/lib/launch/pick-agent.js +4 -4
- package/dist/lib/launch/pick-agent.js.map +1 -1
- package/dist/lib/launch/picker-options.d.ts.map +1 -1
- package/dist/lib/launch/picker-options.js +7 -2
- package/dist/lib/launch/picker-options.js.map +1 -1
- package/dist/lib/launch/registry/agents/aider.d.ts +3 -0
- package/dist/lib/launch/registry/agents/aider.d.ts.map +1 -0
- package/dist/lib/launch/registry/agents/aider.js +13 -0
- package/dist/lib/launch/registry/agents/aider.js.map +1 -0
- package/dist/lib/launch/registry/agents/auggie.d.ts +3 -0
- package/dist/lib/launch/registry/agents/auggie.d.ts.map +1 -0
- package/dist/lib/launch/registry/agents/auggie.js +11 -0
- package/dist/lib/launch/registry/agents/auggie.js.map +1 -0
- package/dist/lib/launch/registry/agents/cline.d.ts +3 -0
- package/dist/lib/launch/registry/agents/cline.d.ts.map +1 -0
- package/dist/lib/launch/registry/agents/cline.js +19 -0
- package/dist/lib/launch/registry/agents/cline.js.map +1 -0
- package/dist/lib/launch/registry/agents/continue.d.ts +3 -0
- package/dist/lib/launch/registry/agents/continue.d.ts.map +1 -0
- package/dist/lib/launch/registry/agents/continue.js +20 -0
- package/dist/lib/launch/registry/agents/continue.js.map +1 -0
- package/dist/lib/launch/registry/agents/gemini-cli.js +2 -2
- package/dist/lib/launch/registry/agents/gemini-cli.js.map +1 -1
- package/dist/lib/launch/registry/agents/goose.d.ts +3 -0
- package/dist/lib/launch/registry/agents/goose.d.ts.map +1 -0
- package/dist/lib/launch/registry/agents/goose.js +20 -0
- package/dist/lib/launch/registry/agents/goose.js.map +1 -0
- package/dist/lib/launch/registry/index.d.ts +1 -1
- package/dist/lib/launch/registry/index.d.ts.map +1 -1
- package/dist/lib/launch/registry/index.js +7 -2
- package/dist/lib/launch/registry/index.js.map +1 -1
- package/dist/lib/launch/registry/types.d.ts +12 -1
- package/dist/lib/launch/registry/types.d.ts.map +1 -1
- package/dist/lib/launch/strict-entry.d.ts +22 -2
- package/dist/lib/launch/strict-entry.d.ts.map +1 -1
- package/dist/lib/launch/strict-entry.js +80 -2
- package/dist/lib/launch/strict-entry.js.map +1 -1
- package/dist/lib/launch/yaml-scan.d.ts +59 -0
- package/dist/lib/launch/yaml-scan.d.ts.map +1 -0
- package/dist/lib/launch/yaml-scan.js +275 -0
- package/dist/lib/launch/yaml-scan.js.map +1 -0
- package/dist/lib/local-db-epoch.d.ts +4 -0
- package/dist/lib/local-db-epoch.d.ts.map +1 -0
- package/dist/lib/local-db-epoch.js +19 -0
- package/dist/lib/local-db-epoch.js.map +1 -0
- package/dist/lib/local-db-migrate.d.ts +85 -0
- package/dist/lib/local-db-migrate.d.ts.map +1 -0
- package/dist/lib/local-db-migrate.js +484 -0
- package/dist/lib/local-db-migrate.js.map +1 -0
- package/dist/lib/local-db-v10.d.ts +28 -0
- package/dist/lib/local-db-v10.d.ts.map +1 -0
- package/dist/lib/local-db-v10.js +49 -0
- package/dist/lib/local-db-v10.js.map +1 -0
- package/dist/lib/local-db-v11.d.ts +24 -0
- package/dist/lib/local-db-v11.d.ts.map +1 -0
- package/dist/lib/local-db-v11.js +25 -0
- package/dist/lib/local-db-v11.js.map +1 -0
- package/dist/lib/local-db-v7.d.ts +30 -0
- package/dist/lib/local-db-v7.d.ts.map +1 -0
- package/dist/lib/local-db-v7.js +285 -0
- package/dist/lib/local-db-v7.js.map +1 -0
- package/dist/lib/local-db-v8.d.ts +22 -0
- package/dist/lib/local-db-v8.d.ts.map +1 -0
- package/dist/lib/local-db-v8.js +33 -0
- package/dist/lib/local-db-v8.js.map +1 -0
- package/dist/lib/local-db-v9.d.ts +10 -0
- package/dist/lib/local-db-v9.d.ts.map +1 -0
- package/dist/lib/local-db-v9.js +8 -0
- package/dist/lib/local-db-v9.js.map +1 -0
- package/dist/lib/local-db.d.ts +61 -11
- package/dist/lib/local-db.d.ts.map +1 -1
- package/dist/lib/local-db.js +186 -371
- package/dist/lib/local-db.js.map +1 -1
- package/dist/lib/local-embeddings.d.ts.map +1 -1
- package/dist/lib/local-embeddings.js +2 -2
- package/dist/lib/local-embeddings.js.map +1 -1
- package/dist/lib/local-gateway-client.d.ts +30 -87
- package/dist/lib/local-gateway-client.d.ts.map +1 -1
- package/dist/lib/local-gateway-client.js +182 -171
- package/dist/lib/local-gateway-client.js.map +1 -1
- package/dist/lib/local-ingest.d.ts +129 -0
- package/dist/lib/local-ingest.d.ts.map +1 -0
- package/dist/lib/local-ingest.js +81 -0
- package/dist/lib/local-ingest.js.map +1 -0
- package/dist/lib/local-link-pass.d.ts +15 -0
- package/dist/lib/local-link-pass.d.ts.map +1 -0
- package/dist/lib/local-link-pass.js +61 -0
- package/dist/lib/local-link-pass.js.map +1 -0
- package/dist/lib/local-mode.d.ts +4 -1
- package/dist/lib/local-mode.d.ts.map +1 -1
- package/dist/lib/local-mode.js +16 -1
- package/dist/lib/local-mode.js.map +1 -1
- package/dist/lib/local-provenance.d.ts +14 -0
- package/dist/lib/local-provenance.d.ts.map +1 -0
- package/dist/lib/local-provenance.js +14 -0
- package/dist/lib/local-provenance.js.map +1 -0
- package/dist/lib/local-thresholds.d.ts +70 -0
- package/dist/lib/local-thresholds.d.ts.map +1 -0
- package/dist/lib/local-thresholds.js +79 -0
- package/dist/lib/local-thresholds.js.map +1 -0
- package/dist/lib/mcp/mark-tool.d.ts +27 -0
- package/dist/lib/mcp/mark-tool.d.ts.map +1 -0
- package/dist/lib/mcp/mark-tool.js +103 -0
- package/dist/lib/mcp/mark-tool.js.map +1 -0
- package/dist/lib/mcp/share-tool.d.ts +46 -0
- package/dist/lib/mcp/share-tool.d.ts.map +1 -0
- package/dist/lib/mcp/share-tool.js +68 -0
- package/dist/lib/mcp/share-tool.js.map +1 -0
- package/dist/lib/mcp/tool-rules.d.ts +30 -0
- package/dist/lib/mcp/tool-rules.d.ts.map +1 -0
- package/dist/lib/mcp/tool-rules.js +84 -0
- package/dist/lib/mcp/tool-rules.js.map +1 -0
- package/dist/lib/mcp-backfill.d.ts +89 -0
- package/dist/lib/mcp-backfill.d.ts.map +1 -0
- package/dist/lib/mcp-backfill.js +194 -0
- package/dist/lib/mcp-backfill.js.map +1 -0
- package/dist/lib/mcp-scope.d.ts +90 -0
- package/dist/lib/mcp-scope.d.ts.map +1 -0
- package/dist/lib/mcp-scope.js +125 -0
- package/dist/lib/mcp-scope.js.map +1 -0
- package/dist/lib/mcp-sync.d.ts +64 -0
- package/dist/lib/mcp-sync.d.ts.map +1 -0
- package/dist/lib/mcp-sync.js +183 -0
- package/dist/lib/mcp-sync.js.map +1 -0
- package/dist/lib/personal-import.d.ts +7 -0
- package/dist/lib/personal-import.d.ts.map +1 -1
- package/dist/lib/personal-import.js +13 -1
- package/dist/lib/personal-import.js.map +1 -1
- package/dist/lib/safe-config-write.d.ts.map +1 -1
- package/dist/lib/safe-config-write.js +39 -2
- package/dist/lib/safe-config-write.js.map +1 -1
- package/dist/lib/scope-choices.d.ts +51 -0
- package/dist/lib/scope-choices.d.ts.map +1 -0
- package/dist/lib/scope-choices.js +193 -0
- package/dist/lib/scope-choices.js.map +1 -0
- package/dist/lib/scope-connect.d.ts +82 -0
- package/dist/lib/scope-connect.d.ts.map +1 -0
- package/dist/lib/scope-connect.js +258 -0
- package/dist/lib/scope-connect.js.map +1 -0
- package/dist/lib/scope-defaults.d.ts +3 -0
- package/dist/lib/scope-defaults.d.ts.map +1 -0
- package/dist/lib/scope-defaults.js +42 -0
- package/dist/lib/scope-defaults.js.map +1 -0
- package/dist/lib/scope-real.d.ts +223 -0
- package/dist/lib/scope-real.d.ts.map +1 -0
- package/dist/lib/scope-real.js +58 -0
- package/dist/lib/scope-real.js.map +1 -0
- package/dist/lib/scope-values.d.ts +76 -0
- package/dist/lib/scope-values.d.ts.map +1 -0
- package/dist/lib/scope-values.js +169 -0
- package/dist/lib/scope-values.js.map +1 -0
- package/dist/lib/scope.d.ts +161 -0
- package/dist/lib/scope.d.ts.map +1 -0
- package/dist/lib/scope.js +323 -0
- package/dist/lib/scope.js.map +1 -0
- package/dist/lib/share/command.d.ts +32 -0
- package/dist/lib/share/command.d.ts.map +1 -0
- package/dist/lib/share/command.js +136 -0
- package/dist/lib/share/command.js.map +1 -0
- package/dist/lib/share/ledger.d.ts +59 -0
- package/dist/lib/share/ledger.d.ts.map +1 -0
- package/dist/lib/share/ledger.js +135 -0
- package/dist/lib/share/ledger.js.map +1 -0
- package/dist/lib/share/payload.d.ts +92 -0
- package/dist/lib/share/payload.d.ts.map +1 -0
- package/dist/lib/share/payload.js +138 -0
- package/dist/lib/share/payload.js.map +1 -0
- package/dist/lib/share/pending.d.ts +48 -0
- package/dist/lib/share/pending.d.ts.map +1 -0
- package/dist/lib/share/pending.js +130 -0
- package/dist/lib/share/pending.js.map +1 -0
- package/dist/lib/share/preview.d.ts +18 -0
- package/dist/lib/share/preview.d.ts.map +1 -0
- package/dist/lib/share/preview.js +72 -0
- package/dist/lib/share/preview.js.map +1 -0
- package/dist/lib/share/run.d.ts +115 -0
- package/dist/lib/share/run.d.ts.map +1 -0
- package/dist/lib/share/run.js +261 -0
- package/dist/lib/share/run.js.map +1 -0
- package/dist/lib/share/salt.d.ts +2 -0
- package/dist/lib/share/salt.d.ts.map +1 -0
- package/dist/lib/share/salt.js +44 -0
- package/dist/lib/share/salt.js.map +1 -0
- package/dist/lib/share/secret-patterns.json +100 -0
- package/dist/lib/share/secret-scan.d.ts +19 -0
- package/dist/lib/share/secret-scan.d.ts.map +1 -0
- package/dist/lib/share/secret-scan.js +75 -0
- package/dist/lib/share/secret-scan.js.map +1 -0
- package/dist/lib/share/tty.d.ts +4 -0
- package/dist/lib/share/tty.d.ts.map +1 -0
- package/dist/lib/share/tty.js +57 -0
- package/dist/lib/share/tty.js.map +1 -0
- package/dist/lib/share/visible.d.ts +4 -0
- package/dist/lib/share/visible.d.ts.map +1 -0
- package/dist/lib/share/visible.js +30 -0
- package/dist/lib/share/visible.js.map +1 -0
- package/dist/lib/share/wire.d.ts +98 -0
- package/dist/lib/share/wire.d.ts.map +1 -0
- package/dist/lib/share/wire.js +43 -0
- package/dist/lib/share/wire.js.map +1 -0
- package/dist/lib/similarity/embedding-matrix.d.ts +64 -0
- package/dist/lib/similarity/embedding-matrix.d.ts.map +1 -0
- package/dist/lib/similarity/embedding-matrix.js +119 -0
- package/dist/lib/similarity/embedding-matrix.js.map +1 -0
- package/dist/lib/since-flag.d.ts +11 -0
- package/dist/lib/since-flag.d.ts.map +1 -0
- package/dist/lib/since-flag.js +24 -0
- package/dist/lib/since-flag.js.map +1 -0
- package/dist/lib/since.d.ts +59 -0
- package/dist/lib/since.d.ts.map +1 -0
- package/dist/lib/since.js +86 -0
- package/dist/lib/since.js.map +1 -0
- package/dist/lib/source-key.d.ts +13 -0
- package/dist/lib/source-key.d.ts.map +1 -0
- package/dist/lib/source-key.js +60 -0
- package/dist/lib/source-key.js.map +1 -0
- package/dist/lib/source-sync-state.d.ts +12 -0
- package/dist/lib/source-sync-state.d.ts.map +1 -0
- package/dist/lib/source-sync-state.js +43 -0
- package/dist/lib/source-sync-state.js.map +1 -0
- package/dist/lib/startup-backfill-track.d.ts +2 -0
- package/dist/lib/startup-backfill-track.d.ts.map +1 -0
- package/dist/lib/startup-backfill-track.js +6 -0
- package/dist/lib/startup-backfill-track.js.map +1 -0
- package/dist/lib/startup-xdg.d.ts +2 -0
- package/dist/lib/startup-xdg.d.ts.map +1 -0
- package/dist/lib/startup-xdg.js +9 -0
- package/dist/lib/startup-xdg.js.map +1 -0
- package/dist/lib/sync/after-connect.d.ts +2 -0
- package/dist/lib/sync/after-connect.d.ts.map +1 -0
- package/dist/lib/sync/after-connect.js +18 -0
- package/dist/lib/sync/after-connect.js.map +1 -0
- package/dist/lib/sync/bg-claim.d.ts +14 -0
- package/dist/lib/sync/bg-claim.d.ts.map +1 -0
- package/dist/lib/sync/bg-claim.js +97 -0
- package/dist/lib/sync/bg-claim.js.map +1 -0
- package/dist/lib/sync/blocked.d.ts +8 -0
- package/dist/lib/sync/blocked.d.ts.map +1 -0
- package/dist/lib/sync/blocked.js +44 -0
- package/dist/lib/sync/blocked.js.map +1 -0
- package/dist/lib/sync/classify.d.ts +34 -0
- package/dist/lib/sync/classify.d.ts.map +1 -0
- package/dist/lib/sync/classify.js +91 -0
- package/dist/lib/sync/classify.js.map +1 -0
- package/dist/lib/sync/drain.d.ts +16 -0
- package/dist/lib/sync/drain.d.ts.map +1 -0
- package/dist/lib/sync/drain.js +33 -0
- package/dist/lib/sync/drain.js.map +1 -0
- package/dist/lib/sync/forget.d.ts +12 -0
- package/dist/lib/sync/forget.d.ts.map +1 -0
- package/dist/lib/sync/forget.js +32 -0
- package/dist/lib/sync/forget.js.map +1 -0
- package/dist/lib/sync/launch-hook.d.ts +42 -0
- package/dist/lib/sync/launch-hook.d.ts.map +1 -0
- package/dist/lib/sync/launch-hook.js +117 -0
- package/dist/lib/sync/launch-hook.js.map +1 -0
- package/dist/lib/sync/lock.d.ts +35 -0
- package/dist/lib/sync/lock.d.ts.map +1 -0
- package/dist/lib/sync/lock.js +175 -0
- package/dist/lib/sync/lock.js.map +1 -0
- package/dist/lib/sync/purge.d.ts +38 -0
- package/dist/lib/sync/purge.d.ts.map +1 -0
- package/dist/lib/sync/purge.js +61 -0
- package/dist/lib/sync/purge.js.map +1 -0
- package/dist/lib/sync/real-env.d.ts +208 -0
- package/dist/lib/sync/real-env.d.ts.map +1 -0
- package/dist/lib/sync/real-env.js +47 -0
- package/dist/lib/sync/real-env.js.map +1 -0
- package/dist/lib/sync/relink.d.ts +14 -0
- package/dist/lib/sync/relink.d.ts.map +1 -0
- package/dist/lib/sync/relink.js +36 -0
- package/dist/lib/sync/relink.js.map +1 -0
- package/dist/lib/sync/report.d.ts +3 -0
- package/dist/lib/sync/report.d.ts.map +1 -0
- package/dist/lib/sync/report.js +54 -0
- package/dist/lib/sync/report.js.map +1 -0
- package/dist/lib/sync/run-all.d.ts +23 -0
- package/dist/lib/sync/run-all.d.ts.map +1 -0
- package/dist/lib/sync/run-all.js +30 -0
- package/dist/lib/sync/run-all.js.map +1 -0
- package/dist/lib/sync/run-source.d.ts +73 -0
- package/dist/lib/sync/run-source.d.ts.map +1 -0
- package/dist/lib/sync/run-source.js +262 -0
- package/dist/lib/sync/run-source.js.map +1 -0
- package/dist/lib/sync/safe-read.d.ts +4 -0
- package/dist/lib/sync/safe-read.d.ts.map +1 -0
- package/dist/lib/sync/safe-read.js +40 -0
- package/dist/lib/sync/safe-read.js.map +1 -0
- package/dist/lib/sync/should-background-sync.d.ts +31 -0
- package/dist/lib/sync/should-background-sync.d.ts.map +1 -0
- package/dist/lib/sync/should-background-sync.js +69 -0
- package/dist/lib/sync/should-background-sync.js.map +1 -0
- package/dist/lib/sync/source-ids.d.ts +10 -0
- package/dist/lib/sync/source-ids.d.ts.map +1 -0
- package/dist/lib/sync/source-ids.js +9 -0
- package/dist/lib/sync/source-ids.js.map +1 -0
- package/dist/lib/sync/sources.d.ts +33 -0
- package/dist/lib/sync/sources.d.ts.map +1 -0
- package/dist/lib/sync/sources.js +37 -0
- package/dist/lib/sync/sources.js.map +1 -0
- package/dist/lib/sync/spawn-background.d.ts +27 -0
- package/dist/lib/sync/spawn-background.d.ts.map +1 -0
- package/dist/lib/sync/spawn-background.js +66 -0
- package/dist/lib/sync/spawn-background.js.map +1 -0
- package/dist/lib/sync/status.d.ts +57 -0
- package/dist/lib/sync/status.d.ts.map +1 -0
- package/dist/lib/sync/status.js +166 -0
- package/dist/lib/sync/status.js.map +1 -0
- package/dist/lib/sync/summary-read.d.ts +19 -0
- package/dist/lib/sync/summary-read.d.ts.map +1 -0
- package/dist/lib/sync/summary-read.js +39 -0
- package/dist/lib/sync/summary-read.js.map +1 -0
- package/dist/lib/sync/summary.d.ts +10 -0
- package/dist/lib/sync/summary.d.ts.map +1 -0
- package/dist/lib/sync/summary.js +80 -0
- package/dist/lib/sync/summary.js.map +1 -0
- package/dist/lib/sync/sync-state.d.ts +128 -0
- package/dist/lib/sync/sync-state.d.ts.map +1 -0
- package/dist/lib/sync/sync-state.js +253 -0
- package/dist/lib/sync/sync-state.js.map +1 -0
- package/dist/lib/sync/telemetry.d.ts +20 -0
- package/dist/lib/sync/telemetry.d.ts.map +1 -0
- package/dist/lib/sync/telemetry.js +31 -0
- package/dist/lib/sync/telemetry.js.map +1 -0
- package/dist/lib/sync/threads.d.ts +48 -0
- package/dist/lib/sync/threads.d.ts.map +1 -0
- package/dist/lib/sync/threads.js +82 -0
- package/dist/lib/sync/threads.js.map +1 -0
- package/dist/lib/sync/window.d.ts +72 -0
- package/dist/lib/sync/window.d.ts.map +1 -0
- package/dist/lib/sync/window.js +112 -0
- package/dist/lib/sync/window.js.map +1 -0
- package/dist/lib/team-cta.d.ts +11 -0
- package/dist/lib/team-cta.d.ts.map +1 -0
- package/dist/lib/team-cta.js +16 -0
- package/dist/lib/team-cta.js.map +1 -0
- package/dist/lib/telemetry-ci.d.ts +2 -0
- package/dist/lib/telemetry-ci.d.ts.map +1 -0
- package/dist/lib/telemetry-ci.js +21 -0
- package/dist/lib/telemetry-ci.js.map +1 -0
- package/dist/lib/telemetry-consent.d.ts +44 -23
- package/dist/lib/telemetry-consent.d.ts.map +1 -1
- package/dist/lib/telemetry-consent.js +74 -35
- package/dist/lib/telemetry-consent.js.map +1 -1
- package/dist/lib/telemetry-env.d.ts +1 -1
- package/dist/lib/usage-telemetry.d.ts +87 -22
- package/dist/lib/usage-telemetry.d.ts.map +1 -1
- package/dist/lib/usage-telemetry.js +263 -74
- package/dist/lib/usage-telemetry.js.map +1 -1
- package/dist/lib/xdg.d.ts +27 -0
- package/dist/lib/xdg.d.ts.map +1 -0
- package/dist/lib/xdg.js +56 -0
- package/dist/lib/xdg.js.map +1 -0
- package/package.json +3 -2
- package/dist/commands/push.d.ts +0 -25
- package/dist/commands/push.d.ts.map +0 -1
- package/dist/commands/push.js +0 -98
- package/dist/commands/push.js.map +0 -1
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { optionValue, readText } from './layer-files.js';
|
|
3
|
+
import { classifyChildEnv } from './mcp-child-env.js';
|
|
4
|
+
import { isCanonicalLocalEntry, parseJsonc, unreadableMentionsAlign } from './strict-entry.js';
|
|
5
|
+
const isObject = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
6
|
+
const FILE = 'cline_mcp_settings.json';
|
|
7
|
+
/**
|
|
8
|
+
* Where a Cline session reads its MCP servers (cline 3.0.70, its bundled path code):
|
|
9
|
+
* CLINE_MCP_SETTINGS_PATH; else `<data dir>/settings/cline_mcp_settings.json`. The data dir is the
|
|
10
|
+
* user's `--data-dir` (its sandbox setup sets CLINE_DATA_DIR from it; checked in a real session:
|
|
11
|
+
* `cline --data-dir X "..."` loaded X/settings' server), else CLINE_DATA_DIR, else
|
|
12
|
+
* `<cline dir>/data`, the cline dir being the user's `--config` dir, else CLINE_DIR, else ~/.cline.
|
|
13
|
+
* (`cline config --json` ignores --data-dir, which is why an earlier check misread it.)
|
|
14
|
+
*/
|
|
15
|
+
function clineDirs(home, env, passthrough) {
|
|
16
|
+
const configFlag = optionValue(passthrough, '--config');
|
|
17
|
+
const dataFlag = optionValue(passthrough, '--data-dir');
|
|
18
|
+
const userDir = env['CLINE_DIR']?.trim() ? path.resolve(env['CLINE_DIR'].trim()) : path.join(home, '.cline');
|
|
19
|
+
const clineDir = configFlag ? path.resolve(configFlag) : userDir;
|
|
20
|
+
const dataDir = dataFlag ? path.resolve(dataFlag) : env['CLINE_DATA_DIR']?.trim() ? path.resolve(env['CLINE_DATA_DIR'].trim()) : path.join(clineDir, 'data');
|
|
21
|
+
const mcp = env['CLINE_MCP_SETTINGS_PATH']?.trim();
|
|
22
|
+
return { clineDir: userDir, dataDir, mcpFile: mcp ? path.resolve(mcp) : path.join(dataDir, 'settings', FILE) };
|
|
23
|
+
}
|
|
24
|
+
export function clineMcpFile(home, env, passthrough) {
|
|
25
|
+
return clineDirs(home, env, passthrough).mcpFile;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The variables that place Cline's files, as cline would resolve them this launch. Cline loads
|
|
29
|
+
* `.env`/`.env.local` from the cwd, so the launch pins them (only those the user did not export);
|
|
30
|
+
* a process variable wins over its dotenv. CLINE_DIR is pinned to the user's own dir even with
|
|
31
|
+
* `--config`, which beats it anyway; CLINE_DATA_DIR follows `--config` and `--data-dir`, because an
|
|
32
|
+
* exported one beats `--config` (checked) and must not undo the user's flag. Without `--data-dir`,
|
|
33
|
+
* the sandbox switches are pinned off: a repo `.env` with CLINE_SANDBOX=1 would move the data dir
|
|
34
|
+
* and the provider settings. Empty is a no-op for all three in cline's source (`?.trim()` checks).
|
|
35
|
+
*/
|
|
36
|
+
export function clinePins(home, env, passthrough) {
|
|
37
|
+
const d = clineDirs(home, env, passthrough);
|
|
38
|
+
// Cline reads each one with `?.trim()` and skips it when empty (cline 3.0.70 bundled binary:
|
|
39
|
+
// the sandbox switch in Ed(), P(), lh(), Xd(), xi(), oa()), so empty is a no-op. With
|
|
40
|
+
// --data-dir, cline's own sandbox setup sets these from the flag.
|
|
41
|
+
const sandboxOff = optionValue(passthrough, '--data-dir') === undefined
|
|
42
|
+
? { CLINE_SANDBOX: '', CLINE_SANDBOX_DATA_DIR: '', CLINE_PROVIDER_SETTINGS_PATH: '', CLINE_GLOBAL_SETTINGS_PATH: '', CLINE_SESSION_DATA_DIR: '', CLINE_DB_DATA_DIR: '' }
|
|
43
|
+
: {};
|
|
44
|
+
return { CLINE_DIR: d.clineDir, CLINE_DATA_DIR: d.dataDir, CLINE_MCP_SETTINGS_PATH: d.mcpFile, ...sandboxOff };
|
|
45
|
+
}
|
|
46
|
+
/** `cline mcp add` wraps the command in `transport` (3.0.70); the flat form loads too. */
|
|
47
|
+
function unwrap(entry) {
|
|
48
|
+
if (isObject(entry) && Object.keys(entry).length === 1 && isObject(entry['transport'])) {
|
|
49
|
+
const { type, ...rest } = entry['transport'];
|
|
50
|
+
return type === 'stdio' ? rest : undefined;
|
|
51
|
+
}
|
|
52
|
+
return entry;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Align's own entry, judged with today's environment: `present` (no env block, or a current
|
|
56
|
+
* one), `stale` (Align's block from an older key set, or values that have changed: refresh it),
|
|
57
|
+
* `envConflict` (an env value Align never writes) or `foreign` (anything else).
|
|
58
|
+
*/
|
|
59
|
+
function judge(entry, o, env) {
|
|
60
|
+
const e = unwrap(entry);
|
|
61
|
+
if (!isObject(e))
|
|
62
|
+
return { kind: 'foreign' };
|
|
63
|
+
if (!('env' in e))
|
|
64
|
+
return isCanonicalLocalEntry(e, o) ? { kind: 'present' } : { kind: 'foreign' };
|
|
65
|
+
const { env: block, ...rest } = e;
|
|
66
|
+
if (!isCanonicalLocalEntry(rest, o))
|
|
67
|
+
return { kind: 'foreign' };
|
|
68
|
+
const c = classifyChildEnv(block, env);
|
|
69
|
+
if (c.kind === 'foreign')
|
|
70
|
+
return { kind: 'envConflict', key: c.key };
|
|
71
|
+
return { kind: c.kind === 'current' ? 'present' : 'stale' };
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* What Cline CLI would already load for align (cline 3.0.70): one MCP settings file, no repo
|
|
75
|
+
* layer (checked in a sandbox: a repo's `.cline/` MCP files were not listed by `cline config
|
|
76
|
+
* --json`). A canonical align-local or `align` there is present; any other align-local is a
|
|
77
|
+
* conflict, because the writer adds and never edits.
|
|
78
|
+
*/
|
|
79
|
+
export function readClineState(_cwd, home, opts, env, platform, passthrough) {
|
|
80
|
+
const o = { ...opts, platform, host: 'mcpServers' };
|
|
81
|
+
const mcpFile = clineMcpFile(home, env, passthrough);
|
|
82
|
+
const oneSession = optionValue(passthrough, '--config') !== undefined || optionValue(passthrough, '--data-dir') !== undefined;
|
|
83
|
+
const state = { present: false, overridden: [], mcpFile, oneSession };
|
|
84
|
+
const text = readText(mcpFile);
|
|
85
|
+
const parsed = parseJsonc(text);
|
|
86
|
+
// Fail closed: a file align cannot parse but that names align may hold a server it cannot see.
|
|
87
|
+
if (unreadableMentionsAlign(text, parsed))
|
|
88
|
+
return { ...state, conflict: mcpFile };
|
|
89
|
+
const servers = parsed?.['mcpServers'];
|
|
90
|
+
if (!isObject(servers))
|
|
91
|
+
return state;
|
|
92
|
+
if (judge(servers['align'], o, env).kind === 'present')
|
|
93
|
+
state.present = true;
|
|
94
|
+
if (!('align-local' in servers))
|
|
95
|
+
return state;
|
|
96
|
+
const v = judge(servers['align-local'], o, env);
|
|
97
|
+
if (v.kind === 'present')
|
|
98
|
+
state.present = true;
|
|
99
|
+
else if (v.kind === 'stale')
|
|
100
|
+
state.stale = true;
|
|
101
|
+
else {
|
|
102
|
+
state.conflict = mcpFile;
|
|
103
|
+
if (v.kind === 'envConflict')
|
|
104
|
+
state.envConflictKey = v.key;
|
|
105
|
+
}
|
|
106
|
+
return state;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=cline-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cline-state.js","sourceRoot":"","sources":["../../../src/lib/launch/cline-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,10 @@ export interface ConfigWrite {
|
|
|
18
18
|
root?: string;
|
|
19
19
|
/** One extra line after the first write (what the user has to do next). */
|
|
20
20
|
hint?: string;
|
|
21
|
+
/** Replace an entry of this name that is Align's own (a stale env block), instead of adding only. */
|
|
22
|
+
replace?: true;
|
|
23
|
+
/** JSON only: the tail of the invalid-JSON message, for a file whose agent reads more than strict JSON (Gemini's settings take comments). */
|
|
24
|
+
invalidJsonAdvice?: string;
|
|
21
25
|
}
|
|
22
26
|
/**
|
|
23
27
|
* Remembers a refused write, so its notice is printed once rather than on every launch. It is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-writes.d.ts","sourceRoot":"","sources":["../../../src/lib/launch/config-writes.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,8HAA8H;IAC9H,IAAI,EAAE,WAAW,GAAG,gBAAgB,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,yHAAyH;IACzH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config-writes.d.ts","sourceRoot":"","sources":["../../../src/lib/launch/config-writes.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,8HAA8H;IAC9H,IAAI,EAAE,WAAW,GAAG,gBAAgB,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,yHAAyH;IACzH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qGAAqG;IACrG,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,6IAA6I;IAC7I,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAKD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAuBvG;AAED,6FAA6F;AAC7F,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAExE"}
|
|
@@ -13,15 +13,20 @@ export function applyConfigWrite(w, note, memo) {
|
|
|
13
13
|
? safeWriteText(w.file, (cur) => appendTomlServer(w, cur), { ...opts, markers: tomlMarkers(w.name), tomlTable: [w.topKey, w.name] })
|
|
14
14
|
: safeWriteJson(w.file, (cur) => {
|
|
15
15
|
const servers = isObject(cur[w.topKey]) ? cur[w.topKey] : {};
|
|
16
|
-
if (w.name in servers)
|
|
16
|
+
if (w.name in servers && !w.replace)
|
|
17
|
+
return undefined;
|
|
18
|
+
if (w.replace && JSON.stringify(servers[w.name]) === JSON.stringify(w.entry))
|
|
17
19
|
return undefined;
|
|
18
20
|
return { ...cur, [w.topKey]: { ...servers, [w.name]: w.entry } };
|
|
19
|
-
}, { ...opts, trailingNewline: true });
|
|
21
|
+
}, { ...opts, trailingNewline: true, ...(w.invalidJsonAdvice ? { invalidJsonAdvice: w.invalidJsonAdvice } : {}) });
|
|
20
22
|
if (status === 'symlink')
|
|
21
23
|
memo?.add(w.file);
|
|
22
24
|
else if (quiet)
|
|
23
25
|
memo?.remove(w.file);
|
|
24
|
-
if (status === 'written') {
|
|
26
|
+
if (status === 'written' && w.replace) {
|
|
27
|
+
note(`Refreshed Align's own ${w.name} entry in ${w.file}. Undo: align use --undo`);
|
|
28
|
+
}
|
|
29
|
+
else if (status === 'written') {
|
|
25
30
|
note(`Added the ${w.name} MCP server to ${w.file} (original kept at ${w.file}${BACKUP_SUFFIX}). Undo: align use --undo`);
|
|
26
31
|
if (w.hint)
|
|
27
32
|
note(w.hint);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-writes.js","sourceRoot":"","sources":["../../../src/lib/launch/config-writes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"config-writes.js","sourceRoot":"","sources":["../../../src/lib/launch/config-writes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { AlignLocalState } from './strict-entry.js';
|
|
2
|
+
export interface ContinueProjectState extends Pick<AlignLocalState, 'present' | 'conflict'> {
|
|
3
|
+
/** The config could not be read with certainty: where, and why. */
|
|
4
|
+
unreadable?: {
|
|
5
|
+
file: string;
|
|
6
|
+
line: number;
|
|
7
|
+
reason: string;
|
|
8
|
+
};
|
|
9
|
+
/** The local config file cn loads this session; null when it is a hub slug Align cannot read. */
|
|
10
|
+
configFile: string | null;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Whether Continue's config.yaml already defines an `align-local` MCP server (cn 1.5.47, seen
|
|
14
|
+
* against a stub model: a same-named server in config.yaml WINS over one injected with `--mcp`).
|
|
15
|
+
* - absent: none;
|
|
16
|
+
* - present: exactly `align mcp --env local` (a bare `align mcp` where that reads the local graph);
|
|
17
|
+
* - conflict: anything else, including any mention this reader cannot place.
|
|
18
|
+
*/
|
|
19
|
+
export declare function continueAlignLocal(text: string | null, o: {
|
|
20
|
+
localIsDefault: boolean;
|
|
21
|
+
platform: string;
|
|
22
|
+
}): 'absent' | 'present' | 'conflict' | 'unreadable';
|
|
23
|
+
/**
|
|
24
|
+
* A `cn` on PATH is Continue CLI's only when it is the npm package's: both of Continue's
|
|
25
|
+
* installers run `npm install -g @continuedev/cli`. POSIX: the bin link resolves into the package.
|
|
26
|
+
* Windows: npm's `cn.cmd` shim sits beside `node_modules\@continuedev\cli`.
|
|
27
|
+
*/
|
|
28
|
+
export declare function isContinueBin(found: string, platform: string): boolean;
|
|
29
|
+
/** cn's continue home: the user's CONTINUE_GLOBAL_DIR (relative to the cwd), else ~/.continue. */
|
|
30
|
+
export declare function continueHome(home: string, env: Record<string, string | undefined>, cwd: string): string;
|
|
31
|
+
/**
|
|
32
|
+
* The config cn 1.5.47 loads this session, read for an align-local: the user's `--config` file
|
|
33
|
+
* (a hub slug cannot be read here, and blocks nothing), else `<continue home>/config.yaml`, where
|
|
34
|
+
* the continue home is CONTINUE_GLOBAL_DIR, else ~/.continue. cn runs dotenv in the cwd, so a
|
|
35
|
+
* repo's `.env` could move it: the launch pins CONTINUE_GLOBAL_DIR to this one instead (registry
|
|
36
|
+
* `pins`), and a process variable wins over dotenv. cn loads no workspace MCP files.
|
|
37
|
+
*/
|
|
38
|
+
export declare function readContinueState(cwd: string, home: string, opts: {
|
|
39
|
+
localIsDefault: boolean;
|
|
40
|
+
}, env: Record<string, string | undefined>, platform: string, passthrough: string[]): ContinueProjectState;
|
|
41
|
+
//# sourceMappingURL=continue-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"continue-state.d.ts","sourceRoot":"","sources":["../../../src/lib/launch/continue-state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,UAAU,CAAC;IACzF,mEAAmE;IACnE,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,iGAAiG;IACjG,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAKD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,CAAC,EAAE;IAAE,cAAc,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,CAE1J;AAuDD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAOtE;AAED,kGAAkG;AAClG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvG;AAgBD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IAAE,cAAc,EAAE,OAAO,CAAA;CAAE,EACjC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EAAE,GACpB,oBAAoB,CAYtB"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { existsSync, realpathSync } from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { optionValue, readText } from './layer-files.js';
|
|
4
|
+
import { isCanonicalLocalEntry } from './strict-entry.js';
|
|
5
|
+
import { fields, listValue, scalarValue, scanYaml, topLevelBlock } from './yaml-scan.js';
|
|
6
|
+
/** The keys an `mcpServers` item may carry and still be exactly Align's own. */
|
|
7
|
+
const ALLOWED = new Set(['name', 'command', 'args', 'type']);
|
|
8
|
+
/**
|
|
9
|
+
* Whether Continue's config.yaml already defines an `align-local` MCP server (cn 1.5.47, seen
|
|
10
|
+
* against a stub model: a same-named server in config.yaml WINS over one injected with `--mcp`).
|
|
11
|
+
* - absent: none;
|
|
12
|
+
* - present: exactly `align mcp --env local` (a bare `align mcp` where that reads the local graph);
|
|
13
|
+
* - conflict: anything else, including any mention this reader cannot place.
|
|
14
|
+
*/
|
|
15
|
+
export function continueAlignLocal(text, o) {
|
|
16
|
+
return continueVerdict(text, o).verdict;
|
|
17
|
+
}
|
|
18
|
+
function continueVerdict(text, o) {
|
|
19
|
+
if (text === null)
|
|
20
|
+
return { verdict: 'absent' };
|
|
21
|
+
const scanned = scanYaml(text);
|
|
22
|
+
if ('unreadable' in scanned)
|
|
23
|
+
return { verdict: 'unreadable', detail: scanned.unreadable };
|
|
24
|
+
const lines = scanned.lines;
|
|
25
|
+
const firstMention = (ls) => ls.find((l) => l.text.includes('align-local'));
|
|
26
|
+
const mentions = (ls) => firstMention(ls) !== undefined;
|
|
27
|
+
const layout = (ls) => {
|
|
28
|
+
const m = firstMention(ls);
|
|
29
|
+
return m ? { verdict: 'unreadable', detail: { line: m.n, reason: 'a layout Align does not read' } } : { verdict: 'absent' };
|
|
30
|
+
};
|
|
31
|
+
const block = topLevelBlock(lines, 'mcpServers');
|
|
32
|
+
if (block === 'inline' || block === null)
|
|
33
|
+
return layout(lines);
|
|
34
|
+
if (block.length === 0)
|
|
35
|
+
return { verdict: 'absent' };
|
|
36
|
+
// Each item starts `- key: value`; rewrite that line as a mapping line two columns in.
|
|
37
|
+
const items = [];
|
|
38
|
+
const itemIndent = block[0].indent;
|
|
39
|
+
for (const l of block) {
|
|
40
|
+
if (l.indent === itemIndent) {
|
|
41
|
+
if (!l.text.startsWith('- '))
|
|
42
|
+
return layout(block);
|
|
43
|
+
items.push([{ indent: itemIndent + 2, text: l.text.slice(2).trim(), n: l.n }]);
|
|
44
|
+
}
|
|
45
|
+
else if (items.length > 0) {
|
|
46
|
+
items[items.length - 1].push(l);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
return layout(block);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
let local = false;
|
|
53
|
+
let alignIsOurs = false;
|
|
54
|
+
for (const item of items) {
|
|
55
|
+
const f = fields(item);
|
|
56
|
+
const name = f ? scalarValue(f.get('name')) : null;
|
|
57
|
+
if (name === 'align') {
|
|
58
|
+
if (f && !mentions(item) && canonicalItem(f, o))
|
|
59
|
+
alignIsOurs = true;
|
|
60
|
+
else if (mentions(item))
|
|
61
|
+
return { verdict: 'conflict' };
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (!mentions(item))
|
|
65
|
+
continue;
|
|
66
|
+
if (!f)
|
|
67
|
+
return layout(item);
|
|
68
|
+
if (name !== 'align-local' || !canonicalItem(f, o))
|
|
69
|
+
return { verdict: 'conflict' };
|
|
70
|
+
local = true;
|
|
71
|
+
}
|
|
72
|
+
return { verdict: local || alignIsOurs ? 'present' : 'absent' };
|
|
73
|
+
}
|
|
74
|
+
/** An `mcpServers` item that is exactly Align's own local server, and carries nothing else. */
|
|
75
|
+
function canonicalItem(f, o) {
|
|
76
|
+
for (const key of f.keys())
|
|
77
|
+
if (!ALLOWED.has(key))
|
|
78
|
+
return false;
|
|
79
|
+
if (f.has('type') && scalarValue(f.get('type')) !== 'stdio')
|
|
80
|
+
return false;
|
|
81
|
+
const args = f.has('args') ? listValue(f.get('args')) : [];
|
|
82
|
+
return isCanonicalLocalEntry({ command: scalarValue(f.get('command')), args }, { localIsDefault: o.localIsDefault, platform: o.platform, host: 'mcpServers' });
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* A `cn` on PATH is Continue CLI's only when it is the npm package's: both of Continue's
|
|
86
|
+
* installers run `npm install -g @continuedev/cli`. POSIX: the bin link resolves into the package.
|
|
87
|
+
* Windows: npm's `cn.cmd` shim sits beside `node_modules\@continuedev\cli`.
|
|
88
|
+
*/
|
|
89
|
+
export function isContinueBin(found, platform) {
|
|
90
|
+
if (platform === 'win32')
|
|
91
|
+
return existsSync(path.join(path.dirname(found), 'node_modules', '@continuedev', 'cli'));
|
|
92
|
+
try {
|
|
93
|
+
return realpathSync(found).split(path.sep).join('/').includes('/@continuedev/cli/');
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/** cn's continue home: the user's CONTINUE_GLOBAL_DIR (relative to the cwd), else ~/.continue. */
|
|
100
|
+
export function continueHome(home, env, cwd) {
|
|
101
|
+
return env['CONTINUE_GLOBAL_DIR'] ? path.resolve(cwd, env['CONTINUE_GLOBAL_DIR']) : path.join(home, '.continue');
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* The file a `--config` value names, by cn's own rule (cn 1.5.47 configLoader.ts isFilePath):
|
|
105
|
+
* a value starting `.`, `/` or `~`, a Windows drive or UNC path, or one containing `.yaml`,
|
|
106
|
+
* `.yml` or `.json` is a file; anything else is a hub slug, even if a file of that name exists.
|
|
107
|
+
* null for a slug, which align cannot read.
|
|
108
|
+
*/
|
|
109
|
+
function configPath(v, cwd, home) {
|
|
110
|
+
const isFile = v.startsWith('.') || v.startsWith('/') || v.startsWith('~') || /^[A-Za-z]:[/\\]/.test(v) || v.startsWith('\\\\') || v.includes('.yaml') || v.includes('.yml') || v.includes('.json');
|
|
111
|
+
if (!isFile)
|
|
112
|
+
return null;
|
|
113
|
+
if (v.startsWith('file://'))
|
|
114
|
+
return v.slice(7);
|
|
115
|
+
if (v.startsWith('~'))
|
|
116
|
+
return path.join(home, v.slice(1));
|
|
117
|
+
return path.resolve(cwd, v);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* The config cn 1.5.47 loads this session, read for an align-local: the user's `--config` file
|
|
121
|
+
* (a hub slug cannot be read here, and blocks nothing), else `<continue home>/config.yaml`, where
|
|
122
|
+
* the continue home is CONTINUE_GLOBAL_DIR, else ~/.continue. cn runs dotenv in the cwd, so a
|
|
123
|
+
* repo's `.env` could move it: the launch pins CONTINUE_GLOBAL_DIR to this one instead (registry
|
|
124
|
+
* `pins`), and a process variable wins over dotenv. cn loads no workspace MCP files.
|
|
125
|
+
*/
|
|
126
|
+
export function readContinueState(cwd, home, opts, env, platform, passthrough) {
|
|
127
|
+
const flag = optionValue(passthrough, '--config');
|
|
128
|
+
let configFile;
|
|
129
|
+
if (flag !== undefined) {
|
|
130
|
+
configFile = configPath(flag, cwd, home);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
configFile = path.join(continueHome(home, env, cwd), 'config.yaml');
|
|
134
|
+
}
|
|
135
|
+
if (configFile === null)
|
|
136
|
+
return { present: false, configFile: null };
|
|
137
|
+
const { verdict, detail } = continueVerdict(readText(configFile), { ...opts, platform });
|
|
138
|
+
if (verdict === 'unreadable')
|
|
139
|
+
return { present: false, configFile, unreadable: { file: configFile, ...detail } };
|
|
140
|
+
return verdict === 'conflict' ? { present: false, conflict: configFile, configFile } : { present: verdict === 'present', configFile };
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=continue-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"continue-state.js","sourceRoot":"","sources":["../../../src/lib/launch/continue-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAc,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAkC,MAAM,gBAAgB,CAAC;AASrI,gFAAgF;AAChF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAmB,EAAE,CAAgD;IACtG,OAAO,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AAC1C,CAAC;AAED,SAAS,eAAe,CAAC,IAAmB,EAAE,CAAgD;IAC5F,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,YAAY,IAAI,OAAO;QAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;IAC1F,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,MAAM,YAAY,GAAG,CAAC,EAAc,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IACxF,MAAM,QAAQ,GAAG,CAAC,EAAc,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC;IACpE,MAAM,MAAM,GAAG,CAAC,EAAc,EAAE,EAAE;QAChC,MAAM,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAqB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,8BAA8B,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAiB,EAAE,CAAC;IAChJ,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACjD,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACrD,uFAAuF;IACvF,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,WAAW,GAAG,IAAI,CAAC;iBAC/D,IAAI,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;YACxD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,SAAS;QAC9B,IAAI,CAAC,CAAC;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,KAAK,aAAa,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QACnF,KAAK,GAAG,IAAI,CAAC;IACf,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAClE,CAAC;AAED,+FAA+F;AAC/F,SAAS,aAAa,CAAC,CAAqB,EAAE,CAAgD;IAC5F,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE;QAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAChE,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC1E,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,OAAO,qBAAqB,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AACjK,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,QAAgB;IAC3D,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IACnH,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,GAAuC,EAAE,GAAW;IAC7F,OAAO,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACnH,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,CAAS,EAAE,GAAW,EAAE,IAAY;IACtD,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpM,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAW,EACX,IAAY,EACZ,IAAiC,EACjC,GAAuC,EACvC,QAAgB,EAChB,WAAqB;IAErB,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAClD,IAAI,UAAyB,CAAC;IAC9B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACrE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzF,IAAI,OAAO,KAAK,YAAY;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAO,EAAE,EAAE,CAAC;IAClH,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,KAAK,SAAS,EAAE,UAAU,EAAE,CAAC;AACxI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../../src/lib/launch/detect.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../../src/lib/launch/detect.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuBhH"}
|
|
@@ -13,7 +13,9 @@ export function findOnPath(bin, env, platform) {
|
|
|
13
13
|
const exts = win ? (env['PATHEXT'] ?? '.COM;.EXE;.BAT;.CMD').split(';').filter(Boolean) : [''];
|
|
14
14
|
const names = win && path.extname(bin) ? [bin] : exts.map((e) => bin + (win ? e.toLowerCase() : e));
|
|
15
15
|
for (const dir of raw.split(win ? ';' : ':')) {
|
|
16
|
-
|
|
16
|
+
// Only absolute entries. A relative one (`.`, `node_modules/.bin`) resolves against the cwd,
|
|
17
|
+
// so a repo could put its own `cn` or `goose` there and have it taken for the real agent.
|
|
18
|
+
if (!dir || !(win ? path.win32.isAbsolute(dir) : path.posix.isAbsolute(dir)))
|
|
17
19
|
continue;
|
|
18
20
|
for (const name of names) {
|
|
19
21
|
// Absolute, so what was checked here is what gets spawned whatever the cwd is by then.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/lib/launch/detect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,GAAuC,EAAE,QAAgB;IAC/F,MAAM,GAAG,GAAG,QAAQ,KAAK,OAAO,CAAC;IACjC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,qBAAqB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/F,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,GAAG;YAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/lib/launch/detect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,GAAuC,EAAE,QAAgB;IAC/F,MAAM,GAAG,GAAG,QAAQ,KAAK,OAAO,CAAC;IACjC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,qBAAqB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/F,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,6FAA6F;QAC7F,0FAA0F;QAC1F,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAAE,SAAS;QACvF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,uFAAuF;YACvF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;oBAAE,SAAS;gBAC5C,IAAI,CAAC,GAAG;oBAAE,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBAChD,OAAO,SAAS,CAAC;YACnB,CAAC;YAAC,MAAM,CAAC;gBACP,6CAA6C;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,32 +1,38 @@
|
|
|
1
1
|
import { type GeminiTrust } from './gemini-trust.js';
|
|
2
2
|
import { type AlignLocalState } from './strict-entry.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
/** Its text; null when it does not exist (or is unreadable). */
|
|
7
|
-
text: string | null;
|
|
8
|
-
/** It exists but could not be read (a directory, no permission). */
|
|
9
|
-
unreadable: boolean;
|
|
10
|
-
}
|
|
11
|
-
export interface GeminiProjectState extends AlignLocalState {
|
|
12
|
-
systemSettings: GeminiSystemSettings;
|
|
3
|
+
export interface GeminiProjectState extends Pick<AlignLocalState, 'present' | 'conflict'> {
|
|
4
|
+
/** The user settings file align adds its entry to: $GEMINI_CLI_HOME/.gemini or ~/.gemini, settings.json. */
|
|
5
|
+
settingsFile: string;
|
|
13
6
|
trust: GeminiTrust;
|
|
7
|
+
/** Gemini would not load align-local even with the entry present: where that is set, and what it says. */
|
|
8
|
+
blocked?: {
|
|
9
|
+
file: string;
|
|
10
|
+
why: string;
|
|
11
|
+
};
|
|
12
|
+
/** A repo file defines an `align` server of its own, with no user `align` behind it: Gemini runs it next to ours. */
|
|
13
|
+
repoAlign?: string;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
|
-
* The launch-cache
|
|
17
|
-
*
|
|
16
|
+
* The launch-cache prefix of the merged system-settings copies align 0.49 to 0.51 wrote. Gemini
|
|
17
|
+
* skips such a copy (see gemini-system-file.ts), so nothing writes one now; the prefix is kept so
|
|
18
|
+
* the old ones, which hold the admin's settings, are aged out of the cache.
|
|
18
19
|
*/
|
|
19
20
|
export declare const COPY_PREFIX = "gemini-system-settings-";
|
|
20
|
-
export declare function geminiCopyName(source: string): string;
|
|
21
21
|
/**
|
|
22
|
-
* What Gemini CLI would already load here, in its merge order (gemini 0.
|
|
23
|
-
* system-defaults, user, workspace, system
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
22
|
+
* What Gemini CLI would already load here, in its merge order (gemini 0.63.0 mergeSettings:
|
|
23
|
+
* system-defaults, user, workspace, system; mcpServers merges shallowly, LAST layer wins per name):
|
|
24
|
+
* - system-defaults and system files, ONLY when Gemini will read them (root-owned tree, see
|
|
25
|
+
* gemini-system-file.ts; `rejects` is a parameter so a test can name the answer);
|
|
26
|
+
* - the user settings file;
|
|
27
|
+
* - the project's .gemini/settings.json. It is ALWAYS folded for the conflict check, because
|
|
28
|
+
* Gemini also trusts a folder through a connected IDE, which align cannot see; a false
|
|
29
|
+
* conflict in a folder that really is untrusted is harmless. It counts as "present" only when
|
|
30
|
+
* align's own verdict is trusted/off, and its mcp.allowed/excluded only then too.
|
|
31
|
+
* Repo config is untrusted input: per name only the effective (last) entry counts, so a repo
|
|
32
|
+
* `align` that replaces the user's canonical one is a conflict naming the repo file.
|
|
33
|
+
* Files are JSONC, as Gemini reads them. Align adds an entry; it never edits one that is there.
|
|
28
34
|
*/
|
|
29
35
|
export declare function readGeminiState(cwd: string, home: string, opts: {
|
|
30
36
|
localIsDefault: boolean;
|
|
31
|
-
}, env: Record<string, string | undefined>, platform: string): GeminiProjectState;
|
|
37
|
+
}, env: Record<string, string | undefined>, platform: string, rejects?: (file: string, platform: string) => string | null, passthrough?: string[]): GeminiProjectState;
|
|
32
38
|
//# sourceMappingURL=gemini-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-state.d.ts","sourceRoot":"","sources":["../../../src/lib/launch/gemini-state.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoF,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACvI,OAAO,EAAE,KAAK,eAAe,EAA6D,MAAM,mBAAmB,CAAC;AAEpH,
|
|
1
|
+
{"version":3,"file":"gemini-state.d.ts","sourceRoot":"","sources":["../../../src/lib/launch/gemini-state.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoF,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACvI,OAAO,EAAE,KAAK,eAAe,EAA6D,MAAM,mBAAmB,CAAC;AAEpH,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,UAAU,CAAC;IACvF,4GAA4G;IAC5G,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC;IACnB,0GAA0G;IAC1G,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,qHAAqH;IACrH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,4BAA4B,CAAC;AAoErD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IAAE,cAAc,EAAE,OAAO,CAAA;CAAE,EACjC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAgC,EACtF,WAAW,GAAE,MAAM,EAAO,GACzB,kBAAkB,CA0BpB"}
|