claude-relay 2.4.2 → 2.5.0
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/bin/cli.js +1 -2350
- package/package.json +7 -42
- package/LICENSE +0 -21
- package/README.md +0 -281
- package/lib/cli-sessions.js +0 -270
- package/lib/config.js +0 -222
- package/lib/daemon.js +0 -423
- package/lib/ipc.js +0 -112
- package/lib/pages.js +0 -714
- package/lib/project.js +0 -1224
- package/lib/public/app.js +0 -2157
- package/lib/public/apple-touch-icon.png +0 -0
- package/lib/public/css/base.css +0 -145
- package/lib/public/css/diff.css +0 -128
- package/lib/public/css/filebrowser.css +0 -1076
- package/lib/public/css/highlight.css +0 -144
- package/lib/public/css/input.css +0 -512
- package/lib/public/css/menus.css +0 -683
- package/lib/public/css/messages.css +0 -1159
- package/lib/public/css/overlays.css +0 -731
- package/lib/public/css/rewind.css +0 -529
- package/lib/public/css/sidebar.css +0 -794
- package/lib/public/favicon.svg +0 -26
- package/lib/public/icon-192.png +0 -0
- package/lib/public/icon-512.png +0 -0
- package/lib/public/icon-mono.svg +0 -19
- package/lib/public/index.html +0 -460
- package/lib/public/manifest.json +0 -27
- package/lib/public/modules/diff.js +0 -398
- package/lib/public/modules/events.js +0 -21
- package/lib/public/modules/filebrowser.js +0 -1375
- package/lib/public/modules/fileicons.js +0 -172
- package/lib/public/modules/icons.js +0 -54
- package/lib/public/modules/input.js +0 -578
- package/lib/public/modules/markdown.js +0 -149
- package/lib/public/modules/notifications.js +0 -643
- package/lib/public/modules/qrcode.js +0 -70
- package/lib/public/modules/rewind.js +0 -334
- package/lib/public/modules/sidebar.js +0 -628
- package/lib/public/modules/state.js +0 -3
- package/lib/public/modules/terminal.js +0 -658
- package/lib/public/modules/theme.js +0 -622
- package/lib/public/modules/tools.js +0 -1410
- package/lib/public/modules/utils.js +0 -56
- package/lib/public/style.css +0 -10
- package/lib/public/sw.js +0 -75
- package/lib/push.js +0 -125
- package/lib/sdk-bridge.js +0 -771
- package/lib/server.js +0 -577
- package/lib/sessions.js +0 -402
- package/lib/terminal-manager.js +0 -187
- package/lib/terminal.js +0 -24
- package/lib/themes/ayu-light.json +0 -9
- package/lib/themes/catppuccin-latte.json +0 -9
- package/lib/themes/catppuccin-mocha.json +0 -9
- package/lib/themes/claude-light.json +0 -9
- package/lib/themes/claude.json +0 -9
- package/lib/themes/dracula.json +0 -9
- package/lib/themes/everforest-light.json +0 -9
- package/lib/themes/everforest.json +0 -9
- package/lib/themes/github-light.json +0 -9
- package/lib/themes/gruvbox-dark.json +0 -9
- package/lib/themes/gruvbox-light.json +0 -9
- package/lib/themes/monokai.json +0 -9
- package/lib/themes/nord-light.json +0 -9
- package/lib/themes/nord.json +0 -9
- package/lib/themes/one-dark.json +0 -9
- package/lib/themes/one-light.json +0 -9
- package/lib/themes/rose-pine-dawn.json +0 -9
- package/lib/themes/rose-pine.json +0 -9
- package/lib/themes/solarized-dark.json +0 -9
- package/lib/themes/solarized-light.json +0 -9
- package/lib/themes/tokyo-night-light.json +0 -9
- package/lib/themes/tokyo-night.json +0 -9
- package/lib/updater.js +0 -96
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
// Material Icon Theme file & folder icons
|
|
2
|
-
// Files: material-file-icons via esm.sh (dynamic import, ~475KB lazy-loaded)
|
|
3
|
-
// Folders: material-icon-theme SVGs via jsdelivr CDN (fetched & cached)
|
|
4
|
-
|
|
5
|
-
var materialIcons = null;
|
|
6
|
-
var folderSvgCache = {};
|
|
7
|
-
var loadPromise = null;
|
|
8
|
-
|
|
9
|
-
var FOLDER_CDN = "https://cdn.jsdelivr.net/npm/material-icon-theme@5/icons/";
|
|
10
|
-
|
|
11
|
-
var FOLDER_MAP = {
|
|
12
|
-
"src": "folder-src",
|
|
13
|
-
"lib": "folder-lib",
|
|
14
|
-
"dist": "folder-dist",
|
|
15
|
-
"build": "folder-dist",
|
|
16
|
-
"out": "folder-dist",
|
|
17
|
-
"output": "folder-dist",
|
|
18
|
-
"node_modules": "folder-node",
|
|
19
|
-
"test": "folder-test",
|
|
20
|
-
"tests": "folder-test",
|
|
21
|
-
"__tests__": "folder-test",
|
|
22
|
-
"spec": "folder-test",
|
|
23
|
-
"docs": "folder-docs",
|
|
24
|
-
"doc": "folder-docs",
|
|
25
|
-
"config": "folder-config",
|
|
26
|
-
".config": "folder-config",
|
|
27
|
-
"public": "folder-public",
|
|
28
|
-
"static": "folder-public",
|
|
29
|
-
"assets": "folder-images",
|
|
30
|
-
"images": "folder-images",
|
|
31
|
-
"img": "folder-images",
|
|
32
|
-
"icons": "folder-images",
|
|
33
|
-
"media": "folder-images",
|
|
34
|
-
"components": "folder-components",
|
|
35
|
-
"hooks": "folder-hook",
|
|
36
|
-
"utils": "folder-utils",
|
|
37
|
-
"util": "folder-utils",
|
|
38
|
-
"helpers": "folder-helper",
|
|
39
|
-
"helper": "folder-helper",
|
|
40
|
-
"api": "folder-api",
|
|
41
|
-
"routes": "folder-routes",
|
|
42
|
-
"router": "folder-routes",
|
|
43
|
-
"pages": "folder-layout",
|
|
44
|
-
"views": "folder-views",
|
|
45
|
-
"styles": "folder-css",
|
|
46
|
-
"css": "folder-css",
|
|
47
|
-
"scss": "folder-sass",
|
|
48
|
-
"sass": "folder-sass",
|
|
49
|
-
"scripts": "folder-scripts",
|
|
50
|
-
"bin": "folder-scripts",
|
|
51
|
-
".git": "folder-git",
|
|
52
|
-
".github": "folder-github",
|
|
53
|
-
".vscode": "folder-vscode",
|
|
54
|
-
"docker": "folder-docker",
|
|
55
|
-
".docker": "folder-docker",
|
|
56
|
-
"database": "folder-database",
|
|
57
|
-
"db": "folder-database",
|
|
58
|
-
"server": "folder-server",
|
|
59
|
-
"client": "folder-client",
|
|
60
|
-
"types": "folder-typescript",
|
|
61
|
-
"typings": "folder-typescript",
|
|
62
|
-
"@types": "folder-typescript",
|
|
63
|
-
"modules": "folder-node",
|
|
64
|
-
"packages": "folder-packages",
|
|
65
|
-
"vendor": "folder-lib",
|
|
66
|
-
"env": "folder-environment",
|
|
67
|
-
".env": "folder-environment",
|
|
68
|
-
"mock": "folder-mock",
|
|
69
|
-
"mocks": "folder-mock",
|
|
70
|
-
"__mocks__": "folder-mock",
|
|
71
|
-
"middleware": "folder-middleware",
|
|
72
|
-
"i18n": "folder-i18n",
|
|
73
|
-
"locale": "folder-i18n",
|
|
74
|
-
"locales": "folder-i18n",
|
|
75
|
-
"fonts": "folder-font",
|
|
76
|
-
"font": "folder-font",
|
|
77
|
-
"logs": "folder-log",
|
|
78
|
-
"log": "folder-log",
|
|
79
|
-
"tmp": "folder-temp",
|
|
80
|
-
"temp": "folder-temp",
|
|
81
|
-
"templates": "folder-template",
|
|
82
|
-
"template": "folder-template",
|
|
83
|
-
"ref": "folder-resource",
|
|
84
|
-
"resources": "folder-resource",
|
|
85
|
-
"res": "folder-resource",
|
|
86
|
-
"themes": "folder-theme",
|
|
87
|
-
"theme": "folder-theme",
|
|
88
|
-
"plugins": "folder-plugin",
|
|
89
|
-
"plugin": "folder-plugin",
|
|
90
|
-
"context": "folder-context",
|
|
91
|
-
"contexts": "folder-context",
|
|
92
|
-
"redux": "folder-redux-store",
|
|
93
|
-
"store": "folder-redux-store",
|
|
94
|
-
"stores": "folder-redux-store",
|
|
95
|
-
"controllers": "folder-controller",
|
|
96
|
-
"controller": "folder-controller",
|
|
97
|
-
"models": "folder-database",
|
|
98
|
-
"model": "folder-database",
|
|
99
|
-
"services": "folder-server",
|
|
100
|
-
"service": "folder-server",
|
|
101
|
-
".claude": "folder-config"
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
// --- Public API ---
|
|
105
|
-
|
|
106
|
-
export function initFileIcons() {
|
|
107
|
-
if (loadPromise) return loadPromise;
|
|
108
|
-
loadPromise = import("https://esm.sh/material-file-icons@2").then(function (mod) {
|
|
109
|
-
materialIcons = mod;
|
|
110
|
-
}).catch(function (err) {
|
|
111
|
-
console.warn("[fileicons] Failed to load material-file-icons:", err);
|
|
112
|
-
});
|
|
113
|
-
// Pre-fetch default folder icons
|
|
114
|
-
fetchFolderSvg("folder.svg");
|
|
115
|
-
fetchFolderSvg("folder-open.svg");
|
|
116
|
-
return loadPromise;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
export function getFileIconSvg(filename) {
|
|
120
|
-
if (!materialIcons) return "";
|
|
121
|
-
try {
|
|
122
|
-
var icon = materialIcons.getIcon(filename);
|
|
123
|
-
return icon && icon.svg ? icon.svg : "";
|
|
124
|
-
} catch (e) {
|
|
125
|
-
return "";
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
export function getFolderIconSvg(folderName, isOpen, callback) {
|
|
130
|
-
var lower = folderName.toLowerCase();
|
|
131
|
-
var base = FOLDER_MAP[lower] || "folder";
|
|
132
|
-
var svgName = isOpen ? (base + "-open.svg") : (base + ".svg");
|
|
133
|
-
|
|
134
|
-
// Cache hit
|
|
135
|
-
if (folderSvgCache[svgName]) {
|
|
136
|
-
callback(folderSvgCache[svgName]);
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
fetchFolderSvg(svgName).then(function (svg) {
|
|
141
|
-
if (svg) {
|
|
142
|
-
callback(svg);
|
|
143
|
-
} else {
|
|
144
|
-
// Fallback to default folder icon
|
|
145
|
-
var fallback = isOpen ? "folder-open.svg" : "folder.svg";
|
|
146
|
-
if (folderSvgCache[fallback]) {
|
|
147
|
-
callback(folderSvgCache[fallback]);
|
|
148
|
-
} else {
|
|
149
|
-
fetchFolderSvg(fallback).then(function (fb) {
|
|
150
|
-
callback(fb || "");
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// --- Internal ---
|
|
158
|
-
|
|
159
|
-
function fetchFolderSvg(svgName) {
|
|
160
|
-
if (folderSvgCache[svgName]) {
|
|
161
|
-
return Promise.resolve(folderSvgCache[svgName]);
|
|
162
|
-
}
|
|
163
|
-
return fetch(FOLDER_CDN + svgName).then(function (res) {
|
|
164
|
-
if (!res.ok) return null;
|
|
165
|
-
return res.text();
|
|
166
|
-
}).then(function (text) {
|
|
167
|
-
if (text) folderSvgCache[svgName] = text;
|
|
168
|
-
return text;
|
|
169
|
-
}).catch(function () {
|
|
170
|
-
return null;
|
|
171
|
-
});
|
|
172
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
var _iconTimer = null;
|
|
2
|
-
|
|
3
|
-
export function refreshIcons() {
|
|
4
|
-
if (_iconTimer) return;
|
|
5
|
-
_iconTimer = requestAnimationFrame(function () {
|
|
6
|
-
_iconTimer = null;
|
|
7
|
-
lucide.createIcons();
|
|
8
|
-
});
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export function iconHtml(name, wrapperClass) {
|
|
12
|
-
if (wrapperClass) {
|
|
13
|
-
return '<span class="' + wrapperClass + '"><i data-lucide="' + name + '"></i></span>';
|
|
14
|
-
}
|
|
15
|
-
return '<i data-lucide="' + name + '"></i>';
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export var thinkingVerbs = [
|
|
19
|
-
"Accomplishing", "Actioning", "Actualizing", "Architecting", "Baking", "Beaming",
|
|
20
|
-
"Beboppin'", "Befuddling", "Billowing", "Blanching", "Bloviating", "Boogieing",
|
|
21
|
-
"Boondoggling", "Booping", "Bootstrapping", "Brewing", "Burrowing", "Calculating",
|
|
22
|
-
"Canoodling", "Caramelizing", "Cascading", "Catapulting", "Cerebrating", "Channeling",
|
|
23
|
-
"Channelling", "Choreographing", "Churning", "Clauding", "Coalescing", "Cogitating",
|
|
24
|
-
"Combobulating", "Composing", "Computing", "Concocting", "Considering", "Contemplating",
|
|
25
|
-
"Cooking", "Crafting", "Creating", "Crunching", "Crystallizing", "Cultivating",
|
|
26
|
-
"Deciphering", "Deliberating", "Determining", "Dilly-dallying", "Discombobulating",
|
|
27
|
-
"Doing", "Doodling", "Drizzling", "Ebbing", "Effecting", "Elucidating", "Embellishing",
|
|
28
|
-
"Enchanting", "Envisioning", "Evaporating", "Fermenting", "Fiddle-faddling", "Finagling",
|
|
29
|
-
"Flambing", "Flibbertigibbeting", "Flowing", "Flummoxing", "Fluttering", "Forging",
|
|
30
|
-
"Forming", "Frolicking", "Frosting", "Gallivanting", "Galloping", "Garnishing",
|
|
31
|
-
"Generating", "Germinating", "Gitifying", "Grooving", "Gusting", "Harmonizing",
|
|
32
|
-
"Hashing", "Hatching", "Herding", "Honking", "Hullaballooing", "Hyperspacing",
|
|
33
|
-
"Ideating", "Imagining", "Improvising", "Incubating", "Inferring", "Infusing",
|
|
34
|
-
"Ionizing", "Jitterbugging", "Julienning", "Kneading", "Leavening", "Levitating",
|
|
35
|
-
"Lollygagging", "Manifesting", "Marinating", "Meandering", "Metamorphosing", "Misting",
|
|
36
|
-
"Moonwalking", "Moseying", "Mulling", "Mustering", "Musing", "Nebulizing", "Nesting",
|
|
37
|
-
"Newspapering", "Noodling", "Nucleating", "Orbiting", "Orchestrating", "Osmosing",
|
|
38
|
-
"Perambulating", "Percolating", "Perusing", "Philosophising", "Photosynthesizing",
|
|
39
|
-
"Pollinating", "Pondering", "Pontificating", "Pouncing", "Precipitating",
|
|
40
|
-
"Prestidigitating", "Processing", "Proofing", "Propagating", "Puttering", "Puzzling",
|
|
41
|
-
"Quantumizing", "Razzle-dazzling", "Razzmatazzing", "Recombobulating", "Reticulating",
|
|
42
|
-
"Roosting", "Ruminating", "Sauting", "Scampering", "Schlepping", "Scurrying", "Seasoning",
|
|
43
|
-
"Shenaniganing", "Shimmying", "Simmering", "Skedaddling", "Sketching", "Slithering",
|
|
44
|
-
"Smooshing", "Sock-hopping", "Spelunking", "Spinning", "Sprouting", "Stewing",
|
|
45
|
-
"Sublimating", "Swirling", "Swooping", "Symbioting", "Synthesizing", "Tempering",
|
|
46
|
-
"Thinking", "Thundering", "Tinkering", "Tomfoolering", "Topsy-turvying", "Transfiguring",
|
|
47
|
-
"Transmuting", "Twisting", "Undulating", "Unfurling", "Unravelling", "Vibing", "Waddling",
|
|
48
|
-
"Wandering", "Warping", "Whatchamacalliting", "Whirlpooling", "Whirring", "Whisking",
|
|
49
|
-
"Wibbling", "Working", "Wrangling", "Zesting", "Zigzagging"
|
|
50
|
-
];
|
|
51
|
-
|
|
52
|
-
export function randomThinkingVerb() {
|
|
53
|
-
return thinkingVerbs[Math.floor(Math.random() * thinkingVerbs.length)];
|
|
54
|
-
}
|