@kaitranntt/ccs 7.50.0-dev.1 → 7.50.0-dev.10

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 (208) hide show
  1. package/README.md +65 -4
  2. package/config/base-iflow.settings.json +4 -4
  3. package/dist/api/services/profile-writer.d.ts +1 -1
  4. package/dist/api/services/profile-writer.d.ts.map +1 -1
  5. package/dist/api/services/profile-writer.js +18 -5
  6. package/dist/api/services/profile-writer.js.map +1 -1
  7. package/dist/auth/account-context.d.ts +11 -0
  8. package/dist/auth/account-context.d.ts.map +1 -1
  9. package/dist/auth/account-context.js +42 -8
  10. package/dist/auth/account-context.js.map +1 -1
  11. package/dist/auth/auth-commands.d.ts.map +1 -1
  12. package/dist/auth/auth-commands.js +9 -0
  13. package/dist/auth/auth-commands.js.map +1 -1
  14. package/dist/auth/commands/create-command-env.d.ts +3 -0
  15. package/dist/auth/commands/create-command-env.d.ts.map +1 -0
  16. package/dist/auth/commands/create-command-env.js +55 -0
  17. package/dist/auth/commands/create-command-env.js.map +1 -0
  18. package/dist/auth/commands/create-command.d.ts.map +1 -1
  19. package/dist/auth/commands/create-command.js +136 -30
  20. package/dist/auth/commands/create-command.js.map +1 -1
  21. package/dist/auth/commands/list-command.d.ts.map +1 -1
  22. package/dist/auth/commands/list-command.js +5 -1
  23. package/dist/auth/commands/list-command.js.map +1 -1
  24. package/dist/auth/commands/show-command.d.ts.map +1 -1
  25. package/dist/auth/commands/show-command.js +1 -0
  26. package/dist/auth/commands/show-command.js.map +1 -1
  27. package/dist/auth/commands/types.d.ts +3 -0
  28. package/dist/auth/commands/types.d.ts.map +1 -1
  29. package/dist/auth/commands/types.js +24 -0
  30. package/dist/auth/commands/types.js.map +1 -1
  31. package/dist/auth/profile-detector.d.ts.map +1 -1
  32. package/dist/auth/profile-detector.js +1 -0
  33. package/dist/auth/profile-detector.js.map +1 -1
  34. package/dist/auth/profile-registry.d.ts +2 -0
  35. package/dist/auth/profile-registry.d.ts.map +1 -1
  36. package/dist/auth/profile-registry.js +45 -7
  37. package/dist/auth/profile-registry.js.map +1 -1
  38. package/dist/ccs.js +46 -8
  39. package/dist/ccs.js.map +1 -1
  40. package/dist/cliproxy/account-safety.d.ts.map +1 -1
  41. package/dist/cliproxy/account-safety.js +4 -0
  42. package/dist/cliproxy/account-safety.js.map +1 -1
  43. package/dist/cliproxy/antigravity-responsibility.d.ts +36 -0
  44. package/dist/cliproxy/antigravity-responsibility.d.ts.map +1 -0
  45. package/dist/cliproxy/antigravity-responsibility.js +171 -0
  46. package/dist/cliproxy/antigravity-responsibility.js.map +1 -0
  47. package/dist/cliproxy/auth/auth-types.d.ts +2 -0
  48. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
  49. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
  50. package/dist/cliproxy/auth/oauth-handler.js +18 -0
  51. package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
  52. package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
  53. package/dist/cliproxy/config/env-builder.js +57 -0
  54. package/dist/cliproxy/config/env-builder.js.map +1 -1
  55. package/dist/cliproxy/config/generator.d.ts +2 -1
  56. package/dist/cliproxy/config/generator.d.ts.map +1 -1
  57. package/dist/cliproxy/config/generator.js +18 -8
  58. package/dist/cliproxy/config/generator.js.map +1 -1
  59. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  60. package/dist/cliproxy/executor/index.js +30 -0
  61. package/dist/cliproxy/executor/index.js.map +1 -1
  62. package/dist/commands/help-command.d.ts.map +1 -1
  63. package/dist/commands/help-command.js +11 -1
  64. package/dist/commands/help-command.js.map +1 -1
  65. package/dist/config/migration-manager.d.ts.map +1 -1
  66. package/dist/config/migration-manager.js +19 -0
  67. package/dist/config/migration-manager.js.map +1 -1
  68. package/dist/config/unified-config-loader.d.ts +11 -1
  69. package/dist/config/unified-config-loader.d.ts.map +1 -1
  70. package/dist/config/unified-config-loader.js +127 -59
  71. package/dist/config/unified-config-loader.js.map +1 -1
  72. package/dist/config/unified-config-types.d.ts +16 -0
  73. package/dist/config/unified-config-types.d.ts.map +1 -1
  74. package/dist/config/unified-config-types.js +8 -1
  75. package/dist/config/unified-config-types.js.map +1 -1
  76. package/dist/management/instance-manager.d.ts +1 -0
  77. package/dist/management/instance-manager.d.ts.map +1 -1
  78. package/dist/management/instance-manager.js +14 -8
  79. package/dist/management/instance-manager.js.map +1 -1
  80. package/dist/management/profile-context-sync-lock.d.ts +14 -0
  81. package/dist/management/profile-context-sync-lock.d.ts.map +1 -0
  82. package/dist/management/profile-context-sync-lock.js +174 -0
  83. package/dist/management/profile-context-sync-lock.js.map +1 -0
  84. package/dist/management/shared-manager.d.ts +18 -0
  85. package/dist/management/shared-manager.d.ts.map +1 -1
  86. package/dist/management/shared-manager.js +145 -6
  87. package/dist/management/shared-manager.js.map +1 -1
  88. package/dist/targets/droid-adapter.d.ts +1 -1
  89. package/dist/targets/droid-adapter.d.ts.map +1 -1
  90. package/dist/targets/droid-adapter.js +16 -4
  91. package/dist/targets/droid-adapter.js.map +1 -1
  92. package/dist/targets/droid-config-manager.d.ts +9 -1
  93. package/dist/targets/droid-config-manager.d.ts.map +1 -1
  94. package/dist/targets/droid-config-manager.js +131 -3
  95. package/dist/targets/droid-config-manager.js.map +1 -1
  96. package/dist/targets/droid-provider.d.ts +40 -0
  97. package/dist/targets/droid-provider.d.ts.map +1 -0
  98. package/dist/targets/droid-provider.js +140 -0
  99. package/dist/targets/droid-provider.js.map +1 -0
  100. package/dist/targets/droid-reasoning-runtime.d.ts +14 -0
  101. package/dist/targets/droid-reasoning-runtime.d.ts.map +1 -0
  102. package/dist/targets/droid-reasoning-runtime.js +42 -0
  103. package/dist/targets/droid-reasoning-runtime.js.map +1 -0
  104. package/dist/targets/index.d.ts +2 -0
  105. package/dist/targets/index.d.ts.map +1 -1
  106. package/dist/targets/index.js +4 -1
  107. package/dist/targets/index.js.map +1 -1
  108. package/dist/targets/target-adapter.d.ts +6 -0
  109. package/dist/targets/target-adapter.d.ts.map +1 -1
  110. package/dist/types/config.d.ts +2 -0
  111. package/dist/types/config.d.ts.map +1 -1
  112. package/dist/types/config.js.map +1 -1
  113. package/dist/ui/assets/accounts-y2u0CVK8.js +1 -0
  114. package/dist/ui/assets/{alert-dialog-DmrIcJav.js → alert-dialog-CetY4Iww.js} +1 -1
  115. package/dist/ui/assets/api-5q1FT1uL.js +1 -0
  116. package/dist/ui/assets/auth-section-CaQeee-F.js +1 -0
  117. package/dist/ui/assets/{backups-section-jwtuA5Ay.js → backups-section-hF88BjYJ.js} +1 -1
  118. package/dist/ui/assets/{checkbox-CNqHZx7Z.js → checkbox-Dhm5Fzkb.js} +1 -1
  119. package/dist/ui/assets/cliproxy-BeYNWmY_.js +3 -0
  120. package/dist/ui/assets/{cliproxy-control-panel--WUVyBIk.js → cliproxy-control-panel-CJELeI80.js} +1 -1
  121. package/dist/ui/assets/{confirm-dialog-CQNxkz9X.js → confirm-dialog-Dn3SrwNV.js} +1 -1
  122. package/dist/ui/assets/{copilot-DLxxmnsW.js → copilot-vwT-4_V4.js} +1 -1
  123. package/dist/ui/assets/{cursor-YRIza7sP.js → cursor-CN3lIX63.js} +1 -1
  124. package/dist/ui/assets/droid-DBP2yCY7.js +2 -0
  125. package/dist/ui/assets/globalenv-section-DNKAJasL.js +1 -0
  126. package/dist/ui/assets/{health-BWPd6F4h.js → health-C7tNiLzc.js} +1 -1
  127. package/dist/ui/assets/icons-DrewC9c3.js +1 -0
  128. package/dist/ui/assets/index-C8-ef-r7.js +1 -0
  129. package/dist/ui/assets/{index-D244tv89.js → index-MGh88HoC.js} +1 -1
  130. package/dist/ui/assets/{index-BlldLmNl.js → index-QBUSDLTx.js} +1 -1
  131. package/dist/ui/assets/index-k-HuyjpO.js +47 -0
  132. package/dist/ui/assets/index-s-oTl3hW.css +1 -0
  133. package/dist/ui/assets/index-uYnNU6Ut.js +1 -0
  134. package/dist/ui/assets/proxy-status-widget-CIm5vKY7.js +1 -0
  135. package/dist/ui/assets/{radix-ui-DIWAxjEp.js → radix-ui-C1Gpgz6I.js} +1 -1
  136. package/dist/ui/assets/{separator-OcJLDgYQ.js → separator-BLVyAGAm.js} +1 -1
  137. package/dist/ui/assets/shared-CHH09ZNi.js +8 -0
  138. package/dist/ui/assets/{switch-s8pp-m8L.js → switch-CwLyB4JK.js} +1 -1
  139. package/dist/ui/assets/{tanstack-Hn82hibe.js → tanstack-DDJIhNJd.js} +1 -1
  140. package/dist/ui/assets/{updates-BQRhDVbP.js → updates-VlxL3aum.js} +1 -1
  141. package/dist/ui/index.html +5 -5
  142. package/dist/web-server/model-pricing.d.ts.map +1 -1
  143. package/dist/web-server/model-pricing.js +114 -22
  144. package/dist/web-server/model-pricing.js.map +1 -1
  145. package/dist/web-server/routes/account-route-helpers.d.ts +20 -0
  146. package/dist/web-server/routes/account-route-helpers.d.ts.map +1 -0
  147. package/dist/web-server/routes/account-route-helpers.js +34 -0
  148. package/dist/web-server/routes/account-route-helpers.js.map +1 -0
  149. package/dist/web-server/routes/account-routes.d.ts.map +1 -1
  150. package/dist/web-server/routes/account-routes.js +160 -27
  151. package/dist/web-server/routes/account-routes.js.map +1 -1
  152. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
  153. package/dist/web-server/routes/cliproxy-auth-routes.js +58 -24
  154. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
  155. package/dist/web-server/routes/config-routes.d.ts.map +1 -1
  156. package/dist/web-server/routes/config-routes.js +73 -0
  157. package/dist/web-server/routes/config-routes.js.map +1 -1
  158. package/dist/web-server/routes/droid-routes.d.ts +3 -0
  159. package/dist/web-server/routes/droid-routes.d.ts.map +1 -0
  160. package/dist/web-server/routes/droid-routes.js +61 -0
  161. package/dist/web-server/routes/droid-routes.js.map +1 -0
  162. package/dist/web-server/routes/index.d.ts.map +1 -1
  163. package/dist/web-server/routes/index.js +3 -0
  164. package/dist/web-server/routes/index.js.map +1 -1
  165. package/dist/web-server/routes/profile-routes.d.ts.map +1 -1
  166. package/dist/web-server/routes/profile-routes.js +29 -3
  167. package/dist/web-server/routes/profile-routes.js.map +1 -1
  168. package/dist/web-server/routes/route-helpers.d.ts +2 -1
  169. package/dist/web-server/routes/route-helpers.d.ts.map +1 -1
  170. package/dist/web-server/routes/route-helpers.js +20 -1
  171. package/dist/web-server/routes/route-helpers.js.map +1 -1
  172. package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
  173. package/dist/web-server/routes/settings-routes.js +110 -12
  174. package/dist/web-server/routes/settings-routes.js.map +1 -1
  175. package/dist/web-server/services/compatible-cli-docs-registry.d.ts +23 -0
  176. package/dist/web-server/services/compatible-cli-docs-registry.d.ts.map +1 -0
  177. package/dist/web-server/services/compatible-cli-docs-registry.js +81 -0
  178. package/dist/web-server/services/compatible-cli-docs-registry.js.map +1 -0
  179. package/dist/web-server/services/compatible-cli-json-file-service.d.ts +41 -0
  180. package/dist/web-server/services/compatible-cli-json-file-service.d.ts.map +1 -0
  181. package/dist/web-server/services/compatible-cli-json-file-service.js +205 -0
  182. package/dist/web-server/services/compatible-cli-json-file-service.js.map +1 -0
  183. package/dist/web-server/services/compatible-cli-types.d.ts +82 -0
  184. package/dist/web-server/services/compatible-cli-types.d.ts.map +1 -0
  185. package/dist/web-server/services/compatible-cli-types.js +3 -0
  186. package/dist/web-server/services/compatible-cli-types.js.map +1 -0
  187. package/dist/web-server/services/droid-dashboard-service.d.ts +29 -0
  188. package/dist/web-server/services/droid-dashboard-service.d.ts.map +1 -0
  189. package/dist/web-server/services/droid-dashboard-service.js +238 -0
  190. package/dist/web-server/services/droid-dashboard-service.js.map +1 -0
  191. package/dist/web-server/shared-routes.d.ts.map +1 -1
  192. package/dist/web-server/shared-routes.js +350 -52
  193. package/dist/web-server/shared-routes.js.map +1 -1
  194. package/lib/hooks/websearch-transformer.cjs +78 -52
  195. package/package.json +4 -2
  196. package/scripts/maintainability-check.js +163 -0
  197. package/dist/ui/assets/accounts-BKK-Lc16.js +0 -1
  198. package/dist/ui/assets/api-DzTwRtww.js +0 -1
  199. package/dist/ui/assets/auth-section-CP_2r8oJ.js +0 -1
  200. package/dist/ui/assets/cliproxy-CtO9BwgG.js +0 -3
  201. package/dist/ui/assets/globalenv-section-vUSIK5rf.js +0 -1
  202. package/dist/ui/assets/icons-Dk2sL3Mr.js +0 -1
  203. package/dist/ui/assets/index-B9dJZNls.js +0 -1
  204. package/dist/ui/assets/index-BZdHAol5.js +0 -1
  205. package/dist/ui/assets/index-DEDy1J8t.css +0 -1
  206. package/dist/ui/assets/index-PWMOllOf.js +0 -47
  207. package/dist/ui/assets/proxy-status-widget-MlyNgoPh.js +0 -1
  208. package/dist/ui/assets/shared-LxAdbm4g.js +0 -1
