create-opentray 0.21.0 → 0.22.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/README.md +28 -6
- package/dist/avif-DCXcyYJR.mjs +2 -0
- package/dist/bin-Dyfucd3C.mjs +20810 -0
- package/dist/bin-Dyfucd3C.mjs.map +1 -0
- package/dist/bin.mjs +1 -1
- package/dist/decode-C4b5NXc_.mjs +1236 -0
- package/dist/decode-C4b5NXc_.mjs.map +1 -0
- package/dist/decode-Dsj9J0OD.mjs +1214 -0
- package/dist/decode-Dsj9J0OD.mjs.map +1 -0
- package/dist/decode-FysWS28R.mjs +254 -0
- package/dist/decode-FysWS28R.mjs.map +1 -0
- package/dist/decode-Xr7mARKr.mjs +1262 -0
- package/dist/decode-Xr7mARKr.mjs.map +1 -0
- package/dist/decode-ico-D3SL2BXi.mjs +274 -0
- package/dist/decode-ico-D3SL2BXi.mjs.map +1 -0
- package/dist/full.umd-oM1VUBRH.mjs +3055 -0
- package/dist/full.umd-oM1VUBRH.mjs.map +1 -0
- package/dist/index.d.mts +491 -11
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -2
- package/dist/jpeg-B4tsxG5f.mjs +2 -0
- package/dist/png-rD0XEazj.mjs +35 -0
- package/dist/png-rD0XEazj.mjs.map +1 -0
- package/dist/raster-BQ07mKLu.mjs +493 -0
- package/dist/raster-BQ07mKLu.mjs.map +1 -0
- package/dist/resize-B47sgoOb.mjs +489 -0
- package/dist/resize-B47sgoOb.mjs.map +1 -0
- package/dist/resvg-wasm-fcJTLpJs.mjs +522 -0
- package/dist/resvg-wasm-fcJTLpJs.mjs.map +1 -0
- package/dist/rolldown-runtime-JspESFgx.mjs +35 -0
- package/dist/shell/assets/browse.js +1 -1
- package/dist/shell/assets/index.css +1 -1
- package/dist/shell/assets/main.js +17 -17
- package/dist/skill/SKILL.md +46 -17
- package/dist/skill/references/cli-reference.md +8 -3
- package/dist/skill/references/how-it-works.md +30 -0
- package/dist/webp-CcbaCrQ7.mjs +2 -0
- package/dist/webui/assets/browse.js +1 -1
- package/dist/webui/assets/index.css +1 -1
- package/dist/webui/assets/main.js +17 -17
- package/package.json +7 -8
- package/skill/SKILL.md +46 -17
- package/skill/references/cli-reference.md +8 -3
- package/skill/references/how-it-works.md +30 -0
- package/dist/bin-Dl6P1QjJ.mjs +0 -2213
- package/dist/bin-Dl6P1QjJ.mjs.map +0 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,479 @@
|
|
|
1
1
|
import { WizardCliOptions, main, parseWizardCli } from "./bin.mjs";
|
|
2
|
-
import { DiscoveredService, DiscoveredService as DiscoveredService$1, FamilyFormState, FaviconCandidate, LaunchVector, MaterializeContext, MaterializeContext as MaterializeContext$1, MaterializeInput, MaterializeLogEvent, MaterializeResult, MaterializeResult as MaterializeResult$1, ScaffoldAppConfig, ScaffoldOptions, ScaffoldResult, ScrapeResult, ScrapedIcon, TokenizeResult, createPortDiscovery, deriveDefaultAppId, deriveDefaultAppName, detectPackageManager, expectedDarwinBundlePath, extractFaviconCandidates, extractTitle, faviconCandidateSize, isDirectoryOccupied, isValidAppId, materialize, openMaterializedApp, parseLsofPorts, parseNetstatPorts, parsePowerShellPorts, parseShebangInterpreter, pinningHint, rankFaviconCandidates, resolveFaviconUrl, resolveLaunchVector, resolveLaunchVector as resolveLaunchVector$1, resolveOnPath, resolveOnPath as resolveOnPath$1, scrapeService, scrapeService as scrapeService$1, serviceUrl, startCommandRun, toProjectDirectoryName, tokenizeCommandLine, verifyHttpService, waitForTcpPort, writeScaffold } from "@create-opentray/core";
|
|
3
2
|
import { IncomingMessage } from "node:http";
|
|
3
|
+
import { AppIcon } from "@opentray/spec";
|
|
4
4
|
|
|
5
|
+
//#region packages/core/src/app-id.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Default appId derivation. `npx somecommand start --xx` keeps the pre-option
|
|
8
|
+
* tokens `["npx", "somecommand", "start"]`, reverses them, and dot-joins:
|
|
9
|
+
* `start.somecommand.npx`. Scoped commands like `npx @deepseek-ai/dsh@latest
|
|
10
|
+
* web` derive `web.dsh.npx`.
|
|
11
|
+
*/
|
|
12
|
+
declare const deriveDefaultAppId: (tokens: readonly string[]) => string;
|
|
13
|
+
/** Human display name from the appId derivation: `Somecommand Start`. */
|
|
14
|
+
declare const deriveDefaultAppName: (tokens: readonly string[]) => string;
|
|
15
|
+
/** Directory-safe project name from an appId (mirrors packaging normalizeAppId semantics). */
|
|
16
|
+
declare const toProjectDirectoryName: (appId: string) => string;
|
|
17
|
+
/** True when the appId has the shape consumers expect for stable identity. */
|
|
18
|
+
declare const isValidAppId: (appId: string) => boolean;
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region packages/core/src/command-family.d.ts
|
|
21
|
+
type Family = "npm" | "go" | "rust" | "python" | "dotnet" | "custom";
|
|
22
|
+
interface FamilyFormState {
|
|
23
|
+
readonly family: Family;
|
|
24
|
+
/** npm/python 系列的 runner(如 `npx`、`yarn dlx`、`uvx`、`pipx run`)。 */
|
|
25
|
+
readonly runner: string;
|
|
26
|
+
/** runner 与包名之间的选项 token(如 `deno run -A` 的 `-A`)。 */
|
|
27
|
+
readonly runnerFlags: string;
|
|
28
|
+
/** 包名 / module 路径 / crate / 工具 ID(保持用户输入原样)。 */
|
|
29
|
+
readonly pkg: string;
|
|
30
|
+
/** 空串 = latest/省略。 */
|
|
31
|
+
readonly version: string;
|
|
32
|
+
/** 包名之后的参数(原样字符串)。 */
|
|
33
|
+
readonly args: string;
|
|
34
|
+
/** 仅 Rust:运行二进制名;空串 = 与 crate 同名。 */
|
|
35
|
+
readonly binary: string;
|
|
36
|
+
/** 仅自定义:完整自由命令。 */
|
|
37
|
+
readonly raw: string;
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
//#region packages/core/src/launch-vector.d.ts
|
|
41
|
+
interface LaunchVector {
|
|
42
|
+
readonly command: string;
|
|
43
|
+
readonly args: readonly string[];
|
|
44
|
+
readonly cwd: string;
|
|
45
|
+
/** Optional explicit env overlay merged over the runtime environment. */
|
|
46
|
+
readonly env?: Readonly<Record<string, string>>;
|
|
47
|
+
}
|
|
48
|
+
interface ResolveLaunchVectorOptions {
|
|
49
|
+
readonly tokens: readonly string[];
|
|
50
|
+
readonly cwd: string;
|
|
51
|
+
readonly platform?: NodeJS.Platform;
|
|
52
|
+
readonly pathEnv?: string;
|
|
53
|
+
readonly accessFile?: (path: string) => Promise<void>;
|
|
54
|
+
readonly firstLine?: (path: string) => Promise<string | undefined>;
|
|
55
|
+
}
|
|
56
|
+
/** Resolve a bare command name against PATH; returns undefined when absent. */
|
|
57
|
+
declare const resolveOnPath: (command: string, options: Pick<ResolveLaunchVectorOptions, "platform" | "pathEnv" | "accessFile">) => Promise<string | undefined>;
|
|
58
|
+
/** Read a `#!/usr/bin/env <interpreter>` shebang; undefined for other files. */
|
|
59
|
+
declare const parseShebangInterpreter: (firstLine: string | undefined) => {
|
|
60
|
+
interpreter: string;
|
|
61
|
+
args: readonly string[];
|
|
62
|
+
} | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Resolve the user's command tokens to a PATH-independent vector:
|
|
65
|
+
* - absolute-ize bare executables through PATH lookup;
|
|
66
|
+
* - resolve relative script paths against cwd;
|
|
67
|
+
* - when the executable is an `env <interpreter>` shebang script, run the
|
|
68
|
+
* interpreter directly with the script as its first argument.
|
|
69
|
+
* The persisted descriptor never includes an environment map.
|
|
70
|
+
*/
|
|
71
|
+
declare const resolveLaunchVector: (options: ResolveLaunchVectorOptions) => Promise<LaunchVector>;
|
|
72
|
+
//#endregion
|
|
73
|
+
//#region packages/core/src/tokenize.d.ts
|
|
74
|
+
interface TokenizeResult {
|
|
75
|
+
readonly ok: boolean;
|
|
76
|
+
readonly tokens: readonly string[];
|
|
77
|
+
readonly error: string | undefined;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Shell-style tokenizer for the wizard command input (shell-quote under the
|
|
81
|
+
* hood). Supports single quotes, double quotes, backslash escapes, and
|
|
82
|
+
* adjacent segments (`a"b c"d` → `["ab cd"]`). It never executes anything;
|
|
83
|
+
* it only produces the argv that will be spawned.
|
|
84
|
+
*/
|
|
85
|
+
declare const tokenizeCommandLine: (input: string) => TokenizeResult;
|
|
86
|
+
//#endregion
|
|
87
|
+
//#region packages/core/src/port-scan.d.ts
|
|
88
|
+
interface DiscoveredService {
|
|
89
|
+
readonly port: number;
|
|
90
|
+
readonly url: string;
|
|
91
|
+
readonly firstSeenAt: number;
|
|
92
|
+
title?: string;
|
|
93
|
+
}
|
|
94
|
+
type ListenersRunner = (platform: NodeJS.Platform) => Promise<ReadonlySet<number>>;
|
|
95
|
+
/** Listener snapshot with process ownership: port -> owning PIDs. */
|
|
96
|
+
type ListenerOwners = ReadonlyMap<number, ReadonlySet<number>>;
|
|
97
|
+
/** Loopback service URL for a discovered port. */
|
|
98
|
+
declare const serviceUrl: (port: number) => string;
|
|
99
|
+
declare const parseLsofPorts: (stdout: string) => ReadonlySet<number>;
|
|
100
|
+
/** Parses `netstat -ano -p tcp` output; keeps LISTENING rows. */
|
|
101
|
+
declare const parseNetstatPorts: (stdout: string) => ReadonlySet<number>;
|
|
102
|
+
declare const parsePowerShellPorts: (stdout: string) => ReadonlySet<number>;
|
|
103
|
+
/** TCP-connect probe used by the generated app and discovery verification. */
|
|
104
|
+
declare const waitForTcpPort: (port: number, timeoutMs: number, intervalMs?: number, host?: string) => Promise<boolean>;
|
|
105
|
+
/** Verify a port answers with an HTTP response (any status counts). */
|
|
106
|
+
declare const verifyHttpService: (port: number, timeoutMs?: number) => Promise<boolean>;
|
|
107
|
+
interface PortDiscoveryOptions {
|
|
108
|
+
readonly platform?: NodeJS.Platform;
|
|
109
|
+
readonly baseline: ReadonlySet<number>;
|
|
110
|
+
readonly listListeners?: ListenersRunner;
|
|
111
|
+
readonly verifyHttp?: (port: number) => Promise<boolean>;
|
|
112
|
+
/** Resolves the PIDs whose listeners count as services (preview process tree). */
|
|
113
|
+
readonly resolveOwnerPids?: () => Promise<ReadonlySet<number>>;
|
|
114
|
+
readonly listOwners?: () => Promise<ListenerOwners>;
|
|
115
|
+
readonly intervalMs?: number;
|
|
116
|
+
}
|
|
117
|
+
interface PortDiscoverySession {
|
|
118
|
+
/** Known new services, first-seen order. */
|
|
119
|
+
services(): readonly DiscoveredService[];
|
|
120
|
+
/** One polling pass; resolves to services discovered during this pass. */
|
|
121
|
+
poll(): Promise<readonly DiscoveredService[]>;
|
|
122
|
+
stop(): void;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Diff-based port discovery. Each poll re-enumerates listeners, keeps ports
|
|
126
|
+
* absent from the baseline, and adds HTTP-verified ones in first-seen order.
|
|
127
|
+
*/
|
|
128
|
+
declare const createPortDiscovery: (options: PortDiscoveryOptions) => PortDiscoverySession;
|
|
129
|
+
//#endregion
|
|
130
|
+
//#region packages/core/src/scrape.d.ts
|
|
131
|
+
/** Variant tag: the original art, or a solid-color silhouette derived from it. */
|
|
132
|
+
type IconVariant = "original" | "solid-black" | "solid-white";
|
|
133
|
+
/** One scraped icon candidate, ranked and deduplicated. */
|
|
134
|
+
interface ScrapedIcon {
|
|
135
|
+
/** Index within the candidate list (stable for /api/icon-data/:port/:index). */
|
|
136
|
+
readonly index: number;
|
|
137
|
+
/** Absolute URL the bytes came from (variants inherit their source URL). */
|
|
138
|
+
readonly url: string;
|
|
139
|
+
/** Absolute temp file holding the icon bytes. */
|
|
140
|
+
readonly path: string;
|
|
141
|
+
/** True pixel clarity (largest dimension; SVG uses intrinsic or 512). */
|
|
142
|
+
readonly width: number;
|
|
143
|
+
readonly height: number;
|
|
144
|
+
/** png | svg | jpeg | webp | gif | ico (ico payloads are extracted to png). */
|
|
145
|
+
readonly format: string;
|
|
146
|
+
/** Which art this entry carries (originals feed the app-icon picker; the
|
|
147
|
+
* advanced tray picker also shows solid variants). */
|
|
148
|
+
readonly variant: IconVariant;
|
|
149
|
+
/** Index of the original candidate a variant was derived from. */
|
|
150
|
+
readonly variantOf?: number;
|
|
151
|
+
}
|
|
152
|
+
interface ScrapeResult {
|
|
153
|
+
readonly ok: boolean;
|
|
154
|
+
readonly title: string | undefined;
|
|
155
|
+
/** Absolute temp file holding the chosen (clearest) favicon bytes, when found. */
|
|
156
|
+
readonly iconPath: string | undefined;
|
|
157
|
+
readonly iconUrl?: string;
|
|
158
|
+
/** All viable candidates ranked by clarity, near-duplicates removed. */
|
|
159
|
+
readonly icons: readonly ScrapedIcon[];
|
|
160
|
+
/**
|
|
161
|
+
* Whether the page's response policy allows third-party iframe embedding
|
|
162
|
+
* (toolbar mode feasibility); undefined when the page could not be fetched.
|
|
163
|
+
*/
|
|
164
|
+
readonly frameEmbeddable?: boolean;
|
|
165
|
+
}
|
|
166
|
+
interface FaviconCandidate {
|
|
167
|
+
readonly href: string;
|
|
168
|
+
readonly rel: string;
|
|
169
|
+
readonly sizes?: string;
|
|
170
|
+
}
|
|
171
|
+
/** Extract `<title>` text from HTML. */
|
|
172
|
+
declare const extractTitle: (html: string) => string | undefined;
|
|
173
|
+
/** Extract `<link rel=... href=...>` favicon candidates from HTML head. */
|
|
174
|
+
declare const extractFaviconCandidates: (html: string) => readonly FaviconCandidate[];
|
|
175
|
+
/** Largest dimension of a `sizes` attribute value such as `32x32` or `any`. */
|
|
176
|
+
declare const faviconCandidateSize: (candidate: FaviconCandidate) => number;
|
|
177
|
+
/** Resolve a favicon href against the service origin. */
|
|
178
|
+
declare const resolveFaviconUrl: (href: string, origin: string) => string | undefined;
|
|
179
|
+
/** Order candidates: declared-size icons descending, then apple-touch-icon, then others. */
|
|
180
|
+
declare const rankFaviconCandidates: (candidates: readonly FaviconCandidate[]) => readonly FaviconCandidate[];
|
|
181
|
+
interface ScrapePage {
|
|
182
|
+
readonly ok: boolean;
|
|
183
|
+
readonly status: number;
|
|
184
|
+
readonly body: string;
|
|
185
|
+
readonly headers: Record<string, string>;
|
|
186
|
+
}
|
|
187
|
+
interface ScrapeBytes {
|
|
188
|
+
readonly ok: boolean;
|
|
189
|
+
readonly status: number;
|
|
190
|
+
readonly bytes: Buffer;
|
|
191
|
+
readonly contentType: string;
|
|
192
|
+
}
|
|
193
|
+
interface ScrapeFetch {
|
|
194
|
+
page(url: string, timeoutMs?: number): Promise<ScrapePage>;
|
|
195
|
+
bytes(url: string, timeoutMs?: number): Promise<ScrapeBytes>;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Scrape title and ALL icon candidates from an arbitrary http(s) URL.
|
|
199
|
+
* Never throws: failures return `ok: false` with whatever partial identity
|
|
200
|
+
* was found. (`scrapeService` is the loopback-port wrapper over this.)
|
|
201
|
+
*/
|
|
202
|
+
declare const scrapeUrl: (url: string, options?: {
|
|
203
|
+
fetch?: ScrapeFetch;
|
|
204
|
+
tempDir?: string;
|
|
205
|
+
}) => Promise<ScrapeResult>;
|
|
206
|
+
/**
|
|
207
|
+
* Scrape title and ALL icon candidates from a service port. Never throws:
|
|
208
|
+
* failures return `ok: false` with whatever partial identity was found.
|
|
209
|
+
*/
|
|
210
|
+
declare const scrapeService: (port: number, options?: {
|
|
211
|
+
fetch?: ScrapeFetch;
|
|
212
|
+
tempDir?: string;
|
|
213
|
+
}) => Promise<ScrapeResult>;
|
|
214
|
+
//#endregion
|
|
215
|
+
//#region ../icon/src/generate.d.ts
|
|
216
|
+
interface OpenTrayAppIconOptions {
|
|
217
|
+
readonly sourcePath: string;
|
|
218
|
+
readonly outputPath?: string;
|
|
219
|
+
readonly icnsOutputPath?: string;
|
|
220
|
+
readonly icoOutputPath?: string;
|
|
221
|
+
readonly linuxOutputDirectory?: string;
|
|
222
|
+
readonly manifestOutputPath?: string;
|
|
223
|
+
readonly cachePath?: string;
|
|
224
|
+
/** Advanced: override the module whose bytes identify the generator implementation. */
|
|
225
|
+
readonly implementationPath?: string;
|
|
226
|
+
/** Advanced: override the source file whose bytes identify the generator implementation. */
|
|
227
|
+
readonly implementationSourcePath?: string;
|
|
228
|
+
/**
|
|
229
|
+
* Pre-composed source: skip glyph re-tiling; pass pixels through verbatim.
|
|
230
|
+
*/
|
|
231
|
+
readonly composed?: boolean;
|
|
232
|
+
/**
|
|
233
|
+
* Separate macOS content source; ICNS encodes from this while ICO/Linux
|
|
234
|
+
* use sourcePath.
|
|
235
|
+
*/
|
|
236
|
+
readonly macosSourcePath?: string;
|
|
237
|
+
}
|
|
238
|
+
interface OpenTrayAppIconCacheMetadata {
|
|
239
|
+
readonly schemaVersion: number;
|
|
240
|
+
readonly sourceSha256: string;
|
|
241
|
+
readonly macosSourceSha256?: string;
|
|
242
|
+
readonly composed?: boolean;
|
|
243
|
+
readonly sourceImplementationSha256: string | null;
|
|
244
|
+
readonly implementationSha256: string;
|
|
245
|
+
readonly recipeVersion: string;
|
|
246
|
+
readonly jsquashPngVersion: string;
|
|
247
|
+
readonly jsquashResizeVersion: string;
|
|
248
|
+
readonly resvgVersion: string;
|
|
249
|
+
readonly iconEncoderVersion: string;
|
|
250
|
+
readonly figmaSquircleVersion: string;
|
|
251
|
+
readonly exifrVersion: string;
|
|
252
|
+
readonly outputPath: string;
|
|
253
|
+
readonly icnsOutputPath: string;
|
|
254
|
+
readonly icoOutputPath: string;
|
|
255
|
+
readonly linuxPngOutputPaths: readonly {
|
|
256
|
+
readonly size: number;
|
|
257
|
+
readonly path: string;
|
|
258
|
+
}[];
|
|
259
|
+
readonly manifestOutputPath: string;
|
|
260
|
+
/** Absolute file sources ready to pass to OpenTray at runtime. */
|
|
261
|
+
readonly appIcon: AppIcon;
|
|
262
|
+
}
|
|
263
|
+
/** Generate one strict cross-platform AppIcon asset set. */
|
|
264
|
+
declare function generateOpenTrayAppIcon(options: OpenTrayAppIconOptions): Promise<OpenTrayAppIconCacheMetadata>;
|
|
265
|
+
//#endregion
|
|
266
|
+
//#region ../icon/src/default-icon.d.ts
|
|
267
|
+
interface DefaultAppIconOptions {
|
|
268
|
+
readonly appName: string;
|
|
269
|
+
readonly accent?: string;
|
|
270
|
+
readonly outputDir: string;
|
|
271
|
+
/**
|
|
272
|
+
* Output file stem. The runtime uses the default (`default-app-icon`); the
|
|
273
|
+
* create pipeline passes `app-icon` so the glyph fallback lands in the
|
|
274
|
+
* scaffold's standard catalog layout — one generator, one visual standard.
|
|
275
|
+
*/
|
|
276
|
+
readonly fileStem?: string;
|
|
277
|
+
/** Cache metadata path; defaults to `<outputDir>/../.cache/default-app-icon.json`. */
|
|
278
|
+
readonly cachePath?: string;
|
|
279
|
+
}
|
|
280
|
+
interface DefaultAppIconResult {
|
|
281
|
+
readonly fullPngPath: string;
|
|
282
|
+
readonly macOSPngPath: string;
|
|
283
|
+
readonly icnsPath: string;
|
|
284
|
+
readonly icoPath: string;
|
|
285
|
+
readonly linuxPngPaths: readonly {
|
|
286
|
+
size: number;
|
|
287
|
+
path: string;
|
|
288
|
+
}[];
|
|
289
|
+
readonly manifestPath: string;
|
|
290
|
+
/** Absolute file sources ready to pass to the runtime as `appIcon`. */
|
|
291
|
+
readonly appIcon: AppIcon;
|
|
292
|
+
readonly cacheIdentity: string;
|
|
293
|
+
/**
|
|
294
|
+
* True when the name's own first glyph could not be covered by the font
|
|
295
|
+
* ladder on this host and the neutral terminal mark was used instead
|
|
296
|
+
* (e.g. CJK names on CJK-less CI runners and containers).
|
|
297
|
+
*/
|
|
298
|
+
readonly degraded: boolean;
|
|
299
|
+
}
|
|
300
|
+
/** Generate (or reuse, by full identity) the default glyph App icon catalog. */
|
|
301
|
+
declare function generateDefaultAppIcon(options: DefaultAppIconOptions): Promise<DefaultAppIconResult>;
|
|
302
|
+
//#endregion
|
|
303
|
+
//#region ../icon/src/compose.d.ts
|
|
304
|
+
type IconBackground = "black" | "white" | "transparent";
|
|
305
|
+
//#endregion
|
|
306
|
+
//#region packages/core/src/command-run.d.ts
|
|
307
|
+
interface CommandRunEvent {
|
|
308
|
+
readonly type: "stdout" | "stderr" | "exit" | "spawn-error" | "pty-ready" | "pty-unavailable";
|
|
309
|
+
/** The PTY binding's output chunk, verbatim; rendering is the frontend's job. */
|
|
310
|
+
readonly chunk?: string;
|
|
311
|
+
readonly code?: number | null;
|
|
312
|
+
readonly message?: string;
|
|
313
|
+
}
|
|
314
|
+
interface CommandRunTerminalSize {
|
|
315
|
+
readonly cols: number;
|
|
316
|
+
readonly rows: number;
|
|
317
|
+
}
|
|
318
|
+
interface CommandRunOptions {
|
|
319
|
+
readonly tokens: readonly string[];
|
|
320
|
+
readonly cwd?: string;
|
|
321
|
+
readonly env?: NodeJS.ProcessEnv;
|
|
322
|
+
readonly ringLimit?: number;
|
|
323
|
+
/** Attach through a PTY when available; defaults to true. */
|
|
324
|
+
readonly pty?: boolean;
|
|
325
|
+
readonly terminalSize?: CommandRunTerminalSize;
|
|
326
|
+
readonly onEvent: (event: CommandRunEvent) => void;
|
|
327
|
+
}
|
|
328
|
+
interface CommandRun {
|
|
329
|
+
readonly pid: number | undefined;
|
|
330
|
+
readonly pty: boolean;
|
|
331
|
+
readonly exited: Promise<{
|
|
332
|
+
code: number | null;
|
|
333
|
+
spawnError?: string;
|
|
334
|
+
}>;
|
|
335
|
+
readonly output: readonly string[];
|
|
336
|
+
/** Write terminal input bytes to the command's stdin (PTY mode only). */
|
|
337
|
+
write(data: string): void;
|
|
338
|
+
/** Resize the pseudo-terminal (PTY mode only). */
|
|
339
|
+
resize(size: CommandRunTerminalSize): void;
|
|
340
|
+
kill(): Promise<void>;
|
|
341
|
+
}
|
|
342
|
+
declare const startCommandRun: (options: CommandRunOptions) => Promise<CommandRun>;
|
|
343
|
+
//#endregion
|
|
344
|
+
//#region packages/core/src/open-app.d.ts
|
|
345
|
+
interface OpenAppInput {
|
|
346
|
+
readonly projectDir: string;
|
|
347
|
+
readonly bundlePath: string | undefined;
|
|
348
|
+
readonly platform?: NodeJS.Platform | undefined;
|
|
349
|
+
}
|
|
350
|
+
interface OpenAppResult {
|
|
351
|
+
readonly ok: boolean;
|
|
352
|
+
readonly detail: string;
|
|
353
|
+
}
|
|
354
|
+
declare const openMaterializedApp: (input: OpenAppInput) => Promise<OpenAppResult>;
|
|
355
|
+
/** Platform-truthful pinning hint; makes no persistence claim before first open. */
|
|
356
|
+
declare const pinningHint: (platform?: NodeJS.Platform) => string;
|
|
357
|
+
//#endregion
|
|
358
|
+
//#region packages/core/src/scaffold.d.ts
|
|
359
|
+
interface ScaffoldAppConfig {
|
|
360
|
+
readonly schemaVersion: 1;
|
|
361
|
+
readonly appId: string;
|
|
362
|
+
readonly appName: string;
|
|
363
|
+
/** Command source; exactly one of command/url is present (v1 XOR). */
|
|
364
|
+
readonly command?: LaunchVector;
|
|
365
|
+
/** URL source: the address the generated window opens directly. */
|
|
366
|
+
readonly url?: string;
|
|
367
|
+
readonly service: {
|
|
368
|
+
readonly port: number;
|
|
369
|
+
};
|
|
370
|
+
readonly window: {
|
|
371
|
+
readonly width: number;
|
|
372
|
+
readonly height: number; /** URL applications: host the address-bar wrapper (D12). */
|
|
373
|
+
readonly toolbar?: boolean;
|
|
374
|
+
readonly titleFollowsDocument: boolean;
|
|
375
|
+
readonly iconFollowsDocument: boolean;
|
|
376
|
+
};
|
|
377
|
+
/** Tray icon asset (written by materialize); omitted → text-only tray. */
|
|
378
|
+
readonly trayIcon?: {
|
|
379
|
+
readonly path: string;
|
|
380
|
+
readonly template: boolean;
|
|
381
|
+
};
|
|
382
|
+
/** Generated-app shell (startup terminal / address-bar tabs). */
|
|
383
|
+
readonly shell?: {
|
|
384
|
+
readonly showTerminal: boolean;
|
|
385
|
+
readonly showAddressBar: boolean;
|
|
386
|
+
};
|
|
387
|
+
/** v1 developerMode: only WebView DevTools admission; default false. */
|
|
388
|
+
readonly developerMode?: boolean;
|
|
389
|
+
}
|
|
390
|
+
interface ScaffoldOptions {
|
|
391
|
+
readonly config: ScaffoldAppConfig;
|
|
392
|
+
readonly targetDir: string;
|
|
393
|
+
/** opentray/@opentray/ext-webview version range written into package.json. */
|
|
394
|
+
readonly dependencyRange: string;
|
|
395
|
+
/** Whether install will be skipped; only affects README guidance text. */
|
|
396
|
+
readonly skipInstall?: boolean;
|
|
397
|
+
/** Directory holding the prebuilt shell UI (copied to app-shell/).
|
|
398
|
+
* Defaults to the adapter-staged assets resolved from the running package
|
|
399
|
+
* layout (published create-opentray/dist/shell, or the workspace build). */
|
|
400
|
+
readonly shellAssetsDir?: string;
|
|
401
|
+
}
|
|
402
|
+
interface ScaffoldResult {
|
|
403
|
+
readonly projectDir: string;
|
|
404
|
+
readonly entryPath: string;
|
|
405
|
+
readonly configPath: string;
|
|
406
|
+
readonly appIconDir: string;
|
|
407
|
+
readonly writtenFiles: readonly string[];
|
|
408
|
+
}
|
|
409
|
+
declare const writeScaffold: (options: ScaffoldOptions) => Promise<ScaffoldResult>;
|
|
410
|
+
//#endregion
|
|
411
|
+
//#region packages/core/src/materialize.d.ts
|
|
412
|
+
type MaterializeLogEvent = {
|
|
413
|
+
readonly type: "step";
|
|
414
|
+
readonly step: string;
|
|
415
|
+
readonly message: string;
|
|
416
|
+
} | {
|
|
417
|
+
readonly type: "log";
|
|
418
|
+
readonly message: string;
|
|
419
|
+
};
|
|
420
|
+
interface MaterializeInput {
|
|
421
|
+
readonly config: ScaffoldAppConfig;
|
|
422
|
+
readonly targetDir: string;
|
|
423
|
+
readonly dependencyRange: string;
|
|
424
|
+
readonly iconSourcePath: string | undefined;
|
|
425
|
+
/** True when the tray source is a solid silhouette (darwin template). */
|
|
426
|
+
readonly trayIconIsSolid?: boolean;
|
|
427
|
+
/** Icon composition (owner round-12): background + foreground scale. */
|
|
428
|
+
readonly iconBackground?: IconBackground;
|
|
429
|
+
readonly iconScale?: number;
|
|
430
|
+
/** Nearest-neighbor sampling for pixel-art sources (v1 imageSmoothingEnabled). */
|
|
431
|
+
readonly imageSmoothingEnabled?: boolean;
|
|
432
|
+
/** Tray icon source; defaults to the app icon source when omitted. */
|
|
433
|
+
readonly trayIconSourcePath?: string;
|
|
434
|
+
/** Generated-app shell options (startup terminal / address bar). */
|
|
435
|
+
readonly shell?: {
|
|
436
|
+
showTerminal: boolean;
|
|
437
|
+
showAddressBar: boolean;
|
|
438
|
+
};
|
|
439
|
+
/** Adapter-owned prebuilt shell UI directory (copied to app-shell/). */
|
|
440
|
+
readonly shellAssetsDir?: string;
|
|
441
|
+
readonly packageManager: "npm" | "pnpm" | "bun";
|
|
442
|
+
readonly skipInstall: boolean;
|
|
443
|
+
readonly force: boolean;
|
|
444
|
+
}
|
|
445
|
+
interface MaterializeResult {
|
|
446
|
+
readonly scaffold: ScaffoldResult;
|
|
447
|
+
readonly projectDir: string;
|
|
448
|
+
}
|
|
449
|
+
interface MaterializeContext {
|
|
450
|
+
readonly log: (event: MaterializeLogEvent) => void;
|
|
451
|
+
readonly generateIcon?: typeof generateOpenTrayAppIcon;
|
|
452
|
+
/** Same seam for the glyph default catalog (wizard tests stub both). */
|
|
453
|
+
readonly generateDefaultIcon?: typeof generateDefaultAppIcon;
|
|
454
|
+
readonly runInstall?: (options: RunInstallOptions) => Promise<void>;
|
|
455
|
+
}
|
|
456
|
+
interface RunInstallOptions {
|
|
457
|
+
readonly projectDir: string;
|
|
458
|
+
readonly packageManager: "npm" | "pnpm" | "bun";
|
|
459
|
+
readonly log: (message: string) => void;
|
|
460
|
+
}
|
|
461
|
+
/** True when the directory exists and contains anything beyond ignorable files. */
|
|
462
|
+
declare const isDirectoryOccupied: (dir: string) => Promise<boolean>;
|
|
463
|
+
/** Detect package manager from lockfiles then npm_config_user_agent. */
|
|
464
|
+
declare const detectPackageManager: (files: readonly string[], userAgent: string | undefined) => "npm" | "pnpm" | "bun";
|
|
465
|
+
/** Expected stable Darwin bundle path for the generated project's identity. */
|
|
466
|
+
declare const expectedDarwinBundlePath: (config: {
|
|
467
|
+
appName: string;
|
|
468
|
+
appId: string;
|
|
469
|
+
}) => string;
|
|
470
|
+
/**
|
|
471
|
+
* Backward-compatible composition used by the wizard adapter: generation is
|
|
472
|
+
* the payload phase. There is no first-launch validation — the wizard panel's
|
|
473
|
+
* command preview is the validator (decision D1).
|
|
474
|
+
*/
|
|
475
|
+
declare const materialize: (input: MaterializeInput, context: MaterializeContext) => Promise<MaterializeResult>;
|
|
476
|
+
//#endregion
|
|
5
477
|
//#region src/wizard.d.ts
|
|
6
478
|
interface WizardEnvEntry {
|
|
7
479
|
readonly key: string;
|
|
@@ -97,7 +569,7 @@ type WizardEvent = {
|
|
|
97
569
|
readonly defaultCwd: string;
|
|
98
570
|
} | {
|
|
99
571
|
readonly type: "services";
|
|
100
|
-
readonly services: readonly DiscoveredService
|
|
572
|
+
readonly services: readonly DiscoveredService[];
|
|
101
573
|
readonly selectedPort: number | undefined;
|
|
102
574
|
} | {
|
|
103
575
|
readonly type: "scrape";
|
|
@@ -129,12 +601,13 @@ type WizardEvent = {
|
|
|
129
601
|
readonly type: "snapshot";
|
|
130
602
|
readonly state: WizardState;
|
|
131
603
|
readonly runAlive: boolean;
|
|
132
|
-
readonly command: string;
|
|
604
|
+
readonly command: string; /** URL 模式激活时的源地址(命令模式为 undefined)。 */
|
|
605
|
+
readonly urlSource?: string;
|
|
133
606
|
readonly commandOptions: WizardCommandOptions;
|
|
134
607
|
readonly form: WizardFormValues;
|
|
135
608
|
readonly defaults: WizardFormDefaults;
|
|
136
609
|
readonly targetDirExists: boolean;
|
|
137
|
-
readonly services: readonly DiscoveredService
|
|
610
|
+
readonly services: readonly DiscoveredService[];
|
|
138
611
|
readonly selectedPort?: number | undefined;
|
|
139
612
|
readonly iconCandidates: readonly ScrapedIcon[];
|
|
140
613
|
readonly iconsPort?: number | undefined;
|
|
@@ -159,20 +632,22 @@ interface WizardOptions {
|
|
|
159
632
|
readonly listListeners?: () => Promise<ReadonlySet<number>>;
|
|
160
633
|
readonly verifyHttp?: (port: number) => Promise<boolean>;
|
|
161
634
|
/** Test/embedding seam for listener ownership. */
|
|
162
|
-
readonly listPortOwners?: () => Promise<
|
|
163
|
-
readonly scrape?: typeof scrapeService
|
|
164
|
-
|
|
635
|
+
readonly listPortOwners?: () => Promise<ListenerOwners>;
|
|
636
|
+
readonly scrape?: typeof scrapeService;
|
|
637
|
+
/** Test seam for the URL-mode preset scrape. */
|
|
638
|
+
readonly scrapeUrl?: typeof scrapeUrl;
|
|
639
|
+
readonly resolveVector?: typeof resolveLaunchVector;
|
|
165
640
|
/** Test/embedding seam for PATH resolution of the cargo-install guard. */
|
|
166
|
-
readonly resolveOnPath?: typeof resolveOnPath
|
|
641
|
+
readonly resolveOnPath?: typeof resolveOnPath;
|
|
167
642
|
/** Test/embedding seam for the materialize pipeline. */
|
|
168
|
-
readonly materializeContext?: Partial<MaterializeContext
|
|
643
|
+
readonly materializeContext?: Partial<MaterializeContext>;
|
|
169
644
|
readonly platform?: NodeJS.Platform;
|
|
170
645
|
readonly pollIntervalMs?: number;
|
|
171
646
|
readonly scrapeIntervalMs?: number;
|
|
172
647
|
}
|
|
173
648
|
interface WizardSession {
|
|
174
649
|
readonly state: WizardState;
|
|
175
|
-
readonly services: readonly DiscoveredService
|
|
650
|
+
readonly services: readonly DiscoveredService[];
|
|
176
651
|
readonly selectedPort: number | undefined;
|
|
177
652
|
/** True while the preview process is alive (Run button shows Interrupt). */
|
|
178
653
|
readonly runAlive: boolean;
|
|
@@ -203,12 +678,17 @@ interface WizardSession {
|
|
|
203
678
|
/** Auto-suggestion for the foreground (background + reason). */
|
|
204
679
|
analyzeIconForeground(foregroundPath: string): Promise<WizardIconAnalysis>;
|
|
205
680
|
readonly form: WizardFormValues;
|
|
206
|
-
readonly result: MaterializeResult
|
|
681
|
+
readonly result: MaterializeResult | undefined;
|
|
207
682
|
/** Whole-session state for reconnecting clients (page refresh recovery). */
|
|
208
683
|
snapshot(): WizardEvent;
|
|
209
684
|
/** String form is tokenized; array form is taken as argv verbatim (array
|
|
210
685
|
* input mode — no string splitting is ever applied to it). */
|
|
211
686
|
submitCommand(command: string | readonly string[]): Promise<void>;
|
|
687
|
+
/** URL 模式入口:地址即源(一次抓取预设,进入 discovered 可确认态);
|
|
688
|
+
* 空 url 退出 URL 模式回到 idle。 */
|
|
689
|
+
submitUrl(url: string): Promise<void>;
|
|
690
|
+
/** Active URL-mode source address; undefined in command mode. */
|
|
691
|
+
readonly urlSource: string | undefined;
|
|
212
692
|
/** Derive placeholder defaults from command text without spawning anything. */
|
|
213
693
|
prime(command: string | readonly string[]): void;
|
|
214
694
|
readonly commandOptions: WizardCommandOptions;
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/wizard.ts","../src/server.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../packages/core/src/app-id.ts","../packages/core/src/command-family.ts","../packages/core/src/launch-vector.ts","../packages/core/src/tokenize.ts","../packages/core/src/port-scan.ts","../packages/core/src/scrape.ts","../../icon/src/generate.ts","../../icon/src/default-icon.ts","../../icon/src/compose.ts","../packages/core/src/command-run.ts","../packages/core/src/open-app.ts","../packages/core/src/scaffold.ts","../packages/core/src/materialize.ts","../src/wizard.ts","../src/server.ts"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import { a as isAuthorized, i as createWizardServer, o as isLoopbackHost, r as parseWizardCli, s as createWizardSession, t as main } from "./bin-
|
|
2
|
-
import { createPortDiscovery, deriveDefaultAppId, deriveDefaultAppName, detectPackageManager, expectedDarwinBundlePath, extractFaviconCandidates, extractTitle, faviconCandidateSize, isDirectoryOccupied, isValidAppId, materialize, openMaterializedApp, parseLsofPorts, parseNetstatPorts, parsePowerShellPorts, parseShebangInterpreter, pinningHint, rankFaviconCandidates, resolveFaviconUrl, resolveLaunchVector, resolveOnPath, scrapeService, serviceUrl, toProjectDirectoryName, tokenizeCommandLine, verifyHttpService, waitForTcpPort, writeScaffold } from "@create-opentray/core";
|
|
1
|
+
import { A as resolveOnPath, C as parseNetstatPorts, D as waitForTcpPort, E as verifyHttpService, F as toProjectDirectoryName, M as deriveDefaultAppId, N as deriveDefaultAppName, O as parseShebangInterpreter, P as isValidAppId, S as parseLsofPorts, T as serviceUrl, _ as faviconCandidateSize, a as isAuthorized, b as scrapeService, c as openMaterializedApp, d as expectedDarwinBundlePath, f as isDirectoryOccupied, g as extractTitle, h as extractFaviconCandidates, i as createWizardServer, j as tokenizeCommandLine, k as resolveLaunchVector, l as pinningHint, m as writeScaffold, o as isLoopbackHost, p as materialize, r as parseWizardCli, s as createWizardSession, t as main, u as detectPackageManager, v as rankFaviconCandidates, w as parsePowerShellPorts, x as createPortDiscovery, y as resolveFaviconUrl } from "./bin-Dyfucd3C.mjs";
|
|
3
2
|
export { createPortDiscovery, createWizardServer, createWizardSession, deriveDefaultAppId, deriveDefaultAppName, detectPackageManager, expectedDarwinBundlePath, extractFaviconCandidates, extractTitle, faviconCandidateSize, isAuthorized, isDirectoryOccupied, isLoopbackHost, isValidAppId, materialize, openMaterializedApp, parseLsofPorts, parseNetstatPorts, parsePowerShellPorts, parseShebangInterpreter, parseWizardCli, pinningHint, rankFaviconCandidates, resolveFaviconUrl, resolveLaunchVector, resolveOnPath, main as runWizardMain, scrapeService, serviceUrl, toProjectDirectoryName, tokenizeCommandLine, verifyHttpService, waitForTcpPort, writeScaffold };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { decode, n as encode$1, t as __wbg_init } from "./decode-FysWS28R.mjs";
|
|
2
|
+
//#region ../../node_modules/.pnpm/@jsquash+png@3.1.1/node_modules/@jsquash/png/encode.js
|
|
3
|
+
/**
|
|
4
|
+
* Copyright 2020 Google Inc. All Rights Reserved.
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
let pngModule;
|
|
16
|
+
async function init(moduleOrPath) {
|
|
17
|
+
if (!pngModule) pngModule = __wbg_init(moduleOrPath);
|
|
18
|
+
return pngModule;
|
|
19
|
+
}
|
|
20
|
+
async function encode(data, options = {}) {
|
|
21
|
+
var _a;
|
|
22
|
+
await init();
|
|
23
|
+
const bitDepth = (_a = options === null || options === void 0 ? void 0 : options.bitDepth) !== null && _a !== void 0 ? _a : 8;
|
|
24
|
+
if (bitDepth !== 8 && bitDepth !== 16) throw new Error("Invalid bit depth. Must be either 8 or 16.");
|
|
25
|
+
const isUint16Array = data.data instanceof Uint16Array;
|
|
26
|
+
if (isUint16Array && bitDepth !== 16) throw new Error("Invalid bit depth, must be 16 for Uint16Array or manually convert to RGB8 values with Uint8Array.");
|
|
27
|
+
if (!isUint16Array && bitDepth === 16) throw new Error("Invalid bit depth, must be 8 for Uint8Array or manually convert to RGB16 values with Uint16Array.");
|
|
28
|
+
const output = await encode$1(new Uint8Array(data.data.buffer), data.width, data.height, bitDepth);
|
|
29
|
+
if (!output) throw new Error("Encoding error.");
|
|
30
|
+
return output.buffer;
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { decode, encode };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=png-rD0XEazj.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"png-rD0XEazj.mjs","names":["initPngModule","pngEncode"],"sources":["../../../node_modules/.pnpm/@jsquash+png@3.1.1/node_modules/@jsquash/png/encode.js"],"sourcesContent":["/**\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport initPngModule, { encode as pngEncode } from './codec/pkg/squoosh_png.js';\nlet pngModule;\nexport async function init(moduleOrPath) {\n if (!pngModule) {\n pngModule = initPngModule(moduleOrPath);\n }\n return pngModule;\n}\nexport default async function encode(data, options = {}) {\n var _a;\n await init();\n const bitDepth = (_a = options === null || options === void 0 ? void 0 : options.bitDepth) !== null && _a !== void 0 ? _a : 8;\n if (bitDepth !== 8 && bitDepth !== 16) {\n throw new Error('Invalid bit depth. Must be either 8 or 16.');\n }\n const isUint16Array = data.data instanceof Uint16Array;\n if (isUint16Array && bitDepth !== 16) {\n throw new Error('Invalid bit depth, must be 16 for Uint16Array or manually convert to RGB8 values with Uint8Array.');\n }\n if (!isUint16Array && bitDepth === 16) {\n throw new Error('Invalid bit depth, must be 8 for Uint8Array or manually convert to RGB16 values with Uint16Array.');\n }\n const encodeData = new Uint8Array(data.data.buffer);\n const output = await pngEncode(encodeData, data.width, data.height, bitDepth);\n if (!output)\n throw new Error('Encoding error.');\n return output.buffer;\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;AAaA,IAAI;AACJ,eAAsB,KAAK,cAAc;CACrC,IAAI,CAAC,WACD,YAAYA,WAAc,YAAY;CAE1C,OAAO;AACX;AACA,eAA8B,OAAO,MAAM,UAAU,CAAC,GAAG;CACrD,IAAI;CACJ,MAAM,KAAK;CACX,MAAM,YAAY,KAAK,YAAY,QAAQ,YAAY,KAAK,IAAI,KAAK,IAAI,QAAQ,cAAc,QAAQ,OAAO,KAAK,IAAI,KAAK;CAC5H,IAAI,aAAa,KAAK,aAAa,IAC/B,MAAM,IAAI,MAAM,4CAA4C;CAEhE,MAAM,gBAAgB,KAAK,gBAAgB;CAC3C,IAAI,iBAAiB,aAAa,IAC9B,MAAM,IAAI,MAAM,mGAAmG;CAEvH,IAAI,CAAC,iBAAiB,aAAa,IAC/B,MAAM,IAAI,MAAM,mGAAmG;CAGvH,MAAM,SAAS,MAAMC,SAAU,IADR,WAAW,KAAK,KAAK,MACJ,GAAG,KAAK,OAAO,KAAK,QAAQ,QAAQ;CAC5E,IAAI,CAAC,QACD,MAAM,IAAI,MAAM,iBAAiB;CACrC,OAAO,OAAO;AAClB"}
|