@kaitranntt/ccs 7.45.0 → 7.46.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.
Files changed (177) hide show
  1. package/README.md +12 -0
  2. package/config/base-kimi.settings.json +8 -9
  3. package/config/base-km.settings.json +10 -0
  4. package/dist/api/services/provider-presets.js +2 -2
  5. package/dist/api/services/provider-presets.js.map +1 -1
  6. package/dist/auth/profile-detector.d.ts +4 -1
  7. package/dist/auth/profile-detector.d.ts.map +1 -1
  8. package/dist/auth/profile-detector.js +4 -1
  9. package/dist/auth/profile-detector.js.map +1 -1
  10. package/dist/ccs.js +235 -63
  11. package/dist/ccs.js.map +1 -1
  12. package/dist/cliproxy/auth/auth-types.d.ts +1 -0
  13. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
  14. package/dist/cliproxy/auth/auth-types.js +13 -0
  15. package/dist/cliproxy/auth/auth-types.js.map +1 -1
  16. package/dist/cliproxy/auth/provider-refreshers/index.d.ts +1 -1
  17. package/dist/cliproxy/auth/provider-refreshers/index.d.ts.map +1 -1
  18. package/dist/cliproxy/auth/provider-refreshers/index.js +3 -1
  19. package/dist/cliproxy/auth/provider-refreshers/index.js.map +1 -1
  20. package/dist/cliproxy/config/generator.d.ts.map +1 -1
  21. package/dist/cliproxy/config/generator.js +2 -16
  22. package/dist/cliproxy/config/generator.js.map +1 -1
  23. package/dist/cliproxy/model-catalog.d.ts.map +1 -1
  24. package/dist/cliproxy/model-catalog.js +36 -0
  25. package/dist/cliproxy/model-catalog.js.map +1 -1
  26. package/dist/cliproxy/provider-capabilities.d.ts.map +1 -1
  27. package/dist/cliproxy/provider-capabilities.js +6 -0
  28. package/dist/cliproxy/provider-capabilities.js.map +1 -1
  29. package/dist/cliproxy/quota-fetcher-codex.d.ts +8 -2
  30. package/dist/cliproxy/quota-fetcher-codex.d.ts.map +1 -1
  31. package/dist/cliproxy/quota-fetcher-codex.js +101 -1
  32. package/dist/cliproxy/quota-fetcher-codex.js.map +1 -1
  33. package/dist/cliproxy/quota-types.d.ts +20 -0
  34. package/dist/cliproxy/quota-types.d.ts.map +1 -1
  35. package/dist/cliproxy/session-tracker.d.ts +6 -1
  36. package/dist/cliproxy/session-tracker.d.ts.map +1 -1
  37. package/dist/cliproxy/session-tracker.js +97 -36
  38. package/dist/cliproxy/session-tracker.js.map +1 -1
  39. package/dist/cliproxy/types.d.ts +2 -1
  40. package/dist/cliproxy/types.d.ts.map +1 -1
  41. package/dist/cliproxy/types.js.map +1 -1
  42. package/dist/commands/cliproxy/help-subcommand.js +1 -1
  43. package/dist/commands/cliproxy/help-subcommand.js.map +1 -1
  44. package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
  45. package/dist/commands/cliproxy/quota-subcommand.js +73 -4
  46. package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
  47. package/dist/commands/help-command.d.ts.map +1 -1
  48. package/dist/commands/help-command.js +15 -2
  49. package/dist/commands/help-command.js.map +1 -1
  50. package/dist/config/migration-manager.d.ts.map +1 -1
  51. package/dist/config/migration-manager.js +2 -1
  52. package/dist/config/migration-manager.js.map +1 -1
  53. package/dist/config/unified-config-types.d.ts +13 -5
  54. package/dist/config/unified-config-types.d.ts.map +1 -1
  55. package/dist/config/unified-config-types.js +5 -12
  56. package/dist/config/unified-config-types.js.map +1 -1
  57. package/dist/cursor/cursor-auth.d.ts.map +1 -1
  58. package/dist/cursor/cursor-auth.js +11 -1
  59. package/dist/cursor/cursor-auth.js.map +1 -1
  60. package/dist/cursor/cursor-client-policy.d.ts +16 -0
  61. package/dist/cursor/cursor-client-policy.d.ts.map +1 -0
  62. package/dist/cursor/cursor-client-policy.js +137 -0
  63. package/dist/cursor/cursor-client-policy.js.map +1 -0
  64. package/dist/cursor/cursor-daemon-entry.d.ts.map +1 -1
  65. package/dist/cursor/cursor-daemon-entry.js +59 -19
  66. package/dist/cursor/cursor-daemon-entry.js.map +1 -1
  67. package/dist/cursor/cursor-default-models.d.ts +21 -0
  68. package/dist/cursor/cursor-default-models.d.ts.map +1 -0
  69. package/dist/cursor/cursor-default-models.js +173 -0
  70. package/dist/cursor/cursor-default-models.js.map +1 -0
  71. package/dist/cursor/cursor-executor.d.ts +4 -6
  72. package/dist/cursor/cursor-executor.d.ts.map +1 -1
  73. package/dist/cursor/cursor-executor.js +57 -76
  74. package/dist/cursor/cursor-executor.js.map +1 -1
  75. package/dist/cursor/cursor-models.d.ts +14 -17
  76. package/dist/cursor/cursor-models.d.ts.map +1 -1
  77. package/dist/cursor/cursor-models.js +174 -185
  78. package/dist/cursor/cursor-models.js.map +1 -1
  79. package/dist/cursor/cursor-protobuf-decoder.d.ts.map +1 -1
  80. package/dist/cursor/cursor-protobuf-decoder.js +4 -1
  81. package/dist/cursor/cursor-protobuf-decoder.js.map +1 -1
  82. package/dist/cursor/cursor-protobuf-schema.d.ts +1 -1
  83. package/dist/cursor/cursor-protobuf-schema.d.ts.map +1 -1
  84. package/dist/cursor/index.d.ts +1 -1
  85. package/dist/cursor/index.d.ts.map +1 -1
  86. package/dist/cursor/index.js +4 -1
  87. package/dist/cursor/index.js.map +1 -1
  88. package/dist/targets/claude-adapter.d.ts +29 -0
  89. package/dist/targets/claude-adapter.d.ts.map +1 -0
  90. package/dist/targets/claude-adapter.js +130 -0
  91. package/dist/targets/claude-adapter.js.map +1 -0
  92. package/dist/targets/droid-adapter.d.ts +34 -0
  93. package/dist/targets/droid-adapter.d.ts.map +1 -0
  94. package/dist/targets/droid-adapter.js +174 -0
  95. package/dist/targets/droid-adapter.js.map +1 -0
  96. package/dist/targets/droid-config-manager.d.ts +33 -0
  97. package/dist/targets/droid-config-manager.d.ts.map +1 -0
  98. package/dist/targets/droid-config-manager.js +387 -0
  99. package/dist/targets/droid-config-manager.js.map +1 -0
  100. package/dist/targets/droid-detector.d.ts +25 -0
  101. package/dist/targets/droid-detector.d.ts.map +1 -0
  102. package/dist/targets/droid-detector.js +140 -0
  103. package/dist/targets/droid-detector.js.map +1 -0
  104. package/dist/targets/index.d.ts +14 -0
  105. package/dist/targets/index.d.ts.map +1 -0
  106. package/dist/targets/index.js +31 -0
  107. package/dist/targets/index.js.map +1 -0
  108. package/dist/targets/target-adapter.d.ts +83 -0
  109. package/dist/targets/target-adapter.d.ts.map +1 -0
  110. package/dist/targets/target-adapter.js +9 -0
  111. package/dist/targets/target-adapter.js.map +1 -0
  112. package/dist/targets/target-registry.d.ts +30 -0
  113. package/dist/targets/target-registry.d.ts.map +1 -0
  114. package/dist/targets/target-registry.js +53 -0
  115. package/dist/targets/target-registry.js.map +1 -0
  116. package/dist/targets/target-resolver.d.ts +26 -0
  117. package/dist/targets/target-resolver.d.ts.map +1 -0
  118. package/dist/targets/target-resolver.js +146 -0
  119. package/dist/targets/target-resolver.js.map +1 -0
  120. package/dist/types/config.d.ts +2 -1
  121. package/dist/types/config.d.ts.map +1 -1
  122. package/dist/types/config.js.map +1 -1
  123. package/dist/types/index.d.ts +1 -0
  124. package/dist/types/index.d.ts.map +1 -1
  125. package/dist/types/profile.d.ts +5 -0
  126. package/dist/types/profile.d.ts.map +1 -0
  127. package/dist/types/profile.js +3 -0
  128. package/dist/types/profile.js.map +1 -0
  129. package/dist/ui/assets/{accounts-B8J62kJ6.js → accounts-DSbC2KOq.js} +1 -1
  130. package/dist/ui/assets/{alert-dialog-B5t_5_UL.js → alert-dialog-Dj5MBrPS.js} +1 -1
  131. package/dist/ui/assets/{api-DuZyDFf7.js → api-BIGOe-xE.js} +1 -1
  132. package/dist/ui/assets/{auth-section-Dnaxf97q.js → auth-section-BFJ1CozG.js} +1 -1
  133. package/dist/ui/assets/{backups-section-DUIq9Rxi.js → backups-section-pfBnyzOg.js} +1 -1
  134. package/dist/ui/assets/{cliproxy-aK19VC4f.js → cliproxy-DHNUC4SO.js} +2 -2
  135. package/dist/ui/assets/{cliproxy-control-panel-9OS_kdTh.js → cliproxy-control-panel-CGHjj5lg.js} +1 -1
  136. package/dist/ui/assets/{confirm-dialog-D7hNt3ez.js → confirm-dialog-gV1ql3Ts.js} +1 -1
  137. package/dist/ui/assets/{copilot-B5dVoOMQ.js → copilot-ECO8m-1E.js} +1 -1
  138. package/dist/ui/assets/{cursor-4zDGbBRA.js → cursor-CvqxaXRD.js} +1 -1
  139. package/dist/ui/assets/{globalenv-section-DuUcheRN.js → globalenv-section-CYGF1tAO.js} +1 -1
  140. package/dist/ui/assets/{health-Ddkl8zIJ.js → health-CmKa7iS7.js} +1 -1
  141. package/dist/ui/assets/index-BBNL3emu.css +1 -0
  142. package/dist/ui/assets/{index-BRCdKMse.js → index-BhguKKYm.js} +1 -1
  143. package/dist/ui/assets/{index-DOxNxHpI.js → index-Ctljzi2I.js} +1 -1
  144. package/dist/ui/assets/{index-BRxqvMyp.js → index-DZJVwR0i.js} +1 -1
  145. package/dist/ui/assets/index-DzvaSlcG.js +47 -0
  146. package/dist/ui/assets/{index-D0I8OsQ3.js → index-WfdZ4D-M.js} +1 -1
  147. package/dist/ui/assets/providers/kimi.svg +1 -0
  148. package/dist/ui/assets/{proxy-status-widget-DKYj4dWI.js → proxy-status-widget-B0TxmrB5.js} +1 -1
  149. package/dist/ui/assets/{separator-DrDw3JjB.js → separator-D_VeEEnJ.js} +1 -1
  150. package/dist/ui/assets/{shared-psG1uSqB.js → shared-Buwj9ixP.js} +1 -1
  151. package/dist/ui/assets/{switch-C0ri2ChT.js → switch-DPU26P6C.js} +1 -1
  152. package/dist/ui/index.html +2 -2
  153. package/dist/utils/shell-executor.d.ts.map +1 -1
  154. package/dist/utils/shell-executor.js +32 -10
  155. package/dist/utils/shell-executor.js.map +1 -1
  156. package/dist/utils/signal-forwarder.d.ts +23 -0
  157. package/dist/utils/signal-forwarder.d.ts.map +1 -0
  158. package/dist/utils/signal-forwarder.js +70 -0
  159. package/dist/utils/signal-forwarder.js.map +1 -0
  160. package/dist/web-server/jsonl-parser.d.ts +1 -0
  161. package/dist/web-server/jsonl-parser.d.ts.map +1 -1
  162. package/dist/web-server/jsonl-parser.js +3 -0
  163. package/dist/web-server/jsonl-parser.js.map +1 -1
  164. package/dist/web-server/routes/proxy-routes.d.ts.map +1 -1
  165. package/dist/web-server/routes/proxy-routes.js +2 -1
  166. package/dist/web-server/routes/proxy-routes.js.map +1 -1
  167. package/dist/web-server/usage/data-aggregator.d.ts.map +1 -1
  168. package/dist/web-server/usage/data-aggregator.js +7 -1
  169. package/dist/web-server/usage/data-aggregator.js.map +1 -1
  170. package/dist/web-server/usage/handlers.d.ts.map +1 -1
  171. package/dist/web-server/usage/handlers.js +1 -0
  172. package/dist/web-server/usage/handlers.js.map +1 -1
  173. package/dist/web-server/usage/types.d.ts +2 -0
  174. package/dist/web-server/usage/types.d.ts.map +1 -1
  175. package/package.json +5 -2
  176. package/dist/ui/assets/index-C6u1zYVL.css +0 -1
  177. package/dist/ui/assets/index-Dv5jtphl.js +0 -47
