@jpkme/diff-review 0.1.13 → 0.1.14
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/diff-review.mjs +72 -53
- package/lib/prompt.mjs +8 -6
- package/package.json +1 -1
- package/web/build/client/_app/immutable/assets/2.C4whE4xz.css +1 -0
- package/web/build/client/_app/immutable/assets/2.C4whE4xz.css.br +0 -0
- package/web/build/client/_app/immutable/assets/2.C4whE4xz.css.gz +0 -0
- package/web/build/client/_app/immutable/assets/storage.C8XGESwn.css +1 -0
- package/web/build/client/_app/immutable/assets/storage.C8XGESwn.css.br +0 -0
- package/web/build/client/_app/immutable/assets/storage.C8XGESwn.css.gz +0 -0
- package/web/build/client/_app/immutable/chunks/C0hrdiUt.js +2 -0
- package/web/build/client/_app/immutable/chunks/C0hrdiUt.js.br +0 -0
- package/web/build/client/_app/immutable/chunks/C0hrdiUt.js.gz +0 -0
- package/web/build/client/_app/immutable/chunks/{BXUWMim4.js → CpeIO6nz.js} +6 -9
- package/web/build/client/_app/immutable/chunks/CpeIO6nz.js.br +0 -0
- package/web/build/client/_app/immutable/chunks/CpeIO6nz.js.gz +0 -0
- package/web/build/client/_app/immutable/chunks/{Bu1mm6Oz.js → FOc6rgIW.js} +1 -1
- package/web/build/client/_app/immutable/chunks/FOc6rgIW.js.br +2 -0
- package/web/build/client/_app/immutable/chunks/FOc6rgIW.js.gz +0 -0
- package/web/build/client/_app/immutable/entry/{app.CTgiuiU1.js → app.DcAtSJ3n.js} +2 -2
- package/web/build/client/_app/immutable/entry/app.DcAtSJ3n.js.br +0 -0
- package/web/build/client/_app/immutable/entry/app.DcAtSJ3n.js.gz +0 -0
- package/web/build/client/_app/immutable/entry/start.CO5l0Zbx.js +1 -0
- package/web/build/client/_app/immutable/entry/start.CO5l0Zbx.js.br +0 -0
- package/web/build/client/_app/immutable/entry/start.CO5l0Zbx.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/{1.0PQZpSbJ.js → 1.E-Hs7ura.js} +1 -1
- package/web/build/client/_app/immutable/nodes/1.E-Hs7ura.js.br +4 -0
- package/web/build/client/_app/immutable/nodes/1.E-Hs7ura.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/2.s1_irV1Q.js +10 -0
- package/web/build/client/_app/immutable/nodes/2.s1_irV1Q.js.br +0 -0
- package/web/build/client/_app/immutable/nodes/2.s1_irV1Q.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/{3.AciugOtL.js → 3.pgwe-_5b.js} +1 -1
- package/web/build/client/_app/immutable/nodes/3.pgwe-_5b.js.br +0 -0
- package/web/build/client/_app/immutable/nodes/3.pgwe-_5b.js.gz +0 -0
- package/web/build/client/_app/version.json +1 -1
- package/web/build/client/_app/version.json.br +0 -0
- package/web/build/client/_app/version.json.gz +0 -0
- package/web/build/handler.js +3 -3
- package/web/build/index.js +3 -3
- package/web/build/server/chunks/1-BFhhV5JB.js +7 -0
- package/web/build/server/chunks/{1-C2qlInYk.js.map → 1-BFhhV5JB.js.map} +1 -1
- package/web/build/server/chunks/2-BZ_MVqj8.js +7 -0
- package/web/build/server/chunks/2-BZ_MVqj8.js.map +1 -0
- package/web/build/server/chunks/3-BV-TIUp1.js +7 -0
- package/web/build/server/chunks/{3-SO3atuWO.js.map → 3-BV-TIUp1.js.map} +1 -1
- package/web/build/server/chunks/{_server.ts-CRNhzL2a.js → _server.ts-CdFoXw36.js} +4 -4
- package/web/build/server/chunks/{_server.ts-CRNhzL2a.js.map → _server.ts-CdFoXw36.js.map} +1 -1
- package/web/build/server/chunks/{agent-sessions-kcUaLhK5.js → agent-sessions-D0WwtWgR.js} +56 -15
- package/web/build/server/chunks/agent-sessions-D0WwtWgR.js.map +1 -0
- package/web/build/server/chunks/{git-review-CXKcjYgZ.js → git-review-CgcBIbvM.js} +7 -7
- package/web/build/server/chunks/{git-review-CXKcjYgZ.js.map → git-review-CgcBIbvM.js.map} +1 -1
- package/web/build/server/chunks/{handler-_E0NucKN.js → handler-DbxjtK9M.js} +3 -3
- package/web/build/server/chunks/{handler-_E0NucKN.js.map → handler-DbxjtK9M.js.map} +1 -1
- package/web/build/server/chunks/{hooks.server-D7yPODoc.js → hooks.server-Dg6gYUqs.js} +3 -3
- package/web/build/server/chunks/{hooks.server-D7yPODoc.js.map → hooks.server-Dg6gYUqs.js.map} +1 -1
- package/web/build/server/chunks/{index.js-lMtDM8ZQ.js → index.js-NNne-njN.js} +876 -879
- package/web/build/server/chunks/index.js-NNne-njN.js.map +1 -0
- package/web/build/server/chunks/{manifest.js-BIm6jot5.js → manifest.js-V8ViI5bl.js} +8 -8
- package/web/build/server/chunks/{manifest.js-BIm6jot5.js.map → manifest.js-V8ViI5bl.js.map} +1 -1
- package/web/build/server/chunks/{remote-1g4ayag-DmqxwUIz.js → remote-1g4ayag-CCsG2QXw.js} +4 -4
- package/web/build/server/chunks/{remote-1g4ayag-DmqxwUIz.js.map → remote-1g4ayag-CCsG2QXw.js.map} +1 -1
- package/web/build/server/chunks/{remote-wh6t6j-DZk0W9Pp.js → remote-wh6t6j-BCvmX37z.js} +5 -5
- package/web/build/server/chunks/{remote-wh6t6j-DZk0W9Pp.js.map → remote-wh6t6j-BCvmX37z.js.map} +1 -1
- package/web/build/server/chunks/{validate-BsTKyhsq.js → validate-CAQ31C7k.js} +2 -2
- package/web/build/server/chunks/{validate-BsTKyhsq.js.map → validate-CAQ31C7k.js.map} +1 -1
- package/web/build/client/_app/immutable/assets/2.tqrMRTM0.css +0 -1
- package/web/build/client/_app/immutable/assets/2.tqrMRTM0.css.br +0 -0
- package/web/build/client/_app/immutable/assets/2.tqrMRTM0.css.gz +0 -0
- package/web/build/client/_app/immutable/assets/storage.DqYH0w6R.css +0 -1
- package/web/build/client/_app/immutable/assets/storage.DqYH0w6R.css.br +0 -0
- package/web/build/client/_app/immutable/assets/storage.DqYH0w6R.css.gz +0 -0
- package/web/build/client/_app/immutable/chunks/BXUWMim4.js.br +0 -0
- package/web/build/client/_app/immutable/chunks/BXUWMim4.js.gz +0 -0
- package/web/build/client/_app/immutable/chunks/Bu1mm6Oz.js.br +0 -0
- package/web/build/client/_app/immutable/chunks/Bu1mm6Oz.js.gz +0 -0
- package/web/build/client/_app/immutable/chunks/DPfXzQnm.js +0 -2
- package/web/build/client/_app/immutable/chunks/DPfXzQnm.js.br +0 -0
- package/web/build/client/_app/immutable/chunks/DPfXzQnm.js.gz +0 -0
- package/web/build/client/_app/immutable/entry/app.CTgiuiU1.js.br +0 -0
- package/web/build/client/_app/immutable/entry/app.CTgiuiU1.js.gz +0 -0
- package/web/build/client/_app/immutable/entry/start.CFSl0kht.js +0 -1
- package/web/build/client/_app/immutable/entry/start.CFSl0kht.js.br +0 -0
- package/web/build/client/_app/immutable/entry/start.CFSl0kht.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/1.0PQZpSbJ.js.br +0 -2
- package/web/build/client/_app/immutable/nodes/1.0PQZpSbJ.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/2.DQaoQoy4.js +0 -10
- package/web/build/client/_app/immutable/nodes/2.DQaoQoy4.js.br +0 -0
- package/web/build/client/_app/immutable/nodes/2.DQaoQoy4.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/3.AciugOtL.js.br +0 -0
- package/web/build/client/_app/immutable/nodes/3.AciugOtL.js.gz +0 -0
- package/web/build/server/chunks/1-C2qlInYk.js +0 -7
- package/web/build/server/chunks/2-DyE177MK.js +0 -7
- package/web/build/server/chunks/2-DyE177MK.js.map +0 -1
- package/web/build/server/chunks/3-SO3atuWO.js +0 -7
- package/web/build/server/chunks/agent-sessions-kcUaLhK5.js.map +0 -1
- package/web/build/server/chunks/index.js-lMtDM8ZQ.js.map +0 -1
package/bin/diff-review.mjs
CHANGED
|
@@ -201,12 +201,15 @@ function defaultBase(listed, branch) {
|
|
|
201
201
|
return listed.branches.find((b) => b !== branch) || preferred || '';
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
-
function branchOptions(listed) {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
204
|
+
function branchOptions(listed, exclude = '') {
|
|
205
|
+
const skip = String(exclude || '').trim();
|
|
206
|
+
return listed.branches
|
|
207
|
+
.filter((b) => !skip || b !== skip)
|
|
208
|
+
.map((b) => ({
|
|
209
|
+
value: b,
|
|
210
|
+
label: b,
|
|
211
|
+
hint: b === listed.current ? 'actual' : b === listed.defaultBase ? 'base típica' : undefined
|
|
212
|
+
}));
|
|
210
213
|
}
|
|
211
214
|
|
|
212
215
|
/** Selects solo con terminal interactiva. (`p.isTTY` de Clack es una función, no un booleano.) */
|
|
@@ -270,12 +273,18 @@ async function resolveBranchBase(launch, opts) {
|
|
|
270
273
|
p.log.step(`Branch: ${branch}`);
|
|
271
274
|
}
|
|
272
275
|
|
|
276
|
+
const baseOptions = branchOptions(launch.listed, branch);
|
|
277
|
+
if (!baseOptions.length) {
|
|
278
|
+
p.cancel(`No hay otra base disponible distinta de \`${branch}\`.`);
|
|
279
|
+
process.exit(1);
|
|
280
|
+
}
|
|
281
|
+
|
|
273
282
|
let base = flagBase;
|
|
274
283
|
if (!base) {
|
|
275
284
|
base = ensureValue(
|
|
276
285
|
await autocompleteEs({
|
|
277
286
|
message: 'Base (merge-base)',
|
|
278
|
-
options,
|
|
287
|
+
options: baseOptions,
|
|
279
288
|
initialValue: defaultBase(launch.listed, branch) || undefined,
|
|
280
289
|
maxItems: 12
|
|
281
290
|
}),
|
|
@@ -290,7 +299,7 @@ async function resolveBranchBase(launch, opts) {
|
|
|
290
299
|
base = ensureValue(
|
|
291
300
|
await autocompleteEs({
|
|
292
301
|
message: 'Elegí otra base',
|
|
293
|
-
options,
|
|
302
|
+
options: baseOptions,
|
|
294
303
|
initialValue: defaultBase(launch.listed, branch) || undefined,
|
|
295
304
|
maxItems: 12
|
|
296
305
|
}),
|
|
@@ -317,6 +326,49 @@ function buildOutputFilename(repo, branch, base) {
|
|
|
317
326
|
}
|
|
318
327
|
}
|
|
319
328
|
|
|
329
|
+
/**
|
|
330
|
+
* Precomputa el diff en CLI (spinner si hay Clack). Si el resultado no tiene archivos, sale con error.
|
|
331
|
+
* @returns {ReturnType<typeof prepareReviewPromptOpts>}
|
|
332
|
+
*/
|
|
333
|
+
function prepareContextOrFail(launch, branch, base, outputFilename, { useClack }) {
|
|
334
|
+
const spin = useClack ? p.spinner() : null;
|
|
335
|
+
if (!useClack) console.log('Preparando el contexto…');
|
|
336
|
+
spin?.start('Preparando el contexto…');
|
|
337
|
+
|
|
338
|
+
/** @type {ReturnType<typeof prepareReviewPromptOpts>} */
|
|
339
|
+
let promptOpts = { outputFilename };
|
|
340
|
+
try {
|
|
341
|
+
promptOpts = prepareReviewPromptOpts({
|
|
342
|
+
repo: launch.repo,
|
|
343
|
+
branch,
|
|
344
|
+
base,
|
|
345
|
+
outputFilename
|
|
346
|
+
});
|
|
347
|
+
} catch (err) {
|
|
348
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
349
|
+
spin?.stop('No pude precomputar el diff');
|
|
350
|
+
if (useClack) p.log.warn(`No pude precomputar el diff: ${msg}`);
|
|
351
|
+
else console.warn('No pude precomputar el diff:', msg);
|
|
352
|
+
ensureReviewDir(launch.repo);
|
|
353
|
+
writeDiffCache(launch.repo, outputFilename, { branch, base });
|
|
354
|
+
return promptOpts;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
const n = Array.isArray(promptOpts.files) ? promptOpts.files.length : 0;
|
|
358
|
+
if (n === 0) {
|
|
359
|
+
spin?.stop('Diff vacío');
|
|
360
|
+
const msg = `El diff entre \`${branch}\` y \`${base}\` está vacío: no hay nada que revisar.`;
|
|
361
|
+
if (useClack) p.cancel(msg);
|
|
362
|
+
else console.error(msg);
|
|
363
|
+
process.exit(1);
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
const done = `Contexto listo · ${n} archivo${n === 1 ? '' : 's'}`;
|
|
367
|
+
spin?.stop(done);
|
|
368
|
+
if (!useClack) console.log(done);
|
|
369
|
+
return promptOpts;
|
|
370
|
+
}
|
|
371
|
+
|
|
320
372
|
function copyPromptOrWarn(prompt) {
|
|
321
373
|
if (copyTextToClipboard(prompt)) return true;
|
|
322
374
|
p.log.warn(
|
|
@@ -622,22 +674,9 @@ async function runUiMode(opts, launch, launchCwd) {
|
|
|
622
674
|
if (launch) {
|
|
623
675
|
console.log(`Repo: ${launch.repo}`);
|
|
624
676
|
console.log(`Branch: ${branch} (base: ${base})`);
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
repo: launch.repo,
|
|
629
|
-
branch,
|
|
630
|
-
base,
|
|
631
|
-
outputFilename
|
|
632
|
-
});
|
|
633
|
-
} catch (err) {
|
|
634
|
-
console.warn(
|
|
635
|
-
'No pude precomputar el diff:',
|
|
636
|
-
err instanceof Error ? err.message : err
|
|
637
|
-
);
|
|
638
|
-
ensureReviewDir(launch.repo);
|
|
639
|
-
writeDiffCache(launch.repo, outputFilename, { branch, base });
|
|
640
|
-
}
|
|
677
|
+
const promptOpts = prepareContextOrFail(launch, branch, base, outputFilename, {
|
|
678
|
+
useClack: false
|
|
679
|
+
});
|
|
641
680
|
const prompt = buildPrompt(
|
|
642
681
|
{
|
|
643
682
|
source: 'local',
|
|
@@ -698,38 +737,13 @@ async function main() {
|
|
|
698
737
|
const { branch, base, prompted } = await resolveBranchBase(launch, opts);
|
|
699
738
|
|
|
700
739
|
if (branch === base) {
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
);
|
|
705
|
-
await startServer({
|
|
706
|
-
host: opts.host,
|
|
707
|
-
port: opts.port,
|
|
708
|
-
open: opts.open,
|
|
709
|
-
launchCwd,
|
|
710
|
-
openPath: '/'
|
|
711
|
-
});
|
|
712
|
-
return;
|
|
740
|
+
const msg = `Branch y base son iguales (${branch}): no hay diff que revisar.`;
|
|
741
|
+
if (prompted) p.cancel(msg);
|
|
742
|
+
else console.error(msg);
|
|
743
|
+
process.exit(1);
|
|
713
744
|
}
|
|
714
745
|
|
|
715
746
|
const outputFilename = buildOutputFilename(launch.repo, branch, base);
|
|
716
|
-
// El agente escribe en .diff-review/ (que se ignora sola) y lee de ahí el diff ya calculado.
|
|
717
|
-
let promptOpts = { outputFilename };
|
|
718
|
-
try {
|
|
719
|
-
promptOpts = prepareReviewPromptOpts({
|
|
720
|
-
repo: launch.repo,
|
|
721
|
-
branch,
|
|
722
|
-
base,
|
|
723
|
-
outputFilename
|
|
724
|
-
});
|
|
725
|
-
} catch (err) {
|
|
726
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
727
|
-
if (prompted) p.log.warn(`No pude precomputar el diff: ${msg}`);
|
|
728
|
-
else console.warn('No pude precomputar el diff:', msg);
|
|
729
|
-
ensureReviewDir(launch.repo);
|
|
730
|
-
writeDiffCache(launch.repo, outputFilename, { branch, base });
|
|
731
|
-
}
|
|
732
|
-
|
|
733
747
|
if (!prompted) {
|
|
734
748
|
console.log(`Repo: ${launch.repo}`);
|
|
735
749
|
console.log(`Branch: ${branch} (base: ${base})`);
|
|
@@ -737,6 +751,11 @@ async function main() {
|
|
|
737
751
|
p.note(`${branch} → ${base}\n${outputRelPath(outputFilename)}`, 'Review');
|
|
738
752
|
}
|
|
739
753
|
|
|
754
|
+
// El agente escribe en .diff-review/ (que se ignora sola) y lee de ahí el diff ya calculado.
|
|
755
|
+
const promptOpts = prepareContextOrFail(launch, branch, base, outputFilename, {
|
|
756
|
+
useClack: prompted || isInteractive()
|
|
757
|
+
});
|
|
758
|
+
|
|
740
759
|
const prompt = buildPrompt(
|
|
741
760
|
{
|
|
742
761
|
source: 'local',
|
package/lib/prompt.mjs
CHANGED
|
@@ -91,7 +91,7 @@ const RULES = `- Ids: themes use \`t1\`, \`t2\`, …; findings use \`f1\`, \`f2\
|
|
|
91
91
|
function workflowLocal(base, branch, ctx = {}) {
|
|
92
92
|
if (ctx.hasDiff) {
|
|
93
93
|
return `Workflow:
|
|
94
|
-
1.
|
|
94
|
+
1. The host already computed the three-dot diff and wrote it to disk (see "Precomputed git context"). Read that file with your file tools. Do not run \`git diff\`, \`git merge-base\`, or rebuild the patch yourself unless that file is missing.
|
|
95
95
|
2. Read enough surrounding code (types, callers, tests) to judge behavior, not only the hunk lines.
|
|
96
96
|
3. Emit the JSON file. Do not modify the repo.
|
|
97
97
|
4. Validate it with the command in the output section. If it prints INVALID, follow "How to continue" and re-run until it prints OK.`;
|
|
@@ -115,7 +115,7 @@ function workflowUrl(base, branch, ctx = {}) {
|
|
|
115
115
|
if (ctx.hasDiff) {
|
|
116
116
|
return `Workflow:
|
|
117
117
|
1. If the repo is not local, clone it (or use whatever access you have). Do not modify it.
|
|
118
|
-
2.
|
|
118
|
+
2. The host already computed the three-dot diff and wrote it to disk (see "Precomputed git context"). Read that file with your file tools. Do not run \`git diff\`, \`git merge-base\`, or rebuild the patch yourself unless that file is missing.
|
|
119
119
|
3. Read enough surrounding code (types, callers, tests) to judge behavior, not only the hunk lines.
|
|
120
120
|
4. Emit the JSON file.
|
|
121
121
|
5. Validate it with the command in the output section. If it prints INVALID, follow "How to continue" and re-run until it prints OK.`;
|
|
@@ -133,7 +133,7 @@ function workflowUrl(base, branch, ctx = {}) {
|
|
|
133
133
|
function workflowLocalAcp(ctx = {}) {
|
|
134
134
|
if (ctx.hasDiff) {
|
|
135
135
|
return `Workflow:
|
|
136
|
-
1.
|
|
136
|
+
1. The host already computed the three-dot diff and wrote it to disk (see "Precomputed git context"). Read that file with your file tools. Do not run \`git diff\`, \`git merge-base\`, or rebuild the patch yourself unless that file is missing.
|
|
137
137
|
2. Read enough surrounding code (types, callers, tests) to judge behavior, not only the hunk lines.
|
|
138
138
|
3. Write the JSON with your file Write/Edit tool (never shell redirection). Do not modify other repo files. The host validates when your turn ends — do not run the validate CLI.`;
|
|
139
139
|
}
|
|
@@ -147,7 +147,7 @@ function workflowUrlAcp(ctx = {}) {
|
|
|
147
147
|
if (ctx.hasDiff) {
|
|
148
148
|
return `Workflow:
|
|
149
149
|
1. If the repo is not local, clone it (or use whatever access you have). Do not modify it.
|
|
150
|
-
2.
|
|
150
|
+
2. The host already computed the three-dot diff and wrote it to disk (see "Precomputed git context"). Read that file with your file tools. Do not run \`git diff\`, \`git merge-base\`, or rebuild the patch yourself unless that file is missing.
|
|
151
151
|
3. Read enough surrounding code (types, callers, tests) to judge behavior, not only the hunk lines.
|
|
152
152
|
4. Write the JSON with your file Write/Edit tool (never shell redirection). The host validates when your turn ends — do not run the validate CLI.`;
|
|
153
153
|
}
|
|
@@ -197,13 +197,15 @@ export function outputSchemaBlock(meta) {
|
|
|
197
197
|
* }} ctx
|
|
198
198
|
*/
|
|
199
199
|
function formatPrecomputedContext(ctx) {
|
|
200
|
-
const lines = [
|
|
200
|
+
const lines = [
|
|
201
|
+
"Precomputed git context (provided by the host — do not rediscover or recompute):",
|
|
202
|
+
];
|
|
201
203
|
if (ctx.mergeBase) lines.push(`- Merge-base SHA: \`${ctx.mergeBase}\``);
|
|
202
204
|
if (ctx.branchSha) lines.push(`- Branch tip SHA: \`${ctx.branchSha}\``);
|
|
203
205
|
if (ctx.baseSha) lines.push(`- Base tip SHA: \`${ctx.baseSha}\``);
|
|
204
206
|
if (ctx.diffRelPath) {
|
|
205
207
|
lines.push(
|
|
206
|
-
`- Diff file (relative to repo root): \`${ctx.diffRelPath}\` —
|
|
208
|
+
`- Diff file (relative to repo root): \`${ctx.diffRelPath}\` — Read this file for the full patch. Do not run \`git diff\` / \`git merge-base\` to rebuild it unless the file is missing.`
|
|
207
209
|
);
|
|
208
210
|
}
|
|
209
211
|
const files = Array.isArray(ctx.files) ? ctx.files : [];
|
package/package.json
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.live.svelte-18urbyr{background:radial-gradient(900px 420px at 8% -8%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 70%), var(--bg);flex-direction:column;flex:1;min-height:0;display:flex}.bar.svelte-18urbyr{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg-elev) 90%, transparent);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.brand.svelte-18urbyr{align-items:center;gap:10px;min-width:0;font-size:14px;display:flex}.dot.svelte-18urbyr{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);border-radius:50%;flex:none}.pill.svelte-18urbyr{letter-spacing:.02em;border:1px solid var(--border);color:var(--text-dim);background:var(--bg-card);text-transform:lowercase;border-radius:0;padding:3px 9px;font-size:11px;font-weight:500}.pill.busy.svelte-18urbyr{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));color:var(--accent);background:var(--accent-soft)}.pill.error.svelte-18urbyr{border-color:var(--danger-border,var(--danger));color:var(--danger);background:var(--danger-bg,transparent)}.pill.gone.svelte-18urbyr{color:var(--text-faint)}.actions.svelte-18urbyr{flex:none;align-items:center;gap:8px;display:flex}.ghost.svelte-18urbyr{border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;background:0 0;padding:6px 11px;font-size:13px}.ghost.svelte-18urbyr:hover{border-color:var(--accent)}.body.svelte-18urbyr{flex:1;grid-template-columns:minmax(280px,320px) 1fr;gap:20px;min-height:0;padding:20px 24px 24px;display:grid}.card.svelte-18urbyr{border:1px solid var(--border);background:var(--bg-elev);border-radius:0;align-self:start;padding:16px 16px 14px}.fields.svelte-18urbyr{flex-direction:column;gap:14px;margin:0;display:flex}.fields.svelte-18urbyr dt:where(.svelte-18urbyr){text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin:0 0 3px;font-size:11px}.fields.svelte-18urbyr dd:where(.svelte-18urbyr){font-size:13px;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;color:var(--text);margin:0;overflow:hidden}.branch.svelte-18urbyr{color:var(--accent);font-weight:600}.arrow.svelte-18urbyr{color:var(--text-faint);margin:0 2px}.card-note.svelte-18urbyr{border-top:1px solid var(--border-soft,var(--border));color:var(--text-faint);margin:16px 0 0;padding-top:12px;font-size:12.5px;line-height:1.4}.stage.svelte-18urbyr{border:1px solid var(--border);background:var(--bg-elev);border-radius:0;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.center.svelte-18urbyr{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:40px 24px;display:flex}.center.fail.svelte-18urbyr .title:where(.svelte-18urbyr){color:var(--danger)}.auth-actions.svelte-18urbyr{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.primary.svelte-18urbyr{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border));background:var(--accent-soft);color:var(--accent);font:inherit;cursor:pointer;border-radius:0;padding:7px 14px;font-size:13px;font-weight:600}.primary.svelte-18urbyr:hover:not(:disabled){border-color:var(--accent)}.primary.svelte-18urbyr:disabled{opacity:.6;cursor:default}.auth-note.svelte-18urbyr{max-width:28rem;color:var(--text-dim);margin:10px 0 0;font-size:13px}.auth-err.svelte-18urbyr{max-width:28rem;color:var(--danger);margin:8px 0 0;font-size:13px}.spinner.svelte-18urbyr{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;margin-bottom:6px;animation:.8s linear infinite svelte-18urbyr-spin}@keyframes svelte-18urbyr-spin{to{transform:rotate(360deg)}}.title.svelte-18urbyr{margin:0;font-size:17px;font-weight:600}.detail.svelte-18urbyr{color:var(--text-dim);max-width:28rem;margin:0;font-size:14px}.hint.svelte-18urbyr{max-width:32rem;color:var(--text-faint);margin:6px 0 0;font-size:13px}.stage-header.svelte-18urbyr{border-bottom:1px solid var(--border);border-radius:0;flex:none;align-items:center;gap:8px;min-width:0;padding:10px 14px;display:flex}.stage-header.svelte-18urbyr strong:where(.svelte-18urbyr){font-size:13.5px;font-weight:650}.stage-header.svelte-18urbyr small:where(.svelte-18urbyr){font-family:var(--mono);color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11.5px;overflow:hidden}.log-wrap.svelte-18urbyr{border-radius:0;flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px 14px;display:flex}.log-wrap.svelte-18urbyr .log{flex:1;min-height:0}.stage-footer.svelte-18urbyr{border-top:1px solid var(--border);border-radius:0;flex-wrap:wrap;flex:none;align-items:center;gap:10px;min-width:0;margin-top:auto;padding-top:10px;display:flex}.stage-footer.svelte-18urbyr .trust{flex:0 auto;width:auto;min-width:0;max-width:100%}.footer-spacer.svelte-18urbyr{flex:8px;min-width:8px}.stage-footer.svelte-18urbyr .perm-actions{flex:none}.launch-banner.svelte-18urbyr{border:1px solid var(--border);background:color-mix(in srgb, var(--accent-soft) 70%, var(--bg-card));border-radius:0;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.launch-banner.svelte-18urbyr .title:where(.svelte-18urbyr){font-size:14px}.launch-banner.svelte-18urbyr .detail:where(.svelte-18urbyr){margin-top:2px;font-size:12.5px}.spinner.sm.svelte-18urbyr{flex:none;width:18px;height:18px;margin:2px 0 0}@media (width<=800px){.body.svelte-18urbyr{grid-template-rows:auto 1fr;grid-template-columns:1fr;gap:14px;padding:16px}.card.svelte-18urbyr{align-self:stretch}.stage.svelte-18urbyr{min-height:280px}}@media (width<=480px){.bar.svelte-18urbyr{flex-wrap:wrap;padding:10px 14px}.pill.svelte-18urbyr{font-size:10px}}.page.svelte-1uha8ag{flex-direction:column;min-height:100vh;display:flex}.page.live.svelte-1uha8ag{height:100vh;min-height:100vh;overflow:hidden}.diff-spinner.svelte-1uha8ag{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;margin:0 auto;animation:.7s linear infinite svelte-1uha8ag-diff-spin}.cli-wait.svelte-1uha8ag{text-align:center;background:var(--bg);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;min-height:0;padding:32px 24px;display:flex}.cli-wait-title.svelte-1uha8ag{color:var(--text);margin:0;font-size:15px}.cli-wait-detail.svelte-1uha8ag{color:var(--text-faint);margin:0;font-size:13px}.cli-wait.svelte-1uha8ag .ghost:where(.svelte-1uha8ag){border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;margin-top:8px;padding:6px 12px;font-size:13px}@keyframes svelte-1uha8ag-diff-spin{to{transform:rotate(360deg)}}.toast.svelte-1uha8ag{z-index:50;border:1px solid var(--border);background:var(--bg-card);color:var(--text);padding:10px 16px;font-size:13px;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000029}.topbar.svelte-1uha8ag{border-bottom:1px solid var(--border);background:var(--header-bg);z-index:5;justify-content:space-between;align-items:center;gap:12px;padding:16px 28px;display:flex;position:sticky;top:0}.brand.svelte-1uha8ag{color:var(--text);align-items:center;gap:10px;text-decoration:none;display:flex}.brand-dot.svelte-1uha8ag{background:linear-gradient(135deg,#6ea8fe,#c9a5ff);border-radius:50%;flex-shrink:0;width:9px;height:9px;box-shadow:0 0 12px #6ea8fe88}.title-block.svelte-1uha8ag{text-align:left;flex-direction:column;line-height:1.25;display:flex}.title-block.svelte-1uha8ag span:where(.svelte-1uha8ag):first-child{font-size:15px;font-weight:700}.title-block.svelte-1uha8ag small:where(.svelte-1uha8ag){color:var(--text-faint);font-size:11.5px;font-weight:400}.workspace.svelte-1uha8ag{flex:1;grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:start;gap:28px;width:100%;max-width:1280px;margin:0 auto;padding:22px 28px 40px;display:grid;overflow:auto}.setup.svelte-1uha8ag{min-width:0}h2.svelte-1uha8ag{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin:0 0 4px;font-size:13px;font-weight:600}.result-head.svelte-1uha8ag{margin-top:24px}.section-head.svelte-1uha8ag{justify-content:space-between;align-items:baseline;margin-top:22px;display:flex}.hint-text.svelte-1uha8ag{color:var(--text-dim);margin:0 0 12px;font-size:12.5px;line-height:1.5}.hint-text.svelte-1uha8ag code:where(.svelte-1uha8ag){font-family:var(--mono);color:var(--text);font-size:12px}.detect-banner.svelte-1uha8ag,.detect-wait.svelte-1uha8ag{color:var(--text-dim);margin:0 0 10px;font-size:13px}button.file-link.svelte-1uha8ag{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.error-line.svelte-1uha8ag{color:var(--danger);margin:0 0 10px;font-size:12px}.ok-line.svelte-1uha8ag{color:var(--ok);margin:0 0 10px;font-size:12px}.row.svelte-1uha8ag{flex-wrap:wrap;gap:8px;display:flex}.repo-setup.svelte-1uha8ag{flex-direction:column;gap:10px;display:flex}.field.svelte-1uha8ag{flex-direction:column;flex:1;gap:4px;min-width:180px;display:flex}.repo-field.svelte-1uha8ag{flex:none;width:100%;min-width:0}.branches-row.svelte-1uha8ag .field:where(.svelte-1uha8ag){flex:1;min-width:160px}.field.svelte-1uha8ag span:where(.svelte-1uha8ag){color:var(--text-faint);font-size:11px}.repo-row.svelte-1uha8ag{gap:6px;min-width:0;display:flex}.repo-row.svelte-1uha8ag input[type=text]:where(.svelte-1uha8ag){flex:1;min-width:0}.repo-row.svelte-1uha8ag button:where(.svelte-1uha8ag){flex-shrink:0}.source-toggle.svelte-1uha8ag{margin-bottom:10px}input[type=text].svelte-1uha8ag,select.svelte-1uha8ag{background:var(--bg-card);border:1px solid var(--border);flex:1;min-width:0;padding:9px 12px}button.svelte-1uha8ag{background:var(--bg-card);border:1px solid var(--border);color:var(--text);padding:9px 12px;font-size:12.5px}button.svelte-1uha8ag:hover:not(:disabled){border-color:var(--accent)}button.svelte-1uha8ag:disabled{opacity:.5;cursor:not-allowed}.mode-toggle.svelte-1uha8ag{border:1px solid var(--border);width:fit-content;margin-bottom:10px;display:flex;overflow:hidden}.mode-toggle.svelte-1uha8ag button:where(.svelte-1uha8ag){background:0 0;border:0;padding:6px 12px;font-size:12px}.mode-toggle.svelte-1uha8ag button:where(.svelte-1uha8ag)+button:where(.svelte-1uha8ag){border-left:1px solid var(--border)}.mode-toggle.svelte-1uha8ag button.on:where(.svelte-1uha8ag){background:var(--accent-soft)}textarea.svelte-1uha8ag{resize:vertical;background:var(--bg);border:1px solid var(--border);width:100%;height:220px;font-family:var(--mono);color:var(--text);padding:12px;font-size:12px;line-height:1.5}.loading-models.svelte-1uha8ag{color:var(--text-faint);font-weight:400}.models-error.svelte-1uha8ag{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}button.linkish.svelte-1uha8ag{color:var(--accent,#3b82f6);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.actions.svelte-1uha8ag{gap:8px;margin-top:10px;display:flex}button.primary.svelte-1uha8ag{background:var(--btn-primary-bg);border-color:var(--btn-primary-border);color:var(--btn-primary-text);font-weight:600}.coverage-box.svelte-1uha8ag{border:1px solid var(--border);border-left:3px solid var(--sev-med);background:var(--bg-card);flex-direction:column;gap:10px;margin-top:12px;padding:12px 14px;display:flex}.coverage-head.svelte-1uha8ag{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.coverage-head.svelte-1uha8ag strong:where(.svelte-1uha8ag){color:var(--sev-med);font-size:13px}.coverage-head.svelte-1uha8ag span:where(.svelte-1uha8ag){color:var(--text-faint);font-size:11.5px}.coverage-box.svelte-1uha8ag summary:where(.svelte-1uha8ag){color:var(--text-dim);cursor:pointer;font-size:12px}.coverage-list.svelte-1uha8ag{max-height:180px;font-family:var(--mono);color:var(--text-faint);margin:8px 0 0;padding-left:18px;font-size:11px;overflow:auto}.coverage-box.svelte-1uha8ag textarea:where(.svelte-1uha8ag){resize:vertical;background:var(--bg);border:1px solid var(--border);width:100%;font-family:var(--mono);color:var(--text);padding:10px;font-size:11.5px;line-height:1.5}.coverage-actions.svelte-1uha8ag{flex-wrap:wrap;gap:8px;display:flex}.dropzone.svelte-1uha8ag{border:1.5px dashed var(--border);text-align:center;background:var(--bg-elev);padding:26px;transition:background .15s,border-color .15s}.dropzone.drag.svelte-1uha8ag{border-color:var(--accent);background:var(--accent-soft)}.dropzone.busy.svelte-1uha8ag{opacity:.7}.dropzone.svelte-1uha8ag p:where(.svelte-1uha8ag){color:var(--text-dim);margin:0 0 6px;font-size:14px}.visually-hidden.svelte-1uha8ag{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.drop-errors.svelte-1uha8ag{background:var(--danger-bg);color:var(--danger);margin-top:10px;padding:10px 12px;font-size:12.5px}.drop-errors.svelte-1uha8ag strong:where(.svelte-1uha8ag){margin-bottom:4px;display:block}.drop-errors.svelte-1uha8ag ul:where(.svelte-1uha8ag){margin:0;padding-left:18px;line-height:1.6}.reports-col.svelte-1uha8ag{min-width:0;max-height:calc(100vh - 110px);position:sticky;top:88px;overflow:auto}.report-list.svelte-1uha8ag{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.report-item.svelte-1uha8ag{border:1px solid var(--border);background:var(--bg-card);align-items:stretch;display:flex;position:relative;overflow:visible}.report-item.svelte-1uha8ag:hover{background:var(--bg-card-hover);border-color:#33507a}.report-card.svelte-1uha8ag{min-width:0;color:var(--text);flex:1;padding:12px 8px 12px 14px;text-decoration:none;display:block}.report-actions.svelte-1uha8ag{flex-shrink:0;padding:8px 8px 0 0;position:relative}.kebab.svelte-1uha8ag{width:26px;height:26px;color:var(--text-faint);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.kebab.svelte-1uha8ag:hover{border-color:var(--border);color:var(--text);background:var(--bg)}.report-menu.svelte-1uha8ag{z-index:40;border:1px solid var(--border);background:var(--bg-card);width:148px;padding:4px;position:fixed;box-shadow:0 8px 24px #0000002e}.report-menu.svelte-1uha8ag .menu-item:where(.svelte-1uha8ag){width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;padding:8px 10px;font-size:12.5px;display:block}.report-menu.svelte-1uha8ag .menu-item:where(.svelte-1uha8ag):hover{background:var(--accent-soft)}.report-menu.svelte-1uha8ag .menu-item.danger:where(.svelte-1uha8ag){color:var(--danger)}.report-top.svelte-1uha8ag{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.report-top.svelte-1uha8ag strong:where(.svelte-1uha8ag){font-size:14px}.report-prov.svelte-1uha8ag{min-width:0;color:var(--text-dim);align-items:center;gap:6px;margin-top:4px;font-size:12px;display:flex}.report-prov.svelte-1uha8ag .prov-agent:where(.svelte-1uha8ag){text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.report-prov.svelte-1uha8ag .prov-sep:where(.svelte-1uha8ag){color:var(--text-faint);flex-shrink:0}.report-prov.svelte-1uha8ag .prov-model:where(.svelte-1uha8ag){min-width:0;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:11.5px;overflow:hidden}.when.svelte-1uha8ag{color:var(--text-dim);font-size:12px}.report-meta.svelte-1uha8ag{color:var(--text-dim);justify-content:space-between;align-items:baseline;gap:12px;margin-top:6px;font-size:12px;display:flex}.report-base.svelte-1uha8ag{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.base-arrow.svelte-1uha8ag{color:var(--text-faint)}.report-counts.svelte-1uha8ag{flex-shrink:0;align-items:baseline;gap:8px;display:flex}.pill.svelte-1uha8ag{font-family:var(--mono);font-size:11px}.pill.bad.svelte-1uha8ag{color:var(--danger)}.report-intent.svelte-1uha8ag{color:var(--text-dim);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;font-size:12.5px;line-height:1.45;display:-webkit-box;overflow:hidden}@media (width<=960px){.workspace.svelte-1uha8ag{grid-template-columns:1fr}.reports-col.svelte-1uha8ag{max-height:none;position:static}}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.agent-icon.svelte-1o6iyhy{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.agent-icon.svelte-1o6iyhy svg:where(.svelte-1o6iyhy){width:100%;height:100%;display:block}.agent-select.svelte-grhxa3{flex:1;width:100%;min-width:0;position:relative}.trigger.svelte-grhxa3{box-sizing:border-box;background:var(--bg-card);border:1px solid var(--border);width:100%;min-width:0;min-height:38px;color:var(--text);font:inherit;font-size:inherit;text-align:left;cursor:pointer;align-items:center;gap:8px;padding:9px 12px;display:flex}.trigger.svelte-grhxa3:hover:not(:disabled){border-color:var(--accent)}.trigger.svelte-grhxa3:disabled{opacity:.5;cursor:not-allowed}.label.svelte-grhxa3{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.label.muted.svelte-grhxa3{color:var(--text-faint)}.caret.svelte-grhxa3{opacity:.7;color:var(--text-dim);flex-shrink:0}.agent-select.open.svelte-grhxa3 .caret:where(.svelte-grhxa3){transform:rotate(180deg)}.menu.svelte-grhxa3{z-index:40;border:1px solid var(--border);background:var(--bg-card);flex-direction:column;gap:0;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 8px 24px #0000002e}.option.svelte-grhxa3{width:100%;color:var(--text);font:inherit;font-size:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:2px;align-items:center;gap:8px;padding:8px 10px;display:flex}.option.svelte-grhxa3:hover,.option.selected.svelte-grhxa3{background:var(--accent-soft)}.theme-toggle.svelte-lu0t34{background:var(--bg-card);border:1px solid var(--border);width:30px;height:30px;color:var(--text-dim);flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;display:flex}.theme-toggle.svelte-lu0t34:hover{border-color:var(--accent);color:var(--text)}.md.svelte-cxb0dt{color:var(--text);overflow-wrap:anywhere}.md.svelte-cxb0dt>:first-child{margin-top:0}.md.svelte-cxb0dt>:last-child{margin-bottom:0}.md.svelte-cxb0dt p,.md.svelte-cxb0dt ul,.md.svelte-cxb0dt ol,.md.svelte-cxb0dt pre,.md.svelte-cxb0dt blockquote{margin:.45em 0}.md.svelte-cxb0dt ul,.md.svelte-cxb0dt ol{padding-left:1.35em}.md.svelte-cxb0dt li{margin:.15em 0}.md.svelte-cxb0dt h1,.md.svelte-cxb0dt h2,.md.svelte-cxb0dt h3,.md.svelte-cxb0dt h4{margin:.7em 0 .35em;font-size:1em;font-weight:650;line-height:1.35}.md.svelte-cxb0dt h1{font-size:1.15em}.md.svelte-cxb0dt h2{font-size:1.08em}.md.svelte-cxb0dt a{color:var(--accent)}.md.svelte-cxb0dt code{font-family:var(--mono);background:var(--bg-card);border:1px solid var(--border-soft,var(--border));border-radius:4px;padding:.1em .35em;font-size:.92em}.md.svelte-cxb0dt pre{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:8px 10px;overflow-x:auto}.md.svelte-cxb0dt pre code{background:0 0;border:none;padding:0;font-size:12px;line-height:1.45}.md.svelte-cxb0dt blockquote{border-left:3px solid var(--border);color:var(--text-dim);padding-left:10px}.md.svelte-cxb0dt hr{border:none;border-top:1px solid var(--border);margin:.75em 0}.md.svelte-cxb0dt table{border-collapse:collapse;width:100%;font-size:12.5px}.md.svelte-cxb0dt th,.md.svelte-cxb0dt td{border:1px solid var(--border);text-align:left;padding:4px 8px}.md.svelte-cxb0dt th{background:var(--bg-card);font-weight:600}.perm-actions.svelte-1l4yk48{flex-wrap:wrap;gap:8px;display:flex}.perm-actions.svelte-1l4yk48 button:where(.svelte-1l4yk48){border:1px solid var(--border);background:var(--bg-elev);color:var(--text);border-radius:0;padding:5px 10px;font-size:12px}.perm-actions.svelte-1l4yk48 .allow:where(.svelte-1l4yk48),.perm-actions.svelte-1l4yk48 .allow-all:where(.svelte-1l4yk48){background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}.perm-actions.svelte-1l4yk48 .deny:where(.svelte-1l4yk48),.perm-actions.svelte-1l4yk48 .deny-all:where(.svelte-1l4yk48){background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.log.svelte-18syxl5{flex-direction:column;gap:6px;min-height:0;font-size:13px;line-height:1.45;display:flex;overflow-y:auto}p.svelte-18syxl5{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.user.svelte-18syxl5{background:var(--accent-soft);border:1px solid var(--btn-primary-border);border-radius:0;align-self:flex-end;max-width:90%;padding:6px 10px}.tag.svelte-18syxl5{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:10px;display:block}.message.svelte-18syxl5{color:var(--text);max-width:100%}.thought.svelte-18syxl5{color:var(--text-faint);font-size:12px}.thought.svelte-18syxl5 summary:where(.svelte-18syxl5){cursor:pointer;font-style:italic}.thought.svelte-18syxl5 p:where(.svelte-18syxl5){max-height:200px;margin-top:4px;overflow-y:auto}.tool.svelte-18syxl5{font-family:var(--mono);color:var(--text-dim);gap:6px;font-size:12px;display:flex}.tool.svelte-18syxl5 .mark:where(.svelte-18syxl5){width:12px;color:var(--ok);flex:none}.tool.failed.svelte-18syxl5 .mark:where(.svelte-18syxl5),.tool.failed.svelte-18syxl5 .title:where(.svelte-18syxl5){color:var(--danger)}.tool.svelte-18syxl5 .title:where(.svelte-18syxl5){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.permission.svelte-18syxl5{color:var(--warn);font-size:12px}.permission.allowed.svelte-18syxl5{color:var(--ok)}.permission.pending.svelte-18syxl5{border:1px solid var(--warn);background:var(--bg-card);color:var(--text);border-radius:0;padding:8px 10px}.perm-head.svelte-18syxl5{text-transform:uppercase;letter-spacing:.05em;color:var(--warn);flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:flex}.perm-head.svelte-18syxl5 .kind:where(.svelte-18syxl5){color:var(--text-faint);font-family:var(--mono);text-transform:none;letter-spacing:0}.perm-head.svelte-18syxl5 .counter:where(.svelte-18syxl5){font-variant-numeric:tabular-nums;color:var(--text-dim);text-transform:none;letter-spacing:0;font-family:var(--mono);margin-left:auto}.perm-head.svelte-18syxl5 .nav:where(.svelte-18syxl5){gap:2px;display:flex}.nav-btn.svelte-18syxl5{border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);border-radius:0;padding:2px 6px;font-size:11px;line-height:1.2}.perm-subtitle.svelte-18syxl5{color:var(--text-faint);margin:4px 0 0;font-size:11.5px}.perm-title.svelte-18syxl5{font-family:var(--mono);margin:4px 0 0;font-size:12px}.perm-command.svelte-18syxl5{font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:var(--bg-elev);border:1px solid var(--border);border-radius:0;max-width:100%;margin:6px 0 0;padding:8px 10px;font-size:11.5px;line-height:1.4}.perm-command.collapsed.svelte-18syxl5{max-height:10.5em;overflow:hidden}.perm-expand.svelte-18syxl5{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:0;margin:4px 0 0;padding:0;font-size:11.5px;text-decoration:underline}.perm-expand.svelte-18syxl5:hover{color:var(--text)}.perm-reason.svelte-18syxl5{color:var(--text-faint);margin:2px 0 0;font-size:11.5px}.permission.pending.svelte-18syxl5 .perm-actions{margin-top:8px}.permission.svelte-18syxl5 span:where(.svelte-18syxl5){color:var(--text-faint)}.plan.svelte-18syxl5{color:var(--text-dim);margin:0;padding-left:18px;font-size:12px}.plan.svelte-18syxl5 li.done:where(.svelte-18syxl5){color:var(--text-faint);text-decoration:line-through}.review.svelte-18syxl5{border-radius:0;padding:6px 10px;font-size:12px}.review.ok.svelte-18syxl5{background:var(--ok-bg);color:var(--ok)}.review.bad.svelte-18syxl5 .retry:where(.svelte-18syxl5){border:1px solid var(--danger-border);background:var(--bg-elev);color:var(--text);cursor:pointer;border-radius:0;margin-top:8px;padding:5px 12px;font-size:12px}.review.bad.svelte-18syxl5 .retry:where(.svelte-18syxl5):hover:not(:disabled){border-color:var(--accent)}.review.bad.svelte-18syxl5 .retry:where(.svelte-18syxl5):disabled{opacity:.55;cursor:default}.review.bad.svelte-18syxl5,.error.svelte-18syxl5{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger);border-radius:0;padding:6px 10px;font-size:12px}.review.svelte-18syxl5 ul:where(.svelte-18syxl5){margin:4px 0 0;padding-left:16px}.note.svelte-18syxl5{color:var(--text-faint);font-size:12px}.working.svelte-18syxl5{gap:4px;padding:4px 0;display:flex}.working.svelte-18syxl5 span:where(.svelte-18syxl5){background:var(--text-faint);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite svelte-18syxl5-blink}.working.svelte-18syxl5 span:where(.svelte-18syxl5):nth-child(2){animation-delay:.2s}.working.svelte-18syxl5 span:where(.svelte-18syxl5):nth-child(3){animation-delay:.4s}@keyframes svelte-18syxl5-blink{0%,80%,to{opacity:.2}40%{opacity:1}}.trust.svelte-3jjxns{border:1px solid var(--border);background:var(--bg-card);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;font:inherit;border-radius:0;flex:none;align-items:center;gap:8px;padding:5px 8px;display:flex}.trust.inline.svelte-3jjxns{width:auto;max-width:100%;padding:4px 8px}.trust.on.svelte-3jjxns{border-color:color-mix(in srgb, var(--ok) 45%, var(--border));background:var(--ok-bg)}.trust.svelte-3jjxns:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.switch.svelte-3jjxns{border:1px solid var(--border);background:var(--bg-elev);border-radius:999px;flex:none;width:30px;height:16px;transition:background .15s,border-color .15s;position:relative}.trust.on.svelte-3jjxns .switch:where(.svelte-3jjxns){background:var(--ok);border-color:var(--ok)}.knob.svelte-3jjxns{background:var(--text);opacity:.55;border-radius:50%;width:12px;height:12px;transition:transform .15s,background .15s,opacity .15s;position:absolute;top:1px;left:1px}.trust.on.svelte-3jjxns .knob:where(.svelte-3jjxns){background:var(--bg-card);opacity:1;transform:translate(14px)}.trust-text.svelte-3jjxns{flex-wrap:wrap;align-items:baseline;gap:4px;min-width:0;line-height:1.2;display:flex}.trust-text.svelte-3jjxns strong:where(.svelte-3jjxns){color:var(--text);font-size:12px;font-weight:600}.trust-text.svelte-3jjxns small:where(.svelte-3jjxns){color:var(--text-faint);font-size:11px}.model-select.svelte-9wkprr{flex:1;width:100%;min-width:0;position:relative}.trigger.svelte-9wkprr{box-sizing:border-box;background:var(--bg-card);border:1px solid var(--border);width:100%;min-width:0;min-height:38px;color:var(--text);font:inherit;font-size:inherit;text-align:left;cursor:pointer;align-items:center;gap:8px;padding:9px 12px;display:flex}.trigger.svelte-9wkprr:hover:not(:disabled){border-color:var(--accent)}.trigger.svelte-9wkprr:disabled{opacity:.5;cursor:not-allowed}.title.svelte-9wkprr{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.title.muted.svelte-9wkprr{color:var(--text-faint)}.badges.svelte-9wkprr{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:4px;max-width:45%;display:flex}.badge.svelte-9wkprr{border:1px solid var(--border);background:var(--bg-elev,var(--bg-card));color:var(--text-dim,var(--text-faint));font-size:10px;line-height:1.35;font-family:var(--mono,ui-monospace, monospace);white-space:nowrap;border-radius:0;padding:0 5px}.hint.svelte-9wkprr{color:var(--text-faint);font-size:10px;font-family:var(--mono,ui-monospace, monospace);flex-shrink:0}.caret.svelte-9wkprr{opacity:.7;color:var(--text-dim);flex-shrink:0}.model-select.open.svelte-9wkprr .caret:where(.svelte-9wkprr){transform:rotate(180deg)}.menu.svelte-9wkprr{z-index:40;border:1px solid var(--border);background:var(--bg-card);flex-direction:column;max-height:min(360px,50vh);padding:4px;display:flex;position:absolute;inset:calc(100% + 4px) 0 auto;overflow:auto;box-shadow:0 8px 24px #0000002e}.model-select.drop-up.svelte-9wkprr .menu:where(.svelte-9wkprr){top:auto;bottom:calc(100% + 4px);box-shadow:0 -8px 24px #0000002e}.option.svelte-9wkprr{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:2px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:flex}.option.svelte-9wkprr:hover,.option.selected.svelte-9wkprr{background:var(--accent-soft)}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{F as e,J as t,M as n,N as r,P as i,et as a,n as o,q as s,t as c}from"./D8WOD_eS.js";var l=class{constructor(e,t){this.status=e,typeof t==`string`?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}},u=class{constructor(e,t){try{new Headers({location:t})}catch{throw Error(`Invalid redirect location ${JSON.stringify(t)}: this string contains characters that cannot be used in HTTP headers`)}this.status=e,this.location=t}},d=class extends Error{constructor(e,t,n){super(n),this.status=e,this.text=t}};new URL(`sveltekit-internal://`);function f(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function p(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function m(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function h({href:e}){return e.split(`#`)[0]}function g(){}function _(e){let t=!1,n;return()=>t?n:(t=!0,n=e())}function v(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}var ee=new TextEncoder;function te(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function y(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var ne=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&b.delete(ae(e)),ne(e,t));var b=new Map;function re(e,t){let n=ae(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent);r.getAttribute(`data-b64`)!==null&&(e=y(e));let i=r.getAttribute(`data-ttl`);return i&&b.set(n,{body:e,init:t,ttl:1e3*Number(i)}),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function ie(e,t,n){if(b.size>0){let t=ae(e,n),r=b.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);b.delete(t)}}return window.fetch(t,n)}function ae(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${v(...e)}"]`}return n}var oe=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,se=/^\/\((?:[^)]+)\)$/;function ce(e){let t=[];return{pattern:e===`/`||se.test(e)?/^\/$/:RegExp(`^${ue(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return fe(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return fe(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=oe.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return fe(e)}).join(``)}).join(``)}/?$`),params:t}}function le(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function ue(e){return e.slice(1).split(`/`).filter(le)}function de(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0)if(s.rest)c=``;else continue;if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0);continue}if(s.optional&&s.chained){o++;continue}return}if(!o)return r}function fe(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}var pe=/\[(\[)?(\.\.\.)?(\w+?)(?:=(\w+))?\]\]?/g;function me(e,t){let n=ue(e),r=e!=`/`&&e.endsWith(`/`);return`/`+n.map(n=>n.replace(pe,(n,r,i,a)=>{let o=t[a];if(!o){if(r||i&&o!==void 0)return``;throw Error(`Missing parameter '${a}' in route ${e}`)}if(o.startsWith(`/`)||o.endsWith(`/`))throw Error(`Parameter '${a}' in route ${e} cannot start or end with a slash -- this would cause an invalid route like foo//bar`);return o})).filter(Boolean).join(`/`)+(r?`/`:``)}function he({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=ce(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return de(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function ge(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function _e(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var x=globalThis.__sveltekit_14zvmq9?.base??``,ve=globalThis.__sveltekit_14zvmq9?.assets??x??``,ye=`_app`,be=``;function xe(...e){if(!e[0].startsWith(`/`))throw Error(`Cannot use \`resolve(...)\` with a non-absolute pathname or route ID (got "${e[0]}"). \`resolve\` is only for internal pathnames and route IDs; external URLs should be used directly.`);return x+be+me(e[0],e[1])}var Se=`1792444085246`,Ce=`sveltekit:snapshot`,we=`sveltekit:scroll`,Te=`sveltekit:states`,Ee=`sveltekit:pageurl`,S=`sveltekit:history`,C=`sveltekit:navigation`,w={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},T=location.origin;function De(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function E(){return{x:pageXOffset,y:pageYOffset}}function D(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var Oe={...w,"":w.hover};function ke(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Ae(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=ke(e)}}function je(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||Ie(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===T&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function Me(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=D(s,`preload-code`)),i===null&&(i=D(s,`preload-data`)),t===null&&(t=D(s,`keepfocus`)),n===null&&(n=D(s,`noscroll`)),a===null&&(a=D(s,`reload`)),o===null&&(o=D(s,`replacestate`)),s=ke(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:Oe[r??`off`],preload_data:Oe[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function Ne(e){let t=a(e),n=!0;function r(){n=!0,t.update(e=>e)}function i(e){n=!1,t.set(e)}function o(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:r,set:i,subscribe:o}}var Pe={v:g};function Fe(){let{set:e,subscribe:t}=a(!1);async function n(){clearTimeout(void 0);try{let t=await fetch(`${ve}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let n=(await t.json()).version!==Se;return n&&(e(!0),Pe.v(),clearTimeout(void 0)),n}catch{return!1}}return{subscribe:t,check:n}}function Ie(e,t,n){return e.origin!==T||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function Le(e){}var Re=2**32-1,ze=Re-1,O=class extends Error{constructor(e,t,n,r){super(e),this.name=`DevalueError`,this.path=t.join(``),this.value=n,this.root=r}},Be=Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);function Ve(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getPrototypeOf(t)===null||Object.getOwnPropertyNames(t).sort().join(`\0`)===Be}function He(e){return Object.prototype.toString.call(e).slice(8,-1)}function Ue(e){switch(e){case`"`:return`\\"`;case`<`:return`\\u003C`;case`\\`:return`\\\\`;case`
|
|
2
|
+
`:return`\\n`;case`\r`:return`\\r`;case` `:return`\\t`;case`\b`:return`\\b`;case`\f`:return`\\f`;case`\u2028`:return`\\u2028`;case`\u2029`:return`\\u2029`;default:return e<` `?`\\u${e.charCodeAt(0).toString(16).padStart(4,`0`)}`:``}}function k(e){let t=``,n=0,r=e.length;for(let i=0;i<r;i+=1){let r=e[i],a=Ue(r);a&&(t+=e.slice(n,i)+a,n=i+1)}return`"${n===0?e:t+e.slice(n)}"`}function We(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.getOwnPropertyDescriptor(e,t).enumerable)}var Ge=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function Ke(e){return Ge.test(e)?`.`+e:`[`+JSON.stringify(e)+`]`}function qe(e){return!(!Number.isInteger(e)||e<0||e>ze)}function Je(e){return!(!Number.isInteger(e)||e<0||e>Re)}function Ye(e){if(e.length===0||e.length>1&&e.charCodeAt(0)===48)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<48||n>57)return!1}return qe(+e)}function Xe(e){for(var t=e.length-1;t>=0&&!Ye(e[t]);t--);return t+1}function Ze(e){let t=Object.keys(e);return t.length=Xe(t),t}function Qe(e){return new Uint8Array(e).toBase64()}function $e(e){return Uint8Array.fromBase64(e).buffer}function et(e){return Buffer.from(e).toString(`base64`)}function tt(e){return Uint8Array.from(Buffer.from(e,`base64`)).buffer}function nt(e){let t=new Uint8Array(e),n=``,r=32768;for(let e=0;e<t.length;e+=r){let i=t.subarray(e,e+r);n+=String.fromCharCode.apply(null,i)}return btoa(n)}function rt(e){let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer}var it=typeof Uint8Array.fromBase64==`function`,at=typeof process==`object`&&process.versions?.node!==void 0,ot=it?Qe:at?et:nt,st=it?$e:at?tt:rt;function ct(e,t){if(!t)return e;let n={};for(let r of Object.keys(e))n[r]=t[r]??e[r];return n}var lt=Object.freeze({kind:`not-plain`}),ut=Object.freeze({kind:`symbol-keys`}),dt=Object.freeze({identify:e=>e,typeOf:e=>e===null?`null`:typeof e,toPrimitive:e=>e,tagOf:e=>He(e),isThenable:e=>typeof e.then==`function`,toPromise:e=>Promise.resolve(e),unbox:e=>e.valueOf(),toISOString:e=>isNaN(e.getDate())?``:e.toISOString(),toStringValue:e=>e.toString(),regExpInfo:e=>({source:e.source,flags:e.flags}),valuesOf:e=>e,entriesOf:e=>e,viewInfo:e=>({buffer:e.buffer,byteOffset:e.byteOffset,byteLength:e.byteLength,length:e.length,bufferByteLength:e.buffer.byteLength}),toArrayBuffer:e=>e,lengthOf:e=>e.length,hasOwn:(e,t)=>Object.hasOwn(e,t),indicesOf:e=>Ze(e),shapeOf:e=>Ve(e)?We(e).length>0?ut:{kind:Object.getPrototypeOf(e)===null?`null-proto`:`plain`,keys:Object.keys(e)}:lt,get:(e,t)=>e[t]}),ft=Object.freeze({fromPrimitive:e=>e,fromISOString:e=>new Date(e),fromStringValue:(e,t)=>e===`URL`?new URL(t):e===`URLSearchParams`?new URLSearchParams(t):Temporal[e.slice(9)].from(t),fromArrayBuffer:e=>e,fromRegExpInfo:(e,t)=>new RegExp(e,t),fromViewInfo:(e,t,n,r)=>{let i=globalThis[e];return n===void 0?new i(t):new i(t,n,r)},box:e=>Object(e),createArray:e=>Array(e),createSparseArray:e=>{let t=[];return t[ze]=void 0,delete t[ze],t.length=e,t},createObject:()=>({}),createNullPrototypeObject:()=>Object.create(null),createSet:()=>new Set,createMap:()=>new Map,set:(e,t,n)=>{e[t]=n},addValue:(e,t)=>{e.add(t)},addEntry:(e,t,n)=>{e.set(t,n)}});function pt(e,t,n){let r=ht(!1,e,t,n);return typeof r==`string`?r:`[${r.join(`,`)}]`}async function mt(e,t,n){let r=ht(!0,e,t,n);if(typeof r==`string`)return r;let i=`[`;for(let e=0;e<r.length;e+=1){let t=r[e];if(typeof t!=`string`&&(await t,t=r[e],e===0&&t<0))return`${t}`;i+=t,e<r.length-1&&(i+=`,`)}return i+=`]`,i}function ht(e,t,n,r){let i=ct(dt,r?.operations),a=[],o=new Map,s=[];if(n)for(let e of Object.getOwnPropertyNames(n))s.push({key:e,fn:n[e]});let c=[],l=0;function u(n,r){let d=i.typeOf(n);if(d===`undefined`)return-1;let f;if(d===`number`){if(f=i.toPrimitive(n),Number.isNaN(f))return-3;if(f===1/0)return-4;if(f===-1/0)return-5;if(f===0&&1/f<0)return-6}let p=i.identify(n);if(o.has(p))return o.get(p);r??=l++,o.set(p,r);for(let{key:e,fn:t}of s){let i=t(n);if(i)return a[r]=`["${e}",${u(i)}]`,r}if(d===`function`)throw new O(`Cannot stringify a function`,c,n,t);if(d===`symbol`)throw new O(`Cannot stringify a Symbol primitive`,c,n,t);let m=``;if(d!==`object`)m=gt(d===`number`?f:i.toPrimitive(n));else if(i.isThenable(n)){if(!e)throw new O(`Cannot stringify a Promise or thenable — use stringifyAsync instead`,c,n,t);m=i.toPromise(n).then(e=>{let t=u(e,r);t<0&&(a[r]=t)})}else{let e=i.tagOf(n);switch(e){case`Number`:case`String`:case`Boolean`:case`BigInt`:m=`["Object",${u(i.unbox(n))}]`;break;case`Date`:m=`["Date","${i.toISOString(n)}"]`;break;case`URL`:m=`["URL",${k(i.toStringValue(n))}]`;break;case`URLSearchParams`:m=`["URLSearchParams",${k(i.toStringValue(n))}]`;break;case`RegExp`:let{source:r,flags:a}=i.regExpInfo(n);m=a?`["RegExp",${k(r)},"${a}"]`:`["RegExp",${k(r)}]`;break;case`Array`:{let e=!1,t=i.lengthOf(n);m=`[`;for(let r=0;r<t;r+=1)if(r>0&&(m+=`,`),i.hasOwn(n,r))c.push(`[${r}]`),m+=u(i.get(n,r)),c.pop();else if(e)m+=-2;else{let r=i.indicesOf(n),a=r.length,o=String(t).length;if((t-a)*3>4+o+a*(o+1)){m=`[-7,`+t;for(let e=0;e<r.length;e++){let t=r[e];c.push(`[${t}]`),m+=`,`+t+`,`+u(i.get(n,t)),c.pop()}break}else e=!0,m+=-2}m+=`]`;break}case`Set`:m=`["Set"`;for(let e of i.valuesOf(n))m+=`,${u(e)}`;m+=`]`;break;case`Map`:m=`["Map"`;for(let[e,t]of i.entriesOf(n)){let n=i.typeOf(e),r=n!==`object`&&n!==`function`&&n!==`symbol`;c.push(`.get(${r?gt(i.toPrimitive(e)):`...`})`),m+=`,${u(e)},${u(t)}`,c.pop()}m+=`]`;break;case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:case`Int16Array`:case`Uint16Array`:case`Float16Array`:case`Int32Array`:case`Uint32Array`:case`Float32Array`:case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:{let t=i.viewInfo(n);m=`["`+e+`",`+u(t.buffer),t.byteLength!==t.bufferByteLength&&(m+=`,${t.byteOffset},${t.length}`),m+=`]`;break}case`DataView`:{let t=i.viewInfo(n);m=`["`+e+`",`+u(t.buffer),t.byteLength!==t.bufferByteLength&&(m+=`,${t.byteOffset},${t.byteLength}`),m+=`]`;break}case`ArrayBuffer`:m=`["ArrayBuffer","${ot(i.toArrayBuffer(n))}"]`;break;case`Temporal.Duration`:case`Temporal.Instant`:case`Temporal.PlainDate`:case`Temporal.PlainTime`:case`Temporal.PlainDateTime`:case`Temporal.PlainMonthDay`:case`Temporal.PlainYearMonth`:case`Temporal.ZonedDateTime`:m=`["${e}",${k(i.toStringValue(n))}]`;break;default:{let e=i.shapeOf(n);if(e.kind===`not-plain`)throw new O(`Cannot stringify arbitrary non-POJOs`,c,n,t);if(e.kind===`symbol-keys`)throw new O(`Cannot stringify POJOs with symbolic keys`,c,n,t);if(e.kind===`null-proto`){m=`["null"`;for(let r of e.keys){if(r===`__proto__`)throw new O(`Cannot stringify objects with __proto__ keys`,c,n,t);c.push(Ke(r)),m+=`,${k(r)},${u(i.get(n,r))}`,c.pop()}m+=`]`}else{m=`{`;let r=!1;for(let a of e.keys){if(a===`__proto__`)throw new O(`Cannot stringify objects with __proto__ keys`,c,n,t);r&&(m+=`,`),r=!0,c.push(Ke(a)),m+=`${k(a)}:${u(i.get(n,a))}`,c.pop()}m+=`}`}}}}return a[r]=m,r}let d=u(t);return d<0?`${d}`:a}function gt(e){let t=typeof e;return t===`string`?k(e):e===void 0?`-1`:e===0&&1/e<0?`-6`:t===`bigint`?`["BigInt","${e}"]`:String(e)}var _t=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);[..._t],[...new Set([..._t])];function vt(e){return e.filter(e=>e!=null)}var yt=Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);function bt(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getPrototypeOf(t)===null||Object.getOwnPropertyNames(t).sort().join(`\0`)===yt}function xt(e,t){let n=Object.getPrototypeOf(e)===null?Object.create(null):{};t.set(e,n),Object.defineProperty(n,Ot,{value:!0});for(let r of Object.keys(e).sort()){let i=e[r];Object.defineProperty(n,r,{value:t.get(i)??i,enumerable:!0,configurable:!0,writable:!0})}return n}var St=`__skrao`,Ct=`__skram`,wt=`__skras`,Tt=`__skraf`,Et=`__skrap`,Dt=`__skrag`,Ot=Symbol(St);function kt(e,t,n){let r={[Dt]:e=>{if(e instanceof RegExp)throw Error(`Regular expressions are not valid remote function arguments`)}};t&&(r[Ct]=e=>{if(!(e instanceof Map))return;let t=[];for(let[n,r]of e)t.push([a(n),a(r)]);return t.sort(([e,t],[n,r])=>e<n?-1:e>n?1:t<r?-1:+(t>r))},r[wt]=e=>{if(!(e instanceof Set))return;let t=[];for(let n of e)t.push(a(n));return t.sort(),t},r[St]=e=>{if(bt(e)&&!Object.hasOwn(e,Ot))return n.has(e)?n.get(e):xt(e,n)});let i={...Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t.encode])),...r},a=e=>pt(e,i);return i}function At(e,t){return e===void 0?``:Mt(pt(e,kt(t,!0,new Map)))}async function jt(e,t){if(e===void 0)return``;let n=kt(t,!1,new Map),r=new Set;return n[Tt]=e=>{if(e instanceof File){let t=e.arrayBuffer().then(t=>({data:t,lastModified:e.lastModified,name:e.name,size:e.size,type:e.type}));return r.add(t),t}},n[Et]=e=>{if(e instanceof Promise&&!r.has(e))throw Error(`Promises are not valid remote function arguments`)},Mt(await mt(e,n))}function Mt(e){return te(ee.encode(e)).replaceAll(`=`,``).replaceAll(`+`,`-`).replaceAll(`/`,`_`)}function A(e,t){return e+`/`+t}function Nt(e){let t=e.lastIndexOf(`/`);if(t===-1)throw Error(`Invalid remote key: ${e}`);return{id:e.slice(0,t),payload:e.slice(t+1)}}function Pt(e){return e instanceof l||e instanceof d?e.status:500}function Ft(e){return e instanceof d?e.text:`Internal Error`}var j,M,It,Lt=o.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(o.toString()),Rt=`a:`;Lt?(j={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(Rt)},M={current:null},It={current:!1}):(j=new class{#e=t({});get data(){return n(this.#e)}set data(e){s(this.#e,e)}#t=t(null);get form(){return n(this.#t)}set form(e){s(this.#t,e)}#n=t(null);get error(){return n(this.#n)}set error(e){s(this.#n,e)}#r=t({});get params(){return n(this.#r)}set params(e){s(this.#r,e)}#i=t({id:null});get route(){return n(this.#i)}set route(e){s(this.#i,e)}#a=t({});get state(){return n(this.#a)}set state(e){s(this.#a,e)}#o=t(-1);get status(){return n(this.#o)}set status(e){s(this.#o,e)}#s=t(new URL(Rt));get url(){return n(this.#s)}set url(e){s(this.#s,e)}},M=new class{#e=t(null);get current(){return n(this.#e)}set current(e){s(this.#e,e)}},It=new class{#e=t(!1);get current(){return n(this.#e)}set current(e){s(this.#e,e)}},Pe.v=()=>It.current=!0);function zt(e){Object.assign(j,e)}var{onMount:Bt,tick:Vt}=c,Ht=e??(e=>e()),Ut=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),N=null,P=ge(`sveltekit:scroll`)??{},F=ge(`sveltekit:snapshot`)??{},I={url:Ne({}),page:Ne({}),navigating:a(null),updated:Fe()};function Wt(e){P[e]=E()}function Gt(e,t){let n=e+1;for(;P[n];)delete P[n],n+=1;for(n=t+1;F[n];)delete F[n],n+=1}function L(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(g)}async function Kt(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(x||`/`);e&&await e.update()}}var qt,Jt,R,z,Yt,B,V={},Xt={},Zt=[],Qt=[],H=null;function $t(){H?.fork?.then(e=>e?.discard()),H=null,Q={element:void 0,href:void 0}}var en=new Map,tn=new Set,nn=new Set,U=new Set,W={branch:[],error:null,url:null,nav:null},rn=!1,an=!1,on=!0,G=!1,K=!1,sn=!1,cn=!1,ln,q,J,Y,un=new Set,dn=new Map,fn=new Map;async function pn(e,t,n){if(globalThis.__sveltekit_14zvmq9.data){let{q:e={},p:t={},l:n={},f:r={}}=globalThis.__sveltekit_14zvmq9.data;for(let t in e)V[t]=e[t];for(let e in n)V[e]=n[e];for(let e in r)V[e]=r[e];for(let e in t)Xt[e]=t[e]}document.URL!==location.href&&(location.href=location.href),B=e,await e.hooks.init?.(),qt=he(e),z=document.documentElement,Yt=t,Jt=e.nodes[0],R=e.nodes[1],Jt(),R(),q=history.state?.[S],J=history.state?.[C],q||(q=J=Date.now(),history.replaceState({...history.state,[S]:q,[C]:J},``));let r=P[q];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await Hn(Yt,n)):(await Z({type:`enter`,url:De(B.hash?Jn(new URL(location.href)):location.href),replace_state:!0}),i()),Vn()}function mn(){Zt.length=0,cn=!1}function hn(e){Qt.some(e=>e?.snapshot)&&(F[e]=Qt.map(e=>e?.snapshot?.capture()))}function gn(e){F[e]?.forEach((e,t)=>{Qt[t]?.snapshot?.restore(e)})}function _n(){Wt(q),_e(we,P),hn(J),_e(Ce,F)}async function vn(e,t,n,r){let a,o;t.invalidateAll&&$t(),await Z({type:`goto`,url:De(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:r,accept:()=>{if(t.invalidateAll){cn=!0,a=new Set;for(let[e,t]of dn)for(let[n,r]of t)r.resource?.reset(),a.add(A(e,n));o=new Set;for(let[e,t]of fn)for(let n of t.keys())o.add(A(e,n))}t.invalidate&&t.invalidate.forEach(zn)}}),t.invalidateAll&&i().then(i).then(()=>{for(let[e,t]of dn)for(let[n,{resource:r}]of t)a?.has(A(e,n))&&r.start();for(let[e,t]of fn)for(let[n,{resource:r}]of t)o?.has(A(e,n))&&r.reconnect()})}async function yn(e){if(e.id!==H?.id){$t();let t={};un.add(t),H={id:e.id,token:t,promise:kn({...e,preload:t}).then(e=>(un.delete(t),e.type===`loaded`&&e.state.error&&$t(),e)),fork:null}}return H.promise}async function bn(e){let t=(await Nn(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function xn(e,t,n){let r={params:W.params,route:{id:W.route?.id??null},url:new URL(location.href)};if(W={...e.state,nav:r},zt(e.props.page),ln=new B.root({target:t,props:{...e.props,stores:I,components:Qt},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),n){let e={from:null,to:{...r,scroll:P[q]??E()},willUnload:!1,type:`enter`,complete:Promise.resolve()};U.forEach(t=>t(e))}gn(J),an=!0}async function Sn({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(x&&(e.pathname===x||e.pathname===x+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=f(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:vt(n).map(e=>e.node.component),page:qn(j)}};s!==void 0&&(l.props.form=s);let u={},d=!j,p=0;for(let e=0;e<Math.max(n.length,W.branch.length);e+=1){let t=n[e],r=W.branch[e];t?.data!==r?.data&&(d=!0),t&&(u={...u,...t.data},d&&(l.props[`data_${p}`]=u),p+=1)}return(!W.url||e.href!==W.url.href||W.error!==a||s!==void 0&&s!==j.form||d)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:d?u:j.data}),l}async function Cn({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},s=await e();return{node:s,loader:e,server:a,universal:s.universal?.load?{type:`data`,data:null,uses:o}:null,data:a?.data??null,slash:s.universal?.trailingSlash??a?.slash}}function wn(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:an?ie(r,i.href,t):re(r,t)}}function Tn(e,t,n,r,i,a){if(cn)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==W.params[e])return!0;for(let e of i.dependencies)if(Zt.some(t=>t(new URL(e))))return!0;return!1}function En(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function Dn(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function On({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:qn(j),constructors:[]}}}async function kn({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(H?.id===e)return un.delete(H.token),H.promise;let{errors:o,layouts:s,leaf:c}=i,d=[...s,c];o.forEach(e=>e?.().catch(g)),d.forEach(e=>e?.[1]().catch(g));let f=W.url?e!==X(W.url):!1,p=W.route?i.id!==W.route.id:!1,m=Dn(W.url,n),h=!1,_=d.map(async(e,t)=>{if(!e)return;let a=W.branch[t];return e[1]===a?.loader&&!Tn(h,p,f,m,a.universal?.uses,r)?a:(h=!0,Cn({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await _[n])?.data);return e},server_data_node:En(e[0]?{type:`skip`}:null,e[0]?a?.server:void 0)}))});for(let e of _)e.catch(g);let v=[];for(let e=0;e<d.length;e+=1)if(d[e])try{v.push(await _[e])}catch(t){if(t instanceof u)return{type:`redirect`,location:t.location};if(a&&un.has(a))return On({error:await $(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=Pt(t),c;if(t instanceof l)c=t.body;else{if(await I.updated.check())return await Kt(),await L(n);c=await $(t,{params:r,url:n,route:{id:i.id}})}let d=await An(e,v,o);return d?Sn({url:n,params:r,branch:v.slice(0,d.idx).concat(d.node),errors:o,status:s,error:c,route:i}):await In(n,{id:i.id},c,s)}else v.push(void 0);return Sn({url:n,params:r,branch:v,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function An(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function jn({status:e,error:t,url:n,route:r}){let i={};try{return Sn({url:n,params:i,branch:[await Cn({loader:Jt,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:En(null)}),{node:await R(),loader:R,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(t){if(t instanceof u){await vn(new URL(t.location,location.href),{},0);return}let a=await B.get_error_template(),o=await $(t,{url:n,params:i,route:r}),s=a({status:e,message:String(o?.message??``).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`)}),c=new DOMParser().parseFromString(s,`text/html`);throw document.documentElement.replaceChild(document.adoptNode(c.head),document.head),document.documentElement.replaceChild(document.adoptNode(c.body),document.body),t}}async function Mn(e){let t=e.href;if(en.has(t))return en.get(t);let n;try{let r=(async()=>{let t=await B.hooks.reroute({url:new URL(e),fetch:async(t,n)=>wn(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);B.hash?n.hash=t:n.pathname=t,t=n}return t})();en.set(t,r),n=await r}catch{en.delete(t);return}return n}async function Nn(e,t){if(e&&!Ie(e,x,B.hash)){let n=await Mn(e);if(!n)return;let r=Pn(n);for(let n of qt){let i=n.exec(r);if(i)return{id:X(e),invalidating:t,route:n,params:m(i),url:e}}}}function Pn(e){return p(B.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(x.length))||`/`}function X(e){return(B.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function Fn({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=Kn(W,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return G||tn.forEach(e=>e(c)),o?null:s}async function Z({type:e,url:t,popped:n,keepfocus:a,noscroll:o,replace_state:s,state:c={},redirect_count:l=0,nav_token:u={},accept:f=g,block:p=g,event:m}){let h=Y;Y=u;let _=await Nn(t,!1),v=e===`enter`?Kn(W,_,t,e):Fn({url:t,type:e,delta:n?.delta,intent:_,scroll:n?.scroll,event:m});if(!v){p(),Y===u&&(Y=h);return}let ee=q,te=J;f(),G=!0,an&&v.navigation.type!==`enter`&&I.navigating.set(M.current=v.navigation);let y=_&&await kn(_);if(!y){if(Ie(t,x,B.hash))return await L(t,s);y=await In(t,{id:null},await $(new d(404,`Not Found`,`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,s)}if(t=_?.url||t,Y!==u){v.reject(Error(`navigation aborted`));return}if(!y)return;if(y.type===`redirect`){if(l<20){await Z({type:e,url:new URL(y.location,t),popped:n,keepfocus:a,noscroll:o,replace_state:s,state:c,redirect_count:l+1,nav_token:u}),v.fulfil(void 0);return}if(y=await jn({status:500,error:await $(Error(`Redirect loop`),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}}),!y)return}else if(y.props.page.status>=400&&await I.updated.check())return await Kt(),await L(t,s);if(mn(),Wt(ee),hn(te),y.props.page.url.pathname!==t.pathname&&(t.pathname=y.props.page.url.pathname),c=n?n.state:c,!n){let e=+!s,n={[S]:q+=e,[C]:J+=e,[Te]:c};(s?history.replaceState:history.pushState).call(history,n,``,t),s||Gt(q,J)}let ne=_&&H?.id===_.id?H.fork:null;H?.fork&&!ne?$t():(H=null,Q={element:void 0,href:void 0}),y.props.page.state=c;let b;if(an){let e=(await Promise.all(Array.from(nn,e=>e(v.navigation)))).filter(e=>typeof e==`function`);if(e.length>0){function t(){e.forEach(e=>{U.delete(e)})}e.push(t),e.forEach(e=>{U.add(e)})}let n=v.navigation.to;W={...y.state,nav:{params:n.params,route:n.route,url:n.url}},y.props.page&&(y.props.page.url=t),!a&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();let i=ne&&await ne;i?b=i.commit():(N=null,ln.$set(y.props),N&&Object.assign(y.props.page,N),zt(y.props.page),b=r?.()),sn=!0}else await xn(y,Yt,!1);let{activeElement:re}=document;if(await b,await i(),await i(),Y!==u){v.reject(Error(`navigation aborted`));return}y.props.page&&N&&Object.assign(y.props.page,N);let ie=null;if(on){let e=n?n.scroll:o?E():null;e?scrollTo(e.x,e.y):(ie=t.hash&&document.getElementById(Yn(t)))?ie.scrollIntoView():scrollTo(0,0)}let ae=document.activeElement!==re&&document.activeElement!==document.body;!a&&!ae&&Gn(t,!ie),on=!0,G=!1,v.fulfil(void 0),v.navigation.to&&(v.navigation.to.scroll=E()),U.forEach(e=>e(v.navigation)),e===`popstate`&&gn(J),I.navigating.set(M.current=null)}async function In(e,t,n,r,i){return e.origin===T&&e.pathname===location.pathname&&!rn?await jn({status:r,error:n,url:e,route:t}):await L(e,i)}var Q={element:void 0,href:void 0};function Ln(){let e,t;z.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{i(n,w.hover)},20)});function n(e){e.defaultPrevented||i(e.composedPath()[0],w.tap)}z.addEventListener(`mousedown`,n),z.addEventListener(`touchstart`,n,{passive:!0});let r=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(bn(new URL(t.target.href)),r.unobserve(t.target))},{threshold:0});async function i(e,n){let r=Ae(e,z),i=r===Q.element&&r?.href===Q.href&&n>=t;if(!r||i)return;let{url:a,external:o,download:s}=je(r,x,B.hash);if(o||s)return;let c=Me(r),l=a&&X(W.url)===X(a);if(!(c.reload||l))if(n<=c.preload_data){Q={element:r,href:r.href},t=w.tap;let e=await Nn(a,!1);if(!e)return;yn(e)}else n<=c.preload_code&&(Q={element:r,href:r.href},t=n,bn(a))}function a(){r.disconnect();for(let e of z.querySelectorAll(`a`)){let{url:t,external:n,download:i}=je(e,x,B.hash);if(n||i)continue;let a=Me(e);a.reload||(a.preload_code===w.viewport&&r.observe(e),a.preload_code===w.eager&&bn(t))}}U.add(a),a()}function $(e,t){if(e instanceof l)return e.body;let n=Pt(e),r=Ft(e);return B.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Rn(e,t={}){return e=new URL(De(e)),e.origin===T?vn(e,t,0):Promise.reject(Error(`goto: invalid URL`))}function zn(e){if(typeof e==`function`)Zt.push(e);else{let{href:t}=new URL(e,location.href);Zt.push(e=>e.href===t)}}function Bn(e,t){let n={[S]:q,[C]:J,[Ee]:j.url.href,[Te]:t};history.replaceState(n,``,De(e)),j.state=t,ln.$set({page:Ht(()=>qn(j))})}function Vn(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(_n(),!G){let e=Kn(W,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};tn.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&_n()}),navigator.connection?.saveData||Ln(),z.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=Ae(t.composedPath()[0],z);if(!n)return;let{url:r,external:i,target:a,download:o}=je(n,x,B.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=Me(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol===`https:`||r.protocol===`http:`)||o)return;let[c,l]=(B.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===h(location);if(i||s.reload&&(!u||!l)){Fn({url:r,type:`link`,event:t})?G=!0:t.preventDefault();return}if(l!==void 0&&u){let[,i]=W.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(K=!0,Wt(q),e(r),!s.replace_state)return;K=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await Z({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}),z.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(Ie(r,x,!1))return;let i=e.target,a=Me(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Z({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!Wn)if(t.state?.[`sveltekit:history`]){let n=t.state[S];if(Y={},n===q)return;let r=P[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[C],s=W.url?h(location)===h(W.url):!1;if(o===J&&(sn||s)){i!==j.state&&(j.state=i),e(a),P[q]=E(),r&&scrollTo(r.x,r.y),q=n;return}let c=n-q;await Z({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{q=n,J=o},block:()=>{history.go(-c)},nav_token:Y,event:t})}else K||(e(new URL(location.href)),B.hash&&location.reload())}),addEventListener(`hashchange`,()=>{K&&(K=!1,history.replaceState({...history.state,[S]:++q,[C]:J},``,location.href))});for(let e of document.querySelectorAll(`link`))Ut.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&I.navigating.set(M.current=null)});function e(e){W.url=j.url=e,I.page.set(qn(j)),I.page.notify()}}async function Hn(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){rn=!0;let l=new URL(location.href),d;({params:i={},route:a={id:null}}=await Nn(l,!1)||{}),d=qt.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=Un(r.uses)),Cn({loader:B.nodes[t],url:l,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:En(r)})}),o=await Promise.all(e);if(d){let e=d.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await Sn({url:l,params:i,branch:o,status:t,error:n,errors:d?.errors,form:c,route:d??null})}catch(t){if(t instanceof u)return await L(new URL(t.location,location.href));f=await jn({status:Pt(t),error:await $(t,{url:l,params:i,route:a}),url:l,route:a}),e.textContent=``,p=!1}f&&(f.props.page&&(f.props.page.state={}),await xn(f,e,p))}function Un(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}var Wn=!1;function Gn(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=Yn(e);if(n&&document.getElementById(n)){let{x:r,y:i}=E();setTimeout(()=>{let a=history.state;Wn=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),Wn=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function Kn(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(g),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:E()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function qn(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Jn(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function Yn(e){let t;if(B.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{x as C,l as E,ye as S,_ as T,qe as _,V as a,Se as b,M as c,Nt as d,jt as f,st as g,ct as h,dn as i,j as l,ft as m,Rn as n,Bn as o,At as p,fn as r,pn as s,B as t,A as u,Je as v,g as w,xe as x,Le as y};
|
|
Binary file
|
|
Binary file
|