@kaitranntt/ccs 7.5.1-dev.1 → 7.5.1-dev.3
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/dist/ccs.js +16 -0
- package/dist/ccs.js.map +1 -1
- package/dist/cliproxy/auth/oauth-process.d.ts.map +1 -1
- package/dist/cliproxy/auth/oauth-process.js +84 -12
- package/dist/cliproxy/auth/oauth-process.js.map +1 -1
- package/dist/cliproxy/device-code-handler.d.ts +28 -0
- package/dist/cliproxy/device-code-handler.d.ts.map +1 -0
- package/dist/cliproxy/device-code-handler.js +22 -0
- package/dist/cliproxy/device-code-handler.js.map +1 -0
- package/dist/commands/help-command.d.ts.map +1 -1
- package/dist/commands/help-command.js +1 -0
- package/dist/commands/help-command.js.map +1 -1
- package/dist/commands/setup-command.d.ts +23 -0
- package/dist/commands/setup-command.d.ts.map +1 -0
- package/dist/commands/setup-command.js +382 -0
- package/dist/commands/setup-command.js.map +1 -0
- package/dist/management/recovery-manager.d.ts +3 -2
- package/dist/management/recovery-manager.d.ts.map +1 -1
- package/dist/management/recovery-manager.js +43 -25
- package/dist/management/recovery-manager.js.map +1 -1
- package/dist/ui/assets/{accounts-CtHoujzN.js → accounts-aD3ar9cM.js} +1 -1
- package/dist/ui/assets/{api-BgRcDdEY.js → api-Dc9JX5dn.js} +1 -1
- package/dist/ui/assets/{card-B-B2DgVt.js → card-CfbpiPgZ.js} +1 -1
- package/dist/ui/assets/{cliproxy-control-panel-BQdbegqA.js → cliproxy-control-panel-DqwBL_cO.js} +1 -1
- package/dist/ui/assets/{cliproxy-DSIqB4Kc.js → cliproxy-j1dekKPD.js} +1 -1
- package/dist/ui/assets/{confirm-dialog-cDuBPIIs.js → confirm-dialog-CbU1b1dF.js} +1 -1
- package/dist/ui/assets/{copilot-6gXCaKKj.js → copilot-CV5W8I2b.js} +3 -3
- package/dist/ui/assets/{globalenv-section-CRSV4042.js → globalenv-section-BD-Z41zV.js} +1 -1
- package/dist/ui/assets/{health-xBbBsgEt.js → health-DLMVq9vP.js} +1 -1
- package/dist/ui/assets/icons-B9mnOvwW.js +1 -0
- package/dist/ui/assets/{index-_cwEsFjm.js → index-BYJzZId9.js} +1 -1
- package/dist/ui/assets/index-CMv3XJ3a.css +1 -0
- package/dist/ui/assets/{index-BlJMdTol.js → index-CRwxNrlp.js} +1 -1
- package/dist/ui/assets/{index-CzA8ALA7.js → index-DTR-v1v5.js} +1 -1
- package/dist/ui/assets/index-PsnnKb2L.js +47 -0
- package/dist/ui/assets/{shared-DjYeuzbT.js → shared-BSfovmYC.js} +1 -1
- package/dist/ui/assets/{switch-DrBe8HmQ.js → switch-I-rTblpG.js} +1 -1
- package/dist/ui/index.html +3 -3
- package/dist/web-server/websocket.d.ts.map +1 -1
- package/dist/web-server/websocket.js +44 -0
- package/dist/web-server/websocket.js.map +1 -1
- package/package.json +1 -1
- package/scripts/postinstall.js +109 -67
- package/dist/ui/assets/icons-ChQ4a4K4.js +0 -1
- package/dist/ui/assets/index-DAT_KnOX.css +0 -1
- package/dist/ui/assets/index-DtFSv99a.js +0 -47
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as s}from"./radix-ui-CrW4rUOS.js";import{r as d}from"./react-vendor-B_CU-WTZ.js";import{C as l,a as m}from"./card-
|
|
1
|
+
import{j as s}from"./radix-ui-CrW4rUOS.js";import{r as d}from"./react-vendor-B_CU-WTZ.js";import{C as l,a as m}from"./card-CfbpiPgZ.js";import{an as c,ao as x,ap as u,aq as h,ar as p,a as g}from"./index-PsnnKb2L.js";import{s as j,O as f,at as N,w as b}from"./icons-B9mnOvwW.js";import"./tanstack-Dbfprw6o.js";import"./notifications-dJQY2-U6.js";import"./utils-CzKF5WmX.js";import"./form-utils-kUVlZZAO.js";import"./code-highlight-DKN39ySy.js";function B(){const[t,r]=d.useState("commands"),{data:e}=c(),{data:n,isLoading:i}=x(t),o=[{id:"commands",label:"Commands",icon:j,count:e?.commands??0},{id:"skills",label:"Skills",icon:f,count:e?.skills??0},{id:"agents",label:"Agents",icon:N,count:e?.agents??0}];return s.jsxs("div",{className:"p-6 max-w-6xl mx-auto space-y-8",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-2xl font-bold",children:"Shared Data"}),s.jsx("p",{className:"text-muted-foreground",children:"Commands, skills, and agents shared across Claude instances"})]}),e&&!e.symlinkStatus.valid&&s.jsxs(u,{variant:"warning",children:[s.jsx(b,{className:"h-4 w-4"}),s.jsx(h,{children:"Configuration Required"}),s.jsxs(p,{children:[e.symlinkStatus.message,". Run `ccs sync` to configure."]})]}),s.jsx("div",{className:"flex gap-2 border-b pb-2",children:o.map(a=>s.jsxs(g,{variant:t===a.id?"default":"ghost",size:"sm",onClick:()=>r(a.id),className:"flex items-center gap-2",children:[s.jsx(a.icon,{className:"w-4 h-4"}),a.label," (",a.count,")"]},a.id))}),s.jsx("div",{className:"mt-4",children:i?s.jsx("div",{className:"text-muted-foreground",children:"Loading..."}):n?.items.length===0?s.jsxs("div",{className:"text-muted-foreground",children:["No ",t," found"]}):s.jsx("div",{className:"grid gap-3",children:n?.items.map(a=>s.jsx(l,{children:s.jsxs(m,{children:[s.jsx("div",{className:"font-medium",children:a.name}),s.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:a.description}),s.jsx("p",{className:"text-xs text-muted-foreground mt-2 font-mono truncate",children:a.path})]})},a.name))})})]})}export{B as SharedPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as a,a8 as s,a9 as n}from"./radix-ui-CrW4rUOS.js";import"./react-vendor-B_CU-WTZ.js";import{c as e}from"./index-
|
|
1
|
+
import{j as a,a8 as s,a9 as n}from"./radix-ui-CrW4rUOS.js";import"./react-vendor-B_CU-WTZ.js";import{c as e}from"./index-PsnnKb2L.js";function c({className:t,...r}){return a.jsx(s,{"data-slot":"switch",className:e("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...r,children:a.jsx(n,{"data-slot":"switch-thumb",className:e("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}export{c as S};
|
package/dist/ui/index.html
CHANGED
|
@@ -24,16 +24,16 @@
|
|
|
24
24
|
href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap"
|
|
25
25
|
rel="stylesheet"
|
|
26
26
|
/>
|
|
27
|
-
<script type="module" crossorigin src="/assets/index-
|
|
27
|
+
<script type="module" crossorigin src="/assets/index-PsnnKb2L.js"></script>
|
|
28
28
|
<link rel="modulepreload" crossorigin href="/assets/react-vendor-B_CU-WTZ.js">
|
|
29
29
|
<link rel="modulepreload" crossorigin href="/assets/radix-ui-CrW4rUOS.js">
|
|
30
30
|
<link rel="modulepreload" crossorigin href="/assets/tanstack-Dbfprw6o.js">
|
|
31
31
|
<link rel="modulepreload" crossorigin href="/assets/notifications-dJQY2-U6.js">
|
|
32
32
|
<link rel="modulepreload" crossorigin href="/assets/utils-CzKF5WmX.js">
|
|
33
|
-
<link rel="modulepreload" crossorigin href="/assets/icons-
|
|
33
|
+
<link rel="modulepreload" crossorigin href="/assets/icons-B9mnOvwW.js">
|
|
34
34
|
<link rel="modulepreload" crossorigin href="/assets/form-utils-kUVlZZAO.js">
|
|
35
35
|
<link rel="modulepreload" crossorigin href="/assets/code-highlight-DKN39ySy.js">
|
|
36
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
36
|
+
<link rel="stylesheet" crossorigin href="/assets/index-CMv3XJ3a.css">
|
|
37
37
|
</head>
|
|
38
38
|
<body>
|
|
39
39
|
<div id="root"></div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/web-server/websocket.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAa,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/web-server/websocket.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAa,MAAM,IAAI,CAAC;AAShD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAyK5E"}
|
|
@@ -11,6 +11,7 @@ const ws_1 = require("ws");
|
|
|
11
11
|
const file_watcher_1 = require("./file-watcher");
|
|
12
12
|
const ui_1 = require("../utils/ui");
|
|
13
13
|
const project_selection_handler_1 = require("../cliproxy/project-selection-handler");
|
|
14
|
+
const device_code_handler_1 = require("../cliproxy/device-code-handler");
|
|
14
15
|
function setupWebSocket(wss) {
|
|
15
16
|
// Track connected clients
|
|
16
17
|
const clients = new Set();
|
|
@@ -96,10 +97,48 @@ function setupWebSocket(wss) {
|
|
|
96
97
|
timestamp: Date.now(),
|
|
97
98
|
});
|
|
98
99
|
};
|
|
100
|
+
// Listen for device code events and broadcast to clients
|
|
101
|
+
const handleDeviceCodeReceived = (prompt) => {
|
|
102
|
+
console.log((0, ui_1.info)(`[WS] Broadcasting device code (session: ${prompt.sessionId})`));
|
|
103
|
+
broadcast({
|
|
104
|
+
type: 'deviceCodeReceived',
|
|
105
|
+
...prompt,
|
|
106
|
+
timestamp: Date.now(),
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
const handleDeviceCodeCompleted = (sessionId) => {
|
|
110
|
+
console.log((0, ui_1.info)(`[WS] Device code auth completed (session: ${sessionId})`));
|
|
111
|
+
broadcast({
|
|
112
|
+
type: 'deviceCodeCompleted',
|
|
113
|
+
sessionId,
|
|
114
|
+
timestamp: Date.now(),
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
const handleDeviceCodeFailed = (data) => {
|
|
118
|
+
console.log((0, ui_1.info)(`[WS] Device code auth failed (session: ${data.sessionId})`));
|
|
119
|
+
broadcast({
|
|
120
|
+
type: 'deviceCodeFailed',
|
|
121
|
+
...data,
|
|
122
|
+
timestamp: Date.now(),
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
const handleDeviceCodeExpired = (sessionId) => {
|
|
126
|
+
console.log((0, ui_1.info)(`[WS] Device code expired (session: ${sessionId})`));
|
|
127
|
+
broadcast({
|
|
128
|
+
type: 'deviceCodeExpired',
|
|
129
|
+
sessionId,
|
|
130
|
+
timestamp: Date.now(),
|
|
131
|
+
});
|
|
132
|
+
};
|
|
99
133
|
// Subscribe to project selection events
|
|
100
134
|
project_selection_handler_1.projectSelectionEvents.on('selection:required', handleProjectSelectionRequired);
|
|
101
135
|
project_selection_handler_1.projectSelectionEvents.on('selection:timeout', handleProjectSelectionTimeout);
|
|
102
136
|
project_selection_handler_1.projectSelectionEvents.on('selection:submitted', handleProjectSelectionSubmitted);
|
|
137
|
+
// Subscribe to device code events
|
|
138
|
+
device_code_handler_1.deviceCodeEvents.on('deviceCode:received', handleDeviceCodeReceived);
|
|
139
|
+
device_code_handler_1.deviceCodeEvents.on('deviceCode:completed', handleDeviceCodeCompleted);
|
|
140
|
+
device_code_handler_1.deviceCodeEvents.on('deviceCode:failed', handleDeviceCodeFailed);
|
|
141
|
+
device_code_handler_1.deviceCodeEvents.on('deviceCode:expired', handleDeviceCodeExpired);
|
|
103
142
|
// Cleanup function
|
|
104
143
|
const cleanup = () => {
|
|
105
144
|
watcher.close();
|
|
@@ -107,6 +146,11 @@ function setupWebSocket(wss) {
|
|
|
107
146
|
project_selection_handler_1.projectSelectionEvents.off('selection:required', handleProjectSelectionRequired);
|
|
108
147
|
project_selection_handler_1.projectSelectionEvents.off('selection:timeout', handleProjectSelectionTimeout);
|
|
109
148
|
project_selection_handler_1.projectSelectionEvents.off('selection:submitted', handleProjectSelectionSubmitted);
|
|
149
|
+
// Unsubscribe from device code events
|
|
150
|
+
device_code_handler_1.deviceCodeEvents.off('deviceCode:received', handleDeviceCodeReceived);
|
|
151
|
+
device_code_handler_1.deviceCodeEvents.off('deviceCode:completed', handleDeviceCodeCompleted);
|
|
152
|
+
device_code_handler_1.deviceCodeEvents.off('deviceCode:failed', handleDeviceCodeFailed);
|
|
153
|
+
device_code_handler_1.deviceCodeEvents.off('deviceCode:expired', handleDeviceCodeExpired);
|
|
110
154
|
clients.forEach((client) => {
|
|
111
155
|
client.close(1001, 'Server shutting down');
|
|
112
156
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/web-server/websocket.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,2BAAgD;AAChD,iDAAoE;AACpE,oCAAyC;AACzC,qFAG+C;
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/web-server/websocket.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/scripts/postinstall.js
CHANGED
|
@@ -68,24 +68,13 @@ function validateConfiguration() {
|
|
|
68
68
|
errors.push('~/.ccs/ directory not found');
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
// Check
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
for (const file of requiredFiles) {
|
|
77
|
-
if (!fs.existsSync(file.path)) {
|
|
78
|
-
errors.push(`${file.name} not found`);
|
|
79
|
-
continue;
|
|
80
|
-
}
|
|
71
|
+
// Check for config file - prefer config.yaml, fallback to config.json
|
|
72
|
+
const configYaml = path.join(ccsDir, 'config.yaml');
|
|
73
|
+
const configJson = path.join(ccsDir, 'config.json');
|
|
74
|
+
const hasConfig = fs.existsSync(configYaml) || fs.existsSync(configJson);
|
|
81
75
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const content = fs.readFileSync(file.path, 'utf8');
|
|
85
|
-
JSON.parse(content);
|
|
86
|
-
} catch (e) {
|
|
87
|
-
errors.push(`${file.name} has invalid JSON: ${e.message}`);
|
|
88
|
-
}
|
|
76
|
+
if (!hasConfig) {
|
|
77
|
+
errors.push('config.yaml (or config.json) not found');
|
|
89
78
|
}
|
|
90
79
|
|
|
91
80
|
// Check ~/.claude/settings.json (warning only, not critical)
|
|
@@ -104,7 +93,15 @@ function createConfigFiles() {
|
|
|
104
93
|
const ccsDir = path.join(homedir, '.ccs');
|
|
105
94
|
|
|
106
95
|
// Create ~/.ccs/ directory if missing
|
|
107
|
-
if (
|
|
96
|
+
if (fs.existsSync(ccsDir)) {
|
|
97
|
+
// Check if it's a file instead of directory (edge case)
|
|
98
|
+
const stats = fs.statSync(ccsDir);
|
|
99
|
+
if (!stats.isDirectory()) {
|
|
100
|
+
console.error('[X] ~/.ccs exists but is not a directory');
|
|
101
|
+
console.error(' Remove or rename it: mv ~/.ccs ~/.ccs.bak');
|
|
102
|
+
process.exit(1);
|
|
103
|
+
}
|
|
104
|
+
} else {
|
|
108
105
|
fs.mkdirSync(ccsDir, { recursive: true, mode: 0o755 });
|
|
109
106
|
console.log('[OK] Created directory: ~/.ccs/');
|
|
110
107
|
}
|
|
@@ -150,62 +147,107 @@ function createConfigFiles() {
|
|
|
150
147
|
// Users can run "ccs sync" to install CCS commands/skills to ~/.claude/
|
|
151
148
|
// This gives users control over when to modify their Claude configuration
|
|
152
149
|
|
|
153
|
-
// Create config.
|
|
150
|
+
// Create config.yaml if missing (primary format)
|
|
154
151
|
// NOTE: gemini/codex profiles NOT included - they are added on-demand when user
|
|
155
152
|
// runs `ccs gemini` or `ccs codex` for first time (requires OAuth auth first)
|
|
156
153
|
// NOTE: GLM/GLMT/Kimi profiles are now created via UI/CLI presets, not auto-created
|
|
157
|
-
const
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
//
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
|
|
176
|
-
// Ensure profiles object exists
|
|
177
|
-
if (!config.profiles) {
|
|
178
|
-
config.profiles = {};
|
|
179
|
-
}
|
|
180
|
-
let configUpdated = false;
|
|
181
|
-
|
|
182
|
-
// Migration: Add glmt if missing (v3.x)
|
|
183
|
-
if (!config.profiles.glmt) {
|
|
184
|
-
config.profiles.glmt = '~/.ccs/glmt.settings.json';
|
|
185
|
-
configUpdated = true;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
// Migration: Remove 'default' entry pointing to ~/.claude/settings.json (v5.4.0)
|
|
189
|
-
// This entry caused the default profile to pass --settings flag, which could
|
|
190
|
-
// pick up stale env vars (ANTHROPIC_BASE_URL) from previous profile sessions.
|
|
191
|
-
// Fix: Let CCS pass through to Claude's native auth without --settings flag.
|
|
192
|
-
if (config.profiles.default === '~/.claude/settings.json') {
|
|
193
|
-
delete config.profiles.default;
|
|
194
|
-
configUpdated = true;
|
|
195
|
-
console.log('[OK] Removed legacy default profile (now uses native Claude auth)');
|
|
154
|
+
const configYamlPath = path.join(ccsDir, 'config.yaml');
|
|
155
|
+
const legacyConfigPath = path.join(ccsDir, 'config.json');
|
|
156
|
+
|
|
157
|
+
if (!fs.existsSync(configYamlPath)) {
|
|
158
|
+
// Check for legacy config.json - autoMigrate() in ccs.ts will handle migration
|
|
159
|
+
if (fs.existsSync(legacyConfigPath)) {
|
|
160
|
+
// Validate legacy config.json before assuming migration will work
|
|
161
|
+
try {
|
|
162
|
+
const content = fs.readFileSync(legacyConfigPath, 'utf8');
|
|
163
|
+
JSON.parse(content);
|
|
164
|
+
console.log('[OK] Legacy config.json found - will migrate to config.yaml on first run');
|
|
165
|
+
} catch {
|
|
166
|
+
console.warn('[!] Legacy config.json is corrupted/invalid');
|
|
167
|
+
console.warn(' Backup: mv ~/.ccs/config.json ~/.ccs/config.json.bak');
|
|
168
|
+
console.warn(' Creating fresh config.yaml instead');
|
|
169
|
+
// Fall through to create new config.yaml
|
|
170
|
+
fs.renameSync(legacyConfigPath, `${legacyConfigPath}.bak`);
|
|
171
|
+
}
|
|
196
172
|
}
|
|
197
173
|
|
|
198
|
-
//
|
|
199
|
-
if (
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
174
|
+
// Create config.yaml if it doesn't exist (and legacy wasn't valid)
|
|
175
|
+
if (!fs.existsSync(configYamlPath) && !fs.existsSync(legacyConfigPath)) {
|
|
176
|
+
// Try to use unified config loader if dist is available
|
|
177
|
+
try {
|
|
178
|
+
const { saveUnifiedConfig } = require('../dist/config/unified-config-loader');
|
|
179
|
+
const { createEmptyUnifiedConfig, UNIFIED_CONFIG_VERSION } = require('../dist/config/unified-config-types');
|
|
180
|
+
|
|
181
|
+
const config = createEmptyUnifiedConfig();
|
|
182
|
+
config.version = UNIFIED_CONFIG_VERSION;
|
|
183
|
+
saveUnifiedConfig(config);
|
|
184
|
+
|
|
185
|
+
console.log('[OK] Created config: ~/.ccs/config.yaml');
|
|
186
|
+
} catch (loaderErr) {
|
|
187
|
+
// Dist not built yet (fresh clone) - create minimal config.yaml manually
|
|
188
|
+
// Wrap js-yaml require in try-catch in case it's not available
|
|
189
|
+
let yaml;
|
|
190
|
+
try {
|
|
191
|
+
yaml = require('js-yaml');
|
|
192
|
+
} catch {
|
|
193
|
+
// js-yaml not available - fallback to JSON
|
|
194
|
+
console.warn('[!] js-yaml not available, creating legacy config.json');
|
|
195
|
+
const fallbackConfig = { profiles: {} };
|
|
196
|
+
const tmpPath = `${legacyConfigPath}.tmp`;
|
|
197
|
+
fs.writeFileSync(tmpPath, JSON.stringify(fallbackConfig, null, 2) + '\n', 'utf8');
|
|
198
|
+
fs.renameSync(tmpPath, legacyConfigPath);
|
|
199
|
+
console.log('[OK] Created config: ~/.ccs/config.json (fallback)');
|
|
200
|
+
yaml = null;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
if (yaml) {
|
|
204
|
+
const config = {
|
|
205
|
+
version: '2.0',
|
|
206
|
+
profiles: {},
|
|
207
|
+
accounts: {},
|
|
208
|
+
cliproxy: {
|
|
209
|
+
variants: {},
|
|
210
|
+
oauth_accounts: {}
|
|
211
|
+
},
|
|
212
|
+
cliproxy_server: {
|
|
213
|
+
local: {
|
|
214
|
+
port: 8317,
|
|
215
|
+
auto_start: true
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
try {
|
|
221
|
+
const yamlContent = yaml.dump(config, {
|
|
222
|
+
indent: 2,
|
|
223
|
+
lineWidth: -1,
|
|
224
|
+
noRefs: true,
|
|
225
|
+
sortKeys: false
|
|
226
|
+
});
|
|
227
|
+
const tmpPath = `${configYamlPath}.tmp`;
|
|
228
|
+
fs.writeFileSync(tmpPath, yamlContent, 'utf8');
|
|
229
|
+
fs.renameSync(tmpPath, configYamlPath);
|
|
230
|
+
console.log('[OK] Created config: ~/.ccs/config.yaml');
|
|
231
|
+
} catch (yamlErr) {
|
|
232
|
+
// Final fallback: create legacy config.json
|
|
233
|
+
console.warn('[!] YAML write failed, creating legacy config.json');
|
|
234
|
+
const fallbackConfig = { profiles: {} };
|
|
235
|
+
const tmpPath = `${legacyConfigPath}.tmp`;
|
|
236
|
+
fs.writeFileSync(tmpPath, JSON.stringify(fallbackConfig, null, 2) + '\n', 'utf8');
|
|
237
|
+
fs.renameSync(tmpPath, legacyConfigPath);
|
|
238
|
+
console.log('[OK] Created config: ~/.ccs/config.json (fallback)');
|
|
239
|
+
}
|
|
240
|
+
}
|
|
205
241
|
}
|
|
206
|
-
} else {
|
|
207
|
-
console.log('[OK] Config exists: ~/.ccs/config.json (preserved)');
|
|
208
242
|
}
|
|
243
|
+
} else {
|
|
244
|
+
console.log('[OK] Config exists: ~/.ccs/config.yaml (preserved)');
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// Warn if both config files exist (user may want to clean up)
|
|
248
|
+
if (fs.existsSync(legacyConfigPath) && fs.existsSync(configYamlPath)) {
|
|
249
|
+
console.log('[!] Both config.yaml and config.json exist');
|
|
250
|
+
console.log(' config.json will be ignored - consider removing it');
|
|
209
251
|
}
|
|
210
252
|
|
|
211
253
|
// NOTE: GLM, GLMT, and Kimi profiles are NO LONGER auto-created during install
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as s}from"./react-vendor-B_CU-WTZ.js";const _=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),M=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,c,o)=>o?o.toUpperCase():c.toLowerCase()),d=t=>{const a=M(t);return a.charAt(0).toUpperCase()+a.slice(1)},r=(...t)=>t.filter((a,c,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===c).join(" ").trim(),m=t=>{for(const a in t)if(a.startsWith("aria-")||a==="role"||a==="title")return!0};var v={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const x=s.forwardRef(({color:t="currentColor",size:a=24,strokeWidth:c=2,absoluteStrokeWidth:o,className:y="",children:n,iconNode:k,...h},i)=>s.createElement("svg",{ref:i,...v,width:a,height:a,stroke:t,strokeWidth:o?Number(c)*24/Number(a):c,className:r("lucide",y),...!n&&!m(h)&&{"aria-hidden":"true"},...h},[...k.map(([p,l])=>s.createElement(p,l)),...Array.isArray(n)?n:[n]]));const e=(t,a)=>{const c=s.forwardRef(({className:o,...y},n)=>s.createElement(x,{ref:n,iconNode:a,className:r(`lucide-${_(d(t))}`,`lucide-${t}`,o),...y}));return c.displayName=d(t),c};const f=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],Q1=e("activity",f);const g=[["path",{d:"M17 7 7 17",key:"15tmo1"}],["path",{d:"M17 17H7V7",key:"1org7z"}]],Y1=e("arrow-down-left",g);const w=[["path",{d:"m7 7 10 10",key:"1fmybs"}],["path",{d:"M17 7v10H7",key:"6fjiku"}]],e2=e("arrow-down-right",w);const $=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],a2=e("arrow-left",$);const N=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],t2=e("arrow-right",N);const u=[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]],c2=e("arrow-up-right",u);const z=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],o2=e("arrow-up",z);const b=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],n2=e("book-open",b);const C=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],s2=e("bot",C);const j=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],y2=e("calendar",j);const q=[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]],h2=e("chart-column",q);const A=[["path",{d:"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z",key:"pzmjnu"}],["path",{d:"M21.21 15.89A10 10 0 1 1 8 2.83",key:"k2fpak"}]],d2=e("chart-pie",A);const H=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],r2=e("check",H);const L=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],k2=e("chevron-down",L);const V=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],i2=e("chevron-left",V);const S=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],p2=e("chevron-right",S);const R=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],l2=e("chevron-up",R);const E=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],_2=e("circle-alert",E);const P=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],M2=e("circle-check-big",P);const U=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],m2=e("circle-check",U);const B=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],v2=e("circle-x",B);const D=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],x2=e("circle",D);const G=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],f2=e("clock",G);const O=[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]],g2=e("cloud",O);const W=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],w2=e("code-xml",W);const F=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],$2=e("code",F);const T=[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]],N2=e("coins",T);const Z=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],u2=e("copy",Z);const I=[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]],z2=e("cpu",I);const K=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],b2=e("database",K);const X=[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]],C2=e("dollar-sign",X);const J=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],j2=e("download",J);const Q=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],q2=e("ellipsis",Q);const Y=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],A2=e("external-link",Y);const e1=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],H2=e("eye-off",e1);const a1=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],L2=e("eye",a1);const t1=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]],V2=e("file-braces",t1);const c1=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]],S2=e("file-code",c1);const o1=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],R2=e("file-exclamation-point",o1);const n1=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],E2=e("file-text",n1);const s1=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],P2=e("folder-open",s1);const y1=[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]],U2=e("gauge",y1);const h1=[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]],B2=e("git-branch",h1);const d1=[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]],D2=e("github",d1);const r1=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],G2=e("globe",r1);const k1=[["circle",{cx:"12",cy:"9",r:"1",key:"124mty"}],["circle",{cx:"19",cy:"9",r:"1",key:"1ruzo2"}],["circle",{cx:"5",cy:"9",r:"1",key:"1a8b28"}],["circle",{cx:"12",cy:"15",r:"1",key:"1e56xg"}],["circle",{cx:"19",cy:"15",r:"1",key:"1a92ep"}],["circle",{cx:"5",cy:"15",r:"1",key:"5r1jwy"}]],O2=e("grip-horizontal",k1);const i1=[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]],W2=e("grip-vertical",i1);const p1=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]],F2=e("heart",p1);const l1=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]],T2=e("house",l1);const _1=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Z2=e("info",_1);const M1=[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]],I2=e("key",M1);const m1=[["path",{d:"M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z",key:"1pdavp"}],["path",{d:"M20.054 15.987H3.946",key:"14rxg9"}]],K2=e("laptop",m1);const v1=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],X2=e("loader-circle",v1);const x1=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],J2=e("monitor",x1);const f1=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],Q2=e("moon",f1);const g1=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]],Y2=e("panel-left",g1);const w1=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],e0=e("plus",w1);const $1=[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],a0=e("power-off",$1);const N1=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],t0=e("power",N1);const u1=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],c0=e("radio",u1);const z1=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],o0=e("refresh-cw",z1);const b1=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],n0=e("rotate-ccw",b1);const C1=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],s0=e("rotate-cw",C1);const j1=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],y0=e("save",j1);const q1=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],h0=e("search",q1);const A1=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],d0=e("server",A1);const H1=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],r0=e("settings-2",H1);const L1=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],k0=e("settings",L1);const V1=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],i0=e("shield",V1);const S1=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],p0=e("sparkles",S1);const R1=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],l0=e("square",R1);const E1=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],_0=e("star",E1);const P1=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],M0=e("sun",P1);const U1=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],m0=e("terminal",U1);const B1=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],v0=e("trash-2",B1);const D1=[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]],x0=e("trending-up",D1);const G1=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],f0=e("triangle-alert",G1);const O1=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],g0=e("user",O1);const W1=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],w0=e("users",W1);const F1=[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]],$0=e("wand-sparkles",F1);const T1=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],N0=e("wifi-off",T1);const Z1=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]],u0=e("wifi",Z1);const I1=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],z0=e("wrench",I1);const K1=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],b0=e("x",K1);const X1=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],C0=e("zap",X1);export{i2 as $,Q1 as A,n2 as B,h2 as C,A2 as D,H2 as E,P2 as F,U2 as G,T2 as H,Z2 as I,e0 as J,I2 as K,X2 as L,Q2 as M,p0 as N,_2 as O,Y2 as P,G2 as Q,n0 as R,k0 as S,m0 as T,w0 as U,d0 as V,N0 as W,b0 as X,S2 as Y,C0 as Z,o0 as _,D2 as a,C2 as a0,b2 as a1,e2 as a2,y2 as a3,N2 as a4,z2 as a5,x0 as a6,d2 as a7,v0 as a8,y0 as a9,h0 as aa,$0 as ab,w2 as ac,t2 as ad,V2 as ae,a2 as af,g0 as ag,_0 as ah,q2 as ai,o2 as aj,t0 as ak,s0 as al,l0 as am,B2 as an,j2 as ao,a0 as ap,z0 as aq,J2 as ar,s2 as as,g2 as at,K2 as au,p2 as b,M0 as c,L2 as d,u0 as e,i0 as f,F2 as g,M2 as h,x2 as i,r2 as j,m2 as k,v2 as l,W2 as m,c0 as n,f2 as o,E2 as p,u2 as q,$2 as r,c2 as s,Y1 as t,f0 as u,R2 as v,O2 as w,l2 as x,k2 as y,r0 as z};
|