@tappify/cli 1.6.0 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/tappify CHANGED
@@ -1,17 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  const path = require('path');
4
- const { spawn } = require('child_process');
5
4
 
6
5
  const mainPath = path.resolve(__dirname, '../dist/src/main.js');
7
- const nodeArgs = [mainPath, ...process.argv.slice(2)];
8
-
9
- const child = spawn('node', nodeArgs, {
10
- stdio: 'inherit',
11
- env: process.env
12
- });
13
-
14
- child.on('exit', (code) => {
15
- process.exit(code);
16
- });
17
-
6
+ require(mainPath);
@@ -6,14 +6,20 @@ export interface RunOptions {
6
6
  cwd?: string;
7
7
  env?: NodeJS.ProcessEnv;
8
8
  }
9
+ export interface StartOptions extends RunOptions {
10
+ onData?: (chunk: string) => void;
11
+ inherit?: boolean;
12
+ }
9
13
  export interface RunningProcess {
10
14
  kill(signal?: NodeJS.Signals): void;
15
+ stop(signal?: NodeJS.Signals, timeoutMs?: number): Promise<void>;
16
+ output(): string;
11
17
  exited: Promise<number>;
12
18
  }
13
19
  export declare class ShellService {
14
20
  which(cmd: string): Promise<boolean>;
15
21
  run(command: string, args: string[], opts?: RunOptions): Promise<RunResult>;
16
- start(command: string, args: string[], opts?: RunOptions): RunningProcess;
22
+ start(command: string, args: string[], opts?: StartOptions): RunningProcess;
17
23
  runPty(command: string, args: string[], opts: Pick<RunOptions, 'cwd' | 'env'> & {
18
24
  onData: (chunk: string) => void;
19
25
  }): Promise<number>;
@@ -47,6 +47,8 @@ const path = __importStar(require("node:path"));
47
47
  const node_util_1 = require("node:util");
48
48
  const execAsync = (0, node_util_1.promisify)(node_child_process_1.exec);
49
49
  const IS_PKG = 'pkg' in process;
50
+ const MAX_CAPTURED_OUTPUT = 64 * 1024;
51
+ const DEFAULT_STOP_TIMEOUT_MS = 3_000;
50
52
  let ShellService = class ShellService {
51
53
  async which(cmd) {
52
54
  const probe = process.platform === 'win32' ? `where ${cmd}` : `command -v ${cmd}`;
@@ -75,17 +77,85 @@ let ShellService = class ShellService {
75
77
  });
76
78
  }
77
79
  start(command, args, opts = {}) {
80
+ const detached = process.platform !== 'win32' && opts.inherit !== true;
78
81
  const child = (0, node_child_process_1.spawn)(command, args, {
79
- stdio: 'inherit',
82
+ stdio: opts.inherit === true ? 'inherit' : ['ignore', 'pipe', 'pipe'],
83
+ detached,
80
84
  cwd: opts.cwd,
81
85
  env: opts.env ? { ...process.env, ...opts.env } : process.env,
82
86
  });
87
+ let captured = '';
88
+ const onData = (buffer) => {
89
+ const chunk = buffer.toString();
90
+ captured = `${captured}${chunk}`.slice(-MAX_CAPTURED_OUTPUT);
91
+ opts.onData?.(chunk);
92
+ };
93
+ child.stdout?.on('data', onData);
94
+ child.stderr?.on('data', onData);
83
95
  const exited = new Promise(resolve => {
84
96
  child.on('close', code => resolve(code ?? 1));
85
- child.on('error', () => resolve(1));
97
+ child.on('error', error => {
98
+ onData(Buffer.from(`${error.message}\n`));
99
+ resolve(1);
100
+ });
86
101
  });
102
+ const processGroupAlive = () => {
103
+ if (!detached || child.pid === undefined) {
104
+ return child.exitCode === null && child.signalCode === null;
105
+ }
106
+ try {
107
+ process.kill(-child.pid, 0);
108
+ return true;
109
+ }
110
+ catch (error) {
111
+ return error.code !== 'ESRCH';
112
+ }
113
+ };
114
+ const kill = (signal = 'SIGTERM') => {
115
+ if (process.platform === 'win32') {
116
+ if (child.exitCode !== null || child.signalCode !== null)
117
+ return;
118
+ const args = ['/pid', String(child.pid), '/t'];
119
+ if (signal === 'SIGKILL')
120
+ args.push('/f');
121
+ (0, node_child_process_1.spawn)('taskkill', args, { stdio: 'ignore' }).unref();
122
+ return;
123
+ }
124
+ try {
125
+ if (detached && child.pid !== undefined)
126
+ process.kill(-child.pid, signal);
127
+ else if (child.exitCode === null && child.signalCode === null)
128
+ child.kill(signal);
129
+ }
130
+ catch (error) {
131
+ if (error.code !== 'ESRCH')
132
+ throw error;
133
+ }
134
+ };
135
+ const waitUntilStopped = async (timeoutMs) => {
136
+ const deadline = Date.now() + Math.max(0, timeoutMs);
137
+ while (processGroupAlive()) {
138
+ const remaining = deadline - Date.now();
139
+ if (remaining <= 0)
140
+ return false;
141
+ await new Promise(resolve => setTimeout(resolve, Math.min(25, remaining)));
142
+ }
143
+ return true;
144
+ };
145
+ const stop = async (signal = 'SIGTERM', timeoutMs = DEFAULT_STOP_TIMEOUT_MS) => {
146
+ kill(signal);
147
+ if (!(await waitUntilStopped(timeoutMs))) {
148
+ kill('SIGKILL');
149
+ if (!(await waitUntilStopped(DEFAULT_STOP_TIMEOUT_MS))) {
150
+ throw new Error('The child process group did not stop.');
151
+ }
152
+ }
153
+ await exited;
154
+ };
87
155
  return {
88
- kill: (signal = 'SIGTERM') => child.kill(signal),
156
+ kill,
157
+ stop,
158
+ output: () => captured,
89
159
  exited,
90
160
  };
91
161
  }
@@ -124,7 +194,7 @@ let ShellService = class ShellService {
124
194
  });
