@kaitranntt/ccs 6.4.0 → 6.5.0-dev.1
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.
- package/VERSION +1 -1
- package/dist/auth/profile-detector.d.ts +5 -1
- package/dist/auth/profile-detector.d.ts.map +1 -1
- package/dist/auth/profile-detector.js +31 -0
- package/dist/auth/profile-detector.js.map +1 -1
- package/dist/ccs.d.ts +0 -8
- package/dist/ccs.d.ts.map +1 -1
- package/dist/ccs.js +90 -11
- package/dist/ccs.js.map +1 -1
- package/dist/commands/copilot-command.d.ts +10 -0
- package/dist/commands/copilot-command.d.ts.map +1 -0
- package/dist/commands/copilot-command.js +227 -0
- package/dist/commands/copilot-command.js.map +1 -0
- package/dist/commands/help-command.d.ts.map +1 -1
- package/dist/commands/help-command.js +16 -0
- package/dist/commands/help-command.js.map +1 -1
- package/dist/commands/update-command.d.ts +1 -1
- package/dist/commands/update-command.d.ts.map +1 -1
- package/dist/commands/update-command.js +24 -132
- package/dist/commands/update-command.js.map +1 -1
- package/dist/config/reserved-names.d.ts +1 -1
- package/dist/config/reserved-names.d.ts.map +1 -1
- package/dist/config/reserved-names.js +2 -0
- package/dist/config/reserved-names.js.map +1 -1
- package/dist/config/unified-config-loader.d.ts.map +1 -1
- package/dist/config/unified-config-loader.js +30 -0
- package/dist/config/unified-config-loader.js.map +1 -1
- package/dist/config/unified-config-types.d.ts +45 -2
- package/dist/config/unified-config-types.d.ts.map +1 -1
- package/dist/config/unified-config-types.js +18 -2
- package/dist/config/unified-config-types.js.map +1 -1
- package/dist/copilot/copilot-auth.d.ts +52 -0
- package/dist/copilot/copilot-auth.d.ts.map +1 -0
- package/dist/copilot/copilot-auth.js +201 -0
- package/dist/copilot/copilot-auth.js.map +1 -0
- package/dist/copilot/copilot-daemon.d.ts +36 -0
- package/dist/copilot/copilot-daemon.d.ts.map +1 -0
- package/dist/copilot/copilot-daemon.js +237 -0
- package/dist/copilot/copilot-daemon.js.map +1 -0
- package/dist/copilot/copilot-executor.d.ts +26 -0
- package/dist/copilot/copilot-executor.d.ts.map +1 -0
- package/dist/copilot/copilot-executor.js +144 -0
- package/dist/copilot/copilot-executor.js.map +1 -0
- package/dist/copilot/copilot-models.d.ts +34 -0
- package/dist/copilot/copilot-models.d.ts.map +1 -0
- package/dist/copilot/copilot-models.js +261 -0
- package/dist/copilot/copilot-models.js.map +1 -0
- package/dist/copilot/copilot-package-manager.d.ts +93 -0
- package/dist/copilot/copilot-package-manager.d.ts.map +1 -0
- package/dist/copilot/copilot-package-manager.js +488 -0
- package/dist/copilot/copilot-package-manager.js.map +1 -0
- package/dist/copilot/index.d.ts +13 -0
- package/dist/copilot/index.d.ts.map +1 -0
- package/dist/copilot/index.js +63 -0
- package/dist/copilot/index.js.map +1 -0
- package/dist/copilot/types.d.ts +65 -0
- package/dist/copilot/types.d.ts.map +1 -0
- package/dist/copilot/types.js +8 -0
- package/dist/copilot/types.js.map +1 -0
- package/dist/ui/assets/{accounts-aPbCYgXy.js → accounts-OHf-47mH.js} +1 -1
- package/dist/ui/assets/{analytics-ByHzJ4fO.js → analytics-C4uOxyuU.js} +1 -1
- package/dist/ui/assets/{api-DRVliui6.js → api-B_mbwU9C.js} +1 -1
- package/dist/ui/assets/{card-CkFFTnqL.js → card-CR0u1y_L.js} +1 -1
- package/dist/ui/assets/{cliproxy-control-panel-C9y82uCL.js → cliproxy-control-panel-DIIw97Bs.js} +1 -1
- package/dist/ui/assets/{cliproxy-CJ5njiYX.js → cliproxy-tXwMpEJd.js} +1 -1
- package/dist/ui/assets/{code-editor-D1jkWlaX.js → code-editor-CVohe7u9.js} +1 -1
- package/dist/ui/assets/copilot-C-eWI9Ce.js +4 -0
- package/dist/ui/assets/health-Dh8bSHe-.js +1 -0
- package/dist/ui/assets/icons-WTNLz24z.js +1 -0
- package/dist/ui/assets/index-BXPLu3zJ.js +44 -0
- package/dist/ui/assets/index-D2qNwUdc.css +1 -0
- package/dist/ui/assets/settings-Bi8Aw4yN.js +1 -0
- package/dist/ui/assets/shared-DQlPCpix.js +1 -0
- package/dist/ui/assets/switch-pOvJh4Ez.js +1 -0
- package/dist/ui/index.html +3 -3
- package/dist/utils/package-manager-detector.d.ts +1 -4
- package/dist/utils/package-manager-detector.d.ts.map +1 -1
- package/dist/utils/package-manager-detector.js +2 -61
- package/dist/utils/package-manager-detector.js.map +1 -1
- package/dist/utils/update-checker.d.ts +14 -2
- package/dist/utils/update-checker.d.ts.map +1 -1
- package/dist/utils/update-checker.js +39 -9
- package/dist/utils/update-checker.js.map +1 -1
- package/dist/web-server/routes.js +275 -0
- package/dist/web-server/routes.js.map +1 -1
- package/package.json +1 -1
- package/scripts/worker.js +18 -38
- package/dist/ui/assets/health-B4BNP_1z.js +0 -1
- package/dist/ui/assets/icons-B9AtZK5c.js +0 -1
- package/dist/ui/assets/index-B_6ILhjh.css +0 -1
- package/dist/ui/assets/index-EyLCmFok.js +0 -44
- package/dist/ui/assets/settings-DcAQTmWn.js +0 -1
- package/dist/ui/assets/shared-DJshj6er.js +0 -1
|
@@ -0,0 +1,488 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copilot Package Manager
|
|
4
|
+
*
|
|
5
|
+
* Self-managed npm package installation for copilot-api:
|
|
6
|
+
* - Installs copilot-api locally to ~/.ccs/copilot/
|
|
7
|
+
* - Auto-updates to latest version (like CLIProxy binary manager)
|
|
8
|
+
* - Version caching to avoid hitting npm registry on every run
|
|
9
|
+
* - Retry logic with exponential backoff
|
|
10
|
+
*
|
|
11
|
+
* Pattern: Mirrors CLIProxy BinaryManager but for npm packages
|
|
12
|
+
*/
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.getCopilotApiInfo = exports.uninstallCopilotApi = exports.installCopilotApiVersion = exports.ensureCopilotApi = exports.checkForUpdates = exports.clearPinnedVersion = exports.savePinnedVersion = exports.getPinnedVersion = exports.getInstalledVersion = exports.isCopilotApiInstalled = exports.getVersionPinPath = exports.getCopilotApiBinPath = exports.getCopilotDir = void 0;
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
const path = __importStar(require("path"));
|
|
40
|
+
const child_process_1 = require("child_process");
|
|
41
|
+
const progress_indicator_1 = require("../utils/progress-indicator");
|
|
42
|
+
const ui_1 = require("../utils/ui");
|
|
43
|
+
const config_manager_1 = require("../utils/config-manager");
|
|
44
|
+
/** Cache duration for version check (1 hour in milliseconds) */
|
|
45
|
+
const VERSION_CACHE_DURATION_MS = 60 * 60 * 1000;
|
|
46
|
+
/** Version pin file name */
|
|
47
|
+
const VERSION_PIN_FILE = '.version-pin';
|
|
48
|
+
/** Package name to install */
|
|
49
|
+
const COPILOT_API_PACKAGE = 'copilot-api';
|
|
50
|
+
/**
|
|
51
|
+
* Get copilot base directory
|
|
52
|
+
* All copilot-related files are stored under ~/.ccs/copilot/
|
|
53
|
+
*/
|
|
54
|
+
function getCopilotDir() {
|
|
55
|
+
return path.join((0, config_manager_1.getCcsDir)(), 'copilot');
|
|
56
|
+
}
|
|
57
|
+
exports.getCopilotDir = getCopilotDir;
|
|
58
|
+
/**
|
|
59
|
+
* Get path to copilot-api binary
|
|
60
|
+
*/
|
|
61
|
+
function getCopilotApiBinPath() {
|
|
62
|
+
const binName = process.platform === 'win32' ? 'copilot-api.cmd' : 'copilot-api';
|
|
63
|
+
return path.join(getCopilotDir(), 'node_modules', '.bin', binName);
|
|
64
|
+
}
|
|
65
|
+
exports.getCopilotApiBinPath = getCopilotApiBinPath;
|
|
66
|
+
/**
|
|
67
|
+
* Get path to package.json
|
|
68
|
+
*/
|
|
69
|
+
function getPackageJsonPath() {
|
|
70
|
+
return path.join(getCopilotDir(), 'package.json');
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Get path to version file
|
|
74
|
+
*/
|
|
75
|
+
function getVersionFilePath() {
|
|
76
|
+
return path.join(getCopilotDir(), '.version');
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Get path to version cache file
|
|
80
|
+
*/
|
|
81
|
+
function getVersionCachePath() {
|
|
82
|
+
return path.join(getCopilotDir(), '.version-cache.json');
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Get path to version pin file
|
|
86
|
+
*/
|
|
87
|
+
function getVersionPinPath() {
|
|
88
|
+
return path.join(getCopilotDir(), VERSION_PIN_FILE);
|
|
89
|
+
}
|
|
90
|
+
exports.getVersionPinPath = getVersionPinPath;
|
|
91
|
+
/**
|
|
92
|
+
* Check if copilot-api is installed locally
|
|
93
|
+
*/
|
|
94
|
+
function isCopilotApiInstalled() {
|
|
95
|
+
return fs.existsSync(getCopilotApiBinPath());
|
|
96
|
+
}
|
|
97
|
+
exports.isCopilotApiInstalled = isCopilotApiInstalled;
|
|
98
|
+
/**
|
|
99
|
+
* Get installed version from .version file
|
|
100
|
+
*/
|
|
101
|
+
function getInstalledVersion() {
|
|
102
|
+
const versionFile = getVersionFilePath();
|
|
103
|
+
if (fs.existsSync(versionFile)) {
|
|
104
|
+
try {
|
|
105
|
+
return fs.readFileSync(versionFile, 'utf8').trim();
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
exports.getInstalledVersion = getInstalledVersion;
|
|
114
|
+
/**
|
|
115
|
+
* Save installed version to file
|
|
116
|
+
*/
|
|
117
|
+
function saveInstalledVersion(version) {
|
|
118
|
+
const versionFile = getVersionFilePath();
|
|
119
|
+
try {
|
|
120
|
+
fs.writeFileSync(versionFile, version, 'utf8');
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
// Silent fail - not critical
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Get cached latest version if still valid
|
|
128
|
+
*/
|
|
129
|
+
function getCachedLatestVersion() {
|
|
130
|
+
const cachePath = getVersionCachePath();
|
|
131
|
+
if (!fs.existsSync(cachePath)) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
try {
|
|
135
|
+
const content = fs.readFileSync(cachePath, 'utf8');
|
|
136
|
+
const cache = JSON.parse(content);
|
|
137
|
+
// Check if cache is still valid
|
|
138
|
+
if (Date.now() - cache.checkedAt < VERSION_CACHE_DURATION_MS) {
|
|
139
|
+
return cache.latestVersion;
|
|
140
|
+
}
|
|
141
|
+
// Cache expired
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Cache latest version for future checks
|
|
150
|
+
*/
|
|
151
|
+
function cacheLatestVersion(version) {
|
|
152
|
+
const cachePath = getVersionCachePath();
|
|
153
|
+
const cache = {
|
|
154
|
+
latestVersion: version,
|
|
155
|
+
checkedAt: Date.now(),
|
|
156
|
+
};
|
|
157
|
+
try {
|
|
158
|
+
fs.mkdirSync(path.dirname(cachePath), { recursive: true });
|
|
159
|
+
fs.writeFileSync(cachePath, JSON.stringify(cache), 'utf8');
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
// Silent fail - caching is optional
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Fetch latest version from npm registry
|
|
167
|
+
*/
|
|
168
|
+
async function fetchLatestVersion() {
|
|
169
|
+
return new Promise((resolve, reject) => {
|
|
170
|
+
const result = (0, child_process_1.spawnSync)('npm', ['view', COPILOT_API_PACKAGE, 'version'], {
|
|
171
|
+
encoding: 'utf8',
|
|
172
|
+
timeout: 15000,
|
|
173
|
+
shell: process.platform === 'win32',
|
|
174
|
+
});
|
|
175
|
+
if (result.status === 0 && result.stdout) {
|
|
176
|
+
resolve(result.stdout.trim());
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
reject(new Error(result.stderr || 'Failed to fetch version from npm'));
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Compare semver versions (true if latest > current)
|
|
185
|
+
*/
|
|
186
|
+
function isNewerVersion(latest, current) {
|
|
187
|
+
const latestParts = latest.split('.').map((p) => parseInt(p, 10) || 0);
|
|
188
|
+
const currentParts = current.split('.').map((p) => parseInt(p, 10) || 0);
|
|
189
|
+
// Pad arrays to same length
|
|
190
|
+
while (latestParts.length < 3)
|
|
191
|
+
latestParts.push(0);
|
|
192
|
+
while (currentParts.length < 3)
|
|
193
|
+
currentParts.push(0);
|
|
194
|
+
for (let i = 0; i < 3; i++) {
|
|
195
|
+
if (latestParts[i] > currentParts[i])
|
|
196
|
+
return true;
|
|
197
|
+
if (latestParts[i] < currentParts[i])
|
|
198
|
+
return false;
|
|
199
|
+
}
|
|
200
|
+
return false; // Equal versions
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Get pinned version if one exists
|
|
204
|
+
*/
|
|
205
|
+
function getPinnedVersion() {
|
|
206
|
+
const pinPath = getVersionPinPath();
|
|
207
|
+
if (!fs.existsSync(pinPath)) {
|
|
208
|
+
return null;
|
|
209
|
+
}
|
|
210
|
+
try {
|
|
211
|
+
return fs.readFileSync(pinPath, 'utf8').trim();
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
return null;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
exports.getPinnedVersion = getPinnedVersion;
|
|
218
|
+
/**
|
|
219
|
+
* Save pinned version
|
|
220
|
+
*/
|
|
221
|
+
function savePinnedVersion(version) {
|
|
222
|
+
const pinPath = getVersionPinPath();
|
|
223
|
+
try {
|
|
224
|
+
fs.mkdirSync(path.dirname(pinPath), { recursive: true });
|
|
225
|
+
fs.writeFileSync(pinPath, version, 'utf8');
|
|
226
|
+
}
|
|
227
|
+
catch {
|
|
228
|
+
// Silent fail
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
exports.savePinnedVersion = savePinnedVersion;
|
|
232
|
+
/**
|
|
233
|
+
* Clear pinned version
|
|
234
|
+
*/
|
|
235
|
+
function clearPinnedVersion() {
|
|
236
|
+
const pinPath = getVersionPinPath();
|
|
237
|
+
if (fs.existsSync(pinPath)) {
|
|
238
|
+
try {
|
|
239
|
+
fs.unlinkSync(pinPath);
|
|
240
|
+
}
|
|
241
|
+
catch {
|
|
242
|
+
// Silent fail
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
exports.clearPinnedVersion = clearPinnedVersion;
|
|
247
|
+
/**
|
|
248
|
+
* Check for updates
|
|
249
|
+
*/
|
|
250
|
+
async function checkForUpdates() {
|
|
251
|
+
const currentVersion = getInstalledVersion() || '0.0.0';
|
|
252
|
+
// Try cache first
|
|
253
|
+
const cachedVersion = getCachedLatestVersion();
|
|
254
|
+
if (cachedVersion) {
|
|
255
|
+
return {
|
|
256
|
+
hasUpdate: isNewerVersion(cachedVersion, currentVersion),
|
|
257
|
+
currentVersion,
|
|
258
|
+
latestVersion: cachedVersion,
|
|
259
|
+
fromCache: true,
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
// Fetch from npm registry
|
|
263
|
+
try {
|
|
264
|
+
const latestVersion = await fetchLatestVersion();
|
|
265
|
+
cacheLatestVersion(latestVersion);
|
|
266
|
+
return {
|
|
267
|
+
hasUpdate: isNewerVersion(latestVersion, currentVersion),
|
|
268
|
+
currentVersion,
|
|
269
|
+
latestVersion,
|
|
270
|
+
fromCache: false,
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
catch {
|
|
274
|
+
// Return no update if fetch fails
|
|
275
|
+
return {
|
|
276
|
+
hasUpdate: false,
|
|
277
|
+
currentVersion,
|
|
278
|
+
latestVersion: currentVersion,
|
|
279
|
+
fromCache: false,
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
exports.checkForUpdates = checkForUpdates;
|
|
284
|
+
/**
|
|
285
|
+
* Run npm install in copilot directory
|
|
286
|
+
*/
|
|
287
|
+
async function runNpmInstall(version) {
|
|
288
|
+
const copilotDir = getCopilotDir();
|
|
289
|
+
// Ensure directory exists
|
|
290
|
+
fs.mkdirSync(copilotDir, { recursive: true });
|
|
291
|
+
// Create package.json with versioned or latest dependency
|
|
292
|
+
const packageJson = {
|
|
293
|
+
name: 'ccs-copilot-local',
|
|
294
|
+
private: true,
|
|
295
|
+
dependencies: {
|
|
296
|
+
[COPILOT_API_PACKAGE]: version || 'latest',
|
|
297
|
+
},
|
|
298
|
+
};
|
|
299
|
+
fs.writeFileSync(getPackageJsonPath(), JSON.stringify(packageJson, null, 2), 'utf8');
|
|
300
|
+
return new Promise((resolve) => {
|
|
301
|
+
const proc = (0, child_process_1.spawn)('npm', ['install', '--prefer-offline', '--no-audit', '--no-fund'], {
|
|
302
|
+
cwd: copilotDir,
|
|
303
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
304
|
+
shell: process.platform === 'win32',
|
|
305
|
+
});
|
|
306
|
+
let stderr = '';
|
|
307
|
+
proc.stderr?.on('data', (data) => {
|
|
308
|
+
stderr += data.toString();
|
|
309
|
+
});
|
|
310
|
+
proc.on('close', (code) => {
|
|
311
|
+
if (code === 0) {
|
|
312
|
+
// Get installed version from package-lock.json or package.json
|
|
313
|
+
try {
|
|
314
|
+
const lockPath = path.join(copilotDir, 'package-lock.json');
|
|
315
|
+
if (fs.existsSync(lockPath)) {
|
|
316
|
+
const lock = JSON.parse(fs.readFileSync(lockPath, 'utf8'));
|
|
317
|
+
const installedVersion = lock.packages?.['node_modules/copilot-api']?.version ||
|
|
318
|
+
lock.dependencies?.[COPILOT_API_PACKAGE]?.version;
|
|
319
|
+
if (installedVersion) {
|
|
320
|
+
saveInstalledVersion(installedVersion);
|
|
321
|
+
resolve({ success: true, version: installedVersion });
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
catch {
|
|
327
|
+
// Fallback
|
|
328
|
+
}
|
|
329
|
+
resolve({ success: true, version: version || 'latest' });
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
resolve({ success: false, error: stderr || `npm install failed with code ${code}` });
|
|
333
|
+
}
|
|
334
|
+
});
|
|
335
|
+
proc.on('error', (err) => {
|
|
336
|
+
resolve({ success: false, error: err.message });
|
|
337
|
+
});
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Ensure copilot-api is available (install if missing, update if outdated)
|
|
342
|
+
* @returns Path to copilot-api binary
|
|
343
|
+
*/
|
|
344
|
+
async function ensureCopilotApi(verbose = false) {
|
|
345
|
+
const binPath = getCopilotApiBinPath();
|
|
346
|
+
const pinnedVersion = getPinnedVersion();
|
|
347
|
+
// Check if already installed
|
|
348
|
+
if (isCopilotApiInstalled()) {
|
|
349
|
+
if (verbose) {
|
|
350
|
+
console.error(`[copilot] Binary exists: ${binPath}`);
|
|
351
|
+
}
|
|
352
|
+
// Skip auto-update if version is pinned
|
|
353
|
+
if (pinnedVersion) {
|
|
354
|
+
if (verbose) {
|
|
355
|
+
console.error(`[copilot] Pinned version mode: skipping auto-update`);
|
|
356
|
+
}
|
|
357
|
+
return binPath;
|
|
358
|
+
}
|
|
359
|
+
// Check for updates (non-blocking for UX)
|
|
360
|
+
try {
|
|
361
|
+
const updateResult = await checkForUpdates();
|
|
362
|
+
if (updateResult.hasUpdate) {
|
|
363
|
+
console.log((0, ui_1.info)(`copilot-api update available: v${updateResult.currentVersion} -> v${updateResult.latestVersion}`));
|
|
364
|
+
console.log((0, ui_1.info)('Updating copilot-api...'));
|
|
365
|
+
const spinner = new progress_indicator_1.ProgressIndicator('Updating copilot-api');
|
|
366
|
+
spinner.start();
|
|
367
|
+
const result = await runNpmInstall(updateResult.latestVersion);
|
|
368
|
+
if (result.success) {
|
|
369
|
+
spinner.succeed('copilot-api updated');
|
|
370
|
+
console.log((0, ui_1.ok)(`copilot-api v${result.version} installed successfully`));
|
|
371
|
+
}
|
|
372
|
+
else {
|
|
373
|
+
spinner.fail('Update failed (non-blocking)');
|
|
374
|
+
if (verbose) {
|
|
375
|
+
console.error(`[copilot] Update failed: ${result.error}`);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
catch (error) {
|
|
381
|
+
// Silent fail - don't block startup if update check fails
|
|
382
|
+
if (verbose) {
|
|
383
|
+
console.error(`[copilot] Update check failed: ${error.message}`);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
return binPath;
|
|
387
|
+
}
|
|
388
|
+
// Not installed - install now
|
|
389
|
+
console.log((0, ui_1.info)('copilot-api not found, installing...'));
|
|
390
|
+
const spinner = new progress_indicator_1.ProgressIndicator('Installing copilot-api');
|
|
391
|
+
spinner.start();
|
|
392
|
+
try {
|
|
393
|
+
// Get target version
|
|
394
|
+
let targetVersion;
|
|
395
|
+
if (pinnedVersion) {
|
|
396
|
+
targetVersion = pinnedVersion;
|
|
397
|
+
if (verbose) {
|
|
398
|
+
console.error(`[copilot] Using pinned version: ${pinnedVersion}`);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
// Fetch latest version
|
|
403
|
+
try {
|
|
404
|
+
targetVersion = await fetchLatestVersion();
|
|
405
|
+
cacheLatestVersion(targetVersion);
|
|
406
|
+
}
|
|
407
|
+
catch {
|
|
408
|
+
// Use 'latest' if fetch fails
|
|
409
|
+
targetVersion = undefined;
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
const result = await runNpmInstall(targetVersion);
|
|
413
|
+
if (result.success) {
|
|
414
|
+
spinner.succeed('copilot-api installed');
|
|
415
|
+
console.log((0, ui_1.ok)(`copilot-api v${result.version} installed successfully`));
|
|
416
|
+
return binPath;
|
|
417
|
+
}
|
|
418
|
+
else {
|
|
419
|
+
spinner.fail('Installation failed');
|
|
420
|
+
throw new Error(result.error || 'npm install failed');
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
catch (error) {
|
|
424
|
+
spinner.fail('Installation failed');
|
|
425
|
+
throw error;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
exports.ensureCopilotApi = ensureCopilotApi;
|
|
429
|
+
/**
|
|
430
|
+
* Install a specific version of copilot-api
|
|
431
|
+
*/
|
|
432
|
+
async function installCopilotApiVersion(version, _verbose = false) {
|
|
433
|
+
const spinner = new progress_indicator_1.ProgressIndicator(`Installing copilot-api v${version}`);
|
|
434
|
+
spinner.start();
|
|
435
|
+
try {
|
|
436
|
+
const result = await runNpmInstall(version);
|
|
437
|
+
if (result.success) {
|
|
438
|
+
spinner.succeed('copilot-api installed');
|
|
439
|
+
console.log((0, ui_1.ok)(`copilot-api v${result.version} installed successfully`));
|
|
440
|
+
}
|
|
441
|
+
else {
|
|
442
|
+
spinner.fail('Installation failed');
|
|
443
|
+
throw new Error(result.error || 'npm install failed');
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
catch (error) {
|
|
447
|
+
spinner.fail('Installation failed');
|
|
448
|
+
throw error;
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
exports.installCopilotApiVersion = installCopilotApiVersion;
|
|
452
|
+
/**
|
|
453
|
+
* Uninstall copilot-api (remove ~/.ccs/copilot directory)
|
|
454
|
+
*/
|
|
455
|
+
function uninstallCopilotApi() {
|
|
456
|
+
const copilotDir = getCopilotDir();
|
|
457
|
+
if (fs.existsSync(copilotDir)) {
|
|
458
|
+
fs.rmSync(copilotDir, { recursive: true, force: true });
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
exports.uninstallCopilotApi = uninstallCopilotApi;
|
|
462
|
+
/**
|
|
463
|
+
* Get copilot-api info
|
|
464
|
+
*/
|
|
465
|
+
function getCopilotApiInfo() {
|
|
466
|
+
return {
|
|
467
|
+
installed: isCopilotApiInstalled(),
|
|
468
|
+
version: getInstalledVersion(),
|
|
469
|
+
path: getCopilotApiBinPath(),
|
|
470
|
+
pinnedVersion: getPinnedVersion(),
|
|
471
|
+
};
|
|
472
|
+
}
|
|
473
|
+
exports.getCopilotApiInfo = getCopilotApiInfo;
|
|
474
|
+
exports.default = {
|
|
475
|
+
getCopilotDir,
|
|
476
|
+
getCopilotApiBinPath,
|
|
477
|
+
isCopilotApiInstalled,
|
|
478
|
+
getInstalledVersion,
|
|
479
|
+
getPinnedVersion,
|
|
480
|
+
savePinnedVersion,
|
|
481
|
+
clearPinnedVersion,
|
|
482
|
+
checkForUpdates,
|
|
483
|
+
ensureCopilotApi,
|
|
484
|
+
installCopilotApiVersion,
|
|
485
|
+
uninstallCopilotApi,
|
|
486
|
+
getCopilotApiInfo,
|
|
487
|
+
};
|
|
488
|
+
//# sourceMappingURL=copilot-package-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copilot-package-manager.js","sourceRoot":"","sources":["../../src/copilot/copilot-package-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copilot Module Index
|
|
3
|
+
*
|
|
4
|
+
* Central exports for GitHub Copilot integration via copilot-api.
|
|
5
|
+
*/
|
|
6
|
+
export * from './types';
|
|
7
|
+
export { getCopilotDir, getCopilotApiBinPath, isCopilotApiInstalled, getInstalledVersion, getPinnedVersion, savePinnedVersion, clearPinnedVersion, checkForUpdates, ensureCopilotApi, installCopilotApiVersion, uninstallCopilotApi, getCopilotApiInfo, } from './copilot-package-manager';
|
|
8
|
+
export { checkAuthStatus, startAuthFlow, getCopilotDebugInfo, hasTokenFile, getTokenPath, } from './copilot-auth';
|
|
9
|
+
export type { AuthFlowResult } from './copilot-auth';
|
|
10
|
+
export { isDaemonRunning, getDaemonStatus, startDaemon, stopDaemon } from './copilot-daemon';
|
|
11
|
+
export { DEFAULT_COPILOT_MODELS, fetchModelsFromDaemon, getAvailableModels, getDefaultModel, } from './copilot-models';
|
|
12
|
+
export { getCopilotStatus, generateCopilotEnv, executeCopilotProfile } from './copilot-executor';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/copilot/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,SAAS,CAAC;AAGxB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG7F,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copilot Module Index
|
|
4
|
+
*
|
|
5
|
+
* Central exports for GitHub Copilot integration via copilot-api.
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.executeCopilotProfile = exports.generateCopilotEnv = exports.getCopilotStatus = exports.getDefaultModel = exports.getAvailableModels = exports.fetchModelsFromDaemon = exports.DEFAULT_COPILOT_MODELS = exports.stopDaemon = exports.startDaemon = exports.getDaemonStatus = exports.isDaemonRunning = exports.getTokenPath = exports.hasTokenFile = exports.getCopilotDebugInfo = exports.startAuthFlow = exports.checkAuthStatus = exports.getCopilotApiInfo = exports.uninstallCopilotApi = exports.installCopilotApiVersion = exports.ensureCopilotApi = exports.checkForUpdates = exports.clearPinnedVersion = exports.savePinnedVersion = exports.getPinnedVersion = exports.getInstalledVersion = exports.isCopilotApiInstalled = exports.getCopilotApiBinPath = exports.getCopilotDir = void 0;
|
|
23
|
+
// Types
|
|
24
|
+
__exportStar(require("./types"), exports);
|
|
25
|
+
// Package Manager (self-managed installation)
|
|
26
|
+
var copilot_package_manager_1 = require("./copilot-package-manager");
|
|
27
|
+
Object.defineProperty(exports, "getCopilotDir", { enumerable: true, get: function () { return copilot_package_manager_1.getCopilotDir; } });
|
|
28
|
+
Object.defineProperty(exports, "getCopilotApiBinPath", { enumerable: true, get: function () { return copilot_package_manager_1.getCopilotApiBinPath; } });
|
|
29
|
+
Object.defineProperty(exports, "isCopilotApiInstalled", { enumerable: true, get: function () { return copilot_package_manager_1.isCopilotApiInstalled; } });
|
|
30
|
+
Object.defineProperty(exports, "getInstalledVersion", { enumerable: true, get: function () { return copilot_package_manager_1.getInstalledVersion; } });
|
|
31
|
+
Object.defineProperty(exports, "getPinnedVersion", { enumerable: true, get: function () { return copilot_package_manager_1.getPinnedVersion; } });
|
|
32
|
+
Object.defineProperty(exports, "savePinnedVersion", { enumerable: true, get: function () { return copilot_package_manager_1.savePinnedVersion; } });
|
|
33
|
+
Object.defineProperty(exports, "clearPinnedVersion", { enumerable: true, get: function () { return copilot_package_manager_1.clearPinnedVersion; } });
|
|
34
|
+
Object.defineProperty(exports, "checkForUpdates", { enumerable: true, get: function () { return copilot_package_manager_1.checkForUpdates; } });
|
|
35
|
+
Object.defineProperty(exports, "ensureCopilotApi", { enumerable: true, get: function () { return copilot_package_manager_1.ensureCopilotApi; } });
|
|
36
|
+
Object.defineProperty(exports, "installCopilotApiVersion", { enumerable: true, get: function () { return copilot_package_manager_1.installCopilotApiVersion; } });
|
|
37
|
+
Object.defineProperty(exports, "uninstallCopilotApi", { enumerable: true, get: function () { return copilot_package_manager_1.uninstallCopilotApi; } });
|
|
38
|
+
Object.defineProperty(exports, "getCopilotApiInfo", { enumerable: true, get: function () { return copilot_package_manager_1.getCopilotApiInfo; } });
|
|
39
|
+
// Auth
|
|
40
|
+
var copilot_auth_1 = require("./copilot-auth");
|
|
41
|
+
Object.defineProperty(exports, "checkAuthStatus", { enumerable: true, get: function () { return copilot_auth_1.checkAuthStatus; } });
|
|
42
|
+
Object.defineProperty(exports, "startAuthFlow", { enumerable: true, get: function () { return copilot_auth_1.startAuthFlow; } });
|
|
43
|
+
Object.defineProperty(exports, "getCopilotDebugInfo", { enumerable: true, get: function () { return copilot_auth_1.getCopilotDebugInfo; } });
|
|
44
|
+
Object.defineProperty(exports, "hasTokenFile", { enumerable: true, get: function () { return copilot_auth_1.hasTokenFile; } });
|
|
45
|
+
Object.defineProperty(exports, "getTokenPath", { enumerable: true, get: function () { return copilot_auth_1.getTokenPath; } });
|
|
46
|
+
// Daemon
|
|
47
|
+
var copilot_daemon_1 = require("./copilot-daemon");
|
|
48
|
+
Object.defineProperty(exports, "isDaemonRunning", { enumerable: true, get: function () { return copilot_daemon_1.isDaemonRunning; } });
|
|
49
|
+
Object.defineProperty(exports, "getDaemonStatus", { enumerable: true, get: function () { return copilot_daemon_1.getDaemonStatus; } });
|
|
50
|
+
Object.defineProperty(exports, "startDaemon", { enumerable: true, get: function () { return copilot_daemon_1.startDaemon; } });
|
|
51
|
+
Object.defineProperty(exports, "stopDaemon", { enumerable: true, get: function () { return copilot_daemon_1.stopDaemon; } });
|
|
52
|
+
// Models
|
|
53
|
+
var copilot_models_1 = require("./copilot-models");
|
|
54
|
+
Object.defineProperty(exports, "DEFAULT_COPILOT_MODELS", { enumerable: true, get: function () { return copilot_models_1.DEFAULT_COPILOT_MODELS; } });
|
|
55
|
+
Object.defineProperty(exports, "fetchModelsFromDaemon", { enumerable: true, get: function () { return copilot_models_1.fetchModelsFromDaemon; } });
|
|
56
|
+
Object.defineProperty(exports, "getAvailableModels", { enumerable: true, get: function () { return copilot_models_1.getAvailableModels; } });
|
|
57
|
+
Object.defineProperty(exports, "getDefaultModel", { enumerable: true, get: function () { return copilot_models_1.getDefaultModel; } });
|
|
58
|
+
// Executor
|
|
59
|
+
var copilot_executor_1 = require("./copilot-executor");
|
|
60
|
+
Object.defineProperty(exports, "getCopilotStatus", { enumerable: true, get: function () { return copilot_executor_1.getCopilotStatus; } });
|
|
61
|
+
Object.defineProperty(exports, "generateCopilotEnv", { enumerable: true, get: function () { return copilot_executor_1.generateCopilotEnv; } });
|
|
62
|
+
Object.defineProperty(exports, "executeCopilotProfile", { enumerable: true, get: function () { return copilot_executor_1.executeCopilotProfile; } });
|
|
63
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/copilot/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;AAEH,QAAQ;AACR,0CAAwB;AAExB,8CAA8C;AAC9C,qEAamC;AAZjC,wHAAA,aAAa,OAAA;AACb,+HAAA,oBAAoB,OAAA;AACpB,gIAAA,qBAAqB,OAAA;AACrB,8HAAA,mBAAmB,OAAA;AACnB,2HAAA,gBAAgB,OAAA;AAChB,4HAAA,iBAAiB,OAAA;AACjB,6HAAA,kBAAkB,OAAA;AAClB,0HAAA,eAAe,OAAA;AACf,2HAAA,gBAAgB,OAAA;AAChB,mIAAA,wBAAwB,OAAA;AACxB,8HAAA,mBAAmB,OAAA;AACnB,4HAAA,iBAAiB,OAAA;AAGnB,OAAO;AACP,+CAMwB;AALtB,+GAAA,eAAe,OAAA;AACf,6GAAA,aAAa,OAAA;AACb,mHAAA,mBAAmB,OAAA;AACnB,4GAAA,YAAY,OAAA;AACZ,4GAAA,YAAY,OAAA;AAId,SAAS;AACT,mDAA6F;AAApF,iHAAA,eAAe,OAAA;AAAE,iHAAA,eAAe,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,4GAAA,UAAU,OAAA;AAElE,SAAS;AACT,mDAK0B;AAJxB,wHAAA,sBAAsB,OAAA;AACtB,uHAAA,qBAAqB,OAAA;AACrB,oHAAA,kBAAkB,OAAA;AAClB,iHAAA,eAAe,OAAA;AAGjB,WAAW;AACX,uDAAiG;AAAxF,oHAAA,gBAAgB,OAAA;AAAE,sHAAA,kBAAkB,OAAA;AAAE,yHAAA,qBAAqB,OAAA"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copilot API Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for GitHub Copilot proxy integration.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Copilot authentication status.
|
|
8
|
+
*/
|
|
9
|
+
export interface CopilotAuthStatus {
|
|
10
|
+
authenticated: boolean;
|
|
11
|
+
/** GitHub username if authenticated */
|
|
12
|
+
username?: string;
|
|
13
|
+
/** Error message if auth check failed */
|
|
14
|
+
error?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Copilot daemon status.
|
|
18
|
+
*/
|
|
19
|
+
export interface CopilotDaemonStatus {
|
|
20
|
+
running: boolean;
|
|
21
|
+
port: number;
|
|
22
|
+
/** Process ID if running */
|
|
23
|
+
pid?: number;
|
|
24
|
+
/** Version if available */
|
|
25
|
+
version?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Combined copilot status.
|
|
29
|
+
*/
|
|
30
|
+
export interface CopilotStatus {
|
|
31
|
+
auth: CopilotAuthStatus;
|
|
32
|
+
daemon: CopilotDaemonStatus;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Copilot plan tier for model availability.
|
|
36
|
+
* Based on GitHub Copilot plans.
|
|
37
|
+
*/
|
|
38
|
+
export type CopilotPlanTier = 'free' | 'pro' | 'pro+' | 'business' | 'enterprise';
|
|
39
|
+
/**
|
|
40
|
+
* Copilot model information.
|
|
41
|
+
*/
|
|
42
|
+
export interface CopilotModel {
|
|
43
|
+
id: string;
|
|
44
|
+
name: string;
|
|
45
|
+
/** Provider: openai or anthropic */
|
|
46
|
+
provider: 'openai' | 'anthropic';
|
|
47
|
+
/** Whether this is the default model */
|
|
48
|
+
isDefault?: boolean;
|
|
49
|
+
/** Minimum plan tier required (free = available to all) */
|
|
50
|
+
minPlan?: CopilotPlanTier;
|
|
51
|
+
/** Premium request multiplier (0 = free, higher = more expensive) */
|
|
52
|
+
multiplier?: number;
|
|
53
|
+
/** Whether this model is in preview */
|
|
54
|
+
preview?: boolean;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Copilot debug info from `copilot-api debug --json`.
|
|
58
|
+
*/
|
|
59
|
+
export interface CopilotDebugInfo {
|
|
60
|
+
version?: string;
|
|
61
|
+
runtime?: string;
|
|
62
|
+
authenticated?: boolean;
|
|
63
|
+
tokenPath?: string;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/copilot/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,OAAO,CAAC;IACvB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAAC;IACjC,wCAAwC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|