@kaitranntt/ccs 7.49.1 → 7.50.0-dev.1

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 (164) hide show
  1. package/README.md +39 -0
  2. package/dist/api/services/index.d.ts +2 -2
  3. package/dist/api/services/index.d.ts.map +1 -1
  4. package/dist/api/services/index.js +2 -1
  5. package/dist/api/services/index.js.map +1 -1
  6. package/dist/api/services/profile-reader.d.ts.map +1 -1
  7. package/dist/api/services/profile-reader.js +13 -0
  8. package/dist/api/services/profile-reader.js.map +1 -1
  9. package/dist/api/services/profile-types.d.ts +9 -0
  10. package/dist/api/services/profile-types.d.ts.map +1 -1
  11. package/dist/api/services/profile-writer.d.ts +8 -2
  12. package/dist/api/services/profile-writer.d.ts.map +1 -1
  13. package/dist/api/services/profile-writer.js +68 -6
  14. package/dist/api/services/profile-writer.js.map +1 -1
  15. package/dist/auth/account-context.d.ts +54 -0
  16. package/dist/auth/account-context.d.ts.map +1 -0
  17. package/dist/auth/account-context.js +124 -0
  18. package/dist/auth/account-context.js.map +1 -0
  19. package/dist/auth/auth-commands.d.ts.map +1 -1
  20. package/dist/auth/auth-commands.js +9 -0
  21. package/dist/auth/auth-commands.js.map +1 -1
  22. package/dist/auth/commands/create-command.d.ts.map +1 -1
  23. package/dist/auth/commands/create-command.js +28 -5
  24. package/dist/auth/commands/create-command.js.map +1 -1
  25. package/dist/auth/commands/list-command.d.ts.map +1 -1
  26. package/dist/auth/commands/list-command.js +8 -2
  27. package/dist/auth/commands/list-command.js.map +1 -1
  28. package/dist/auth/commands/show-command.d.ts.map +1 -1
  29. package/dist/auth/commands/show-command.js +5 -0
  30. package/dist/auth/commands/show-command.js.map +1 -1
  31. package/dist/auth/commands/types.d.ts +4 -0
  32. package/dist/auth/commands/types.d.ts.map +1 -1
  33. package/dist/auth/commands/types.js +27 -1
  34. package/dist/auth/commands/types.js.map +1 -1
  35. package/dist/auth/profile-detector.d.ts.map +1 -1
  36. package/dist/auth/profile-detector.js +9 -0
  37. package/dist/auth/profile-detector.js.map +1 -1
  38. package/dist/auth/profile-registry.d.ts +11 -5
  39. package/dist/auth/profile-registry.d.ts.map +1 -1
  40. package/dist/auth/profile-registry.js +48 -7
  41. package/dist/auth/profile-registry.js.map +1 -1
  42. package/dist/ccs.js +107 -3
  43. package/dist/ccs.js.map +1 -1
  44. package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
  45. package/dist/cliproxy/config/env-builder.js +67 -11
  46. package/dist/cliproxy/config/env-builder.js.map +1 -1
  47. package/dist/cliproxy/config/generator.d.ts.map +1 -1
  48. package/dist/cliproxy/config/generator.js +2 -0
  49. package/dist/cliproxy/config/generator.js.map +1 -1
  50. package/dist/cliproxy/model-catalog.d.ts.map +1 -1
  51. package/dist/cliproxy/model-catalog.js +18 -0
  52. package/dist/cliproxy/model-catalog.js.map +1 -1
  53. package/dist/cliproxy/model-config.d.ts.map +1 -1
  54. package/dist/cliproxy/model-config.js +3 -2
  55. package/dist/cliproxy/model-config.js.map +1 -1
  56. package/dist/cliproxy/services/variant-config-adapter.d.ts +4 -35
  57. package/dist/cliproxy/services/variant-config-adapter.d.ts.map +1 -1
  58. package/dist/cliproxy/services/variant-config-adapter.js +11 -34
  59. package/dist/cliproxy/services/variant-config-adapter.js.map +1 -1
  60. package/dist/cliproxy/services/variant-service.d.ts +5 -1
  61. package/dist/cliproxy/services/variant-service.d.ts.map +1 -1
  62. package/dist/cliproxy/services/variant-service.js +19 -9
  63. package/dist/cliproxy/services/variant-service.js.map +1 -1
  64. package/dist/cliproxy/sync/profile-mapper.d.ts.map +1 -1
  65. package/dist/cliproxy/sync/profile-mapper.js +14 -2
  66. package/dist/cliproxy/sync/profile-mapper.js.map +1 -1
  67. package/dist/commands/api-command.d.ts +2 -0
  68. package/dist/commands/api-command.d.ts.map +1 -1
  69. package/dist/commands/api-command.js +45 -10
  70. package/dist/commands/api-command.js.map +1 -1
  71. package/dist/commands/cliproxy/auth-subcommand.d.ts.map +1 -1
  72. package/dist/commands/cliproxy/auth-subcommand.js +5 -2
  73. package/dist/commands/cliproxy/auth-subcommand.js.map +1 -1
  74. package/dist/commands/cliproxy/help-subcommand.d.ts.map +1 -1
  75. package/dist/commands/cliproxy/help-subcommand.js +1 -0
  76. package/dist/commands/cliproxy/help-subcommand.js.map +1 -1
  77. package/dist/commands/cliproxy/variant-subcommand.d.ts +15 -0
  78. package/dist/commands/cliproxy/variant-subcommand.d.ts.map +1 -1
  79. package/dist/commands/cliproxy/variant-subcommand.js +144 -15
  80. package/dist/commands/cliproxy/variant-subcommand.js.map +1 -1
  81. package/dist/commands/help-command.d.ts.map +1 -1
  82. package/dist/commands/help-command.js +10 -2
  83. package/dist/commands/help-command.js.map +1 -1
  84. package/dist/config/unified-config-types.d.ts +4 -0
  85. package/dist/config/unified-config-types.d.ts.map +1 -1
  86. package/dist/config/unified-config-types.js.map +1 -1
  87. package/dist/management/instance-manager.d.ts +2 -1
  88. package/dist/management/instance-manager.d.ts.map +1 -1
  89. package/dist/management/instance-manager.js +4 -3
  90. package/dist/management/instance-manager.js.map +1 -1
  91. package/dist/management/shared-manager.d.ts +21 -0
  92. package/dist/management/shared-manager.d.ts.map +1 -1
  93. package/dist/management/shared-manager.js +136 -0
  94. package/dist/management/shared-manager.js.map +1 -1
  95. package/dist/targets/droid-adapter.d.ts +1 -3
  96. package/dist/targets/droid-adapter.d.ts.map +1 -1
  97. package/dist/targets/droid-adapter.js +4 -6
  98. package/dist/targets/droid-adapter.js.map +1 -1
  99. package/dist/targets/droid-config-manager.js +3 -3
  100. package/dist/targets/droid-config-manager.js.map +1 -1
  101. package/dist/targets/target-resolver.d.ts.map +1 -1
  102. package/dist/targets/target-resolver.js +6 -3
  103. package/dist/targets/target-resolver.js.map +1 -1
  104. package/dist/types/config.d.ts +9 -0
  105. package/dist/types/config.d.ts.map +1 -1
  106. package/dist/types/config.js.map +1 -1
  107. package/dist/ui/assets/accounts-BKK-Lc16.js +1 -0
  108. package/dist/ui/assets/{alert-dialog-CFpc3HGP.js → alert-dialog-DmrIcJav.js} +1 -1
  109. package/dist/ui/assets/api-DzTwRtww.js +1 -0
  110. package/dist/ui/assets/{auth-section-856y9ZpH.js → auth-section-CP_2r8oJ.js} +1 -1
  111. package/dist/ui/assets/{backups-section-Bjxv4_pg.js → backups-section-jwtuA5Ay.js} +1 -1
  112. package/dist/ui/assets/checkbox-CNqHZx7Z.js +1 -0
  113. package/dist/ui/assets/cliproxy-CtO9BwgG.js +3 -0
  114. package/dist/ui/assets/cliproxy-control-panel--WUVyBIk.js +1 -0
  115. package/dist/ui/assets/{confirm-dialog-DxtbIbqy.js → confirm-dialog-CQNxkz9X.js} +1 -1
  116. package/dist/ui/assets/{copilot-DdeJ4TJs.js → copilot-DLxxmnsW.js} +2 -2
  117. package/dist/ui/assets/{cursor-CevrJcAp.js → cursor-YRIza7sP.js} +1 -1
  118. package/dist/ui/assets/{form-utils-C-pVd1--.js → form-utils-Cn_Uld6y.js} +1 -1
  119. package/dist/ui/assets/{globalenv-section-BqZQzUQ1.js → globalenv-section-vUSIK5rf.js} +1 -1
  120. package/dist/ui/assets/{health-D-7zneJI.js → health-BWPd6F4h.js} +1 -1
  121. package/dist/ui/assets/icons-Dk2sL3Mr.js +1 -0
  122. package/dist/ui/assets/index-B9dJZNls.js +1 -0
  123. package/dist/ui/assets/index-BZdHAol5.js +1 -0
  124. package/dist/ui/assets/{index-zwg9LfSN.js → index-BlldLmNl.js} +1 -1
  125. package/dist/ui/assets/{index-CcVqwkjG.js → index-D244tv89.js} +1 -1
  126. package/dist/ui/assets/index-DEDy1J8t.css +1 -0
  127. package/dist/ui/assets/index-PWMOllOf.js +47 -0
  128. package/dist/ui/assets/proxy-status-widget-MlyNgoPh.js +1 -0
  129. package/dist/ui/assets/{radix-ui-CwcVwplj.js → radix-ui-DIWAxjEp.js} +1 -1
  130. package/dist/ui/assets/separator-OcJLDgYQ.js +1 -0
  131. package/dist/ui/assets/{shared-VSWE7ipr.js → shared-LxAdbm4g.js} +1 -1
  132. package/dist/ui/assets/{switch-B1VCWktQ.js → switch-s8pp-m8L.js} +1 -1
  133. package/dist/ui/assets/{tanstack-matWclUm.js → tanstack-Hn82hibe.js} +1 -1
  134. package/dist/ui/assets/updates-BQRhDVbP.js +1 -0
  135. package/dist/ui/index.html +6 -6
  136. package/dist/utils/hooks/image-analyzer-profile-hook-injector.d.ts.map +1 -1
  137. package/dist/utils/hooks/image-analyzer-profile-hook-injector.js +2 -1
  138. package/dist/utils/hooks/image-analyzer-profile-hook-injector.js.map +1 -1
  139. package/dist/utils/websearch/profile-hook-injector.d.ts.map +1 -1
  140. package/dist/utils/websearch/profile-hook-injector.js +2 -1
  141. package/dist/utils/websearch/profile-hook-injector.js.map +1 -1
  142. package/dist/web-server/routes/account-routes.d.ts.map +1 -1
  143. package/dist/web-server/routes/account-routes.js +4 -0
  144. package/dist/web-server/routes/account-routes.js.map +1 -1
  145. package/dist/web-server/routes/profile-routes.d.ts +2 -0
  146. package/dist/web-server/routes/profile-routes.d.ts.map +1 -1
  147. package/dist/web-server/routes/profile-routes.js +60 -6
  148. package/dist/web-server/routes/profile-routes.js.map +1 -1
  149. package/dist/web-server/routes/variant-routes.d.ts +2 -0
  150. package/dist/web-server/routes/variant-routes.d.ts.map +1 -1
  151. package/dist/web-server/routes/variant-routes.js +50 -6
  152. package/dist/web-server/routes/variant-routes.js.map +1 -1
  153. package/package.json +1 -1
  154. package/dist/ui/assets/accounts-BKNcAuvp.js +0 -1
  155. package/dist/ui/assets/api-CcrDOIR7.js +0 -1
  156. package/dist/ui/assets/cliproxy-CgqwQWL0.js +0 -3
  157. package/dist/ui/assets/cliproxy-control-panel-fVNMCVo2.js +0 -1
  158. package/dist/ui/assets/icons-DGASzt3M.js +0 -1
  159. package/dist/ui/assets/index-5pyU75fR.js +0 -1
  160. package/dist/ui/assets/index-Bqt9Obz8.css +0 -1
  161. package/dist/ui/assets/index-DiWdJxAN.js +0 -47
  162. package/dist/ui/assets/index-euQBQnD4.js +0 -1
  163. package/dist/ui/assets/proxy-status-widget-nDPpIwJt.js +0 -1
  164. package/dist/ui/assets/separator-CrJ4MtV5.js +0 -1
