@kaitranntt/ccs 7.65.3 → 7.66.0-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/README.md +88 -750
  2. package/dist/api/services/profile-lifecycle-service.d.ts.map +1 -1
  3. package/dist/api/services/profile-lifecycle-service.js +4 -0
  4. package/dist/api/services/profile-lifecycle-service.js.map +1 -1
  5. package/dist/api/services/profile-writer.d.ts.map +1 -1
  6. package/dist/api/services/profile-writer.js +3 -0
  7. package/dist/api/services/profile-writer.js.map +1 -1
  8. package/dist/auth/auth-commands.d.ts +1 -0
  9. package/dist/auth/auth-commands.d.ts.map +1 -1
  10. package/dist/auth/auth-commands.js +11 -0
  11. package/dist/auth/auth-commands.js.map +1 -1
  12. package/dist/auth/commands/backup-command.d.ts +3 -0
  13. package/dist/auth/commands/backup-command.d.ts.map +1 -0
  14. package/dist/auth/commands/backup-command.js +126 -0
  15. package/dist/auth/commands/backup-command.js.map +1 -0
  16. package/dist/auth/commands/index.d.ts +1 -0
  17. package/dist/auth/commands/index.d.ts.map +1 -1
  18. package/dist/auth/commands/index.js +3 -1
  19. package/dist/auth/commands/index.js.map +1 -1
  20. package/dist/auth/profile-continuity-inheritance.d.ts +1 -0
  21. package/dist/auth/profile-continuity-inheritance.d.ts.map +1 -1
  22. package/dist/auth/profile-continuity-inheritance.js +10 -6
  23. package/dist/auth/profile-continuity-inheritance.js.map +1 -1
  24. package/dist/auth/profile-detector.d.ts +9 -1
  25. package/dist/auth/profile-detector.d.ts.map +1 -1
  26. package/dist/auth/profile-detector.js +35 -0
  27. package/dist/auth/profile-detector.js.map +1 -1
  28. package/dist/auth/resume-lane-diagnostics.d.ts +21 -0
  29. package/dist/auth/resume-lane-diagnostics.d.ts.map +1 -0
  30. package/dist/auth/resume-lane-diagnostics.js +146 -0
  31. package/dist/auth/resume-lane-diagnostics.js.map +1 -0
  32. package/dist/auth/resume-lane-warning.d.ts +9 -0
  33. package/dist/auth/resume-lane-warning.d.ts.map +1 -0
  34. package/dist/auth/resume-lane-warning.js +60 -0
  35. package/dist/auth/resume-lane-warning.js.map +1 -0
  36. package/dist/ccs.js +82 -7
  37. package/dist/ccs.js.map +1 -1
  38. package/dist/cliproxy/auth/auth-types.d.ts +29 -6
  39. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
  40. package/dist/cliproxy/auth/auth-types.js +58 -10
  41. package/dist/cliproxy/auth/auth-types.js.map +1 -1
  42. package/dist/cliproxy/auth/oauth-handler.d.ts +9 -1
  43. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
  44. package/dist/cliproxy/auth/oauth-handler.js +196 -45
  45. package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
  46. package/dist/cliproxy/auth/oauth-process.d.ts +13 -1
  47. package/dist/cliproxy/auth/oauth-process.d.ts.map +1 -1
  48. package/dist/cliproxy/auth/oauth-process.js +262 -17
  49. package/dist/cliproxy/auth/oauth-process.js.map +1 -1
  50. package/dist/cliproxy/executor/env-resolver.d.ts +3 -0
  51. package/dist/cliproxy/executor/env-resolver.d.ts.map +1 -1
  52. package/dist/cliproxy/executor/env-resolver.js +19 -1
  53. package/dist/cliproxy/executor/env-resolver.js.map +1 -1
  54. package/dist/cliproxy/executor/index.d.ts +5 -0
  55. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  56. package/dist/cliproxy/executor/index.js +138 -12
  57. package/dist/cliproxy/executor/index.js.map +1 -1
  58. package/dist/cliproxy/gemini-cli-quota-normalizer.d.ts +10 -0
  59. package/dist/cliproxy/gemini-cli-quota-normalizer.d.ts.map +1 -0
  60. package/dist/cliproxy/gemini-cli-quota-normalizer.js +122 -0
  61. package/dist/cliproxy/gemini-cli-quota-normalizer.js.map +1 -0
  62. package/dist/cliproxy/quota-fetcher-gemini-cli.d.ts.map +1 -1
  63. package/dist/cliproxy/quota-fetcher-gemini-cli.js +133 -92
  64. package/dist/cliproxy/quota-fetcher-gemini-cli.js.map +1 -1
  65. package/dist/cliproxy/quota-types.d.ts +8 -0
  66. package/dist/cliproxy/quota-types.d.ts.map +1 -1
  67. package/dist/cliproxy/services/variant-settings.d.ts.map +1 -1
  68. package/dist/cliproxy/services/variant-settings.js +11 -0
  69. package/dist/cliproxy/services/variant-settings.js.map +1 -1
  70. package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
  71. package/dist/commands/cliproxy/quota-subcommand.js +10 -1
  72. package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
  73. package/dist/commands/command-catalog.d.ts +39 -0
  74. package/dist/commands/command-catalog.d.ts.map +1 -0
  75. package/dist/commands/command-catalog.js +299 -0
  76. package/dist/commands/command-catalog.js.map +1 -0
  77. package/dist/commands/completion-backend.d.ts +14 -0
  78. package/dist/commands/completion-backend.d.ts.map +1 -0
  79. package/dist/commands/completion-backend.js +216 -0
  80. package/dist/commands/completion-backend.js.map +1 -0
  81. package/dist/commands/cursor-command-display.d.ts.map +1 -1
  82. package/dist/commands/cursor-command-display.js +25 -5
  83. package/dist/commands/cursor-command-display.js.map +1 -1
  84. package/dist/commands/cursor-command.d.ts +1 -3
  85. package/dist/commands/cursor-command.d.ts.map +1 -1
  86. package/dist/commands/cursor-command.js +3 -15
  87. package/dist/commands/cursor-command.js.map +1 -1
  88. package/dist/commands/help-command.d.ts +4 -3
  89. package/dist/commands/help-command.d.ts.map +1 -1
  90. package/dist/commands/help-command.js +209 -503
  91. package/dist/commands/help-command.js.map +1 -1
  92. package/dist/commands/install-command.d.ts.map +1 -1
  93. package/dist/commands/install-command.js +16 -3
  94. package/dist/commands/install-command.js.map +1 -1
  95. package/dist/commands/root-command-router.d.ts +2 -0
  96. package/dist/commands/root-command-router.d.ts.map +1 -1
  97. package/dist/commands/root-command-router.js +13 -13
  98. package/dist/commands/root-command-router.js.map +1 -1
  99. package/dist/commands/shell-completion-command.d.ts +1 -0
  100. package/dist/commands/shell-completion-command.d.ts.map +1 -1
  101. package/dist/commands/shell-completion-command.js +27 -11
  102. package/dist/commands/shell-completion-command.js.map +1 -1
  103. package/dist/copilot/copilot-executor.d.ts +2 -0
  104. package/dist/copilot/copilot-executor.d.ts.map +1 -1
  105. package/dist/copilot/copilot-executor.js +36 -4
  106. package/dist/copilot/copilot-executor.js.map +1 -1
  107. package/dist/cursor/constants.d.ts +3 -0
  108. package/dist/cursor/constants.d.ts.map +1 -0
  109. package/dist/cursor/constants.js +20 -0
  110. package/dist/cursor/constants.js.map +1 -0
  111. package/dist/cursor/cursor-models.d.ts.map +1 -1
  112. package/dist/cursor/cursor-models.js +2 -0
  113. package/dist/cursor/cursor-models.js.map +1 -1
  114. package/dist/cursor/cursor-profile-executor.d.ts +10 -0
  115. package/dist/cursor/cursor-profile-executor.d.ts.map +1 -0
  116. package/dist/cursor/cursor-profile-executor.js +158 -0
  117. package/dist/cursor/cursor-profile-executor.js.map +1 -0
  118. package/dist/cursor/cursor-translator.d.ts +22 -11
  119. package/dist/cursor/cursor-translator.d.ts.map +1 -1
  120. package/dist/cursor/cursor-translator.js +254 -75
  121. package/dist/cursor/cursor-translator.js.map +1 -1
  122. package/dist/cursor/index.d.ts +1 -0
  123. package/dist/cursor/index.d.ts.map +1 -1
  124. package/dist/cursor/index.js +4 -1
  125. package/dist/cursor/index.js.map +1 -1
  126. package/dist/delegation/headless-executor.d.ts.map +1 -1
  127. package/dist/delegation/headless-executor.js +79 -2
  128. package/dist/delegation/headless-executor.js.map +1 -1
  129. package/dist/management/checks/image-analysis-check.d.ts.map +1 -1
  130. package/dist/management/checks/image-analysis-check.js +4 -5
  131. package/dist/management/checks/image-analysis-check.js.map +1 -1
  132. package/dist/management/instance-manager.js +1 -1
  133. package/dist/management/instance-manager.js.map +1 -1
  134. package/dist/shared/claude-extension-setup.d.ts.map +1 -1
  135. package/dist/shared/claude-extension-setup.js +36 -16
  136. package/dist/shared/claude-extension-setup.js.map +1 -1
  137. package/dist/targets/target-runtime-compatibility.d.ts.map +1 -1
  138. package/dist/targets/target-runtime-compatibility.js +6 -0
  139. package/dist/targets/target-runtime-compatibility.js.map +1 -1
  140. package/dist/types/profile.d.ts +1 -1
  141. package/dist/types/profile.d.ts.map +1 -1
  142. package/dist/ui/assets/accounts-l__hcQUq.js +1 -0
  143. package/dist/ui/assets/{alert-dialog-D0EFRcfB.js → alert-dialog-BtM3eP43.js} +1 -1
  144. package/dist/ui/assets/{api-DhM3BYXr.js → api-Ddwn7EXC.js} +1 -1
  145. package/dist/ui/assets/{auth-section-DVp8FQGm.js → auth-section-BnYn1EA3.js} +1 -1
  146. package/dist/ui/assets/{backups-section-CRo0NZkA.js → backups-section-M4jx3HzK.js} +1 -1
  147. package/dist/ui/assets/{channels-uZ_9CBqO.js → channels-D9ywyAj3.js} +1 -1
  148. package/dist/ui/assets/{checkbox-32DNqW_Q.js → checkbox-Df-yoPbe.js} +1 -1
  149. package/dist/ui/assets/{claude-extension-BfXlz5gV.js → claude-extension-Cxg0a-Ee.js} +1 -1
  150. package/dist/ui/assets/cliproxy-DPFdpIHy.js +3 -0
  151. package/dist/ui/assets/{cliproxy-ai-providers-5SHLMHiy.js → cliproxy-ai-providers-DtW-6cPc.js} +6 -6
  152. package/dist/ui/assets/cliproxy-control-panel-0TyLDMf7.js +1 -0
  153. package/dist/ui/assets/{codex-CRUSpjsu.js → codex-BtPojOrJ.js} +3 -3
  154. package/dist/ui/assets/{confirm-dialog-DVf5ZmCZ.js → confirm-dialog-BMwFBq5G.js} +1 -1
  155. package/dist/ui/assets/{copilot-BZrihl_Z.js → copilot-BG3BnHxa.js} +2 -2
  156. package/dist/ui/assets/{cursor-BP4nbEk_.js → cursor-BfDO73Lu.js} +1 -1
  157. package/dist/ui/assets/{droid-BG92rdM2.js → droid-iW-Vtuhy.js} +2 -2
  158. package/dist/ui/assets/{globalenv-section-Cf6dKgSf.js → globalenv-section-d9h23hIf.js} +1 -1
  159. package/dist/ui/assets/{health-BTy1UZs3.js → health-BPPMFQMR.js} +1 -1
  160. package/dist/ui/assets/icons-BxSzn11s.js +1 -0
  161. package/dist/ui/assets/index-B6Y8wFQ0.css +1 -0
  162. package/dist/ui/assets/{index-wg7UtkFv.js → index-BPyp9RJE.js} +1 -1
  163. package/dist/ui/assets/{index-DHrTq-0n.js → index-CctYE17X.js} +1 -1
  164. package/dist/ui/assets/{index-BVeN0dIB.js → index-CeP2Pr2w.js} +1 -1
  165. package/dist/ui/assets/{index-DuRYaONg.js → index-DYY3wcwk.js} +1 -1
  166. package/dist/ui/assets/{index-N2ZSJurX.js → index-DusmDwkD.js} +1 -1
  167. package/dist/ui/assets/index-wIy8qzU9.js +69 -0
  168. package/dist/ui/assets/{masked-input-DX9bedLy.js → masked-input-DWNtAEKs.js} +1 -1
  169. package/dist/ui/assets/{proxy-status-widget-DVDMuZK5.js → proxy-status-widget-GS3qroms.js} +1 -1
  170. package/dist/ui/assets/{radix-ui-C98W0NRG.js → radix-ui-Zb8sVEtn.js} +1 -1
  171. package/dist/ui/assets/{raw-json-settings-editor-panel-Dkt5E6Z_.js → raw-json-settings-editor-panel-e3Ziu5B1.js} +1 -1
  172. package/dist/ui/assets/{searchable-select-BP3Q1-Yn.js → searchable-select-D2G6gg3h.js} +1 -1
  173. package/dist/ui/assets/{separator-BLGGUlh9.js → separator-CR1SGLxF.js} +1 -1
  174. package/dist/ui/assets/{shared-G0XRyLig.js → shared-BpB5GiWS.js} +1 -1
  175. package/dist/ui/assets/{table-B4lRrWC-.js → table-BMbwptG_.js} +1 -1
  176. package/dist/ui/assets/{tanstack-CfKik0yL.js → tanstack-DWm6aJ-G.js} +1 -1
  177. package/dist/ui/assets/{updates--A2Sdo7N.js → updates-iC3kvbKP.js} +1 -1
  178. package/dist/ui/index.html +5 -5
  179. package/dist/utils/config-manager.d.ts +5 -0
  180. package/dist/utils/config-manager.d.ts.map +1 -1
  181. package/dist/utils/config-manager.js +10 -1
  182. package/dist/utils/config-manager.js.map +1 -1
  183. package/dist/utils/hooks/get-image-analysis-hook-env.d.ts +26 -0
  184. package/dist/utils/hooks/get-image-analysis-hook-env.d.ts.map +1 -1
  185. package/dist/utils/hooks/get-image-analysis-hook-env.js +79 -1
  186. package/dist/utils/hooks/get-image-analysis-hook-env.js.map +1 -1
  187. package/dist/utils/hooks/image-analysis-backend-resolver.d.ts.map +1 -1
  188. package/dist/utils/hooks/image-analysis-backend-resolver.js +13 -5
  189. package/dist/utils/hooks/image-analysis-backend-resolver.js.map +1 -1
  190. package/dist/utils/hooks/image-analysis-runtime-status.d.ts +2 -0
  191. package/dist/utils/hooks/image-analysis-runtime-status.d.ts.map +1 -1
  192. package/dist/utils/hooks/image-analysis-runtime-status.js +15 -11
  193. package/dist/utils/hooks/image-analysis-runtime-status.js.map +1 -1
  194. package/dist/utils/hooks/image-analyzer-hook-installer.d.ts.map +1 -1
  195. package/dist/utils/hooks/image-analyzer-hook-installer.js +60 -27
  196. package/dist/utils/hooks/image-analyzer-hook-installer.js.map +1 -1
  197. package/dist/utils/hooks/image-analyzer-profile-hook-injector.d.ts.map +1 -1
  198. package/dist/utils/hooks/image-analyzer-profile-hook-injector.js +3 -0
  199. package/dist/utils/hooks/image-analyzer-profile-hook-injector.js.map +1 -1
  200. package/dist/utils/hooks/index.d.ts +2 -1
  201. package/dist/utils/hooks/index.d.ts.map +1 -1
  202. package/dist/utils/hooks/index.js +14 -7
  203. package/dist/utils/hooks/index.js.map +1 -1
  204. package/dist/utils/image-analysis/claude-tool-args.d.ts +6 -0
  205. package/dist/utils/image-analysis/claude-tool-args.d.ts.map +1 -0
  206. package/dist/utils/image-analysis/claude-tool-args.js +65 -0
  207. package/dist/utils/image-analysis/claude-tool-args.js.map +1 -0
  208. package/dist/utils/image-analysis/index.d.ts +4 -0
  209. package/dist/utils/image-analysis/index.d.ts.map +1 -1
  210. package/dist/utils/image-analysis/index.js +20 -1
  211. package/dist/utils/image-analysis/index.js.map +1 -1
  212. package/dist/utils/image-analysis/mcp-installer.d.ts +18 -0
  213. package/dist/utils/image-analysis/mcp-installer.d.ts.map +1 -0
  214. package/dist/utils/image-analysis/mcp-installer.js +447 -0
  215. package/dist/utils/image-analysis/mcp-installer.js.map +1 -0
  216. package/dist/web-server/routes/account-routes.d.ts.map +1 -1
  217. package/dist/web-server/routes/account-routes.js +14 -2
  218. package/dist/web-server/routes/account-routes.js.map +1 -1
  219. package/dist/web-server/routes/auth-routes.d.ts +10 -0
  220. package/dist/web-server/routes/auth-routes.d.ts.map +1 -1
  221. package/dist/web-server/routes/auth-routes.js +33 -6
  222. package/dist/web-server/routes/auth-routes.js.map +1 -1
  223. package/dist/web-server/routes/cliproxy-auth-routes.d.ts +8 -0
  224. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
  225. package/dist/web-server/routes/cliproxy-auth-routes.js +141 -11
  226. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
  227. package/dist/web-server/routes/image-analysis-routes.d.ts.map +1 -1
  228. package/dist/web-server/routes/image-analysis-routes.js +30 -5
  229. package/dist/web-server/routes/image-analysis-routes.js.map +1 -1
  230. package/lib/hooks/image-analysis-runtime.cjs +469 -0
  231. package/lib/hooks/image-analyzer-transformer.cjs +27 -418
  232. package/lib/hooks/websearch-transformer.cjs +37 -2
  233. package/lib/mcp/ccs-image-analysis-server.cjs +440 -0
  234. package/package.json +1 -1
  235. package/scripts/completion/README.md +55 -131
  236. package/scripts/completion/ccs.bash +22 -190
  237. package/scripts/completion/ccs.fish +19 -245
  238. package/scripts/completion/ccs.ps1 +37 -427
  239. package/scripts/completion/ccs.zsh +27 -305
  240. package/dist/ui/assets/accounts-BHEYnq6b.js +0 -1
  241. package/dist/ui/assets/cliproxy-DjNY9H-U.js +0 -3
  242. package/dist/ui/assets/cliproxy-control-panel-Zax_m1AC.js +0 -1
  243. package/dist/ui/assets/icons-CeH5899d.js +0 -1
  244. package/dist/ui/assets/index-B6SrL1O-.css +0 -1
  245. package/dist/ui/assets/index-Corv1lSo.js +0 -69
