@kaitranntt/ccs 7.53.0-dev.2 → 7.53.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 (99) hide show
  1. package/README.md +40 -0
  2. package/dist/auth/profile-detector.d.ts.map +1 -1
  3. package/dist/auth/profile-detector.js +3 -1
  4. package/dist/auth/profile-detector.js.map +1 -1
  5. package/dist/commands/config-command.d.ts.map +1 -1
  6. package/dist/commands/config-command.js +7 -0
  7. package/dist/commands/config-command.js.map +1 -1
  8. package/dist/commands/copilot-command.d.ts.map +1 -1
  9. package/dist/commands/copilot-command.js +19 -8
  10. package/dist/commands/copilot-command.js.map +1 -1
  11. package/dist/commands/env-command.d.ts.map +1 -1
  12. package/dist/commands/env-command.js +31 -76
  13. package/dist/commands/env-command.js.map +1 -1
  14. package/dist/commands/help-command.d.ts.map +1 -1
  15. package/dist/commands/help-command.js +10 -2
  16. package/dist/commands/help-command.js.map +1 -1
  17. package/dist/commands/persist-command.d.ts +4 -4
  18. package/dist/commands/persist-command.d.ts.map +1 -1
  19. package/dist/commands/persist-command.js +76 -83
  20. package/dist/commands/persist-command.js.map +1 -1
  21. package/dist/copilot/copilot-executor.d.ts.map +1 -1
  22. package/dist/copilot/copilot-executor.js +23 -14
  23. package/dist/copilot/copilot-executor.js.map +1 -1
  24. package/dist/copilot/copilot-model-normalizer.d.ts +30 -0
  25. package/dist/copilot/copilot-model-normalizer.d.ts.map +1 -0
  26. package/dist/copilot/copilot-model-normalizer.js +159 -0
  27. package/dist/copilot/copilot-model-normalizer.js.map +1 -0
  28. package/dist/copilot/copilot-models.d.ts.map +1 -1
  29. package/dist/copilot/copilot-models.js +0 -9
  30. package/dist/copilot/copilot-models.js.map +1 -1
  31. package/dist/copilot/index.d.ts +1 -0
  32. package/dist/copilot/index.d.ts.map +1 -1
  33. package/dist/copilot/index.js +9 -1
  34. package/dist/copilot/index.js.map +1 -1
  35. package/dist/shared/claude-extension-hosts.d.ts +12 -0
  36. package/dist/shared/claude-extension-hosts.d.ts.map +1 -0
  37. package/dist/shared/claude-extension-hosts.js +33 -0
  38. package/dist/shared/claude-extension-hosts.js.map +1 -0
  39. package/dist/shared/claude-extension-setup.d.ts +30 -0
  40. package/dist/shared/claude-extension-setup.d.ts.map +1 -0
  41. package/dist/shared/claude-extension-setup.js +232 -0
  42. package/dist/shared/claude-extension-setup.js.map +1 -0
  43. package/dist/ui/assets/{accounts-PwWppkAw.js → accounts-CZEg1_PX.js} +1 -1
  44. package/dist/ui/assets/{alert-dialog-BKNsxsSg.js → alert-dialog-DhwS38kc.js} +1 -1
  45. package/dist/ui/assets/{api-C9f0vP-J.js → api-sWNND4wP.js} +1 -1
  46. package/dist/ui/assets/{auth-section-D0XQSyo0.js → auth-section-nJIpOcnm.js} +1 -1
  47. package/dist/ui/assets/{backups-section-Dxj8M3n7.js → backups-section-D3A6hmrU.js} +1 -1
  48. package/dist/ui/assets/{checkbox-mjr1O0jA.js → checkbox-CZrxD1iS.js} +1 -1
  49. package/dist/ui/assets/claude-extension-BjInaILv.js +1 -0
  50. package/dist/ui/assets/{cliproxy-BwRuqd53.js → cliproxy-BGiSCGkl.js} +2 -2
  51. package/dist/ui/assets/{cliproxy-control-panel-VThtggLh.js → cliproxy-control-panel-CKO2Sn9B.js} +1 -1
  52. package/dist/ui/assets/{confirm-dialog-i-Sfbmcm.js → confirm-dialog-DTKxwrat.js} +1 -1
  53. package/dist/ui/assets/copilot-CuRngdBg.js +3 -0
  54. package/dist/ui/assets/{cursor-CJP1tf06.js → cursor-Dxo0uIiU.js} +1 -1
  55. package/dist/ui/assets/{droid-R1Tbhk5J.js → droid-Cl8QsJJL.js} +1 -1
  56. package/dist/ui/assets/{globalenv-section-TvE1onaY.js → globalenv-section-C3dxxoD9.js} +1 -1
  57. package/dist/ui/assets/{health-Cyjkkaf-.js → health-BUifaDU7.js} +1 -1
  58. package/dist/ui/assets/icons-DrEfTmfX.js +1 -0
  59. package/dist/ui/assets/{index-BlXbW1dV.js → index-BOsbrhaa.js} +1 -1
  60. package/dist/ui/assets/index-Btf_ow2V.css +1 -0
  61. package/dist/ui/assets/{index-CcjPykyr.js → index-CPdceT1C.js} +1 -1
  62. package/dist/ui/assets/index-CYo-E5rU.js +1 -0
  63. package/dist/ui/assets/index-Cw9Urr0S.js +47 -0
  64. package/dist/ui/assets/{index-1DQih7xp.js → index-xayyyR26.js} +1 -1
  65. package/dist/ui/assets/{proxy-status-widget-O38AQ1k4.js → proxy-status-widget-D94htBPb.js} +1 -1
  66. package/dist/ui/assets/{separator-B66kRzAj.js → separator-3fBbTn-V.js} +1 -1
  67. package/dist/ui/assets/{shared-BG19Chhy.js → shared-q_FNNbjD.js} +1 -1
  68. package/dist/ui/assets/{switch-IqCO_Age.js → switch-5N8qBdBr.js} +1 -1
  69. package/dist/ui/assets/updates-CubQ54J0.js +1 -0
  70. package/dist/ui/index.html +3 -3
  71. package/dist/web-server/routes/claude-extension-routes.d.ts +3 -0
  72. package/dist/web-server/routes/claude-extension-routes.d.ts.map +1 -0
  73. package/dist/web-server/routes/claude-extension-routes.js +161 -0
  74. package/dist/web-server/routes/claude-extension-routes.js.map +1 -0
  75. package/dist/web-server/routes/copilot-routes.d.ts.map +1 -1
  76. package/dist/web-server/routes/copilot-routes.js +53 -45
  77. package/dist/web-server/routes/copilot-routes.js.map +1 -1
  78. package/dist/web-server/routes/copilot-settings-routes.d.ts.map +1 -1
  79. package/dist/web-server/routes/copilot-settings-routes.js +77 -36
  80. package/dist/web-server/routes/copilot-settings-routes.js.map +1 -1
  81. package/dist/web-server/routes/index.d.ts.map +1 -1
  82. package/dist/web-server/routes/index.js +2 -0
  83. package/dist/web-server/routes/index.js.map +1 -1
  84. package/dist/web-server/services/claude-extension-binding-service.d.ts +30 -0
  85. package/dist/web-server/services/claude-extension-binding-service.d.ts.map +1 -0
  86. package/dist/web-server/services/claude-extension-binding-service.js +240 -0
  87. package/dist/web-server/services/claude-extension-binding-service.js.map +1 -0
  88. package/dist/web-server/services/claude-extension-settings-service.d.ts +23 -0
  89. package/dist/web-server/services/claude-extension-settings-service.d.ts.map +1 -0
  90. package/dist/web-server/services/claude-extension-settings-service.js +493 -0
  91. package/dist/web-server/services/claude-extension-settings-service.js.map +1 -0
  92. package/package.json +1 -1
  93. package/scripts/completion/ccs.bash +11 -4
  94. package/dist/ui/assets/copilot-Bp6z4OCx.js +0 -3
  95. package/dist/ui/assets/icons-D2eEmpHv.js +0 -1
  96. package/dist/ui/assets/index-BusjPRWX.css +0 -1
  97. package/dist/ui/assets/index-DfbkdLOb.js +0 -1
  98. package/dist/ui/assets/index-WhofYWgJ.js +0 -47
  99. package/dist/ui/assets/updates-_5C-OO-6.js +0 -1
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.deleteClaudeExtensionBinding = exports.updateClaudeExtensionBinding = exports.createClaudeExtensionBinding = exports.updateClaudeExtensionManagedEnvManifest = exports.getClaudeExtensionManagedEnvManifest = exports.getClaudeExtensionBinding = exports.listClaudeExtensionBindings = void 0;
30
+ const crypto_1 = require("crypto");
31
+ const fs = __importStar(require("fs"));
32
+ const path = __importStar(require("path"));
33
+ const profile_detector_1 = __importDefault(require("../../auth/profile-detector"));
34
+ const helpers_1 = require("../../utils/helpers");
35
+ const config_manager_1 = require("../../utils/config-manager");
36
+ const VALID_HOSTS = new Set(['vscode', 'cursor', 'windsurf']);
37
+ function getBindingsFilePath() {
38
+ return path.join((0, config_manager_1.getCcsDir)(), 'claude-extension-bindings.json');
39
+ }
40
+ function isRecord(value) {
41
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
42
+ }
43
+ function normalizeEnvKeyList(value) {
44
+ if (!Array.isArray(value))
45
+ return [];
46
+ return [...new Set(value.filter((entry) => typeof entry === 'string'))]
47
+ .map((entry) => entry.trim())
48
+ .filter(Boolean)
49
+ .sort((left, right) => left.localeCompare(right));
50
+ }
51
+ function normalizeManagedEnvManifest(value) {
52
+ if (!isRecord(value)) {
53
+ return { shared: [], ide: [] };
54
+ }
55
+ return {
56
+ shared: normalizeEnvKeyList(value.shared),
57
+ ide: normalizeEnvKeyList(value.ide),
58
+ };
59
+ }
60
+ function toPublicBinding(binding) {
61
+ const { managedEnvManifest: _managedEnvManifest, ...publicBinding } = binding;
62
+ return publicBinding;
63
+ }
64
+ function normalizeBindingInput(input) {
65
+ const name = input.name?.trim();
66
+ const profile = input.profile?.trim();
67
+ const ideSettingsPath = input.ideSettingsPath?.trim();
68
+ const notes = input.notes?.trim();
69
+ if (!name)
70
+ throw new Error('Binding name is required');
71
+ if (!profile)
72
+ throw new Error('Profile is required');
73
+ if (!VALID_HOSTS.has(input.host))
74
+ throw new Error(`Unsupported IDE host "${input.host}"`);
75
+ try {
76
+ new profile_detector_1.default().detectProfileType(profile);
77
+ }
78
+ catch {
79
+ throw new Error(`Unknown profile "${profile}"`);
80
+ }
81
+ return {
82
+ name,
83
+ profile,
84
+ host: input.host,
85
+ ideSettingsPath: ideSettingsPath ? (0, helpers_1.expandPath)(ideSettingsPath) : undefined,
86
+ notes: notes || undefined,
87
+ };
88
+ }
89
+ function normalizeStoredBinding(value) {
90
+ if (!isRecord(value))
91
+ return null;
92
+ const id = typeof value.id === 'string' ? value.id.trim() : '';
93
+ const name = typeof value.name === 'string' ? value.name.trim() : '';
94
+ const profile = typeof value.profile === 'string' ? value.profile.trim() : '';
95
+ const host = typeof value.host === 'string' ? value.host.trim() : '';
96
+ const createdAt = typeof value.createdAt === 'string' ? value.createdAt : '';
97
+ const updatedAt = typeof value.updatedAt === 'string' ? value.updatedAt : '';
98
+ if (!id || !name || !profile || !VALID_HOSTS.has(host)) {
99
+ return null;
100
+ }
101
+ return {
102
+ id,
103
+ name,
104
+ profile,
105
+ host: host,
106
+ ideSettingsPath: typeof value.ideSettingsPath === 'string' && value.ideSettingsPath.trim().length > 0
107
+ ? value.ideSettingsPath.trim()
108
+ : undefined,
109
+ notes: typeof value.notes === 'string' && value.notes.trim().length > 0
110
+ ? value.notes.trim()
111
+ : undefined,
112
+ createdAt: createdAt || new Date().toISOString(),
113
+ updatedAt: updatedAt || new Date().toISOString(),
114
+ managedEnvManifest: normalizeManagedEnvManifest(value.managedEnvManifest),
115
+ };
116
+ }
117
+ function readBindingsStore() {
118
+ const filePath = getBindingsFilePath();
119
+ if (!fs.existsSync(filePath)) {
120
+ return { bindings: [] };
121
+ }
122
+ const raw = fs.readFileSync(filePath, 'utf8');
123
+ let parsed;
124
+ try {
125
+ parsed = JSON.parse(raw);
126
+ }
127
+ catch (error) {
128
+ throw new Error(`Failed to parse Claude extension bindings store at ${filePath}: ${error.message}`);
129
+ }
130
+ const bindings = Array.isArray(parsed)
131
+ ? parsed
132
+ : isRecord(parsed) && Array.isArray(parsed.bindings)
133
+ ? parsed.bindings
134
+ : [];
135
+ return {
136
+ bindings: bindings
137
+ .map((entry) => normalizeStoredBinding(entry))
138
+ .filter((entry) => entry !== null)
139
+ .sort((left, right) => right.updatedAt.localeCompare(left.updatedAt)),
140
+ };
141
+ }
142
+ function writeBindingsStore(store) {
143
+ const filePath = getBindingsFilePath();
144
+ fs.mkdirSync(path.dirname(filePath), { recursive: true });
145
+ const tempPath = `${filePath}.tmp.${process.pid}-${Date.now()}-${(0, crypto_1.randomUUID)()}`;
146
+ try {
147
+ fs.writeFileSync(tempPath, JSON.stringify(store, null, 2) + '\n', 'utf8');
148
+ fs.renameSync(tempPath, filePath);
149
+ }
150
+ catch (error) {
151
+ if (fs.existsSync(tempPath)) {
152
+ fs.rmSync(tempPath, { force: true });
153
+ }
154
+ throw error;
155
+ }
156
+ }
157
+ function listClaudeExtensionBindings() {
158
+ return readBindingsStore().bindings.map((binding) => toPublicBinding(binding));
159
+ }
160
+ exports.listClaudeExtensionBindings = listClaudeExtensionBindings;
161
+ function getClaudeExtensionBinding(id) {
162
+ const binding = readBindingsStore().bindings.find((entry) => entry.id === id);
163
+ if (!binding) {
164
+ throw new Error(`Binding not found: ${id}`);
165
+ }
166
+ return toPublicBinding(binding);
167
+ }
168
+ exports.getClaudeExtensionBinding = getClaudeExtensionBinding;
169
+ function getClaudeExtensionManagedEnvManifest(id) {
170
+ const binding = readBindingsStore().bindings.find((entry) => entry.id === id);
171
+ if (!binding) {
172
+ throw new Error(`Binding not found: ${id}`);
173
+ }
174
+ return binding.managedEnvManifest;
175
+ }
176
+ exports.getClaudeExtensionManagedEnvManifest = getClaudeExtensionManagedEnvManifest;
177
+ function updateClaudeExtensionManagedEnvManifest(id, updates) {
178
+ const store = readBindingsStore();
179
+ const index = store.bindings.findIndex((entry) => entry.id === id);
180
+ if (index === -1) {
181
+ throw new Error(`Binding not found: ${id}`);
182
+ }
183
+ const current = store.bindings[index];
184
+ store.bindings[index] = {
185
+ ...current,
186
+ managedEnvManifest: {
187
+ shared: updates.shared !== undefined
188
+ ? normalizeEnvKeyList(updates.shared)
189
+ : current.managedEnvManifest.shared,
190
+ ide: updates.ide !== undefined
191
+ ? normalizeEnvKeyList(updates.ide)
192
+ : current.managedEnvManifest.ide,
193
+ },
194
+ };
195
+ writeBindingsStore(store);
196
+ }
197
+ exports.updateClaudeExtensionManagedEnvManifest = updateClaudeExtensionManagedEnvManifest;
198
+ function createClaudeExtensionBinding(input) {
199
+ const normalized = normalizeBindingInput(input);
200
+ const store = readBindingsStore();
201
+ const timestamp = new Date().toISOString();
202
+ const binding = {
203
+ managedEnvManifest: { shared: [], ide: [] },
204
+ id: (0, crypto_1.randomUUID)(),
205
+ createdAt: timestamp,
206
+ updatedAt: timestamp,
207
+ ...normalized,
208
+ };
209
+ store.bindings.unshift(binding);
210
+ writeBindingsStore(store);
211
+ return toPublicBinding(binding);
212
+ }
213
+ exports.createClaudeExtensionBinding = createClaudeExtensionBinding;
214
+ function updateClaudeExtensionBinding(id, input) {
215
+ const normalized = normalizeBindingInput(input);
216
+ const store = readBindingsStore();
217
+ const index = store.bindings.findIndex((entry) => entry.id === id);
218
+ if (index === -1) {
219
+ throw new Error(`Binding not found: ${id}`);
220
+ }
221
+ const updated = {
222
+ ...store.bindings[index],
223
+ ...normalized,
224
+ updatedAt: new Date().toISOString(),
225
+ };
226
+ store.bindings[index] = updated;
227
+ writeBindingsStore(store);
228
+ return toPublicBinding(updated);
229
+ }
230
+ exports.updateClaudeExtensionBinding = updateClaudeExtensionBinding;
231
+ function deleteClaudeExtensionBinding(id) {
232
+ const store = readBindingsStore();
233
+ const nextBindings = store.bindings.filter((entry) => entry.id !== id);
234
+ if (nextBindings.length === store.bindings.length) {
235
+ throw new Error(`Binding not found: ${id}`);
236
+ }
237
+ writeBindingsStore({ bindings: nextBindings });
238
+ }
239
+ exports.deleteClaudeExtensionBinding = deleteClaudeExtensionBinding;
240
+ //# sourceMappingURL=claude-extension-binding-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-extension-binding-service.js","sourceRoot":"","sources":["../../../src/web-server/services/claude-extension-binding-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { type ClaudeExtensionHost } from '../../shared/claude-extension-hosts';
2
+ import { type ClaudeExtensionBinding } from './claude-extension-binding-service';
3
+ export type ClaudeExtensionActionTarget = 'shared' | 'ide' | 'all';
4
+ export type ClaudeExtensionFileState = 'applied' | 'drifted' | 'missing' | 'unconfigured';
5
+ export interface ClaudeExtensionTargetStatus {
6
+ target: 'shared' | 'ide';
7
+ path: string;
8
+ exists: boolean;
9
+ mtime: number | null;
10
+ state: ClaudeExtensionFileState;
11
+ message: string;
12
+ }
13
+ export interface ClaudeExtensionBindingStatus {
14
+ bindingId: string;
15
+ sharedSettings: ClaudeExtensionTargetStatus;
16
+ ideSettings: ClaudeExtensionTargetStatus;
17
+ }
18
+ export declare function getDefaultClaudeExtensionIdeSettingsPath(host: ClaudeExtensionHost): string;
19
+ export declare function resolveClaudeExtensionIdeSettingsPath(binding: ClaudeExtensionBinding): string;
20
+ export declare function verifyClaudeExtensionBinding(binding: ClaudeExtensionBinding): Promise<ClaudeExtensionBindingStatus>;
21
+ export declare function applyClaudeExtensionBinding(binding: ClaudeExtensionBinding, target?: ClaudeExtensionActionTarget): Promise<ClaudeExtensionBindingStatus>;
22
+ export declare function resetClaudeExtensionBinding(binding: ClaudeExtensionBinding, target?: ClaudeExtensionActionTarget): Promise<ClaudeExtensionBindingStatus>;
23
+ //# sourceMappingURL=claude-extension-settings-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-extension-settings-service.d.ts","sourceRoot":"","sources":["../../../src/web-server/services/claude-extension-settings-service.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,oCAAoC,CAAC;AAE5C,MAAM,MAAM,2BAA2B,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;AACnE,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,CAAC;AAE1F,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,QAAQ,GAAG,KAAK,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,wBAAwB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,2BAA2B,CAAC;IAC5C,WAAW,EAAE,2BAA2B,CAAC;CAC1C;AAwSD,wBAAgB,wCAAwC,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CA2C1F;AAED,wBAAgB,qCAAqC,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAI7F;AAED,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,4BAA4B,CAAC,CA+GvC;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,sBAAsB,EAC/B,MAAM,GAAE,2BAAmC,GAC1C,OAAO,CAAC,4BAA4B,CAAC,CA2DvC;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,sBAAsB,EAC/B,MAAM,GAAE,2BAAmC,GAC1C,OAAO,CAAC,4BAA4B,CAAC,CA4CvC"}