@kaitranntt/ccs 7.50.0 → 7.51.0-dev.4

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 (285) hide show
  1. package/README.md +109 -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 +156 -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 +116 -8
  63. package/dist/cliproxy/config/env-builder.js.map +1 -1
  64. package/dist/cliproxy/config/generator.d.ts +3 -1
  65. package/dist/cliproxy/config/generator.d.ts.map +1 -1
  66. package/dist/cliproxy/config/generator.js +26 -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/model-catalog.d.ts.map +1 -1
  72. package/dist/cliproxy/model-catalog.js +4 -10
  73. package/dist/cliproxy/model-catalog.js.map +1 -1
  74. package/dist/cliproxy/model-config.d.ts.map +1 -1
  75. package/dist/cliproxy/model-config.js +12 -11
  76. package/dist/cliproxy/model-config.js.map +1 -1
  77. package/dist/cliproxy/model-id-normalizer.d.ts +17 -2
  78. package/dist/cliproxy/model-id-normalizer.d.ts.map +1 -1
  79. package/dist/cliproxy/model-id-normalizer.js +54 -7
  80. package/dist/cliproxy/model-id-normalizer.js.map +1 -1
  81. package/dist/cliproxy/services/variant-config-adapter.d.ts +4 -35
  82. package/dist/cliproxy/services/variant-config-adapter.d.ts.map +1 -1
  83. package/dist/cliproxy/services/variant-config-adapter.js +11 -34
  84. package/dist/cliproxy/services/variant-config-adapter.js.map +1 -1
  85. package/dist/cliproxy/services/variant-service.d.ts +5 -1
  86. package/dist/cliproxy/services/variant-service.d.ts.map +1 -1
  87. package/dist/cliproxy/services/variant-service.js +19 -9
  88. package/dist/cliproxy/services/variant-service.js.map +1 -1
  89. package/dist/cliproxy/services/variant-settings.d.ts.map +1 -1
  90. package/dist/cliproxy/services/variant-settings.js +5 -3
  91. package/dist/cliproxy/services/variant-settings.js.map +1 -1
  92. package/dist/cliproxy/sync/profile-mapper.d.ts.map +1 -1
  93. package/dist/cliproxy/sync/profile-mapper.js +14 -2
  94. package/dist/cliproxy/sync/profile-mapper.js.map +1 -1
  95. package/dist/commands/api-command.d.ts +2 -0
  96. package/dist/commands/api-command.d.ts.map +1 -1
  97. package/dist/commands/api-command.js +45 -10
  98. package/dist/commands/api-command.js.map +1 -1
  99. package/dist/commands/cliproxy/auth-subcommand.d.ts.map +1 -1
  100. package/dist/commands/cliproxy/auth-subcommand.js +5 -2
  101. package/dist/commands/cliproxy/auth-subcommand.js.map +1 -1
  102. package/dist/commands/cliproxy/help-subcommand.d.ts.map +1 -1
  103. package/dist/commands/cliproxy/help-subcommand.js +1 -0
  104. package/dist/commands/cliproxy/help-subcommand.js.map +1 -1
  105. package/dist/commands/cliproxy/variant-subcommand.d.ts +15 -0
  106. package/dist/commands/cliproxy/variant-subcommand.d.ts.map +1 -1
  107. package/dist/commands/cliproxy/variant-subcommand.js +144 -15
  108. package/dist/commands/cliproxy/variant-subcommand.js.map +1 -1
  109. package/dist/commands/help-command.d.ts.map +1 -1
  110. package/dist/commands/help-command.js +34 -2
  111. package/dist/commands/help-command.js.map +1 -1
  112. package/dist/config/migration-manager.d.ts.map +1 -1
  113. package/dist/config/migration-manager.js +19 -0
  114. package/dist/config/migration-manager.js.map +1 -1
  115. package/dist/config/unified-config-loader.d.ts +11 -1
  116. package/dist/config/unified-config-loader.d.ts.map +1 -1
  117. package/dist/config/unified-config-loader.js +127 -59
  118. package/dist/config/unified-config-loader.js.map +1 -1
  119. package/dist/config/unified-config-types.d.ts +16 -0
  120. package/dist/config/unified-config-types.d.ts.map +1 -1
  121. package/dist/config/unified-config-types.js +8 -1
  122. package/dist/config/unified-config-types.js.map +1 -1
  123. package/dist/delegation/headless-executor.d.ts.map +1 -1
  124. package/dist/delegation/headless-executor.js +4 -1
  125. package/dist/delegation/headless-executor.js.map +1 -1
  126. package/dist/management/instance-manager.d.ts +1 -0
  127. package/dist/management/instance-manager.d.ts.map +1 -1
  128. package/dist/management/instance-manager.js +14 -8
  129. package/dist/management/instance-manager.js.map +1 -1
  130. package/dist/management/profile-context-sync-lock.d.ts +14 -0
  131. package/dist/management/profile-context-sync-lock.d.ts.map +1 -0
  132. package/dist/management/profile-context-sync-lock.js +174 -0
  133. package/dist/management/profile-context-sync-lock.js.map +1 -0
  134. package/dist/management/shared-manager.d.ts +18 -0
  135. package/dist/management/shared-manager.d.ts.map +1 -1
  136. package/dist/management/shared-manager.js +145 -6
  137. package/dist/management/shared-manager.js.map +1 -1
  138. package/dist/targets/droid-adapter.d.ts +2 -4
  139. package/dist/targets/droid-adapter.d.ts.map +1 -1
  140. package/dist/targets/droid-adapter.js +20 -10
  141. package/dist/targets/droid-adapter.js.map +1 -1
  142. package/dist/targets/droid-command-router.d.ts +26 -0
  143. package/dist/targets/droid-command-router.d.ts.map +1 -0
  144. package/dist/targets/droid-command-router.js +240 -0
  145. package/dist/targets/droid-command-router.js.map +1 -0
  146. package/dist/targets/droid-config-manager.d.ts +9 -1
  147. package/dist/targets/droid-config-manager.d.ts.map +1 -1
  148. package/dist/targets/droid-config-manager.js +134 -6
  149. package/dist/targets/droid-config-manager.js.map +1 -1
  150. package/dist/targets/droid-provider.d.ts +40 -0
  151. package/dist/targets/droid-provider.d.ts.map +1 -0
  152. package/dist/targets/droid-provider.js +140 -0
  153. package/dist/targets/droid-provider.js.map +1 -0
  154. package/dist/targets/droid-reasoning-runtime.d.ts +14 -0
  155. package/dist/targets/droid-reasoning-runtime.d.ts.map +1 -0
  156. package/dist/targets/droid-reasoning-runtime.js +42 -0
  157. package/dist/targets/droid-reasoning-runtime.js.map +1 -0
  158. package/dist/targets/index.d.ts +2 -0
  159. package/dist/targets/index.d.ts.map +1 -1
  160. package/dist/targets/index.js +4 -1
  161. package/dist/targets/index.js.map +1 -1
  162. package/dist/targets/target-adapter.d.ts +6 -0
  163. package/dist/targets/target-adapter.d.ts.map +1 -1
  164. package/dist/targets/target-resolver.d.ts.map +1 -1
  165. package/dist/targets/target-resolver.js +6 -3
  166. package/dist/targets/target-resolver.js.map +1 -1
  167. package/dist/types/config.d.ts +7 -0
  168. package/dist/types/config.d.ts.map +1 -1
  169. package/dist/types/config.js.map +1 -1
  170. package/dist/ui/assets/accounts-Cs_Uohn7.js +1 -0
  171. package/dist/ui/assets/{alert-dialog-YcmZPFim.js → alert-dialog-cRwDSggu.js} +1 -1
  172. package/dist/ui/assets/api-C73W2Hb1.js +1 -0
  173. package/dist/ui/assets/auth-section-DgF431PH.js +1 -0
  174. package/dist/ui/assets/backups-section-9V2yDu_e.js +1 -0
  175. package/dist/ui/assets/{checkbox-Cfg9kbJX.js → checkbox-BeoeEcEZ.js} +1 -1
  176. package/dist/ui/assets/cliproxy-DAlyh7zw.js +3 -0
  177. package/dist/ui/assets/cliproxy-control-panel-CE4y4VDk.js +1 -0
  178. package/dist/ui/assets/{confirm-dialog-CRcV2Yc4.js → confirm-dialog-COTT5ztZ.js} +1 -1
  179. package/dist/ui/assets/copilot-Cm5PT0v6.js +3 -0
  180. package/dist/ui/assets/cursor-DYhCaKbC.js +1 -0
  181. package/dist/ui/assets/droid-eTM2_tVh.js +2 -0
  182. package/dist/ui/assets/{form-utils-C-pVd1--.js → form-utils-Cn_Uld6y.js} +1 -1
  183. package/dist/ui/assets/globalenv-section-Dzt_ECFK.js +1 -0
  184. package/dist/ui/assets/health-Bk8Cj2vi.js +1 -0
  185. package/dist/ui/assets/icons-kPbuhVdj.js +1 -0
  186. package/dist/ui/assets/index-BXDW5hxG.js +1 -0
  187. package/dist/ui/assets/index-CKnNRLzv.js +1 -0
  188. package/dist/ui/assets/index-Ck953xpy.css +1 -0
  189. package/dist/ui/assets/index-D1Gx_G_A.js +1 -0
  190. package/dist/ui/assets/index-hlYFfpDN.js +47 -0
  191. package/dist/ui/assets/index-jqDLGaO4.js +1 -0
  192. package/dist/ui/assets/proxy-status-widget-D-PfDCn1.js +1 -0
  193. package/dist/ui/assets/{radix-ui-DKgfU5rd.js → radix-ui-BR1vy4kf.js} +3 -3
  194. package/dist/ui/assets/{separator-CdOKc0gJ.js → separator-CjXUYlSy.js} +1 -1
  195. package/dist/ui/assets/shared-C9EvhZ8u.js +8 -0
  196. package/dist/ui/assets/{switch-B2ALi24E.js → switch-DFLN6xA0.js} +1 -1
  197. package/dist/ui/assets/{tanstack-5ndrQy-j.js → tanstack-e99Cjjy2.js} +1 -1
  198. package/dist/ui/assets/updates-FcpGeTFg.js +1 -0
  199. package/dist/ui/index.html +6 -6
  200. package/dist/utils/shell-executor.d.ts +5 -0
  201. package/dist/utils/shell-executor.d.ts.map +1 -1
  202. package/dist/utils/shell-executor.js +22 -3
  203. package/dist/utils/shell-executor.js.map +1 -1
  204. package/dist/web-server/model-pricing.d.ts.map +1 -1
  205. package/dist/web-server/model-pricing.js +114 -22
  206. package/dist/web-server/model-pricing.js.map +1 -1
  207. package/dist/web-server/routes/account-route-helpers.d.ts +20 -0
  208. package/dist/web-server/routes/account-route-helpers.d.ts.map +1 -0
  209. package/dist/web-server/routes/account-route-helpers.js +34 -0
  210. package/dist/web-server/routes/account-route-helpers.js.map +1 -0
  211. package/dist/web-server/routes/account-routes.d.ts.map +1 -1
  212. package/dist/web-server/routes/account-routes.js +160 -27
  213. package/dist/web-server/routes/account-routes.js.map +1 -1
  214. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
  215. package/dist/web-server/routes/cliproxy-auth-routes.js +58 -24
  216. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
  217. package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -1
  218. package/dist/web-server/routes/cliproxy-stats-routes.js +22 -3
  219. package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -1
  220. package/dist/web-server/routes/config-routes.d.ts.map +1 -1
  221. package/dist/web-server/routes/config-routes.js +73 -0
  222. package/dist/web-server/routes/config-routes.js.map +1 -1
  223. package/dist/web-server/routes/droid-routes.d.ts +3 -0
  224. package/dist/web-server/routes/droid-routes.d.ts.map +1 -0
  225. package/dist/web-server/routes/droid-routes.js +61 -0
  226. package/dist/web-server/routes/droid-routes.js.map +1 -0
  227. package/dist/web-server/routes/index.d.ts.map +1 -1
  228. package/dist/web-server/routes/index.js +3 -0
  229. package/dist/web-server/routes/index.js.map +1 -1
  230. package/dist/web-server/routes/profile-routes.d.ts +2 -0
  231. package/dist/web-server/routes/profile-routes.d.ts.map +1 -1
  232. package/dist/web-server/routes/profile-routes.js +86 -6
  233. package/dist/web-server/routes/profile-routes.js.map +1 -1
  234. package/dist/web-server/routes/route-helpers.d.ts +2 -1
  235. package/dist/web-server/routes/route-helpers.d.ts.map +1 -1
  236. package/dist/web-server/routes/route-helpers.js +20 -1
  237. package/dist/web-server/routes/route-helpers.js.map +1 -1
  238. package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
  239. package/dist/web-server/routes/settings-routes.js +168 -39
  240. package/dist/web-server/routes/settings-routes.js.map +1 -1
  241. package/dist/web-server/routes/variant-routes.d.ts +2 -0
  242. package/dist/web-server/routes/variant-routes.d.ts.map +1 -1
  243. package/dist/web-server/routes/variant-routes.js +50 -6
  244. package/dist/web-server/routes/variant-routes.js.map +1 -1
  245. package/dist/web-server/services/compatible-cli-docs-registry.d.ts +23 -0
  246. package/dist/web-server/services/compatible-cli-docs-registry.d.ts.map +1 -0
  247. package/dist/web-server/services/compatible-cli-docs-registry.js +81 -0
  248. package/dist/web-server/services/compatible-cli-docs-registry.js.map +1 -0
  249. package/dist/web-server/services/compatible-cli-json-file-service.d.ts +41 -0
  250. package/dist/web-server/services/compatible-cli-json-file-service.d.ts.map +1 -0
  251. package/dist/web-server/services/compatible-cli-json-file-service.js +205 -0
  252. package/dist/web-server/services/compatible-cli-json-file-service.js.map +1 -0
  253. package/dist/web-server/services/compatible-cli-types.d.ts +82 -0
  254. package/dist/web-server/services/compatible-cli-types.d.ts.map +1 -0
  255. package/dist/web-server/services/compatible-cli-types.js +3 -0
  256. package/dist/web-server/services/compatible-cli-types.js.map +1 -0
  257. package/dist/web-server/services/droid-dashboard-service.d.ts +29 -0
  258. package/dist/web-server/services/droid-dashboard-service.d.ts.map +1 -0
  259. package/dist/web-server/services/droid-dashboard-service.js +238 -0
  260. package/dist/web-server/services/droid-dashboard-service.js.map +1 -0
  261. package/dist/web-server/shared-routes.d.ts.map +1 -1
  262. package/dist/web-server/shared-routes.js +350 -52
  263. package/dist/web-server/shared-routes.js.map +1 -1
  264. package/lib/hooks/websearch-transformer.cjs +78 -52
  265. package/package.json +4 -2
  266. package/scripts/maintainability-check.js +163 -0
  267. package/dist/ui/assets/accounts-DIqClJ7z.js +0 -1
  268. package/dist/ui/assets/api-BWyCgbMh.js +0 -1
  269. package/dist/ui/assets/auth-section-Amm4rwiS.js +0 -1
  270. package/dist/ui/assets/backups-section-DmAsqMfq.js +0 -1
  271. package/dist/ui/assets/cliproxy-B-q7RjS2.js +0 -3
  272. package/dist/ui/assets/cliproxy-control-panel-BliRTkbb.js +0 -1
  273. package/dist/ui/assets/copilot-EarFqUyJ.js +0 -3
  274. package/dist/ui/assets/cursor-Dbe4Wtw2.js +0 -1
  275. package/dist/ui/assets/globalenv-section-CBp73q9k.js +0 -1
  276. package/dist/ui/assets/health-Cvr359ff.js +0 -1
  277. package/dist/ui/assets/icons-DGASzt3M.js +0 -1
  278. package/dist/ui/assets/index-8n-yIlea.js +0 -47
  279. package/dist/ui/assets/index-B5aulDs4.js +0 -1
  280. package/dist/ui/assets/index-BBCDm6dS.css +0 -1
  281. package/dist/ui/assets/index-CLBNUja8.js +0 -1
  282. package/dist/ui/assets/index-Cp8K9_TQ.js +0 -1
  283. package/dist/ui/assets/index-DTDftvd-.js +0 -1
  284. package/dist/ui/assets/proxy-status-widget-C0G0aOCW.js +0 -1
  285. package/dist/ui/assets/shared-zsUXmES2.js +0 -1
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ /**
3
+ * Droid command router
4
+ *
5
+ * Determines whether profile args should launch Droid interactive mode
6
+ * (`droid [prompt...]`) or command mode (`droid <subcommand> ...`).
7
+ *
8
+ * Also normalizes CCS legacy reasoning aliases for `droid exec`:
9
+ * - --effort / --thinking -> --reasoning-effort
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.routeDroidCommandArgs = exports.DroidCommandRouterError = void 0;
13
+ class DroidCommandRouterError extends Error {
14
+ constructor(message, flag) {
15
+ super(message);
16
+ this.flag = flag;
17
+ this.name = 'DroidCommandRouterError';
18
+ }
19
+ }
20
+ exports.DroidCommandRouterError = DroidCommandRouterError;
21
+ const DROID_SUBCOMMANDS = new Set([
22
+ 'exec',
23
+ 'mcp',
24
+ 'plugin',
25
+ 'daemon',
26
+ 'search',
27
+ 'find',
28
+ 'ssh',
29
+ 'computer',
30
+ 'update',
31
+ 'help',
32
+ ]);
33
+ // Exec-only long flags from Factory Droid CLI help.
34
+ const DROID_EXEC_ONLY_LONG_FLAGS = new Set([
35
+ '--output-format',
36
+ '--input-format',
37
+ '--file',
38
+ '--auto',
39
+ '--skip-permissions-unsafe',
40
+ '--session-id',
41
+ '--model',
42
+ '--reasoning-effort',
43
+ '--enabled-tools',
44
+ '--disabled-tools',
45
+ '--cwd',
46
+ '--tag',
47
+ '--log-group-id',
48
+ '--list-tools',
49
+ ]);
50
+ const DROID_EXEC_ONLY_SHORT_FLAGS = new Set(['-o', '-f', '-s', '-m']);
51
+ const DROID_REASONING_EFFORT_VALUES = new Set([
52
+ 'none',
53
+ 'off',
54
+ 'minimal',
55
+ 'low',
56
+ 'medium',
57
+ 'high',
58
+ 'max',
59
+ 'xhigh',
60
+ 'auto',
61
+ ]);
62
+ function getLongFlagToken(arg) {
63
+ const eqIndex = arg.indexOf('=');
64
+ return eqIndex >= 0 ? arg.slice(0, eqIndex) : arg;
65
+ }
66
+ function isExplicitSubcommand(arg) {
67
+ return !!arg && DROID_SUBCOMMANDS.has(arg);
68
+ }
69
+ function isLikelyReasoningEffortValue(value) {
70
+ if (!value || value.startsWith('-'))
71
+ return false;
72
+ return DROID_REASONING_EFFORT_VALUES.has(value.toLowerCase());
73
+ }
74
+ function hasExecOnlyFlagsAtFront(args) {
75
+ for (let i = 0; i < args.length; i++) {
76
+ const arg = args[i];
77
+ if (arg === '--')
78
+ return false;
79
+ // CCS legacy aliases may appear before exec-only flags; skip their values when present.
80
+ if (arg === '--effort' || arg === '--thinking') {
81
+ const possibleValue = args[i + 1];
82
+ if (possibleValue && !possibleValue.startsWith('-')) {
83
+ i += 1;
84
+ }
85
+ continue;
86
+ }
87
+ if (arg.startsWith('--effort=') || arg.startsWith('--thinking=')) {
88
+ continue;
89
+ }
90
+ if (!arg.startsWith('-'))
91
+ return false;
92
+ if (!arg.startsWith('--')) {
93
+ // Short flags:
94
+ // - `-r` is ambiguous (root resume vs exec reasoning-effort), so only route
95
+ // when value looks like a reasoning effort level.
96
+ if (DROID_EXEC_ONLY_SHORT_FLAGS.has(arg)) {
97
+ return true;
98
+ }
99
+ if (arg === '-r') {
100
+ const value = args[i + 1];
101
+ return isLikelyReasoningEffortValue(value);
102
+ }
103
+ continue;
104
+ }
105
+ const flagToken = getLongFlagToken(arg);
106
+ if (DROID_EXEC_ONLY_LONG_FLAGS.has(flagToken)) {
107
+ return true;
108
+ }
109
+ }
110
+ return false;
111
+ }
112
+ function normalizeExecReasoningFlags(args) {
113
+ const normalized = [];
114
+ const duplicateDisplays = [];
115
+ let sourceDisplay;
116
+ let hasReasoning = false;
117
+ const applyReasoning = (value, display) => {
118
+ if (!hasReasoning) {
119
+ normalized.push('--reasoning-effort', value);
120
+ hasReasoning = true;
121
+ sourceDisplay = display;
122
+ return;
123
+ }
124
+ duplicateDisplays.push(display);
125
+ };
126
+ const handleMissingValue = (flag, missingDisplay) => {
127
+ if (!hasReasoning) {
128
+ throw new DroidCommandRouterError(`${flag} requires a value`, flag);
129
+ }
130
+ duplicateDisplays.push(missingDisplay);
131
+ return undefined;
132
+ };
133
+ // Preserve leading command token for explicit auto-prepended command mode.
134
+ const startsWithExec = args[0] === 'exec';
135
+ let startIndex = 0;
136
+ if (startsWithExec) {
137
+ normalized.push('exec');
138
+ startIndex = 1;
139
+ }
140
+ for (let i = startIndex; i < args.length; i++) {
141
+ const arg = args[i];
142
+ if (arg === '--') {
143
+ normalized.push(...args.slice(i));
144
+ break;
145
+ }
146
+ if (arg === '--reasoning-effort' ||
147
+ arg === '--effort' ||
148
+ arg === '--thinking' ||
149
+ arg === '-r') {
150
+ const value = args[i + 1];
151
+ if (!value || value.startsWith('-')) {
152
+ handleMissingValue(arg, `${arg} <missing-value>`);
153
+ continue;
154
+ }
155
+ applyReasoning(value, `${arg} ${value}`);
156
+ i += 1;
157
+ continue;
158
+ }
159
+ if (arg.startsWith('--reasoning-effort=')) {
160
+ const value = arg.slice('--reasoning-effort='.length);
161
+ if (!value) {
162
+ handleMissingValue('--reasoning-effort', '--reasoning-effort=<missing-value>');
163
+ continue;
164
+ }
165
+ applyReasoning(value, `--reasoning-effort=${value}`);
166
+ continue;
167
+ }
168
+ if (arg.startsWith('--effort=')) {
169
+ const value = arg.slice('--effort='.length);
170
+ if (!value) {
171
+ handleMissingValue('--effort', '--effort=<missing-value>');
172
+ continue;
173
+ }
174
+ applyReasoning(value, `--effort=${value}`);
175
+ continue;
176
+ }
177
+ if (arg.startsWith('--thinking=')) {
178
+ const value = arg.slice('--thinking='.length);
179
+ if (!value) {
180
+ handleMissingValue('--thinking', '--thinking=<missing-value>');
181
+ continue;
182
+ }
183
+ applyReasoning(value, `--thinking=${value}`);
184
+ continue;
185
+ }
186
+ normalized.push(arg);
187
+ }
188
+ return {
189
+ args: normalized,
190
+ sourceDisplay,
191
+ duplicateDisplays,
192
+ };
193
+ }
194
+ function routeDroidCommandArgs(args) {
195
+ if (args.length === 0) {
196
+ return {
197
+ mode: 'interactive',
198
+ argsForDroid: [],
199
+ autoPrependedExec: false,
200
+ duplicateReasoningDisplays: [],
201
+ };
202
+ }
203
+ if (isExplicitSubcommand(args[0])) {
204
+ const command = args[0];
205
+ const normalized = command === 'exec'
206
+ ? normalizeExecReasoningFlags(args)
207
+ : {
208
+ args: [...args],
209
+ duplicateDisplays: [],
210
+ };
211
+ return {
212
+ mode: 'command',
213
+ command,
214
+ argsForDroid: normalized.args,
215
+ autoPrependedExec: false,
216
+ reasoningSourceDisplay: normalized.sourceDisplay,
217
+ duplicateReasoningDisplays: normalized.duplicateDisplays,
218
+ };
219
+ }
220
+ if (hasExecOnlyFlagsAtFront(args)) {
221
+ const argsWithExec = ['exec', ...args];
222
+ const normalized = normalizeExecReasoningFlags(argsWithExec);
223
+ return {
224
+ mode: 'command',
225
+ command: 'exec',
226
+ argsForDroid: normalized.args,
227
+ autoPrependedExec: true,
228
+ reasoningSourceDisplay: normalized.sourceDisplay,
229
+ duplicateReasoningDisplays: normalized.duplicateDisplays,
230
+ };
231
+ }
232
+ return {
233
+ mode: 'interactive',
234
+ argsForDroid: [...args],
235
+ autoPrependedExec: false,
236
+ duplicateReasoningDisplays: [],
237
+ };
238
+ }
239
+ exports.routeDroidCommandArgs = routeDroidCommandArgs;
240
+ //# sourceMappingURL=droid-command-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"droid-command-router.js","sourceRoot":"","sources":["../../src/targets/droid-command-router.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"}
@@ -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"}