package/README.md CHANGED
@@ -53,6 +53,8 @@ ccs config
53
53
  # Opens http://localhost:3000
54
54
  ```
55
55
 
56
+ Dashboard updates hub: `http://localhost:3000/updates`
57
+
56
58
  Want to run the dashboard in Docker? See `docker/README.md`.
57
59
 
58
60
  ### 3. Configure Your Accounts
@@ -62,6 +64,7 @@ The dashboard provides visual management for all account types:
62
64
  - **Claude Accounts**: Create isolated instances (work, personal, client)
63
65
  - **OAuth Providers**: One-click auth for Gemini, Codex, Antigravity, Kiro, Copilot
64
66
  - **API Profiles**: Configure GLM, Kimi with your keys
67
+ - **Updates Center**: Track support rollouts (Droid target, CLIProxy provider changes, WebSearch integrations)
65
68
  - **Health Monitor**: Real-time status across all profiles
66
69
 
67
70
  **Analytics Dashboard**
@@ -154,6 +157,30 @@ ccsd glm
154
157
 
155
158
  Need additional alias names? Set `CCS_DROID_ALIASES` as a comma-separated list (for example: `CCS_DROID_ALIASES=ccs-droid,mydroid`).
156
159
 
160
+ ### Per-Profile Target Defaults
161
+
162
+ You can pin a default target (`claude` or `droid`) per profile:
163
+
164
+ ```bash
165
+ # API profile defaults to Droid
166
+ ccs api create myglm --preset glm --target droid
167
+
168
+ # CLIProxy variant defaults to Droid
169
+ ccs cliproxy create mycodex --provider codex --target droid
170
+ ```
171
+
172
+ Built-in CLIProxy providers also work with Droid alias/target override:
173
+
174
+ ```bash
175
+ ccsd codex
176
+ ccsd agy
177
+ ccs codex --target droid
178
+ ```
179
+
180
+ Dashboard parity:
181
+ - `ccs config` -> `API Profiles` -> set **Default Target**
182
+ - `ccs config` -> `CLIProxy` -> create/edit variant -> set **Default Target**
183
+
157
184
  ### Kiro Auth Methods
