veryfront 0.1.167 → 0.1.170
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/runtime/chat-stream-handler.d.ts.map +1 -1
- package/esm/src/agent/runtime/chat-stream-handler.js +22 -0
- package/esm/src/agent/runtime/runtime-tool-types.d.ts +10 -0
- package/esm/src/agent/runtime/runtime-tool-types.d.ts.map +1 -1
- package/esm/src/internal-agents/ag-ui-sse.d.ts +1 -0
- package/esm/src/internal-agents/ag-ui-sse.d.ts.map +1 -1
- package/esm/src/internal-agents/ag-ui-sse.js +49 -0
- package/esm/src/routing/api/module-loader/loader.d.ts +3 -0
- package/esm/src/routing/api/module-loader/loader.d.ts.map +1 -1
- package/esm/src/routing/api/module-loader/loader.js +57 -54
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +1 -1
- package/src/deno.js +1 -1
- package/src/src/agent/runtime/chat-stream-handler.ts +25 -0
- package/src/src/agent/runtime/runtime-tool-types.ts +3 -0
- package/src/src/internal-agents/ag-ui-sse.ts +56 -0
- package/src/src/routing/api/module-loader/loader.ts +111 -93
- package/src/src/utils/version-constant.ts +1 -1
package/esm/deno.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-stream-handler.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/chat-stream-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAqB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAWtF,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC1C,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAChF;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,KAAK,IAAI,CAAC;CACZ;AA4FD,wBAAgB,iBAAiB,IAAI,eAAe,CAQnD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,eAAe,EACtB,UAAU,EAAE,+BAA+B,EAC3C,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,SAAS,CAAC,EAAE,mBAAmB,EAC/B,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"chat-stream-handler.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/chat-stream-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAqB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAWtF,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC1C,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAChF;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,KAAK,IAAI,CAAC;CACZ;AA4FD,wBAAgB,iBAAiB,IAAI,eAAe,CAQnD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,eAAe,EACtB,UAAU,EAAE,+BAA+B,EAC3C,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,SAAS,CAAC,EAAE,mBAAmB,EAC/B,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,IAAI,CAAC,CAmPf"}
|
|
@@ -121,6 +121,28 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
121
121
|
callbacks?.onChunk?.(typedPart.text);
|
|
122
122
|
break;
|
|
123
123
|
}
|
|
124
|
+
case "reasoning-start": {
|
|
125
|
+
sendSSE(controller, encoder, {
|
|
126
|
+
type: "reasoning-start",
|
|
127
|
+
id: typeof typedPart.id === "string" ? typedPart.id : "reasoning",
|
|
128
|
+
});
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
case "reasoning-delta": {
|
|
132
|
+
sendSSE(controller, encoder, {
|
|
133
|
+
type: "reasoning-delta",
|
|
134
|
+
id: typeof typedPart.id === "string" ? typedPart.id : "reasoning",
|
|
135
|
+
delta: typeof typedPart.delta === "string" ? typedPart.delta : "",
|
|
136
|
+
});
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
case "reasoning-end": {
|
|
140
|
+
sendSSE(controller, encoder, {
|
|
141
|
+
type: "reasoning-end",
|
|
142
|
+
id: typeof typedPart.id === "string" ? typedPart.id : "reasoning",
|
|
143
|
+
});
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
124
146
|
case "tool-input-start": {
|
|
125
147
|
const toolId = typedPart.id;
|
|
126
148
|
state.toolCalls.set(toolId, {
|
|
@@ -48,6 +48,16 @@ export type RuntimeToolCallRepairFunction = (context: RuntimeToolCallRepairConte
|
|
|
48
48
|
export type RuntimeStreamPart = {
|
|
49
49
|
type: "text-delta";
|
|
50
50
|
text: string;
|
|
51
|
+
} | {
|
|
52
|
+
type: "reasoning-start";
|
|
53
|
+
id: string;
|
|
54
|
+
} | {
|
|
55
|
+
type: "reasoning-delta";
|
|
56
|
+
id: string;
|
|
57
|
+
delta: string;
|
|
58
|
+
} | {
|
|
59
|
+
type: "reasoning-end";
|
|
60
|
+
id: string;
|
|
51
61
|
} | {
|
|
52
62
|
type: "tool-input-start";
|
|
53
63
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-tool-types.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/runtime-tool-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-tool-types.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/runtime-tool-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ export interface RunFinishedMetadata {
|
|
|
13
13
|
export interface StreamTransformState {
|
|
14
14
|
messageId: string | null;
|
|
15
15
|
textOpen: boolean;
|
|
16
|
+
reasoningMessageId: string | null;
|
|
16
17
|
sawVisibleOutput: boolean;
|
|
17
18
|
sawTerminalError: boolean;
|
|
18
19
|
metadata: RunFinishedMetadata;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ag-ui-sse.d.ts","sourceRoot":"","sources":["../../../src/src/internal-agents/ag-ui-sse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAOvD,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,WAAW,mBAAmB;IAClC,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,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,wBAAgB,0BAA0B,IAAI,oBAAoB,
|
|
1
|
+
{"version":3,"file":"ag-ui-sse.d.ts","sourceRoot":"","sources":["../../../src/src/internal-agents/ag-ui-sse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAOvD,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,WAAW,mBAAmB;IAClC,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,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,wBAAgB,0BAA0B,IAAI,oBAAoB,CASjE;AA4ED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAI3F;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG;IACjD,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,CAyBA;AAmED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAE,gBAAgB,GACtB,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CA8I5D;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,aAAa,GAAG,IAAI,GAC7B,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAmC5D"}
|
|
@@ -7,6 +7,7 @@ export function createStreamTransformState() {
|
|
|
7
7
|
return {
|
|
8
8
|
messageId: null,
|
|
9
9
|
textOpen: false,
|
|
10
|
+
reasoningMessageId: null,
|
|
10
11
|
sawVisibleOutput: false,
|
|
11
12
|
sawTerminalError: false,
|
|
12
13
|
metadata: {},
|
|
@@ -41,6 +42,17 @@ const agUiEventPayloadSchemas = {
|
|
|
41
42
|
TextMessageEnd: z.object({
|
|
42
43
|
messageId: z.string().min(1),
|
|
43
44
|
}),
|
|
45
|
+
ReasoningMessageStart: z.object({
|
|
46
|
+
messageId: z.string().min(1),
|
|
47
|
+
role: z.literal("reasoning"),
|
|
48
|
+
}),
|
|
49
|
+
ReasoningMessageContent: z.object({
|
|
50
|
+
messageId: z.string().min(1),
|
|
51
|
+
delta: z.string(),
|
|
52
|
+
}),
|
|
53
|
+
ReasoningMessageEnd: z.object({
|
|
54
|
+
messageId: z.string().min(1),
|
|
55
|
+
}),
|
|
44
56
|
ToolCallStart: z.object({
|
|
45
57
|
toolCallId: z.string().min(1),
|
|
46
58
|
toolCallName: z.string().min(1),
|
|
@@ -114,6 +126,20 @@ function getMessageId(state, event) {
|
|
|
114
126
|
}
|
|
115
127
|
return state.messageId;
|
|
116
128
|
}
|
|
129
|
+
function getReasoningMessageId(state, event) {
|
|
130
|
+
if (typeof event.id === "string" && event.id.length > 0) {
|
|
131
|
+
state.reasoningMessageId = state.messageId
|
|
132
|
+
? `${state.messageId}:reasoning:${event.id}`
|
|
133
|
+
: event.id;
|
|
134
|
+
return state.reasoningMessageId;
|
|
135
|
+
}
|
|
136
|
+
if (!state.reasoningMessageId) {
|
|
137
|
+
state.reasoningMessageId = state.messageId
|
|
138
|
+
? `${state.messageId}:reasoning:${dntShim.crypto.randomUUID()}`
|
|
139
|
+
: dntShim.crypto.randomUUID();
|
|
140
|
+
}
|
|
141
|
+
return state.reasoningMessageId;
|
|
142
|
+
}
|
|
117
143
|
function applyDataMetadata(state, event) {
|
|
118
144
|
const data = event.data && typeof event.data === "object" && !Array.isArray(event.data)
|
|
119
145
|
? event.data
|
|
@@ -184,6 +210,29 @@ export function mapRuntimeEventToAgUi(state, event) {
|
|
|
184
210
|
payload: { messageId: getMessageId(state, event) },
|
|
185
211
|
}];
|
|
186
212
|
}
|
|
213
|
+
case "reasoning-start":
|
|
214
|
+
state.sawVisibleOutput = true;
|
|
215
|
+
return [{
|
|
216
|
+
event: "ReasoningMessageStart",
|
|
217
|
+
payload: { messageId: getReasoningMessageId(state, event), role: "reasoning" },
|
|
218
|
+
}];
|
|
219
|
+
case "reasoning-delta":
|
|
220
|
+
state.sawVisibleOutput = true;
|
|
221
|
+
return [{
|
|
222
|
+
event: "ReasoningMessageContent",
|
|
223
|
+
payload: {
|
|
224
|
+
messageId: getReasoningMessageId(state, event),
|
|
225
|
+
delta: typeof event.delta === "string" ? event.delta : "",
|
|
226
|
+
},
|
|
227
|
+
}];
|
|
228
|
+
case "reasoning-end": {
|
|
229
|
+
const messageId = getReasoningMessageId(state, event);
|
|
230
|
+
state.reasoningMessageId = null;
|
|
231
|
+
return [{
|
|
232
|
+
event: "ReasoningMessageEnd",
|
|
233
|
+
payload: { messageId },
|
|
234
|
+
}];
|
|
235
|
+
}
|
|
187
236
|
case "tool-input-start":
|
|
188
237
|
state.sawVisibleOutput = true;
|
|
189
238
|
return [{
|
|
@@ -9,4 +9,7 @@ export declare function loadVeryfrontExportsMap(projectDir: string, fs: FileSyst
|
|
|
9
9
|
}>>;
|
|
10
10
|
export declare function rewriteNodeExternalImports(code: string, projectDir: string, fs: FileSystem, userDeps: Map<string, string>): Promise<string>;
|
|
11
11
|
export declare function rewriteCompiledBinaryVeryfrontImports(code: string): string;
|
|
12
|
+
export declare function rewriteCompiledBinaryUserDependencyImports(code: string, userDeps: Map<string, string>): string;
|
|
13
|
+
export declare function rewriteDenoNpmDependencyImports(code: string, projectDir: string, fs: FileSystem, userDeps: Map<string, string>): Promise<string>;
|
|
14
|
+
export declare function rewriteDenoNodeBuiltinImports(code: string): string;
|
|
12
15
|
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../../src/src/routing/api/module-loader/loader.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAI9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AA4KjE,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAejE;AAgBD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAyBtF;AAuaD,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAUxF;AAED,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,UAAU,EACd,aAAa,EAAE,cAAc,UAAU,EAAE,aAAa,GACrD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoBxB;AAED,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,UAAU,GACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAW9C;AAED,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,UAAU,EACd,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC,CA6EjB;AAED,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqB1E"}
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../../src/src/routing/api/module-loader/loader.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAI9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AA4KjE,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAejE;AAgBD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAyBtF;AAuaD,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAUxF;AAED,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,UAAU,EACd,aAAa,EAAE,cAAc,UAAU,EAAE,aAAa,GACrD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoBxB;AAED,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,UAAU,GACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAW9C;AAED,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,UAAU,EACd,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC,CA6EjB;AAED,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqB1E;AAED,wBAAgB,0CAA0C,CACxD,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,MAAM,CAoDR;AAED,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,UAAU,EACd,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBlE"}
|
|
@@ -623,6 +623,60 @@ export function rewriteCompiledBinaryVeryfrontImports(code) {
|
|
|
623
623
|
transformed = transformed.replace(/import\s*\(\s*["']veryfront\/([^"']+)["']\s*\)/g, (_match, subpath) => `import("./_vf_${subpath.replace(/\//g, "_")}.mjs")`);
|
|
624
624
|
return transformed;
|
|
625
625
|
}
|
|
626
|
+
export function rewriteCompiledBinaryUserDependencyImports(code, userDeps) {
|
|
627
|
+
let transformed = code;
|
|
628
|
+
for (const name of userDeps.keys()) {
|
|
629
|
+
const escaped = name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
630
|
+
transformed = transformed.replace(new RegExp(`import\\s+(\\w+)\\s+from\\s+["']${escaped}["']`, "g"), (_, localName) => `const ${localName} = __vf_interopDefault(require("${name}"))`);
|
|
631
|
+
transformed = transformed.replace(new RegExp(`import\\s+(\\{[^}]+\\})\\s+from\\s+["']${escaped}["']`, "g"), (_, bindings) => `const ${toCjsDestructureBindings(bindings)} = require("${name}")`);
|
|
632
|
+
transformed = transformed.replace(new RegExp(`import\\s+\\*\\s+as\\s+(\\w+)\\s+from\\s+["']${escaped}["']`, "g"), (_, localName) => `const ${localName} = require("${name}")`);
|
|
633
|
+
transformed = transformed.replace(new RegExp(`import\\s+(\\w+)\\s*,\\s*(\\{[^}]+\\})\\s+from\\s+["']${escaped}["']`, "g"), (_, defaultName, bindings) => {
|
|
634
|
+
const tmp = `__vf_tmp_${defaultName}`;
|
|
635
|
+
return `const ${tmp} = require("${name}"); const ${defaultName} = __vf_interopDefault(${tmp}); const ${toCjsDestructureBindings(bindings)} = ${tmp}`;
|
|
636
|
+
});
|
|
637
|
+
transformed = transformed.replace(new RegExp(`import\\s+(\\w+|\\*\\s+as\\s+\\w+|\\{[^}]+\\})\\s+from\\s+["']${escaped}(/[^"']+)["']`, "g"), (_, binding, subpath) => {
|
|
638
|
+
const trimmedBinding = String(binding).trim();
|
|
639
|
+
if (trimmedBinding.startsWith("{")) {
|
|
640
|
+
return `const ${toCjsDestructureBindings(trimmedBinding)} = require("${name}${subpath}")`;
|
|
641
|
+
}
|
|
642
|
+
const name_ = trimmedBinding.startsWith("*")
|
|
643
|
+
? trimmedBinding.replace(/\*\s+as\s+/, "")
|
|
644
|
+
: trimmedBinding;
|
|
645
|
+
return `const ${name_} = require("${name}${subpath}")`;
|
|
646
|
+
});
|
|
647
|
+
transformed = transformed.replace(new RegExp(`import\\s*\\(\\s*["']${escaped}(/[^"']*)?["']\\s*\\)`, "g"), (_, subpath) => `Promise.resolve(require("${name}${subpath || ""}"))`);
|
|
648
|
+
}
|
|
649
|
+
return transformed;
|
|
650
|
+
}
|
|
651
|
+
export async function rewriteDenoNpmDependencyImports(code, projectDir, fs, userDeps) {
|
|
652
|
+
let transformed = code;
|
|
653
|
+
for (const [name, version] of userDeps) {
|
|
654
|
+
const escaped = name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
655
|
+
let resolvedVersion = version;
|
|
656
|
+
try {
|
|
657
|
+
const pkgPath = pathHelper.join(projectDir, "node_modules", name, "package.json");
|
|
658
|
+
const pkgContent = await fs.readTextFile(pkgPath);
|
|
659
|
+
const pkg = JSON.parse(pkgContent);
|
|
660
|
+
if (pkg.version)
|
|
661
|
+
resolvedVersion = pkg.version;
|
|
662
|
+
}
|
|
663
|
+
catch (_) {
|
|
664
|
+
/* expected: installed package.json may not exist, fall back to declared range */
|
|
665
|
+
}
|
|
666
|
+
transformed = transformed.replace(new RegExp(`from\\s+["']${escaped}(/[^"']*)?["']`, "g"), (_, subpath) => `from "npm:${name}@${resolvedVersion}${subpath || ""}"`);
|
|
667
|
+
transformed = transformed.replace(new RegExp(`import\\s*\\(\\s*["']${escaped}(/[^"']*)?["']\\s*\\)`, "g"), (_, subpath) => `import("npm:${name}@${resolvedVersion}${subpath || ""}")`);
|
|
668
|
+
}
|
|
669
|
+
return transformed;
|
|
670
|
+
}
|
|
671
|
+
export function rewriteDenoNodeBuiltinImports(code) {
|
|
672
|
+
let transformed = code;
|
|
673
|
+
for (const mod of NODE_BUILTINS) {
|
|
674
|
+
const escaped = mod.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
675
|
+
transformed = transformed.replace(new RegExp(`from\\s+["']${escaped}["']`, "g"), `from "node:${mod}"`);
|
|
676
|
+
transformed = transformed.replace(new RegExp(`import\\s*\\(\\s*["']${escaped}["']\\s*\\)`, "g"), `import("node:${mod}")`);
|
|
677
|
+
}
|
|
678
|
+
return transformed;
|
|
679
|
+
}
|
|
626
680
|
async function rewriteExternalImports(code, projectDir, fs, userDeps = new Map()) {
|
|
627
681
|
let transformed = code;
|
|
628
682
|
if (isNode) {
|
|
@@ -635,68 +689,17 @@ async function rewriteExternalImports(code, projectDir, fs, userDeps = new Map()
|
|
|
635
689
|
}
|
|
636
690
|
if (isDeno) {
|
|
637
691
|
transformed = rewriteNpmImports(transformed);
|
|
638
|
-
|
|
639
|
-
// npm packages often use require('fs') / from "fs" without the node: prefix.
|
|
640
|
-
for (const mod of NODE_BUILTINS) {
|
|
641
|
-
const escaped = mod.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
642
|
-
transformed = transformed.replace(new RegExp(`from\\s+["']${escaped}["']`, "g"), `from "node:${mod}"`);
|
|
643
|
-
transformed = transformed.replace(new RegExp(`import\\s*\\(\\s*["']${escaped}["']\\s*\\)`, "g"), `import("node:${mod}")`);
|
|
644
|
-
}
|
|
692
|
+
transformed = rewriteDenoNodeBuiltinImports(transformed);
|
|
645
693
|
// Rewrite user-installed npm dependencies.
|
|
646
694
|
// In non-compiled Deno: use npm: specifiers (resolved by Deno's npm support).
|
|
647
695
|
// In compiled binaries: use the createRequire-based `require` shim (already
|
|
648
696
|
// injected by the esbuild banner) to load CJS packages from node_modules,
|
|
649
697
|
// since npm: specifiers only work for packages embedded at compile time.
|
|
650
698
|
if (isCompiledBinary()) {
|
|
651
|
-
|
|
652
|
-
const escaped = name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
653
|
-
// Default imports: import foo from "pkg" → const foo = __vf_interopDefault(require("pkg"))
|
|
654
|
-
// interopDefault unwraps .default for ESM packages transpiled to CJS
|
|
655
|
-
transformed = transformed.replace(new RegExp(`import\\s+(\\w+)\\s+from\\s+["']${escaped}["']`, "g"), (_, localName) => `const ${localName} = __vf_interopDefault(require("${name}"))`);
|
|
656
|
-
// Named imports: import { a, b } from "pkg" → const { a, b } = require("pkg")
|
|
657
|
-
transformed = transformed.replace(new RegExp(`import\\s+(\\{[^}]+\\})\\s+from\\s+["']${escaped}["']`, "g"), (_, bindings) => `const ${toCjsDestructureBindings(bindings)} = require("${name}")`);
|
|
658
|
-
// Namespace imports: import * as foo from "pkg" → const foo = require("pkg")
|
|
659
|
-
transformed = transformed.replace(new RegExp(`import\\s+\\*\\s+as\\s+(\\w+)\\s+from\\s+["']${escaped}["']`, "g"), (_, localName) => `const ${localName} = require("${name}")`);
|
|
660
|
-
// Mixed imports: import foo, { bar } from "pkg"
|
|
661
|
-
transformed = transformed.replace(new RegExp(`import\\s+(\\w+)\\s*,\\s*(\\{[^}]+\\})\\s+from\\s+["']${escaped}["']`, "g"), (_, defaultName, bindings) => {
|
|
662
|
-
const tmp = `__vf_tmp_${defaultName}`;
|
|
663
|
-
return `const ${tmp} = require("${name}"); const ${defaultName} = __vf_interopDefault(${tmp}); const ${toCjsDestructureBindings(bindings)} = ${tmp}`;
|
|
664
|
-
});
|
|
665
|
-
// Subpath static imports: from "pkg/sub" → require("pkg/sub")
|
|
666
|
-
transformed = transformed.replace(new RegExp(`import\\s+(\\w+|\\*\\s+as\\s+\\w+|\\{[^}]+\\})\\s+from\\s+["']${escaped}(/[^"']+)["']`, "g"), (_, binding, subpath) => {
|
|
667
|
-
const trimmedBinding = String(binding).trim();
|
|
668
|
-
if (trimmedBinding.startsWith("{")) {
|
|
669
|
-
return `const ${toCjsDestructureBindings(trimmedBinding)} = require("${name}${subpath}")`;
|
|
670
|
-
}
|
|
671
|
-
const name_ = trimmedBinding.startsWith("*")
|
|
672
|
-
? trimmedBinding.replace(/\*\s+as\s+/, "")
|
|
673
|
-
: trimmedBinding;
|
|
674
|
-
return `const ${name_} = require("${name}${subpath}")`;
|
|
675
|
-
});
|
|
676
|
-
// Dynamic imports: import("pkg") → Promise.resolve(require("pkg"))
|
|
677
|
-
transformed = transformed.replace(new RegExp(`import\\s*\\(\\s*["']${escaped}(/[^"']*)?["']\\s*\\)`, "g"), (_, subpath) => `Promise.resolve(require("${name}${subpath || ""}"))`);
|
|
678
|
-
}
|
|
699
|
+
transformed = rewriteCompiledBinaryUserDependencyImports(transformed, userDeps);
|
|
679
700
|
}
|
|
680
701
|
else {
|
|
681
|
-
|
|
682
|
-
const escaped = name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
683
|
-
// Resolve exact installed version from node_modules (falls back to range)
|
|
684
|
-
let resolvedVersion = version;
|
|
685
|
-
try {
|
|
686
|
-
const pkgPath = pathHelper.join(projectDir, "node_modules", name, "package.json");
|
|
687
|
-
const pkgContent = await fs.readTextFile(pkgPath);
|
|
688
|
-
const pkg = JSON.parse(pkgContent);
|
|
689
|
-
if (pkg.version)
|
|
690
|
-
resolvedVersion = pkg.version;
|
|
691
|
-
}
|
|
692
|
-
catch (_) {
|
|
693
|
-
/* expected: installed package.json may not exist, fall back to declared range */
|
|
694
|
-
}
|
|
695
|
-
// Static: from "pkg" and from "pkg/sub"
|
|
696
|
-
transformed = transformed.replace(new RegExp(`from\\s+["']${escaped}(/[^"']*)?["']`, "g"), (_, subpath) => `from "npm:${name}@${resolvedVersion}${subpath || ""}"`);
|
|
697
|
-
// Dynamic: import("pkg") and import("pkg/sub")
|
|
698
|
-
transformed = transformed.replace(new RegExp(`import\\s*\\(\\s*["']${escaped}(/[^"']*)?["']\\s*\\)`, "g"), (_, subpath) => `import("npm:${name}@${resolvedVersion}${subpath || ""}")`);
|
|
699
|
-
}
|
|
702
|
+
transformed = await rewriteDenoNpmDependencyImports(transformed, projectDir, fs, userDeps);
|
|
700
703
|
}
|
|
701
704
|
// In compiled binaries, "veryfront" resolves to embedded source that can't be
|
|
702
705
|
// imported from external temp files. Rewrite to use local runtime shims.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.1.
|
|
1
|
+
export declare const VERSION = "0.1.170";
|
|
2
2
|
//# sourceMappingURL=version-constant.d.ts.map
|
package/package.json
CHANGED
package/src/deno.js
CHANGED
|
@@ -200,6 +200,31 @@ export function processStream(
|
|
|
200
200
|
break;
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
+
case "reasoning-start": {
|
|
204
|
+
sendSSE(controller, encoder, {
|
|
205
|
+
type: "reasoning-start",
|
|
206
|
+
id: typeof typedPart.id === "string" ? typedPart.id : "reasoning",
|
|
207
|
+
});
|
|
208
|
+
break;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
case "reasoning-delta": {
|
|
212
|
+
sendSSE(controller, encoder, {
|
|
213
|
+
type: "reasoning-delta",
|
|
214
|
+
id: typeof typedPart.id === "string" ? typedPart.id : "reasoning",
|
|
215
|
+
delta: typeof typedPart.delta === "string" ? typedPart.delta : "",
|
|
216
|
+
});
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
case "reasoning-end": {
|
|
221
|
+
sendSSE(controller, encoder, {
|
|
222
|
+
type: "reasoning-end",
|
|
223
|
+
id: typeof typedPart.id === "string" ? typedPart.id : "reasoning",
|
|
224
|
+
});
|
|
225
|
+
break;
|
|
226
|
+
}
|
|
227
|
+
|
|
203
228
|
case "tool-input-start": {
|
|
204
229
|
const toolId = typedPart.id;
|
|
205
230
|
state.toolCalls.set(toolId, {
|
|
@@ -59,6 +59,9 @@ export type RuntimeToolCallRepairFunction = (
|
|
|
59
59
|
|
|
60
60
|
export type RuntimeStreamPart =
|
|
61
61
|
| { type: "text-delta"; text: string }
|
|
62
|
+
| { type: "reasoning-start"; id: string }
|
|
63
|
+
| { type: "reasoning-delta"; id: string; delta: string }
|
|
64
|
+
| { type: "reasoning-end"; id: string }
|
|
62
65
|
| {
|
|
63
66
|
type: "tool-input-start";
|
|
64
67
|
id: string;
|
|
@@ -20,6 +20,7 @@ export interface RunFinishedMetadata {
|
|
|
20
20
|
export interface StreamTransformState {
|
|
21
21
|
messageId: string | null;
|
|
22
22
|
textOpen: boolean;
|
|
23
|
+
reasoningMessageId: string | null;
|
|
23
24
|
sawVisibleOutput: boolean;
|
|
24
25
|
sawTerminalError: boolean;
|
|
25
26
|
metadata: RunFinishedMetadata;
|
|
@@ -29,6 +30,7 @@ export function createStreamTransformState(): StreamTransformState {
|
|
|
29
30
|
return {
|
|
30
31
|
messageId: null,
|
|
31
32
|
textOpen: false,
|
|
33
|
+
reasoningMessageId: null,
|
|
32
34
|
sawVisibleOutput: false,
|
|
33
35
|
sawTerminalError: false,
|
|
34
36
|
metadata: {},
|
|
@@ -64,6 +66,17 @@ const agUiEventPayloadSchemas = {
|
|
|
64
66
|
TextMessageEnd: z.object({
|
|
65
67
|
messageId: z.string().min(1),
|
|
66
68
|
}),
|
|
69
|
+
ReasoningMessageStart: z.object({
|
|
70
|
+
messageId: z.string().min(1),
|
|
71
|
+
role: z.literal("reasoning"),
|
|
72
|
+
}),
|
|
73
|
+
ReasoningMessageContent: z.object({
|
|
74
|
+
messageId: z.string().min(1),
|
|
75
|
+
delta: z.string(),
|
|
76
|
+
}),
|
|
77
|
+
ReasoningMessageEnd: z.object({
|
|
78
|
+
messageId: z.string().min(1),
|
|
79
|
+
}),
|
|
67
80
|
ToolCallStart: z.object({
|
|
68
81
|
toolCallId: z.string().min(1),
|
|
69
82
|
toolCallName: z.string().min(1),
|
|
@@ -151,6 +164,23 @@ function getMessageId(state: StreamTransformState, event: RuntimeDataEvent): str
|
|
|
151
164
|
return state.messageId;
|
|
152
165
|
}
|
|
153
166
|
|
|
167
|
+
function getReasoningMessageId(state: StreamTransformState, event: RuntimeDataEvent): string {
|
|
168
|
+
if (typeof event.id === "string" && event.id.length > 0) {
|
|
169
|
+
state.reasoningMessageId = state.messageId
|
|
170
|
+
? `${state.messageId}:reasoning:${event.id}`
|
|
171
|
+
: event.id;
|
|
172
|
+
return state.reasoningMessageId;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
if (!state.reasoningMessageId) {
|
|
176
|
+
state.reasoningMessageId = state.messageId
|
|
177
|
+
? `${state.messageId}:reasoning:${dntShim.crypto.randomUUID()}`
|
|
178
|
+
: dntShim.crypto.randomUUID();
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
return state.reasoningMessageId;
|
|
182
|
+
}
|
|
183
|
+
|
|
154
184
|
function applyDataMetadata(state: StreamTransformState, event: RuntimeDataEvent): void {
|
|
155
185
|
const data = event.data && typeof event.data === "object" && !Array.isArray(event.data)
|
|
156
186
|
? event.data as Record<string, unknown>
|
|
@@ -231,6 +261,32 @@ export function mapRuntimeEventToAgUi(
|
|
|
231
261
|
}];
|
|
232
262
|
}
|
|
233
263
|
|
|
264
|
+
case "reasoning-start":
|
|
265
|
+
state.sawVisibleOutput = true;
|
|
266
|
+
return [{
|
|
267
|
+
event: "ReasoningMessageStart",
|
|
268
|
+
payload: { messageId: getReasoningMessageId(state, event), role: "reasoning" },
|
|
269
|
+
}];
|
|
270
|
+
|
|
271
|
+
case "reasoning-delta":
|
|
272
|
+
state.sawVisibleOutput = true;
|
|
273
|
+
return [{
|
|
274
|
+
event: "ReasoningMessageContent",
|
|
275
|
+
payload: {
|
|
276
|
+
messageId: getReasoningMessageId(state, event),
|
|
277
|
+
delta: typeof event.delta === "string" ? event.delta : "",
|
|
278
|
+
},
|
|
279
|
+
}];
|
|
280
|
+
|
|
281
|
+
case "reasoning-end": {
|
|
282
|
+
const messageId = getReasoningMessageId(state, event);
|
|
283
|
+
state.reasoningMessageId = null;
|
|
284
|
+
return [{
|
|
285
|
+
event: "ReasoningMessageEnd",
|
|
286
|
+
payload: { messageId },
|
|
287
|
+
}];
|
|
288
|
+
}
|
|
289
|
+
|
|
234
290
|
case "tool-input-start":
|
|
235
291
|
state.sawVisibleOutput = true;
|
|
236
292
|
return [{
|
|
@@ -823,6 +823,114 @@ export function rewriteCompiledBinaryVeryfrontImports(code: string): string {
|
|
|
823
823
|
return transformed;
|
|
824
824
|
}
|
|
825
825
|
|
|
826
|
+
export function rewriteCompiledBinaryUserDependencyImports(
|
|
827
|
+
code: string,
|
|
828
|
+
userDeps: Map<string, string>,
|
|
829
|
+
): string {
|
|
830
|
+
let transformed = code;
|
|
831
|
+
|
|
832
|
+
for (const name of userDeps.keys()) {
|
|
833
|
+
const escaped = name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
834
|
+
transformed = transformed.replace(
|
|
835
|
+
new RegExp(`import\\s+(\\w+)\\s+from\\s+["']${escaped}["']`, "g"),
|
|
836
|
+
(_, localName) => `const ${localName} = __vf_interopDefault(require("${name}"))`,
|
|
837
|
+
);
|
|
838
|
+
transformed = transformed.replace(
|
|
839
|
+
new RegExp(`import\\s+(\\{[^}]+\\})\\s+from\\s+["']${escaped}["']`, "g"),
|
|
840
|
+
(_, bindings) => `const ${toCjsDestructureBindings(bindings)} = require("${name}")`,
|
|
841
|
+
);
|
|
842
|
+
transformed = transformed.replace(
|
|
843
|
+
new RegExp(`import\\s+\\*\\s+as\\s+(\\w+)\\s+from\\s+["']${escaped}["']`, "g"),
|
|
844
|
+
(_, localName) => `const ${localName} = require("${name}")`,
|
|
845
|
+
);
|
|
846
|
+
transformed = transformed.replace(
|
|
847
|
+
new RegExp(
|
|
848
|
+
`import\\s+(\\w+)\\s*,\\s*(\\{[^}]+\\})\\s+from\\s+["']${escaped}["']`,
|
|
849
|
+
"g",
|
|
850
|
+
),
|
|
851
|
+
(_, defaultName, bindings) => {
|
|
852
|
+
const tmp = `__vf_tmp_${defaultName}`;
|
|
853
|
+
return `const ${tmp} = require("${name}"); const ${defaultName} = __vf_interopDefault(${tmp}); const ${
|
|
854
|
+
toCjsDestructureBindings(bindings)
|
|
855
|
+
} = ${tmp}`;
|
|
856
|
+
},
|
|
857
|
+
);
|
|
858
|
+
transformed = transformed.replace(
|
|
859
|
+
new RegExp(
|
|
860
|
+
`import\\s+(\\w+|\\*\\s+as\\s+\\w+|\\{[^}]+\\})\\s+from\\s+["']${escaped}(/[^"']+)["']`,
|
|
861
|
+
"g",
|
|
862
|
+
),
|
|
863
|
+
(_, binding, subpath) => {
|
|
864
|
+
const trimmedBinding = String(binding).trim();
|
|
865
|
+
if (trimmedBinding.startsWith("{")) {
|
|
866
|
+
return `const ${toCjsDestructureBindings(trimmedBinding)} = require("${name}${subpath}")`;
|
|
867
|
+
}
|
|
868
|
+
const name_ = trimmedBinding.startsWith("*")
|
|
869
|
+
? trimmedBinding.replace(/\*\s+as\s+/, "")
|
|
870
|
+
: trimmedBinding;
|
|
871
|
+
return `const ${name_} = require("${name}${subpath}")`;
|
|
872
|
+
},
|
|
873
|
+
);
|
|
874
|
+
transformed = transformed.replace(
|
|
875
|
+
new RegExp(`import\\s*\\(\\s*["']${escaped}(/[^"']*)?["']\\s*\\)`, "g"),
|
|
876
|
+
(_, subpath) => `Promise.resolve(require("${name}${subpath || ""}"))`,
|
|
877
|
+
);
|
|
878
|
+
}
|
|
879
|
+
|
|
880
|
+
return transformed;
|
|
881
|
+
}
|
|
882
|
+
|
|
883
|
+
export async function rewriteDenoNpmDependencyImports(
|
|
884
|
+
code: string,
|
|
885
|
+
projectDir: string,
|
|
886
|
+
fs: FileSystem,
|
|
887
|
+
userDeps: Map<string, string>,
|
|
888
|
+
): Promise<string> {
|
|
889
|
+
let transformed = code;
|
|
890
|
+
|
|
891
|
+
for (const [name, version] of userDeps) {
|
|
892
|
+
const escaped = name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
893
|
+
let resolvedVersion = version;
|
|
894
|
+
try {
|
|
895
|
+
const pkgPath = pathHelper.join(projectDir, "node_modules", name, "package.json");
|
|
896
|
+
const pkgContent = await fs.readTextFile(pkgPath);
|
|
897
|
+
const pkg = JSON.parse(pkgContent) as { version?: string };
|
|
898
|
+
if (pkg.version) resolvedVersion = pkg.version;
|
|
899
|
+
} catch (_) {
|
|
900
|
+
/* expected: installed package.json may not exist, fall back to declared range */
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
transformed = transformed.replace(
|
|
904
|
+
new RegExp(`from\\s+["']${escaped}(/[^"']*)?["']`, "g"),
|
|
905
|
+
(_, subpath) => `from "npm:${name}@${resolvedVersion}${subpath || ""}"`,
|
|
906
|
+
);
|
|
907
|
+
transformed = transformed.replace(
|
|
908
|
+
new RegExp(`import\\s*\\(\\s*["']${escaped}(/[^"']*)?["']\\s*\\)`, "g"),
|
|
909
|
+
(_, subpath) => `import("npm:${name}@${resolvedVersion}${subpath || ""}")`,
|
|
910
|
+
);
|
|
911
|
+
}
|
|
912
|
+
|
|
913
|
+
return transformed;
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
export function rewriteDenoNodeBuiltinImports(code: string): string {
|
|
917
|
+
let transformed = code;
|
|
918
|
+
|
|
919
|
+
for (const mod of NODE_BUILTINS) {
|
|
920
|
+
const escaped = mod.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
921
|
+
transformed = transformed.replace(
|
|
922
|
+
new RegExp(`from\\s+["']${escaped}["']`, "g"),
|
|
923
|
+
`from "node:${mod}"`,
|
|
924
|
+
);
|
|
925
|
+
transformed = transformed.replace(
|
|
926
|
+
new RegExp(`import\\s*\\(\\s*["']${escaped}["']\\s*\\)`, "g"),
|
|
927
|
+
`import("node:${mod}")`,
|
|
928
|
+
);
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
return transformed;
|
|
932
|
+
}
|
|
933
|
+
|
|
826
934
|
async function rewriteExternalImports(
|
|
827
935
|
code: string,
|
|
828
936
|
projectDir: string,
|
|
@@ -841,20 +949,7 @@ async function rewriteExternalImports(
|
|
|
841
949
|
|
|
842
950
|
if (isDeno) {
|
|
843
951
|
transformed = rewriteNpmImports(transformed);
|
|
844
|
-
|
|
845
|
-
// Rewrite bare Node.js built-in imports to node: prefix for Deno compatibility.
|
|
846
|
-
// npm packages often use require('fs') / from "fs" without the node: prefix.
|
|
847
|
-
for (const mod of NODE_BUILTINS) {
|
|
848
|
-
const escaped = mod.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
849
|
-
transformed = transformed.replace(
|
|
850
|
-
new RegExp(`from\\s+["']${escaped}["']`, "g"),
|
|
851
|
-
`from "node:${mod}"`,
|
|
852
|
-
);
|
|
853
|
-
transformed = transformed.replace(
|
|
854
|
-
new RegExp(`import\\s*\\(\\s*["']${escaped}["']\\s*\\)`, "g"),
|
|
855
|
-
`import("node:${mod}")`,
|
|
856
|
-
);
|
|
857
|
-
}
|
|
952
|
+
transformed = rewriteDenoNodeBuiltinImports(transformed);
|
|
858
953
|
|
|
859
954
|
// Rewrite user-installed npm dependencies.
|
|
860
955
|
// In non-compiled Deno: use npm: specifiers (resolved by Deno's npm support).
|
|
@@ -862,86 +957,9 @@ async function rewriteExternalImports(
|
|
|
862
957
|
// injected by the esbuild banner) to load CJS packages from node_modules,
|
|
863
958
|
// since npm: specifiers only work for packages embedded at compile time.
|
|
864
959
|
if (isCompiledBinary()) {
|
|
865
|
-
|
|
866
|
-
const escaped = name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
867
|
-
// Default imports: import foo from "pkg" → const foo = __vf_interopDefault(require("pkg"))
|
|
868
|
-
// interopDefault unwraps .default for ESM packages transpiled to CJS
|
|
869
|
-
transformed = transformed.replace(
|
|
870
|
-
new RegExp(`import\\s+(\\w+)\\s+from\\s+["']${escaped}["']`, "g"),
|
|
871
|
-
(_, localName) => `const ${localName} = __vf_interopDefault(require("${name}"))`,
|
|
872
|
-
);
|
|
873
|
-
// Named imports: import { a, b } from "pkg" → const { a, b } = require("pkg")
|
|
874
|
-
transformed = transformed.replace(
|
|
875
|
-
new RegExp(`import\\s+(\\{[^}]+\\})\\s+from\\s+["']${escaped}["']`, "g"),
|
|
876
|
-
(_, bindings) => `const ${toCjsDestructureBindings(bindings)} = require("${name}")`,
|
|
877
|
-
);
|
|
878
|
-
// Namespace imports: import * as foo from "pkg" → const foo = require("pkg")
|
|
879
|
-
transformed = transformed.replace(
|
|
880
|
-
new RegExp(`import\\s+\\*\\s+as\\s+(\\w+)\\s+from\\s+["']${escaped}["']`, "g"),
|
|
881
|
-
(_, localName) => `const ${localName} = require("${name}")`,
|
|
882
|
-
);
|
|
883
|
-
// Mixed imports: import foo, { bar } from "pkg"
|
|
884
|
-
transformed = transformed.replace(
|
|
885
|
-
new RegExp(
|
|
886
|
-
`import\\s+(\\w+)\\s*,\\s*(\\{[^}]+\\})\\s+from\\s+["']${escaped}["']`,
|
|
887
|
-
"g",
|
|
888
|
-
),
|
|
889
|
-
(_, defaultName, bindings) => {
|
|
890
|
-
const tmp = `__vf_tmp_${defaultName}`;
|
|
891
|
-
return `const ${tmp} = require("${name}"); const ${defaultName} = __vf_interopDefault(${tmp}); const ${
|
|
892
|
-
toCjsDestructureBindings(bindings)
|
|
893
|
-
} = ${tmp}`;
|
|
894
|
-
},
|
|
895
|
-
);
|
|
896
|
-
// Subpath static imports: from "pkg/sub" → require("pkg/sub")
|
|
897
|
-
transformed = transformed.replace(
|
|
898
|
-
new RegExp(
|
|
899
|
-
`import\\s+(\\w+|\\*\\s+as\\s+\\w+|\\{[^}]+\\})\\s+from\\s+["']${escaped}(/[^"']+)["']`,
|
|
900
|
-
"g",
|
|
901
|
-
),
|
|
902
|
-
(_, binding, subpath) => {
|
|
903
|
-
const trimmedBinding = String(binding).trim();
|
|
904
|
-
if (trimmedBinding.startsWith("{")) {
|
|
905
|
-
return `const ${
|
|
906
|
-
toCjsDestructureBindings(trimmedBinding)
|
|
907
|
-
} = require("${name}${subpath}")`;
|
|
908
|
-
}
|
|
909
|
-
const name_ = trimmedBinding.startsWith("*")
|
|
910
|
-
? trimmedBinding.replace(/\*\s+as\s+/, "")
|
|
911
|
-
: trimmedBinding;
|
|
912
|
-
return `const ${name_} = require("${name}${subpath}")`;
|
|
913
|
-
},
|
|
914
|
-
);
|
|
915
|
-
// Dynamic imports: import("pkg") → Promise.resolve(require("pkg"))
|
|
916
|
-
transformed = transformed.replace(
|
|
917
|
-
new RegExp(`import\\s*\\(\\s*["']${escaped}(/[^"']*)?["']\\s*\\)`, "g"),
|
|
918
|
-
(_, subpath) => `Promise.resolve(require("${name}${subpath || ""}"))`,
|
|
919
|
-
);
|
|
920
|
-
}
|
|
960
|
+
transformed = rewriteCompiledBinaryUserDependencyImports(transformed, userDeps);
|
|
921
961
|
} else {
|
|
922
|
-
|
|
923
|
-
const escaped = name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
924
|
-
// Resolve exact installed version from node_modules (falls back to range)
|
|
925
|
-
let resolvedVersion = version;
|
|
926
|
-
try {
|
|
927
|
-
const pkgPath = pathHelper.join(projectDir, "node_modules", name, "package.json");
|
|
928
|
-
const pkgContent = await fs.readTextFile(pkgPath);
|
|
929
|
-
const pkg = JSON.parse(pkgContent) as { version?: string };
|
|
930
|
-
if (pkg.version) resolvedVersion = pkg.version;
|
|
931
|
-
} catch (_) {
|
|
932
|
-
/* expected: installed package.json may not exist, fall back to declared range */
|
|
933
|
-
}
|
|
934
|
-
// Static: from "pkg" and from "pkg/sub"
|
|
935
|
-
transformed = transformed.replace(
|
|
936
|
-
new RegExp(`from\\s+["']${escaped}(/[^"']*)?["']`, "g"),
|
|
937
|
-
(_, subpath) => `from "npm:${name}@${resolvedVersion}${subpath || ""}"`,
|
|
938
|
-
);
|
|
939
|
-
// Dynamic: import("pkg") and import("pkg/sub")
|
|
940
|
-
transformed = transformed.replace(
|
|
941
|
-
new RegExp(`import\\s*\\(\\s*["']${escaped}(/[^"']*)?["']\\s*\\)`, "g"),
|
|
942
|
-
(_, subpath) => `import("npm:${name}@${resolvedVersion}${subpath || ""}")`,
|
|
943
|
-
);
|
|
944
|
-
}
|
|
962
|
+
transformed = await rewriteDenoNpmDependencyImports(transformed, projectDir, fs, userDeps);
|
|
945
963
|
}
|
|
946
964
|
|
|
947
965
|
// In compiled binaries, "veryfront" resolves to embedded source that can't be
|