veryfront 0.1.640 → 0.1.642
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/factory.d.ts +6 -6
- package/esm/src/agent/factory.d.ts.map +1 -1
- package/esm/src/agent/factory.js +5 -25
- package/esm/src/agent/runtime/chat-stream-handler.d.ts +1 -0
- package/esm/src/agent/runtime/chat-stream-handler.d.ts.map +1 -1
- package/esm/src/agent/runtime/chat-stream-handler.js +30 -42
- package/esm/src/agent/runtime/index.d.ts.map +1 -1
- package/esm/src/agent/runtime/index.js +34 -4
- package/esm/src/agent/runtime/text-generation-runtime-message-converter.d.ts.map +1 -1
- package/esm/src/agent/runtime/text-generation-runtime-message-converter.js +6 -0
- package/esm/src/agent/types.d.ts +0 -9
- package/esm/src/agent/types.d.ts.map +1 -1
- package/esm/src/internal-agents/ag-ui-sse.d.ts.map +1 -1
- package/esm/src/internal-agents/ag-ui-sse.js +7 -7
- package/esm/src/platform/adapters/runtime/deno/adapter.d.ts.map +1 -1
- package/esm/src/platform/adapters/runtime/deno/adapter.js +3 -3
- package/esm/src/platform/compat/http/deno-server.d.ts.map +1 -1
- package/esm/src/platform/compat/http/deno-server.js +2 -2
- package/esm/src/platform/compat/http/native-response.d.ts +15 -0
- package/esm/src/platform/compat/http/native-response.d.ts.map +1 -1
- package/esm/src/platform/compat/http/native-response.js +16 -4
- package/esm/src/platform/compat/http/websocket.d.ts.map +1 -1
- package/esm/src/platform/compat/http/websocket.js +2 -1
- package/esm/src/rendering/orchestrator/html-project-css.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/html-project-css.js +5 -3
- 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/esm/deno.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { Agent, AgentConfig, AgentMiddleware } from "./types.js";
|
|
2
2
|
/** Agent helper. */
|
|
3
3
|
export declare function agent(config: AgentConfig): Agent;
|
|
4
|
-
/**
|
|
5
|
-
* Default maximum agent input character length used by the built-in
|
|
6
|
-
* security middleware when the agent does not set `inputMaxCharacterLimit`.
|
|
7
|
-
*/
|
|
8
|
-
export declare const DEFAULT_AGENT_INPUT_MAX_CHARACTER_LIMIT = 100000;
|
|
9
4
|
/**
|
|
10
5
|
* Resolve the middleware array for an agent, prepending security middleware
|
|
11
6
|
* unless explicitly opted out with `security: false`.
|
|
7
|
+
*
|
|
8
|
+
* The security middleware does not impose any input character limit: agent
|
|
9
|
+
* input (latest user message plus conversation history and structured tool
|
|
10
|
+
* results) can be arbitrarily large. Prompt-injection pattern blocking and
|
|
11
|
+
* output PII filtering still apply.
|
|
12
12
|
*/
|
|
13
|
-
export declare function resolveSecurityMiddleware(config: Pick<AgentConfig, "security" | "middleware"
|
|
13
|
+
export declare function resolveSecurityMiddleware(config: Pick<AgentConfig, "security" | "middleware">): AgentMiddleware[];
|
|
14
14
|
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/src/agent/factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,eAAe,EAKhB,MAAM,YAAY,CAAC;AA+CpB,oBAAoB;AACpB,wBAAgB,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CA8MhD;AAcD
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/src/agent/factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,eAAe,EAKhB,MAAM,YAAY,CAAC;AA+CpB,oBAAoB;AACpB,wBAAgB,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CA8MhD;AAcD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,YAAY,CAAC,GACnD,eAAe,EAAE,CAanB"}
|
package/esm/src/agent/factory.js
CHANGED
|
@@ -184,33 +184,14 @@ if (!("__vfAgentFactory" in dntShim.dntGlobalThis)) {
|
|
|
184
184
|
configurable: false,
|
|
185
185
|
});
|
|
186
186
|
}
|
|
187
|
-
/**
|
|
188
|
-
* Default maximum agent input character length used by the built-in
|
|
189
|
-
* security middleware when the agent does not set `inputMaxCharacterLimit`.
|
|
190
|
-
*/
|
|
191
|
-
export const DEFAULT_AGENT_INPUT_MAX_CHARACTER_LIMIT = 100_000;
|
|
192
|
-
/**
|
|
193
|
-
* Resolve `inputMaxCharacterLimit` to a usable positive integer. Guards
|
|
194
|
-
* against `NaN`, `Infinity`, and non-positive values that would otherwise
|
|
195
|
-
* silently disable the input length check inside `InputValidator`
|
|
196
|
-
* (it compares with `input.length > maxLength`, which is always false for
|
|
197
|
-
* `NaN`/`Infinity`). Invalid overrides fall back to the default and emit a
|
|
198
|
-
* warning so misconfiguration is visible.
|
|
199
|
-
*/
|
|
200
|
-
function resolveInputMaxCharacterLimit(override) {
|
|
201
|
-
if (override == null)
|
|
202
|
-
return DEFAULT_AGENT_INPUT_MAX_CHARACTER_LIMIT;
|
|
203
|
-
if (!Number.isFinite(override) || override <= 0) {
|
|
204
|
-
agentLogger.warn(`Ignoring invalid inputMaxCharacterLimit=${String(override)}; ` +
|
|
205
|
-
`falling back to default ${DEFAULT_AGENT_INPUT_MAX_CHARACTER_LIMIT}. ` +
|
|
206
|
-
`Expected a finite positive number.`);
|
|
207
|
-
return DEFAULT_AGENT_INPUT_MAX_CHARACTER_LIMIT;
|
|
208
|
-
}
|
|
209
|
-
return override;
|
|
210
|
-
}
|
|
211
187
|
/**
|
|
212
188
|
* Resolve the middleware array for an agent, prepending security middleware
|
|
213
189
|
* unless explicitly opted out with `security: false`.
|
|
190
|
+
*
|
|
191
|
+
* The security middleware does not impose any input character limit: agent
|
|
192
|
+
* input (latest user message plus conversation history and structured tool
|
|
193
|
+
* results) can be arbitrarily large. Prompt-injection pattern blocking and
|
|
194
|
+
* output PII filtering still apply.
|
|
214
195
|
*/
|
|
215
196
|
export function resolveSecurityMiddleware(config) {
|
|
216
197
|
if (config.security === false)
|
|
@@ -218,7 +199,6 @@ export function resolveSecurityMiddleware(config) {
|
|
|
218
199
|
return [
|
|
219
200
|
securityMiddleware({
|
|
220
201
|
input: {
|
|
221
|
-
maxLength: resolveInputMaxCharacterLimit(config.inputMaxCharacterLimit),
|
|
222
202
|
blockedPatterns: COMMON_BLOCKED_PATTERNS.promptInjection,
|
|
223
203
|
},
|
|
224
204
|
output: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-stream-handler.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/chat-stream-handler.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAqB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAqBtF,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,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;IACX,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAwLD,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":"AAYA,OAAO,KAAK,EAAqB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAqBtF,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,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;IACX,yBAAyB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAwLD,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,CA4lBf"}
|
|
@@ -185,6 +185,8 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
185
185
|
let activeReasoningId = null;
|
|
186
186
|
let shouldStopForCommittedLocalToolCall = false;
|
|
187
187
|
let hasActiveLocalToolInput = false;
|
|
188
|
+
const providerExecutedToolNames = new Set(callbacks?.providerExecutedToolNames ?? []);
|
|
189
|
+
const resolveProviderExecuted = (toolName, providerExecuted) => providerExecuted ?? (providerExecutedToolNames.has(toolName) ? true : undefined);
|
|
188
190
|
const normalizeReasoningId = (part) => typeof part.id === "string" && part.id.length > 0 ? part.id : "reasoning";
|
|
189
191
|
const openTextSegment = () => {
|
|
190
192
|
if (textOpen) {
|
|
@@ -290,6 +292,7 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
290
292
|
};
|
|
291
293
|
const ensureToolLifecycle = (part) => {
|
|
292
294
|
const dynamic = part.dynamic ?? isDynamicTool(part.toolName);
|
|
295
|
+
const providerExecuted = resolveProviderExecuted(part.toolName, part.providerExecuted);
|
|
293
296
|
const existing = state.toolCalls.get(part.toolCallId);
|
|
294
297
|
if (!existing) {
|
|
295
298
|
const normalizedInput = parseToolInputObject(part.input);
|
|
@@ -298,9 +301,7 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
298
301
|
name: part.toolName,
|
|
299
302
|
arguments: normalizeToolInputString(part.input),
|
|
300
303
|
inputAvailable: true,
|
|
301
|
-
...(
|
|
302
|
-
? { providerExecuted: part.providerExecuted }
|
|
303
|
-
: {}),
|
|
304
|
+
...(providerExecuted !== undefined ? { providerExecuted } : {}),
|
|
304
305
|
...(dynamic ? { dynamic: true } : {}),
|
|
305
306
|
inputAnnounced: true,
|
|
306
307
|
});
|
|
@@ -315,9 +316,7 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
315
316
|
toolCallId: part.toolCallId,
|
|
316
317
|
toolName: part.toolName,
|
|
317
318
|
input: normalizedInput,
|
|
318
|
-
...(
|
|
319
|
-
? { providerExecuted: part.providerExecuted }
|
|
320
|
-
: {}),
|
|
319
|
+
...(providerExecuted !== undefined ? { providerExecuted } : {}),
|
|
321
320
|
...(dynamic ? { dynamic: true } : {}),
|
|
322
321
|
});
|
|
323
322
|
return;
|
|
@@ -331,8 +330,8 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
331
330
|
const resolvedInput = parseToolInputObject(resolvedArguments);
|
|
332
331
|
existing.arguments = resolvedArguments;
|
|
333
332
|
existing.inputAvailable = true;
|
|
334
|
-
if (
|
|
335
|
-
existing.providerExecuted =
|
|
333
|
+
if (providerExecuted !== undefined) {
|
|
334
|
+
existing.providerExecuted = providerExecuted;
|
|
336
335
|
}
|
|
337
336
|
if (dynamic) {
|
|
338
337
|
existing.dynamic = true;
|
|
@@ -429,14 +428,15 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
429
428
|
closeTextSegment();
|
|
430
429
|
closeReasoningSegment();
|
|
431
430
|
shouldStopForCommittedLocalToolCall = false;
|
|
432
|
-
hasActiveLocalToolInput = true;
|
|
433
431
|
const toolId = typedPart.id;
|
|
432
|
+
const providerExecuted = resolveProviderExecuted(typedPart.toolName, typedPart.providerExecuted);
|
|
433
|
+
hasActiveLocalToolInput = providerExecuted !== true;
|
|
434
434
|
state.toolCalls.set(toolId, {
|
|
435
435
|
id: toolId,
|
|
436
436
|
name: typedPart.toolName,
|
|
437
437
|
arguments: "",
|
|
438
438
|
inputAvailable: false,
|
|
439
|
-
providerExecuted
|
|
439
|
+
providerExecuted,
|
|
440
440
|
dynamic: typedPart.dynamic,
|
|
441
441
|
inputDeltas: [],
|
|
442
442
|
inputAnnounced: false,
|
|
@@ -488,6 +488,7 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
488
488
|
if (!toolId) {
|
|
489
489
|
break;
|
|
490
490
|
}
|
|
491
|
+
const providerExecuted = resolveProviderExecuted(typedPart.toolName, typedPart.providerExecuted);
|
|
491
492
|
hasActiveLocalToolInput = false;
|
|
492
493
|
const inputStr = normalizeToolInputString(typedPart.input);
|
|
493
494
|
const previous = state.toolCalls.get(toolId);
|
|
@@ -500,7 +501,7 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
500
501
|
name: typedPart.toolName,
|
|
501
502
|
arguments: resolvedArguments,
|
|
502
503
|
inputAvailable: true,
|
|
503
|
-
providerExecuted
|
|
504
|
+
providerExecuted,
|
|
504
505
|
dynamic,
|
|
505
506
|
});
|
|
506
507
|
if (!wasInputAvailable) {
|
|
@@ -509,13 +510,11 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
509
510
|
toolCallId: toolId,
|
|
510
511
|
toolName: typedPart.toolName,
|
|
511
512
|
input: parseToolInputObject(resolvedArguments),
|
|
512
|
-
...(
|
|
513
|
-
? { providerExecuted: typedPart.providerExecuted }
|
|
514
|
-
: {}),
|
|
513
|
+
...(providerExecuted !== undefined ? { providerExecuted } : {}),
|
|
515
514
|
...(dynamic ? { dynamic: true } : {}),
|
|
516
515
|
});
|
|
517
516
|
}
|
|
518
|
-
if (
|
|
517
|
+
if (providerExecuted !== true) {
|
|
519
518
|
shouldStopForCommittedLocalToolCall = true;
|
|
520
519
|
}
|
|
521
520
|
break;
|
|
@@ -525,6 +524,7 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
525
524
|
closeReasoningSegment();
|
|
526
525
|
// tool-call fires when the full tool call is available
|
|
527
526
|
const toolId = typedPart.toolCallId;
|
|
527
|
+
const providerExecuted = resolveProviderExecuted(typedPart.toolName, typedPart.providerExecuted);
|
|
528
528
|
hasActiveLocalToolInput = false;
|
|
529
529
|
const inputStr = normalizeToolInputString(typedPart.input);
|
|
530
530
|
const previous = state.toolCalls.get(toolId);
|
|
@@ -538,7 +538,7 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
538
538
|
inputDeltas: previous?.inputDeltas ?? [],
|
|
539
539
|
inputAnnounced: previous?.inputAnnounced ?? false,
|
|
540
540
|
inputAvailable: true,
|
|
541
|
-
providerExecuted
|
|
541
|
+
providerExecuted,
|
|
542
542
|
dynamic: typedPart.dynamic,
|
|
543
543
|
};
|
|
544
544
|
state.toolCalls.set(toolId, toolCall);
|
|
@@ -551,13 +551,11 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
551
551
|
toolCallId: toolId,
|
|
552
552
|
toolName: typedPart.toolName,
|
|
553
553
|
input: inputObj,
|
|
554
|
-
...(
|
|
555
|
-
? { providerExecuted: typedPart.providerExecuted }
|
|
556
|
-
: {}),
|
|
554
|
+
...(providerExecuted !== undefined ? { providerExecuted } : {}),
|
|
557
555
|
...(dynamic ? { dynamic: true } : {}),
|
|
558
556
|
});
|
|
559
557
|
}
|
|
560
|
-
if (
|
|
558
|
+
if (providerExecuted !== true) {
|
|
561
559
|
shouldStopForCommittedLocalToolCall = true;
|
|
562
560
|
}
|
|
563
561
|
break;
|
|
@@ -565,18 +563,19 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
565
563
|
case "tool-result": {
|
|
566
564
|
closeTextSegment();
|
|
567
565
|
closeReasoningSegment();
|
|
566
|
+
const providerExecuted = resolveProviderExecuted(typedPart.toolName, typedPart.providerExecuted);
|
|
568
567
|
ensureToolLifecycle({
|
|
569
568
|
toolCallId: typedPart.toolCallId,
|
|
570
569
|
toolName: typedPart.toolName,
|
|
571
570
|
input: typedPart.input,
|
|
572
|
-
providerExecuted
|
|
571
|
+
providerExecuted,
|
|
573
572
|
dynamic: typedPart.dynamic,
|
|
574
573
|
});
|
|
575
574
|
const isError = typedPart.isError === true;
|
|
576
575
|
logProviderToolPart("tool-result", {
|
|
577
576
|
toolCallId: typedPart.toolCallId,
|
|
578
577
|
toolName: typedPart.toolName,
|
|
579
|
-
providerExecuted
|
|
578
|
+
providerExecuted,
|
|
580
579
|
dynamic: typedPart.dynamic,
|
|
581
580
|
output: typedPart.output,
|
|
582
581
|
input: typedPart.input,
|
|
@@ -588,18 +587,14 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
588
587
|
toolCallId: typedPart.toolCallId,
|
|
589
588
|
toolName: typedPart.toolName,
|
|
590
589
|
error: typedPart.output,
|
|
591
|
-
...(
|
|
592
|
-
? { providerExecuted: typedPart.providerExecuted }
|
|
593
|
-
: {}),
|
|
590
|
+
...(providerExecuted !== undefined ? { providerExecuted } : {}),
|
|
594
591
|
...(typedPart.dynamic ? { dynamic: true } : {}),
|
|
595
592
|
});
|
|
596
593
|
sendSSE(controller, encoder, {
|
|
597
594
|
type: "tool-output-error",
|
|
598
595
|
toolCallId: typedPart.toolCallId,
|
|
599
596
|
errorText: stringifyToolError(typedPart.output),
|
|
600
|
-
...(
|
|
601
|
-
? { providerExecuted: typedPart.providerExecuted }
|
|
602
|
-
: {}),
|
|
597
|
+
...(providerExecuted !== undefined ? { providerExecuted } : {}),
|
|
603
598
|
...(typedPart.dynamic ? { dynamic: true } : {}),
|
|
604
599
|
});
|
|
605
600
|
break;
|
|
@@ -608,9 +603,7 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
608
603
|
toolCallId: typedPart.toolCallId,
|
|
609
604
|
toolName: typedPart.toolName,
|
|
610
605
|
output: typedPart.output,
|
|
611
|
-
...(
|
|
612
|
-
? { providerExecuted: typedPart.providerExecuted }
|
|
613
|
-
: {}),
|
|
606
|
+
...(providerExecuted !== undefined ? { providerExecuted } : {}),
|
|
614
607
|
...(typedPart.dynamic ? { dynamic: true } : {}),
|
|
615
608
|
...(typedPart.preliminary !== undefined ? { preliminary: typedPart.preliminary } : {}),
|
|
616
609
|
});
|
|
@@ -618,9 +611,7 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
618
611
|
type: "tool-output-available",
|
|
619
612
|
toolCallId: typedPart.toolCallId,
|
|
620
613
|
output: typedPart.output,
|
|
621
|
-
...(
|
|
622
|
-
? { providerExecuted: typedPart.providerExecuted }
|
|
623
|
-
: {}),
|
|
614
|
+
...(providerExecuted !== undefined ? { providerExecuted } : {}),
|
|
624
615
|
...(typedPart.dynamic ? { dynamic: true } : {}),
|
|
625
616
|
...(typedPart.preliminary !== undefined ? { preliminary: typedPart.preliminary } : {}),
|
|
626
617
|
});
|
|
@@ -629,17 +620,18 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
629
620
|
case "tool-error": {
|
|
630
621
|
closeTextSegment();
|
|
631
622
|
closeReasoningSegment();
|
|
623
|
+
const providerExecuted = resolveProviderExecuted(typedPart.toolName, typedPart.providerExecuted);
|
|
632
624
|
ensureToolLifecycle({
|
|
633
625
|
toolCallId: typedPart.toolCallId,
|
|
634
626
|
toolName: typedPart.toolName,
|
|
635
627
|
input: typedPart.input,
|
|
636
|
-
providerExecuted
|
|
628
|
+
providerExecuted,
|
|
637
629
|
dynamic: typedPart.dynamic,
|
|
638
630
|
});
|
|
639
631
|
logProviderToolPart("tool-error", {
|
|
640
632
|
toolCallId: typedPart.toolCallId,
|
|
641
633
|
toolName: typedPart.toolName,
|
|
642
|
-
providerExecuted
|
|
634
|
+
providerExecuted,
|
|
643
635
|
dynamic: typedPart.dynamic,
|
|
644
636
|
error: typedPart.error,
|
|
645
637
|
input: typedPart.input,
|
|
@@ -648,18 +640,14 @@ export function processStream(result, state, controller, encoder, textPartId, ca
|
|
|
648
640
|
toolCallId: typedPart.toolCallId,
|
|
649
641
|
toolName: typedPart.toolName,
|
|
650
642
|
error: typedPart.error,
|
|
651
|
-
...(
|
|
652
|
-
? { providerExecuted: typedPart.providerExecuted }
|
|
653
|
-
: {}),
|
|
643
|
+
...(providerExecuted !== undefined ? { providerExecuted } : {}),
|
|
654
644
|
...(typedPart.dynamic ? { dynamic: true } : {}),
|
|
655
645
|
});
|
|
656
646
|
sendSSE(controller, encoder, {
|
|
657
647
|
type: "tool-output-error",
|
|
658
648
|
toolCallId: typedPart.toolCallId,
|
|
659
649
|
errorText: stringifyToolError(typedPart.error),
|
|
660
|
-
...(
|
|
661
|
-
? { providerExecuted: typedPart.providerExecuted }
|
|
662
|
-
: {}),
|
|
650
|
+
...(providerExecuted !== undefined ? { providerExecuted } : {}),
|
|
663
651
|
...(typedPart.dynamic ? { dynamic: true } : {}),
|
|
664
652
|
});
|
|
665
653
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,aAAa,EAGlB,KAAK,OAAO,EACZ,KAAK,WAAW,EAEhB,KAAK,QAAQ,EAEb,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAU/D,OAAO,EACL,KAAK,eAAe,EAGpB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,6 +98,20 @@ function createToolErrorMessage(toolCallId, toolName, error) {
|
|
|
98
98
|
timestamp: Date.now(),
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
|
+
function getProviderExecutedToolNames(runtimeTools) {
|
|
102
|
+
if (!runtimeTools) {
|
|
103
|
+
return [];
|
|
104
|
+
}
|
|
105
|
+
return Object.entries(runtimeTools).flatMap(([toolName, definition]) => {
|
|
106
|
+
if (definition &&
|
|
107
|
+
typeof definition === "object" &&
|
|
108
|
+
"type" in definition &&
|
|
109
|
+
definition.type === "provider") {
|
|
110
|
+
return [toolName];
|
|
111
|
+
}
|
|
112
|
+
return [];
|
|
113
|
+
});
|
|
114
|
+
}
|
|
101
115
|
export function collectFinalStreamToolResults(state) {
|
|
102
116
|
const finalToolResults = new Map();
|
|
103
117
|
for (const toolResult of state.toolResults) {
|
|
@@ -137,6 +151,7 @@ export function shouldContinueAfterStreamStep(state) {
|
|
|
137
151
|
const streamedToolCalls = Array.from(state.toolCalls.values());
|
|
138
152
|
const hasIncompleteToolCall = streamedToolCalls.some(isStreamedToolCallIncomplete);
|
|
139
153
|
const hasFinalizedClientToolCall = streamedToolCalls.some((toolCall) => toolCall.inputAvailable === true && toolCall.providerExecuted !== true);
|
|
154
|
+
const hasProviderExecutedToolCall = streamedToolCalls.some((toolCall) => toolCall.providerExecuted === true);
|
|
140
155
|
// A non-finalized call whose only accumulated arguments are a bare
|
|
141
156
|
// empty-object placeholder is provisional streamed input the model never
|
|
142
157
|
// committed. We can recover by re-calling the model, so it must not block
|
|
@@ -148,6 +163,9 @@ export function shouldContinueAfterStreamStep(state) {
|
|
|
148
163
|
if (hasIncompleteDeadToolCall) {
|
|
149
164
|
return false;
|
|
150
165
|
}
|
|
166
|
+
if (hasProviderExecutedToolCall && !hasFinalizedClientToolCall) {
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
151
169
|
// Recover provisional placeholders by re-calling the model even when no
|
|
152
170
|
// client tool call finalized in this step.
|
|
153
171
|
if (hasRecoverablePlaceholderToolCall && !hasFinalizedClientToolCall) {
|
|
@@ -235,12 +253,16 @@ export function isRecoverablePlaceholderToolCall(toolCall) {
|
|
|
235
253
|
* error-surfacing behavior (log warning, SSE event, tool-result error).
|
|
236
254
|
*/
|
|
237
255
|
export function materializeStreamedToolCall(tc) {
|
|
256
|
+
const providerExecutedPart = tc.providerExecuted === true
|
|
257
|
+
? { providerExecuted: true }
|
|
258
|
+
: {};
|
|
238
259
|
const basePart = {
|
|
239
260
|
type: `tool-${tc.name}`,
|
|
240
261
|
toolCallId: tc.id,
|
|
241
262
|
toolName: tc.name,
|
|
242
263
|
args: {},
|
|
243
264
|
...(tc.arguments.length > 0 ? { inputText: tc.arguments } : {}),
|
|
265
|
+
...providerExecutedPart,
|
|
244
266
|
};
|
|
245
267
|
if (isStreamedToolCallIncomplete(tc)) {
|
|
246
268
|
return {
|
|
@@ -257,6 +279,7 @@ export function materializeStreamedToolCall(tc) {
|
|
|
257
279
|
toolName: tc.name,
|
|
258
280
|
args: capturedInput.args,
|
|
259
281
|
...(capturedInput.inputText ? { inputText: capturedInput.inputText } : {}),
|
|
282
|
+
...providerExecutedPart,
|
|
260
283
|
};
|
|
261
284
|
if (capturedInput.parseError) {
|
|
262
285
|
return { kind: "parse-error", part, parseError: capturedInput.parseError };
|
|
@@ -829,14 +852,15 @@ export class AgentRuntime {
|
|
|
829
852
|
tools = filterToolsForSkill(tools, activeSkillPolicy);
|
|
830
853
|
}
|
|
831
854
|
const modelSystemPrompt = appendCurrentRunToolStateToSystemPrompt(currentSystemPrompt, currentRunToolState);
|
|
855
|
+
const runtimeTools = convertToolsToRuntimeTools(tools, {
|
|
856
|
+
model: effectiveModel,
|
|
857
|
+
allowedToolNames: allowedRemoteToolNames,
|
|
858
|
+
});
|
|
832
859
|
const result = streamText({
|
|
833
860
|
model: languageModel,
|
|
834
861
|
system: modelSystemPrompt,
|
|
835
862
|
messages: convertToTextGenerationRuntimeMessages(currentMessages),
|
|
836
|
-
tools:
|
|
837
|
-
model: effectiveModel,
|
|
838
|
-
allowedToolNames: allowedRemoteToolNames,
|
|
839
|
-
}),
|
|
863
|
+
tools: runtimeTools,
|
|
840
864
|
experimental_repairToolCall: repairToolCall,
|
|
841
865
|
maxOutputTokens: this.resolveMaxOutputTokens(effectiveModel, maxOutputTokensOverride),
|
|
842
866
|
temperature: DEFAULT_TEMPERATURE,
|
|
@@ -848,6 +872,7 @@ export class AgentRuntime {
|
|
|
848
872
|
await processStream(result, state, controller, encoder, textPartId, {
|
|
849
873
|
onChunk: callbacks?.onChunk,
|
|
850
874
|
onUsage: (usage) => accumulateUsage(totalUsage, usage),
|
|
875
|
+
providerExecutedToolNames: getProviderExecutedToolNames(runtimeTools),
|
|
851
876
|
}, abortSignal);
|
|
852
877
|
throwIfAborted(abortSignal);
|
|
853
878
|
finalFinishReason = state.finishReason ?? finalFinishReason;
|
|
@@ -992,6 +1017,11 @@ export class AgentRuntime {
|
|
|
992
1017
|
toolCalls.push(toolCall);
|
|
993
1018
|
continue;
|
|
994
1019
|
}
|
|
1020
|
+
if (tc.providerExecuted === true) {
|
|
1021
|
+
toolCall.status = "completed";
|
|
1022
|
+
toolCalls.push(toolCall);
|
|
1023
|
+
continue;
|
|
1024
|
+
}
|
|
995
1025
|
if (capturedInput.parseError) {
|
|
996
1026
|
logger.warn("Invalid streamed tool arguments", {
|
|
997
1027
|
toolCallId: tc.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-generation-runtime-message-converter.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/text-generation-runtime-message-converter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAGV,4BAA4B,EAK7B,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAGL,KAAK,OAAO,EAGb,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"text-generation-runtime-message-converter.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/text-generation-runtime-message-converter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAGV,4BAA4B,EAK7B,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAGL,KAAK,OAAO,EAGb,MAAM,aAAa,CAAC;AAwKrB;;GAEG;AACH,wBAAgB,qCAAqC,CAAC,GAAG,EAAE,OAAO,GAAG,4BAA4B,CAyFhG;AA2GD;;GAEG;AACH,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,OAAO,EAAE,GAClB,4BAA4B,EAAE,CAyBhC"}
|
|
@@ -26,6 +26,9 @@ function getRecordPartField(part, key) {
|
|
|
26
26
|
function hasOwnField(part, key) {
|
|
27
27
|
return Object.hasOwn(part, key);
|
|
28
28
|
}
|
|
29
|
+
function isProviderExecutedToolPart(part) {
|
|
30
|
+
return part.providerExecuted === true;
|
|
31
|
+
}
|
|
29
32
|
function getToolInputRecord(part) {
|
|
30
33
|
return getRecordPartField(part, "args") ?? getRecordPartField(part, "input") ?? {};
|
|
31
34
|
}
|
|
@@ -38,6 +41,9 @@ function getTextGenerationToolCallPart(part) {
|
|
|
38
41
|
!(part.type.startsWith("tool-") && part.type !== "tool-result")) {
|
|
39
42
|
return null;
|
|
40
43
|
}
|
|
44
|
+
if (isProviderExecutedToolPart(part)) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
41
47
|
const toolCallId = getStringPartField(part, "toolCallId") ??
|
|
42
48
|
getStringPartField(part, "tool_call_id") ??
|
|
43
49
|
getStringPartField(part, "id");
|
package/esm/src/agent/types.d.ts
CHANGED
|
@@ -114,15 +114,6 @@ export interface AgentConfig {
|
|
|
114
114
|
suggestions?: Suggestions;
|
|
115
115
|
/** Set to false to disable the default security middleware */
|
|
116
116
|
security?: false;
|
|
117
|
-
/**
|
|
118
|
-
* Maximum input character length enforced by the default security
|
|
119
|
-
* middleware. The middleware JSON-stringifies the agent input (latest
|
|
120
|
-
* user message plus any conversation history and structured tool
|
|
121
|
-
* results carried with it) and rejects anything longer.
|
|
122
|
-
*
|
|
123
|
-
* Defaults to 100_000. Ignored when `security: false`.
|
|
124
|
-
*/
|
|
125
|
-
inputMaxCharacterLimit?: number;
|
|
126
117
|
}
|
|
127
118
|
/** Configuration used by resolved agent. */
|
|
128
119
|
export type ResolvedAgentConfig = AgentConfig & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/agent/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/agent/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ag-ui-sse.d.ts","sourceRoot":"","sources":["../../../src/src/internal-agents/ag-ui-sse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,sBAAsB,EACvB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAEL,yBAAyB,EAE1B,MAAM,mCAAmC,CAAC;AAM3C,KAAK,gBAAgB,GAAG,sBAAsB,CAAC;AAC/C,MAAM,MAAM,mBAAmB,GAAG,8BAA8B,CAAC;AACjE,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAEtD,wBAAgB,0BAA0B,IAAI,oBAAoB,CAEjE;
|
|
1
|
+
{"version":3,"file":"ag-ui-sse.d.ts","sourceRoot":"","sources":["../../../src/src/internal-agents/ag-ui-sse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,sBAAsB,EACvB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAEL,yBAAyB,EAE1B,MAAM,mCAAmC,CAAC;AAM3C,KAAK,gBAAgB,GAAG,sBAAsB,CAAC;AAC/C,MAAM,MAAM,mBAAmB,GAAG,8BAA8B,CAAC;AACjE,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAEtD,wBAAgB,0BAA0B,IAAI,oBAAoB,CAEjE;AAmFD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAK3F;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG;IACjD,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,CAMA;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAE,gBAAgB,GACtB,eAAe,EAAE,CAEnB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC,GACxD,eAAe,EAAE,CAEnB"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { parseDataStreamSseEvents } from "../agent/streaming/data-stream.js";
|
|
2
2
|
import { createAgUiBrowserEncoderState, finalizeAgUiBrowserEvents, mapRuntimeStreamEventToAgUiBrowserEvents, } from "../agent/ag-ui/browser-encoder.js";
|
|
3
|
-
import {
|
|
3
|
+
import { resolveSchemaValidator } from "../schemas/define.js";
|
|
4
4
|
const encoder = new TextEncoder();
|
|
5
5
|
export function createStreamTransformState() {
|
|
6
6
|
return createAgUiBrowserEncoderState();
|
|
7
7
|
}
|
|
8
|
-
|
|
8
|
+
function buildAgUiEventPayloadSchemas() {
|
|
9
|
+
const v = resolveSchemaValidator();
|
|
9
10
|
const schemas = {
|
|
10
11
|
RunStarted: v.object({
|
|
11
12
|
runId: v.string().min(1),
|
|
@@ -51,15 +52,14 @@ const getAgUiEventPayloadSchemas = defineSchema((v) => {
|
|
|
51
52
|
}),
|
|
52
53
|
}),
|
|
53
54
|
};
|
|
54
|
-
// Return a record schema that validates to any - we only use this for per-key lookups
|
|
55
55
|
return schemas;
|
|
56
|
-
}
|
|
57
|
-
//
|
|
56
|
+
}
|
|
57
|
+
// Lazily build and memoize the per-event payload schema map. Built on first use
|
|
58
|
+
// so the SchemaValidator extension is resolved only once it is needed.
|
|
58
59
|
let _agUiEventPayloadSchemas = null;
|
|
59
60
|
function resolveAgUiEventPayloadSchemas() {
|
|
60
61
|
if (!_agUiEventPayloadSchemas) {
|
|
61
|
-
|
|
62
|
-
_agUiEventPayloadSchemas = getAgUiEventPayloadSchemas();
|
|
62
|
+
_agUiEventPayloadSchemas = buildAgUiEventPayloadSchemas();
|
|
63
63
|
}
|
|
64
64
|
return _agUiEventPayloadSchemas;
|
|
65
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/runtime/deno/adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,QAAQ,EACR,kBAAkB,EAElB,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,MAAM,EACN,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,gBAAgB,EACjB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/runtime/deno/adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,QAAQ,EACR,kBAAkB,EAElB,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,MAAM,EACN,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,gBAAgB,EACjB,MAAM,eAAe,CAAC;AA8HvB,cAAM,qBAAsB,YAAW,iBAAiB;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAKhD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWrC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC;IAY/C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAYrC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKlD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,WAAW;CAuErE;AAED,cAAM,sBAAuB,YAAW,kBAAkB;IACxD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIpC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIrC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAGnC;AAED,cAAM,iBAAkB,YAAW,aAAa;IAC9C,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB;CAYrD;AAED,cAAM,gBAAiB,YAAW,YAAY;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE;IAejE,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAanC;AAwBD,qBAAa,WAAY,YAAW,cAAc;IAChD,QAAQ,CAAC,EAAE,EAAG,MAAM,CAAU;IAC9B,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,EAAE,wBAA+B;IAC1C,QAAQ,CAAC,GAAG,yBAAgC;IAC5C,QAAQ,CAAC,MAAM,oBAA2B;IAC1C,QAAQ,CAAC,KAAK,mBAA0B;IAExC,QAAQ,CAAC,YAAY;;;;;;;;;;MAUnB;IAEF,OAAO,CAAC,YAAY,CAA2B;IAE/C,KAAK,CACH,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,EAC3D,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,MAAM,CAAC;IA4DZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { serverLogger } from "../../../../utils/index.js";
|
|
|
5
5
|
import { env as getEnvObject, getEnv, getEnvOverlayStorage, setEnv, } from "../../../compat/process.js";
|
|
6
6
|
import { createFileWatcher, createWatcherIterator, enqueueWatchEvent, } from "../shared/watcher-queue.js";
|
|
7
7
|
import { stopManagedServer } from "../shared/server-lifecycle.js";
|
|
8
|
-
import { getNativeResponse, toNativeResponse } from "../../../compat/http/native-response.js";
|
|
8
|
+
import { getNativeDeno, getNativeResponse, toNativeResponse, } from "../../../compat/http/native-response.js";
|
|
9
9
|
const logger = serverLogger.component("deno");
|
|
10
10
|
/** Default server port. Defined locally to keep adapters module isolated. */
|
|
11
11
|
const DEFAULT_PORT = 3000;
|
|
@@ -215,7 +215,7 @@ class DenoServerAdapter {
|
|
|
215
215
|
upgradeWebSocket(request) {
|
|
216
216
|
// Access native Deno via `self` to bypass dnt shim transform.
|
|
217
217
|
// dnt rewrites `globalThis.Deno` to @deno/shim-deno, which lacks upgradeWebSocket.
|
|
218
|
-
const nativeDeno =
|
|
218
|
+
const nativeDeno = getNativeDeno();
|
|
219
219
|
if (typeof nativeDeno?.upgradeWebSocket !== "function") {
|
|
220
220
|
throw NOT_SUPPORTED.create({
|
|
221
221
|
detail: "DenoServerAdapter.upgradeWebSocket() can only be used in Deno runtime",
|
|
@@ -317,7 +317,7 @@ export class DenoAdapter {
|
|
|
317
317
|
// Access native Deno.serve via `self` to bypass dnt shim transform.
|
|
318
318
|
// dnt rewrites both `Deno.*` and `globalThis.*` to use @deno/shim-deno which lacks .serve.
|
|
319
319
|
// `self` is not shimmed by dnt and equals `globalThis` in Deno.
|
|
320
|
-
const nativeDeno =
|
|
320
|
+
const nativeDeno = getNativeDeno();
|
|
321
321
|
// Access native Response via `self` to bypass dnt shim transform.
|
|
322
322
|
// In npm packages, dnt replaces Response with undici's polyfill,
|
|
323
323
|
// but Deno.serve requires native Response instances.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deno-server.d.ts","sourceRoot":"","sources":["../../../../../src/src/platform/compat/http/deno-server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deno-server.d.ts","sourceRoot":"","sources":["../../../../../src/src/platform/compat/http/deno-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAIpE,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,eAAe,CAAC,CAAkB;IAEpC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCxE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAIvB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LOCALHOST } from "../constants.js";
|
|
2
|
-
import { getNativeResponse, toNativeResponse } from "./native-response.js";
|
|
2
|
+
import { getNativeDeno, getNativeResponse, toNativeResponse } from "./native-response.js";
|
|
3
3
|
export class DenoHttpServer {
|
|
4
4
|
abortController;
|
|
5
5
|
async serve(handler, options = {}) {
|
|
@@ -8,7 +8,7 @@ export class DenoHttpServer {
|
|
|
8
8
|
const serveSignal = signal ?? this.abortController.signal;
|
|
9
9
|
onListen?.({ hostname, port });
|
|
10
10
|
// Access native Deno.serve via `self` to bypass dnt shim transform.
|
|
11
|
-
const nativeDeno =
|
|
11
|
+
const nativeDeno = getNativeDeno();
|
|
12
12
|
// Access native Response via `self` to bypass dnt shim transform.
|
|
13
13
|
// In npm packages, dnt replaces Response with undici's polyfill,
|
|
14
14
|
// but Deno.serve requires native Response instances.
|
|
@@ -16,7 +16,22 @@
|
|
|
16
16
|
* The native `Response` constructor, accessed via `self` to bypass the dnt
|
|
17
17
|
* shim transform (dnt rewrites bare `Response` to undici's polyfill).
|
|
18
18
|
*/
|
|
19
|
+
import * as dntShim from "../../../../_dnt.shims.js";
|
|
19
20
|
export declare function getNativeResponse(): typeof Response;
|
|
21
|
+
/**
|
|
22
|
+
* The native `Deno` namespace, accessed via `self` to bypass the dnt shim
|
|
23
|
+
* transform.
|
|
24
|
+
*
|
|
25
|
+
* In npm packages, dnt rewrites both `Deno.*` and `globalThis.Deno` to use
|
|
26
|
+
* `@deno/shim-deno`, which lacks native APIs such as `Deno.serve` and
|
|
27
|
+
* `Deno.upgradeWebSocket`. `self` is not shimmed by dnt and equals
|
|
28
|
+
* `globalThis` in Deno, so it yields the genuine native namespace.
|
|
29
|
+
*
|
|
30
|
+
* Returns `undefined` when no native `Deno` is present (e.g. Node without the
|
|
31
|
+
* shim), allowing callers to guard. Callers that have already established the
|
|
32
|
+
* Deno runtime can use a non-null assertion on the result.
|
|
33
|
+
*/
|
|
34
|
+
export declare function getNativeDeno(): typeof dntShim.Deno | undefined;
|
|
20
35
|
/**
|
|
21
36
|
* Re-wrap a (possibly polyfilled) `Response` as a native `Response` so it can be
|
|
22
37
|
* returned from `Deno.serve`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-response.d.ts","sourceRoot":"","sources":["../../../../../src/src/platform/compat/http/native-response.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,QAAQ,CAEnD;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,OAAO,QAAQ,GAC9B,QAAQ,CAYV"}
|
|
1
|
+
{"version":3,"file":"native-response.d.ts","sourceRoot":"","sources":["../../../../../src/src/platform/compat/http/native-response.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AAErD,wBAAgB,iBAAiB,IAAI,OAAO,QAAQ,CAEnD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,IAAI,OAAO,OAAO,CAAC,IAAI,GAAG,SAAS,CAE/D;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,OAAO,QAAQ,GAC9B,QAAQ,CAYV"}
|
|
@@ -12,13 +12,25 @@
|
|
|
12
12
|
*
|
|
13
13
|
* @module platform/compat/http/native-response
|
|
14
14
|
*/
|
|
15
|
-
/**
|
|
16
|
-
* The native `Response` constructor, accessed via `self` to bypass the dnt
|
|
17
|
-
* shim transform (dnt rewrites bare `Response` to undici's polyfill).
|
|
18
|
-
*/
|
|
19
15
|
export function getNativeResponse() {
|
|
20
16
|
return self.Response;
|
|
21
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* The native `Deno` namespace, accessed via `self` to bypass the dnt shim
|
|
20
|
+
* transform.
|
|
21
|
+
*
|
|
22
|
+
* In npm packages, dnt rewrites both `Deno.*` and `globalThis.Deno` to use
|
|
23
|
+
* `@deno/shim-deno`, which lacks native APIs such as `Deno.serve` and
|
|
24
|
+
* `Deno.upgradeWebSocket`. `self` is not shimmed by dnt and equals
|
|
25
|
+
* `globalThis` in Deno, so it yields the genuine native namespace.
|
|
26
|
+
*
|
|
27
|
+
* Returns `undefined` when no native `Deno` is present (e.g. Node without the
|
|
28
|
+
* shim), allowing callers to guard. Callers that have already established the
|
|
29
|
+
* Deno runtime can use a non-null assertion on the result.
|
|
30
|
+
*/
|
|
31
|
+
export function getNativeDeno() {
|
|
32
|
+
return self["Deno"];
|
|
33
|
+
}
|
|
22
34
|
/**
|
|
23
35
|
* Re-wrap a (possibly polyfilled) `Response` as a native `Response` so it can be
|
|
24
36
|
* returned from `Deno.serve`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../../../src/src/platform/compat/http/websocket.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../../../src/src/platform/compat/http/websocket.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAIlF,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,uBAAuB,GAChC,sBAAsB,CASxB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE5D"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { isDeno } from "../runtime.js";
|
|
2
|
+
import { getNativeDeno } from "./native-response.js";
|
|
2
3
|
import { NOT_SUPPORTED } from "../../../errors/index.js";
|
|
3
4
|
export function upgradeWebSocket(request, options) {
|
|
4
5
|
if (!isDeno) {
|
|
@@ -15,7 +16,7 @@ export function isWebSocketUpgrade(request) {
|
|
|
15
16
|
function upgradeWebSocketDeno(request, options) {
|
|
16
17
|
// Access native Deno via `self` to bypass dnt shim transform.
|
|
17
18
|
// dnt rewrites `globalThis.Deno` to @deno/shim-deno, which lacks upgradeWebSocket.
|
|
18
|
-
const nativeDeno =
|
|
19
|
+
const nativeDeno = getNativeDeno();
|
|
19
20
|
if (typeof nativeDeno?.upgradeWebSocket !== "function") {
|
|
20
21
|
throw NOT_SUPPORTED.create({
|
|
21
22
|
detail: "Deno.upgradeWebSocket() is not available in this runtime.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-project-css.d.ts","sourceRoot":"","sources":["../../../../src/src/rendering/orchestrator/html-project-css.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,gDAAgD,CAAC;AAClG,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"html-project-css.d.ts","sourceRoot":"","sources":["../../../../src/src/rendering/orchestrator/html-project-css.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,gDAAgD,CAAC;AAClG,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAOtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAI7D,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC;AAEhF,UAAU,gBAAgB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,EAAE,aAAa,GAAG,YAAY,CAAC;CACpC;AAED,UAAU,cAAc;IACtB,uBAAuB,CAAC,EAAE,OAAO,uBAAuB,CAAC;IACzD,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,wBAAwB,CAAC,EAAE,CACzB,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,MAAM,CAAC,KAC/C,MAAM,GAAG,SAAS,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,0BAA0B,CAAC,EAAE,OAAO,0BAA0B,CAAC;IAC/D,gCAAgC,CAAC,EAAE,OAAO,gCAAgC,CAAC;CAC5E;AAeD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAKlF;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,MAAM,CAAC,EAClD,IAAI,GAAE,IAAI,CAAC,cAAc,EAAE,4BAA4B,CAAM,GAC5D,MAAM,GAAG,SAAS,CAiBpB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,qBAAqB,EAC9B,WAAW,EAAE,qBAAqB,EAClC,IAAI,GAAE,IAAI,CAAC,cAAc,EAAE,eAAe,CAAM,GAC/C,OAAO,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAkBvC;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,qBAAqB,EAC9B,WAAW,EAAE,qBAAqB,EAClC,IAAI,GAAE,IAAI,CACR,cAAc,EACd,yBAAyB,GAAG,0BAA0B,GAAG,kCAAkC,CACvF,GACL,IAAI,CAyCN;AAED,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,qBAAqB,EAC9B,gBAAgB,CAAC,EAAE,MAAM,EACzB,IAAI,GAAE,IAAI,CACR,cAAc,EACd,yBAAyB,GAAG,0BAA0B,GAAG,oBAAoB,CACzE,GACL,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CA+CtB"}
|
|
@@ -6,11 +6,13 @@ import { rendererLogger } from "../../utils/index.js";
|
|
|
6
6
|
import { extractRelativePath } from "../../utils/route-path-utils.js";
|
|
7
7
|
import { getRouteCandidates } from "./css-candidate-manifest.js";
|
|
8
8
|
const logger = rendererLogger.component("html-project-css");
|
|
9
|
+
function hasUnderlyingAdapter(fs) {
|
|
10
|
+
return typeof fs.getUnderlyingAdapter === "function";
|
|
11
|
+
}
|
|
9
12
|
function getUnderlyingFsAdapter(adapter) {
|
|
10
|
-
|
|
11
|
-
if (typeof wrappedFs.getUnderlyingAdapter !== "function")
|
|
13
|
+
if (!hasUnderlyingAdapter(adapter.fs))
|
|
12
14
|
return undefined;
|
|
13
|
-
return
|
|
15
|
+
return adapter.fs.getUnderlyingAdapter();
|
|
14
16
|
}
|
|
15
17
|
export function buildRouteManifestKey(pagePath, projectDir) {
|
|
16
18
|
const relativePagePath = extractRelativePath(pagePath, projectDir);
|