@@ -201,6 +201,7 @@ class ProfileDetector {
201
201
  * Priority order:
202
202
  * 0. Hardcoded CLIProxy profiles (gemini, codex, agy, qwen)
203
203
  * 0.5. Copilot profile (if enabled in config)
204
+ * 0.75. Cursor profile (if enabled in config)
204
205
  * 1. Unified config profiles (if config.yaml exists or CCS_UNIFIED_CONFIG=1)
205
206
  * 2. User-defined CLIProxy variants (config.cliproxy section) [legacy]
206
207
  * 3. Settings-based profiles (config.profiles section) [legacy]
@@ -244,6 +245,29 @@ class ProfileDetector {
244
245
  copilotConfig,
245
246
  };
246
247
  }
248
+ // Priority 0.75: Check Cursor profile - local Cursor daemon runtime
249
+ if (profileName === 'cursor') {
250
+ const cursorConfig = (0, unified_config_loader_1.getCursorConfig)();
251
+ if (!cursorConfig?.enabled) {
252
+ const error = new Error('Cursor profile is not enabled.\n\n' +
253
+ 'To enable Cursor integration:\n' +
254
+ ' 1. Run: ccs cursor enable\n' +
255
+ ' 2. Import auth: ccs cursor auth\n' +
256
+ ' 3. Start daemon: ccs cursor start\n\n' +
257
+ 'Or manually edit ~/.ccs/config.yaml:\n' +
258
+ ' cursor:\n' +
259
+ ' enabled: true');
260
+ error.profileName = profileName;
261
+ error.suggestions = [];
262
+ error.availableProfiles = this.listAvailableProfiles();
263
+ throw error;
264
+ }
265
+ return {
266
+ type: 'cursor',
267
+ name: 'cursor',
268
+ cursorConfig,
269
+ };
270
+ }
247
271
  // Priority 1: Try unified config if available