125
195
  }
126
196
  runInherit(command, args, opts) {
127
- return this.start(command, args, opts).exited;
197
+ return this.start(command, args, { ...opts, inherit: true }).exited;
128
198
  }
129
199
  ensurePtyHelperExecutable() {
130
200
  if (process.platform === 'win32')
@@ -1 +1 @@
1
- {"version":3,"file":"shell.service.js","sourceRoot":"","sources":["../../../../src/core/shell/shell.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.service.js","sourceRoot":"","sources":["../../../../src/core/shell/shell.service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export declare const shouldRestoreCursor: (isTTY: boolean | undefined, args: string[]) => boolean;
1
2
  export declare const beginTeardown: () => void;
2
3
  export declare const endTeardown: () => void;
3
4
  export declare const deferAbort: () => boolean;
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deferAbort = exports.endTeardown = exports.beginTeardown = void 0;
3
+ exports.deferAbort = exports.endTeardown = exports.beginTeardown = exports.shouldRestoreCursor = void 0;
4
4
  let tearingDown = false;
5
5
  let insisted = false;
6
+ let insistTimer;
7
+ const INSIST_GRACE_MS = 750;
8
+ const shouldRestoreCursor = (isTTY, args) => isTTY === true && !args.includes('--json');
9
+ exports.shouldRestoreCursor = shouldRestoreCursor;
6
10
  const beginTeardown = () => {
7
11
  tearingDown = true;
8
12
  };
@@ -10,12 +14,21 @@ exports.beginTeardown = beginTeardown;
10
14
  const endTeardown = () => {
11
15
  tearingDown = false;
12
16
  insisted = false;
17
+ if (insistTimer !== undefined)
18
+ clearTimeout(insistTimer);
19
+ insistTimer = undefined;
13
20
  };
14
21
  exports.endTeardown = endTeardown;
15
22
  const deferAbort = () => {
16
23
  if (!tearingDown || insisted)
17
24
  return false;
18
- insisted = true;
25
+ if (insistTimer === undefined) {
26
+ insistTimer = setTimeout(() => {
27
+ insistTimer = undefined;
28
+ insisted = true;
29
+ }, INSIST_GRACE_MS);
30
+ insistTimer.unref();
31
+ }
19
32
  return true;
20
33
  };
21
34
  exports.deferAbort = deferAbort;
@@ -1 +1 @@
1
- {"version":3,"file":"teardown.js","sourceRoot":"","sources":["../../../../src/core/shutdown/teardown.ts"],"names":[],"mappings":";;;AAAA,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,QAAQ,GAAG,KAAK,CAAC;AAQd,MAAM,aAAa,GAAG,GAAS,EAAE;IACtC,WAAW,GAAG,IAAI,CAAC;AACrB,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEK,MAAM,WAAW,GAAG,GAAS,EAAE;IACpC,WAAW,GAAG,KAAK,CAAC;IACpB,QAAQ,GAAG,KAAK,CAAC;AACnB,CAAC,CAAC;AAHW,QAAA,WAAW,eAGtB;AAOK,MAAM,UAAU,GAAG,GAAY,EAAE;IACtC,IAAI,CAAC,WAAW,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3C,QAAQ,GAAG,IAAI,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAJW,QAAA,UAAU,cAIrB"}
1
+ {"version":3,"file":"teardown.js","sourceRoot":"","sources":["../../../../src/core/shutdown/teardown.ts"],"names":[],"mappings":";;;AAAA,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,IAAI,WAAuC,CAAC;AAC5C,MAAM,eAAe,GAAG,GAAG,CAAC;AAErB,MAAM,mBAAmB,GAAG,CACjC,KAA0B,EAC1B,IAAc,EACL,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAH5C,QAAA,mBAAmB,uBAGyB;AAQlD,MAAM,aAAa,GAAG,GAAS,EAAE;IACtC,WAAW,GAAG,IAAI,CAAC;AACrB,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEK,MAAM,WAAW,GAAG,GAAS,EAAE;IACpC,WAAW,GAAG,KAAK,CAAC;IACpB,QAAQ,GAAG,KAAK,CAAC;IACjB,IAAI,WAAW,KAAK,SAAS;QAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACzD,WAAW,GAAG,SAAS,CAAC;AAC1B,CAAC,CAAC;AALW,QAAA,WAAW,eAKtB;AAOK,MAAM,UAAU,GAAG,GAAY,EAAE;IACtC,IAAI,CAAC,WAAW,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,WAAW,GAAG,SAAS,CAAC;YACxB,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC,EAAE,eAAe,CAAC,CAAC;QACpB,WAAW,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAVW,QAAA,UAAU,cAUrB"}
@@ -12,6 +12,7 @@ export interface DevOptions extends ExtensionOptions {
12
12
  server?: string;
13
13
  remote?: string;
14
14
  open?: boolean;
15
+ verbose?: boolean;
15
16
  }
16
17
  export declare class DevRunner extends ExtensionRunner<DevOptions> {
17
18
  private readonly manifests;
@@ -26,10 +27,12 @@ export declare class DevRunner extends ExtensionRunner<DevOptions> {
26
27
  private remoteFor;
27
28
  private register;
28
29
  private startVite;
30
+ private printReady;
29
31
  private watchManifest;
30
32
  parsePort(value: string): string;
31
33
  parseLive(): boolean;
32
34
  parseServer(value: string): string;
33
35
  parseRemote(value: string): string;
34
36
  parseOpen(): boolean;
37
+ parseVerbose(): boolean;
35
38
  }
@@ -57,7 +57,12 @@ let DevRunner = class DevRunner extends extension_runner_js_1.ExtensionRunner {
57
57
  const session = options.live === true
58
58
  ? await this.register(manifest, options, port)
59
59
  : null;
60
- let child = this.startVite(root, port, explicitRemote);
60
+ if (!this.output.isJson()) {
61
+ this.output.line('Tappify extension dev');
62
+ this.output.line('');
63
+ this.output.detail(`Starting ${manifest.name}…`);
64
+ }
65
+ let child = this.startVite(root, port, explicitRemote, options.verbose === true && !this.output.isJson());
61
66
  let topology = previewTopology(manifest);
62
67
  let stopping = false;
63
68
  const expectedExits = new WeakSet();
@@ -77,9 +82,65 @@ let DevRunner = class DevRunner extends extension_runner_js_1.ExtensionRunner {
77
82
  observe(child);
78
83
  let watcher = null;
79
84
  let restartQueue = Promise.resolve();
80
- let cleanup = null;
85
+ const readiness = new AbortController();
86
+ let cancelStartup = () => undefined;
87
+ const startupCancelled = new Promise(resolve => {
88
+ cancelStartup = () => resolve(false);
89
+ });
90
+ let cleaned = false;
91
+ const cleanup = async (announce = true, signal = 'SIGTERM') => {
92
+ if (cleaned)
93
+ return;
94
+ cleaned = true;
95
+ stopping = true;
96
+ readiness.abort();
97
+ process.off('SIGINT', onInterrupt);
98
+ process.off('SIGTERM', onTerminate);
99
+ try {
100
+ await watcher?.close().catch(() => undefined);
101
+ expectedExits.add(child);
102
+ if (signal === 'SIGINT')
103
+ await child.stop(signal, 500);
104
+ else
105
+ await child.stop(signal);
106
+ if (session !== null) {
107
+ await this.dev.endSession(manifest).catch(() => undefined);
108
+ if (announce) {
109
+ this.output.line(`✓ ${manifest.name} stopped; sandbox install paused`);
110
+ }
111
+ }
112
+ else if (announce) {
113
+ this.output.line(`✓ ${manifest.name} stopped`);
114
+ }
115
+ }
116
+ finally {
117
+ (0, teardown_js_1.endTeardown)();
118
+ }
119
+ };
120
+ const onSignal = (code) => {
121
+ process.exitCode = code;
122
+ cancelStartup();
123
+ finish(null);
124
+ void cleanup(true, code === 130 ? 'SIGINT' : 'SIGTERM').catch(() => undefined);
125
+ };
126
+ const onInterrupt = () => onSignal(130);
127
+ const onTerminate = () => onSignal(143);
128
+ (0, teardown_js_1.beginTeardown)();
129
+ process.prependOnceListener('SIGINT', onInterrupt);
130
+ process.prependOnceListener('SIGTERM', onTerminate);
81
131
  try {
82
- await this.dev.waitUntilReady([preview, remote]);
132
+ const startup = await Promise.race([
133
+ this.dev
134
+ .waitUntilReady([preview, remote], { signal: readiness.signal })
135
+ .then(() => ({ state: 'ready' })),
136
+ child.exited.then(code => ({ state: 'exited', code })),
137
+ startupCancelled,
138
+ ]);
139
+ if (startup === false)
140
+ return;
141
+ if (startup.state === 'exited') {
142
+ throw new Error(`Development server exited before the local preview was ready (exit code ${startup.code}).`);
143
+ }
83
144
  const restart = (next) => {
84
145
  restartQueue = restartQueue
85
146
  .then(async () => {
@@ -89,52 +150,20 @@ let DevRunner = class DevRunner extends extension_runner_js_1.ExtensionRunner {
89
150
  this.output.detail(`${manifest_service_js_1.MANIFEST_FILE} changed the preview surfaces; restarting Vite.`);
90
151
  const previous = child;
91
152
  expectedExits.add(previous);
92
- previous.kill('SIGTERM');
93
- await previous.exited;
153
+ await previous.stop('SIGTERM');
94
154
  if (stopping)
95
155
  return;
96
- const replacement = this.startVite(root, port, explicitRemote);
156
+ const replacement = this.startVite(root, port, explicitRemote, options.verbose === true && !this.output.isJson());
97
157
  child = replacement;
98
158
  observe(replacement);
99
- await this.dev.waitUntilReady([preview, remote]);
159
+ await this.dev.waitUntilReady([preview, remote], {
160
+ signal: readiness.signal,
161
+ });
100
162
  topology = nextTopology;
101
163
  })
102
164
  .catch(error => fail(error));
103
165
  };
104
166
  watcher = this.watchManifest(root, restart);
105
- let cleaned = false;
106
- cleanup = async () => {
107
- if (cleaned)
108
- return;
109
- cleaned = true;
110
- stopping = true;
111
- process.off('SIGINT', onInterrupt);
112
- process.off('SIGTERM', onTerminate);
113
- await watcher?.close().catch(() => undefined);
114
- expectedExits.add(child);
115
- child.kill('SIGTERM');
116
- if (session !== null) {
117
- await this.dev.endSession(manifest).catch(() => undefined);
118
- this.output.line('Stopped the dev session; the sandbox install is paused.');
119
- }
120
- else {
121
- this.output.line(`Stopped serving ${manifest.id}.`);
122
- }
123
- };
124
- const onSignal = (code) => {
125
- (0, teardown_js_1.beginTeardown)();
126
- void cleanup?.()
127
- .catch(() => undefined)
128
- .then(() => {
129
- finish(null);
130
- (0, teardown_js_1.endTeardown)();
131
- process.exit(code);
132
- });
133
- };
134
- const onInterrupt = () => onSignal(130);
135
- const onTerminate = () => onSignal(143);
136
- process.prependOnceListener('SIGINT', onInterrupt);
137
- process.prependOnceListener('SIGTERM', onTerminate);
138
167
  if (this.output.isJson()) {
139
168
  this.output.result({
140
169
  id: manifest.id,
@@ -145,10 +174,10 @@ let DevRunner = class DevRunner extends extension_runner_js_1.ExtensionRunner {
145
174
  });
146
175
  }
147
176
  else if (session === null) {
148
- this.output.success(`Serving ${manifest.id} on ${remote}.`, `Preview: ${preview}`);
177
+ this.printReady(manifest, preview, remote);
149
178
  }
150
179
  else {
151
- this.output.success(`Serving ${manifest.id} on ${remote} and installed on your sandbox project.`, `Open ${session.hostUrl} to use it in the host.`);
180
+ this.printReady(manifest, preview, remote, session.hostUrl);
152
181
  }
153
182
  if (!this.output.isJson() && options.open !== false) {
154
183
  const open = (await import('open')).default;
@@ -160,18 +189,21 @@ let DevRunner = class DevRunner extends extension_runner_js_1.ExtensionRunner {
160
189
  process.exitCode = code;
161
190
  }
162
191
  catch (error) {
163
- if (cleanup !== null)
164
- await cleanup().catch(() => undefined);
165
- else {
166
- stopping = true;
167
- expectedExits.add(child);
168
- child.kill('SIGTERM');
169
- await watcher?.close().catch(() => undefined);
170
- if (session !== null) {
171
- await this.dev.endSession(manifest).catch(() => undefined);
172
- }
192
+ await cleanup(false).catch(() => undefined);
193
+ const message = error instanceof Error ? error.message : String(error);
194
+ if (message.includes('local preview page is missing')) {
195
+ return this.output.fail({
196
+ what: `Could not open ${manifest.name}'s local preview.`,
197
+ why: message,
198
+ fix: 'Update @tappify/extension-sdk to the latest version, reinstall dependencies, and run this command again.',
199
+ });
173
200
  }
174
- throw error;
201
+ const diagnostics = child.output().trim();
202
+ return this.output.fail({
203
+ what: `Could not start ${manifest.name}.`,
204
+ why: diagnostics === '' ? message : `${message}\n${diagnostics}`,
205
+ fix: 'Fix the error above, or rerun with `--verbose` to see the full development-server output.',
206
+ });
175
207
  }
176
208
  }
177
209
  portFor(given) {
@@ -236,7 +268,7 @@ let DevRunner = class DevRunner extends extension_runner_js_1.ExtensionRunner {
236
268
  throw error;
237
269
  }
238
270
  }
239
- startVite(root, port, remote) {
271
+ startVite(root, port, remote, verbose) {
240
272
  const manager = (0, package_manager_js_1.detectPackageManager)(root);
241
273
  const args = (0, package_manager_js_1.hasScript)(root, 'dev')
242
274
  ? [...(0, package_manager_js_1.scriptArgs)(manager, 'dev'), '--', '--port', String(port)]
@@ -244,8 +276,29 @@ let DevRunner = class DevRunner extends extension_runner_js_1.ExtensionRunner {
244
276
  return this.shell.start(manager, args, {
245
277
  cwd: root,
246
278
  env: { [PREVIEW_REMOTE_ENV]: remote },
279
+ ...(verbose
280
+ ? {
281
+ onData: (chunk) => {
282
+ process.stdout.write(chunk);
283
+ },
284
+ }
285
+ : {}),
247
286
  });
248
287
  }
288
+ printReady(manifest, preview, remote, host) {
289
+ this.output.line('');
290
+ this.output.checklist([
291
+ { level: 'pass', label: `${manifest.name} is ready` },
292
+ ]);
293
+ this.output.line('');
294
+ this.output.line(` Local ${preview}`);
295
+ this.output.line(` Entry ${remote}`);
296
+ if (host !== undefined)
297
+ this.output.line(` Host ${host}`);
298
+ this.output.line(` Watching ${manifest_service_js_1.MANIFEST_FILE}`);
299
+ this.output.line('');
300
+ this.output.detail('Press Ctrl+C to stop.');
301
+ }
249
302
  watchManifest(root, restart) {
250
303
  const watcher = (0, chokidar_1.watch)((0, node_path_1.join)(root, manifest_service_js_1.MANIFEST_FILE), { ignoreInitial: true });
251
304
  let changes = Promise.resolve();
@@ -276,6 +329,9 @@ let DevRunner = class DevRunner extends extension_runner_js_1.ExtensionRunner {
276
329
  parseOpen() {
277
330
  return false;
278
331
  }
332
+ parseVerbose() {
333
+ return true;
334
+ }
279
335
  };
280
336
  exports.DevRunner = DevRunner;
281
337
  __decorate([
@@ -323,6 +379,15 @@ __decorate([
323
379
  __metadata("design:paramtypes", []),
324
380
  __metadata("design:returntype", Boolean)
325
381
  ], DevRunner.prototype, "parseOpen", null);
382
+ __decorate([
383
+ (0, nest_commander_1.Option)({
384
+ flags: '--verbose',
385
+ description: 'Show package-manager and development-server output',
386
+ }),
387
+ __metadata("design:type", Function),
388
+ __metadata("design:paramtypes", []),
389
+ __metadata("design:returntype", Boolean)
390
+ ], DevRunner.prototype, "parseVerbose", null);
326
391
  exports.DevRunner = DevRunner = __decorate([
327
392
  (0, nest_commander_1.SubCommand)({
328
393
  name: 'dev',
@@ -1 +1 @@
1
- {"version":3,"file":"dev.runner.js","sourceRoot":"","sources":["../../../../../src/domains/extension/runners/dev.runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.runner.js","sourceRoot":"","sources":["../../../../../src/domains/extension/runners/dev.runner.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8DAAqD;AACrD,6EAG6C;AAC7C,uEAAgE;AAChE,0EAK2C;AAC3C,6EAAsE;AACtE,oEAGuC;AACvC,6DAAyE;AACzE,8DAGyC;AACzC,uCAAiD;AACjD,mDAAoD;AACpD,yCAAiC;AACjC,+DAIoC;AACpC,iFAAmF;AACnF,mEAA4D;AAC5D,+DAA+E;AAW/E,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;AAEpD,MAAM,eAAe,GAAG,CAAC,QAA2B,EAAU,EAAE,CAC9D,IAAA,0BAAe,EAAC,QAAQ,CAAC;KACtB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;KACxE,IAAI,EAAE;KACN,IAAI,CAAC,GAAG,CAAC,CAAC;AAMR,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,qCAA2B;IAErC;IACA;IACA;IACA;IACA;IACA;IANnB,YACmB,SAA0B,EAC1B,QAAyB,EACzB,KAAmB,EACnB,GAAe,EACf,KAAmB,EACnB,aAA2C,EAC5D,MAAqB;QAErB,KAAK,CAAC,MAAM,CAAC,CAAC;QARG,cAAS,GAAT,SAAS,CAAiB;QAC1B,aAAQ,GAAR,QAAQ,CAAiB;QACzB,UAAK,GAAL,KAAK,CAAc;QACnB,QAAG,GAAH,GAAG,CAAY;QACf,UAAK,GAAL,KAAK,CAAc;QACnB,kBAAa,GAAb,aAAa,CAA8B;IAI9D,CAAC;IAES,KAAK,CAAC,OAAO,CACrB,OAAiB,EACjB,OAAmB;QAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,cAAc,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAMlD,MAAM,OAAO,GACX,OAAO,CAAC,IAAI,KAAK,IAAI;YACnB,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC;YAC9C,CAAC,CAAC,IAAI,CAAC;QAEX,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CACxB,IAAI,EACJ,IAAI,EACJ,cAAc,EACd,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAClD,CAAC;QACF,IAAI,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,aAAa,GAAG,IAAI,OAAO,EAAkB,CAAC;QACpD,IAAI,MAAM,GAAkC,GAAG,EAAE,CAAC,SAAS,CAAC;QAC5D,IAAI,IAAI,GAA6B,GAAG,EAAE,CAAC,SAAS,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5D,MAAM,GAAG,OAAO,CAAC;YACjB,IAAI,GAAG,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,CAAC,OAAuB,EAAQ,EAAE;YAChD,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC9B,IAAI,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,KAAK;oBAAE,OAAO;gBACxE,MAAM,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,CAAC;QAEf,IAAI,OAAO,GAAqB,IAAI,CAAC;QACrC,IAAI,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,IAAI,aAAa,GAAe,GAAG,EAAE,CAAC,SAAS,CAAC;QAChD,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAQ,OAAO,CAAC,EAAE;YACpD,aAAa,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,OAAO,GAAG,KAAK,EACnB,QAAQ,GAAG,IAAI,EACf,SAAyB,SAAS,EACnB,EAAE;YACjB,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC9C,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzB,IAAI,MAAM,KAAK,QAAQ;oBAAE,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;;oBAClD,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC3D,IAAI,QAAQ,EAAE,CAAC;wBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,KAAK,QAAQ,CAAC,IAAI,kCAAkC,CACrD,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,QAAQ,EAAE,CAAC;oBACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI,UAAU,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,IAAA,yBAAW,GAAE,CAAC;YAChB,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAQ,EAAE;YACtC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,aAAa,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,CAAC;YACb,KAAK,OAAO,CAAC,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAC3D,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;QACJ,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,GAAS,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,GAAS,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAA,2BAAa,GAAE,CAAC;QAChB,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACnD,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAEpD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,GAAG;qBACL,cAAc,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;qBAC/D,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAgB,EAAE,CAAC,CAAC;gBAC5C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/D,gBAAgB;aACjB,CAAC,CAAC;YACH,IAAI,OAAO,KAAK,KAAK;gBAAE,OAAO;YAC9B,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CACb,2EAA2E,OAAO,CAAC,IAAI,IAAI,CAC5F,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,CAAC,IAAuB,EAAQ,EAAE;gBAChD,YAAY,GAAG,YAAY;qBACxB,IAAI,CAAC,KAAK,IAAI,EAAE;oBACf,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;oBAC3C,IAAI,YAAY,KAAK,QAAQ,IAAI,QAAQ;wBAAE,OAAO;oBAClD,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,GAAG,mCAAa,iDAAiD,CAClE,CAAC;oBACF,MAAM,QAAQ,GAAG,KAAK,CAAC;oBACvB,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC5B,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC/B,IAAI,QAAQ;wBAAE,OAAO;oBACrB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAChC,IAAI,EACJ,IAAI,EACJ,cAAc,EACd,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAClD,CAAC;oBACF,KAAK,GAAG,WAAW,CAAC;oBACpB,OAAO,CAAC,WAAW,CAAC,CAAC;oBACrB,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;wBAC/C,MAAM,EAAE,SAAS,CAAC,MAAM;qBACzB,CAAC,CAAC;oBACH,QAAQ,GAAG,YAAY,CAAC;gBAC1B,CAAC,CAAC;qBACD,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC;YACF,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAE5C,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;oBACjB,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,WAAW,EAAE,MAAM;oBACnB,UAAU,EAAE,OAAO;oBACnB,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;oBACjC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;iBACtC,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACpD,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC5C,MAAM,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACjE,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC;YAC1B,MAAM,OAAO,EAAE,CAAC;YAChB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC;gBAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE,CAAC;gBACtD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACtB,IAAI,EAAE,kBAAkB,QAAQ,CAAC,IAAI,mBAAmB;oBACxD,GAAG,EAAE,OAAO;oBACZ,GAAG,EAAE,0GAA0G;iBAChH,CAAC,CAAC;YACL,CAAC;YACD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACtB,IAAI,EAAE,mBAAmB,QAAQ,CAAC,IAAI,GAAG;gBACzC,GAAG,EAAE,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,WAAW,EAAE;gBAChE,GAAG,EAAE,2FAA2F;aACjG,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,OAAO,CAAC,KAAyB;QACvC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,iCAAgB,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACtB,IAAI,EAAE,YAAY,KAAK,mBAAmB;gBAC1C,GAAG,EAAE,2CAA2C;gBAChD,GAAG,EAAE,kDAAkD,iCAAgB,GAAG;aAC3E,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,SAAS,CAAC,KAAyB;QACzC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3B,MAAM,QAAQ,GACZ,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,CAAC;YAC/D,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,EAAE,CAAC;gBACxE,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,qCAAqC;YAC3C,GAAG,EAAE,0EAA0E;YAC/E,GAAG,EAAE,0EAA0E;SAChF,CAAC,CAAC;IACL,CAAC;IAOO,KAAK,CAAC,QAAQ,CACpB,QAA2B,EAC3B,OAAmB,EACnB,IAAY;QAEZ,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,cAAc,QAAQ,CAAC,EAAE,wCAAwC,CAClE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE;gBACpD,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;oBAC9B,CAAC,CAAC,EAAE,IAAI,EAAE;oBACV,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBAClC,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;oBAC9B,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;aACvC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC;gBAC3D,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,2EAA2E,CAC5E,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,8EAA8E,CAC/E,CAAC;YACJ,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,yBAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,kBAAkB,EAAE,CAAC;gBACxE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACtB,IAAI,EAAE,6CAA6C,QAAQ,CAAC,EAAE,GAAG;oBACjE,GAAG,EAAE,KAAK,CAAC,OAAO;oBAClB,GAAG,EAAE,4GAA4G;iBAClH,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,SAAS,CACf,IAAY,EACZ,IAAY,EACZ,MAA0B,EAC1B,OAAgB;QAEhB,MAAM,OAAO,GAAG,IAAA,yCAAoB,EAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAA,8BAAS,EAAC,IAAI,EAAE,KAAK,CAAC;YACjC,CAAC,CAAC,CAAC,GAAG,IAAA,+BAAU,EAAC,OAAO,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC,CAAC,IAAA,6BAAQ,EAAC,OAAO,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YACrC,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE;YACrC,GAAG,CAAC,OAAO;gBACT,CAAC,CAAC;oBACE,MAAM,EAAE,CAAC,KAAa,EAAQ,EAAE;wBAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;IACL,CAAC;IAEO,UAAU,CAChB,QAA2B,EAC3B,OAAe,EACf,MAAc,EACd,IAAa;QAEb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACpB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,IAAI,WAAW,EAAE;SACtD,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;QAC1C,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,mCAAa,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC9C,CAAC;IAEO,aAAa,CACnB,IAAY,EACZ,OAA8C;QAE9C,MAAM,OAAO,GAAG,IAAA,gBAAK,EAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,mCAAa,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,OAAO,GAAG,OAAO;iBACd,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACrC,IAAI,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE;gBACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,GAAG,mCAAa,qBAAqB,MAAM,CAAC,IAAI,GAAG,CACpD,CAAC;gBACF,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE,CACV,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,GAAG,mCAAa,gFAAgF,CACjG,CACF,CAAC;QACN,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAMD,SAAS,CAAC,KAAa;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAMD,SAAS;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAMD,WAAW,CAAC,KAAa;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IAMD,WAAW,CAAC,KAAa;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IAMD,SAAS;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAMD,YAAY;QACV,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA5YY,8BAAS;AAiWpB;IAJC,IAAA,uBAAM,EAAC;QACN,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,gCAAgC;KAC9C,CAAC;;;;0CAGD;AAMD;IAJC,IAAA,uBAAM,EAAC;QACN,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,4CAA4C;KAC1D,CAAC;;;;0CAGD;AAMD;IAJC,IAAA,uBAAM,EAAC;QACN,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,2DAA2D;KACzE,CAAC;;;;4CAGD;AAMD;IAJC,IAAA,uBAAM,EAAC;QACN,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,mDAAmD;KACjE,CAAC;;;;4CAGD;AAMD;IAJC,IAAA,uBAAM,EAAC;QACN,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,sCAAsC;KACpD,CAAC;;;;0CAGD;AAMD;IAJC,IAAA,uBAAM,EAAC;QACN,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,oDAAoD;KAClE,CAAC;;;;6CAGD;oBA3YU,SAAS;IAJrB,IAAA,2BAAU,EAAC;QACV,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,oDAAoD;KAClE,CAAC;qCAG8B,qCAAe;QAChB,qCAAe;QAClB,+BAAY;QACd,2BAAU;QACR,+BAAY;QACJ,sDAA4B;QACpD,iCAAa;GARZ,SAAS,CA4YrB"}
@@ -18,11 +18,13 @@ export interface DevSessionBody {
18
18
  export interface WaitUntilReadyOptions {
19
19
  fetch?: (url: string) => Promise<{
20
20
  ok: boolean;
21
+ status?: number;
21
22
  }>;
22
23
  now?: () => number;
23
24
  delay?: (milliseconds: number) => Promise<void>;
24
25
  timeoutMs?: number;
25
26
  intervalMs?: number;
27
+ signal?: AbortSignal;
26
28
  }
27
29
  export declare class DevService {
28
30
  private readonly api;
@@ -34,7 +34,7 @@ let DevService = class DevService {
34
34
  return `http://localhost:${port}/`;
35
35
  }
36
36
  async waitUntilReady(urls, options = {}) {
37
- const request = options.fetch ?? (url => fetch(url));
37
+ const request = options.fetch ?? (url => fetch(url, { signal: options.signal }));
38
38
  const now = options.now ?? Date.now;
39
39
  const delay = options.delay ??
40
40
  (milliseconds => new Promise(resolve => setTimeout(resolve, milliseconds)));
@@ -42,19 +42,38 @@ let DevService = class DevService {
42
42
  const intervalMs = options.intervalMs ?? exports.DEFAULT_READY_INTERVAL_MS;
43
43
  const startedAt = now();
44
44
  let failing = [...new Set(urls)];
45
+ const statuses = new Map();
46
+ const assertActive = () => {
47
+ if (options.signal?.aborted) {
48
+ throw new Error('Local preview startup was cancelled.');
49
+ }
50
+ };
45
51
  while (failing.length > 0) {
52
+ assertActive();
46
53
  const results = await Promise.all(failing.map(async (url) => {
47
54
  try {
48
- return { url, ok: (await request(url)).ok };
55
+ const response = await request(url);
56
+ statuses.set(url, response.status);
57
+ return { url, ok: response.ok };
49
58
  }
50
59
  catch {
60
+ statuses.set(url, undefined);
51
61
  return { url, ok: false };
52
62
  }
53
63
  }));
64
+ assertActive();
54
65
  failing = results.filter(result => !result.ok).map(result => result.url);
55
66
  if (failing.length === 0)
56
67
  return;
57
68
  if (now() - startedAt >= timeoutMs) {
69
+ const preview = urls[0];
70
+ const remaining = new Set(failing);
71
+ if (urls.length > 1 &&
72
+ remaining.size === 1 &&
73
+ remaining.has(preview) &&
74
+ statuses.get(preview) === 404) {
75
+ throw new Error('The extension server is running, but its local preview page is missing.');
76
+ }
58
77
  throw new Error(`Local preview did not become ready: ${failing.join(', ')}`);
59
78
  }
60
79
  await delay(intervalMs);
@@ -1 +1 @@
1
- {"version":3,"file":"dev.service.js","sourceRoot":"","sources":["../../../../../src/domains/extension/services/dev.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.service.js","sourceRoot":"","sources":["../../../../../src/domains/extension/services/dev.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8DAAuD;AACvD,uEAAgE;AAChE,2CAA4C;AAG/B,QAAA,gBAAgB,GAAG,IAAI,CAAC;AACxB,QAAA,wBAAwB,GAAG,MAAM,CAAC;AAClC,QAAA,yBAAyB,GAAG,GAAG,CAAC;AA0BtC,IAAM,UAAU,GAAhB,MAAM,UAAU;IAEF;IACA;IAFnB,YACmB,GAAe,EACf,MAAqB;QADrB,QAAG,GAAH,GAAG,CAAY;QACf,WAAM,GAAN,MAAM,CAAe;IACrC,CAAC;IAEJ,WAAW,CAAC,IAAY;QACtB,OAAO,oBAAoB,IAAI,iBAAiB,CAAC;IACnD,CAAC;IAKD,UAAU,CACR,cAA0C,EAC1C,MAAe;QAEf,MAAM,IAAI,GACR,OAAO,cAAc,KAAK,QAAQ;YAChC,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,wBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;gBAClE,wBAAgB,CAAC;QACvB,OAAO,oBAAoB,IAAI,GAAG,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,IAAc,EACd,UAAiC,EAAE;QAEnC,MAAM,OAAO,GACX,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QACpC,MAAM,KAAK,GACT,OAAO,CAAC,KAAK;YACb,CAAC,YAAY,CAAC,EAAE,CACd,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,gCAAwB,CAAC;QAChE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,iCAAyB,CAAC;QACnE,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;QACxB,IAAI,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;QACvD,MAAM,YAAY,GAAG,GAAS,EAAE;YAC9B,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,YAAY,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;gBACtB,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;oBACpC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACnC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClC,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;oBAC7B,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;gBAC5B,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YACF,YAAY,EAAE,CAAC;YACf,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YACjC,IAAI,GAAG,EAAE,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;gBACnC,IACE,IAAI,CAAC,MAAM,GAAG,CAAC;oBACf,SAAS,CAAC,IAAI,KAAK,CAAC;oBACpB,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;oBACtB,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,EAC7B,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,uCAAuC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5D,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAOD,KAAK,CAAC,YAAY,CAChB,QAA2B,EAC3B,IAAoB;QAEpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CACjC,eAAe,QAAQ,CAAC,EAAE,cAAc,EACxC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CACtB,CAAC;QAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAA2B;QAC1C,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC;IAC/D,CAAC;CACF,CAAA;AA9GY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;qCAGa,2BAAU;QACP,iCAAa;GAH7B,UAAU,CA8GtB"}