opencami 1.8.9 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/client/assets/{CSPContext-DI-5GAnQ.js → CSPContext-TfUptlEu.js} +1 -1
- package/dist/client/assets/{DirectionContext-CrIsc5n9.js → DirectionContext-CQMv7g2N.js} +1 -1
- package/dist/client/assets/_sessionKey-DYknvaDS.js +23 -0
- package/dist/client/assets/agents-DNywJUai.js +2 -0
- package/dist/client/assets/agents-screen-fSZJpRi_.js +1 -0
- package/dist/client/assets/bots-Bqjqhws8.js +2 -0
- package/dist/client/assets/{bots-screen-BTKCOohV.js → bots-screen-4yT-e3cM.js} +1 -1
- package/dist/client/assets/{button-8ab4wOwy.js → button-DqP4GZwZ.js} +1 -1
- package/dist/client/assets/{composite-B2qsrzf3.js → composite-BLgu_EOL.js} +1 -1
- package/dist/client/assets/{connect-B3_p7C4I.js → connect-CiqRvR6s.js} +1 -1
- package/dist/client/assets/{dashboard-BtClHYpn.js → dashboard-CyWDWpbj.js} +1 -1
- package/dist/client/assets/event-2_Dxdv7h.js +1 -0
- package/dist/client/assets/file-explorer-screen-CZ2QKk-0.js +1 -0
- package/dist/client/assets/files-Cbhud0J8.js +2 -0
- package/dist/client/assets/follow-up-suggestions-Bi3Ci2my.js +5 -0
- package/dist/client/assets/{index-BXiha-Vz.js → index-C_gsW9fo.js} +1 -1
- package/dist/client/assets/{index-CtlYu8Ug.js → index-ygitKeM-.js} +1 -1
- package/dist/client/assets/keyboard-shortcuts-dialog-z-amTZVi.js +1 -0
- package/dist/client/assets/main-ZBMVSJTF.js +212 -0
- package/dist/client/assets/markdown-CHUjmWcv.js +87 -0
- package/dist/client/assets/memory-BRa-0plj.js +2 -0
- package/dist/client/assets/memory-screen-C_ZNDGLd.js +1 -0
- package/dist/client/assets/menu-CB88T7R1.js +1 -0
- package/dist/client/assets/{opencami-logo-BSed2Wez.js → opencami-logo-C0Kj1DiT.js} +1 -1
- package/dist/client/assets/proxy-D-juuhw6.js +9 -0
- package/dist/client/assets/{react-WkSlhZJd.js → react-Akh4y69S.js} +1 -1
- package/dist/client/assets/search-dialog-BasfzCyM.js +1 -0
- package/dist/client/assets/{search-sources-badge-Du8KpUEb.js → search-sources-badge-DwFHWd7S.js} +1 -1
- package/dist/client/assets/session-export-dialog-CAl3iJnD.js +1 -0
- package/dist/client/assets/settings-dialog-C8OoRXwX.js +1 -0
- package/dist/client/assets/skills-Cx12984a.js +2 -0
- package/dist/client/assets/{skills-panel-CVh1I-7D.js → skills-panel-B7BRAofP.js} +1 -1
- package/dist/client/assets/styles-CXa-SiWC.css +1 -0
- package/dist/client/assets/switch-DYEbEgy5.js +1 -0
- package/dist/client/assets/tabs-eiBvL0H7.js +1 -0
- package/dist/client/assets/thinking-CariuioI.js +1 -0
- package/dist/client/assets/tooltip-CekkGEYG.js +1 -0
- package/dist/client/assets/use-file-explorer-state-Dfyh4GwR.js +12 -0
- package/dist/client/assets/{useBaseUiId-DiwX_3so.js → useBaseUiId-DLhdkHJl.js} +1 -1
- package/dist/client/assets/{useCompositeItem-UPIPwR9H.js → useCompositeItem-DTSTTR0Z.js} +1 -1
- package/dist/client/assets/{useControlled-CT2hRlcU.js → useControlled-CpliTEve.js} +1 -1
- package/dist/client/assets/{useMutation-rx8UH99I.js → useMutation-CpD2Pn0F.js} +1 -1
- package/dist/client/assets/useOnFirstRender-DsFYFJoB.js +1 -0
- package/dist/client/assets/{useQuery-Boaa6oF3.js → useQuery-DMTgpIql.js} +1 -1
- package/dist/server/assets/{_sessionKey-B6iYeyCS.js → _sessionKey-Bhksr7VP.js} +267 -156
- package/dist/server/assets/{_tanstack-start-manifest_v-C9chPgNH.js → _tanstack-start-manifest_v-D-5ReiD4.js} +1 -1
- package/dist/server/assets/{agents-CmQ4vvXm.js → agents-BuE0Yum3.js} +1 -1
- package/dist/server/assets/{agents-screen-bmrIyFbk.js → agents-screen-CEQhbEwf.js} +3 -3
- package/dist/server/assets/{bots-Byt6jv0a.js → bots-BDHeSvSQ.js} +1 -1
- package/dist/server/assets/{bots-screen-C2TGFv42.js → bots-screen-C0NRS526.js} +2 -2
- package/dist/server/assets/{button-CwY2OHFj.js → button-kI8fEIZQ.js} +1 -1
- package/dist/server/assets/{connect-BNabuqpW.js → connect-CTVBm0Vc.js} +2 -2
- package/dist/server/assets/{file-explorer-screen-DH4UFK03.js → file-explorer-screen-FU_NhZmS.js} +4 -4
- package/dist/server/assets/{files-DYdXlQDr.js → files-DLxqp-h5.js} +1 -1
- package/dist/server/assets/{follow-up-suggestions-mzRQIB0k.js → follow-up-suggestions-B3hol2KT.js} +8 -8
- package/dist/server/assets/{index-COElhwGA.js → index-4G_4vZNY.js} +1 -1
- package/dist/server/assets/{index-BEWnDAH6.js → index-B_F4DTUu.js} +1 -1
- package/dist/server/assets/{keyboard-shortcuts-dialog-Cr6fOqHz.js → keyboard-shortcuts-dialog-Cp3ECNNi.js} +2 -2
- package/dist/server/assets/{markdown-DoX5Q7qh.js → markdown-CFdYXCRQ.js} +3 -3
- package/dist/server/assets/{memory-Cxu7i8ej.js → memory-rBB015W-.js} +1 -1
- package/dist/server/assets/{memory-screen-B5l1NZRY.js → memory-screen-vqXczcVo.js} +4 -4
- package/dist/server/assets/{menu-D90CDTi2.js → menu-D8cKTpmN.js} +1 -1
- package/dist/server/assets/{router-BqLGFd4L.js → router-C9JRmWMm.js} +142 -103
- package/dist/server/assets/{search-dialog-CmI7naPN.js → search-dialog-CTJULPB8.js} +8 -8
- package/dist/server/assets/{search-sources-badge-B0rAEDs_.js → search-sources-badge-B0t8Qffy.js} +1 -1
- package/dist/server/assets/{session-export-dialog-C53RRAah.js → session-export-dialog-CgtlOnwf.js} +2 -2
- package/dist/server/assets/{settings-dialog-BZ67gr9N.js → settings-dialog-B5yR2pBy.js} +35 -18
- package/dist/server/assets/{skills-Cy8xclXY.js → skills-BXUivxuo.js} +1 -1
- package/dist/server/assets/{skills-panel-BnRNb7u9.js → skills-panel-CDUp4jvw.js} +2 -2
- package/dist/server/assets/{switch-BbkUeVDV.js → switch-BZzwkgAQ.js} +1 -1
- package/dist/server/assets/{tabs-DDFZob0m.js → tabs-CWbp3mT4.js} +1 -1
- package/dist/server/assets/{thinking-CA8PSwKJ.js → thinking-CHx4Oouj.js} +8 -8
- package/dist/server/assets/{tooltip-DgsSPocE.js → tooltip-DOvOrSSS.js} +1 -1
- package/dist/server/assets/{use-file-explorer-state-s7CS50ho.js → use-file-explorer-state-E6cUvMva.js} +1 -1
- package/dist/server/server.js +195 -38
- package/package.json +1 -1
- package/dist/client/assets/_sessionKey-B4NZmxf3.js +0 -21
- package/dist/client/assets/agents-bptidK8z.js +0 -2
- package/dist/client/assets/agents-screen-6qdnPmx2.js +0 -1
- package/dist/client/assets/bots-BWpbaQ-E.js +0 -2
- package/dist/client/assets/event-DG3RKJz8.js +0 -1
- package/dist/client/assets/file-explorer-screen-Djl8x-8P.js +0 -1
- package/dist/client/assets/files-CjbCJDgC.js +0 -2
- package/dist/client/assets/follow-up-suggestions-BSCMXRXh.js +0 -5
- package/dist/client/assets/keyboard-shortcuts-dialog-HAufCn9C.js +0 -1
- package/dist/client/assets/main-CQKtcNr3.js +0 -210
- package/dist/client/assets/markdown-DFJF-FsV.js +0 -87
- package/dist/client/assets/memory-DnJOmcwU.js +0 -2
- package/dist/client/assets/memory-screen-Bm4NMAnU.js +0 -1
- package/dist/client/assets/menu-D26Vmgxl.js +0 -1
- package/dist/client/assets/popupStateMapping-DkI2OCkW.js +0 -1
- package/dist/client/assets/proxy-CHQ-VCN1.js +0 -9
- package/dist/client/assets/search-dialog-CCl4d0Pi.js +0 -1
- package/dist/client/assets/session-export-dialog-io9FvLKq.js +0 -1
- package/dist/client/assets/settings-dialog-B93qswor.js +0 -1
- package/dist/client/assets/skills-BNDGnHwM.js +0 -2
- package/dist/client/assets/styles-Ce2xZzc4.css +0 -1
- package/dist/client/assets/switch-CSnzINDW.js +0 -1
- package/dist/client/assets/tabs-CWfn44FL.js +0 -1
- package/dist/client/assets/thinking-BmoLlbFC.js +0 -1
- package/dist/client/assets/tooltip-CSGMH2t4.js +0 -1
- package/dist/client/assets/use-file-explorer-state-BYVzjwPA.js +0 -12
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState, useEffect } from "react";
|
|
3
|
-
import { C as Collapsible, d as CollapsibleTrigger, e as CollapsiblePanel } from "./_sessionKey-
|
|
3
|
+
import { C as Collapsible, d as CollapsibleTrigger, e as CollapsiblePanel } from "./_sessionKey-Bhksr7VP.js";
|
|
4
4
|
import { HugeiconsIcon } from "@hugeicons/react";
|
|
5
5
|
import { ArrowDown01Icon } from "@hugeicons/core-free-icons";
|
|
6
|
-
import { B as Button } from "./button-
|
|
6
|
+
import { B as Button } from "./button-kI8fEIZQ.js";
|
|
7
7
|
import "@tanstack/react-router";
|
|
8
8
|
import "@tanstack/react-query";
|
|
9
|
-
import "./tooltip-
|
|
9
|
+
import "./tooltip-DOvOrSSS.js";
|
|
10
10
|
import "@base-ui/react/tooltip";
|
|
11
11
|
import "motion/react";
|
|
12
12
|
import "@base-ui/react/alert-dialog";
|
|
13
|
-
import "./use-file-explorer-state-
|
|
13
|
+
import "./use-file-explorer-state-E6cUvMva.js";
|
|
14
14
|
import "@base-ui/react/dialog";
|
|
15
15
|
import "zustand";
|
|
16
16
|
import "@base-ui/react/collapsible";
|
|
17
17
|
import "@base-ui/react/scroll-area";
|
|
18
|
-
import "./menu-
|
|
18
|
+
import "./menu-D8cKTpmN.js";
|
|
19
19
|
import "@base-ui/react/menu";
|
|
20
20
|
import "./opencami-logo-C-43FL3R.js";
|
|
21
|
-
import "./markdown-
|
|
21
|
+
import "./markdown-CFdYXCRQ.js";
|
|
22
22
|
import "marked";
|
|
23
23
|
import "react-markdown";
|
|
24
24
|
import "remark-breaks";
|
|
25
25
|
import "remark-gfm";
|
|
26
|
-
import "./index-
|
|
26
|
+
import "./index-B_F4DTUu.js";
|
|
27
27
|
import "zustand/middleware";
|
|
28
28
|
import "react-dom";
|
|
29
|
-
import "./router-
|
|
29
|
+
import "./router-C9JRmWMm.js";
|
|
30
30
|
import "node:crypto";
|
|
31
31
|
import "node:fs";
|
|
32
32
|
import "node:os";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Dialog } from "@base-ui/react/dialog";
|
|
3
|
-
import { c as cn, B as Button } from "./button-
|
|
3
|
+
import { c as cn, B as Button } from "./button-kI8fEIZQ.js";
|
|
4
4
|
import { create } from "zustand";
|
|
5
5
|
function DialogRoot({ children, ...props }) {
|
|
6
6
|
return /* @__PURE__ */ jsx(Dialog.Root, { ...props, children });
|
package/dist/server/server.js
CHANGED
|
@@ -184,19 +184,11 @@ function getResponse() {
|
|
|
184
184
|
return event.res;
|
|
185
185
|
}
|
|
186
186
|
async function getStartManifest(matchedRoutes) {
|
|
187
|
-
const { tsrStartManifest } = await import("./assets/_tanstack-start-manifest_v-
|
|
187
|
+
const { tsrStartManifest } = await import("./assets/_tanstack-start-manifest_v-D-5ReiD4.js");
|
|
188
188
|
const startManifest = tsrStartManifest();
|
|
189
189
|
const rootRoute = startManifest.routes[rootRouteId] = startManifest.routes[rootRouteId] || {};
|
|
190
190
|
rootRoute.assets = rootRoute.assets || [];
|
|
191
|
-
let
|
|
192
|
-
rootRoute.assets.push({
|
|
193
|
-
tag: "script",
|
|
194
|
-
attrs: {
|
|
195
|
-
type: "module",
|
|
196
|
-
async: true
|
|
197
|
-
},
|
|
198
|
-
children: script
|
|
199
|
-
});
|
|
191
|
+
let injectedHeadScripts;
|
|
200
192
|
const manifest2 = {
|
|
201
193
|
routes: Object.fromEntries(
|
|
202
194
|
Object.entries(startManifest.routes).flatMap(([k, v]) => {
|
|
@@ -217,7 +209,11 @@ async function getStartManifest(matchedRoutes) {
|
|
|
217
209
|
})
|
|
218
210
|
)
|
|
219
211
|
};
|
|
220
|
-
return
|
|
212
|
+
return {
|
|
213
|
+
manifest: manifest2,
|
|
214
|
+
clientEntry: startManifest.clientEntry,
|
|
215
|
+
injectedHeadScripts
|
|
216
|
+
};
|
|
221
217
|
}
|
|
222
218
|
const textEncoder$1 = new TextEncoder();
|
|
223
219
|
const EMPTY_PAYLOAD = new Uint8Array(0);
|
|
@@ -375,10 +371,6 @@ const handleServerAction = async ({
|
|
|
375
371
|
context,
|
|
376
372
|
serverFnId
|
|
377
373
|
}) => {
|
|
378
|
-
const controller = new AbortController();
|
|
379
|
-
const signal = controller.signal;
|
|
380
|
-
const abort = () => controller.abort();
|
|
381
|
-
request.signal.addEventListener("abort", abort);
|
|
382
374
|
const method = request.method;
|
|
383
375
|
const methodUpper = method.toUpperCase();
|
|
384
376
|
const methodLower = method.toLowerCase();
|
|
@@ -446,17 +438,17 @@ const handleServerAction = async ({
|
|
|
446
438
|
}
|
|
447
439
|
if (rawStreams.size > 0) {
|
|
448
440
|
const jsonStream = new ReadableStream({
|
|
449
|
-
start(
|
|
441
|
+
start(controller) {
|
|
450
442
|
callbacks.onParse = (value) => {
|
|
451
|
-
|
|
443
|
+
controller.enqueue(JSON.stringify(value) + "\n");
|
|
452
444
|
};
|
|
453
445
|
callbacks.onDone = () => {
|
|
454
446
|
try {
|
|
455
|
-
|
|
447
|
+
controller.close();
|
|
456
448
|
} catch {
|
|
457
449
|
}
|
|
458
450
|
};
|
|
459
|
-
callbacks.onError = (error) =>
|
|
451
|
+
callbacks.onError = (error) => controller.error(error);
|
|
460
452
|
if (nonStreamingBody !== void 0) {
|
|
461
453
|
callbacks.onParse(nonStreamingBody);
|
|
462
454
|
}
|
|
@@ -476,18 +468,18 @@ const handleServerAction = async ({
|
|
|
476
468
|
});
|
|
477
469
|
}
|
|
478
470
|
const stream = new ReadableStream({
|
|
479
|
-
start(
|
|
480
|
-
callbacks.onParse = (value) =>
|
|
471
|
+
start(controller) {
|
|
472
|
+
callbacks.onParse = (value) => controller.enqueue(
|
|
481
473
|
textEncoder.encode(JSON.stringify(value) + "\n")
|
|
482
474
|
);
|
|
483
475
|
callbacks.onDone = () => {
|
|
484
476
|
try {
|
|
485
|
-
|
|
477
|
+
controller.close();
|
|
486
478
|
} catch (error) {
|
|
487
|
-
|
|
479
|
+
controller.error(error);
|
|
488
480
|
}
|
|
489
481
|
};
|
|
490
|
-
callbacks.onError = (error) =>
|
|
482
|
+
callbacks.onError = (error) => controller.error(error);
|
|
491
483
|
if (nonStreamingBody !== void 0) {
|
|
492
484
|
callbacks.onParse(nonStreamingBody);
|
|
493
485
|
}
|
|
@@ -539,7 +531,7 @@ const handleServerAction = async ({
|
|
|
539
531
|
if (false) ;
|
|
540
532
|
}
|
|
541
533
|
}
|
|
542
|
-
return await action(params
|
|
534
|
+
return await action(params);
|
|
543
535
|
}
|
|
544
536
|
if (methodLower === "get") {
|
|
545
537
|
const payloadParam = url.searchParams.get("payload");
|
|
@@ -549,7 +541,7 @@ const handleServerAction = async ({
|
|
|
549
541
|
const payload2 = payloadParam ? parsePayload(JSON.parse(payloadParam)) : {};
|
|
550
542
|
payload2.context = safeObjectMerge(context, payload2.context);
|
|
551
543
|
payload2.method = methodUpper;
|
|
552
|
-
return await action(payload2
|
|
544
|
+
return await action(payload2);
|
|
553
545
|
}
|
|
554
546
|
if (methodLower !== "post") {
|
|
555
547
|
throw new Error("expected POST method");
|
|
@@ -561,7 +553,7 @@ const handleServerAction = async ({
|
|
|
561
553
|
const payload = jsonPayload ? parsePayload(jsonPayload) : {};
|
|
562
554
|
payload.context = safeObjectMerge(payload.context, context);
|
|
563
555
|
payload.method = methodUpper;
|
|
564
|
-
return await action(payload
|
|
556
|
+
return await action(payload);
|
|
565
557
|
})();
|
|
566
558
|
const unwrapped = res.result || res.error;
|
|
567
559
|
if (isNotFound(res)) {
|
|
@@ -609,7 +601,6 @@ const handleServerAction = async ({
|
|
|
609
601
|
});
|
|
610
602
|
}
|
|
611
603
|
})();
|
|
612
|
-
request.signal.removeEventListener("abort", abort);
|
|
613
604
|
return response;
|
|
614
605
|
};
|
|
615
606
|
function isNotFoundResponse(error) {
|
|
@@ -622,6 +613,111 @@ function isNotFoundResponse(error) {
|
|
|
622
613
|
}
|
|
623
614
|
});
|
|
624
615
|
}
|
|
616
|
+
function resolveTransformConfig(transform) {
|
|
617
|
+
if (typeof transform === "string") {
|
|
618
|
+
const prefix = transform;
|
|
619
|
+
return {
|
|
620
|
+
type: "transform",
|
|
621
|
+
transformFn: ({ url }) => `${prefix}${url}`,
|
|
622
|
+
cache: true
|
|
623
|
+
};
|
|
624
|
+
}
|
|
625
|
+
if (typeof transform === "function") {
|
|
626
|
+
return {
|
|
627
|
+
type: "transform",
|
|
628
|
+
transformFn: transform,
|
|
629
|
+
cache: true
|
|
630
|
+
};
|
|
631
|
+
}
|
|
632
|
+
if ("createTransform" in transform && transform.createTransform) {
|
|
633
|
+
return {
|
|
634
|
+
type: "createTransform",
|
|
635
|
+
createTransform: transform.createTransform,
|
|
636
|
+
cache: transform.cache !== false
|
|
637
|
+
};
|
|
638
|
+
}
|
|
639
|
+
const transformFn = typeof transform.transform === "string" ? (({ url }) => `${transform.transform}${url}`) : transform.transform;
|
|
640
|
+
return {
|
|
641
|
+
type: "transform",
|
|
642
|
+
transformFn,
|
|
643
|
+
cache: transform.cache !== false
|
|
644
|
+
};
|
|
645
|
+
}
|
|
646
|
+
function buildClientEntryScriptTag(clientEntry, injectedHeadScripts) {
|
|
647
|
+
const clientEntryLiteral = JSON.stringify(clientEntry);
|
|
648
|
+
let script = `import(${clientEntryLiteral})`;
|
|
649
|
+
if (injectedHeadScripts) {
|
|
650
|
+
script = `${injectedHeadScripts};${script}`;
|
|
651
|
+
}
|
|
652
|
+
return {
|
|
653
|
+
tag: "script",
|
|
654
|
+
attrs: {
|
|
655
|
+
type: "module",
|
|
656
|
+
async: true
|
|
657
|
+
},
|
|
658
|
+
children: script
|
|
659
|
+
};
|
|
660
|
+
}
|
|
661
|
+
function transformManifestUrls(source, transformFn, opts) {
|
|
662
|
+
return (async () => {
|
|
663
|
+
const manifest2 = opts?.clone ? structuredClone(source.manifest) : source.manifest;
|
|
664
|
+
for (const route of Object.values(manifest2.routes)) {
|
|
665
|
+
if (route.preloads) {
|
|
666
|
+
route.preloads = await Promise.all(
|
|
667
|
+
route.preloads.map(
|
|
668
|
+
(url) => Promise.resolve(transformFn({ url, type: "modulepreload" }))
|
|
669
|
+
)
|
|
670
|
+
);
|
|
671
|
+
}
|
|
672
|
+
if (route.assets) {
|
|
673
|
+
for (const asset of route.assets) {
|
|
674
|
+
if (asset.tag === "link" && asset.attrs?.href) {
|
|
675
|
+
asset.attrs.href = await Promise.resolve(
|
|
676
|
+
transformFn({
|
|
677
|
+
url: asset.attrs.href,
|
|
678
|
+
type: "stylesheet"
|
|
679
|
+
})
|
|
680
|
+
);
|
|
681
|
+
}
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
const transformedClientEntry = await Promise.resolve(
|
|
686
|
+
transformFn({
|
|
687
|
+
url: source.clientEntry,
|
|
688
|
+
type: "clientEntry"
|
|
689
|
+
})
|
|
690
|
+
);
|
|
691
|
+
const rootRoute = manifest2.routes[rootRouteId];
|
|
692
|
+
if (rootRoute) {
|
|
693
|
+
rootRoute.assets = rootRoute.assets || [];
|
|
694
|
+
rootRoute.assets.push(
|
|
695
|
+
buildClientEntryScriptTag(
|
|
696
|
+
transformedClientEntry,
|
|
697
|
+
source.injectedHeadScripts
|
|
698
|
+
)
|
|
699
|
+
);
|
|
700
|
+
}
|
|
701
|
+
return manifest2;
|
|
702
|
+
})();
|
|
703
|
+
}
|
|
704
|
+
function buildManifestWithClientEntry(source) {
|
|
705
|
+
const scriptTag = buildClientEntryScriptTag(
|
|
706
|
+
source.clientEntry,
|
|
707
|
+
source.injectedHeadScripts
|
|
708
|
+
);
|
|
709
|
+
const baseRootRoute = source.manifest.routes[rootRouteId];
|
|
710
|
+
const routes = {
|
|
711
|
+
...source.manifest.routes,
|
|
712
|
+
...baseRootRoute ? {
|
|
713
|
+
[rootRouteId]: {
|
|
714
|
+
...baseRootRoute,
|
|
715
|
+
assets: [...baseRootRoute.assets || [], scriptTag]
|
|
716
|
+
}
|
|
717
|
+
} : {}
|
|
718
|
+
};
|
|
719
|
+
return { routes };
|
|
720
|
+
}
|
|
625
721
|
const HEADERS = {
|
|
626
722
|
TSS_SHELL: "X-TSS_SHELL"
|
|
627
723
|
};
|
|
@@ -654,9 +750,10 @@ function getStartResponseHeaders(opts) {
|
|
|
654
750
|
return headers;
|
|
655
751
|
}
|
|
656
752
|
let entriesPromise;
|
|
657
|
-
let
|
|
753
|
+
let baseManifestPromise;
|
|
754
|
+
let cachedFinalManifestPromise;
|
|
658
755
|
async function loadEntries() {
|
|
659
|
-
const routerEntry = await import("./assets/router-
|
|
756
|
+
const routerEntry = await import("./assets/router-C9JRmWMm.js").then((n) => n.r);
|
|
660
757
|
const startEntry = await import("./assets/start-HYkvq4Ni.js");
|
|
661
758
|
return { startEntry, routerEntry };
|
|
662
759
|
}
|
|
@@ -666,11 +763,24 @@ function getEntries() {
|
|
|
666
763
|
}
|
|
667
764
|
return entriesPromise;
|
|
668
765
|
}
|
|
669
|
-
function
|
|
670
|
-
if (!
|
|
671
|
-
|
|
766
|
+
function getBaseManifest(matchedRoutes) {
|
|
767
|
+
if (!baseManifestPromise) {
|
|
768
|
+
baseManifestPromise = getStartManifest();
|
|
672
769
|
}
|
|
673
|
-
return
|
|
770
|
+
return baseManifestPromise;
|
|
771
|
+
}
|
|
772
|
+
async function resolveManifest(matchedRoutes, transformFn, cache) {
|
|
773
|
+
const base = await getBaseManifest();
|
|
774
|
+
const computeFinalManifest = async () => {
|
|
775
|
+
return transformFn ? await transformManifestUrls(base, transformFn, { clone: !cache }) : buildManifestWithClientEntry(base);
|
|
776
|
+
};
|
|
777
|
+
if (!transformFn || cache) {
|
|
778
|
+
if (!cachedFinalManifestPromise) {
|
|
779
|
+
cachedFinalManifestPromise = computeFinalManifest();
|
|
780
|
+
}
|
|
781
|
+
return cachedFinalManifestPromise;
|
|
782
|
+
}
|
|
783
|
+
return computeFinalManifest();
|
|
674
784
|
}
|
|
675
785
|
const ROUTER_BASEPATH = "/";
|
|
676
786
|
const SERVER_FN_BASE = "/_serverFn/";
|
|
@@ -744,14 +854,52 @@ function handlerToMiddleware(handler, mayDefer = false) {
|
|
|
744
854
|
return response;
|
|
745
855
|
};
|
|
746
856
|
}
|
|
747
|
-
function createStartHandler(
|
|
857
|
+
function createStartHandler(cbOrOptions) {
|
|
858
|
+
const cb = typeof cbOrOptions === "function" ? cbOrOptions : cbOrOptions.handler;
|
|
859
|
+
const transformAssetUrlsOption = typeof cbOrOptions === "function" ? void 0 : cbOrOptions.transformAssetUrls;
|
|
860
|
+
const warmupTransformManifest = !!transformAssetUrlsOption && typeof transformAssetUrlsOption === "object" && transformAssetUrlsOption.warmup === true;
|
|
861
|
+
const resolvedTransformConfig = transformAssetUrlsOption ? resolveTransformConfig(transformAssetUrlsOption) : void 0;
|
|
862
|
+
const cache = resolvedTransformConfig ? resolvedTransformConfig.cache : true;
|
|
863
|
+
let cachedCreateTransformPromise;
|
|
864
|
+
const getTransformFn = async (opts) => {
|
|
865
|
+
if (!resolvedTransformConfig) return void 0;
|
|
866
|
+
if (resolvedTransformConfig.type === "createTransform") {
|
|
867
|
+
if (cache) {
|
|
868
|
+
if (!cachedCreateTransformPromise) {
|
|
869
|
+
cachedCreateTransformPromise = Promise.resolve(
|
|
870
|
+
resolvedTransformConfig.createTransform(opts)
|
|
871
|
+
);
|
|
872
|
+
}
|
|
873
|
+
return cachedCreateTransformPromise;
|
|
874
|
+
}
|
|
875
|
+
return resolvedTransformConfig.createTransform(opts);
|
|
876
|
+
}
|
|
877
|
+
return resolvedTransformConfig.transformFn;
|
|
878
|
+
};
|
|
879
|
+
if (warmupTransformManifest && cache && true && !cachedFinalManifestPromise) {
|
|
880
|
+
const warmupPromise = (async () => {
|
|
881
|
+
const base = await getBaseManifest();
|
|
882
|
+
const transformFn = await getTransformFn({ warmup: true });
|
|
883
|
+
return transformFn ? await transformManifestUrls(base, transformFn, { clone: false }) : buildManifestWithClientEntry(base);
|
|
884
|
+
})();
|
|
885
|
+
cachedFinalManifestPromise = warmupPromise;
|
|
886
|
+
warmupPromise.catch(() => {
|
|
887
|
+
if (cachedFinalManifestPromise === warmupPromise) {
|
|
888
|
+
cachedFinalManifestPromise = void 0;
|
|
889
|
+
}
|
|
890
|
+
cachedCreateTransformPromise = void 0;
|
|
891
|
+
});
|
|
892
|
+
}
|
|
748
893
|
const startRequestResolver = async (request, requestOpts) => {
|
|
749
894
|
let router = null;
|
|
750
895
|
let cbWillCleanup = false;
|
|
751
896
|
try {
|
|
752
|
-
const url = getNormalizedURL(request.url);
|
|
897
|
+
const { url, handledProtocolRelativeURL } = getNormalizedURL(request.url);
|
|
753
898
|
const href = url.pathname + url.search + url.hash;
|
|
754
899
|
const origin = getOrigin(request);
|
|
900
|
+
if (handledProtocolRelativeURL) {
|
|
901
|
+
return Response.redirect(url, 308);
|
|
902
|
+
}
|
|
755
903
|
const entries = await getEntries();
|
|
756
904
|
const startOptions = await entries.startEntry.startInstance?.getOptions() || {};
|
|
757
905
|
const serializationAdapters = [
|
|
@@ -818,6 +966,7 @@ function createStartHandler(cb) {
|
|
|
818
966
|
);
|
|
819
967
|
const ctx2 = await executeMiddleware([...middlewares2, serverFnHandler], {
|
|
820
968
|
request,
|
|
969
|
+
pathname: url.pathname,
|
|
821
970
|
context: createNullProtoObject(requestOpts?.context)
|
|
822
971
|
});
|
|
823
972
|
return handleRedirectResponse(ctx2.response, request, getRouter);
|
|
@@ -835,7 +984,11 @@ function createStartHandler(cb) {
|
|
|
835
984
|
{ status: 500 }
|
|
836
985
|
);
|
|
837
986
|
}
|
|
838
|
-
const manifest2 = await
|
|
987
|
+
const manifest2 = await resolveManifest(
|
|
988
|
+
matchedRoutes,
|
|
989
|
+
await getTransformFn({ warmup: false, request }),
|
|
990
|
+
cache
|
|
991
|
+
);
|
|
839
992
|
const routerInstance = await getRouter();
|
|
840
993
|
attachRouterServerSsrUtils({
|
|
841
994
|
router: routerInstance,
|
|
@@ -890,7 +1043,11 @@ function createStartHandler(cb) {
|
|
|
890
1043
|
);
|
|
891
1044
|
const ctx = await executeMiddleware(
|
|
892
1045
|
[...middlewares, requestHandlerMiddleware],
|
|
893
|
-
{
|
|
1046
|
+
{
|
|
1047
|
+
request,
|
|
1048
|
+
pathname: url.pathname,
|
|
1049
|
+
context: createNullProtoObject(requestOpts?.context)
|
|
1050
|
+
}
|
|
894
1051
|
);
|
|
895
1052
|
return handleRedirectResponse(ctx.response, request, getRouter);
|
|
896
1053
|
} finally {
|