@kaitranntt/ccs 7.50.0-dev.1 → 7.50.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 (93) hide show
  1. package/README.md +12 -0
  2. package/dist/api/services/profile-writer.d.ts +1 -1
  3. package/dist/api/services/profile-writer.d.ts.map +1 -1
  4. package/dist/api/services/profile-writer.js +18 -5
  5. package/dist/api/services/profile-writer.js.map +1 -1
  6. package/dist/ccs.js +46 -8
  7. package/dist/ccs.js.map +1 -1
  8. package/dist/targets/droid-adapter.d.ts +1 -1
  9. package/dist/targets/droid-adapter.d.ts.map +1 -1
  10. package/dist/targets/droid-adapter.js +16 -4
  11. package/dist/targets/droid-adapter.js.map +1 -1
  12. package/dist/targets/droid-config-manager.d.ts +9 -1
  13. package/dist/targets/droid-config-manager.d.ts.map +1 -1
  14. package/dist/targets/droid-config-manager.js +131 -3
  15. package/dist/targets/droid-config-manager.js.map +1 -1
  16. package/dist/targets/droid-provider.d.ts +40 -0
  17. package/dist/targets/droid-provider.d.ts.map +1 -0
  18. package/dist/targets/droid-provider.js +140 -0
  19. package/dist/targets/droid-provider.js.map +1 -0
  20. package/dist/targets/droid-reasoning-runtime.d.ts +14 -0
  21. package/dist/targets/droid-reasoning-runtime.d.ts.map +1 -0
  22. package/dist/targets/droid-reasoning-runtime.js +42 -0
  23. package/dist/targets/droid-reasoning-runtime.js.map +1 -0
  24. package/dist/targets/index.d.ts +2 -0
  25. package/dist/targets/index.d.ts.map +1 -1
  26. package/dist/targets/index.js +4 -1
  27. package/dist/targets/index.js.map +1 -1
  28. package/dist/targets/target-adapter.d.ts +6 -0
  29. package/dist/targets/target-adapter.d.ts.map +1 -1
  30. package/dist/ui/assets/accounts-B3RlymZc.js +1 -0
  31. package/dist/ui/assets/{alert-dialog-DmrIcJav.js → alert-dialog-CuEMPUz1.js} +1 -1
  32. package/dist/ui/assets/api-B2ICvWzi.js +1 -0
  33. package/dist/ui/assets/{auth-section-CP_2r8oJ.js → auth-section-47vsG_g9.js} +1 -1
  34. package/dist/ui/assets/{backups-section-jwtuA5Ay.js → backups-section-D-sat7Ti.js} +1 -1
  35. package/dist/ui/assets/{checkbox-CNqHZx7Z.js → checkbox-C-12mTDT.js} +1 -1
  36. package/dist/ui/assets/{cliproxy-CtO9BwgG.js → cliproxy-CAR-zTil.js} +1 -1
  37. package/dist/ui/assets/{cliproxy-control-panel--WUVyBIk.js → cliproxy-control-panel-3uthxEI-.js} +1 -1
  38. package/dist/ui/assets/{confirm-dialog-CQNxkz9X.js → confirm-dialog-BfiBvMqW.js} +1 -1
  39. package/dist/ui/assets/{copilot-DLxxmnsW.js → copilot-Dz0B1ZUz.js} +1 -1
  40. package/dist/ui/assets/{cursor-YRIza7sP.js → cursor-DdPXjHsr.js} +1 -1
  41. package/dist/ui/assets/droid-DE-zbt4u.js +2 -0
  42. package/dist/ui/assets/globalenv-section-BKbOddIv.js +1 -0
  43. package/dist/ui/assets/{health-BWPd6F4h.js → health-Bu6uaf__.js} +1 -1
  44. package/dist/ui/assets/icons-ErRLeJ3U.js +1 -0
  45. package/dist/ui/assets/index-CjJDhkhP.css +1 -0
  46. package/dist/ui/assets/{index-D244tv89.js → index-Cl-418Sf.js} +1 -1
  47. package/dist/ui/assets/{index-BlldLmNl.js → index-D1DFI7Lj.js} +1 -1
  48. package/dist/ui/assets/{index-BZdHAol5.js → index-DNyQOJ27.js} +1 -1
  49. package/dist/ui/assets/index-Dzby9K4O.js +1 -0
  50. package/dist/ui/assets/{index-PWMOllOf.js → index-zgEA-GkK.js} +11 -11
  51. package/dist/ui/assets/{proxy-status-widget-MlyNgoPh.js → proxy-status-widget-BtL-jVdm.js} +1 -1
  52. package/dist/ui/assets/{separator-OcJLDgYQ.js → separator-sNDYgSUT.js} +1 -1
  53. package/dist/ui/assets/{shared-LxAdbm4g.js → shared-qWuCxx8B.js} +1 -1
  54. package/dist/ui/assets/{switch-s8pp-m8L.js → switch-BdRPtxoo.js} +1 -1
  55. package/dist/ui/assets/{updates-BQRhDVbP.js → updates-BIpeiM6l.js} +1 -1
  56. package/dist/ui/index.html +3 -3
  57. package/dist/web-server/routes/droid-routes.d.ts +3 -0
  58. package/dist/web-server/routes/droid-routes.d.ts.map +1 -0
  59. package/dist/web-server/routes/droid-routes.js +61 -0
  60. package/dist/web-server/routes/droid-routes.js.map +1 -0
  61. package/dist/web-server/routes/index.d.ts.map +1 -1
  62. package/dist/web-server/routes/index.js +3 -0
  63. package/dist/web-server/routes/index.js.map +1 -1
  64. package/dist/web-server/routes/profile-routes.d.ts.map +1 -1
  65. package/dist/web-server/routes/profile-routes.js +29 -3
  66. package/dist/web-server/routes/profile-routes.js.map +1 -1
  67. package/dist/web-server/routes/route-helpers.d.ts +2 -1
  68. package/dist/web-server/routes/route-helpers.d.ts.map +1 -1
  69. package/dist/web-server/routes/route-helpers.js +20 -1
  70. package/dist/web-server/routes/route-helpers.js.map +1 -1
  71. package/dist/web-server/services/compatible-cli-docs-registry.d.ts +23 -0
  72. package/dist/web-server/services/compatible-cli-docs-registry.d.ts.map +1 -0
  73. package/dist/web-server/services/compatible-cli-docs-registry.js +81 -0
  74. package/dist/web-server/services/compatible-cli-docs-registry.js.map +1 -0
  75. package/dist/web-server/services/compatible-cli-json-file-service.d.ts +41 -0
  76. package/dist/web-server/services/compatible-cli-json-file-service.d.ts.map +1 -0
  77. package/dist/web-server/services/compatible-cli-json-file-service.js +205 -0
  78. package/dist/web-server/services/compatible-cli-json-file-service.js.map +1 -0
  79. package/dist/web-server/services/compatible-cli-types.d.ts +82 -0
  80. package/dist/web-server/services/compatible-cli-types.d.ts.map +1 -0
  81. package/dist/web-server/services/compatible-cli-types.js +3 -0
  82. package/dist/web-server/services/compatible-cli-types.js.map +1 -0
  83. package/dist/web-server/services/droid-dashboard-service.d.ts +29 -0
  84. package/dist/web-server/services/droid-dashboard-service.d.ts.map +1 -0
  85. package/dist/web-server/services/droid-dashboard-service.js +238 -0
  86. package/dist/web-server/services/droid-dashboard-service.js.map +1 -0
  87. package/package.json +1 -1
  88. package/dist/ui/assets/accounts-BKK-Lc16.js +0 -1
  89. package/dist/ui/assets/api-DzTwRtww.js +0 -1
  90. package/dist/ui/assets/globalenv-section-vUSIK5rf.js +0 -1
  91. package/dist/ui/assets/icons-Dk2sL3Mr.js +0 -1
  92. package/dist/ui/assets/index-B9dJZNls.js +0 -1
  93. package/dist/ui/assets/index-DEDy1J8t.css +0 -1
