@kaitranntt/ccs 7.50.0 → 7.51.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 (255) hide show
  1. package/README.md +107 -4
  2. package/config/base-iflow.settings.json +4 -4
  3. package/dist/api/services/index.d.ts +2 -2
  4. package/dist/api/services/index.d.ts.map +1 -1
  5. package/dist/api/services/index.js +2 -1
  6. package/dist/api/services/index.js.map +1 -1
  7. package/dist/api/services/profile-reader.d.ts.map +1 -1
  8. package/dist/api/services/profile-reader.js +13 -0
  9. package/dist/api/services/profile-reader.js.map +1 -1
  10. package/dist/api/services/profile-types.d.ts +9 -0
  11. package/dist/api/services/profile-types.d.ts.map +1 -1
  12. package/dist/api/services/profile-writer.d.ts +8 -2
  13. package/dist/api/services/profile-writer.d.ts.map +1 -1
  14. package/dist/api/services/profile-writer.js +83 -8
  15. package/dist/api/services/profile-writer.js.map +1 -1
  16. package/dist/auth/account-context.d.ts +11 -0
  17. package/dist/auth/account-context.d.ts.map +1 -1
  18. package/dist/auth/account-context.js +42 -8
  19. package/dist/auth/account-context.js.map +1 -1
  20. package/dist/auth/auth-commands.d.ts.map +1 -1
  21. package/dist/auth/auth-commands.js +9 -0
  22. package/dist/auth/auth-commands.js.map +1 -1
  23. package/dist/auth/commands/create-command-env.d.ts +3 -0
  24. package/dist/auth/commands/create-command-env.d.ts.map +1 -0
  25. package/dist/auth/commands/create-command-env.js +55 -0
  26. package/dist/auth/commands/create-command-env.js.map +1 -0
  27. package/dist/auth/commands/create-command.d.ts.map +1 -1
  28. package/dist/auth/commands/create-command.js +136 -30
  29. package/dist/auth/commands/create-command.js.map +1 -1
  30. package/dist/auth/commands/list-command.d.ts.map +1 -1
  31. package/dist/auth/commands/list-command.js +5 -1
  32. package/dist/auth/commands/list-command.js.map +1 -1
  33. package/dist/auth/commands/show-command.d.ts.map +1 -1
  34. package/dist/auth/commands/show-command.js +1 -0
  35. package/dist/auth/commands/show-command.js.map +1 -1
  36. package/dist/auth/commands/types.d.ts +3 -0
  37. package/dist/auth/commands/types.d.ts.map +1 -1
  38. package/dist/auth/commands/types.js +24 -0
  39. package/dist/auth/commands/types.js.map +1 -1
  40. package/dist/auth/profile-detector.d.ts.map +1 -1
  41. package/dist/auth/profile-detector.js +8 -0
  42. package/dist/auth/profile-detector.js.map +1 -1
  43. package/dist/auth/profile-registry.d.ts +2 -0
  44. package/dist/auth/profile-registry.d.ts.map +1 -1
  45. package/dist/auth/profile-registry.js +45 -7
  46. package/dist/auth/profile-registry.js.map +1 -1
  47. package/dist/ccs.js +154 -4
  48. package/dist/ccs.js.map +1 -1
  49. package/dist/cliproxy/account-safety.d.ts.map +1 -1
  50. package/dist/cliproxy/account-safety.js +4 -0
  51. package/dist/cliproxy/account-safety.js.map +1 -1
  52. package/dist/cliproxy/antigravity-responsibility.d.ts +36 -0
  53. package/dist/cliproxy/antigravity-responsibility.d.ts.map +1 -0
  54. package/dist/cliproxy/antigravity-responsibility.js +171 -0
  55. package/dist/cliproxy/antigravity-responsibility.js.map +1 -0
  56. package/dist/cliproxy/auth/auth-types.d.ts +2 -0
  57. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
  58. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
  59. package/dist/cliproxy/auth/oauth-handler.js +18 -0
  60. package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
  61. package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
  62. package/dist/cliproxy/config/env-builder.js +57 -0
  63. package/dist/cliproxy/config/env-builder.js.map +1 -1
  64. package/dist/cliproxy/config/generator.d.ts +2 -1
  65. package/dist/cliproxy/config/generator.d.ts.map +1 -1
  66. package/dist/cliproxy/config/generator.js +18 -8
  67. package/dist/cliproxy/config/generator.js.map +1 -1
  68. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  69. package/dist/cliproxy/executor/index.js +30 -0
  70. package/dist/cliproxy/executor/index.js.map +1 -1
  71. package/dist/cliproxy/services/variant-config-adapter.d.ts +4 -35
  72. package/dist/cliproxy/services/variant-config-adapter.d.ts.map +1 -1
  73. package/dist/cliproxy/services/variant-config-adapter.js +11 -34
  74. package/dist/cliproxy/services/variant-config-adapter.js.map +1 -1
  75. package/dist/cliproxy/services/variant-service.d.ts +5 -1
  76. package/dist/cliproxy/services/variant-service.d.ts.map +1 -1
  77. package/dist/cliproxy/services/variant-service.js +19 -9
  78. package/dist/cliproxy/services/variant-service.js.map +1 -1
  79. package/dist/cliproxy/sync/profile-mapper.d.ts.map +1 -1
  80. package/dist/cliproxy/sync/profile-mapper.js +14 -2
  81. package/dist/cliproxy/sync/profile-mapper.js.map +1 -1
  82. package/dist/commands/api-command.d.ts +2 -0
  83. package/dist/commands/api-command.d.ts.map +1 -1
  84. package/dist/commands/api-command.js +45 -10
  85. package/dist/commands/api-command.js.map +1 -1
  86. package/dist/commands/cliproxy/auth-subcommand.d.ts.map +1 -1
  87. package/dist/commands/cliproxy/auth-subcommand.js +5 -2
  88. package/dist/commands/cliproxy/auth-subcommand.js.map +1 -1
  89. package/dist/commands/cliproxy/help-subcommand.d.ts.map +1 -1
  90. package/dist/commands/cliproxy/help-subcommand.js +1 -0
  91. package/dist/commands/cliproxy/help-subcommand.js.map +1 -1
  92. package/dist/commands/cliproxy/variant-subcommand.d.ts +15 -0
  93. package/dist/commands/cliproxy/variant-subcommand.d.ts.map +1 -1
  94. package/dist/commands/cliproxy/variant-subcommand.js +144 -15
  95. package/dist/commands/cliproxy/variant-subcommand.js.map +1 -1
  96. package/dist/commands/help-command.d.ts.map +1 -1
  97. package/dist/commands/help-command.js +34 -2
  98. package/dist/commands/help-command.js.map +1 -1
  99. package/dist/config/migration-manager.d.ts.map +1 -1
  100. package/dist/config/migration-manager.js +19 -0
  101. package/dist/config/migration-manager.js.map +1 -1
  102. package/dist/config/unified-config-loader.d.ts +11 -1
  103. package/dist/config/unified-config-loader.d.ts.map +1 -1
  104. package/dist/config/unified-config-loader.js +127 -59
  105. package/dist/config/unified-config-loader.js.map +1 -1
  106. package/dist/config/unified-config-types.d.ts +16 -0
  107. package/dist/config/unified-config-types.d.ts.map +1 -1
  108. package/dist/config/unified-config-types.js +8 -1
  109. package/dist/config/unified-config-types.js.map +1 -1
  110. package/dist/management/instance-manager.d.ts +1 -0
  111. package/dist/management/instance-manager.d.ts.map +1 -1
  112. package/dist/management/instance-manager.js +14 -8
  113. package/dist/management/instance-manager.js.map +1 -1
  114. package/dist/management/profile-context-sync-lock.d.ts +14 -0
  115. package/dist/management/profile-context-sync-lock.d.ts.map +1 -0
  116. package/dist/management/profile-context-sync-lock.js +174 -0
  117. package/dist/management/profile-context-sync-lock.js.map +1 -0
  118. package/dist/management/shared-manager.d.ts +18 -0
  119. package/dist/management/shared-manager.d.ts.map +1 -1
  120. package/dist/management/shared-manager.js +145 -6
  121. package/dist/management/shared-manager.js.map +1 -1
  122. package/dist/targets/droid-adapter.d.ts +2 -4
  123. package/dist/targets/droid-adapter.d.ts.map +1 -1
  124. package/dist/targets/droid-adapter.js +20 -10
  125. package/dist/targets/droid-adapter.js.map +1 -1
  126. package/dist/targets/droid-command-router.d.ts +26 -0
  127. package/dist/targets/droid-command-router.d.ts.map +1 -0
  128. package/dist/targets/droid-command-router.js +240 -0
  129. package/dist/targets/droid-command-router.js.map +1 -0
  130. package/dist/targets/droid-config-manager.d.ts +9 -1
  131. package/dist/targets/droid-config-manager.d.ts.map +1 -1
  132. package/dist/targets/droid-config-manager.js +134 -6
  133. package/dist/targets/droid-config-manager.js.map +1 -1
  134. package/dist/targets/droid-provider.d.ts +40 -0
  135. package/dist/targets/droid-provider.d.ts.map +1 -0
  136. package/dist/targets/droid-provider.js +140 -0
  137. package/dist/targets/droid-provider.js.map +1 -0
  138. package/dist/targets/droid-reasoning-runtime.d.ts +14 -0
  139. package/dist/targets/droid-reasoning-runtime.d.ts.map +1 -0
  140. package/dist/targets/droid-reasoning-runtime.js +42 -0
  141. package/dist/targets/droid-reasoning-runtime.js.map +1 -0
  142. package/dist/targets/index.d.ts +2 -0
  143. package/dist/targets/index.d.ts.map +1 -1
  144. package/dist/targets/index.js +4 -1
  145. package/dist/targets/index.js.map +1 -1
  146. package/dist/targets/target-adapter.d.ts +6 -0
  147. package/dist/targets/target-adapter.d.ts.map +1 -1
  148. package/dist/targets/target-resolver.d.ts.map +1 -1
  149. package/dist/targets/target-resolver.js +6 -3
  150. package/dist/targets/target-resolver.js.map +1 -1
  151. package/dist/types/config.d.ts +7 -0
  152. package/dist/types/config.d.ts.map +1 -1
  153. package/dist/types/config.js.map +1 -1
  154. package/dist/ui/assets/accounts-y2u0CVK8.js +1 -0
  155. package/dist/ui/assets/{alert-dialog-YcmZPFim.js → alert-dialog-CetY4Iww.js} +1 -1
  156. package/dist/ui/assets/api-5q1FT1uL.js +1 -0
  157. package/dist/ui/assets/auth-section-CaQeee-F.js +1 -0
  158. package/dist/ui/assets/{backups-section-DmAsqMfq.js → backups-section-hF88BjYJ.js} +1 -1
  159. package/dist/ui/assets/{checkbox-Cfg9kbJX.js → checkbox-Dhm5Fzkb.js} +1 -1
  160. package/dist/ui/assets/cliproxy-BeYNWmY_.js +3 -0
  161. package/dist/ui/assets/cliproxy-control-panel-CJELeI80.js +1 -0
  162. package/dist/ui/assets/{confirm-dialog-CRcV2Yc4.js → confirm-dialog-Dn3SrwNV.js} +1 -1
  163. package/dist/ui/assets/{copilot-EarFqUyJ.js → copilot-vwT-4_V4.js} +2 -2
  164. package/dist/ui/assets/{cursor-Dbe4Wtw2.js → cursor-CN3lIX63.js} +1 -1
  165. package/dist/ui/assets/droid-DBP2yCY7.js +2 -0
  166. package/dist/ui/assets/{form-utils-C-pVd1--.js → form-utils-Cn_Uld6y.js} +1 -1
  167. package/dist/ui/assets/globalenv-section-DNKAJasL.js +1 -0
  168. package/dist/ui/assets/{health-Cvr359ff.js → health-C7tNiLzc.js} +1 -1
  169. package/dist/ui/assets/icons-DrewC9c3.js +1 -0
  170. package/dist/ui/assets/index-C8-ef-r7.js +1 -0
  171. package/dist/ui/assets/{index-Cp8K9_TQ.js → index-MGh88HoC.js} +1 -1
  172. package/dist/ui/assets/{index-DTDftvd-.js → index-QBUSDLTx.js} +1 -1
  173. package/dist/ui/assets/index-k-HuyjpO.js +47 -0
  174. package/dist/ui/assets/index-s-oTl3hW.css +1 -0
  175. package/dist/ui/assets/{index-CLBNUja8.js → index-uYnNU6Ut.js} +1 -1
  176. package/dist/ui/assets/proxy-status-widget-CIm5vKY7.js +1 -0
  177. package/dist/ui/assets/{radix-ui-DKgfU5rd.js → radix-ui-C1Gpgz6I.js} +1 -1
  178. package/dist/ui/assets/{separator-CdOKc0gJ.js → separator-BLVyAGAm.js} +1 -1
  179. package/dist/ui/assets/shared-CHH09ZNi.js +8 -0
  180. package/dist/ui/assets/{switch-B2ALi24E.js → switch-CwLyB4JK.js} +1 -1
  181. package/dist/ui/assets/{tanstack-5ndrQy-j.js → tanstack-DDJIhNJd.js} +1 -1
  182. package/dist/ui/assets/updates-VlxL3aum.js +1 -0
  183. package/dist/ui/index.html +6 -6
  184. package/dist/web-server/model-pricing.d.ts.map +1 -1
  185. package/dist/web-server/model-pricing.js +114 -22
  186. package/dist/web-server/model-pricing.js.map +1 -1
  187. package/dist/web-server/routes/account-route-helpers.d.ts +20 -0
  188. package/dist/web-server/routes/account-route-helpers.d.ts.map +1 -0
  189. package/dist/web-server/routes/account-route-helpers.js +34 -0
  190. package/dist/web-server/routes/account-route-helpers.js.map +1 -0
  191. package/dist/web-server/routes/account-routes.d.ts.map +1 -1
  192. package/dist/web-server/routes/account-routes.js +160 -27
  193. package/dist/web-server/routes/account-routes.js.map +1 -1
  194. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
  195. package/dist/web-server/routes/cliproxy-auth-routes.js +58 -24
  196. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
  197. package/dist/web-server/routes/config-routes.d.ts.map +1 -1
  198. package/dist/web-server/routes/config-routes.js +73 -0
  199. package/dist/web-server/routes/config-routes.js.map +1 -1
  200. package/dist/web-server/routes/droid-routes.d.ts +3 -0
  201. package/dist/web-server/routes/droid-routes.d.ts.map +1 -0
  202. package/dist/web-server/routes/droid-routes.js +61 -0
  203. package/dist/web-server/routes/droid-routes.js.map +1 -0
  204. package/dist/web-server/routes/index.d.ts.map +1 -1
  205. package/dist/web-server/routes/index.js +3 -0
  206. package/dist/web-server/routes/index.js.map +1 -1
  207. package/dist/web-server/routes/profile-routes.d.ts +2 -0
  208. package/dist/web-server/routes/profile-routes.d.ts.map +1 -1
  209. package/dist/web-server/routes/profile-routes.js +86 -6
  210. package/dist/web-server/routes/profile-routes.js.map +1 -1
  211. package/dist/web-server/routes/route-helpers.d.ts +2 -1
  212. package/dist/web-server/routes/route-helpers.d.ts.map +1 -1
  213. package/dist/web-server/routes/route-helpers.js +20 -1
  214. package/dist/web-server/routes/route-helpers.js.map +1 -1
  215. package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
  216. package/dist/web-server/routes/settings-routes.js +110 -12
  217. package/dist/web-server/routes/settings-routes.js.map +1 -1
  218. package/dist/web-server/routes/variant-routes.d.ts +2 -0
  219. package/dist/web-server/routes/variant-routes.d.ts.map +1 -1
  220. package/dist/web-server/routes/variant-routes.js +50 -6
  221. package/dist/web-server/routes/variant-routes.js.map +1 -1
  222. package/dist/web-server/services/compatible-cli-docs-registry.d.ts +23 -0
  223. package/dist/web-server/services/compatible-cli-docs-registry.d.ts.map +1 -0
  224. package/dist/web-server/services/compatible-cli-docs-registry.js +81 -0
  225. package/dist/web-server/services/compatible-cli-docs-registry.js.map +1 -0
  226. package/dist/web-server/services/compatible-cli-json-file-service.d.ts +41 -0
  227. package/dist/web-server/services/compatible-cli-json-file-service.d.ts.map +1 -0
  228. package/dist/web-server/services/compatible-cli-json-file-service.js +205 -0
  229. package/dist/web-server/services/compatible-cli-json-file-service.js.map +1 -0
  230. package/dist/web-server/services/compatible-cli-types.d.ts +82 -0
  231. package/dist/web-server/services/compatible-cli-types.d.ts.map +1 -0
  232. package/dist/web-server/services/compatible-cli-types.js +3 -0
  233. package/dist/web-server/services/compatible-cli-types.js.map +1 -0
  234. package/dist/web-server/services/droid-dashboard-service.d.ts +29 -0
  235. package/dist/web-server/services/droid-dashboard-service.d.ts.map +1 -0
  236. package/dist/web-server/services/droid-dashboard-service.js +238 -0
  237. package/dist/web-server/services/droid-dashboard-service.js.map +1 -0
  238. package/dist/web-server/shared-routes.d.ts.map +1 -1
  239. package/dist/web-server/shared-routes.js +350 -52
  240. package/dist/web-server/shared-routes.js.map +1 -1
  241. package/lib/hooks/websearch-transformer.cjs +78 -52
  242. package/package.json +4 -2
  243. package/scripts/maintainability-check.js +163 -0
  244. package/dist/ui/assets/accounts-DIqClJ7z.js +0 -1
  245. package/dist/ui/assets/api-BWyCgbMh.js +0 -1
  246. package/dist/ui/assets/auth-section-Amm4rwiS.js +0 -1
  247. package/dist/ui/assets/cliproxy-B-q7RjS2.js +0 -3
  248. package/dist/ui/assets/cliproxy-control-panel-BliRTkbb.js +0 -1
  249. package/dist/ui/assets/globalenv-section-CBp73q9k.js +0 -1
  250. package/dist/ui/assets/icons-DGASzt3M.js +0 -1
  251. package/dist/ui/assets/index-8n-yIlea.js +0 -47
  252. package/dist/ui/assets/index-B5aulDs4.js +0 -1
  253. package/dist/ui/assets/index-BBCDm6dS.css +0 -1
  254. package/dist/ui/assets/proxy-status-widget-C0G0aOCW.js +0 -1
  255. package/dist/ui/assets/shared-zsUXmES2.js +0 -1
