veryfront 0.1.167 → 0.1.169
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 +2 -0
- package/esm/src/routing/api/module-loader/loader.d.ts.map +1 -1
- package/esm/src/routing/api/module-loader/loader.js +47 -47
- 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 +92 -79
- 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,6 @@ 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>;
|
|
12
14
|
//# 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"}
|
|
@@ -623,6 +623,51 @@ 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
|
+
}
|
|
626
671
|
async function rewriteExternalImports(code, projectDir, fs, userDeps = new Map()) {
|
|
627
672
|
let transformed = code;
|
|
628
673
|
if (isNode) {
|
|
@@ -648,55 +693,10 @@ async function rewriteExternalImports(code, projectDir, fs, userDeps = new Map()
|
|
|
648
693
|
// injected by the esbuild banner) to load CJS packages from node_modules,
|
|
649
694
|
// since npm: specifiers only work for packages embedded at compile time.
|
|
650
695
|
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
|
-
}
|
|
696
|
+
transformed = rewriteCompiledBinaryUserDependencyImports(transformed, userDeps);
|
|
679
697
|
}
|
|
680
698
|
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
|
-
}
|
|
699
|
+
transformed = await rewriteDenoNpmDependencyImports(transformed, projectDir, fs, userDeps);
|
|
700
700
|
}
|
|
701
701
|
// In compiled binaries, "veryfront" resolves to embedded source that can't be
|
|
702
702
|
// 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.169";
|
|
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,96 @@ 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
|
+
|
|
826
916
|
async function rewriteExternalImports(
|
|
827
917
|
code: string,
|
|
828
918
|
projectDir: string,
|
|
@@ -862,86 +952,9 @@ async function rewriteExternalImports(
|
|
|
862
952
|
// injected by the esbuild banner) to load CJS packages from node_modules,
|
|
863
953
|
// since npm: specifiers only work for packages embedded at compile time.
|
|
864
954
|
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
|
-
}
|
|
955
|
+
transformed = rewriteCompiledBinaryUserDependencyImports(transformed, userDeps);
|
|
921
956
|
} 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
|
-
}
|
|
957
|
+
transformed = await rewriteDenoNpmDependencyImports(transformed, projectDir, fs, userDeps);
|
|
945
958
|
}
|
|
946
959
|
|
|
947
960
|
// In compiled binaries, "veryfront" resolves to embedded source that can't be
|