@@ -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; } });
@@ -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"}
@@ -0,0 +1 @@
1
+ import{j as e}from"./radix-ui-DIWAxjEp.js";import{r as x}from"./react-vendor-CNOkPC89.js";import{u as R,a as y,b as v,d as _,f as k,g as F}from"./tanstack-Hn82hibe.js";import{c as p,W as C,b as m,a5 as L,a6 as P,a7 as q,a8 as K,a9 as M,L as j,I as T}from"./index-zgEA-GkK.js";import{A as $,a as G,b as E,c as H,d as Q,e as O,f as Z,g as B}from"./alert-dialog-CuEMPUz1.js";import{t as h}from"./notifications-B2HqRBj7.js";import{w as I,k as b,ah as V,z as U,m as z,a0 as W}from"./icons-ErRLeJ3U.js";import{C as J}from"./checkbox-C-12mTDT.js";import"./utils-CzKF5WmX.js";import"./form-utils-Cn_Uld6y.js";import"./code-highlight-BRUf_pqB.js";function X({className:n,...t}){return e.jsx("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:e.jsx("table",{"data-slot":"table",className:p("w-full caption-bottom text-sm",n),...t})})}function Y({className:n,...t}){return e.jsx("thead",{"data-slot":"table-header",className:p("[&_tr]:border-b",n),...t})}function ee({className:n,...t}){return e.jsx("tbody",{"data-slot":"table-body",className:p("[&_tr:last-child]:border-0",n),...t})}function S({className:n,...t}){return e.jsx("tr",{"data-slot":"table-row",className:p("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",n),...t})}function te({className:n,...t}){return e.jsx("th",{"data-slot":"table-head",className:p("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",n),...t})}function se({className:n,...t}){return e.jsx("td",{"data-slot":"table-cell",className:p("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",n),...t})}function ae(){return R({queryKey:["accounts"],queryFn:()=>C.accounts.list()})}function ne(){const n=y();return v({mutationFn:t=>C.accounts.setDefault(t),onSuccess:(t,r)=>{n.invalidateQueries({queryKey:["accounts"]}),h.success(`Default account set to "${r}"`)},onError:t=>{h.error(t.message)}})}function re(){const n=y();return v({mutationFn:()=>C.accounts.resetDefault(),onSuccess:()=>{n.invalidateQueries({queryKey:["accounts"]}),h.success("Default account reset to CCS")},onError:t=>{h.error(t.message)}})}function le(){const n=y();return v({mutationFn:t=>C.accounts.delete(t),onSuccess:(t,r)=>{n.invalidateQueries({queryKey:["accounts"]}),h.success(`Account "${r}" deleted`)},onError:t=>{h.error(t.message)}})}function oe({data:n,defaultAccount:t}){const r=ne(),c=le(),l=re(),[i,d]=x.useState(null),g=_({data:n,columns:[{accessorKey:"name",header:"Name",size:200,cell:({row:s})=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"font-medium",children:s.original.name}),s.original.name===t&&e.jsx("span",{className:"text-xs bg-primary/10 text-primary px-1.5 py-0.5 rounded border border-primary/20",children:"default"})]})},{accessorKey:"type",header:"Type",size:100,cell:({row:s})=>e.jsx("span",{className:"capitalize text-muted-foreground",children:s.original.type||"oauth"})},{accessorKey:"created",header:"Created",size:150,cell:({row:s})=>{const a=new Date(s.original.created);return e.jsx("span",{className:"text-muted-foreground",children:a.toLocaleDateString()})}},{accessorKey:"last_used",header:"Last Used",size:150,cell:({row:s})=>{if(!s.original.last_used)return e.jsx("span",{className:"text-muted-foreground/50",children:"-"});const a=new Date(s.original.last_used);return e.jsx("span",{className:"text-muted-foreground",children:a.toLocaleDateString()})}},{id:"context",header:"Context",size:170,cell:({row:s})=>{if(s.original.type==="cliproxy")return e.jsx("span",{className:"text-muted-foreground/50",children:"-"});if((s.original.context_mode||"isolated")==="shared"){const o=s.original.context_group||"default";return e.jsxs("span",{className:"text-muted-foreground",children:["shared (",o,")"]})}return e.jsx("span",{className:"text-muted-foreground",children:"isolated"})}},{id:"actions",header:"Actions",size:180,cell:({row:s})=>{const a=s.original.name===t,o=r.isPending||c.isPending;return e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsxs(m,{variant:a?"secondary":"default",size:"sm",className:"h-8 px-2",disabled:a||o,onClick:()=>r.mutate(s.original.name),children:[e.jsx(b,{className:`w-3 h-3 mr-1 ${a?"opacity-50":""}`}),a?"Active":"Set Default"]}),e.jsx(m,{variant:"ghost",size:"sm",className:"h-8 px-2 text-destructive hover:text-destructive hover:bg-destructive/10",disabled:a||o,onClick:()=>d(s.original.name),title:a?"Cannot delete default account":"Delete account",children:e.jsx(V,{className:"w-4 h-4"})})]})}}],getCoreRowModel:F()});return n.length===0?e.jsxs("div",{className:"text-center py-8 text-muted-foreground",children:["No accounts found. Use"," ",e.jsx("code",{className:"text-sm bg-muted px-1 rounded",children:"ccs auth create"})," to add accounts."]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"border rounded-md",children:e.jsxs(X,{children:[e.jsx(Y,{children:g.getHeaderGroups().map(s=>e.jsx(S,{children:s.headers.map(a=>{const o={name:"w-[200px]",type:"w-[100px]",created:"w-[150px]",last_used:"w-[150px]",context:"w-[170px]",actions:"w-[180px]"}[a.id]||"w-auto";return e.jsx(te,{className:o,children:a.isPlaceholder?null:k(a.column.columnDef.header,a.getContext())},a.id)})},s.id))}),e.jsx(ee,{children:g.getRowModel().rows.map(s=>e.jsx(S,{children:s.getVisibleCells().map(a=>e.jsx(se,{children:k(a.column.columnDef.cell,a.getContext())},a.id))},s.id))})]})}),t&&e.jsx("div",{className:"flex justify-end",children:e.jsxs(m,{variant:"outline",size:"sm",onClick:()=>l.mutate(),disabled:l.isPending,children:[e.jsx(I,{className:"w-4 h-4 mr-2"}),"Reset to CCS Default"]})})]}),e.jsx($,{open:!!i,onOpenChange:s=>!s&&d(null),children:e.jsxs(G,{children:[e.jsxs(E,{children:[e.jsx(H,{children:"Delete Account"}),e.jsxs(Q,{children:['Are you sure you want to delete the account "',i,'"? This will remove the profile and all its session data. This action cannot be undone.']})]}),e.jsxs(O,{children:[e.jsx(Z,{children:"Cancel"}),e.jsx(B,{className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",onClick:()=>{i&&(c.mutate(i),d(null))},children:"Delete"})]})]})})]})}function ce({open:n,onClose:t}){const[r,c]=x.useState(""),[l,i]=x.useState(!1),[d,N]=x.useState(""),[g,s]=x.useState(!1),a=/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(r),o=d.trim().toLowerCase(),f=o.length===0||/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(o),w=r&&a?[`ccs auth create ${r}`,l?o.length>0?`--context-group ${o}`:"--share-context":""].filter(Boolean).join(" "):"ccs auth create <name>",D=async()=>{!a||l&&!f||(await navigator.clipboard.writeText(w),s(!0),setTimeout(()=>s(!1),2e3))},A=()=>{c(""),i(!1),N(""),s(!1),t()};return e.jsx(L,{open:n,onOpenChange:u=>!u&&A(),children:e.jsxs(P,{className:"sm:max-w-md",children:[e.jsxs(q,{children:[e.jsx(K,{children:"Create New Account"}),e.jsx(M,{children:"Auth profiles require Claude CLI login. Run the command below in your terminal."})]}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(j,{htmlFor:"profile-name",children:"Profile Name"}),e.jsx(T,{id:"profile-name",value:r,onChange:u=>c(u.target.value),placeholder:"e.g., work, personal, client",autoComplete:"off"}),r&&!a&&e.jsx("p",{className:"text-xs text-destructive",children:"Name must start with a letter and contain only letters, numbers, dashes, or underscores."})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(J,{id:"share-context",checked:l,onCheckedChange:u=>i(u===!0)}),e.jsx(j,{htmlFor:"share-context",className:"cursor-pointer",children:"Share project context with other accounts"})]}),l&&e.jsxs("div",{className:"space-y-2 pl-6",children:[e.jsx(j,{htmlFor:"context-group",children:"Context Group (optional)"}),e.jsx(T,{id:"context-group",value:d,onChange:u=>N(u.target.value),placeholder:"default, sprint-a, client-x",autoComplete:"off"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Leave empty to use the default shared group."}),d.trim().length>0&&!f&&e.jsx("p",{className:"text-xs text-destructive",children:"Group must start with a letter and use only letters, numbers, dashes, or underscores."})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(j,{children:"Command"}),e.jsxs("div",{className:"flex items-center gap-2 p-3 bg-muted rounded-md font-mono text-sm",children:[e.jsx(U,{className:"w-4 h-4 text-muted-foreground shrink-0"}),e.jsx("code",{className:"flex-1 break-all",children:w}),e.jsx(m,{variant:"ghost",size:"sm",className:"shrink-0 h-8 px-2",onClick:D,disabled:!a||l&&!f,children:g?e.jsx(b,{className:"w-4 h-4 text-green-500"}):e.jsx(z,{className:"w-4 h-4"})})]})]}),e.jsxs("div",{className:"text-sm text-muted-foreground space-y-1",children:[e.jsx("p",{children:"After running the command:"}),e.jsxs("ol",{className:"list-decimal list-inside pl-2 space-y-0.5",children:[e.jsx("li",{children:"Complete the Claude login in your browser"}),e.jsx("li",{children:"Return here and refresh to see the new account"})]})]}),e.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[e.jsx(m,{variant:"ghost",onClick:A,children:"Close"}),e.jsx(m,{onClick:D,disabled:!a||l&&!f,children:g?e.jsxs(e.Fragment,{children:[e.jsx(b,{className:"w-4 h-4 mr-2"}),"Copied!"]}):e.jsxs(e.Fragment,{children:[e.jsx(z,{className:"w-4 h-4 mr-2"}),"Copy Command"]})})]})]})]})})}function Ne(){const{data:n,isLoading:t,refetch:r}=ae(),[c,l]=x.useState(!1);return e.jsxs("div",{className:"p-6 max-w-6xl mx-auto space-y-8",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold",children:"Accounts"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Manage multi-account Claude sessions (profiles.json)"})]}),e.jsxs(m,{onClick:()=>l(!0),children:[e.jsx(W,{className:"w-4 h-4 mr-2"}),"Create Account"]})]}),t?e.jsx("div",{className:"text-muted-foreground",children:"Loading accounts..."}):e.jsx(oe,{data:n?.accounts||[],defaultAccount:n?.default??null,onRefresh:r}),e.jsx(ce,{open:c,onClose:()=>l(!1)})]})}export{Ne as AccountsPage};
@@ -1 +1 @@
1
- import{j as e,a4 as s,a5 as r,a6 as n,a7 as i,a8 as d,a9 as c,aa as u,ab as f}from"./radix-ui-DIWAxjEp.js";import"./react-vendor-CNOkPC89.js";import{c as o,bf as l}from"./index-PWMOllOf.js";function A({...a}){return e.jsx(s,{"data-slot":"alert-dialog",...a})}function g({...a}){return e.jsx(u,{"data-slot":"alert-dialog-portal",...a})}function m({className:a,...t}){return e.jsx(f,{"data-slot":"alert-dialog-overlay",className:o("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",a),...t})}function D({className:a,...t}){return e.jsxs(g,{children:[e.jsx(m,{}),e.jsx(r,{"data-slot":"alert-dialog-content",className:o("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",a),...t})]})}function b({className:a,...t}){return e.jsx("div",{"data-slot":"alert-dialog-header",className:o("flex flex-col gap-2 text-center sm:text-left",a),...t})}function N({className:a,...t}){return e.jsx("div",{"data-slot":"alert-dialog-footer",className:o("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",a),...t})}function v({className:a,...t}){return e.jsx(n,{"data-slot":"alert-dialog-title",className:o("text-lg font-semibold",a),...t})}function w({className:a,...t}){return e.jsx(i,{"data-slot":"alert-dialog-description",className:o("text-muted-foreground text-sm",a),...t})}function y({className:a,...t}){return e.jsx(c,{className:o(l(),a),...t})}function z({className:a,...t}){return e.jsx(d,{className:o(l({variant:"outline"}),a),...t})}export{A,D as a,b,v as c,w as d,N as e,z as f,y as g};
1
+ import{j as e,a4 as s,a5 as r,a6 as n,a7 as i,a8 as d,a9 as c,aa as u,ab as f}from"./radix-ui-DIWAxjEp.js";import"./react-vendor-CNOkPC89.js";import{c as o,bj as l}from"./index-zgEA-GkK.js";function A({...a}){return e.jsx(s,{"data-slot":"alert-dialog",...a})}function g({...a}){return e.jsx(u,{"data-slot":"alert-dialog-portal",...a})}function m({className:a,...t}){return e.jsx(f,{"data-slot":"alert-dialog-overlay",className:o("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",a),...t})}function D({className:a,...t}){return e.jsxs(g,{children:[e.jsx(m,{}),e.jsx(r,{"data-slot":"alert-dialog-content",className:o("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",a),...t})]})}function b({className:a,...t}){return e.jsx("div",{"data-slot":"alert-dialog-header",className:o("flex flex-col gap-2 text-center sm:text-left",a),...t})}function N({className:a,...t}){return e.jsx("div",{"data-slot":"alert-dialog-footer",className:o("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",a),...t})}function v({className:a,...t}){return e.jsx(n,{"data-slot":"alert-dialog-title",className:o("text-lg font-semibold",a),...t})}function w({className:a,...t}){return e.jsx(i,{"data-slot":"alert-dialog-description",className:o("text-muted-foreground text-sm",a),...t})}function y({className:a,...t}){return e.jsx(c,{className:o(l(),a),...t})}function z({className:a,...t}){return e.jsx(d,{className:o(l({variant:"outline"}),a),...t})}export{A,D as a,b,v as c,w as d,N as e,z as f,y as g};