@@ -42,19 +42,32 @@ const LOCK_RETRY_MIN_MS = 200;
42
42
  const LOCK_RETRY_MAX_MS = 1000;
43
43
  /**
44
44
  * Validate profile name to prevent filesystem/security issues.
45
- * Only alphanumeric, underscore, hyphen allowed.
45
+ * Only alphanumeric, dot, underscore, hyphen allowed.
46
46
  */
47
47
  function isValidProfileName(profile) {
48
- return !!profile && /^[a-zA-Z0-9_-]+$/.test(profile);
48
+ return !!profile && /^[a-zA-Z0-9._-]+$/.test(profile);
49
49
  }
50
50
  function validateProfileName(profile) {
51
51
  if (!isValidProfileName(profile)) {
52
- throw new Error(`Invalid profile name "${profile}": must contain only alphanumeric characters, underscores, or hyphens`);
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; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/targets/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAQH,qDAM2B;AALzB,iHAAA,cAAc,OAAA;AACd,4GAAA,SAAS,OAAA;AACT,mHAAA,gBAAgB,OAAA;AAChB,4GAAA,SAAS,OAAA;AACT,uHAAA,oBAAoB,OAAA;AAEtB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,mDAAyF;AAAhF,oHAAA,kBAAkB,OAAA;AAAE,gHAAA,cAAc,OAAA;AAAE,mHAAA,iBAAiB,OAAA;AAC9D,+DAKgC;AAJ9B,sHAAA,cAAc,OAAA;AACd,sHAAA,cAAc,OAAA;AACd,qHAAA,aAAa,OAAA;AACb,2HAAA,mBAAmB,OAAA;AAGrB,qDAAuE;AAA9D,oHAAA,iBAAiB,OAAA;AAAE,kHAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/targets/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAQH,qDAM2B;AALzB,iHAAA,cAAc,OAAA;AACd,4GAAA,SAAS,OAAA;AACT,mHAAA,gBAAgB,OAAA;AAChB,4GAAA,SAAS,OAAA;AACT,uHAAA,oBAAoB,OAAA;AAEtB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,mDAAyF;AAAhF,oHAAA,kBAAkB,OAAA;AAAE,gHAAA,cAAc,OAAA;AAAE,mHAAA,iBAAiB,OAAA;AAC9D,+DAKgC;AAJ9B,sHAAA,cAAc,OAAA;AACd,sHAAA,cAAc,OAAA;AACd,qHAAA,aAAa,OAAA;AACb,2HAAA,mBAAmB,OAAA;AAGrB,mDAAgF;AAAvE,sHAAA,oBAAoB,OAAA;AAAE,wHAAA,sBAAsB,OAAA;AAErD,qDAAuE;AAA9D,oHAAA,iBAAiB,OAAA;AAAE,kHAAA,eAAe,OAAA"}
@@ -21,6 +21,12 @@ export interface TargetCredentials {
21
21
  apiKey: string;
22
22
  model?: string;
23
23
  provider?: 'anthropic' | 'openai' | 'generic-chat-completion-api';
24
+ /**
25
+ * Runtime reasoning/thinking override resolved from CCS flags/env
26
+ * (e.g. --thinking high, --effort xhigh, CCS_THINKING=medium).
27
+ * Targets may ignore this when unsupported.
28
+ */
29
+ reasoningOverride?: string | number;
24
30
  /** Additional env vars from profile resolution (websearch, hooks, etc.) */
25
31
  envVars?: NodeJS.ProcessEnv;
26
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"target-adapter.d.ts","sourceRoot":"","sources":["../../src/targets/target-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,6BAA6B,CAAC;IAClE,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,YAAY,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAExC;;;;;OAKG;IACH,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAEzD;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IAEhF;;;;;OAKG;IACH,IAAI,CACF,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,gBAAgB,CAAA;KAAE,GACxD,IAAI,CAAC;IAER;;OAEG;IACH,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC;CACxD"}
1
+ {"version":3,"file":"target-adapter.d.ts","sourceRoot":"","sources":["../../src/targets/target-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,6BAA6B,CAAC;IAClE;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,YAAY,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAExC;;;;;OAKG;IACH,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAEzD;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IAEhF;;;;;OAKG;IACH,IAAI,CACF,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,gBAAgB,CAAA;KAAE,GACxD,IAAI,CAAC;IAER;;OAEG;IACH,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC;CACxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"target-resolver.d.ts","sourceRoot":"","sources":["../../src/targets/target-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA4F9C;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EAAE,EACd,aAAa,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,GACtC,UAAU,CAyBZ;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAExD"}
1
+ {"version":3,"file":"target-resolver.d.ts","sourceRoot":"","sources":["../../src/targets/target-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAgG9C;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EAAE,EACd,aAAa,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,GACtC,UAAU,CAyBZ;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAExD"}
@@ -61,9 +61,12 @@ function buildArgv0TargetMap() {
61
61
  * Valid target types for --target flag validation.
62
62
  */
63
63
  const VALID_TARGETS = new Set(['claude', 'droid']);
64
+ function isValidTarget(target) {
65
+ return typeof target === 'string' && VALID_TARGETS.has(target);
66
+ }
64
67
  function normalizeTargetValue(value) {
65
68
  const normalized = value.toLowerCase();
66
- if (VALID_TARGETS.has(normalized)) {
69
+ if (isValidTarget(normalized)) {
67
70
  return normalized;
68
71
  }
69
72
  const available = Array.from(VALID_TARGETS).join(', ');
@@ -119,8 +122,8 @@ function resolveTargetType(args, profileConfig) {
119
122
  return parsed.targetOverride;
120
123
  }
121
124
  // 2. Check per-profile config
122
- if (profileConfig?.target) {
123
- return profileConfig.target;
125
+ if (profileConfig?.target !== undefined) {
126
+ return isValidTarget(profileConfig.target) ? profileConfig.target : 'claude';
124
127
  }
125
128
  // 3. Check argv[0] (busybox pattern)
126
129
  // Strip common wrapper extensions for Windows shims/wrappers
@@ -1 +1 @@
1
- {"version":3,"file":"target-resolver.js","sourceRoot":"","sources":["../../src/targets/target-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"target-resolver.js","sourceRoot":"","sources":["../../src/targets/target-resolver.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2CAA6B;AAG7B;;;GAGG;AACH,MAAM,gBAAgB,GAA+B;IACnD,IAAI,EAAE,OAAO;CACd,CAAC;AACF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAE1C,SAAS,mBAAmB;IAC1B,MAAM,GAAG,GAA+B,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAChE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,SAAS;QACX,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAOpF,SAAS,aAAa,CAAC,MAAe;IACpC,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,MAAoB,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,UAAwB,CAAC;IAClC,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,iBAAiB,SAAS,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,IAAc;IACtC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,cAAsC,CAAC;IAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,gEAAgE;QAChE,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM;QACR,CAAC;QAED,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YACD,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC7C,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa;YACrB,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACnD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YACD,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC7C,SAAS;QACX,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAC/B,IAAc,EACd,aAAuC;IAEvC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEtC,4CAA4C;IAC5C,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,8BAA8B;IAC9B,IAAI,aAAa,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/E,CAAC;IAED,qCAAqC;IACrC,6DAA6D;IAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1E,MAAM,cAAc,GAAG,mBAAmB,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,aAAa;IACb,OAAO,QAAQ,CAAC;AAClB,CAAC;AA5BD,8CA4BC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,IAAc;IAC5C,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;AAC5C,CAAC;AAFD,0CAEC"}