248
272
  const unifiedConfig = this.readUnifiedConfig();
249
273
  if (unifiedConfig) {
@@ -359,6 +383,13 @@ class ProfileDetector {
359
383
  message: 'No profile configured. Using Claude CLI defaults from ~/.claude/',
360
384
  };
361
385
  }
386
+ /**
387
+ * Public wrapper for diagnostics and tooling that need to inspect how
388
+ * plain `ccs` resolves without duplicating the default-profile logic.
389
+ */
390
+ resolveDefaultProfileResult() {
391
+ return this.resolveDefaultProfile();
392
+ }
362
393
  /**
363
394
  * List available profiles (for error messages)
364
395
  */
@@ -378,6 +409,10 @@ class ProfileDetector {
378
409
  lines.push('GitHub Copilot (via copilot-api):');
379
410
  lines.push(` - copilot (model: ${currentCopilotModel})`);
380
411
  }
412
+ if (unifiedConfig.cursor?.enabled) {
413
+ lines.push('Cursor local proxy:');
414
+ lines.push(` - cursor (model: ${unifiedConfig.cursor.model})`);
415
+ }
381
416
  // CLIProxy variants from unified config
382
417
  const variants = Object.keys(unifiedConfig.cliproxy?.variants || {});
383
418
  if (variants.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"profile-detector.js","sourceRoot":"","sources":["../../src/auth/profile-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile-detector.js","sourceRoot":"","sources":["../../src/auth/profile-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { ProfileType } from '../types/profile';
2
+ export type ResumeLaneKind = 'native' | 'account-default' | 'account-inherited' | 'profile-default' | 'ambient';
3
+ export interface ResumeLaneSummary {
4
+ kind: ResumeLaneKind;
5
+ label: string;
6
+ configDir: string;
7
+ accountName?: string;
8
+ profileName?: string;
9
+ projectCount: number;
10
+ }
11
+ export interface ResumeFlagIntent {
12
+ implicit: boolean;
13
+ explicitSessionId?: string;
14
+ }
15
+ export declare function resolveConfiguredPlainCcsResumeLane(): Promise<ResumeLaneSummary>;
16
+ export declare function resolveRuntimePlainCcsResumeLane(): Promise<ResumeLaneSummary>;
17
+ export declare function parseResumeFlagIntent(args: string[]): ResumeFlagIntent | null;
18
+ export declare function getAuthBackupRoot(): string;
19
+ export declare function createTimestampStamp(date?: Date): string;
20
+ export declare function getContinuityArtifactNames(profileType: ProfileType): string[];
21
+ //# sourceMappingURL=resume-lane-diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resume-lane-diagnostics.d.ts","sourceRoot":"","sources":["../../src/auth/resume-lane-diagnostics.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,iBAAiB,GACjB,mBAAmB,GACnB,iBAAiB,GACjB,SAAS,CAAC;AAEd,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAkDD,wBAAsB,mCAAmC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAqBtF;AAED,wBAAsB,gCAAgC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAYnF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,GAAG,IAAI,CAsB7E;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,oBAAoB,CAAC,IAAI,OAAa,GAAG,MAAM,CAQ9D;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,EAAE,CAS7E"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.getContinuityArtifactNames = exports.createTimestampStamp = exports.getAuthBackupRoot = exports.parseResumeFlagIntent = exports.resolveRuntimePlainCcsResumeLane = exports.resolveConfiguredPlainCcsResumeLane = void 0;
30
+ const fs = __importStar(require("fs"));
31
+ const path = __importStar(require("path"));
32
+ const claude_config_path_1 = require("../utils/claude-config-path");
33
+ const config_manager_1 = require("../utils/config-manager");
34
+ const instance_manager_1 = __importDefault(require("../management/instance-manager"));
35
+ const profile_detector_1 = __importDefault(require("./profile-detector"));
36
+ const profile_continuity_inheritance_1 = require("./profile-continuity-inheritance");
37
+ function countTopLevelProjectDirs(projectsDir) {
38
+ try {
39
+ return fs
40
+ .readdirSync(projectsDir, { withFileTypes: true })
41
+ .filter((entry) => entry.isDirectory()).length;
42
+ }
43
+ catch {
44
+ return 0;
45
+ }
46
+ }
47
+ function resolveNativeLaneSummary(kind = 'native', profileName) {
48
+ const configDir = (0, claude_config_path_1.getDefaultClaudeConfigDir)();
49
+ const label = kind === 'profile-default' && profileName
50
+ ? `profile "${profileName}" via native Claude lane`
51
+ : 'native Claude lane';
52
+ return {
53
+ kind,
54
+ label,
55
+ configDir,
56
+ profileName,
57
+ projectCount: countTopLevelProjectDirs(path.join(configDir, 'projects')),
58
+ };
59
+ }
60
+ function resolveAccountLaneSummary(kind, accountName) {
61
+ const instanceMgr = new instance_manager_1.default();
62
+ const configDir = instanceMgr.getInstancePath(accountName);
63
+ return {
64
+ kind,
65
+ label: kind === 'account-inherited'
66
+ ? `plain ccs inherits from account "${accountName}"`
67
+ : `plain ccs defaults to account "${accountName}"`,
68
+ configDir,
69
+ accountName,
70
+ projectCount: countTopLevelProjectDirs(path.join(configDir, 'projects')),
71
+ };
72
+ }
73
+ async function resolveConfiguredPlainCcsResumeLane() {
74
+ const detector = new profile_detector_1.default();
75
+ const defaultProfile = detector.resolveDefaultProfileResult();
76
+ if (defaultProfile.type === 'account') {
77
+ return resolveAccountLaneSummary('account-default', defaultProfile.name);
78
+ }
79
+ const inheritedAccount = (0, profile_continuity_inheritance_1.resolveConfiguredContinuitySourceAccount)(defaultProfile.name, defaultProfile.type);
80
+ if (inheritedAccount) {
81
+ return resolveAccountLaneSummary('account-inherited', inheritedAccount);
82
+ }
83
+ if (defaultProfile.type !== 'default') {
84
+ return resolveNativeLaneSummary('profile-default', defaultProfile.name);
85
+ }
86
+ return resolveNativeLaneSummary();
87
+ }
88
+ exports.resolveConfiguredPlainCcsResumeLane = resolveConfiguredPlainCcsResumeLane;
89
+ async function resolveRuntimePlainCcsResumeLane() {
90
+ if (process.env.CLAUDE_CONFIG_DIR) {
91
+ const configDir = path.resolve(process.env.CLAUDE_CONFIG_DIR);
92
+ return {
93
+ kind: 'ambient',
94
+ label: 'current shell CLAUDE_CONFIG_DIR',
95
+ configDir,
96
+ projectCount: countTopLevelProjectDirs(path.join(configDir, 'projects')),
97
+ };
98
+ }
99
+ return resolveConfiguredPlainCcsResumeLane();
100
+ }
101
+ exports.resolveRuntimePlainCcsResumeLane = resolveRuntimePlainCcsResumeLane;
102
+ function parseResumeFlagIntent(args) {
103
+ for (let index = 0; index < args.length; index += 1) {
104
+ const arg = args[index];
105
+ if (arg === '-r') {
106
+ return { implicit: true };
107
+ }
108
+ if (arg === '--resume') {
109
+ const next = args[index + 1];
110
+ if (next && !next.startsWith('-')) {
111
+ return { implicit: false, explicitSessionId: next };
112
+ }
113
+ return { implicit: true };
114
+ }
115
+ if (arg.startsWith('--resume=')) {
116
+ const sessionId = arg.slice('--resume='.length).trim();
117
+ return sessionId ? { implicit: false, explicitSessionId: sessionId } : { implicit: true };
118
+ }
119
+ }
120
+ return null;
121
+ }
122
+ exports.parseResumeFlagIntent = parseResumeFlagIntent;
123
+ function getAuthBackupRoot() {
124
+ return path.join((0, config_manager_1.getCcsDir)(), 'backups', 'auth-continuity');
125
+ }
126
+ exports.getAuthBackupRoot = getAuthBackupRoot;
127
+ function createTimestampStamp(date = new Date()) {
128
+ const yyyy = date.getFullYear();
129
+ const mm = String(date.getMonth() + 1).padStart(2, '0');
130
+ const dd = String(date.getDate()).padStart(2, '0');
131
+ const hh = String(date.getHours()).padStart(2, '0');
132
+ const min = String(date.getMinutes()).padStart(2, '0');
133
+ const ss = String(date.getSeconds()).padStart(2, '0');
134
+ return `${yyyy}${mm}${dd}_${hh}${min}${ss}`;
135
+ }
136
+ exports.createTimestampStamp = createTimestampStamp;
137
+ function getContinuityArtifactNames(profileType) {
138
+ const sharedItems = ['projects'];
139
+ const deeperItems = ['session-env', 'file-history', 'shell-snapshots', 'todos'];
140
+ if (profileType === 'default' || profileType === 'account') {
141
+ return [...sharedItems, ...deeperItems];
142
+ }
143
+ return sharedItems;
144
+ }
145
+ exports.getContinuityArtifactNames = getContinuityArtifactNames;
146
+ //# sourceMappingURL=resume-lane-diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resume-lane-diagnostics.js","sourceRoot":"","sources":["../../src/auth/resume-lane-diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type ResumeLaneSummary } from './resume-lane-diagnostics';
2
+ interface ResumeLaneWarningDependencies {
3
+ resolvePlainLane?: () => Promise<ResumeLaneSummary>;
4
+ log?: (message: string) => void;
5
+ debug?: boolean;
6
+ }
7
+ export declare function maybeWarnAboutResumeLaneMismatch(profileName: string, accountConfigDir: string, args: string[], deps?: ResumeLaneWarningDependencies): Promise<void>;
8
+ export {};
9
+ //# sourceMappingURL=resume-lane-warning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resume-lane-warning.d.ts","sourceRoot":"","sources":["../../src/auth/resume-lane-warning.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,2BAA2B,CAAC;AAEnC,UAAU,6BAA6B;IACrC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,gCAAgC,CACpD,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,6BAAkC,GACvC,OAAO,CAAC,IAAI,CAAC,CA4Cf"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.maybeWarnAboutResumeLaneMismatch = void 0;
27
+ const path = __importStar(require("path"));
28
+ const ui_1 = require("../utils/ui");
29
+ const resume_lane_diagnostics_1 = require("./resume-lane-diagnostics");
30
+ async function maybeWarnAboutResumeLaneMismatch(profileName, accountConfigDir, args, deps = {}) {
31
+ const resumeIntent = (0, resume_lane_diagnostics_1.parseResumeFlagIntent)(args);
32
+ if (!resumeIntent) {
33
+ return;
34
+ }
35
+ const log = deps.log ?? console.error;
36
+ try {
37
+ const plainLane = await (deps.resolvePlainLane ?? resume_lane_diagnostics_1.resolveRuntimePlainCcsResumeLane)();
38
+ if (path.resolve(plainLane.configDir) === path.resolve(accountConfigDir)) {
39
+ return;
40
+ }
41
+ log((0, ui_1.warn)(`Resume for account "${profileName}" will search that account lane, not the current plain ccs lane.`));
42
+ log((0, ui_1.info)(` Account lane: ${accountConfigDir}`));
43
+ log((0, ui_1.info)(` Plain ccs lane: ${plainLane.label} (${plainLane.configDir})`));
44
+ if (resumeIntent.explicitSessionId) {
45
+ log((0, ui_1.info)(' This explicit session ID may have been created in a different lane, so Claude may not find it here.'));
46
+ }
47
+ log((0, ui_1.info)(' Recover the original lane first: ccs -r'));
48
+ log((0, ui_1.info)(' Back it up before changing setup: ccs auth backup default'));
49
+ log((0, ui_1.info)(` For future work, align plain ccs with this account: ccs auth default ${profileName}`));
50
+ log('');
51
+ }
52
+ catch (error) {
53
+ log((0, ui_1.warn)('Resume lane guidance skipped because diagnostics failed; continuing with the account lane.'));
54
+ if (deps.debug ?? Boolean(process.env.CCS_DEBUG)) {
55
+ log((0, ui_1.info)(` Diagnostic error: ${error.message}`));
56
+ }
57
+ }
58
+ }
59
+ exports.maybeWarnAboutResumeLaneMismatch = maybeWarnAboutResumeLaneMismatch;
60
+ //# sourceMappingURL=resume-lane-warning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resume-lane-warning.js","sourceRoot":"","sources":["../../src/auth/resume-lane-warning.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,oCAAyC;AACzC,uEAImC;AAQ5B,KAAK,UAAU,gCAAgC,CACpD,WAAmB,EACnB,gBAAwB,EACxB,IAAc,EACd,OAAsC,EAAE;IAExC,MAAM,YAAY,GAAG,IAAA,+CAAqB,EAAC,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,0DAAgC,CAAC,EAAE,CAAC;QACtF,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACzE,OAAO;QACT,CAAC;QAED,GAAG,CACD,IAAA,SAAI,EACF,uBAAuB,WAAW,kEAAkE,CACrG,CACF,CAAC;QACF,GAAG,CAAC,IAAA,SAAI,EAAC,mBAAmB,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACjD,GAAG,CAAC,IAAA,SAAI,EAAC,qBAAqB,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAC3E,IAAI,YAAY,CAAC,iBAAiB,EAAE,CAAC;YACnC,GAAG,CACD,IAAA,SAAI,EACF,uGAAuG,CACxG,CACF,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,IAAA,SAAI,EAAC,2CAA2C,CAAC,CAAC,CAAC;QACvD,GAAG,CAAC,IAAA,SAAI,EAAC,6DAA6D,CAAC,CAAC,CAAC;QACzE,GAAG,CACD,IAAA,SAAI,EAAC,0EAA0E,WAAW,EAAE,CAAC,CAC9F,CAAC;QACF,GAAG,CAAC,EAAE,CAAC,CAAC;IACV,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CACD,IAAA,SAAI,EACF,4FAA4F,CAC7F,CACF,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,IAAA,SAAI,EAAC,uBAAwB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;AACH,CAAC;AAjDD,4EAiDC"}
package/dist/ccs.js CHANGED
@@ -35,6 +35,7 @@ const cliproxy_1 = require("./cliproxy");
35
35
  const env_builder_1 = require("./cliproxy/config/env-builder");
36
36
  const port_manager_1 = require("./cliproxy/config/port-manager");
37
37
  const websearch_manager_1 = require("./utils/websearch-manager");
38
+ const image_analysis_1 = require("./utils/image-analysis");
38
39
  const unified_config_loader_1 = require("./config/unified-config-loader");
39
40
  const image_analyzer_profile_hook_injector_1 = require("./utils/hooks/image-analyzer-profile-hook-injector");
40
41
  const hooks_1 = require("./utils/hooks");
@@ -42,12 +43,14 @@ const ui_1 = require("./utils/ui");
42
43
  const constants_1 = require("./copilot/constants");
43
44
  const official_channels_runtime_1 = require("./channels/official-channels-runtime");
44
45
  const official_channels_store_1 = require("./channels/official-channels-store");
46
+ const constants_2 = require("./cursor/constants");
45
47
  // Import centralized error handling
46
48
  const errors_1 = require("./errors");
47
49
  const root_command_router_1 = require("./commands/root-command-router");
48
50
  // Import extracted utility functions
49
51
  const shell_executor_1 = require("./utils/shell-executor");
50
52
  const glmt_deprecation_1 = require("./utils/glmt-deprecation");
53
+ const resume_lane_warning_1 = require("./auth/resume-lane-warning");
51
54
  // Import target adapter system
52
55
  const targets_1 = require("./targets");
53
56
  const target_resolver_1 = require("./targets/target-resolver");
@@ -214,9 +217,10 @@ async function main() {
214
217
  (0, targets_1.registerTarget)(new targets_1.DroidAdapter());
215
218
  (0, targets_1.registerTarget)(new targets_1.CodexAdapter());
216
219
  const args = process.argv.slice(2);
220
+ const isCompletionCommand = args[0] === '__complete';
217
221
  // Initialize UI colors early to ensure consistent colored output
218
222
  // Must happen before any status messages (ok, info, fail, etc.)
219
- if (process.stdout.isTTY && !process.env['CI']) {
223
+ if (!isCompletionCommand && process.stdout.isTTY && !process.env['CI']) {
220
224
  const { initUI } = await Promise.resolve().then(() => __importStar(require('./utils/ui')));
221
225
  await initUI();
222
226
  }
@@ -252,7 +256,7 @@ async function main() {
252
256
  (0, config_manager_1.setGlobalConfigDir)(configDirValue);
253
257
  // Security warning: cloud sync paths expose OAuth tokens
254
258
  const cloudService = (0, config_manager_1.detectCloudSyncPath)(configDirValue);
255
- if (cloudService) {
259
+ if (!isCompletionCommand && cloudService) {
256
260
  console.error((0, ui_1.warn)(`CCS directory is under ${cloudService}.`));
257
261
  console.error(' OAuth tokens in cliproxy/auth/ will be synced to cloud.');
258
262
  console.error(' Consider: CCS_DIR=/path/outside/cloud ccs ...');
@@ -263,7 +267,7 @@ async function main() {
263
267
  else if (process.env.CCS_DIR) {
264
268
  // Also warn for CCS_DIR env var pointing to cloud sync
265
269
  const cloudService = (0, config_manager_1.detectCloudSyncPath)(process.env.CCS_DIR);
266
- if (cloudService) {
270
+ if (!isCompletionCommand && cloudService) {
267
271
  console.error((0, ui_1.warn)(`CCS directory is under ${cloudService}.`));
268
272
  console.error(' OAuth tokens in cliproxy/auth/ will be synced to cloud.');
269
273
  console.error(' Consider: CCS_DIR=/path/outside/cloud ccs ...');
@@ -272,12 +276,16 @@ async function main() {
272
276
  else if (process.env.CCS_HOME) {
273
277
  // Also warn for CCS_HOME env var pointing to cloud sync
274
278
  const cloudService = (0, config_manager_1.detectCloudSyncPath)(process.env.CCS_HOME);
275
- if (cloudService) {
279
+ if (!isCompletionCommand && cloudService) {
276
280
  console.error((0, ui_1.warn)(`CCS directory is under ${cloudService}.`));
277
281
  console.error(' OAuth tokens in cliproxy/auth/ will be synced to cloud.');
278
282
  console.error(' Consider: CCS_DIR=/path/outside/cloud ccs ...');
279
283
  }
280
284
  }
285
+ if (isCompletionCommand) {
286
+ await (0, root_command_router_1.tryHandleRootCommand)(args);
287
+ return;
288
+ }
281
289
  if (shouldPassthroughNativeCodexFlagCommand(args)) {
282
290
  execNativeCodexFlagCommand(args);
283
291
  return;
@@ -340,6 +348,16 @@ async function main() {
340
348
  process.exit(exitCode);
341
349
  }
342
350
  }
351
+ // Special case: cursor command (Cursor local proxy integration)
352
+ // Route known admin subcommands to the command handler, keep all other args as profile passthrough.
353
+ if (firstArg === 'cursor' && args.length > 1) {
354
+ const { handleCursorCommand } = await Promise.resolve().then(() => __importStar(require('./commands/cursor-command')));
355
+ const cursorToken = args[1];
356
+ if ((0, constants_2.isCursorSubcommandToken)(cursorToken)) {
357
+ const exitCode = await handleCursorCommand(args.slice(1));
358
+ process.exit(exitCode);
359
+ }
360
+ }
343
361
  // First-time install: offer setup wizard for interactive users
344
362
  // Check independently of recovery status (user may have empty config.yaml)
345
363
  // Skip if headless, CI, or non-TTY environment
@@ -540,7 +558,9 @@ async function main() {
540
558
  // CLIPROXY FLOW: OAuth-based profiles (gemini, codex, agy, qwen) or user-defined variants
541
559
  if (resolvedTarget === 'claude') {
542
560
  (0, websearch_manager_1.ensureWebSearchMcpOrThrow)();
561
+ (0, image_analysis_1.ensureImageAnalysisMcpOrThrow)();
543
562
  }
563
+ const imageAnalysisFallbackHookReady = resolvedTarget === 'claude' ? (0, hooks_1.prepareImageAnalysisFallbackHook)() : false;
544
564
  const provider = profileInfo.provider || profileInfo.name;
545
565
  // Inject Image Analyzer hook into profile settings before launch
546
566
  (0, image_analyzer_profile_hook_injector_1.ensureProfileHooks)({
@@ -549,6 +569,7 @@ async function main() {
549
569
  cliproxyProvider: provider,
550
570
  isComposite: profileInfo.isComposite,
551
571
  settingsPath: profileInfo.settingsPath ? (0, helpers_1.expandPath)(profileInfo.settingsPath) : undefined,
572
+ sharedHookInstalled: imageAnalysisFallbackHookReady,
552
573
  });
553
574
  const customSettingsPath = profileInfo.settingsPath; // undefined for hardcoded profiles
554
575
  const variantPort = profileInfo.port; // variant-specific port for isolation
@@ -578,6 +599,9 @@ async function main() {
578
599
  '--port-forward',
579
600
  '--nickname',
580
601
  '--kiro-auth-method',
602
+ '--kiro-idc-start-url',
603
+ '--kiro-idc-region',
604
+ '--kiro-idc-flow',
581
605
  '--backend',
582
606
  '--proxy-host',
583
607
  '--proxy-port',
@@ -668,11 +692,13 @@ async function main() {
668
692
  else if (profileInfo.type === 'copilot') {
669
693
  // COPILOT FLOW: GitHub Copilot subscription via copilot-api proxy
670
694
  (0, websearch_manager_1.ensureWebSearchMcpOrThrow)();
671
- (0, hooks_1.installImageAnalyzerHook)();
695
+ (0, image_analysis_1.ensureImageAnalysisMcpOrThrow)();
696
+ const imageAnalysisFallbackHookReady = resolvedTarget === 'claude' ? (0, hooks_1.prepareImageAnalysisFallbackHook)() : false;
672
697
  // Inject Image Analyzer hook into profile settings before launch
673
698
  (0, image_analyzer_profile_hook_injector_1.ensureProfileHooks)({
674
699
  profileName: profileInfo.name,
675
700
  profileType: profileInfo.type,
701
+ sharedHookInstalled: imageAnalysisFallbackHookReady,
676
702
  });
677
703
  const { executeCopilotProfile } = await Promise.resolve().then(() => __importStar(require('./copilot')));
678
704
  const copilotConfig = profileInfo.copilotConfig;
@@ -691,11 +717,36 @@ async function main() {
691
717
  const exitCode = await executeCopilotProfile(copilotConfig, remainingArgs, continuityInheritance.claudeConfigDir, claudeCli);
692
718
  process.exit(exitCode);
693
719
  }
720
+ else if (profileInfo.type === 'cursor') {
721
+ // CURSOR FLOW: local Cursor daemon profile
722
+ (0, websearch_manager_1.ensureWebSearchMcpOrThrow)();
723
+ (0, hooks_1.installImageAnalyzerHook)();
724
+ (0, image_analyzer_profile_hook_injector_1.ensureProfileHooks)({
725
+ profileName: profileInfo.name,
726
+ profileType: profileInfo.type,
727
+ });
728
+ const { executeCursorProfile } = await Promise.resolve().then(() => __importStar(require('./cursor')));
729
+ const cursorConfig = profileInfo.cursorConfig;
730
+ if (!cursorConfig) {
731
+ console.error((0, ui_1.fail)('Cursor configuration not found'));
732
+ process.exit(1);
733
+ }
734
+ const continuityInheritance = await resolveProfileContinuityInheritance({
735
+ profileName: profileInfo.name,
736
+ profileType: profileInfo.type,
737
+ target: resolvedTarget,
738
+ });
739
+ if (continuityInheritance.sourceAccount && process.env.CCS_DEBUG) {
740
+ console.error((0, ui_1.info)(`Continuity inheritance active: profile "${profileInfo.name}" -> account "${continuityInheritance.sourceAccount}"`));
741
+ }
742
+ const exitCode = await executeCursorProfile(cursorConfig, remainingArgs, continuityInheritance.claudeConfigDir, claudeCli);
743
+ process.exit(exitCode);
744
+ }
694
745
  else if (profileInfo.type === 'settings') {
695
746
  // Settings-based profiles (glm, glmt) are third-party providers
747
+ const imageAnalysisMcpReady = resolvedTarget === 'claude' ? (0, image_analysis_1.ensureImageAnalysisMcpOrThrow)() : true;
696
748
  if (resolvedTarget === 'claude') {
697
749
  (0, websearch_manager_1.ensureWebSearchMcpOrThrow)();
698
- (0, hooks_1.installImageAnalyzerHook)();
699
750
  }
700
751
  // Display WebSearch status (single line, equilibrium UX)
701
752
  (0, websearch_manager_1.displayWebSearchStatus)();
@@ -711,6 +762,8 @@ async function main() {
711
762
  }
712
763
  const inheritedClaudeConfigDir = continuityInheritance.claudeConfigDir;
713
764
  (0, websearch_manager_1.syncWebSearchMcpToConfigDir)(inheritedClaudeConfigDir);
765
+ (0, image_analysis_1.syncImageAnalysisMcpToConfigDir)(inheritedClaudeConfigDir);
766
+ const imageAnalysisFallbackHookReady = resolvedTarget === 'claude' ? (0, hooks_1.prepareImageAnalysisFallbackHook)() : false;
714
767
  const expandedSettingsPath = resolvedSettingsPath ??
715
768
  (profileInfo.settingsPath
716
769
  ? (0, helpers_1.expandPath)(profileInfo.settingsPath)
@@ -723,6 +776,7 @@ async function main() {
723
776
  settingsPath: expandedSettingsPath,
724
777
  settings,
725
778
  cliproxyBridge,
779
+ sharedHookInstalled: imageAnalysisFallbackHookReady,
726
780
  });
727
781
  if (resolvedTarget !== 'claude') {
728
782
  const compatibility = (0, targets_1.evaluateTargetRuntimeCompatibility)({
@@ -810,13 +864,30 @@ async function main() {
810
864
  profileType: profileInfo.type,
811
865
  settings,
812
866
  cliproxyBridge,
867
+ sharedHookInstalled: imageAnalysisFallbackHookReady,
813
868
  });
869
+ const runtimeConnection = (0, hooks_1.resolveImageAnalysisRuntimeConnection)();
814
870
  let imageAnalysisEnv = (0, hooks_1.getImageAnalysisHookEnv)({
815
871
  profileName: profileInfo.name,
816
872
  profileType: profileInfo.type,
817
873
  settings,
818
874
  cliproxyBridge,
819
875
  });
876
+ imageAnalysisEnv = (0, hooks_1.applyImageAnalysisRuntimeOverrides)(imageAnalysisEnv, {
877
+ backendId: imageAnalysisStatus.backendId,
878
+ model: imageAnalysisStatus.model,
879
+ runtimePath: imageAnalysisStatus.runtimePath,
880
+ baseUrl: runtimeConnection.baseUrl,
881
+ apiKey: runtimeConnection.apiKey,
882
+ allowSelfSigned: runtimeConnection.allowSelfSigned,
883
+ });
884
+ if (!imageAnalysisMcpReady) {
885
+ imageAnalysisEnv = {
886
+ ...imageAnalysisEnv,
887
+ CCS_CURRENT_PROVIDER: '',
888
+ CCS_IMAGE_ANALYSIS_SKIP: '1',
889
+ };
890
+ }
820
891
  const imageAnalysisProvider = imageAnalysisEnv['CCS_CURRENT_PROVIDER'];
821
892
  if (resolvedTarget === 'claude' &&
822
893
  imageAnalysisEnv['CCS_IMAGE_ANALYSIS_SKIP'] !== '1' &&
@@ -895,10 +966,13 @@ async function main() {
895
966
  adapter.exec(targetArgs, targetEnv, { binaryInfo: targetBinaryInfo || undefined });
896
967
  return;
897
968
  }
969
+ const imageAnalysisArgs = imageAnalysisMcpReady
970
+ ? (0, image_analysis_1.appendThirdPartyImageAnalysisToolArgs)(remainingArgs)
971
+ : remainingArgs;
898
972
  const launchArgs = [
899
973
  '--settings',
900
974
  expandedSettingsPath,
901
- ...(0, websearch_manager_1.appendThirdPartyWebSearchToolArgs)(remainingArgs),
975
+ ...(0, websearch_manager_1.appendThirdPartyWebSearchToolArgs)(imageAnalysisArgs),
902
976
  ];
903
977
  const traceEnv = (0, websearch_manager_1.createWebSearchTraceContext)({
904
978
  launcher: 'ccs.settings-profile',
@@ -941,6 +1015,7 @@ async function main() {
941
1015
  CCS_WEBSEARCH_SKIP: '1',
942
1016
  CCS_IMAGE_ANALYSIS_SKIP: '1',
943
1017
  };
1018
+ await (0, resume_lane_warning_1.maybeWarnAboutResumeLaneMismatch)(profileInfo.name, instancePath, remainingArgs);
944
1019
  const launchArgs = resolveNativeClaudeLaunchArgs(remainingArgs, 'account', instancePath);
945
1020
  (0, shell_executor_1.execClaude)(claudeCli, launchArgs, envVars);
946
1021
  }