@kaitranntt/ccs 8.4.0-dev.9 → 8.5.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 -1
- package/config/base-claude.settings.json +1 -1
- package/config/base-glm.settings.json +4 -4
- package/config/base-glmt.settings.json +4 -4
- package/config/base-km.settings.json +4 -4
- package/config/base-mm.settings.json +4 -4
- package/dist/api/services/cliproxy-profile-bridge.d.ts.map +1 -1
- package/dist/api/services/cliproxy-profile-bridge.js +20 -9
- package/dist/api/services/cliproxy-profile-bridge.js.map +1 -1
- package/dist/auth/profile-registry.d.ts.map +1 -1
- package/dist/auth/profile-registry.js +13 -12
- package/dist/auth/profile-registry.js.map +1 -1
- package/dist/cliproxy/accounts/account-safety.d.ts.map +1 -1
- package/dist/cliproxy/accounts/account-safety.js +56 -56
- package/dist/cliproxy/accounts/account-safety.js.map +1 -1
- package/dist/cliproxy/auth/antigravity-responsibility.d.ts.map +1 -1
- package/dist/cliproxy/auth/antigravity-responsibility.js +15 -15
- package/dist/cliproxy/auth/antigravity-responsibility.js.map +1 -1
- package/dist/cliproxy/auth/auth-token-manager.d.ts.map +1 -1
- package/dist/cliproxy/auth/auth-token-manager.js +2 -1
- package/dist/cliproxy/auth/auth-token-manager.js.map +1 -1
- package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
- package/dist/cliproxy/auth/auth-types.js +3 -2
- package/dist/cliproxy/auth/auth-types.js.map +1 -1
- package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
- package/dist/cliproxy/auth/oauth-handler.js +16 -5
- package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
- package/dist/cliproxy/auth/provider-refreshers/index.d.ts +2 -1
- package/dist/cliproxy/auth/provider-refreshers/index.d.ts.map +1 -1
- package/dist/cliproxy/auth/provider-refreshers/index.js +4 -2
- package/dist/cliproxy/auth/provider-refreshers/index.js.map +1 -1
- package/dist/cliproxy/auth/token-manager.d.ts +2 -1
- package/dist/cliproxy/auth/token-manager.d.ts.map +1 -1
- package/dist/cliproxy/auth/token-manager.js +2 -1
- package/dist/cliproxy/auth/token-manager.js.map +1 -1
- package/dist/cliproxy/config/env-builder.d.ts +19 -2
- package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
- package/dist/cliproxy/config/env-builder.js +40 -5
- package/dist/cliproxy/config/env-builder.js.map +1 -1
- package/dist/cliproxy/config/model-config.d.ts.map +1 -1
- package/dist/cliproxy/config/model-config.js +32 -32
- package/dist/cliproxy/config/model-config.js.map +1 -1
- package/dist/cliproxy/executor/arg-parser.d.ts.map +1 -1
- package/dist/cliproxy/executor/arg-parser.js +26 -26
- package/dist/cliproxy/executor/arg-parser.js.map +1 -1
- package/dist/cliproxy/executor/auth-coordinator.d.ts.map +1 -1
- package/dist/cliproxy/executor/auth-coordinator.js +15 -14
- package/dist/cliproxy/executor/auth-coordinator.js.map +1 -1
- package/dist/cliproxy/executor/index.d.ts.map +1 -1
- package/dist/cliproxy/executor/index.js +27 -17
- package/dist/cliproxy/executor/index.js.map +1 -1
- package/dist/cliproxy/executor/lifecycle-manager.d.ts.map +1 -1
- package/dist/cliproxy/executor/lifecycle-manager.js +18 -16
- package/dist/cliproxy/executor/lifecycle-manager.js.map +1 -1
- package/dist/cliproxy/executor/model-warnings.d.ts.map +1 -1
- package/dist/cliproxy/executor/model-warnings.js +24 -13
- package/dist/cliproxy/executor/model-warnings.js.map +1 -1
- package/dist/cliproxy/executor/retry-handler.d.ts.map +1 -1
- package/dist/cliproxy/executor/retry-handler.js +13 -11
- package/dist/cliproxy/executor/retry-handler.js.map +1 -1
- package/dist/cliproxy/executor/session-bridge.d.ts.map +1 -1
- package/dist/cliproxy/executor/session-bridge.js +18 -10
- package/dist/cliproxy/executor/session-bridge.js.map +1 -1
- package/dist/cliproxy/management/remote-token-uploader.d.ts.map +1 -1
- package/dist/cliproxy/management/remote-token-uploader.js +11 -11
- package/dist/cliproxy/management/remote-token-uploader.js.map +1 -1
- package/dist/cliproxy/provider-capabilities.d.ts +6 -0
- package/dist/cliproxy/provider-capabilities.d.ts.map +1 -1
- package/dist/cliproxy/provider-capabilities.js +28 -3
- package/dist/cliproxy/provider-capabilities.js.map +1 -1
- package/dist/cliproxy/proxy/https-tunnel-proxy.d.ts +5 -1
- package/dist/cliproxy/proxy/https-tunnel-proxy.d.ts.map +1 -1
- package/dist/cliproxy/proxy/https-tunnel-proxy.js +22 -10
- package/dist/cliproxy/proxy/https-tunnel-proxy.js.map +1 -1
- package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts +0 -12
- package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts.map +1 -1
- package/dist/cliproxy/proxy/tool-sanitization-proxy.js +42 -72
- package/dist/cliproxy/proxy/tool-sanitization-proxy.js.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher/account-quota-fetcher.d.ts +21 -0
- package/dist/cliproxy/quota/quota-fetcher/account-quota-fetcher.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/account-quota-fetcher.js +154 -0
- package/dist/cliproxy/quota/quota-fetcher/account-quota-fetcher.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/all-accounts-fetcher.d.ts +35 -0
- package/dist/cliproxy/quota/quota-fetcher/all-accounts-fetcher.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/all-accounts-fetcher.js +98 -0
- package/dist/cliproxy/quota/quota-fetcher/all-accounts-fetcher.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/auth-file-reader.d.ts +22 -0
- package/dist/cliproxy/quota/quota-fetcher/auth-file-reader.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/auth-file-reader.js +111 -0
- package/dist/cliproxy/quota/quota-fetcher/auth-file-reader.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/available-models-fetcher.d.ts +17 -0
- package/dist/cliproxy/quota/quota-fetcher/available-models-fetcher.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/available-models-fetcher.js +85 -0
- package/dist/cliproxy/quota/quota-fetcher/available-models-fetcher.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/constants.d.ts +25 -0
- package/dist/cliproxy/quota/quota-fetcher/constants.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/constants.js +31 -0
- package/dist/cliproxy/quota/quota-fetcher/constants.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/http-client.d.ts +29 -0
- package/dist/cliproxy/quota/quota-fetcher/http-client.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/http-client.js +199 -0
- package/dist/cliproxy/quota/quota-fetcher/http-client.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/project-lookup.d.ts +16 -0
- package/dist/cliproxy/quota/quota-fetcher/project-lookup.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/project-lookup.js +89 -0
- package/dist/cliproxy/quota/quota-fetcher/project-lookup.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/status-classifier.d.ts +29 -0
- package/dist/cliproxy/quota/quota-fetcher/status-classifier.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/status-classifier.js +168 -0
- package/dist/cliproxy/quota/quota-fetcher/status-classifier.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/types.d.ts +165 -0
- package/dist/cliproxy/quota/quota-fetcher/types.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/types.js +9 -0
- package/dist/cliproxy/quota/quota-fetcher/types.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-claude.d.ts.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher-claude.js +14 -3
- package/dist/cliproxy/quota/quota-fetcher-claude.js.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher-codex.d.ts.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher-codex.js +36 -9
- package/dist/cliproxy/quota/quota-fetcher-codex.js.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/auth-file-discovery.d.ts +26 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/auth-file-discovery.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/auth-file-discovery.js +132 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/auth-file-discovery.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/bucket-building.d.ts +23 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/bucket-building.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/bucket-building.js +54 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/bucket-building.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/constants.d.ts +26 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/constants.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/constants.js +29 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/constants.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/error-parsing.d.ts +61 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/error-parsing.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/error-parsing.js +259 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/error-parsing.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/index.d.ts +20 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/index.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/index.js +38 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/index.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/managed-request.d.ts +82 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/managed-request.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/managed-request.js +263 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/managed-request.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/quota-fetcher.d.ts +46 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/quota-fetcher.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/quota-fetcher.js +188 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/quota-fetcher.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/shared-utils.d.ts +35 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/shared-utils.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/shared-utils.js +65 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/shared-utils.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/supplementary-metadata.d.ts +37 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/supplementary-metadata.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/supplementary-metadata.js +117 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/supplementary-metadata.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/token-parsing.d.ts +31 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/token-parsing.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/token-parsing.js +77 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/token-parsing.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/types.d.ts +114 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/types.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/types.js +10 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/types.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli.d.ts +13 -58
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli.d.ts.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli.js +20 -819
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli.js.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher-ghcp.d.ts.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher-ghcp.js +19 -4
- package/dist/cliproxy/quota/quota-fetcher-ghcp.js.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher.d.ts +12 -108
- package/dist/cliproxy/quota/quota-fetcher.d.ts.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher.js +23 -766
- package/dist/cliproxy/quota/quota-fetcher.js.map +1 -1
- package/dist/cliproxy/routing/routing-strategy.d.ts.map +1 -1
- package/dist/cliproxy/routing/routing-strategy.js +11 -3
- package/dist/cliproxy/routing/routing-strategy.js.map +1 -1
- package/dist/commands/cliproxy/quota-subcommand/claude-window-helpers.d.ts +26 -0
- package/dist/commands/cliproxy/quota-subcommand/claude-window-helpers.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/claude-window-helpers.js +82 -0
- package/dist/commands/cliproxy/quota-subcommand/claude-window-helpers.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/codex-window-helpers.d.ts +41 -0
- package/dist/commands/cliproxy/quota-subcommand/codex-window-helpers.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/codex-window-helpers.js +202 -0
- package/dist/commands/cliproxy/quota-subcommand/codex-window-helpers.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/format-helpers.d.ts +32 -0
- package/dist/commands/cliproxy/quota-subcommand/format-helpers.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/format-helpers.js +90 -0
- package/dist/commands/cliproxy/quota-subcommand/format-helpers.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/handlers.d.ts +25 -0
- package/dist/commands/cliproxy/quota-subcommand/handlers.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/handlers.js +245 -0
- package/dist/commands/cliproxy/quota-subcommand/handlers.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/profile-args.d.ts +10 -0
- package/dist/commands/cliproxy/quota-subcommand/profile-args.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/profile-args.js +37 -0
- package/dist/commands/cliproxy/quota-subcommand/profile-args.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/provider-runtime.d.ts +12 -0
- package/dist/commands/cliproxy/quota-subcommand/provider-runtime.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/provider-runtime.js +64 -0
- package/dist/commands/cliproxy/quota-subcommand/provider-runtime.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/quota-failure-display.d.ts +27 -0
- package/dist/commands/cliproxy/quota-subcommand/quota-failure-display.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/quota-failure-display.js +74 -0
- package/dist/commands/cliproxy/quota-subcommand/quota-failure-display.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/antigravity.d.ts +10 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/antigravity.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/antigravity.js +46 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/antigravity.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/claude.d.ts +14 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/claude.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/claude.js +68 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/claude.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/codex.d.ts +14 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/codex.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/codex.js +82 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/codex.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.d.ts +14 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.js +61 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/ghcp.d.ts +13 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/ghcp.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/ghcp.js +63 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/ghcp.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/test-exports.d.ts +19 -0
- package/dist/commands/cliproxy/quota-subcommand/test-exports.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/test-exports.js +22 -0
- package/dist/commands/cliproxy/quota-subcommand/test-exports.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/types.d.ts +42 -0
- package/dist/commands/cliproxy/quota-subcommand/types.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/types.js +9 -0
- package/dist/commands/cliproxy/quota-subcommand/types.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand.d.ts +14 -36
- package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
- package/dist/commands/cliproxy/quota-subcommand.js +21 -872
- package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
- package/dist/commands/command-catalog.js +1 -1
- package/dist/commands/command-catalog.js.map +1 -1
- package/dist/commands/persist-command/arg-parsing.d.ts +14 -0
- package/dist/commands/persist-command/arg-parsing.d.ts.map +1 -0
- package/dist/commands/persist-command/arg-parsing.js +84 -0
- package/dist/commands/persist-command/arg-parsing.js.map +1 -0
- package/dist/commands/persist-command/backup-rotation.d.ts +23 -0
- package/dist/commands/persist-command/backup-rotation.d.ts.map +1 -0
- package/dist/commands/persist-command/backup-rotation.js +260 -0
- package/dist/commands/persist-command/backup-rotation.js.map +1 -0
- package/dist/commands/persist-command/handler.d.ts +10 -0
- package/dist/commands/persist-command/handler.d.ts.map +1 -0
- package/dist/commands/persist-command/handler.js +267 -0
- package/dist/commands/persist-command/handler.js.map +1 -0
- package/dist/commands/persist-command/help.d.ts +9 -0
- package/dist/commands/persist-command/help.d.ts.map +1 -0
- package/dist/commands/persist-command/help.js +86 -0
- package/dist/commands/persist-command/help.js.map +1 -0
- package/dist/commands/persist-command/receipt.d.ts +13 -0
- package/dist/commands/persist-command/receipt.d.ts.map +1 -0
- package/dist/commands/persist-command/receipt.js +102 -0
- package/dist/commands/persist-command/receipt.js.map +1 -0
- package/dist/commands/persist-command/secret-detection.d.ts +11 -0
- package/dist/commands/persist-command/secret-detection.d.ts.map +1 -0
- package/dist/commands/persist-command/secret-detection.js +54 -0
- package/dist/commands/persist-command/secret-detection.js.map +1 -0
- package/dist/commands/persist-command/secure-file.d.ts +21 -0
- package/dist/commands/persist-command/secure-file.d.ts.map +1 -0
- package/dist/commands/persist-command/secure-file.js +231 -0
- package/dist/commands/persist-command/secure-file.js.map +1 -0
- package/dist/commands/persist-command/types.d.ts +42 -0
- package/dist/commands/persist-command/types.d.ts.map +1 -0
- package/dist/commands/persist-command/types.js +34 -0
- package/dist/commands/persist-command/types.js.map +1 -0
- package/dist/commands/persist-command.d.ts +7 -2
- package/dist/commands/persist-command.d.ts.map +1 -1
- package/dist/commands/persist-command.js +17 -933
- package/dist/commands/persist-command.js.map +1 -1
- package/dist/copilot/copilot-executor.js +25 -25
- package/dist/copilot/copilot-executor.js.map +1 -1
- package/dist/cursor/cursor-daemon-entry.d.ts.map +1 -1
- package/dist/cursor/cursor-daemon-entry.js +34 -9
- package/dist/cursor/cursor-daemon-entry.js.map +1 -1
- package/dist/cursor/cursor-daemon.d.ts.map +1 -1
- package/dist/cursor/cursor-daemon.js +1 -0
- package/dist/cursor/cursor-daemon.js.map +1 -1
- package/dist/cursor/cursor-profile-executor.d.ts.map +1 -1
- package/dist/cursor/cursor-profile-executor.js +18 -17
- package/dist/cursor/cursor-profile-executor.js.map +1 -1
- package/dist/delegation/delegation-handler.d.ts.map +1 -1
- package/dist/delegation/delegation-handler.js +29 -23
- package/dist/delegation/delegation-handler.js.map +1 -1
- package/dist/delegation/headless-executor.d.ts +1 -0
- package/dist/delegation/headless-executor.d.ts.map +1 -1
- package/dist/delegation/headless-executor.js +36 -15
- package/dist/delegation/headless-executor.js.map +1 -1
- package/dist/delegation/session-manager.d.ts.map +1 -1
- package/dist/delegation/session-manager.js +12 -4
- package/dist/delegation/session-manager.js.map +1 -1
- package/dist/dispatcher/cli-argument-parser.d.ts +1 -1
- package/dist/dispatcher/cli-argument-parser.d.ts.map +1 -1
- package/dist/dispatcher/cli-argument-parser.js +24 -23
- package/dist/dispatcher/cli-argument-parser.js.map +1 -1
- package/dist/dispatcher/flows/cliproxy-flow.d.ts.map +1 -1
- package/dist/dispatcher/flows/cliproxy-flow.js +12 -15
- package/dist/dispatcher/flows/cliproxy-flow.js.map +1 -1
- package/dist/dispatcher/flows/copilot-flow.js +1 -1
- package/dist/dispatcher/flows/copilot-flow.js.map +1 -1
- package/dist/dispatcher/flows/cursor-flow.js +1 -1
- package/dist/dispatcher/flows/cursor-flow.js.map +1 -1
- package/dist/dispatcher/flows/settings-flow.d.ts.map +1 -1
- package/dist/dispatcher/flows/settings-flow.js +32 -29
- package/dist/dispatcher/flows/settings-flow.js.map +1 -1
- package/dist/dispatcher/profile-resolver.d.ts.map +1 -1
- package/dist/dispatcher/profile-resolver.js +16 -16
- package/dist/dispatcher/profile-resolver.js.map +1 -1
- package/dist/docker/supervisord-lifecycle.d.ts.map +1 -1
- package/dist/docker/supervisord-lifecycle.js +5 -1
- package/dist/docker/supervisord-lifecycle.js.map +1 -1
- package/dist/errors/error-types.d.ts +26 -22
- package/dist/errors/error-types.d.ts.map +1 -1
- package/dist/errors/error-types.js +15 -12
- package/dist/errors/error-types.js.map +1 -1
- package/dist/errors/exit-codes.d.ts +20 -13
- package/dist/errors/exit-codes.d.ts.map +1 -1
- package/dist/errors/exit-codes.js +32 -28
- package/dist/errors/exit-codes.js.map +1 -1
- package/dist/glmt/delta-accumulator.d.ts +1 -0
- package/dist/glmt/delta-accumulator.d.ts.map +1 -1
- package/dist/glmt/delta-accumulator.js +12 -4
- package/dist/glmt/delta-accumulator.js.map +1 -1
- package/dist/glmt/glmt-proxy.d.ts.map +1 -1
- package/dist/glmt/glmt-proxy.js +39 -10
- package/dist/glmt/glmt-proxy.js.map +1 -1
- package/dist/glmt/glmt-transformer.d.ts.map +1 -1
- package/dist/glmt/glmt-transformer.js +1 -4
- package/dist/glmt/glmt-transformer.js.map +1 -1
- package/dist/glmt/pipeline/request-transformer.d.ts.map +1 -1
- package/dist/glmt/pipeline/request-transformer.js +5 -1
- package/dist/glmt/pipeline/request-transformer.js.map +1 -1
- package/dist/glmt/pipeline/response-builder.d.ts.map +1 -1
- package/dist/glmt/pipeline/response-builder.js +7 -3
- package/dist/glmt/pipeline/response-builder.js.map +1 -1
- package/dist/glmt/pipeline/stream-parser.d.ts.map +1 -1
- package/dist/glmt/pipeline/stream-parser.js +11 -5
- package/dist/glmt/pipeline/stream-parser.js.map +1 -1
- package/dist/glmt/pipeline/tool-call-handler.d.ts.map +1 -1
- package/dist/glmt/pipeline/tool-call-handler.js +7 -1
- package/dist/glmt/pipeline/tool-call-handler.js.map +1 -1
- package/dist/glmt/sse-parser.d.ts +1 -0
- package/dist/glmt/sse-parser.d.ts.map +1 -1
- package/dist/glmt/sse-parser.js +7 -3
- package/dist/glmt/sse-parser.js.map +1 -1
- package/dist/management/shared-manager/fs-helpers.d.ts +69 -0
- package/dist/management/shared-manager/fs-helpers.d.ts.map +1 -0
- package/dist/management/shared-manager/fs-helpers.js +241 -0
- package/dist/management/shared-manager/fs-helpers.js.map +1 -0
- package/dist/management/shared-manager/migrations.d.ts +21 -0
- package/dist/management/shared-manager/migrations.d.ts.map +1 -0
- package/dist/management/shared-manager/migrations.js +187 -0
- package/dist/management/shared-manager/migrations.js.map +1 -0
- package/dist/management/shared-manager/orchestrator.d.ts +87 -0
- package/dist/management/shared-manager/orchestrator.d.ts.map +1 -0
- package/dist/management/shared-manager/orchestrator.js +161 -0
- package/dist/management/shared-manager/orchestrator.js.map +1 -0
- package/dist/management/shared-manager/plugin-layout-internals.d.ts +42 -0
- package/dist/management/shared-manager/plugin-layout-internals.d.ts.map +1 -0
- package/dist/management/shared-manager/plugin-layout-internals.js +192 -0
- package/dist/management/shared-manager/plugin-layout-internals.js.map +1 -0
- package/dist/management/shared-manager/plugin-metadata-normalizer.d.ts +53 -0
- package/dist/management/shared-manager/plugin-metadata-normalizer.d.ts.map +1 -0
- package/dist/management/shared-manager/plugin-metadata-normalizer.js +253 -0
- package/dist/management/shared-manager/plugin-metadata-normalizer.js.map +1 -0
- package/dist/management/shared-manager/project-context-sync.d.ts +36 -0
- package/dist/management/shared-manager/project-context-sync.d.ts.map +1 -0
- package/dist/management/shared-manager/project-context-sync.js +204 -0
- package/dist/management/shared-manager/project-context-sync.js.map +1 -0
- package/dist/management/shared-manager/project-memory-sync.d.ts +21 -0
- package/dist/management/shared-manager/project-memory-sync.d.ts.map +1 -0
- package/dist/management/shared-manager/project-memory-sync.js +113 -0
- package/dist/management/shared-manager/project-memory-sync.js.map +1 -0
- package/dist/management/shared-manager/shared-dir-linker.d.ts +41 -0
- package/dist/management/shared-manager/shared-dir-linker.d.ts.map +1 -0
- package/dist/management/shared-manager/shared-dir-linker.js +227 -0
- package/dist/management/shared-manager/shared-dir-linker.js.map +1 -0
- package/dist/management/shared-manager/symlink-helpers.d.ts +61 -0
- package/dist/management/shared-manager/symlink-helpers.d.ts.map +1 -0
- package/dist/management/shared-manager/symlink-helpers.js +243 -0
- package/dist/management/shared-manager/symlink-helpers.js.map +1 -0
- package/dist/management/shared-manager/types.d.ts +45 -0
- package/dist/management/shared-manager/types.d.ts.map +1 -0
- package/dist/management/shared-manager/types.js +57 -0
- package/dist/management/shared-manager/types.js.map +1 -0
- package/dist/management/shared-manager.d.ts +13 -160
- package/dist/management/shared-manager.d.ts.map +1 -1
- package/dist/management/shared-manager.js +18 -1294
- package/dist/management/shared-manager.js.map +1 -1
- package/dist/proxy/proxy-daemon-entry.js +1 -1
- package/dist/proxy/proxy-daemon-entry.js.map +1 -1
- package/dist/proxy/transformers/sse-stream-transformer.d.ts.map +1 -1
- package/dist/proxy/transformers/sse-stream-transformer.js +12 -17
- package/dist/proxy/transformers/sse-stream-transformer.js.map +1 -1
- package/dist/services/logging/index.d.ts +1 -1
- package/dist/services/logging/index.d.ts.map +1 -1
- package/dist/services/logging/index.js +6 -1
- package/dist/services/logging/index.js.map +1 -1
- package/dist/services/logging/log-context.d.ts +27 -2
- package/dist/services/logging/log-context.d.ts.map +1 -1
- package/dist/services/logging/log-context.js +43 -4
- package/dist/services/logging/log-context.js.map +1 -1
- package/dist/services/logging/log-redaction.d.ts +9 -0
- package/dist/services/logging/log-redaction.d.ts.map +1 -1
- package/dist/services/logging/log-redaction.js +31 -3
- package/dist/services/logging/log-redaction.js.map +1 -1
- package/dist/services/logging/logger.js +2 -2
- package/dist/services/logging/logger.js.map +1 -1
- package/dist/shared/provider-preset-catalog.js +7 -7
- package/dist/shared/provider-preset-catalog.js.map +1 -1
- package/dist/targets/codex-adapter.d.ts.map +1 -1
- package/dist/targets/codex-adapter.js +11 -10
- package/dist/targets/codex-adapter.js.map +1 -1
- package/dist/targets/droid-adapter.d.ts.map +1 -1
- package/dist/targets/droid-adapter.js +12 -12
- package/dist/targets/droid-adapter.js.map +1 -1
- package/dist/ui/assets/{Trans-BXjW_Rw3.js → Trans-GYzYLs2D.js} +1 -1
- package/dist/ui/assets/{accounts-C7JMc-UL.js → accounts-DC1QuyI9.js} +1 -1
- package/dist/ui/assets/{alert-dialog-BSSHnWG_.js → alert-dialog-6SiedqmE.js} +1 -1
- package/dist/ui/assets/{api-GzEZNvOJ.js → api-3s21dbNJ.js} +1 -1
- package/dist/ui/assets/{auth-section-B6k7LWIq.js → auth-section-XBfNgVN4.js} +1 -1
- package/dist/ui/assets/{backups-section-Cr3g01YN.js → backups-section-BidiiVlq.js} +1 -1
- package/dist/ui/assets/{channels-CMyh1yhN.js → channels-pfgPUDGt.js} +1 -1
- package/dist/ui/assets/{checkbox-BkqYXiER.js → checkbox-CJw_-nvC.js} +1 -1
- package/dist/ui/assets/{claude-extension-BzYl3zcz.js → claude-extension-BIIUOvTJ.js} +1 -1
- package/dist/ui/assets/{cliproxy-DwzKzuZI.js → cliproxy-Cq8OX0Pu.js} +1 -1
- package/dist/ui/assets/{cliproxy-ai-providers-DL95SYNa.js → cliproxy-ai-providers-DI760ZF0.js} +1 -1
- package/dist/ui/assets/{cliproxy-control-panel-Ba2Rgzdo.js → cliproxy-control-panel-CBqvpOqj.js} +1 -1
- package/dist/ui/assets/{codex-ClTEGCnr.js → codex-DL4OLBUu.js} +1 -1
- package/dist/ui/assets/{confirm-dialog-BPAO4ILr.js → confirm-dialog-CC_Cc3EO.js} +1 -1
- package/dist/ui/assets/{copilot-CymHD4gl.js → copilot-D2kEhTXR.js} +1 -1
- package/dist/ui/assets/{cursor-DAiPXs8h.js → cursor-BashLrYk.js} +1 -1
- package/dist/ui/assets/{droid-CAhLWDOj.js → droid-DaKTINFL.js} +1 -1
- package/dist/ui/assets/{globalenv-section-BK5x_uXG.js → globalenv-section-BQicL8L0.js} +1 -1
- package/dist/ui/assets/{health-D_ErMvYv.js → health-bRbE_ADg.js} +1 -1
- package/dist/ui/assets/{index-BcfwoMDm.js → index-B2JEyN3d.js} +36 -36
- package/dist/ui/assets/{index-B4cUkPwc.js → index-BwZdl1HU.js} +1 -1
- package/dist/ui/assets/{index-BZMyk4bI.js → index-CgeAb1-K.js} +1 -1
- package/dist/ui/assets/{index-BmbKPprT.js → index-DAQ0qIQ_.js} +1 -1
- package/dist/ui/assets/{index-CEjVNSjg.js → index-O2x1grGh.js} +1 -1
- package/dist/ui/assets/{index-DCC80SZ0.js → index-WA7tK6np.js} +1 -1
- package/dist/ui/assets/{index-CFDjAXOB.js → index-mf2X1GwS.js} +1 -1
- package/dist/ui/assets/{logs-DwhXr-9Y.js → logs-qrBHUJ0H.js} +1 -1
- package/dist/ui/assets/{masked-input-DWJTe7jh.js → masked-input-CXwQ4E-g.js} +1 -1
- package/dist/ui/assets/{proxy-status-widget-CJXi8yui.js → proxy-status-widget-DPz4nCzR.js} +1 -1
- package/dist/ui/assets/{raw-json-settings-editor-panel-DWhAi0kI.js → raw-json-settings-editor-panel-CcvsWVh1.js} +1 -1
- package/dist/ui/assets/{searchable-select-CYC4Y8pS.js → searchable-select-EXSjNCRu.js} +1 -1
- package/dist/ui/assets/{separator-JhuNwVKE.js → separator-D2CTfWBQ.js} +1 -1
- package/dist/ui/assets/{shared-Hpgs7l5G.js → shared-DpgzhFqe.js} +1 -1
- package/dist/ui/assets/{table-DDJTZfyL.js → table-DwbiGRYk.js} +1 -1
- package/dist/ui/assets/{updates-CtygOHUO.js → updates-D8jfIb2y.js} +1 -1
- package/dist/ui/assets/{use-accounts-CaptC8AS.js → use-accounts-Bwtpnx-x.js} +1 -1
- package/dist/ui/index.html +1 -1
- package/dist/utils/image-analysis/mcp-installer.d.ts.map +1 -1
- package/dist/utils/image-analysis/mcp-installer.js +16 -13
- package/dist/utils/image-analysis/mcp-installer.js.map +1 -1
- package/dist/utils/websearch/index.d.ts +1 -1
- package/dist/utils/websearch/index.d.ts.map +1 -1
- package/dist/utils/websearch/index.js +2 -1
- package/dist/utils/websearch/index.js.map +1 -1
- package/dist/utils/websearch/mcp-installer.d.ts +8 -0
- package/dist/utils/websearch/mcp-installer.d.ts.map +1 -1
- package/dist/utils/websearch/mcp-installer.js +34 -13
- package/dist/utils/websearch/mcp-installer.js.map +1 -1
- package/dist/utils/websearch-manager.d.ts +1 -1
- package/dist/utils/websearch-manager.d.ts.map +1 -1
- package/dist/utils/websearch-manager.js +2 -1
- package/dist/utils/websearch-manager.js.map +1 -1
- package/dist/web-server/middleware/request-logging-middleware.d.ts.map +1 -1
- package/dist/web-server/middleware/request-logging-middleware.js +14 -9
- package/dist/web-server/middleware/request-logging-middleware.js.map +1 -1
- package/dist/web-server/model-pricing.d.ts.map +1 -1
- package/dist/web-server/model-pricing.js +22 -2
- package/dist/web-server/model-pricing.js.map +1 -1
- package/dist/web-server/routes/bar-routes.d.ts +12 -1
- package/dist/web-server/routes/bar-routes.d.ts.map +1 -1
- package/dist/web-server/routes/bar-routes.js +22 -6
- package/dist/web-server/routes/bar-routes.js.map +1 -1
- package/dist/web-server/routes/claude-extension-routes.d.ts.map +1 -1
- package/dist/web-server/routes/claude-extension-routes.js +3 -2
- package/dist/web-server/routes/claude-extension-routes.js.map +1 -1
- package/dist/web-server/routes/cliproxy-auth-routes.d.ts +1 -0
- package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
- package/dist/web-server/routes/cliproxy-auth-routes.js +20 -5
- package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
- package/dist/web-server/routes/cliproxy-stats-routes/config-routes.d.ts +16 -0
- package/dist/web-server/routes/cliproxy-stats-routes/config-routes.d.ts.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/config-routes.js +219 -0
- package/dist/web-server/routes/cliproxy-stats-routes/config-routes.js.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/error-log-routes.d.ts +12 -0
- package/dist/web-server/routes/cliproxy-stats-routes/error-log-routes.d.ts.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/error-log-routes.js +153 -0
- package/dist/web-server/routes/cliproxy-stats-routes/error-log-routes.js.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/quota-helpers.d.ts +19 -0
- package/dist/web-server/routes/cliproxy-stats-routes/quota-helpers.d.ts.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/quota-helpers.js +38 -0
- package/dist/web-server/routes/cliproxy-stats-routes/quota-helpers.js.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/quota-routes.d.ts +13 -0
- package/dist/web-server/routes/cliproxy-stats-routes/quota-routes.d.ts.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/quota-routes.js +195 -0
- package/dist/web-server/routes/cliproxy-stats-routes/quota-routes.js.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/restart-route.d.ts +17 -0
- package/dist/web-server/routes/cliproxy-stats-routes/restart-route.d.ts.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/restart-route.js +34 -0
- package/dist/web-server/routes/cliproxy-stats-routes/restart-route.js.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/router.d.ts +10 -0
- package/dist/web-server/routes/cliproxy-stats-routes/router.d.ts.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/router.js +245 -0
- package/dist/web-server/routes/cliproxy-stats-routes/router.js.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/shared.d.ts +35 -0
- package/dist/web-server/routes/cliproxy-stats-routes/shared.d.ts.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/shared.js +59 -0
- package/dist/web-server/routes/cliproxy-stats-routes/shared.js.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/version-helpers.d.ts +44 -0
- package/dist/web-server/routes/cliproxy-stats-routes/version-helpers.d.ts.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/version-helpers.js +66 -0
- package/dist/web-server/routes/cliproxy-stats-routes/version-helpers.js.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes.d.ts +16 -57
- package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -1
- package/dist/web-server/routes/cliproxy-stats-routes.js +25 -926
- package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -1
- package/dist/web-server/routes/cliproxy-sync-routes.d.ts.map +1 -1
- package/dist/web-server/routes/cliproxy-sync-routes.js +9 -2
- package/dist/web-server/routes/cliproxy-sync-routes.js.map +1 -1
- package/dist/web-server/routes/copilot-settings-routes.d.ts.map +1 -1
- package/dist/web-server/routes/copilot-settings-routes.js +2 -1
- package/dist/web-server/routes/copilot-settings-routes.js.map +1 -1
- package/dist/web-server/routes/image-analysis-routes.d.ts.map +1 -1
- package/dist/web-server/routes/image-analysis-routes.js +2 -1
- package/dist/web-server/routes/image-analysis-routes.js.map +1 -1
- package/dist/web-server/routes/persist-routes.d.ts.map +1 -1
- package/dist/web-server/routes/persist-routes.js +8 -1
- package/dist/web-server/routes/persist-routes.js.map +1 -1
- package/dist/web-server/routes/proxy-routes.d.ts.map +1 -1
- package/dist/web-server/routes/proxy-routes.js +33 -5
- package/dist/web-server/routes/proxy-routes.js.map +1 -1
- package/dist/web-server/routes/route-helpers.d.ts.map +1 -1
- package/dist/web-server/routes/route-helpers.js +10 -6
- package/dist/web-server/routes/route-helpers.js.map +1 -1
- package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
- package/dist/web-server/routes/settings-routes.js +7 -6
- package/dist/web-server/routes/settings-routes.js.map +1 -1
- package/dist/web-server/usage/aggregator.d.ts.map +1 -1
- package/dist/web-server/usage/aggregator.js +8 -8
- package/dist/web-server/usage/aggregator.js.map +1 -1
- package/dist/web-server/usage/bar-analytics.d.ts +21 -0
- package/dist/web-server/usage/bar-analytics.d.ts.map +1 -1
- package/dist/web-server/usage/bar-analytics.js +78 -9
- package/dist/web-server/usage/bar-analytics.js.map +1 -1
- package/dist/web-server/usage/handlers.d.ts.map +1 -1
- package/dist/web-server/usage/handlers.js +1 -1
- package/dist/web-server/usage/handlers.js.map +1 -1
- package/dist/web-server/usage/native-quota-collector.d.ts +37 -9
- package/dist/web-server/usage/native-quota-collector.d.ts.map +1 -1
- package/dist/web-server/usage/native-quota-collector.js +226 -23
- package/dist/web-server/usage/native-quota-collector.js.map +1 -1
- package/package.json +1 -1
- package/scripts/ci-parity-gate.sh +31 -0
- package/scripts/generate-throw-error-baseline.js +103 -0
- package/scripts/hardening-inventory.js +62 -4
- package/scripts/maintainability-metrics.js +356 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SharedManager - async symlink and merge helpers.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from the original monolithic shared-manager.ts. These functions
|
|
5
|
+
* handle the cross-platform symlink + recursive merge primitives that the
|
|
6
|
+
* project-context-sync and project-memory flows build on.
|
|
7
|
+
*
|
|
8
|
+
* Logging is dependency-injected via the SymlinkHelperDeps interface so this
|
|
9
|
+
* module stays free of imports from the UI layer. The orchestrator class is
|
|
10
|
+
* responsible for supplying `warn` from `../utils/ui`.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Dependencies that the orchestrator (SharedManager) must supply to the
|
|
14
|
+
* symlink helpers. Injected rather than imported so this module has no
|
|
15
|
+
* coupling to the UI layer.
|
|
16
|
+
*/
|
|
17
|
+
export interface SymlinkHelperDeps {
|
|
18
|
+
warn: (message: string) => string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Check whether a symlink points at an expected target. Returns false on any
|
|
22
|
+
* IO error or when the link is not a symlink.
|
|
23
|
+
*/
|
|
24
|
+
export declare function isSymlinkTarget(linkPath: string, expectedTarget: string): Promise<boolean>;
|
|
25
|
+
/**
|
|
26
|
+
* Resolve a symlink to its absolute target path. Returns null on failure.
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolveSymlinkTargetPath(linkPath: string): Promise<string | null>;
|
|
29
|
+
/**
|
|
30
|
+
* Create a symlink from linkPath to targetPath, falling back to a recursive
|
|
31
|
+
* copy on Windows when symlink creation fails.
|
|
32
|
+
*/
|
|
33
|
+
export declare function linkDirectoryWithFallback(targetPath: string, linkPath: string, deps: SymlinkHelperDeps): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Ensure a symlink from linkPath to targetPath exists, creating the target
|
|
36
|
+
* directory first if needed. Returns true when a new link/copy was created
|
|
37
|
+
* or an existing incorrect link was replaced.
|
|
38
|
+
*/
|
|
39
|
+
export declare function ensureProjectMemoryLink(linkPath: string, targetPath: string, deps: SymlinkHelperDeps): Promise<boolean>;
|
|
40
|
+
/**
|
|
41
|
+
* Merge sourceDir into targetDir recursively. On file conflicts the target
|
|
42
|
+
* is preserved and the source file is copied as
|
|
43
|
+
* "<name>.migrated-from-<instance>[-N]" to avoid data loss. Returns the
|
|
44
|
+
* number of conflict copies produced.
|
|
45
|
+
*/
|
|
46
|
+
export declare function mergeDirectoryWithConflictCopies(sourceDir: string, targetDir: string, instanceName: string): Promise<number>;
|
|
47
|
+
/**
|
|
48
|
+
* Migrate legacy per-project memory symlinks that point into the shared
|
|
49
|
+
* memory root back to instance-local directories, preserving data via
|
|
50
|
+
* conflict-copy merge.
|
|
51
|
+
*/
|
|
52
|
+
export declare function detachLegacySharedMemoryLinks(projectsPath: string, instanceName: string, sharedDir: string): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Guard project merge operations to known CCS-managed roots only.
|
|
55
|
+
*/
|
|
56
|
+
export declare function isSafeProjectsMergeSource(sourcePath: string, instanceName: string, sharedDir: string, instancesDir: string): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Guard advanced continuity merge operations to known CCS-managed roots only.
|
|
59
|
+
*/
|
|
60
|
+
export declare function isSafeContinuityMergeSource(sourcePath: string, instanceName: string, artifactName: string, sharedDir: string, instancesDir: string): boolean;
|
|
61
|
+
//# sourceMappingURL=symlink-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symlink-helpers.d.ts","sourceRoot":"","sources":["../../../src/management/shared-manager/symlink-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAeH;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CACnC;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAchG;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOvF;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,OAAO,CAAC,CAyClB;AAED;;;;;GAKG;AACH,wBAAsB,gCAAgC,CACpD,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAgCjB;AAED;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAWT;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAmBT"}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* SharedManager - async symlink and merge helpers.
|
|
4
|
+
*
|
|
5
|
+
* Extracted from the original monolithic shared-manager.ts. These functions
|
|
6
|
+
* handle the cross-platform symlink + recursive merge primitives that the
|
|
7
|
+
* project-context-sync and project-memory flows build on.
|
|
8
|
+
*
|
|
9
|
+
* Logging is dependency-injected via the SymlinkHelperDeps interface so this
|
|
10
|
+
* module stays free of imports from the UI layer. The orchestrator class is
|
|
11
|
+
* responsible for supplying `warn` from `../utils/ui`.
|
|
12
|
+
*/
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.isSafeContinuityMergeSource = exports.isSafeProjectsMergeSource = exports.detachLegacySharedMemoryLinks = exports.mergeDirectoryWithConflictCopies = exports.ensureProjectMemoryLink = exports.linkDirectoryWithFallback = exports.resolveSymlinkTargetPath = exports.isSymlinkTarget = void 0;
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
const path = __importStar(require("path"));
|
|
40
|
+
const fs_helpers_1 = require("./fs-helpers");
|
|
41
|
+
/**
|
|
42
|
+
* Check whether a symlink points at an expected target. Returns false on any
|
|
43
|
+
* IO error or when the link is not a symlink.
|
|
44
|
+
*/
|
|
45
|
+
async function isSymlinkTarget(linkPath, expectedTarget) {
|
|
46
|
+
try {
|
|
47
|
+
const stats = await fs.promises.lstat(linkPath);
|
|
48
|
+
if (!stats.isSymbolicLink()) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
const currentTarget = await fs.promises.readlink(linkPath);
|
|
52
|
+
const resolvedCurrentTarget = path.resolve(path.dirname(linkPath), currentTarget);
|
|
53
|
+
const resolvedExpectedTarget = path.resolve(expectedTarget);
|
|
54
|
+
return resolvedCurrentTarget === resolvedExpectedTarget;
|
|
55
|
+
}
|
|
56
|
+
catch (_err) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.isSymlinkTarget = isSymlinkTarget;
|
|
61
|
+
/**
|
|
62
|
+
* Resolve a symlink to its absolute target path. Returns null on failure.
|
|
63
|
+
*/
|
|
64
|
+
async function resolveSymlinkTargetPath(linkPath) {
|
|
65
|
+
try {
|
|
66
|
+
const currentTarget = await fs.promises.readlink(linkPath);
|
|
67
|
+
return path.resolve(path.dirname(linkPath), currentTarget);
|
|
68
|
+
}
|
|
69
|
+
catch (_err) {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.resolveSymlinkTargetPath = resolveSymlinkTargetPath;
|
|
74
|
+
/**
|
|
75
|
+
* Create a symlink from linkPath to targetPath, falling back to a recursive
|
|
76
|
+
* copy on Windows when symlink creation fails.
|
|
77
|
+
*/
|
|
78
|
+
async function linkDirectoryWithFallback(targetPath, linkPath, deps) {
|
|
79
|
+
const symlinkType = process.platform === 'win32' ? 'junction' : 'dir';
|
|
80
|
+
const linkTarget = process.platform === 'win32' ? path.resolve(targetPath) : targetPath;
|
|
81
|
+
try {
|
|
82
|
+
await fs.promises.symlink(linkTarget, linkPath, symlinkType);
|
|
83
|
+
}
|
|
84
|
+
catch (_err) {
|
|
85
|
+
if (process.platform === 'win32') {
|
|
86
|
+
(0, fs_helpers_1.copyDirectoryFallback)(targetPath, linkPath);
|
|
87
|
+
console.log(deps.warn(`Symlink failed for context projects, copied instead (enable Developer Mode)`));
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
throw _err;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.linkDirectoryWithFallback = linkDirectoryWithFallback;
|
|
94
|
+
/**
|
|
95
|
+
* Ensure a symlink from linkPath to targetPath exists, creating the target
|
|
96
|
+
* directory first if needed. Returns true when a new link/copy was created
|
|
97
|
+
* or an existing incorrect link was replaced.
|
|
98
|
+
*/
|
|
99
|
+
async function ensureProjectMemoryLink(linkPath, targetPath, deps) {
|
|
100
|
+
await (0, fs_helpers_1.ensureDirectory)(targetPath);
|
|
101
|
+
let linkStats = null;
|
|
102
|
+
try {
|
|
103
|
+
linkStats = await fs.promises.lstat(linkPath);
|
|
104
|
+
}
|
|
105
|
+
catch (err) {
|
|
106
|
+
if (err.code !== 'ENOENT') {
|
|
107
|
+
throw err;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
if (linkStats) {
|
|
111
|
+
if (linkStats.isSymbolicLink() && (await isSymlinkTarget(linkPath, targetPath))) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
if (linkStats.isDirectory()) {
|
|
115
|
+
await fs.promises.rm(linkPath, { recursive: true, force: true });
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
await fs.promises.unlink(linkPath);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
const symlinkType = process.platform === 'win32' ? 'junction' : 'dir';
|
|
122
|
+
const linkTarget = process.platform === 'win32' ? path.resolve(targetPath) : targetPath;
|
|
123
|
+
try {
|
|
124
|
+
await fs.promises.symlink(linkTarget, linkPath, symlinkType);
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
catch (_err) {
|
|
128
|
+
if (process.platform === 'win32') {
|
|
129
|
+
(0, fs_helpers_1.copyDirectoryFallback)(targetPath, linkPath);
|
|
130
|
+
console.log(deps.warn(`Symlink failed for project memory, copied instead (enable Developer Mode)`));
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
throw _err;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.ensureProjectMemoryLink = ensureProjectMemoryLink;
|
|
137
|
+
/**
|
|
138
|
+
* Merge sourceDir into targetDir recursively. On file conflicts the target
|
|
139
|
+
* is preserved and the source file is copied as
|
|
140
|
+
* "<name>.migrated-from-<instance>[-N]" to avoid data loss. Returns the
|
|
141
|
+
* number of conflict copies produced.
|
|
142
|
+
*/
|
|
143
|
+
async function mergeDirectoryWithConflictCopies(sourceDir, targetDir, instanceName) {
|
|
144
|
+
await (0, fs_helpers_1.ensureDirectory)(targetDir);
|
|
145
|
+
let conflicts = 0;
|
|
146
|
+
const entries = await fs.promises.readdir(sourceDir, { withFileTypes: true });
|
|
147
|
+
for (const entry of entries) {
|
|
148
|
+
const sourcePath = path.join(sourceDir, entry.name);
|
|
149
|
+
const targetPath = path.join(targetDir, entry.name);
|
|
150
|
+
if (entry.isDirectory()) {
|
|
151
|
+
conflicts += await mergeDirectoryWithConflictCopies(sourcePath, targetPath, instanceName);
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
if (entry.isFile()) {
|
|
155
|
+
if (!(await (0, fs_helpers_1.pathExists)(targetPath))) {
|
|
156
|
+
await fs.promises.copyFile(sourcePath, targetPath);
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
159
|
+
if (await (0, fs_helpers_1.fileContentsEqual)(sourcePath, targetPath)) {
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
const conflictPath = await (0, fs_helpers_1.getConflictCopyPath)(targetPath, instanceName);
|
|
163
|
+
await fs.promises.copyFile(sourcePath, conflictPath);
|
|
164
|
+
conflicts++;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return conflicts;
|
|
168
|
+
}
|
|
169
|
+
exports.mergeDirectoryWithConflictCopies = mergeDirectoryWithConflictCopies;
|
|
170
|
+
/**
|
|
171
|
+
* Migrate legacy per-project memory symlinks that point into the shared
|
|
172
|
+
* memory root back to instance-local directories, preserving data via
|
|
173
|
+
* conflict-copy merge.
|
|
174
|
+
*/
|
|
175
|
+
async function detachLegacySharedMemoryLinks(projectsPath, instanceName, sharedDir) {
|
|
176
|
+
const sharedMemoryRoot = (0, fs_helpers_1.resolveCanonicalPath)(path.join(sharedDir, 'memory'));
|
|
177
|
+
let projectEntries = [];
|
|
178
|
+
try {
|
|
179
|
+
projectEntries = await fs.promises.readdir(projectsPath, { withFileTypes: true });
|
|
180
|
+
}
|
|
181
|
+
catch (_err) {
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
for (const entry of projectEntries) {
|
|
185
|
+
if (!entry.isDirectory()) {
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
const projectPath = path.join(projectsPath, entry.name);
|
|
189
|
+
const memoryPath = path.join(projectPath, 'memory');
|
|
190
|
+
let memoryStats = null;
|
|
191
|
+
try {
|
|
192
|
+
memoryStats = await fs.promises.lstat(memoryPath);
|
|
193
|
+
}
|
|
194
|
+
catch (_err) {
|
|
195
|
+
memoryStats = null;
|
|
196
|
+
}
|
|
197
|
+
if (!memoryStats?.isSymbolicLink()) {
|
|
198
|
+
continue;
|
|
199
|
+
}
|
|
200
|
+
const memoryTarget = await resolveSymlinkTargetPath(memoryPath);
|
|
201
|
+
if (!memoryTarget) {
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
204
|
+
const canonicalMemoryTarget = (0, fs_helpers_1.resolveCanonicalPath)(memoryTarget);
|
|
205
|
+
if (!(0, fs_helpers_1.isPathWithinDirectory)(canonicalMemoryTarget, sharedMemoryRoot)) {
|
|
206
|
+
continue;
|
|
207
|
+
}
|
|
208
|
+
await fs.promises.unlink(memoryPath);
|
|
209
|
+
await (0, fs_helpers_1.ensureDirectory)(memoryPath);
|
|
210
|
+
if (await (0, fs_helpers_1.pathExists)(canonicalMemoryTarget)) {
|
|
211
|
+
await mergeDirectoryWithConflictCopies(canonicalMemoryTarget, memoryPath, instanceName);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
exports.detachLegacySharedMemoryLinks = detachLegacySharedMemoryLinks;
|
|
216
|
+
/**
|
|
217
|
+
* Guard project merge operations to known CCS-managed roots only.
|
|
218
|
+
*/
|
|
219
|
+
function isSafeProjectsMergeSource(sourcePath, instanceName, sharedDir, instancesDir) {
|
|
220
|
+
const resolvedSource = (0, fs_helpers_1.resolveCanonicalPath)(sourcePath);
|
|
221
|
+
const sharedContextRoot = (0, fs_helpers_1.resolveCanonicalPath)(path.join(sharedDir, 'context-groups'));
|
|
222
|
+
const instanceProjectsRoot = (0, fs_helpers_1.resolveCanonicalPath)(path.join(instancesDir, instanceName, 'projects'));
|
|
223
|
+
return ((0, fs_helpers_1.isPathWithinDirectory)(resolvedSource, sharedContextRoot) ||
|
|
224
|
+
(0, fs_helpers_1.isPathWithinDirectory)(resolvedSource, instanceProjectsRoot));
|
|
225
|
+
}
|
|
226
|
+
exports.isSafeProjectsMergeSource = isSafeProjectsMergeSource;
|
|
227
|
+
/**
|
|
228
|
+
* Guard advanced continuity merge operations to known CCS-managed roots only.
|
|
229
|
+
*/
|
|
230
|
+
function isSafeContinuityMergeSource(sourcePath, instanceName, artifactName, sharedDir, instancesDir) {
|
|
231
|
+
const resolvedSource = (0, fs_helpers_1.resolveCanonicalPath)(sourcePath);
|
|
232
|
+
const sharedContextRoot = (0, fs_helpers_1.resolveCanonicalPath)(path.join(sharedDir, 'context-groups'));
|
|
233
|
+
const instanceArtifactRoot = (0, fs_helpers_1.resolveCanonicalPath)(path.join(instancesDir, instanceName, artifactName));
|
|
234
|
+
const normalizedSource = process.platform === 'win32' ? resolvedSource.toLowerCase() : resolvedSource;
|
|
235
|
+
const continuitySegment = process.platform === 'win32'
|
|
236
|
+
? `${path.sep}continuity${path.sep}`.toLowerCase()
|
|
237
|
+
: `${path.sep}continuity${path.sep}`;
|
|
238
|
+
const withinSharedContinuity = (0, fs_helpers_1.isPathWithinDirectory)(resolvedSource, sharedContextRoot) &&
|
|
239
|
+
normalizedSource.includes(continuitySegment);
|
|
240
|
+
return withinSharedContinuity || (0, fs_helpers_1.isPathWithinDirectory)(resolvedSource, instanceArtifactRoot);
|
|
241
|
+
}
|
|
242
|
+
exports.isSafeContinuityMergeSource = isSafeContinuityMergeSource;
|
|
243
|
+
//# sourceMappingURL=symlink-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symlink-helpers.js","sourceRoot":"","sources":["../../../src/management/shared-manager/symlink-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SharedManager - shared types and constants.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from the original monolithic shared-manager.ts to keep the
|
|
5
|
+
* orchestrator class focused on coordination. Pure data only: no behavior
|
|
6
|
+
* lives here.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Descriptor for a filesystem entry (directory or file) managed by
|
|
10
|
+
* SharedManager. Used for both top-level shared items and plugin layout
|
|
11
|
+
* entries.
|
|
12
|
+
*/
|
|
13
|
+
export interface SharedItem {
|
|
14
|
+
name: string;
|
|
15
|
+
type: 'directory' | 'file';
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Default content for a freshly provisioned installed_plugins.json registry.
|
|
19
|
+
* Version 2 schema with an empty plugins map.
|
|
20
|
+
*/
|
|
21
|
+
export declare const DEFAULT_INSTALLED_PLUGIN_REGISTRY: string;
|
|
22
|
+
/**
|
|
23
|
+
* Canonical list of shared items linked between ~/.claude and ~/.ccs/shared,
|
|
24
|
+
* and from there into each instance.
|
|
25
|
+
*
|
|
26
|
+
* Order matters: consumers rely on a stable iteration order when reconciling
|
|
27
|
+
* symlinks, and 'plugins' is special-cased by the linker.
|
|
28
|
+
*/
|
|
29
|
+
export declare const SHARED_ITEMS: readonly SharedItem[];
|
|
30
|
+
/**
|
|
31
|
+
* Plugin layout entries that always exist under ~/.claude/plugins and are
|
|
32
|
+
* linked as-is into each instance's plugins directory.
|
|
33
|
+
*/
|
|
34
|
+
export declare const SHARED_PLUGIN_ENTRIES: readonly SharedItem[];
|
|
35
|
+
/**
|
|
36
|
+
* Plugin metadata filenames that are intentionally instance-local and must
|
|
37
|
+
* NOT be linked from the shared plugins directory.
|
|
38
|
+
*/
|
|
39
|
+
export declare const INSTANCE_LOCAL_PLUGIN_METADATA_FILES: Set<string>;
|
|
40
|
+
/**
|
|
41
|
+
* Advanced continuity artifacts linked per context group when the account
|
|
42
|
+
* policy requests shared + deeper continuity.
|
|
43
|
+
*/
|
|
44
|
+
export declare const ADVANCED_CONTINUITY_ITEMS: readonly string[];
|
|
45
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/management/shared-manager/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,iCAAiC,QAO7C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAM7C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,UAAU,EAItD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oCAAoC,aAAuC,CAAC;AAEzF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAKtD,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* SharedManager - shared types and constants.
|
|
4
|
+
*
|
|
5
|
+
* Extracted from the original monolithic shared-manager.ts to keep the
|
|
6
|
+
* orchestrator class focused on coordination. Pure data only: no behavior
|
|
7
|
+
* lives here.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.ADVANCED_CONTINUITY_ITEMS = exports.INSTANCE_LOCAL_PLUGIN_METADATA_FILES = exports.SHARED_PLUGIN_ENTRIES = exports.SHARED_ITEMS = exports.DEFAULT_INSTALLED_PLUGIN_REGISTRY = void 0;
|
|
11
|
+
/**
|
|
12
|
+
* Default content for a freshly provisioned installed_plugins.json registry.
|
|
13
|
+
* Version 2 schema with an empty plugins map.
|
|
14
|
+
*/
|
|
15
|
+
exports.DEFAULT_INSTALLED_PLUGIN_REGISTRY = JSON.stringify({
|
|
16
|
+
version: 2,
|
|
17
|
+
plugins: {},
|
|
18
|
+
}, null, 2);
|
|
19
|
+
/**
|
|
20
|
+
* Canonical list of shared items linked between ~/.claude and ~/.ccs/shared,
|
|
21
|
+
* and from there into each instance.
|
|
22
|
+
*
|
|
23
|
+
* Order matters: consumers rely on a stable iteration order when reconciling
|
|
24
|
+
* symlinks, and 'plugins' is special-cased by the linker.
|
|
25
|
+
*/
|
|
26
|
+
exports.SHARED_ITEMS = [
|
|
27
|
+
{ name: 'commands', type: 'directory' },
|
|
28
|
+
{ name: 'skills', type: 'directory' },
|
|
29
|
+
{ name: 'agents', type: 'directory' },
|
|
30
|
+
{ name: 'plugins', type: 'directory' },
|
|
31
|
+
{ name: 'settings.json', type: 'file' },
|
|
32
|
+
];
|
|
33
|
+
/**
|
|
34
|
+
* Plugin layout entries that always exist under ~/.claude/plugins and are
|
|
35
|
+
* linked as-is into each instance's plugins directory.
|
|
36
|
+
*/
|
|
37
|
+
exports.SHARED_PLUGIN_ENTRIES = [
|
|
38
|
+
{ name: 'cache', type: 'directory' },
|
|
39
|
+
{ name: 'marketplaces', type: 'directory' },
|
|
40
|
+
{ name: 'installed_plugins.json', type: 'file' },
|
|
41
|
+
];
|
|
42
|
+
/**
|
|
43
|
+
* Plugin metadata filenames that are intentionally instance-local and must
|
|
44
|
+
* NOT be linked from the shared plugins directory.
|
|
45
|
+
*/
|
|
46
|
+
exports.INSTANCE_LOCAL_PLUGIN_METADATA_FILES = new Set(['known_marketplaces.json']);
|
|
47
|
+
/**
|
|
48
|
+
* Advanced continuity artifacts linked per context group when the account
|
|
49
|
+
* policy requests shared + deeper continuity.
|
|
50
|
+
*/
|
|
51
|
+
exports.ADVANCED_CONTINUITY_ITEMS = [
|
|
52
|
+
'session-env',
|
|
53
|
+
'file-history',
|
|
54
|
+
'shell-snapshots',
|
|
55
|
+
'todos',
|
|
56
|
+
];
|
|
57
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/management/shared-manager/types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAYH;;;GAGG;AACU,QAAA,iCAAiC,GAAG,IAAI,CAAC,SAAS,CAC7D;IACE,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,EAAE;CACZ,EACD,IAAI,EACJ,CAAC,CACF,CAAC;AAEF;;;;;;GAMG;AACU,QAAA,YAAY,GAA0B;IACjD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE;IACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE;IACrC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE;IACrC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;IACtC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE;CACxC,CAAC;AAEF;;;GAGG;AACU,QAAA,qBAAqB,GAA0B;IAC1D,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE;IACpC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE;IAC3C,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE;CACjD,CAAC;AAEF;;;GAGG;AACU,QAAA,oCAAoC,GAAG,IAAI,GAAG,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;AAEzF;;;GAGG;AACU,QAAA,yBAAyB,GAAsB;IAC1D,aAAa;IACb,cAAc;IACd,iBAAiB;IACjB,OAAO;CACR,CAAC"}
|
|
@@ -1,165 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* v3.2.0: Symlink-based architecture
|
|
2
|
+
* shared-manager.ts - public barrel for the SharedManager module.
|
|
4
3
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Originally a 1631-line god file; split into focused submodules under
|
|
5
|
+
* ./shared-manager/. This file re-exports the full original public surface
|
|
6
|
+
* so consumers importing from 'shared-manager' (and from the
|
|
7
|
+
* 'management/index' re-export) continue to resolve unchanged:
|
|
8
|
+
*
|
|
9
|
+
* - default export: SharedManager class (now a thin orchestrator)
|
|
10
|
+
* - named exports: normalizePluginMetadataContent,
|
|
11
|
+
* normalizePluginMetadataPathString
|
|
12
|
+
*
|
|
13
|
+
* No logic lives in this file. Add new behavior to the appropriate
|
|
14
|
+
* submodule under ./shared-manager/.
|
|
7
15
|
*/
|
|
8
|
-
|
|
16
|
+
export { default } from './shared-manager/orchestrator';
|
|
9
17
|
export { normalizePluginMetadataContent, normalizePluginMetadataPathString, } from './plugin-path-normalizer';
|
|
10
|
-
/**
|
|
11
|
-
* SharedManager Class
|
|
12
|
-
*/
|
|
13
|
-
declare class SharedManager {
|
|
14
|
-
private readonly homeDir;
|
|
15
|
-
private readonly sharedDir;
|
|
16
|
-
private readonly claudeDir;
|
|
17
|
-
private readonly instancesDir;
|
|
18
|
-
private readonly pluginLayoutLock;
|
|
19
|
-
private readonly sharedItems;
|
|
20
|
-
private readonly sharedPluginEntries;
|
|
21
|
-
private readonly instanceLocalPluginMetadataFiles;
|
|
22
|
-
private readonly advancedContinuityItems;
|
|
23
|
-
constructor();
|
|
24
|
-
/**
|
|
25
|
-
* Detect circular symlink before creation
|
|
26
|
-
*/
|
|
27
|
-
private detectCircularSymlink;
|
|
28
|
-
/**
|
|
29
|
-
* Ensure shared directories exist as symlinks to ~/.claude/
|
|
30
|
-
* Creates ~/.claude/ structure if missing
|
|
31
|
-
*/
|
|
32
|
-
ensureSharedDirectories(): void;
|
|
33
|
-
/**
|
|
34
|
-
* Link shared directories to instance
|
|
35
|
-
*/
|
|
36
|
-
linkSharedDirectories(instancePath: string): void;
|
|
37
|
-
detachSharedDirectories(instancePath: string): void;
|
|
38
|
-
private ensureSharedPluginLayoutDefaults;
|
|
39
|
-
private linkInstancePlugins;
|
|
40
|
-
private getSharedPluginLinkItems;
|
|
41
|
-
private removeExistingPath;
|
|
42
|
-
/**
|
|
43
|
-
* Sync project workspace context based on account policy.
|
|
44
|
-
*
|
|
45
|
-
* - isolated (default): each profile keeps its own ./projects directory.
|
|
46
|
-
* - shared: profile ./projects becomes symlink to shared context group root.
|
|
47
|
-
*/
|
|
48
|
-
syncProjectContext(instancePath: string, policy: AccountContextPolicy): Promise<void>;
|
|
49
|
-
/**
|
|
50
|
-
* Sync advanced continuity artifacts for shared deeper mode.
|
|
51
|
-
*
|
|
52
|
-
* - shared + deeper: artifacts are linked per context group.
|
|
53
|
-
* - shared + standard / isolated: artifacts stay local to instance.
|
|
54
|
-
*/
|
|
55
|
-
syncAdvancedContinuityArtifacts(instancePath: string, policy: AccountContextPolicy): Promise<void>;
|
|
56
|
-
/**
|
|
57
|
-
* Ensure all project memory directories for an instance are shared.
|
|
58
|
-
*
|
|
59
|
-
* Source layout (isolated):
|
|
60
|
-
* ~/.ccs/instances/<profile>/projects/<project>/memory/
|
|
61
|
-
*
|
|
62
|
-
* Shared layout (canonical):
|
|
63
|
-
* ~/.ccs/shared/memory/<project>/
|
|
64
|
-
*/
|
|
65
|
-
syncProjectMemories(instancePath: string): Promise<void>;
|
|
66
|
-
/**
|
|
67
|
-
* Normalize plugin metadata and reconcile marketplace metadata for the active config dir.
|
|
68
|
-
*/
|
|
69
|
-
normalizeSharedPluginMetadataPaths(configDir?: string): void;
|
|
70
|
-
normalizeSharedPluginMetadataPathsLocked(configDir?: string): void;
|
|
71
|
-
/**
|
|
72
|
-
* Normalize plugin registry paths to use canonical ~/.claude/ paths
|
|
73
|
-
* instead of instance-specific ~/.ccs/instances/<name>/ paths.
|
|
74
|
-
*
|
|
75
|
-
* This ensures installed_plugins.json is consistent regardless of
|
|
76
|
-
* which CCS instance installed the plugin.
|
|
77
|
-
*/
|
|
78
|
-
normalizePluginRegistryPaths(configDir?: string): void;
|
|
79
|
-
/**
|
|
80
|
-
* Reconcile marketplace registry content into the active config dir while
|
|
81
|
-
* keeping the global ~/.claude copy up to date for non-instance flows.
|
|
82
|
-
*/
|
|
83
|
-
normalizeMarketplaceRegistryPaths(configDir?: string): void;
|
|
84
|
-
private normalizePluginMetadataFiles;
|
|
85
|
-
private getPluginMetadataFilePaths;
|
|
86
|
-
private normalizePluginMetadataFile;
|
|
87
|
-
private getMarketplaceRegistrySourcePaths;
|
|
88
|
-
private buildMarketplaceRegistryContent;
|
|
89
|
-
private discoverMarketplaceEntries;
|
|
90
|
-
private isTransientMarketplaceDirectory;
|
|
91
|
-
private isMarketplaceRegistryEntry;
|
|
92
|
-
private writePluginMetadataFile;
|
|
93
|
-
/**
|
|
94
|
-
* Migrate from v3.1.1 (copied data in ~/.ccs/shared/) to v3.2.0 (symlinks to ~/.claude/)
|
|
95
|
-
* Runs once on upgrade
|
|
96
|
-
*/
|
|
97
|
-
migrateFromV311(): void;
|
|
98
|
-
/**
|
|
99
|
-
* Migrate existing instances from isolated to shared settings.json (v4.4+)
|
|
100
|
-
* Runs once on upgrade
|
|
101
|
-
*/
|
|
102
|
-
migrateToSharedSettings(): void;
|
|
103
|
-
/**
|
|
104
|
-
* Ensure memory path is linked to shared memory root.
|
|
105
|
-
* Returns true when a link/copy was created or updated.
|
|
106
|
-
*/
|
|
107
|
-
private ensureProjectMemoryLink;
|
|
108
|
-
/**
|
|
109
|
-
* Check whether symlink points to expected target.
|
|
110
|
-
*/
|
|
111
|
-
private isSymlinkTarget;
|
|
112
|
-
/**
|
|
113
|
-
* Resolve symlink target to absolute path.
|
|
114
|
-
*/
|
|
115
|
-
private resolveSymlinkTargetPath;
|
|
116
|
-
/**
|
|
117
|
-
* Guard project merge operations to known CCS-managed roots only.
|
|
118
|
-
*/
|
|
119
|
-
private isSafeProjectsMergeSource;
|
|
120
|
-
/**
|
|
121
|
-
* Guard advanced continuity merge operations to known CCS-managed roots only.
|
|
122
|
-
*/
|
|
123
|
-
private isSafeContinuityMergeSource;
|
|
124
|
-
/**
|
|
125
|
-
* Link directory with Windows fallback to recursive copy.
|
|
126
|
-
*/
|
|
127
|
-
private linkDirectoryWithFallback;
|
|
128
|
-
/**
|
|
129
|
-
* Migrate legacy per-project memory symlinks that point to ~/.ccs/shared/memory.
|
|
130
|
-
* This preserves data while restoring true profile isolation.
|
|
131
|
-
*/
|
|
132
|
-
private detachLegacySharedMemoryLinks;
|
|
133
|
-
/**
|
|
134
|
-
* Move directory, with cross-device fallback.
|
|
135
|
-
*/
|
|
136
|
-
private moveDirectory;
|
|
137
|
-
/**
|
|
138
|
-
* Merge source into target. On file conflicts, keep target and copy source
|
|
139
|
-
* as "<name>.migrated-from-<instance>[-N]" to avoid data loss.
|
|
140
|
-
*/
|
|
141
|
-
private mergeDirectoryWithConflictCopies;
|
|
142
|
-
/**
|
|
143
|
-
* Compare two files byte-for-byte.
|
|
144
|
-
*/
|
|
145
|
-
private fileContentsEqual;
|
|
146
|
-
/**
|
|
147
|
-
* Build a non-destructive conflict copy path.
|
|
148
|
-
*/
|
|
149
|
-
private getConflictCopyPath;
|
|
150
|
-
private symlinkPointsTo;
|
|
151
|
-
private detachManagedPluginLayout;
|
|
152
|
-
private reconcileLocalMarketplaceRegistry;
|
|
153
|
-
private resolveCanonicalPath;
|
|
154
|
-
private isPathWithinDirectory;
|
|
155
|
-
private pathExists;
|
|
156
|
-
private ensureDirectory;
|
|
157
|
-
private getLstat;
|
|
158
|
-
private getLstatSync;
|
|
159
|
-
/**
|
|
160
|
-
* Copy directory as fallback (Windows without Developer Mode)
|
|
161
|
-
*/
|
|
162
|
-
private copyDirectoryFallback;
|
|
163
|
-
}
|
|
164
|
-
export default SharedManager;
|
|
165
18
|
//# sourceMappingURL=shared-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-manager.d.ts","sourceRoot":"","sources":["../../src/management/shared-manager.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"shared-manager.d.ts","sourceRoot":"","sources":["../../src/management/shared-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,0BAA0B,CAAC"}
|