package/README.md CHANGED
@@ -141,6 +141,17 @@ ccs ollama # Local Ollama (no API key needed)
141
141
  ccs glm # GLM (API key)
142
142
  ```
143
143
 
144
+ ### Droid Alias (`argv[0]` pattern)
145
+
146
+ By default, invoking CCS as `ccsd` auto-selects the Droid target:
147
+
148
+ ```bash
149
+ ln -s "$(command -v ccs)" /usr/local/bin/ccsd
150
+ ccsd glm
151
+ ```
152
+
153
+ Need additional alias names? Set `CCS_DROID_ALIASES` as a comma-separated list (for example: `CCS_DROID_ALIASES=ccs-droid,mydroid`).
154
+
144
155
  ### Kiro Auth Methods
145
156
 
146
157
  `ccs kiro --auth` defaults to AWS Builder ID Device OAuth (best support for AWS org accounts).
@@ -238,6 +249,7 @@ Re-creates symlinks for shared commands, skills, and settings.
238
249
 
239
250
  ```bash
240
251
  ccs cliproxy doctor # Check quota status for all agy accounts
252
+ ccs cliproxy quota # Show agy/codex/gemini quotas (Codex: 5h + weekly reset schedule)
241
253
  ```
242
254
 
243
255
  **Auto-Failover**: When an Antigravity account runs out of quota, CCS automatically switches to another account with remaining capacity. Shared GCP project accounts are excluded (pooled quota).
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "env": {
3
- "ANTHROPIC_BASE_URL": "https://api.kimi.com/coding/",
4
- "ANTHROPIC_AUTH_TOKEN": "YOUR_KIMI_API_KEY_HERE",
5
- "ANTHROPIC_MODEL": "kimi-k2-thinking-turbo",
6
- "ANTHROPIC_DEFAULT_OPUS_MODEL": "kimi-k2-thinking-turbo",
7
- "ANTHROPIC_DEFAULT_SONNET_MODEL": "kimi-k2-thinking-turbo",
8
- "ANTHROPIC_DEFAULT_HAIKU_MODEL": "kimi-k2-thinking-turbo"
9
- },
10
- "alwaysThinkingEnabled": true
11
- }
3
+ "ANTHROPIC_BASE_URL": "http://127.0.0.1:8317/api/provider/kimi",
4
+ "ANTHROPIC_AUTH_TOKEN": "ccs-internal-managed",
5
+ "ANTHROPIC_MODEL": "kimi-k2.5",
6
+ "ANTHROPIC_DEFAULT_OPUS_MODEL": "kimi-k2.5",
7
+ "ANTHROPIC_DEFAULT_SONNET_MODEL": "kimi-k2-thinking",
8
+ "ANTHROPIC_DEFAULT_HAIKU_MODEL": "kimi-k2"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "env": {
3
+ "ANTHROPIC_BASE_URL": "https://api.kimi.com/coding/",
4
+ "ANTHROPIC_AUTH_TOKEN": "YOUR_KIMI_API_KEY_HERE",
5
+ "ANTHROPIC_MODEL": "kimi-k2-thinking-turbo",
6
+ "ANTHROPIC_DEFAULT_OPUS_MODEL": "kimi-k2-thinking-turbo",
7
+ "ANTHROPIC_DEFAULT_SONNET_MODEL": "kimi-k2-thinking-turbo",
8
+ "ANTHROPIC_DEFAULT_HAIKU_MODEL": "kimi-k2-thinking-turbo"
9
+ }
10
+ }
@@ -74,11 +74,11 @@ exports.PROVIDER_PRESETS = [
74
74
  alwaysThinkingEnabled: true,
75
75
  },
76
76
  {
77
- id: 'kimi',
77
+ id: 'km',
78
78
  name: 'Kimi',
79
79
  description: 'Moonshot AI - Fast reasoning model',
80
80
  baseUrl: 'https://api.kimi.com/coding/',
81
- defaultProfileName: 'kimi',
81
+ defaultProfileName: 'km',
82
82
  defaultModel: 'kimi-k2-thinking-turbo',
83
83
  apiKeyPlaceholder: 'sk-...',
84
84
  apiKeyHint: 'Get your API key from Moonshot AI',
@@ -1 +1 @@
1
- {"version":3,"file":"provider-presets.js","sourceRoot":"","sources":["../../../src/api/services/provider-presets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-presets.js","sourceRoot":"","sources":["../../../src/api/services/provider-presets.ts"],"names":[],"mappings":"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"}
@@ -11,13 +11,16 @@
11
11
  import { Settings, ProfileMetadata } from '../types';
12
12
  import { CopilotConfig, CompositeTierConfig } from '../config/unified-config-types';
13
13
  import type { CLIProxyProvider } from '../cliproxy/types';
14
- export type ProfileType = 'settings' | 'account' | 'cliproxy' | 'copilot' | 'default';
14
+ import type { TargetType } from '../targets/target-adapter';
15
+ import type { ProfileType } from '../types/profile';
16
+ export type { ProfileType } from '../types/profile';
15
17
  /** CLIProxy profile names (OAuth-based, zero config) */
16
18
  export declare const CLIPROXY_PROFILES: readonly CLIProxyProvider[];
17
19
  export type CLIProxyProfileName = CLIProxyProvider;
18
20
  export interface ProfileDetectionResult {
19
21
  type: ProfileType;
20
22
  name: string;
23
+ target?: TargetType;
21
24
  settingsPath?: string;
22
25
  profile?: Settings | ProfileMetadata;
23
26
  message?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"profile-detector.d.ts","sourceRoot":"","sources":["../../src/auth/profile-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAAU,QAAQ,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAEL,aAAa,EAGb,mBAAmB,EACpB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtF,wDAAwD;AACxD,eAAO,MAAM,iBAAiB,EAAE,SAAS,gBAAgB,EAA0B,CAAC;AACpF,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAEnD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,8CAA8C;IAC9C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,yEAAyE;IACzE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACnD,+DAA+D;IAC/D,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,mBAAmB,CAAC;QAC1B,MAAM,EAAE,mBAAmB,CAAC;QAC5B,KAAK,EAAE,mBAAmB,CAAC;KAC5B,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAqB,SAAQ,KAAK;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUjF;AAED,cAAM,eAAe;IACnB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;;IAQtC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA+EhC;;OAEG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,sBAAsB;IAwGjF;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiD7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA8F7B;;OAEG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IASxC;;OAEG;IACH,cAAc,IAAI,WAAW,GAAG;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;KAAE;CAyBnF;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"profile-detector.d.ts","sourceRoot":"","sources":["../../src/auth/profile-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAAU,QAAQ,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAEL,aAAa,EAGb,mBAAmB,EACpB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,wDAAwD;AACxD,eAAO,MAAM,iBAAiB,EAAE,SAAS,gBAAgB,EAA0B,CAAC;AACpF,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAEnD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,8CAA8C;IAC9C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,yEAAyE;IACzE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACnD,+DAA+D;IAC/D,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,mBAAmB,CAAC;QAC1B,MAAM,EAAE,mBAAmB,CAAC;QAC5B,KAAK,EAAE,mBAAmB,CAAC;KAC5B,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAqB,SAAQ,KAAK;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUjF;AAED,cAAM,eAAe;IACnB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;;IAQtC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAkFhC;;OAEG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,sBAAsB;IAwGjF;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiD7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA8F7B;;OAEG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IASxC;;OAEG;IACH,cAAc,IAAI,WAAW,GAAG;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;KAAE;CAyBnF;AAED,eAAe,eAAe,CAAC"}
@@ -103,6 +103,7 @@ class ProfileDetector {
103
103
  return {
104
104
  type: 'cliproxy',
105
105
  name: profileName,
106
+ target: composite.target,
106
107
  provider: defaultTierConfig.provider,
107
108
  settingsPath: composite.settings,
108
109
  port: composite.port,
@@ -115,6 +116,7 @@ class ProfileDetector {
115
116
  return {
116
117
  type: 'cliproxy',
117
118
  name: profileName,
119
+ target: singleVariant.target,
118
120
  provider: singleVariant.provider,
119
121
  settingsPath: singleVariant.settings,
120
122
  port: singleVariant.port,
@@ -128,6 +130,7 @@ class ProfileDetector {
128
130
  return {
129
131
  type: 'settings',
130
132
  name: profileName,
133
+ target: profile.target,
131
134
  env: settingsEnv,
132
135
  };
133
136
  }
@@ -247,7 +250,7 @@ class ProfileDetector {
247
250
  port: variant.port,
248
251
  };
249
252
  }
250
- // Priority 3: Check settings-based profiles (glm, kimi) - LEGACY FALLBACK
253
+ // Priority 3: Check settings-based profiles (glm) - LEGACY FALLBACK
251
254
  if (config.profiles && config.profiles[profileName]) {
252
255
  return {
253
256
  type: 'settings',
@@ -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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"}
package/dist/ccs.js CHANGED
@@ -49,6 +49,10 @@ const shell_completion_command_1 = require("./commands/shell-completion-command"
49
49
  const update_command_1 = require("./commands/update-command");
50
50
  // Import extracted utility functions
51
51
  const shell_executor_1 = require("./utils/shell-executor");
52
+ const signal_forwarder_1 = require("./utils/signal-forwarder");
53
+ // Import target adapter system
54
+ const targets_1 = require("./targets");
55
+ const target_resolver_1 = require("./targets/target-resolver");
52
56
  // Version and Update check utilities
53
57
  const version_1 = require("./utils/version");
54
58
  const update_checker_1 = require("./utils/update-checker");
@@ -95,6 +99,16 @@ async function execClaudeWithProxy(claudeCli, profileName, args) {
95
99
  ANTHROPIC_BASE_URL: envData['ANTHROPIC_BASE_URL'],
96
100
  },
97
101
  });
102
+ const stopProxy = () => {
103
+ try {
104
+ if (!proxy.killed) {
105
+ proxy.kill('SIGTERM');
106
+ }
107
+ }
108
+ catch {
109
+ // Best-effort cleanup on process teardown.
110
+ }
111
+ };
98
112
  // 3. Wait for proxy ready signal (with timeout)
99
113
  const { ProgressIndicator } = await Promise.resolve().then(() => __importStar(require('./utils/progress-indicator')));
100
114
  const spinner = new ProgressIndicator('Starting GLMT proxy');
@@ -140,7 +154,8 @@ async function execClaudeWithProxy(claudeCli, profileName, args) {
140
154
  console.error(' - Enable verbose logging: ccs glmt --verbose "prompt"');
141
155
  console.error(` - Check proxy logs in ${(0, config_manager_1.getCcsDir)()}/logs/ (if debug enabled)`);
142
156
  console.error('');
143
- proxy.kill();
157
+ stopProxy();
158
+ (0, errors_1.runCleanup)();
144
159
  process.exit(1);
145
160
  }
146
161
  // 4. Spawn Claude CLI with proxy URL
@@ -152,7 +167,8 @@ async function execClaudeWithProxy(claudeCli, profileName, args) {
152
167
  ANTHROPIC_MODEL: configuredModel,
153
168
  };
154
169
  const isWindows = process.platform === 'win32';
155
- const needsShell = isWindows && /\.(cmd|bat|ps1)$/i.test(claudeCli);
170
+ const isPowerShellScript = isWindows && /\.ps1$/i.test(claudeCli);
171
+ const needsShell = isWindows && /\.(cmd|bat)$/i.test(claudeCli);
156
172
  const webSearchEnv = (0, websearch_manager_1.getWebSearchHookEnv)();
157
173
  const imageAnalysisEnv = (0, hooks_1.getImageAnalysisHookEnv)(profileName);
158
174
  const env = {
@@ -163,7 +179,14 @@ async function execClaudeWithProxy(claudeCli, profileName, args) {
163
179
  CCS_PROFILE_TYPE: 'settings', // Signal to WebSearch hook this is a third-party provider
164
180
  };
165
181
  let claude;
166
- if (needsShell) {
182
+ if (isPowerShellScript) {
183
+ claude = (0, child_process_1.spawn)('powershell.exe', ['-NoProfile', '-ExecutionPolicy', 'Bypass', '-File', claudeCli, ...args], {
184
+ stdio: 'inherit',
185
+ windowsHide: true,
186
+ env,
187
+ });
188
+ }
189
+ else if (needsShell) {
167
190
  const cmdString = [claudeCli, ...args].map(shell_executor_1.escapeShellArg).join(' ');
168
191
  claude = (0, child_process_1.spawn)(cmdString, {
169
192
  stdio: 'inherit',
@@ -179,27 +202,39 @@ async function execClaudeWithProxy(claudeCli, profileName, args) {
179
202
  env,
180
203
  });
181
204
  }
182
- // 5. Cleanup: kill proxy when Claude exits
183
- claude.on('exit', (code, signal) => {
184
- proxy.kill('SIGTERM');
185
- if (signal)
205
+ // 5. Shared signal forwarding + proxy cleanup lifecycle
206
+ (0, signal_forwarder_1.wireChildProcessSignals)(claude, (err) => {
207
+ if (err.code === 'EACCES') {
208
+ console.error((0, ui_1.fail)(`Claude CLI is not executable: ${claudeCli}`));
209
+ console.error(' Check file permissions and executable bit.');
210
+ }
211
+ else if (err.code === 'ENOENT') {
212
+ if (isPowerShellScript) {
213
+ console.error((0, ui_1.fail)('PowerShell executable not found (required for .ps1 wrapper launch).'));
214
+ console.error(' Ensure powershell.exe is available in PATH.');
215
+ }
216
+ else if (needsShell) {
217
+ console.error((0, ui_1.fail)('Windows command shell not found for Claude wrapper launch.'));
218
+ console.error(' Ensure cmd.exe is available and accessible.');
219
+ }
220
+ else {
221
+ console.error((0, ui_1.fail)(`Claude CLI not found: ${claudeCli}`));
222
+ }
223
+ }
224
+ else {
225
+ console.error((0, ui_1.fail)(`Claude CLI error: ${err.message}`));
226
+ }
227
+ stopProxy();
228
+ (0, errors_1.runCleanup)();
229
+ process.exit(1);
230
+ }, (code, signal) => {
231
+ stopProxy();
232
+ if (signal) {
186
233
  process.kill(process.pid, signal);
187
- else
234
+ }
235
+ else {
188
236
  process.exit(code || 0);
189
- });
190
- claude.on('error', (error) => {
191
- console.error((0, ui_1.fail)(`Claude CLI error: ${error}`));
192
- proxy.kill('SIGTERM');
193
- process.exit(1);
194
- });
195
- // Also handle parent process termination
196
- process.once('SIGTERM', () => {
197
- proxy.kill('SIGTERM');
198
- claude.kill('SIGTERM');
199
- });
200
- process.once('SIGINT', () => {
201
- proxy.kill('SIGTERM');
202
- claude.kill('SIGTERM');
237
+ }
203
238
  });
204
239
  }
205
240
  /**
@@ -234,6 +269,9 @@ async function showCachedUpdateNotification() {
234
269
  return false;
235
270
  }
236
271
  async function main() {
272
+ // Register target adapters
273
+ (0, targets_1.registerTarget)(new targets_1.ClaudeAdapter());
274
+ (0, targets_1.registerTarget)(new targets_1.DroidAdapter());
237
275
  const args = process.argv.slice(2);
238
276
  // Initialize UI colors early to ensure consistent colored output
239
277
  // Must happen before any status messages (ok, info, fail, etc.)
@@ -345,7 +383,8 @@ async function main() {
345
383
  }
346
384
  // Special case: version command (check BEFORE profile detection)
347
385
  if (firstArg === 'version' || firstArg === '--version' || firstArg === '-v') {
348
- (0, version_command_1.handleVersionCommand)();
386
+ await (0, version_command_1.handleVersionCommand)();
387
+ return;
349
388
  }
350
389
  // Special case: help command
351
390
  if (firstArg === '--help' || firstArg === '-h' || firstArg === 'help') {
@@ -497,32 +536,6 @@ async function main() {
497
536
  const exitCode = await handleCopilotCommand(args.slice(1));
498
537
  process.exit(exitCode);
499
538
  }
500
- // Special case: headless delegation (-p flag)
501
- if (args.includes('-p') || args.includes('--prompt')) {
502
- // CLIProxy profiles (codex/gemini/agy/etc, including user variants) must stay on
503
- // the normal CLIProxy path so provider-specific flags (e.g. --effort/--thinking)
504
- // and proxy chains are applied consistently.
505
- let shouldUseDelegation = true;
506
- const { profile } = detectProfile(args);
507
- try {
508
- const ProfileDetectorModule = await Promise.resolve().then(() => __importStar(require('./auth/profile-detector')));
509
- const ProfileDetector = ProfileDetectorModule.default;
510
- const detector = new ProfileDetector();
511
- const profileInfo = detector.detectProfileType(profile);
512
- if (profileInfo.type === 'cliproxy') {
513
- shouldUseDelegation = false;
514
- }
515
- }
516
- catch {
517
- // Best effort detection only; keep delegation fallback behavior.
518
- }
519
- if (shouldUseDelegation) {
520
- const { DelegationHandler } = await Promise.resolve().then(() => __importStar(require('./delegation/delegation-handler')));
521
- const handler = new DelegationHandler();
522
- await handler.route(args);
523
- return;
524
- }
525
- }
526
539
  // First-time install: offer setup wizard for interactive users
527
540
  // Check independently of recovery status (user may have empty config.yaml)
528
541
  // Skip if headless, CI, or non-TTY environment
@@ -533,14 +546,6 @@ async function main() {
533
546
  console.log(' Or use `ccs config` for the web dashboard.');
534
547
  console.log('');
535
548
  }
536
- // Detect profile
537
- const { profile, remainingArgs } = detectProfile(args);
538
- // Detect Claude CLI first (needed for all paths)
539
- const claudeCli = (0, claude_detector_1.detectClaudeCli)();
540
- if (!claudeCli) {
541
- await error_manager_1.ErrorManager.showClaudeNotFound();
542
- process.exit(1);
543
- }
544
549
  // Use ProfileDetector to determine profile type
545
550
  const ProfileDetectorModule = await Promise.resolve().then(() => __importStar(require('./auth/profile-detector')));
546
551
  const ProfileDetector = ProfileDetectorModule.default;
@@ -550,7 +555,105 @@ async function main() {
550
555
  const ProfileRegistry = ProfileRegistryModule.default;
551
556
  const detector = new ProfileDetector();
552
557
  try {
558
+ // Detect profile (strip --target flags before profile detection)
559
+ const cleanArgs = (0, target_resolver_1.stripTargetFlag)(args);
560
+ const { profile, remainingArgs } = detectProfile(cleanArgs);
553
561
  const profileInfo = detector.detectProfileType(profile);
562
+ let resolvedTarget;
563
+ try {
564
+ resolvedTarget = (0, target_resolver_1.resolveTargetType)(args, profileInfo.target ? { target: profileInfo.target } : undefined);
565
+ }
566
+ catch (error) {
567
+ console.error((0, ui_1.fail)(error.message));
568
+ process.exit(1);
569
+ return;
570
+ }
571
+ // Detect Claude CLI (needed for claude target and all CLIProxy-derived flows)
572
+ const claudeCliRaw = (0, claude_detector_1.detectClaudeCli)();
573
+ if (resolvedTarget === 'claude' && !claudeCliRaw) {
574
+ await error_manager_1.ErrorManager.showClaudeNotFound();
575
+ process.exit(1);
576
+ }
577
+ const claudeCli = claudeCliRaw || '';
578
+ // Resolve non-claude target adapter once.
579
+ const targetAdapter = resolvedTarget !== 'claude' ? (0, targets_1.getTarget)(resolvedTarget) : null;
580
+ // Preflight unsupported profile/target combinations BEFORE binary detection,
581
+ // so users get the most actionable error even when the target CLI is not installed.
582
+ if (resolvedTarget !== 'claude') {
583
+ if (!targetAdapter) {
584
+ console.error((0, ui_1.fail)(`Target adapter not found for "${resolvedTarget}"`));
585
+ process.exit(1);
586
+ }
587
+ if (profileInfo.type === 'cliproxy' && !targetAdapter.supportsProfileType('cliproxy')) {
588
+ console.error((0, ui_1.fail)(`${targetAdapter.displayName} does not support CLIProxy profiles`));
589
+ console.error((0, ui_1.info)('Use a settings-based profile with --target instead'));
590
+ process.exit(1);
591
+ }
592
+ if (profileInfo.type === 'copilot' && !targetAdapter.supportsProfileType('copilot')) {
593
+ console.error((0, ui_1.fail)(`${targetAdapter.displayName} does not support Copilot profiles`));
594
+ process.exit(1);
595
+ }
596
+ if (profileInfo.type === 'account' && !targetAdapter.supportsProfileType('account')) {
597
+ console.error((0, ui_1.fail)(`${targetAdapter.displayName} does not support account-based profiles`));
598
+ console.error((0, ui_1.info)('Use a settings-based profile with --target instead'));
599
+ process.exit(1);
600
+ }
601
+ // GLMT always requires Claude target because it depends on embedded proxy flow.
602
+ if (profileInfo.type === 'settings' && profileInfo.name === 'glmt') {
603
+ console.error((0, ui_1.fail)(`${targetAdapter.displayName} does not support GLMT proxy profiles`));
604
+ console.error((0, ui_1.info)('Use --target claude for glmt, or switch to a direct API profile (glm/kimi)'));
605
+ process.exit(1);
606
+ }
607
+ if (profileInfo.type === 'default') {
608
+ if (!targetAdapter.supportsProfileType('default')) {
609
+ console.error((0, ui_1.fail)(`${targetAdapter.displayName} does not support default profile mode`));
610
+ process.exit(1);
611
+ }
612
+ // For default mode, Droid requires explicit credentials from environment.
613
+ if (resolvedTarget === 'droid') {
614
+ const baseUrl = process.env['ANTHROPIC_BASE_URL'] || '';
615
+ const apiKey = process.env['ANTHROPIC_AUTH_TOKEN'] || '';
616
+ if (!baseUrl.trim() || !apiKey.trim()) {
617
+ console.error((0, ui_1.fail)(`${targetAdapter.displayName} default mode requires ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN`));
618
+ console.error((0, ui_1.info)('Use a settings-based profile instead: ccs glm --target droid'));
619
+ process.exit(1);
620
+ }
621
+ }
622
+ }
623
+ }
624
+ // For non-claude targets, verify target binary exists once and pass it through.
625
+ const targetBinaryInfo = targetAdapter?.detectBinary() ?? null;
626
+ if (resolvedTarget !== 'claude' && !targetBinaryInfo) {
627
+ const displayName = targetAdapter?.displayName || resolvedTarget;
628
+ console.error((0, ui_1.fail)(`${displayName} CLI not found.`));
629
+ if (resolvedTarget === 'droid') {
630
+ console.error((0, ui_1.info)('Install: npm i -g @factory/cli'));
631
+ }
632
+ process.exit(1);
633
+ }
634
+ // Best-effort: prune stale Droid model entries at runtime so settings.json stays clean.
635
+ if (resolvedTarget === 'droid') {
636
+ try {
637
+ const allProfiles = detector.getAllProfiles();
638
+ const activeProfiles = allProfiles.settings.filter((name) => /^[a-zA-Z0-9_-]+$/.test(name));
639
+ await (0, targets_1.pruneOrphanedModels)(activeProfiles);
640
+ }
641
+ catch (error) {
642
+ console.error((0, ui_1.warn)(`[!] Droid prune skipped: ${error.message}`));
643
+ }
644
+ }
645
+ // Special case: headless delegation (-p/--prompt)
646
+ // Keep existing behavior for Claude targets only; non-claude targets must continue
647
+ // through normal adapter dispatch logic.
648
+ if (args.includes('-p') || args.includes('--prompt')) {
649
+ const shouldUseDelegation = resolvedTarget === 'claude' && profileInfo.type !== 'cliproxy';
650
+ if (shouldUseDelegation) {
651
+ const { DelegationHandler } = await Promise.resolve().then(() => __importStar(require('./delegation/delegation-handler')));
652
+ const handler = new DelegationHandler();
653
+ await handler.route(cleanArgs);
654
+ return;
655
+ }
656
+ }
554
657
  if (profileInfo.type === 'cliproxy') {
555
658
  // CLIPROXY FLOW: OAuth-based profiles (gemini, codex, agy, qwen) or user-defined variants
556
659
  // Inject WebSearch hook into profile settings before launch
@@ -585,7 +688,7 @@ async function main() {
585
688
  process.exit(exitCode);
586
689
  }
587
690
  else if (profileInfo.type === 'settings') {
588
- // Settings-based profiles (glm, glmt, kimi) are third-party providers
691
+ // Settings-based profiles (glm, glmt) are third-party providers
589
692
  // WebSearch is server-side tool - third-party providers have no access
590
693
  // Inject WebSearch hook into profile settings before launch
591
694
  (0, websearch_manager_1.ensureProfileHooks)(profileInfo.name);
@@ -635,11 +738,16 @@ async function main() {
635
738
  }
636
739
  // Check if this is GLMT profile (requires proxy)
637
740
  if (profileInfo.name === 'glmt') {
741
+ if (resolvedTarget !== 'claude') {
742
+ console.error((0, ui_1.fail)(`${targetAdapter?.displayName || 'Target'} does not support GLMT proxy profiles`));
743
+ console.error((0, ui_1.info)('Use --target claude for glmt, or switch to a direct API profile (glm/kimi)'));
744
+ process.exit(1);
745
+ }
638
746
  // GLMT FLOW: Settings-based with embedded proxy for thinking support
639
747
  await execClaudeWithProxy(claudeCli, profileInfo.name, remainingArgs);
640
748
  }
641
749
  else {
642
- // EXISTING FLOW: Settings-based profile (glm, kimi)
750
+ // EXISTING FLOW: Settings-based profile (glm)
643
751
  // Use --settings flag (backward compatible)
644
752
  const expandedSettingsPath = (0, config_manager_1.getSettingsPath)(profileInfo.name);
645
753
  const webSearchEnv = (0, websearch_manager_1.getWebSearchHookEnv)();
@@ -665,6 +773,25 @@ async function main() {
665
773
  ...imageAnalysisEnv,
666
774
  CCS_PROFILE_TYPE: 'settings', // Signal to WebSearch hook this is a third-party provider
667
775
  };
776
+ // Dispatch through target adapter for non-claude targets
777
+ if (resolvedTarget !== 'claude') {
778
+ const adapter = targetAdapter;
779
+ if (!adapter) {
780
+ console.error((0, ui_1.fail)(`Target adapter not found for "${resolvedTarget}"`));
781
+ process.exit(1);
782
+ }
783
+ const creds = {
784
+ profile: profileInfo.name,
785
+ baseUrl: settingsEnv['ANTHROPIC_BASE_URL'] || '',
786
+ apiKey: settingsEnv['ANTHROPIC_AUTH_TOKEN'] || '',
787
+ model: settingsEnv['ANTHROPIC_MODEL'],
788
+ };
789
+ await adapter.prepareCredentials(creds);
790
+ const targetArgs = adapter.buildArgs(profileInfo.name, remainingArgs);
791
+ const targetEnv = adapter.buildEnv(creds, profileInfo.type);
792
+ adapter.exec(targetArgs, targetEnv, { binaryInfo: targetBinaryInfo || undefined });
793
+ return;
794
+ }
668
795
  (0, shell_executor_1.execClaude)(claudeCli, ['--settings', expandedSettingsPath, ...remainingArgs], envVars);
669
796
  }
670
797
  }
@@ -702,6 +829,34 @@ async function main() {
702
829
  CCS_WEBSEARCH_SKIP: '1',
703
830
  CCS_IMAGE_ANALYSIS_SKIP: '1',
704
831
  };
832
+ // Dispatch through target adapter for non-claude targets
833
+ if (resolvedTarget !== 'claude') {
834
+ const adapter = targetAdapter;
835
+ if (!adapter) {
836
+ console.error((0, ui_1.fail)(`Target adapter not found for "${resolvedTarget}"`));
837
+ process.exit(1);
838
+ }
839
+ if (!adapter.supportsProfileType('default')) {
840
+ console.error((0, ui_1.fail)(`${adapter.displayName} does not support default profile mode`));
841
+ process.exit(1);
842
+ }
843
+ const creds = {
844
+ profile: 'default',
845
+ baseUrl: process.env['ANTHROPIC_BASE_URL'] || '',
846
+ apiKey: process.env['ANTHROPIC_AUTH_TOKEN'] || '',
847
+ model: process.env['ANTHROPIC_MODEL'],
848
+ };
849
+ if (!creds.baseUrl || !creds.apiKey) {
850
+ console.error((0, ui_1.fail)(`${adapter.displayName} default mode requires ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN`));
851
+ console.error((0, ui_1.info)('Use a settings-based profile instead: ccs glm --target droid'));
852
+ process.exit(1);
853
+ }
854
+ await adapter.prepareCredentials(creds);
855
+ const targetArgs = adapter.buildArgs('default', remainingArgs);
856
+ const targetEnv = adapter.buildEnv(creds, 'default');
857
+ adapter.exec(targetArgs, targetEnv, { binaryInfo: targetBinaryInfo || undefined });
858
+ return;
859
+ }
705
860
  (0, shell_executor_1.execClaude)(claudeCli, remainingArgs, envVars);
706
861
  }
707
862
  }
@@ -729,12 +884,29 @@ process.on('unhandledRejection', (reason) => {
729
884
  });
730
885
  // Handle process termination signals for cleanup
731
886
  process.on('SIGTERM', () => {
732
- (0, errors_1.runCleanup)();
733
- process.exit(0);
887
+ try {
888
+ (0, errors_1.runCleanup)();
889
+ }
890
+ catch {
891
+ // Cleanup failure should not block termination.
892
+ }
893
+ // If a target exec path registered additional signal listeners, let those
894
+ // listeners forward/coordinate child shutdown and final exit codes.
895
+ if (process.listenerCount('SIGTERM') <= 1) {
896
+ process.exit(143); // 128 + SIGTERM(15)
897
+ }
734
898
  });
735
899
  process.on('SIGINT', () => {
736
- (0, errors_1.runCleanup)();
737
- process.exit(130); // 128 + SIGINT(2)
900
+ try {
901
+ (0, errors_1.runCleanup)();
902
+ }
903
+ catch {
904
+ // Cleanup failure should not block termination.
905
+ }
906
+ // Same coordination rule as SIGTERM.
907
+ if (process.listenerCount('SIGINT') <= 1) {
908
+ process.exit(130); // 128 + SIGINT(2)
909
+ }
738
910
  });
739
911
  // Run main
740
912
  main().catch(errors_1.handleError);