veryfront 0.1.1124 → 0.1.1125
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/esm/deno.js +1 -1
- package/esm/src/agent/ag-ui/browser-encoder.d.ts.map +1 -1
- package/esm/src/agent/ag-ui/browser-encoder.js +3 -0
- package/esm/src/agent/conversation/run-events.d.ts.map +1 -1
- package/esm/src/agent/conversation/run-events.js +6 -1
- package/esm/src/agent/streaming/knowledge-source-document.d.ts +11 -0
- package/esm/src/agent/streaming/knowledge-source-document.d.ts.map +1 -0
- package/esm/src/agent/streaming/knowledge-source-document.js +38 -0
- package/esm/src/agent/streaming/mirrored-tool-chunk-state.d.ts.map +1 -1
- package/esm/src/agent/streaming/mirrored-tool-chunk-state.js +27 -12
- package/esm/src/html/hydration-script-builder/templates/router.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/templates/router.js +10 -0
- package/esm/src/html/utils.d.ts.map +1 -1
- package/esm/src/html/utils.js +26 -7
- package/esm/src/routing/client/types.d.ts +9 -0
- package/esm/src/routing/client/types.d.ts.map +1 -1
- package/esm/src/server/handlers/request/module/page-data-endpoint-handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/module/page-data-endpoint-handler.js +25 -0
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +5 -5
package/esm/deno.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-encoder.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/ag-ui/browser-encoder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,8CAA8C;AAC9C,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,mEAAmE;AACnE,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC/C,WAAW,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;CACzD;AAED,uCAAuC;AACvC,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,8BAA8B,CAAC;CAC1C;AAED,+CAA+C;AAC/C,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,8CAA8C;AAC9C,wBAAgB,6BAA6B,IAAI,uBAAuB,CAcvE;AAqSD,yDAAyD;AACzD,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,8BAA8B,GACvC,aAAa,GAAG,IAAI,CA+HtB;AAoID,wDAAwD;AACxD,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,uBAAuB,EAC9B,KAAK,EAAE,sBAAsB,GAC5B,uBAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"browser-encoder.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/ag-ui/browser-encoder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,8CAA8C;AAC9C,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,mEAAmE;AACnE,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC/C,WAAW,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;CACzD;AAED,uCAAuC;AACvC,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,8BAA8B,CAAC;CAC1C;AAED,+CAA+C;AAC/C,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,8CAA8C;AAC9C,wBAAgB,6BAA6B,IAAI,uBAAuB,CAcvE;AAqSD,yDAAyD;AACzD,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,8BAA8B,GACvC,aAAa,GAAG,IAAI,CA+HtB;AAoID,wDAAwD;AACxD,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,uBAAuB,EAC9B,KAAK,EAAE,sBAAsB,GAC5B,uBAAuB,EAAE,CAmO3B;AAED,4CAA4C;AAC5C,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,uBAAuB,EAC9B,QAAQ,EAAE,aAAa,GAAG,IAAI,GAC7B,uBAAuB,EAAE,CA8B3B"}
|
|
@@ -480,6 +480,9 @@ export function mapRuntimeStreamEventToAgUiBrowserEvents(state, event) {
|
|
|
480
480
|
return [createCustomDataEvent(name, "data" in event ? event.data : null)];
|
|
481
481
|
}
|
|
482
482
|
switch (event.type) {
|
|
483
|
+
case "source-document":
|
|
484
|
+
state.sawVisibleOutput = true;
|
|
485
|
+
return [createCustomDataEvent("source-document", event)];
|
|
483
486
|
case "message-start":
|
|
484
487
|
getMessageId(state, event);
|
|
485
488
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-events.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,iDAAiD;AACjD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;CAY5B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;iCAIzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B;;iCAA4C,CAAC;AAEpF,0CAA0C;AAC1C,MAAM,MAAM,oBAAoB,GAC5B,WAAW,CAAC,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,GAC7D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAyB5B,gDAAgD;AAChD,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,0BAA0B;IAYlC,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,oBAAoB,EAAE;
|
|
1
|
+
{"version":3,"file":"run-events.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,iDAAiD;AACjD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;CAY5B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;iCAIzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B;;iCAA4C,CAAC;AAEpF,0CAA0C;AAC1C,MAAM,MAAM,oBAAoB,GAC5B,WAAW,CAAC,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,GAC7D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAyB5B,gDAAgD;AAChD,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,0BAA0B;IAYlC,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,oBAAoB,EAAE;CAuKvD;AAED,6CAA6C;AAC7C,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,eAAe,EAAE,EACzB,OAAO,8BAAoC,GAC1C,oBAAoB,EAAE,CAExB;AAED,kDAAkD;AAClD,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,eAAe,EAAE,EACzB,OAAO,8BAAoC,GAC1C,oBAAoB,EAAE,CAExB"}
|
|
@@ -217,12 +217,17 @@ export class ConversationRunEventEncoder {
|
|
|
217
217
|
this.releaseToolCallState(chunk.toolCallId);
|
|
218
218
|
return events;
|
|
219
219
|
}
|
|
220
|
+
case "source-document":
|
|
221
|
+
return [{
|
|
222
|
+
type: conversationRunEventTypes.custom,
|
|
223
|
+
name: "source-document",
|
|
224
|
+
value: chunk,
|
|
225
|
+
}];
|
|
220
226
|
case "error":
|
|
221
227
|
case "finish":
|
|
222
228
|
case "abort":
|
|
223
229
|
case "message-metadata":
|
|
224
230
|
case "source-url":
|
|
225
|
-
case "source-document":
|
|
226
231
|
case "file":
|
|
227
232
|
case "tool-approval-request":
|
|
228
233
|
case "start-step":
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ChatMessageMetadata, ChatUiMessageChunk } from "../../chat/protocol.js";
|
|
2
|
+
type SourceDocumentChunk = Extract<ChatUiMessageChunk<ChatMessageMetadata>, {
|
|
3
|
+
type: "source-document";
|
|
4
|
+
}>;
|
|
5
|
+
/** Derive an exact structured citation from a successful project knowledge file read. */
|
|
6
|
+
export declare function deriveKnowledgeSourceDocumentChunk(input: {
|
|
7
|
+
toolName: string | undefined;
|
|
8
|
+
output: unknown;
|
|
9
|
+
}): SourceDocumentChunk | null;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=knowledge-source-document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-source-document.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/streaming/knowledge-source-document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAMtF,KAAK,mBAAmB,GAAG,OAAO,CAChC,kBAAkB,CAAC,mBAAmB,CAAC,EACvC;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAC5B,CAAC;AAsBF,yFAAyF;AACzF,wBAAgB,kCAAkC,CAAC,KAAK,EAAE;IACxD,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,mBAAmB,GAAG,IAAI,CAsB7B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { lookup as lookupMediaType } from "../../platform/compat/media-types.js";
|
|
2
|
+
const GET_FILE_TOOL_NAME = "get_file";
|
|
3
|
+
const KNOWLEDGE_PATH_PREFIX = "knowledge/";
|
|
4
|
+
function isRecord(value) {
|
|
5
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
6
|
+
}
|
|
7
|
+
function resolveStructuredOutput(output) {
|
|
8
|
+
if (!isRecord(output)) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
if (isRecord(output.structuredContent)) {
|
|
12
|
+
return output.structuredContent;
|
|
13
|
+
}
|
|
14
|
+
if (isRecord(output.structured_content)) {
|
|
15
|
+
return output.structured_content;
|
|
16
|
+
}
|
|
17
|
+
return output;
|
|
18
|
+
}
|
|
19
|
+
/** Derive an exact structured citation from a successful project knowledge file read. */
|
|
20
|
+
export function deriveKnowledgeSourceDocumentChunk(input) {
|
|
21
|
+
if (input.toolName !== GET_FILE_TOOL_NAME) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
const output = resolveStructuredOutput(input.output);
|
|
25
|
+
const path = output?.path;
|
|
26
|
+
if (typeof path !== "string" ||
|
|
27
|
+
path.length === 0 ||
|
|
28
|
+
!path.startsWith(KNOWLEDGE_PATH_PREFIX)) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
type: "source-document",
|
|
33
|
+
sourceId: path,
|
|
34
|
+
mediaType: lookupMediaType(path) ?? "text/plain",
|
|
35
|
+
title: path,
|
|
36
|
+
filename: path,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mirrored-tool-chunk-state.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/streaming/mirrored-tool-chunk-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"mirrored-tool-chunk-state.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/streaming/mirrored-tool-chunk-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { deriveKnowledgeSourceDocumentChunk } from "./knowledge-source-document.js";
|
|
1
2
|
/** Check whether a durable chunk mirrors tool output. */
|
|
2
3
|
export function isDurableMirroredOutputChunk(chunk) {
|
|
3
4
|
switch (chunk.type) {
|
|
@@ -149,22 +150,36 @@ export async function closeHostedMirroredOpenToolCalls(input) {
|
|
|
149
150
|
/** Create hosted mirrored UI stream. */
|
|
150
151
|
export async function* createHostedMirroredUiStream(input) {
|
|
151
152
|
let streamError = null;
|
|
153
|
+
const emittedKnowledgeSourceIds = new Set();
|
|
152
154
|
try {
|
|
153
|
-
for await (const
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
155
|
+
for await (const sourceChunk of input.sourceStream) {
|
|
156
|
+
const derivedSource = sourceChunk.type === "tool-output-available"
|
|
157
|
+
? deriveKnowledgeSourceDocumentChunk({
|
|
158
|
+
toolName: input.mirroredToolChunkState.toolCallNames.get(sourceChunk.toolCallId),
|
|
159
|
+
output: sourceChunk.output,
|
|
160
|
+
})
|
|
161
|
+
: null;
|
|
162
|
+
const chunks = [sourceChunk];
|
|
163
|
+
if (derivedSource && !emittedKnowledgeSourceIds.has(derivedSource.sourceId)) {
|
|
164
|
+
emittedKnowledgeSourceIds.add(derivedSource.sourceId);
|
|
165
|
+
chunks.push(derivedSource);
|
|
157
166
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
input.
|
|
162
|
-
|
|
163
|
-
|
|
167
|
+
for (const chunk of chunks) {
|
|
168
|
+
input.rootStreamWatchdog.observe(chunk);
|
|
169
|
+
if (isDurableMirroredOutputChunk(chunk)) {
|
|
170
|
+
input.setMirroredOutput?.(true);
|
|
171
|
+
}
|
|
172
|
+
recordMirroredToolChunkState(input.mirroredToolChunkState, chunk);
|
|
173
|
+
if (input.appendChunk) {
|
|
174
|
+
await Promise.resolve(input.appendChunk(chunk)).catch((error) => {
|
|
175
|
+
input.logger?.error("Durable run mirror failed to handle chunk", {
|
|
176
|
+
chunkType: chunk.type,
|
|
177
|
+
error: error instanceof Error ? error.message : String(error),
|
|
178
|
+
});
|
|
164
179
|
});
|
|
165
|
-
}
|
|
180
|
+
}
|
|
181
|
+
yield chunk;
|
|
166
182
|
}
|
|
167
|
-
yield chunk;
|
|
168
183
|
}
|
|
169
184
|
}
|
|
170
185
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../../src/src/html/hydration-script-builder/templates/router.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../../src/src/html/hydration-script-builder/templates/router.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,cAstC3B,CAAC"}
|
|
@@ -622,6 +622,16 @@ export const getRouterScript = () => `
|
|
|
622
622
|
|
|
623
623
|
if (signal.aborted) return;
|
|
624
624
|
|
|
625
|
+
// getServerData redirect(): the page-data endpoint encodes it as a 200
|
|
626
|
+
// { redirect: { destination } } payload. Follow it with a document
|
|
627
|
+
// navigation to the target (the same net effect as the full-page 302),
|
|
628
|
+
// instead of trying to render a page that does not exist here.
|
|
629
|
+
if (pageData && pageData.redirect && typeof pageData.redirect.destination === 'string') {
|
|
630
|
+
log('SPA navigation redirect -> ' + pageData.redirect.destination);
|
|
631
|
+
window.location.href = pageData.redirect.destination;
|
|
632
|
+
return;
|
|
633
|
+
}
|
|
634
|
+
|
|
625
635
|
if (pushState) {
|
|
626
636
|
window.history.pushState({ pageData, scrollY: 0 }, '', href);
|
|
627
637
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/src/html/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAO1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAgBjF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAQR;AAaD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AA4DD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGrD,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/src/html/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAO1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAgBjF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAQR;AAaD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AA4DD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGrD,CAAC;AA6KF,UAAU,qBAAqB;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACpD;AA+GD,wBAAsB,cAAc,CAClC,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvD,OAAO,CAAC,cAAc,CAAC,CAmEzB;AAED,wBAAsB,kBAAkB,CACtC,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvD,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,wBAAgB,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAElF"}
|
package/esm/src/html/utils.js
CHANGED
|
@@ -107,19 +107,38 @@ const CDN_URL_TEMPLATES = {
|
|
|
107
107
|
veryfrontWorkflow: (v) => `https://cdn.jsdelivr.net/npm/veryfront@${v}/esm/src/workflow/react/index.js`,
|
|
108
108
|
},
|
|
109
109
|
};
|
|
110
|
-
function buildCdnImportMapFromTemplates(versions, templates,
|
|
110
|
+
function buildCdnImportMapFromTemplates(versions, templates,
|
|
111
|
+
// Whether the AI/chat modules (chat/markdown/mdx/workflow) are also served
|
|
112
|
+
// locally instead of from the CDN. The CORE platform utilities
|
|
113
|
+
// (router/head/context/fonts) are ALWAYS served locally regardless of
|
|
114
|
+
// provider — they must share the same React context module instance as SSR,
|
|
115
|
+
// otherwise usePageContext() returns undefined and the browser fails to even
|
|
116
|
+
// resolve `veryfront/router`. CDN is for third-party deps (react) and,
|
|
117
|
+
// optionally, the AI modules — never the core runtime.
|
|
118
|
+
includeAiModulesLocally) {
|
|
111
119
|
const { react, veryfront } = versions;
|
|
120
|
+
// React is ALWAYS served from esm.sh, regardless of the configured CDN
|
|
121
|
+
// provider. esm.sh is the only CDN that serves React as real ESM; unpkg and
|
|
122
|
+
// jsdelivr only ship UMD globals (react/umd/react.production.min.js), which
|
|
123
|
+
// cannot be consumed through an import map at all — the browser rejects them
|
|
124
|
+
// with a module-resolution/CORS error and hydration never starts. Self-hosted
|
|
125
|
+
// mode already does exactly this. The `provider` only governs where the
|
|
126
|
+
// veryfront framework modules load from.
|
|
127
|
+
const reactTemplates = CDN_URL_TEMPLATES["esm.sh"];
|
|
112
128
|
return {
|
|
113
|
-
react:
|
|
114
|
-
"react-dom":
|
|
115
|
-
"react-dom/client":
|
|
116
|
-
"react/jsx-runtime":
|
|
117
|
-
"react/jsx-dev-runtime":
|
|
129
|
+
react: reactTemplates.react(react),
|
|
130
|
+
"react-dom": reactTemplates.reactDom(react),
|
|
131
|
+
"react-dom/client": reactTemplates.reactDomClient(react),
|
|
132
|
+
"react/jsx-runtime": reactTemplates.jsxRuntime(react),
|
|
133
|
+
"react/jsx-dev-runtime": reactTemplates.jsxDevRuntime(react),
|
|
118
134
|
"veryfront/chat": templates.veryfrontChat(veryfront),
|
|
119
135
|
"veryfront/markdown": templates.veryfrontMarkdown(veryfront),
|
|
120
136
|
"veryfront/mdx": templates.veryfrontMdx(veryfront),
|
|
121
137
|
"veryfront/workflow": templates.veryfrontWorkflow(veryfront),
|
|
122
|
-
|
|
138
|
+
// Core runtime utilities always resolve locally (see comment above).
|
|
139
|
+
...CORE_PLATFORM_UTILITIES,
|
|
140
|
+
// AI modules only override the CDN entries when requested.
|
|
141
|
+
...(includeAiModulesLocally ? AI_MODULE_UTILITIES : {}),
|
|
123
142
|
};
|
|
124
143
|
}
|
|
125
144
|
function getEsmShImportMap(versions) {
|
|
@@ -31,5 +31,14 @@ export interface SpaPageData {
|
|
|
31
31
|
props: Record<string, unknown>;
|
|
32
32
|
params: Record<string, string | string[]>;
|
|
33
33
|
layoutProps: Record<string, Record<string, unknown>>;
|
|
34
|
+
/**
|
|
35
|
+
* Set when the route's getServerData called redirect(): the page-data endpoint
|
|
36
|
+
* returns a 200 with this instead of page props, and the client router follows
|
|
37
|
+
* it with a document navigation to `destination`.
|
|
38
|
+
*/
|
|
39
|
+
redirect?: {
|
|
40
|
+
destination: string;
|
|
41
|
+
permanent?: boolean;
|
|
42
|
+
};
|
|
34
43
|
}
|
|
35
44
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/src/routing/client/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnD,MAAM,WAAW,QAAQ;IACvB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IACrD,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/src/routing/client/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnD,MAAM,WAAW,QAAQ;IACvB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IACrD,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACzD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-data-endpoint-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/src/server/handlers/request/module/page-data-endpoint-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AA8EhE,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,cAAc,EACnB,qBAAqB,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,eAAe,EAC/D,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,aAAa,EAC9C,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GAC1C,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"page-data-endpoint-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/src/server/handlers/request/module/page-data-endpoint-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AA8EhE,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,cAAc,EACnB,qBAAqB,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,eAAe,EAC/D,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,aAAa,EAC9C,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GAC1C,OAAO,CAAC,aAAa,CAAC,CAoIxB"}
|
|
@@ -100,6 +100,19 @@ export function handlePageDataEndpoint(req, pathname, ctx, createResponseBuilder
|
|
|
100
100
|
status: HTTP_GATEWAY_TIMEOUT,
|
|
101
101
|
}));
|
|
102
102
|
}
|
|
103
|
+
// A redirect() from getServerData surfaces here as a thrown
|
|
104
|
+
// VeryfrontError carrying context.redirect. The full-page render path
|
|
105
|
+
// converts this into a 302; the SPA page-data endpoint must encode it as
|
|
106
|
+
// a 200 payload so the client router can follow the redirect instead of
|
|
107
|
+
// treating it as an internal error (which 500s and aborts navigation).
|
|
108
|
+
const redirect = extractRedirectFromError(e);
|
|
109
|
+
if (redirect) {
|
|
110
|
+
return respond(ResponseBuilder.json({ redirect }, req, {
|
|
111
|
+
securityConfig: ctx.securityConfig,
|
|
112
|
+
corsConfig: ctx.securityConfig?.cors,
|
|
113
|
+
status: 200,
|
|
114
|
+
}));
|
|
115
|
+
}
|
|
103
116
|
const errorMessage = getErrorMessage(e);
|
|
104
117
|
const lower = errorMessage.toLowerCase();
|
|
105
118
|
const isNotFound = lower.includes("not found") ||
|
|
@@ -213,6 +226,18 @@ function refreshStalePageData(cacheKey, resolve, cachePolicy) {
|
|
|
213
226
|
}
|
|
214
227
|
});
|
|
215
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* A redirect() from getServerData is thrown up the pipeline as a VeryfrontError
|
|
231
|
+
* whose `context.redirect` holds the destination (mirrors extractRedirectLocation
|
|
232
|
+
* in the SSR service). Returns null for any other error.
|
|
233
|
+
*/
|
|
234
|
+
function extractRedirectFromError(error) {
|
|
235
|
+
const context = error?.context;
|
|
236
|
+
const redirect = context?.redirect;
|
|
237
|
+
if (!redirect || typeof redirect.destination !== "string")
|
|
238
|
+
return null;
|
|
239
|
+
return { destination: redirect.destination, permanent: redirect.permanent === true };
|
|
240
|
+
}
|
|
216
241
|
function buildPageDataCacheKey(ctx, slug, url) {
|
|
217
242
|
const projectKey = ctx.projectId ?? ctx.projectSlug ?? ctx.projectDir;
|
|
218
243
|
const environment = ctx.resolvedEnvironment ?? ctx.requestContext?.mode ?? "preview";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "veryfront",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1125",
|
|
4
4
|
"description": "The simplest way to build AI-powered apps",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -332,10 +332,10 @@
|
|
|
332
332
|
"@types/react": "19.2.14",
|
|
333
333
|
"@types/react-dom": "19.2.3",
|
|
334
334
|
"ws": "8.21.0",
|
|
335
|
-
"@veryfront/ext-bundler-esbuild": "0.1.
|
|
336
|
-
"@veryfront/ext-content-mdx": "0.1.
|
|
337
|
-
"@veryfront/ext-css-tailwind": "0.1.
|
|
338
|
-
"@veryfront/ext-parser-babel": "0.1.
|
|
335
|
+
"@veryfront/ext-bundler-esbuild": "0.1.1125",
|
|
336
|
+
"@veryfront/ext-content-mdx": "0.1.1125",
|
|
337
|
+
"@veryfront/ext-css-tailwind": "0.1.1125",
|
|
338
|
+
"@veryfront/ext-parser-babel": "0.1.1125"
|
|
339
339
|
},
|
|
340
340
|
"devDependencies": {
|
|
341
341
|
"@types/node": "20.9.0"
|