@@ -3,7 +3,7 @@
3
3
  * Droid Adapter
4
4
  *
5
5
  * TargetAdapter implementation for Factory Droid CLI.
6
- * Writes credentials to ~/.factory/settings.json and spawns `droid -m custom:ccs-<profile>`.
6
+ * Writes credentials + active model to ~/.factory/settings.json and spawns `droid`.
7
7
  */
8
8
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
9
  if (k2 === undefined) k2 = k;
@@ -34,6 +34,7 @@ const child_process_1 = require("child_process");
34
34
  const fs = __importStar(require("fs"));
35
35
  const droid_detector_1 = require("./droid-detector");
36
36
  const droid_config_manager_1 = require("./droid-config-manager");
37
+ const droid_provider_1 = require("./droid-provider");
37
38
  const shell_executor_1 = require("../utils/shell-executor");
38
39
  const signal_forwarder_1 = require("../utils/signal-forwarder");
39
40
  const errors_1 = require("../errors");
@@ -64,19 +65,30 @@ class DroidAdapter {
64
65
  */
65
66
  async prepareCredentials(creds) {
66
67
  this.validateCredentials(creds);
67
- await (0, droid_config_manager_1.upsertCcsModel)(creds.profile, {
68
+ const provider = (0, droid_provider_1.resolveDroidProvider)({
69
+ provider: creds.provider,
70
+ baseUrl: creds.baseUrl,
71
+ model: creds.model,
72
+ });
73
+ const modelRef = await (0, droid_config_manager_1.upsertCcsModel)(creds.profile, {
68
74
  model: creds.model || 'claude-opus-4-6',
69
75
  displayName: `CCS ${creds.profile}`,
70
76
  baseUrl: creds.baseUrl,
71
77
  apiKey: creds.apiKey,
72
- provider: creds.provider || 'anthropic',
78
+ provider,
79
+ reasoningOverride: creds.reasoningOverride,
73
80
  });
81
+ if (!modelRef.selector) {
82
+ throw new Error(`Failed to resolve Droid model selector for profile "${creds.profile}"`);
83
+ }
74
84
  }
75
85
  buildArgs(profile, userArgs) {
76
86
  if (!/^[a-zA-Z0-9._-]+$/.test(profile)) {
77
87
  throw new Error(`Invalid profile name "${profile}" for Droid target: only alphanumeric, dot, underscore, hyphen allowed`);
78
88
  }
79
- return ['-m', `custom:ccs-${profile}`, ...userArgs];
89
+ // Droid interactive mode treats unknown argv as queued prompt text.
90
+ // Model selection must be persisted in settings.json (`model`) instead of `-m`.
91
+ return [...userArgs];
80
92
  }
81
93
  /**
82
94
  * Droid uses config file for credentials — minimal env needed.
@@ -1 +1 @@
1
- {"version":3,"file":"droid-adapter.js","sourceRoot":"","sources":["../../src/targets/droid-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"droid-adapter.js","sourceRoot":"","sources":["../../src/targets/droid-adapter.ts"],"names":[],"mappings":"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"}
@@ -11,12 +11,20 @@ export interface DroidCustomModel {
11
11
  apiKey: string;
12
12
  provider: 'anthropic' | 'openai' | 'generic-chat-completion-api';
13
13
  maxOutputTokens?: number;
14
+ reasoningOverride?: string | number;
15
+ }
16
+ export interface DroidManagedModelRef {
17
+ profile: string;
18
+ displayName: string;
19
+ index: number;
20
+ selectorAlias: string;
21
+ selector: string;
14
22
  }
15
23
  /**
16
24
  * Upsert a CCS-managed custom model entry.
17
25
  * Acquires file lock to prevent concurrent write races.
18
26
  */
19
- export declare function upsertCcsModel(profile: string, model: DroidCustomModel): Promise<void>;
27
+ export declare function upsertCcsModel(profile: string, model: DroidCustomModel): Promise<DroidManagedModelRef>;
20
28
  /**
21
29
  * Remove a CCS-managed custom model entry.
22
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"droid-config-manager.d.ts","sourceRoot":"","sources":["../../src/targets/droid-config-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+BH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,6BAA6B,CAAC;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAiQD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B5F;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBnE;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAe5E;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA2CnF"}
1
+ {"version":3,"file":"droid-config-manager.d.ts","sourceRoot":"","sources":["../../src/targets/droid-config-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+BH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,6BAA6B,CAAC;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAuXD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,oBAAoB,CAAC,CA+D/B;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBnE;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAe5E;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA2CnF"}
@@ -52,9 +52,22 @@ function validateProfileName(profile) {
52
52
  throw new Error(`Invalid profile name "${profile}": must contain only alphanumeric characters, dots, underscores, or hyphens`);
53
53
  }
54
54
  }
55
+ const DROID_REASONING_OFF_VALUES = new Set(['off', 'none', 'disabled', '0']);
56
+ const DROID_ANTHROPIC_BUDGET_BY_EFFORT = {
57
+ minimal: 4000,
58
+ low: 4000,
59
+ medium: 12000,
60
+ high: 30000,
61
+ max: 50000,
62
+ xhigh: 64000,
63
+ auto: 30000,
64
+ };
55
65
  function isSupportedProvider(value) {
56
66
  return value === 'anthropic' || value === 'openai' || value === 'generic-chat-completion-api';
57
67
  }
68
+ function isObject(value) {
69
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
70
+ }
58
71
  function isDroidCustomModelEntry(value) {
59
72
  if (!value || typeof value !== 'object')
60
73
  return false;
@@ -85,6 +98,94 @@ function parseManagedProfile(displayName) {
85
98
  function asModelEntry(value) {
86
99
  return isDroidCustomModelEntry(value) ? value : null;
87
100
  }
101
+ function isReasoningOffValue(value) {
102
+ if (typeof value === 'number')
103
+ return value <= 0;
104
+ const normalized = value.trim().toLowerCase();
105
+ return DROID_REASONING_OFF_VALUES.has(normalized);
106
+ }
107
+ function toAnthropicBudget(value) {
108
+ if (typeof value === 'number') {
109
+ return Math.max(1024, Math.floor(value));
110
+ }
111
+ const normalized = value.trim().toLowerCase();
112
+ if (/^\d+$/.test(normalized)) {
113
+ return Math.max(1024, Number.parseInt(normalized, 10));
114
+ }
115
+ return DROID_ANTHROPIC_BUDGET_BY_EFFORT[normalized] ?? DROID_ANTHROPIC_BUDGET_BY_EFFORT.high;
116
+ }
117
+ function toReasoningEffort(value) {
118
+ if (typeof value === 'number') {
119
+ if (value <= 4000)
120
+ return 'low';
121
+ if (value <= 12000)
122
+ return 'medium';
123
+ if (value <= 30000)
124
+ return 'high';
125
+ if (value <= 50000)
126
+ return 'max';
127
+ return 'xhigh';
128
+ }
129
+ const normalized = value.trim().toLowerCase();
130
+ if (!normalized)
131
+ return 'high';
132
+ return normalized;
133
+ }
134
+ function applyReasoningOverride(entry, provider, reasoningOverride) {
135
+ const extraArgsKey = Object.prototype.hasOwnProperty.call(entry, 'extra_args')
136
+ ? 'extra_args'
137
+ : 'extraArgs';
138
+ const currentExtraArgs = entry[extraArgsKey];
139
+ const extraArgs = isObject(currentExtraArgs) ? { ...currentExtraArgs } : {};
140
+ // Normalize legacy aliases before writing provider-specific shape.
141
+ delete extraArgs.reasoningEffort;
142
+ if (provider === 'anthropic') {
143
+ delete extraArgs.reasoning;
144
+ delete extraArgs.reasoning_effort;
145
+ if (isReasoningOffValue(reasoningOverride)) {
146
+ delete extraArgs.thinking;
147
+ }
148
+ else {
149
+ const thinking = isObject(extraArgs.thinking) ? { ...extraArgs.thinking } : {};
150
+ thinking.type = 'enabled';
151
+ thinking.budget_tokens = toAnthropicBudget(reasoningOverride);
152
+ delete thinking.budgetTokens;
153
+ extraArgs.thinking = thinking;
154
+ }
155
+ }
156
+ else if (provider === 'openai') {
157
+ delete extraArgs.reasoning_effort;
158
+ delete extraArgs.thinking;
159
+ if (isReasoningOffValue(reasoningOverride)) {
160
+ delete extraArgs.reasoning;
161
+ }
162
+ else {
163
+ const reasoning = isObject(extraArgs.reasoning) ? { ...extraArgs.reasoning } : {};
164
+ reasoning.effort = toReasoningEffort(reasoningOverride);
165
+ extraArgs.reasoning = reasoning;
166
+ }
167
+ }
168
+ else {
169
+ delete extraArgs.reasoning;
170
+ delete extraArgs.thinking;
171
+ if (isReasoningOffValue(reasoningOverride)) {
172
+ delete extraArgs.reasoning_effort;
173
+ }
174
+ else {
175
+ extraArgs.reasoning_effort = toReasoningEffort(reasoningOverride);
176
+ }
177
+ }
178
+ if (Object.keys(extraArgs).length === 0) {
179
+ delete entry.extraArgs;
180
+ delete entry.extra_args;
181
+ return;
182
+ }
183
+ entry[extraArgsKey] = extraArgs;
184
+ }
185
+ function buildSelectorAlias(displayName, index) {
186
+ const normalizedDisplayName = displayName.trim().replace(/\s+/g, '-');
187
+ return `${normalizedDisplayName}-${index}`;
188
+ }
88
189
  function normalizeCustomModels(value) {
89
190
  if (Array.isArray(value)) {
90
191
  return value
@@ -274,28 +375,55 @@ async function upsertCcsModel(profile, model) {
274
375
  validateProfileName(profile);
275
376
  ensureFactoryDir();
276
377
  let release;
378
+ let ref = null;
277
379
  try {
278
380
  release = await acquireFactoryLock(10);
279
381
  const settings = readDroidSettings();
280
382
  settings.customModels = normalizeCustomModels(settings.customModels);
383
+ // Find existing current or legacy entry for this profile.
384
+ const idx = settings.customModels.findIndex((m) => parseManagedProfile(m.displayName) === profile);
385
+ const { reasoningOverride, ...modelWithoutReasoning } = model;
386
+ const existingEntry = idx >= 0 ? settings.customModels[idx] : undefined;
281
387
  const entry = {
282
- ...model,
388
+ ...(existingEntry ?? {}),
389
+ ...modelWithoutReasoning,
283
390
  displayName: `CCS ${profile}`,
284
391
  };
285
- // Find existing current or legacy entry for this profile.
286
- const idx = settings.customModels.findIndex((m) => parseManagedProfile(m.displayName) === profile);
392
+ if (reasoningOverride !== undefined) {
393
+ applyReasoningOverride(entry, model.provider, reasoningOverride);
394
+ }
287
395
  if (idx >= 0) {
288
396
  settings.customModels[idx] = entry;
289
397
  }
290
398
  else {
291
399
  settings.customModels.push(entry);
292
400
  }
401
+ const index = settings.customModels.findIndex((entry) => parseManagedProfile(entry.displayName) === profile);
402
+ const safeIndex = index >= 0 ? index : 0;
403
+ const selectorAlias = buildSelectorAlias(entry.displayName, safeIndex);
404
+ const selector = `custom:${selectorAlias}`;
405
+ // Droid interactive mode uses settings.model for default model selection.
406
+ settings.model = selector;
293
407
  writeDroidSettings(settings);
408
+ ref = {
409
+ profile,
410
+ displayName: entry.displayName,
411
+ index: safeIndex,
412
+ selectorAlias,
413
+ selector,
414
+ };
294
415
  }
295
416
  finally {
296
417
  if (release)
297
418
  await release();
298
419
  }
420
+ return (ref || {
421
+ profile,
422
+ displayName: `CCS ${profile}`,
423
+ index: 0,
424
+ selectorAlias: `CCS-${profile}-0`,
425
+ selector: `custom:CCS-${profile}-0`,
426
+ });
299
427
  }
300
428
  exports.upsertCcsModel = upsertCcsModel;
301
429
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"droid-config-manager.js","sourceRoot":"","sources":["../../src/targets/droid-config-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"droid-config-manager.js","sourceRoot":"","sources":["../../src/targets/droid-config-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Droid BYOK provider resolution helpers.
3
+ *
4
+ * Factory BYOK accepts exactly:
5
+ * - anthropic
6
+ * - openai
7
+ * - generic-chat-completion-api
8
+ *
9
+ * CCS stores provider hints in profile settings as CCS_DROID_PROVIDER and
10
+ * resolves a best-effort provider from base URL/model when the hint is absent.
11
+ */
12
+ export type DroidProvider = 'anthropic' | 'openai' | 'generic-chat-completion-api';
13
+ /**
14
+ * Normalize potentially messy provider input into a valid Factory provider.
15
+ */
16
+ export declare function normalizeDroidProvider(provider: string | undefined | null): DroidProvider | null;
17
+ /**
18
+ * Infer provider primarily from base URL patterns used in BYOK configs.
19
+ */
20
+ export declare function inferDroidProviderFromBaseUrl(baseUrl: string | undefined | null): DroidProvider | null;
21
+ /**
22
+ * Infer provider from model naming when URL does not provide a clear signal.
23
+ */
24
+ export declare function inferDroidProviderFromModel(model: string | undefined | null): DroidProvider | null;
25
+ export interface DroidProviderResolveInput {
26
+ provider?: string | null;
27
+ baseUrl?: string | null;
28
+ model?: string | null;
29
+ }
30
+ /**
31
+ * Resolve a provider for Droid custom model entries.
32
+ *
33
+ * Precedence:
34
+ * 1) explicit provider hint (CCS_DROID_PROVIDER)
35
+ * 2) base URL inference
36
+ * 3) model inference
37
+ * 4) anthropic (backward-compatible default for legacy CCS profiles)
38
+ */
39
+ export declare function resolveDroidProvider(input: DroidProviderResolveInput): DroidProvider;
40
+ //# sourceMappingURL=droid-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"droid-provider.d.ts","sourceRoot":"","sources":["../../src/targets/droid-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,6BAA6B,CAAC;AAenF;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,aAAa,GAAG,IAAI,CAgBhG;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GACjC,aAAa,GAAG,IAAI,CAiDtB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC/B,aAAa,GAAG,IAAI,CAwBtB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,aAAa,CAWpF"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ /**
3
+ * Droid BYOK provider resolution helpers.
4
+ *
5
+ * Factory BYOK accepts exactly:
6
+ * - anthropic
7
+ * - openai
8
+ * - generic-chat-completion-api
9
+ *
10
+ * CCS stores provider hints in profile settings as CCS_DROID_PROVIDER and
11
+ * resolves a best-effort provider from base URL/model when the hint is absent.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.resolveDroidProvider = exports.inferDroidProviderFromModel = exports.inferDroidProviderFromBaseUrl = exports.normalizeDroidProvider = void 0;
15
+ const GENERIC_PROVIDER_ALIASES = new Set([
16
+ 'generic',
17
+ 'generic-openai',
18
+ 'generic-openai-api',
19
+ 'generic-chat',
20
+ 'generic-chat-completions',
21
+ 'openai-compatible',
22
+ 'chat-completions',
23
+ ]);
24
+ const OPENAI_PROVIDER_ALIASES = new Set(['openai-responses', 'openai-official']);
25
+ const ANTHROPIC_PROVIDER_ALIASES = new Set(['anthropic-compatible']);
26
+ /**
27
+ * Normalize potentially messy provider input into a valid Factory provider.
28
+ */
29
+ function normalizeDroidProvider(provider) {
30
+ if (!provider)
31
+ return null;
32
+ const normalized = provider.trim().toLowerCase();
33
+ if (!normalized)
34
+ return null;
35
+ if (normalized === 'anthropic' || ANTHROPIC_PROVIDER_ALIASES.has(normalized)) {
36
+ return 'anthropic';
37
+ }
38
+ if (normalized === 'openai' || OPENAI_PROVIDER_ALIASES.has(normalized)) {
39
+ return 'openai';
40
+ }
41
+ if (normalized === 'generic-chat-completion-api' || GENERIC_PROVIDER_ALIASES.has(normalized)) {
42
+ return 'generic-chat-completion-api';
43
+ }
44
+ return null;
45
+ }
46
+ exports.normalizeDroidProvider = normalizeDroidProvider;
47
+ /**
48
+ * Infer provider primarily from base URL patterns used in BYOK configs.
49
+ */
50
+ function inferDroidProviderFromBaseUrl(baseUrl) {
51
+ if (!baseUrl)
52
+ return null;
53
+ const raw = baseUrl.trim();
54
+ if (!raw)
55
+ return null;
56
+ let parsed;
57
+ try {
58
+ parsed = new URL(raw);
59
+ }
60
+ catch {
61
+ return null;
62
+ }
63
+ const host = parsed.host.toLowerCase();
64
+ const pathname = parsed.pathname.toLowerCase();
65
+ const isLocalHost = host.startsWith('localhost') || host.startsWith('127.0.0.1') || host.startsWith('[::1]');
66
+ if (host.includes('api.openai.com') ||
67
+ host.includes('.openai.azure.com') ||
68
+ host.includes('.services.ai.azure.com')) {
69
+ return 'openai';
70
+ }
71
+ if (host.includes('anthropic.com') || pathname.includes('/anthropic')) {
72
+ return 'anthropic';
73
+ }
74
+ if (host.includes('openrouter.ai') ||
75
+ host.includes('api.groq.com') ||
76
+ host.includes('api.deepinfra.com') ||
77
+ host.includes('api.fireworks.ai') ||
78
+ host.includes('inference.baseten.co') ||
79
+ host.includes('huggingface.co') ||
80
+ host.includes('ollama.com') ||
81
+ pathname.includes('/openai') ||
82
+ pathname.includes('/chat/completions')) {
83
+ return 'generic-chat-completion-api';
84
+ }
85
+ // Local OpenAI-compatible proxies are commonly exposed at /v1.
86
+ if (isLocalHost && (pathname === '/v1' || pathname.startsWith('/v1/'))) {
87
+ return 'generic-chat-completion-api';
88
+ }
89
+ return null;
90
+ }
91
+ exports.inferDroidProviderFromBaseUrl = inferDroidProviderFromBaseUrl;
92
+ /**
93
+ * Infer provider from model naming when URL does not provide a clear signal.
94
+ */
95
+ function inferDroidProviderFromModel(model) {
96
+ if (!model)
97
+ return null;
98
+ const normalized = model.trim().toLowerCase();
99
+ if (!normalized)
100
+ return null;
101
+ if (normalized.startsWith('claude-')) {
102
+ return 'anthropic';
103
+ }
104
+ if (normalized.startsWith('gpt-') ||
105
+ normalized.startsWith('o1') ||
106
+ normalized.startsWith('o3') ||
107
+ normalized.startsWith('o4')) {
108
+ return 'openai';
109
+ }
110
+ if (normalized.startsWith('qwen') ||
111
+ normalized.startsWith('deepseek') ||
112
+ normalized.startsWith('kimi')) {
113
+ return 'generic-chat-completion-api';
114
+ }
115
+ return null;
116
+ }
117
+ exports.inferDroidProviderFromModel = inferDroidProviderFromModel;
118
+ /**
119
+ * Resolve a provider for Droid custom model entries.
120
+ *
121
+ * Precedence:
122
+ * 1) explicit provider hint (CCS_DROID_PROVIDER)
123
+ * 2) base URL inference
124
+ * 3) model inference
125
+ * 4) anthropic (backward-compatible default for legacy CCS profiles)
126
+ */
127
+ function resolveDroidProvider(input) {
128
+ const explicit = normalizeDroidProvider(input.provider);
129
+ if (explicit)
130
+ return explicit;
131
+ const fromUrl = inferDroidProviderFromBaseUrl(input.baseUrl);
132
+ if (fromUrl)
133
+ return fromUrl;
134
+ const fromModel = inferDroidProviderFromModel(input.model);
135
+ if (fromModel)
136
+ return fromModel;
137
+ return 'anthropic';
138
+ }
139
+ exports.resolveDroidProvider = resolveDroidProvider;
140
+ //# sourceMappingURL=droid-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"droid-provider.js","sourceRoot":"","sources":["../../src/targets/droid-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { type ThinkingFlag } from '../cliproxy/executor/thinking-arg-parser';
2
+ export declare class DroidReasoningFlagError extends Error {
3
+ readonly flag: ThinkingFlag;
4
+ constructor(message: string, flag: ThinkingFlag);
5
+ }
6
+ export interface DroidReasoningRuntime {
7
+ argsWithoutReasoningFlags: string[];
8
+ reasoningOverride: string | number | undefined;
9
+ sourceFlag: ThinkingFlag | undefined;
10
+ sourceDisplay: string | undefined;
11
+ duplicateDisplays: string[];
12
+ }
13
+ export declare function resolveDroidReasoningRuntime(args: string[], envThinkingValue: string | undefined): DroidReasoningRuntime;
14
+ //# sourceMappingURL=droid-reasoning-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"droid-reasoning-runtime.d.ts","sourceRoot":"","sources":["../../src/targets/droid-reasoning-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAGpG,qBAAa,uBAAwB,SAAQ,KAAK;aAG9B,IAAI,EAAE,YAAY;gBADlC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,YAAY;CAKrC;AAED,MAAM,WAAW,qBAAqB;IACpC,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,iBAAiB,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/C,UAAU,EAAE,YAAY,GAAG,SAAS,CAAC;IACrC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAYD,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EAAE,EACd,gBAAgB,EAAE,MAAM,GAAG,SAAS,GACnC,qBAAqB,CAqBvB"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveDroidReasoningRuntime = exports.DroidReasoningFlagError = void 0;
4
+ const thinking_arg_parser_1 = require("../cliproxy/executor/thinking-arg-parser");
5
+ const thinking_override_resolver_1 = require("../cliproxy/executor/thinking-override-resolver");
6
+ class DroidReasoningFlagError extends Error {
7
+ constructor(message, flag) {
8
+ super(message);
9
+ this.flag = flag;
10
+ this.name = 'DroidReasoningFlagError';
11
+ }
12
+ }
13
+ exports.DroidReasoningFlagError = DroidReasoningFlagError;
14
+ function stripReasoningFlags(args) {
15
+ return args.filter((arg, idx) => {
16
+ if (arg === '--thinking' || arg === '--effort')
17
+ return false;
18
+ if (arg.startsWith('--thinking='))
19
+ return false;
20
+ if (arg.startsWith('--effort='))
21
+ return false;
22
+ if (args[idx - 1] === '--thinking' || args[idx - 1] === '--effort')
23
+ return false;
24
+ return true;
25
+ });
26
+ }
27
+ function resolveDroidReasoningRuntime(args, envThinkingValue) {
28
+ const parseResult = (0, thinking_arg_parser_1.parseThinkingOverride)(args);
29
+ if (parseResult.error) {
30
+ throw new DroidReasoningFlagError(`${parseResult.error.flag} requires a value`, parseResult.error.flag);
31
+ }
32
+ const { thinkingOverride, thinkingSource } = (0, thinking_override_resolver_1.resolveRuntimeThinkingOverride)(parseResult.value, envThinkingValue);
33
+ return {
34
+ argsWithoutReasoningFlags: stripReasoningFlags(args),
35
+ reasoningOverride: thinkingOverride,
36
+ sourceFlag: thinkingSource === 'flag' ? parseResult.sourceFlag : undefined,
37
+ sourceDisplay: parseResult.sourceDisplay,
38
+ duplicateDisplays: parseResult.duplicateDisplays,
39
+ };
40
+ }
41
+ exports.resolveDroidReasoningRuntime = resolveDroidReasoningRuntime;
42
+ //# sourceMappingURL=droid-reasoning-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"droid-reasoning-runtime.js","sourceRoot":"","sources":["../../src/targets/droid-reasoning-runtime.ts"],"names":[],"mappings":";;;AAAA,kFAAoG;AACpG,gGAAiG;AAEjG,MAAa,uBAAwB,SAAQ,KAAK;IAChD,YACE,OAAe,EACC,IAAkB;QAElC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,SAAI,GAAJ,IAAI,CAAc;QAGlC,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AARD,0DAQC;AAUD,SAAS,mBAAmB,CAAC,IAAc;IACzC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9B,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,UAAU;YAAE,OAAO,KAAK,CAAC;QAC7D,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,OAAO,KAAK,CAAC;QAChD,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9C,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,UAAU;YAAE,OAAO,KAAK,CAAC;QACjF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,4BAA4B,CAC1C,IAAc,EACd,gBAAoC;IAEpC,MAAM,WAAW,GAAG,IAAA,2CAAqB,EAAC,IAAI,CAAC,CAAC;IAChD,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,uBAAuB,CAC/B,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,mBAAmB,EAC5C,WAAW,CAAC,KAAK,CAAC,IAAI,CACvB,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,IAAA,2DAA8B,EACzE,WAAW,CAAC,KAAK,EACjB,gBAAgB,CACjB,CAAC;IAEF,OAAO;QACL,yBAAyB,EAAE,mBAAmB,CAAC,IAAI,CAAC;QACpD,iBAAiB,EAAE,gBAAgB;QACnC,UAAU,EAAE,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QAC1E,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;KACjD,CAAC;AACJ,CAAC;AAxBD,oEAwBC"}
@@ -10,5 +10,7 @@ export { DroidAdapter } from './droid-adapter';
10
10
  export { getDroidBinaryInfo, detectDroidCli, checkDroidVersion } from './droid-detector';
11
11
  export { upsertCcsModel, removeCcsModel, listCcsModels, pruneOrphanedModels, } from './droid-config-manager';
12
12
  export type { DroidCustomModel } from './droid-config-manager';
13
+ export { resolveDroidProvider, normalizeDroidProvider } from './droid-provider';
14
+ export type { DroidProvider } from './droid-provider';
13
15
  export { resolveTargetType, stripTargetFlag } from './target-resolver';
14
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/targets/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,EACL,cAAc,EACd,cAAc,EACd,aAAa,EACb,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/targets/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,EACL,cAAc,EACd,cAAc,EACd,aAAa,EACb,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAChF,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * Re-exports for convenient access to target adapter types and registry.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.stripTargetFlag = exports.resolveTargetType = exports.pruneOrphanedModels = exports.listCcsModels = exports.removeCcsModel = exports.upsertCcsModel = exports.checkDroidVersion = exports.detectDroidCli = exports.getDroidBinaryInfo = exports.DroidAdapter = exports.ClaudeAdapter = exports.getRegisteredTargets = exports.hasTarget = exports.getDefaultTarget = exports.getTarget = exports.registerTarget = void 0;
8
+ exports.stripTargetFlag = exports.resolveTargetType = exports.normalizeDroidProvider = exports.resolveDroidProvider = exports.pruneOrphanedModels = exports.listCcsModels = exports.removeCcsModel = exports.upsertCcsModel = exports.checkDroidVersion = exports.detectDroidCli = exports.getDroidBinaryInfo = exports.DroidAdapter = exports.ClaudeAdapter = exports.getRegisteredTargets = exports.hasTarget = exports.getDefaultTarget = exports.getTarget = exports.registerTarget = void 0;
9
9
  var target_registry_1 = require("./target-registry");
10
10
  Object.defineProperty(exports, "registerTarget", { enumerable: true, get: function () { return target_registry_1.registerTarget; } });
11
11
  Object.defineProperty(exports, "getTarget", { enumerable: true, get: function () { return target_registry_1.getTarget; } });
@@ -25,6 +25,9 @@ Object.defineProperty(exports, "upsertCcsModel", { enumerable: true, get: functi
25
25
  Object.defineProperty(exports, "removeCcsModel", { enumerable: true, get: function () { return droid_config_manager_1.removeCcsModel; } });
26
26
  Object.defineProperty(exports, "listCcsModels", { enumerable: true, get: function () { return droid_config_manager_1.listCcsModels; } });
27
27
  Object.defineProperty(exports, "pruneOrphanedModels", { enumerable: true, get: function () { return droid_config_manager_1.pruneOrphanedModels; } });
28
+ var droid_provider_1 = require("./droid-provider");
29
+ Object.defineProperty(exports, "resolveDroidProvider", { enumerable: true, get: function () { return droid_provider_1.resolveDroidProvider; } });
30
+ Object.defineProperty(exports, "normalizeDroidProvider", { enumerable: true, get: function () { return droid_provider_1.normalizeDroidProvider; } });
28
31
  var target_resolver_1 = require("./target-resolver");
29
32
  Object.defineProperty(exports, "resolveTargetType", { enumerable: true, get: function () { return target_resolver_1.resolveTargetType; } });
30
33
  Object.defineProperty(exports, "stripTargetFlag", { enumerable: true, get: function () { return target_resolver_1.stripTargetFlag; } });