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.
Files changed (46) hide show
  1. package/README.md +28 -6
  2. package/dist/avif-DCXcyYJR.mjs +2 -0
  3. package/dist/bin-Dyfucd3C.mjs +20810 -0
  4. package/dist/bin-Dyfucd3C.mjs.map +1 -0
  5. package/dist/bin.mjs +1 -1
  6. package/dist/decode-C4b5NXc_.mjs +1236 -0
  7. package/dist/decode-C4b5NXc_.mjs.map +1 -0
  8. package/dist/decode-Dsj9J0OD.mjs +1214 -0
  9. package/dist/decode-Dsj9J0OD.mjs.map +1 -0
  10. package/dist/decode-FysWS28R.mjs +254 -0
  11. package/dist/decode-FysWS28R.mjs.map +1 -0
  12. package/dist/decode-Xr7mARKr.mjs +1262 -0
  13. package/dist/decode-Xr7mARKr.mjs.map +1 -0
  14. package/dist/decode-ico-D3SL2BXi.mjs +274 -0
  15. package/dist/decode-ico-D3SL2BXi.mjs.map +1 -0
  16. package/dist/full.umd-oM1VUBRH.mjs +3055 -0
  17. package/dist/full.umd-oM1VUBRH.mjs.map +1 -0
  18. package/dist/index.d.mts +491 -11
  19. package/dist/index.d.mts.map +1 -1
  20. package/dist/index.mjs +1 -2
  21. package/dist/jpeg-B4tsxG5f.mjs +2 -0
  22. package/dist/png-rD0XEazj.mjs +35 -0
  23. package/dist/png-rD0XEazj.mjs.map +1 -0
  24. package/dist/raster-BQ07mKLu.mjs +493 -0
  25. package/dist/raster-BQ07mKLu.mjs.map +1 -0
  26. package/dist/resize-B47sgoOb.mjs +489 -0
  27. package/dist/resize-B47sgoOb.mjs.map +1 -0
  28. package/dist/resvg-wasm-fcJTLpJs.mjs +522 -0
  29. package/dist/resvg-wasm-fcJTLpJs.mjs.map +1 -0
  30. package/dist/rolldown-runtime-JspESFgx.mjs +35 -0
  31. package/dist/shell/assets/browse.js +1 -1
  32. package/dist/shell/assets/index.css +1 -1
  33. package/dist/shell/assets/main.js +17 -17
  34. package/dist/skill/SKILL.md +46 -17
  35. package/dist/skill/references/cli-reference.md +8 -3
  36. package/dist/skill/references/how-it-works.md +30 -0
  37. package/dist/webp-CcbaCrQ7.mjs +2 -0
  38. package/dist/webui/assets/browse.js +1 -1
  39. package/dist/webui/assets/index.css +1 -1
  40. package/dist/webui/assets/main.js +17 -17
  41. package/package.json +7 -8
  42. package/skill/SKILL.md +46 -17
  43. package/skill/references/cli-reference.md +8 -3
  44. package/skill/references/how-it-works.md +30 -0
  45. package/dist/bin-Dl6P1QjJ.mjs +0 -2213
  46. 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$1[];
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$1[];
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<import("@create-opentray/core").ListenerOwners>;
163
- readonly scrape?: typeof scrapeService$1;
164
- readonly resolveVector?: typeof resolveLaunchVector$1;
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$1;
641
+ readonly resolveOnPath?: typeof resolveOnPath;
167
642
  /** Test/embedding seam for the materialize pipeline. */
168
- readonly materializeContext?: Partial<MaterializeContext$1>;
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$1[];
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$1 | undefined;
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;
@@ -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-Dl6P1QjJ.mjs";
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,2 @@
1
+ import decode from "./decode-Xr7mARKr.mjs";
2
+ export { decode };
@@ -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"}