158
185
 
159
186
  `ccs kiro --auth` defaults to AWS Builder ID Device OAuth (best support for AWS org accounts).
@@ -221,6 +248,18 @@ ccs work "implement feature" # Terminal 1
221
248
  ccs "review code" # Terminal 2 (personal account)
222
249
  ```
223
250
 
251
+ Need continuity between two accounts for the same project? Opt in to shared context:
252
+
253
+ ```bash
254
+ # Share context with default group
255
+ ccs auth create backup --share-context
256
+
257
+ # Or isolate by named group (only accounts in this group share context)
258
+ ccs auth create backup2 --context-group sprint-a
259
+ ```
260
+
261
+ Isolation remains the default. Shared context only links project workspace data; credentials stay per-account.
262
+
224
263
  <br>
225
264
 
226
265
  ## Maintenance
@@ -4,9 +4,9 @@
4
4
  * Barrel export for API-related business logic services.
5
5
  */
6
6
  export { validateApiName, validateUrl, getUrlWarning, sanitizeBaseUrl } from './validation-service';
7
- export { type ModelMapping, type ApiProfileInfo, type CliproxyVariantInfo, type ApiListResult, type CreateApiProfileResult, type RemoveApiProfileResult, } from './profile-types';
7
+ export { type ModelMapping, type ApiProfileInfo, type CliproxyVariantInfo, type ApiListResult, type CreateApiProfileResult, type RemoveApiProfileResult, type UpdateApiProfileTargetResult, } from './profile-types';
8
8
  export { apiProfileExists, isApiProfileConfigured, listApiProfiles, getApiProfileNames, isUsingUnifiedConfig, } from './profile-reader';
9
- export { createApiProfile, removeApiProfile } from './profile-writer';
9
+ export { createApiProfile, removeApiProfile, updateApiProfileTarget } from './profile-writer';
10
10
  export { isOpenRouterUrl, fetchOpenRouterModels, type OpenRouterModel } from './openrouter-catalog';
11
11
  export { pickOpenRouterModel, type OpenRouterSelection } from './openrouter-picker';
12
12
  export { PROVIDER_PRESETS, PRESET_ALIASES, OPENROUTER_BASE_URL, getPresetById, getPresetAliases, getPresetIds, isValidPresetId, type ProviderPreset, type PresetCategory, } from './provider-presets';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGpG,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC5B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGtE,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAGpF,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGpG,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,GAClC,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG9F,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAGpF,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * Barrel export for API-related business logic services.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.isValidPresetId = exports.getPresetIds = exports.getPresetAliases = exports.getPresetById = exports.OPENROUTER_BASE_URL = exports.PRESET_ALIASES = exports.PROVIDER_PRESETS = exports.pickOpenRouterModel = exports.fetchOpenRouterModels = exports.isOpenRouterUrl = exports.removeApiProfile = exports.createApiProfile = exports.isUsingUnifiedConfig = exports.getApiProfileNames = exports.listApiProfiles = exports.isApiProfileConfigured = exports.apiProfileExists = exports.sanitizeBaseUrl = exports.getUrlWarning = exports.validateUrl = exports.validateApiName = void 0;
8
+ exports.isValidPresetId = exports.getPresetIds = exports.getPresetAliases = exports.getPresetById = exports.OPENROUTER_BASE_URL = exports.PRESET_ALIASES = exports.PROVIDER_PRESETS = exports.pickOpenRouterModel = exports.fetchOpenRouterModels = exports.isOpenRouterUrl = exports.updateApiProfileTarget = exports.removeApiProfile = exports.createApiProfile = exports.isUsingUnifiedConfig = exports.getApiProfileNames = exports.listApiProfiles = exports.isApiProfileConfigured = exports.apiProfileExists = exports.sanitizeBaseUrl = exports.getUrlWarning = exports.validateUrl = exports.validateApiName = void 0;
9
9
  // Validation services
10
10
  var validation_service_1 = require("./validation-service");
11
11
  Object.defineProperty(exports, "validateApiName", { enumerable: true, get: function () { return validation_service_1.validateApiName; } });
@@ -23,6 +23,7 @@ Object.defineProperty(exports, "isUsingUnifiedConfig", { enumerable: true, get:
23
23
  var profile_writer_1 = require("./profile-writer");
24
24
  Object.defineProperty(exports, "createApiProfile", { enumerable: true, get: function () { return profile_writer_1.createApiProfile; } });
25
25
  Object.defineProperty(exports, "removeApiProfile", { enumerable: true, get: function () { return profile_writer_1.removeApiProfile; } });
26
+ Object.defineProperty(exports, "updateApiProfileTarget", { enumerable: true, get: function () { return profile_writer_1.updateApiProfileTarget; } });
26
27
  // OpenRouter catalog and picker
27
28
  var openrouter_catalog_1 = require("./openrouter-catalog");
28
29
  Object.defineProperty(exports, "isOpenRouterUrl", { enumerable: true, get: function () { return openrouter_catalog_1.isOpenRouterUrl; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/services/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,sBAAsB;AACtB,2DAAoG;AAA3F,qHAAA,eAAe,OAAA;AAAE,iHAAA,WAAW,OAAA;AAAE,mHAAA,aAAa,OAAA;AAAE,qHAAA,eAAe,OAAA;AAYrE,0BAA0B;AAC1B,mDAM0B;AALxB,kHAAA,gBAAgB,OAAA;AAChB,wHAAA,sBAAsB,OAAA;AACtB,iHAAA,eAAe,OAAA;AACf,oHAAA,kBAAkB,OAAA;AAClB,sHAAA,oBAAoB,OAAA;AAGtB,2BAA2B;AAC3B,mDAAsE;AAA7D,kHAAA,gBAAgB,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AAE3C,gCAAgC;AAChC,2DAAoG;AAA3F,qHAAA,eAAe,OAAA;AAAE,2HAAA,qBAAqB,OAAA;AAC/C,yDAAoF;AAA3E,wHAAA,mBAAmB,OAAA;AAE5B,2BAA2B;AAC3B,uDAU4B;AAT1B,oHAAA,gBAAgB,OAAA;AAChB,kHAAA,cAAc,OAAA;AACd,uHAAA,mBAAmB,OAAA;AACnB,iHAAA,aAAa,OAAA;AACb,oHAAA,gBAAgB,OAAA;AAChB,gHAAA,YAAY,OAAA;AACZ,mHAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/services/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,sBAAsB;AACtB,2DAAoG;AAA3F,qHAAA,eAAe,OAAA;AAAE,iHAAA,WAAW,OAAA;AAAE,mHAAA,aAAa,OAAA;AAAE,qHAAA,eAAe,OAAA;AAarE,0BAA0B;AAC1B,mDAM0B;AALxB,kHAAA,gBAAgB,OAAA;AAChB,wHAAA,sBAAsB,OAAA;AACtB,iHAAA,eAAe,OAAA;AACf,oHAAA,kBAAkB,OAAA;AAClB,sHAAA,oBAAoB,OAAA;AAGtB,2BAA2B;AAC3B,mDAA8F;AAArF,kHAAA,gBAAgB,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AAAE,wHAAA,sBAAsB,OAAA;AAEnE,gCAAgC;AAChC,2DAAoG;AAA3F,qHAAA,eAAe,OAAA;AAAE,2HAAA,qBAAqB,OAAA;AAC/C,yDAAoF;AAA3E,wHAAA,mBAAmB,OAAA;AAE5B,2BAA2B;AAC3B,uDAU4B;AAT1B,oHAAA,gBAAgB,OAAA;AAChB,kHAAA,cAAc,OAAA;AACd,uHAAA,mBAAmB,OAAA;AACnB,iHAAA,aAAa,OAAA;AACb,oHAAA,gBAAgB,OAAA;AAChB,gHAAA,YAAY,OAAA;AACZ,mHAAA,eAAe,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"profile-reader.d.ts","sourceRoot":"","sources":["../../../src/api/services/profile-reader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAuC,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE1F;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAWtD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAc/D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,aAAa,CA0D/C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAO7C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C"}
1
+ {"version":3,"file":"profile-reader.d.ts","sourceRoot":"","sources":["../../../src/api/services/profile-reader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAuC,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAW1F;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAWtD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAc/D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,aAAa,CAgE/C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAO7C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C"}
@@ -34,6 +34,13 @@ const fs = __importStar(require("fs"));
34
34
  const path = __importStar(require("path"));
35
35
  const config_manager_1 = require("../../utils/config-manager");
36
36
  const unified_config_loader_1 = require("../../config/unified-config-loader");
37
+ const VALID_TARGETS = new Set(['claude', 'droid']);
38
+ function sanitizeTarget(target) {
39
+ if (typeof target === 'string' && VALID_TARGETS.has(target)) {
40
+ return target;
41
+ }
42
+ return 'claude';
43
+ }
37
44
  /**
38
45
  * Check if API profile exists in config
39
46
  */
@@ -91,6 +98,7 @@ function listApiProfiles() {
91
98
  settingsPath: profile.settings || 'config.yaml',
92
99
  isConfigured: isApiProfileConfigured(name),
93
100
  configSource: 'unified',
101
+ target: sanitizeTarget(profile.target),
94
102
  });
95
103
  }
96
104
  // CLIProxy variants
@@ -102,11 +110,14 @@ function listApiProfiles() {
102
110
  name,
103
111
  provider,
104
112
  settings: variant?.settings || '-',
113
+ target: sanitizeTarget(variant?.target),
105
114
  });
106
115
  }
107
116
  }
108
117
  else {
109
118
  const config = (0, config_manager_1.loadConfigSafe)();
119
+ const legacyTargetMap = config
120
+ .profile_targets;
110
121
  for (const [name, settingsPath] of Object.entries(config.profiles)) {
111
122
  // Skip 'default' profile - it's the user's native Claude settings
112
123
  if (name === 'default' && settingsPath.includes('.claude/settings.json')) {
@@ -117,6 +128,7 @@ function listApiProfiles() {
117
128
  settingsPath: settingsPath,
118
129
  isConfigured: isApiProfileConfigured(name),
119
130
  configSource: 'legacy',
131
+ target: sanitizeTarget(legacyTargetMap?.[name]),
120
132
  });
121
133
  }
122
134
  // CLIProxy variants
@@ -127,6 +139,7 @@ function listApiProfiles() {
127
139
  name,
128
140
  provider: variant.provider,
129
141
  settings: variant.settings,
142
+ target: sanitizeTarget(variant.target),
130
143
  });
131
144
  }
132
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"profile-reader.js","sourceRoot":"","sources":["../../../src/api/services/profile-reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile-reader.js","sourceRoot":"","sources":["../../../src/api/services/profile-reader.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,+DAAuE;AACvE,8EAA8F;AAI9F,MAAM,aAAa,GAA4B,IAAI,GAAG,CAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAExF,SAAS,cAAc,CAAC,MAAe;IACrC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,MAAoB,CAAC,EAAE,CAAC;QAC1E,OAAO,MAAoB,CAAC;IAC9B,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,IAAY;IAC3C,IAAI,CAAC;QACH,IAAI,IAAA,qCAAa,GAAE,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,IAAA,iDAAyB,GAAE,CAAC;YAC3C,OAAO,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;QACjC,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,+BAAc,GAAE,CAAC;QAChC,OAAO,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAXD,4CAWC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,OAAe;IACpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,0BAAS,GAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,gBAAgB,CAAC,CAAC;QAEnE,uCAAuC;QACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,OAAO,KAAK,CAAC;QAE/C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,QAAQ,EAAE,GAAG,EAAE,oBAAoB,IAAI,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAdD,wDAcC;AAED;;;;;GAKG;AACH,SAAgB,eAAe;IAC7B,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,MAAM,QAAQ,GAA0B,EAAE,CAAC;IAE3C,IAAI,IAAA,qCAAa,GAAE,EAAE,CAAC;QACpB,MAAM,aAAa,GAAG,IAAA,iDAAyB,GAAE,CAAC;QAClD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrE,kEAAkE;YAClE,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBAC9E,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI;gBACJ,YAAY,EAAE,OAAO,CAAC,QAAQ,IAAI,aAAa;gBAC/C,YAAY,EAAE,sBAAsB,CAAC,IAAI,CAAC;gBAC1C,YAAY,EAAE,SAAS;gBACvB,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC;aACvC,CAAC,CAAC;QACL,CAAC;QACD,oBAAoB;QACpB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;YACrF,MAAM,QAAQ,GACZ,OAAO,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;gBAC1D,CAAC,CAAC,WAAW;gBACb,CAAC,CAAE,OAAiC,EAAE,QAAQ,IAAI,SAAS,CAAC;YAChE,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI;gBACJ,QAAQ;gBACR,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,GAAG;gBAClC,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC;aACxC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,IAAA,+BAAc,GAAE,CAAC;QAChC,MAAM,eAAe,GAAI,MAAwD;aAC9E,eAAe,CAAC;QACnB,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnE,kEAAkE;YAClE,IAAI,IAAI,KAAK,SAAS,IAAK,YAAuB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBACrF,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI;gBACJ,YAAY,EAAE,YAAsB;gBACpC,YAAY,EAAE,sBAAsB,CAAC,IAAI,CAAC;gBAC1C,YAAY,EAAE,QAAQ;gBACtB,MAAM,EAAE,cAAc,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC;aAChD,CAAC,CAAC;QACL,CAAC;QACD,oBAAoB;QACpB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxD,MAAM,OAAO,GAAG,CAA6D,CAAC;gBAC9E,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI;oBACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC;iBACvC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAhED,0CAgEC;AAED;;GAEG;AACH,SAAgB,kBAAkB;IAChC,IAAI,IAAA,qCAAa,GAAE,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,IAAA,iDAAyB,GAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,MAAM,GAAG,IAAA,+BAAc,GAAE,CAAC;IAChC,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAPD,gDAOC;AAED;;GAEG;AACH,SAAgB,oBAAoB;IAClC,OAAO,IAAA,qCAAa,GAAE,CAAC;AACzB,CAAC;AAFD,oDAEC"}
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * Shared type definitions for API profile services.
5
5
  */
6
+ import type { TargetType } from '../../targets/target-adapter';
6
7
  /** Model mapping for API profiles */
7
8
  export interface ModelMapping {
8
9
  default: string;
@@ -16,12 +17,14 @@ export interface ApiProfileInfo {
16
17
  settingsPath: string;
17
18
  isConfigured: boolean;
18
19
  configSource: 'unified' | 'legacy';
20
+ target: TargetType;
19
21
  }
20
22
  /** CLIProxy variant info */
21
23
  export interface CliproxyVariantInfo {
22
24
  name: string;
23
25
  provider: string;
24
26
  settings: string;
27
+ target: TargetType;
25
28
  }
26
29
  /** Result from list operation */
27
30
  export interface ApiListResult {
@@ -39,4 +42,10 @@ export interface RemoveApiProfileResult {
39
42
  success: boolean;
40
43
  error?: string;
41
44
  }
45
+ /** Result from updating API profile target */
46
+ export interface UpdateApiProfileTargetResult {
47
+ success: boolean;
48
+ target?: TargetType;
49
+ error?: string;
50
+ }
42
51
  //# sourceMappingURL=profile-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile-types.d.ts","sourceRoot":"","sources":["../../../src/api/services/profile-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,SAAS,GAAG,QAAQ,CAAC;CACpC;AAED,4BAA4B;AAC5B,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,iCAAiC;AACjC,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC;AAED,mCAAmC;AACnC,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,mCAAmC;AACnC,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"profile-types.d.ts","sourceRoot":"","sources":["../../../src/api/services/profile-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,SAAS,GAAG,QAAQ,CAAC;IACnC,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,4BAA4B;AAC5B,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,iCAAiC;AACjC,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC;AAED,mCAAmC;AACnC,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,mCAAmC;AACnC,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,8CAA8C;AAC9C,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -1,6 +1,12 @@
1
- import type { ModelMapping, CreateApiProfileResult, RemoveApiProfileResult } from './profile-types';
1
+ import type { TargetType } from '../../targets/target-adapter';
2
+ import type { ModelMapping, CreateApiProfileResult, RemoveApiProfileResult, UpdateApiProfileTargetResult } from './profile-types';
2
3
  /** Create a new API profile */
3
- export declare function createApiProfile(name: string, baseUrl: string, apiKey: string, models: ModelMapping): CreateApiProfileResult;
4
+ export declare function createApiProfile(name: string, baseUrl: string, apiKey: string, models: ModelMapping, target?: TargetType): CreateApiProfileResult;
5
+ /**
6
+ * Update API profile target (claude/droid).
7
+ * Persists to config.yaml in unified mode and config.json profile_targets in legacy mode.
8
+ */
9
+ export declare function updateApiProfileTarget(name: string, target: TargetType): UpdateApiProfileTargetResult;
4
10
  /** Remove an API profile */
5
11
  export declare function removeApiProfile(name: string): RemoveApiProfileResult;
6
12
  //# sourceMappingURL=profile-writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile-writer.d.ts","sourceRoot":"","sources":["../../../src/api/services/profile-writer.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAwGpG,+BAA+B;AAC/B,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,GACnB,sBAAsB,CAmBxB;AA+CD,4BAA4B;AAC5B,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,CAWrE"}
1
+ {"version":3,"file":"profile-writer.d.ts","sourceRoot":"","sources":["../../../src/api/services/profile-writer.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,iBAAiB,CAAC;AAoHzB,+BAA+B;AAC/B,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,MAAM,GAAE,UAAqB,GAC5B,sBAAsB,CAmBxB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,GACjB,4BAA4B,CAgD9B;AAqDD,4BAA4B;AAC5B,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,CAWrE"}
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.removeApiProfile = exports.createApiProfile = void 0;
26
+ exports.removeApiProfile = exports.updateApiProfileTarget = exports.createApiProfile = void 0;
27
27
  /**
28
28
  * API Profile Writer Service - Create/remove operations for API profiles.
29
29
  * Supports both unified YAML config and legacy JSON config.
@@ -60,7 +60,7 @@ function createSettingsFile(name, baseUrl, apiKey, models) {
60
60
  return settingsPath;
61
61
  }
62
62
  /** Update config.json with new API profile (legacy format) */
63
- function updateLegacyConfig(name) {
63
+ function updateLegacyConfig(name, target = 'claude') {
64
64
  const configPath = (0, config_manager_1.getConfigPath)();
65
65
  const ccsDir = (0, config_manager_1.getCcsDir)();
66
66
  let config;
@@ -72,6 +72,13 @@ function updateLegacyConfig(name) {
72
72
  }
73
73
  const relativePath = `~/.ccs/${name}.settings.json`;
74
74
  config.profiles[name] = relativePath;
75
+ config.profile_targets = config.profile_targets || {};
76
+ if (target === 'claude') {
77
+ delete config.profile_targets[name];
78
+ }
79
+ else {
80
+ config.profile_targets[name] = target;
81
+ }
75
82
  if (!fs.existsSync(ccsDir)) {
76
83
  fs.mkdirSync(ccsDir, { recursive: true });
77
84
  }
@@ -81,7 +88,7 @@ function updateLegacyConfig(name) {
81
88
  fs.renameSync(tempPath, configPath);
82
89
  }
83
90
  /** Create API profile in unified config */
84
- function createApiProfileUnified(name, baseUrl, apiKey, models) {
91
+ function createApiProfileUnified(name, baseUrl, apiKey, models, target = 'claude') {
85
92
  const ccsDir = (0, config_manager_1.getCcsDir)();
86
93
  const settingsFile = `${name}.settings.json`;
87
94
  const settingsPath = path.join(ccsDir, settingsFile);
@@ -107,19 +114,20 @@ function createApiProfileUnified(name, baseUrl, apiKey, models) {
107
114
  config.profiles[name] = {
108
115
  type: 'api',
109
116
  settings: `~/.ccs/${settingsFile}`,
117
+ ...(target !== 'claude' && { target }),
110
118
  };
111
119
  (0, unified_config_loader_1.saveUnifiedConfig)(config);
112
120
  }
113
121
  /** Create a new API profile */
114
- function createApiProfile(name, baseUrl, apiKey, models) {
122
+ function createApiProfile(name, baseUrl, apiKey, models, target = 'claude') {
115
123
  try {
116
124
  const settingsFile = `~/.ccs/${name}.settings.json`;
117
125
  if ((0, unified_config_loader_1.isUnifiedMode)()) {
118
- createApiProfileUnified(name, baseUrl, apiKey, models);
126
+ createApiProfileUnified(name, baseUrl, apiKey, models, target);
119
127
  }
120
128
  else {
121
129
  createSettingsFile(name, baseUrl, apiKey, models);
122
- updateLegacyConfig(name);
130
+ updateLegacyConfig(name, target);
123
131
  }
124
132
  return { success: true, settingsFile };
125
133
  }
@@ -132,6 +140,54 @@ function createApiProfile(name, baseUrl, apiKey, models) {
132
140
  }
133
141
  }
134
142
  exports.createApiProfile = createApiProfile;
143
+ /**
144
+ * Update API profile target (claude/droid).
145
+ * Persists to config.yaml in unified mode and config.json profile_targets in legacy mode.
146
+ */
147
+ function updateApiProfileTarget(name, target) {
148
+ try {
149
+ if ((0, unified_config_loader_1.isUnifiedMode)()) {
150
+ const config = (0, unified_config_loader_1.loadOrCreateUnifiedConfig)();
151
+ if (!config.profiles[name]) {
152
+ return { success: false, error: `API profile not found: ${name}` };
153
+ }
154
+ if (target === 'claude') {
155
+ delete config.profiles[name].target;
156
+ }
157
+ else {
158
+ config.profiles[name].target = target;
159
+ }
160
+ (0, unified_config_loader_1.saveUnifiedConfig)(config);
161
+ return { success: true, target };
162
+ }
163
+ const configPath = (0, config_manager_1.getConfigPath)();
164
+ let config;
165
+ try {
166
+ config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
167
+ }
168
+ catch {
169
+ config = { profiles: {} };
170
+ }
171
+ if (!config.profiles[name]) {
172
+ return { success: false, error: `API profile not found: ${name}` };
173
+ }
174
+ config.profile_targets = config.profile_targets || {};
175
+ if (target === 'claude') {
176
+ delete config.profile_targets[name];
177
+ }
178
+ else {
179
+ config.profile_targets[name] = target;
180
+ }
181
+ const tempPath = configPath + '.tmp';
182
+ fs.writeFileSync(tempPath, JSON.stringify(config, null, 2) + '\n', 'utf8');
183
+ fs.renameSync(tempPath, configPath);
184
+ return { success: true, target };
185
+ }
186
+ catch (error) {
187
+ return { success: false, error: error.message };
188
+ }
189
+ }
190
+ exports.updateApiProfileTarget = updateApiProfileTarget;
135
191
  /** Remove API profile from unified config */
136
192
  function removeApiProfileUnified(name) {
137
193
  const config = (0, unified_config_loader_1.loadOrCreateUnifiedConfig)();
@@ -158,6 +214,12 @@ function removeApiProfileUnified(name) {
158
214
  function removeApiProfileLegacy(name) {
159
215
  const config = (0, config_manager_1.loadConfigSafe)();
160
216
  delete config.profiles[name];
217
+ if (config.profile_targets) {
218
+ delete config.profile_targets[name];
219
+ if (Object.keys(config.profile_targets).length === 0) {
220
+ delete config.profile_targets;
221
+ }
222
+ }
161
223
  const configPath = (0, config_manager_1.getConfigPath)();
162
224
  const tempPath = configPath + '.tmp';
163
225
  fs.writeFileSync(tempPath, JSON.stringify(config, null, 2) + '\n', 'utf8');
@@ -1 +1 @@
1
- {"version":3,"file":"profile-writer.js","sourceRoot":"","sources":["../../../src/api/services/profile-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile-writer.js","sourceRoot":"","sources":["../../../src/api/services/profile-writer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Account context policy helpers.
3
+ *
4
+ * Controls whether account instances keep project context isolated, or share
5
+ * project workspace context with other accounts in the same context group.
6
+ */
7
+ export type AccountContextMode = 'isolated' | 'shared';
8
+ export interface AccountContextMetadata {
9
+ context_mode?: AccountContextMode;
10
+ context_group?: string;
11
+ }
12
+ export interface AccountContextPolicy {
13
+ mode: AccountContextMode;
14
+ group?: string;
15
+ }
16
+ export interface CreateAccountContextInput {
17
+ shareContext: boolean;
18
+ contextGroup?: string;
19
+ }
20
+ export interface ResolvedCreateAccountContext {
21
+ policy: AccountContextPolicy;
22
+ error?: string;
23
+ }
24
+ export declare const DEFAULT_ACCOUNT_CONTEXT_MODE: AccountContextMode;
25
+ export declare const DEFAULT_ACCOUNT_CONTEXT_GROUP = "default";
26
+ /**
27
+ * Normalize context group names so paths and config stay consistent.
28
+ */
29
+ export declare function normalizeContextGroupName(value: string): string;
30
+ /**
31
+ * Validate context group naming constraints.
32
+ */
33
+ export declare function isValidContextGroupName(value: string): boolean;
34
+ /**
35
+ * Runtime type guard for account context metadata payloads.
36
+ */
37
+ export declare function isAccountContextMetadata(value: unknown): value is AccountContextMetadata;
38
+ /**
39
+ * Resolve create-command flags into a valid context policy.
40
+ */
41
+ export declare function resolveCreateAccountContext(input: CreateAccountContextInput): ResolvedCreateAccountContext;
42
+ /**
43
+ * Resolve persisted metadata into runtime policy with safe defaults.
44
+ */
45
+ export declare function resolveAccountContextPolicy(metadata?: AccountContextMetadata | null): AccountContextPolicy;
46
+ /**
47
+ * Convert runtime policy back to persisted metadata.
48
+ */
49
+ export declare function policyToAccountContextMetadata(policy: AccountContextPolicy): AccountContextMetadata;
50
+ /**
51
+ * User-facing summary for display/help output.
52
+ */
53
+ export declare function formatAccountContextPolicy(policy: AccountContextPolicy): string;
54
+ //# sourceMappingURL=account-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-context.d.ts","sourceRoot":"","sources":["../../src/auth/account-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEvD,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,4BAA4B,EAAE,kBAA+B,CAAC;AAC3E,eAAO,MAAM,6BAA6B,YAAY,CAAC;AAIvD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,sBAAsB,CAaxF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,yBAAyB,GAC/B,4BAA4B,CAwC9B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,CAAC,EAAE,sBAAsB,GAAG,IAAI,GACvC,oBAAoB,CAgBtB;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,oBAAoB,GAC3B,sBAAsB,CAWxB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAM/E"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ /**
3
+ * Account context policy helpers.
4
+ *
5
+ * Controls whether account instances keep project context isolated, or share
6
+ * project workspace context with other accounts in the same context group.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.formatAccountContextPolicy = exports.policyToAccountContextMetadata = exports.resolveAccountContextPolicy = exports.resolveCreateAccountContext = exports.isAccountContextMetadata = exports.isValidContextGroupName = exports.normalizeContextGroupName = exports.DEFAULT_ACCOUNT_CONTEXT_GROUP = exports.DEFAULT_ACCOUNT_CONTEXT_MODE = void 0;
10
+ exports.DEFAULT_ACCOUNT_CONTEXT_MODE = 'isolated';
11
+ exports.DEFAULT_ACCOUNT_CONTEXT_GROUP = 'default';
12
+ const CONTEXT_GROUP_PATTERN = /^[a-zA-Z][a-zA-Z0-9_-]*$/;
13
+ /**
14
+ * Normalize context group names so paths and config stay consistent.
15
+ */
16
+ function normalizeContextGroupName(value) {
17
+ return value.trim().toLowerCase();
18
+ }
19
+ exports.normalizeContextGroupName = normalizeContextGroupName;
20
+ /**
21
+ * Validate context group naming constraints.
22
+ */
23
+ function isValidContextGroupName(value) {
24
+ return CONTEXT_GROUP_PATTERN.test(value);
25
+ }
26
+ exports.isValidContextGroupName = isValidContextGroupName;
27
+ /**
28
+ * Runtime type guard for account context metadata payloads.
29
+ */
30
+ function isAccountContextMetadata(value) {
31
+ if (typeof value !== 'object' || value === null) {
32
+ return false;
33
+ }
34
+ const candidate = value;
35
+ const mode = candidate['context_mode'];
36
+ const group = candidate['context_group'];
37
+ const modeValid = mode === undefined || mode === 'isolated' || mode === 'shared';
38
+ const groupValid = group === undefined || typeof group === 'string';
39
+ return modeValid && groupValid;
40
+ }
41
+ exports.isAccountContextMetadata = isAccountContextMetadata;
42
+ /**
43
+ * Resolve create-command flags into a valid context policy.
44
+ */
45
+ function resolveCreateAccountContext(input) {
46
+ const hasGroupFlag = input.contextGroup !== undefined;
47
+ if (hasGroupFlag) {
48
+ if (!input.contextGroup || input.contextGroup.trim().length === 0) {
49
+ return {
50
+ policy: { mode: 'isolated' },
51
+ error: 'Context group name is required after --context-group',
52
+ };
53
+ }
54
+ const normalizedGroup = normalizeContextGroupName(input.contextGroup);
55
+ if (!isValidContextGroupName(normalizedGroup)) {
56
+ return {
57
+ policy: { mode: 'isolated' },
58
+ error: 'Invalid context group. Use letters/numbers/dash/underscore and start with a letter.',
59
+ };
60
+ }
61
+ return {
62
+ policy: {
63
+ mode: 'shared',
64
+ group: normalizedGroup,
65
+ },
66
+ };
67
+ }
68
+ if (input.shareContext) {
69
+ return {
70
+ policy: {
71
+ mode: 'shared',
72
+ group: exports.DEFAULT_ACCOUNT_CONTEXT_GROUP,
73
+ },
74
+ };
75
+ }
76
+ return {
77
+ policy: { mode: exports.DEFAULT_ACCOUNT_CONTEXT_MODE },
78
+ };
79
+ }
80
+ exports.resolveCreateAccountContext = resolveCreateAccountContext;
81
+ /**
82
+ * Resolve persisted metadata into runtime policy with safe defaults.
83
+ */
84
+ function resolveAccountContextPolicy(metadata) {
85
+ const mode = metadata?.context_mode === 'shared' ? 'shared' : 'isolated';
86
+ if (mode === 'shared') {
87
+ const rawGroup = metadata?.context_group;
88
+ if (rawGroup && rawGroup.trim().length > 0) {
89
+ const normalized = normalizeContextGroupName(rawGroup);
90
+ if (isValidContextGroupName(normalized)) {
91
+ return { mode: 'shared', group: normalized };
92
+ }
93
+ }
94
+ return { mode: 'shared', group: exports.DEFAULT_ACCOUNT_CONTEXT_GROUP };
95
+ }
96
+ return { mode: 'isolated' };
97
+ }
98
+ exports.resolveAccountContextPolicy = resolveAccountContextPolicy;
99
+ /**
100
+ * Convert runtime policy back to persisted metadata.
101
+ */
102
+ function policyToAccountContextMetadata(policy) {
103
+ if (policy.mode === 'shared') {
104
+ return {
105
+ context_mode: 'shared',
106
+ context_group: policy.group || exports.DEFAULT_ACCOUNT_CONTEXT_GROUP,
107
+ };
108
+ }
109
+ return {
110
+ context_mode: 'isolated',
111
+ };
112
+ }
113
+ exports.policyToAccountContextMetadata = policyToAccountContextMetadata;
114
+ /**
115
+ * User-facing summary for display/help output.
116
+ */
117
+ function formatAccountContextPolicy(policy) {
118
+ if (policy.mode === 'shared') {
119
+ return `shared (${policy.group || exports.DEFAULT_ACCOUNT_CONTEXT_GROUP})`;
120
+ }
121
+ return 'isolated';
122
+ }
123
+ exports.formatAccountContextPolicy = formatAccountContextPolicy;
124
+ //# sourceMappingURL=account-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-context.js","sourceRoot":"","sources":["../../src/auth/account-context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth-commands.d.ts","sourceRoot":"","sources":["../../src/auth/auth-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAkBH;;;;;GAKG;AACH,cAAM,YAAY;IAChB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;;IAOvD;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA0D/B;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzC;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAsE3C;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"auth-commands.d.ts","sourceRoot":"","sources":["../../src/auth/auth-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAkBH;;;;;GAKG;AACH,cAAM,YAAY;IAChB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;;IAOvD;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAyE/B;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzC;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAsE3C;AAED,eAAe,YAAY,CAAC"}