veryfront 0.1.755 → 0.1.757
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/cli/auth/callback-server.d.ts +4 -1
- package/esm/cli/auth/callback-server.d.ts.map +1 -1
- package/esm/cli/auth/callback-server.js +52 -13
- package/esm/cli/auth/index.d.ts +1 -1
- package/esm/cli/auth/index.d.ts.map +1 -1
- package/esm/cli/auth/index.js +1 -1
- package/esm/cli/auth/login.d.ts +2 -0
- package/esm/cli/auth/login.d.ts.map +1 -1
- package/esm/cli/auth/login.js +18 -6
- package/esm/cli/commands/demo/demo.d.ts.map +1 -1
- package/esm/cli/commands/demo/demo.js +6 -7
- package/esm/deno.js +1 -1
- package/esm/src/agent/hosted/chat-preparation.d.ts +2 -0
- package/esm/src/agent/hosted/chat-preparation.d.ts.map +1 -1
- package/esm/src/agent/hosted/chat-preparation.js +4 -0
- package/esm/src/agent/hosted/chat-runtime-agent-adapter.d.ts +2 -0
- package/esm/src/agent/hosted/chat-runtime-agent-adapter.d.ts.map +1 -1
- package/esm/src/agent/hosted/chat-runtime-agent-adapter.js +2 -0
- package/esm/src/agent/hosted/chat-runtime-contract.d.ts +2 -0
- package/esm/src/agent/hosted/chat-runtime-contract.d.ts.map +1 -1
- package/esm/src/agent/hosted/default-chat-runtime.d.ts +2 -0
- package/esm/src/agent/hosted/default-chat-runtime.d.ts.map +1 -1
- package/esm/src/agent/hosted/default-chat-runtime.js +4 -0
- package/esm/src/agent/runtime/index.d.ts +3 -96
- package/esm/src/agent/runtime/index.d.ts.map +1 -1
- package/esm/src/agent/runtime/index.js +21 -341
- package/esm/src/agent/runtime/model-capabilities.d.ts +3 -0
- package/esm/src/agent/runtime/model-capabilities.d.ts.map +1 -0
- package/esm/src/agent/runtime/model-capabilities.js +18 -0
- package/esm/src/agent/runtime/runtime-tool-config.d.ts +14 -0
- package/esm/src/agent/runtime/runtime-tool-config.d.ts.map +1 -0
- package/esm/src/agent/runtime/runtime-tool-config.js +37 -0
- package/esm/src/agent/runtime/skill-policy-enforcement.d.ts +16 -0
- package/esm/src/agent/runtime/skill-policy-enforcement.d.ts.map +1 -0
- package/esm/src/agent/runtime/skill-policy-enforcement.js +55 -0
- package/esm/src/agent/runtime/tool-result-continuation.d.ts +34 -0
- package/esm/src/agent/runtime/tool-result-continuation.d.ts.map +1 -0
- package/esm/src/agent/runtime/tool-result-continuation.js +194 -0
- package/esm/src/agent/schemas/agent.schema.d.ts +7 -0
- package/esm/src/agent/schemas/agent.schema.d.ts.map +1 -1
- package/esm/src/agent/schemas/agent.schema.js +9 -3
- package/esm/src/agent/schemas/index.d.ts +1 -1
- package/esm/src/agent/schemas/index.d.ts.map +1 -1
- package/esm/src/agent/schemas/index.js +1 -1
- package/esm/src/modules/server/module-server.d.ts.map +1 -1
- package/esm/src/modules/server/module-server.js +31 -9
- package/esm/src/modules/server/rate-limiter.d.ts +3 -2
- package/esm/src/modules/server/rate-limiter.d.ts.map +1 -1
- package/esm/src/platform/adapters/base.d.ts +24 -3
- package/esm/src/platform/adapters/base.d.ts.map +1 -1
- package/esm/src/platform/adapters/base.js +15 -1
- package/esm/src/platform/adapters/runtime/bun/websocket-adapter.d.ts +2 -0
- package/esm/src/platform/adapters/runtime/bun/websocket-adapter.d.ts.map +1 -1
- package/esm/src/platform/adapters/runtime/bun/websocket-adapter.js +33 -1
- package/esm/src/platform/adapters/runtime/node/websocket-adapter.d.ts +1 -1
- package/esm/src/platform/adapters/runtime/node/websocket-adapter.d.ts.map +1 -1
- package/esm/src/platform/adapters/runtime/node/websocket-adapter.js +3 -10
- package/esm/src/proxy/handler.d.ts.map +1 -1
- package/esm/src/proxy/handler.js +25 -116
- package/esm/src/proxy/local-project-resolver.d.ts +18 -0
- package/esm/src/proxy/local-project-resolver.d.ts.map +1 -0
- package/esm/src/proxy/local-project-resolver.js +63 -0
- package/esm/src/proxy/proxy-token-resolution.d.ts +37 -0
- package/esm/src/proxy/proxy-token-resolution.d.ts.map +1 -0
- package/esm/src/proxy/proxy-token-resolution.js +51 -0
- package/esm/src/rendering/orchestrator/module-loader/index.d.ts +10 -0
- package/esm/src/rendering/orchestrator/module-loader/index.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/module-loader/index.js +23 -158
- package/esm/src/rendering/orchestrator/module-loader/module-persistence.d.ts +20 -0
- package/esm/src/rendering/orchestrator/module-loader/module-persistence.d.ts.map +1 -0
- package/esm/src/rendering/orchestrator/module-loader/module-persistence.js +80 -0
- package/esm/src/rendering/orchestrator/module-loader/module-transform-cache.d.ts +59 -0
- package/esm/src/rendering/orchestrator/module-loader/module-transform-cache.d.ts.map +1 -0
- package/esm/src/rendering/orchestrator/module-loader/module-transform-cache.js +97 -0
- package/esm/src/routing/api/handler.d.ts +2 -1
- package/esm/src/routing/api/handler.d.ts.map +1 -1
- package/esm/src/routing/api/handler.js +2 -1
- package/esm/src/routing/api/route-executor.d.ts +3 -0
- package/esm/src/routing/api/route-executor.d.ts.map +1 -1
- package/esm/src/routing/api/route-executor.js +28 -0
- package/esm/src/runtime/runtime-bridge.js +2 -2
- package/esm/src/security/http/base-handler.d.ts +3 -2
- package/esm/src/security/http/base-handler.d.ts.map +1 -1
- package/esm/src/security/http/base-handler.js +1 -1
- package/esm/src/security/sandbox/project-worker.d.ts +1 -0
- package/esm/src/security/sandbox/project-worker.d.ts.map +1 -1
- package/esm/src/security/sandbox/project-worker.js +17 -1
- package/esm/src/security/sandbox/worker-egress-guard.d.ts +15 -0
- package/esm/src/security/sandbox/worker-egress-guard.d.ts.map +1 -0
- package/esm/src/security/sandbox/worker-egress-guard.js +201 -0
- package/esm/src/security/sandbox/worker-permissions.d.ts +6 -2
- package/esm/src/security/sandbox/worker-permissions.d.ts.map +1 -1
- package/esm/src/security/sandbox/worker-permissions.js +34 -3
- package/esm/src/security/sandbox/worker-pool.d.ts +1 -1
- package/esm/src/security/sandbox/worker-pool.d.ts.map +1 -1
- package/esm/src/security/sandbox/worker-pool.js +35 -9
- package/esm/src/server/handlers/preview/hmr-client-manager.d.ts +3 -2
- package/esm/src/server/handlers/preview/hmr-client-manager.d.ts.map +1 -1
- package/esm/src/server/handlers/preview/hmr.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/preview/hmr.handler.js +4 -1
- package/esm/src/server/handlers/request/api/api-handler-wrapper.js +1 -1
- package/esm/src/tool/remote-mcp.d.ts.map +1 -1
- package/esm/src/tool/remote-mcp.js +12 -0
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/http-fallback.d.ts +32 -0
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/http-fallback.d.ts.map +1 -0
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/http-fallback.js +27 -0
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/import-rewriter.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/import-rewriter.js +23 -3
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/index.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/index.js +15 -15
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-result-continuation.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/tool-result-continuation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAElF,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMtE;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACf,gBAAgB,UAAQ,GACvB,OAAO,CAeT;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAcT;AAED,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,EAAE,CAiB/F;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,GAC1C,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAYlC;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,OAAO,EAAE,GAClB,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAkB7B;AAED,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,yBAAyB,EAAE,GAAG,SAAS,GACnD,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAQxC;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,iBAAiB,GAAG,cAAc,GAAG,WAAW,GAAG,aAAa,CAAC,GAC7F,OAAO,CAqET;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAC7C;IACD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAOA;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,GAClD,OAAO,CAET;AAED,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,GAAG,WAAW,CAAC,GAChE,OAAO,CAMT;AAED,MAAM,MAAM,+BAA+B,GACvC;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GACzD;IACA,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,GACC;IACA,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;CAC1C,CAAC;AAEJ,wBAAgB,2BAA2B,CACzC,EAAE,EAAE,iBAAiB,GACpB,+BAA+B,CAoCjC;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,IAAI,cAAc,CAE1E"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { stripLeadingEmptyObjectPlaceholder } from "../streaming/data-stream.js";
|
|
2
|
+
import { parseToolArgs } from "./tool-helpers.js";
|
|
3
|
+
import { stringifyToolError } from "./error-utils.js";
|
|
4
|
+
export function getToolResultError(result) {
|
|
5
|
+
if (!result || typeof result !== "object" || !("error" in result)) {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
8
|
+
return stringifyToolError(result.error);
|
|
9
|
+
}
|
|
10
|
+
export function createToolResultMessage(toolCallId, toolName, result, providerExecuted = false) {
|
|
11
|
+
return {
|
|
12
|
+
id: `tool_${toolCallId}`,
|
|
13
|
+
role: "tool",
|
|
14
|
+
parts: [
|
|
15
|
+
{
|
|
16
|
+
type: "tool-result",
|
|
17
|
+
toolCallId,
|
|
18
|
+
toolName,
|
|
19
|
+
result,
|
|
20
|
+
...(providerExecuted ? { providerExecuted: true } : {}),
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
timestamp: Date.now(),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function createToolErrorMessage(toolCallId, toolName, error) {
|
|
27
|
+
return {
|
|
28
|
+
id: `tool_error_${toolCallId}`,
|
|
29
|
+
role: "tool",
|
|
30
|
+
parts: [
|
|
31
|
+
{
|
|
32
|
+
type: "tool-result",
|
|
33
|
+
toolCallId,
|
|
34
|
+
toolName,
|
|
35
|
+
result: { error },
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
timestamp: Date.now(),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export function getProviderExecutedToolNames(runtimeTools) {
|
|
42
|
+
if (!runtimeTools) {
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
return Object.entries(runtimeTools).flatMap(([toolName, definition]) => {
|
|
46
|
+
if (definition &&
|
|
47
|
+
typeof definition === "object" &&
|
|
48
|
+
"type" in definition &&
|
|
49
|
+
definition.type === "provider") {
|
|
50
|
+
return [toolName];
|
|
51
|
+
}
|
|
52
|
+
return [];
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
export function collectFinalStreamToolResults(state) {
|
|
56
|
+
const finalToolResults = new Map();
|
|
57
|
+
for (const toolResult of state.toolResults) {
|
|
58
|
+
if (toolResult.preliminary === true) {
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
finalToolResults.set(toolResult.toolCallId, toolResult);
|
|
62
|
+
}
|
|
63
|
+
return finalToolResults;
|
|
64
|
+
}
|
|
65
|
+
export function collectPersistedToolResults(messages) {
|
|
66
|
+
const persistedToolResults = new Map();
|
|
67
|
+
for (const message of messages) {
|
|
68
|
+
if (message.role !== "tool") {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
for (const part of message.parts) {
|
|
72
|
+
if (!isToolResultPart(part)) {
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
persistedToolResults.set(part.toolCallId, part);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return persistedToolResults;
|
|
79
|
+
}
|
|
80
|
+
export function collectGeneratedToolResults(toolResults) {
|
|
81
|
+
const generatedToolResults = new Map();
|
|
82
|
+
for (const toolResult of toolResults ?? []) {
|
|
83
|
+
generatedToolResults.set(toolResult.toolCallId, toolResult);
|
|
84
|
+
}
|
|
85
|
+
return generatedToolResults;
|
|
86
|
+
}
|
|
87
|
+
export function shouldContinueAfterStreamStep(state) {
|
|
88
|
+
if (!state.toolCalls.size) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
const streamedToolCalls = Array.from(state.toolCalls.values());
|
|
92
|
+
const hasIncompleteToolCall = streamedToolCalls.some(isStreamedToolCallIncomplete);
|
|
93
|
+
const hasFinalizedClientToolCall = streamedToolCalls.some((toolCall) => toolCall.inputAvailable === true && toolCall.providerExecuted !== true);
|
|
94
|
+
const hasProviderExecutedToolCall = streamedToolCalls.some((toolCall) => toolCall.providerExecuted === true);
|
|
95
|
+
// A non-finalized call whose only accumulated arguments are a bare
|
|
96
|
+
// empty-object placeholder is provisional streamed input the model never
|
|
97
|
+
// committed. The runtime can recover by re-calling the model, so it must not
|
|
98
|
+
// block continuation like a truncated partial-JSON call does.
|
|
99
|
+
const hasIncompleteDeadToolCall = streamedToolCalls.some((toolCall) => isStreamedToolCallIncomplete(toolCall) &&
|
|
100
|
+
!isRecoverablePlaceholderToolCall(toolCall));
|
|
101
|
+
const hasRecoverablePlaceholderToolCall = streamedToolCalls.some(isRecoverablePlaceholderToolCall);
|
|
102
|
+
if (state.finishReason === "tool-calls") {
|
|
103
|
+
if (hasIncompleteDeadToolCall) {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
if (hasProviderExecutedToolCall && !hasFinalizedClientToolCall) {
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
if (hasRecoverablePlaceholderToolCall && !hasFinalizedClientToolCall) {
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
return !hasIncompleteToolCall && hasFinalizedClientToolCall;
|
|
113
|
+
}
|
|
114
|
+
if (state.finishReason !== "stop") {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
if (state.accumulatedText.trim().length > 0) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
const finalToolResults = collectFinalStreamToolResults(state);
|
|
121
|
+
if (!finalToolResults.size) {
|
|
122
|
+
for (const toolCall of state.toolCalls.values()) {
|
|
123
|
+
if (toolCall.inputAvailable !== true || toolCall.providerExecuted === true) {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return true;
|
|
128
|
+
}
|
|
129
|
+
for (const [toolCallId, toolCall] of state.toolCalls) {
|
|
130
|
+
const toolResult = finalToolResults.get(toolCallId);
|
|
131
|
+
if (!toolResult) {
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
if (toolCall.providerExecuted !== true && toolResult.providerExecuted !== true) {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return true;
|
|
139
|
+
}
|
|
140
|
+
export function captureStreamedToolCallInput(toolCall) {
|
|
141
|
+
const { args, error } = parseToolArgs(toolCall.arguments);
|
|
142
|
+
return {
|
|
143
|
+
args,
|
|
144
|
+
...(toolCall.arguments.length > 0 ? { inputText: toolCall.arguments } : {}),
|
|
145
|
+
...(error ? { parseError: error } : {}),
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
export function isStreamedToolCallIncomplete(toolCall) {
|
|
149
|
+
return toolCall.inputAvailable !== true;
|
|
150
|
+
}
|
|
151
|
+
export function isRecoverablePlaceholderToolCall(toolCall) {
|
|
152
|
+
if (!isStreamedToolCallIncomplete(toolCall)) {
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
const stripped = stripLeadingEmptyObjectPlaceholder(toolCall.arguments);
|
|
156
|
+
return stripped === "" || stripped === "{}";
|
|
157
|
+
}
|
|
158
|
+
export function materializeStreamedToolCall(tc) {
|
|
159
|
+
const providerExecutedPart = tc.providerExecuted === true
|
|
160
|
+
? { providerExecuted: true }
|
|
161
|
+
: {};
|
|
162
|
+
const basePart = {
|
|
163
|
+
type: `tool-${tc.name}`,
|
|
164
|
+
toolCallId: tc.id,
|
|
165
|
+
toolName: tc.name,
|
|
166
|
+
args: {},
|
|
167
|
+
...(tc.arguments.length > 0 ? { inputText: tc.arguments } : {}),
|
|
168
|
+
...providerExecutedPart,
|
|
169
|
+
};
|
|
170
|
+
if (isStreamedToolCallIncomplete(tc)) {
|
|
171
|
+
return {
|
|
172
|
+
kind: "incomplete",
|
|
173
|
+
part: basePart,
|
|
174
|
+
partialArgumentsLength: tc.arguments.length,
|
|
175
|
+
partialArgumentsPreview: tc.arguments.slice(0, 200),
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
const capturedInput = captureStreamedToolCallInput(tc);
|
|
179
|
+
const part = {
|
|
180
|
+
type: `tool-${tc.name}`,
|
|
181
|
+
toolCallId: tc.id,
|
|
182
|
+
toolName: tc.name,
|
|
183
|
+
args: capturedInput.args,
|
|
184
|
+
...(capturedInput.inputText ? { inputText: capturedInput.inputText } : {}),
|
|
185
|
+
...providerExecutedPart,
|
|
186
|
+
};
|
|
187
|
+
if (capturedInput.parseError) {
|
|
188
|
+
return { kind: "parse-error", part, parseError: capturedInput.parseError };
|
|
189
|
+
}
|
|
190
|
+
return { kind: "complete", part };
|
|
191
|
+
}
|
|
192
|
+
export function isToolResultPart(part) {
|
|
193
|
+
return part.type === "tool-result" && "result" in part;
|
|
194
|
+
}
|
|
@@ -50,6 +50,13 @@ export declare const getToolResultPartSchema: () => import("../../internal-agent
|
|
|
50
50
|
result: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
51
51
|
providerExecuted: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
52
52
|
}>>;
|
|
53
|
+
/** Compatibility policy for the legacy inline tool-call message part. */
|
|
54
|
+
export declare const AGENT_SCHEMA_LEGACY_TOOL_CALL_PART_POLICY: {
|
|
55
|
+
readonly status: "compatibility-retained";
|
|
56
|
+
readonly legacyShape: "{ type: \"tool-call\", toolCallId, toolName, args }";
|
|
57
|
+
readonly canonicalShape: "tool-prefixed message parts with \"args\" or \"input\"";
|
|
58
|
+
readonly removalGate: "Remove only in a planned breaking release after migration guidance and stored-message backfill coverage exist.";
|
|
59
|
+
};
|
|
53
60
|
export declare const getMessagePartSchema: () => import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
54
61
|
type: import("../../internal-agents/schema.js").Schema<string>;
|
|
55
62
|
toolCallId: import("../../internal-agents/schema.js").Schema<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.schema.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/schemas/agent.schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,kCAAkC,CAAC;AAErF,eAAO,MAAM,sBAAsB,qGAElC,CAAC;AAEF,eAAO,MAAM,oBAAoB,sIAWhC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;GAMjC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;GAO/B,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;;GASzC,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;GAS1C,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;GAKjC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;GAQnC,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.schema.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/schemas/agent.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,9 +46,15 @@ export const getToolResultPartSchema = defineSchema((v) => v.object({
|
|
|
46
46
|
result: v.unknown(),
|
|
47
47
|
providerExecuted: v.boolean().optional(),
|
|
48
48
|
}));
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
/** Compatibility policy for the legacy inline tool-call message part. */
|
|
50
|
+
export const AGENT_SCHEMA_LEGACY_TOOL_CALL_PART_POLICY = {
|
|
51
|
+
status: "compatibility-retained",
|
|
52
|
+
legacyShape: '{ type: "tool-call", toolCallId, toolName, args }',
|
|
53
|
+
canonicalShape: 'tool-prefixed message parts with "args" or "input"',
|
|
54
|
+
removalGate: "Remove only in a planned breaking release after migration guidance and stored-message backfill coverage exist.",
|
|
55
|
+
};
|
|
56
|
+
// Helper for the inline tool-call alternative within MessagePartSchema.
|
|
57
|
+
// Keep this branch in sync with AGENT_SCHEMA_LEGACY_TOOL_CALL_PART_POLICY.
|
|
52
58
|
const inlineToolCallPartShape = (v) => v.object({
|
|
53
59
|
type: v.literal("tool-call"),
|
|
54
60
|
toolCallId: v.string(),
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module agent/schemas
|
|
5
5
|
*/
|
|
6
|
-
export { type AgentContext, type AgentResponse, type AgentStatus, type EdgeConfig, getAgentContextSchema, getAgentResponseSchema, getAgentStatusSchema, getEdgeConfigSchema, getMemoryConfigSchema, getMessagePartSchema, getMessageSchema, getModelProviderSchema, getStreamToolCallSchema, getToolCallPartSchema, getToolCallPartWithArgsSchema, getToolCallPartWithInputSchema, getToolCallSchema, getToolResultPartSchema, type MemoryConfig, type Message, type MessagePart, type ModelProvider, type StreamToolCall, type ToolCall, type ToolCallPart, type ToolCallPartWithArgs, type ToolCallPartWithInput, type ToolResultPart, } from "./agent.schema.js";
|
|
6
|
+
export { AGENT_SCHEMA_LEGACY_TOOL_CALL_PART_POLICY, type AgentContext, type AgentResponse, type AgentStatus, type EdgeConfig, getAgentContextSchema, getAgentResponseSchema, getAgentStatusSchema, getEdgeConfigSchema, getMemoryConfigSchema, getMessagePartSchema, getMessageSchema, getModelProviderSchema, getStreamToolCallSchema, getToolCallPartSchema, getToolCallPartWithArgsSchema, getToolCallPartWithInputSchema, getToolCallSchema, getToolResultPartSchema, type MemoryConfig, type Message, type MessagePart, type ModelProvider, type StreamToolCall, type ToolCall, type ToolCallPart, type ToolCallPartWithArgs, type ToolCallPartWithInput, type ToolResultPart, } from "./agent.schema.js";
|
|
7
7
|
export { type AgentToolInput, getAgentToolInputSchema } from "./tool.schema.js";
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,6BAA6B,EAC7B,8BAA8B,EAC9B,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,cAAc,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,yCAAyC,EACzC,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,6BAA6B,EAC7B,8BAA8B,EAC9B,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,cAAc,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module agent/schemas
|
|
5
5
|
*/
|
|
6
|
-
export { getAgentContextSchema, getAgentResponseSchema, getAgentStatusSchema, getEdgeConfigSchema, getMemoryConfigSchema, getMessagePartSchema, getMessageSchema, getModelProviderSchema, getStreamToolCallSchema, getToolCallPartSchema, getToolCallPartWithArgsSchema, getToolCallPartWithInputSchema, getToolCallSchema, getToolResultPartSchema, } from "./agent.schema.js";
|
|
6
|
+
export { AGENT_SCHEMA_LEGACY_TOOL_CALL_PART_POLICY, getAgentContextSchema, getAgentResponseSchema, getAgentStatusSchema, getEdgeConfigSchema, getMemoryConfigSchema, getMessagePartSchema, getMessageSchema, getModelProviderSchema, getStreamToolCallSchema, getToolCallPartSchema, getToolCallPartWithArgsSchema, getToolCallPartWithInputSchema, getToolCallSchema, getToolResultPartSchema, } from "./agent.schema.js";
|
|
7
7
|
export { getAgentToolInputSchema } from "./tool.schema.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-server.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/server/module-server.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAG5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"module-server.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/server/module-server.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAG5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAmCtE;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwDrD,CAAC;AAiBF,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,uBAAuB;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,sDAAsD;AACtD,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmWzF;AAwWD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAGrD"}
|
|
@@ -19,6 +19,7 @@ import { readLimitedCrossProjectSource } from "./cross-project-source-limit.js";
|
|
|
19
19
|
import { sha256Short } from "../../cache/hash.js";
|
|
20
20
|
import { buildSourceMissCacheKey, hasSourceMiss, rememberSourceMiss, } from "./module-source-resolution-cache.js";
|
|
21
21
|
const logger = serverLogger.component("module-server");
|
|
22
|
+
const PROJECT_FALLBACK_EMBEDDED_POLYFILLS = new Set(["deno"]);
|
|
22
23
|
/**
|
|
23
24
|
* Embedded polyfills for compiled Deno binaries.
|
|
24
25
|
*
|
|
@@ -83,6 +84,8 @@ export default {};
|
|
|
83
84
|
// Must be a JS module (not JSON) because esbuild strips `with { type: "json" }`
|
|
84
85
|
// at es2020 target, and browsers reject JSON MIME type without the assertion.
|
|
85
86
|
"_veryfront/_deno-config": `export default ${JSON.stringify({ version: VERSION })};\n`,
|
|
87
|
+
// dnt rewrites #deno-config to relative deno.js in npm framework modules.
|
|
88
|
+
"deno": `export default ${JSON.stringify({ version: VERSION })};\n`,
|
|
86
89
|
};
|
|
87
90
|
const DEV_MODULE_PREFIX = /^\/(?:_vf_modules|_veryfront\/modules)\//;
|
|
88
91
|
const SNIPPET_MODULE_PREFIX = /^\/_vf_modules\/_snippets\/([a-f0-9]+)\.js/;
|
|
@@ -275,7 +278,7 @@ export function serveModule(req, options) {
|
|
|
275
278
|
branch,
|
|
276
279
|
releaseId: options.releaseId,
|
|
277
280
|
reactVersion,
|
|
278
|
-
});
|
|
281
|
+
}, modulePath);
|
|
279
282
|
if (!findResult) {
|
|
280
283
|
logger.warn("Module not found", {
|
|
281
284
|
modulePath,
|
|
@@ -398,7 +401,7 @@ function createSSRTargetCacheBusterResolver(options) {
|
|
|
398
401
|
branch: options.branch,
|
|
399
402
|
releaseId: options.releaseId,
|
|
400
403
|
reactVersion: options.reactVersion,
|
|
401
|
-
});
|
|
404
|
+
}, targetPath);
|
|
402
405
|
if (!findResult)
|
|
403
406
|
return undefined;
|
|
404
407
|
const source = await readSourceFileForVersion(options.secureFs, findResult);
|
|
@@ -464,7 +467,7 @@ async function findFirstSecureFile(secureFs, paths) {
|
|
|
464
467
|
}));
|
|
465
468
|
return results.find((path) => path !== null) ?? null;
|
|
466
469
|
}
|
|
467
|
-
async function findSourceFile(secureFs, projectDir, basePath, context) {
|
|
470
|
+
async function findSourceFile(secureFs, projectDir, basePath, context, requestedModulePath = basePath) {
|
|
468
471
|
const { reactVersion } = context;
|
|
469
472
|
// Extensions including .src for compiled binary embedded sources
|
|
470
473
|
const extensions = [
|
|
@@ -483,7 +486,10 @@ async function findSourceFile(secureFs, projectDir, basePath, context) {
|
|
|
483
486
|
".md", // Regular sources
|
|
484
487
|
];
|
|
485
488
|
logger.debug("findSourceFile called", { projectDir, basePath });
|
|
486
|
-
const
|
|
489
|
+
const knownExtMatch = basePath.match(/\.(json|tsx|ts|jsx|js|mdx|md)(\.src)?$/);
|
|
490
|
+
const requestedExtMatch = requestedModulePath.match(/\.(json|tsx|ts|jsx|js|mdx|md)(\.src)?$/);
|
|
491
|
+
const hasKnownExt = knownExtMatch !== null;
|
|
492
|
+
const requestedExt = requestedExtMatch?.[1] ?? knownExtMatch?.[1] ?? null;
|
|
487
493
|
const rawBasePathWithoutExt = hasKnownExt
|
|
488
494
|
? basePath.replace(/\.(json|tsx|ts|jsx|js|mdx|md)(\.src)?$/, "")
|
|
489
495
|
: basePath;
|
|
@@ -511,7 +517,9 @@ async function findSourceFile(secureFs, projectDir, basePath, context) {
|
|
|
511
517
|
// Note: checked before isFrameworkPath guard because relative imports from
|
|
512
518
|
// deeply nested modules (e.g. ../../../../_dnt.shims.js) resolve outside
|
|
513
519
|
// the _veryfront/ prefix.
|
|
514
|
-
const embeddedContent =
|
|
520
|
+
const embeddedContent = PROJECT_FALLBACK_EMBEDDED_POLYFILLS.has(basePathWithoutExt)
|
|
521
|
+
? undefined
|
|
522
|
+
: EMBEDDED_POLYFILLS[basePathWithoutExt];
|
|
515
523
|
if (embeddedContent) {
|
|
516
524
|
logger.debug("Using embedded polyfill", {
|
|
517
525
|
basePath: basePathWithoutExt,
|
|
@@ -573,8 +581,11 @@ async function findSourceFile(secureFs, projectDir, basePath, context) {
|
|
|
573
581
|
/* expected: file may not exist at this path */
|
|
574
582
|
}
|
|
575
583
|
}
|
|
584
|
+
const projectLookupExtensions = requestedExt !== null && requestedExt !== "json"
|
|
585
|
+
? extensions.filter((ext) => ext !== ".json")
|
|
586
|
+
: extensions;
|
|
576
587
|
// Project file lookups (using secureFs which may go through FSAdapter in proxy mode)
|
|
577
|
-
const projectFilePath = await findFirstSecureFile(secureFs,
|
|
588
|
+
const projectFilePath = await findFirstSecureFile(secureFs, projectLookupExtensions.map((ext) => join(projectDir, basePathWithoutExt + ext)));
|
|
578
589
|
if (projectFilePath) {
|
|
579
590
|
logger.debug("Found file", { basePath, resolvedPath: projectFilePath });
|
|
580
591
|
return { path: projectFilePath, isFrameworkFile: false };
|
|
@@ -584,7 +595,7 @@ async function findSourceFile(secureFs, projectDir, basePath, context) {
|
|
|
584
595
|
if (!basePathWithoutExt.startsWith(prefix))
|
|
585
596
|
continue;
|
|
586
597
|
const strippedPath = basePathWithoutExt.slice(prefix.length);
|
|
587
|
-
const strippedFilePath = await findFirstSecureFile(secureFs,
|
|
598
|
+
const strippedFilePath = await findFirstSecureFile(secureFs, projectLookupExtensions.map((ext) => join(projectDir, strippedPath + ext)));
|
|
588
599
|
if (strippedFilePath) {
|
|
589
600
|
logger.debug("Found file after stripping prefix", {
|
|
590
601
|
originalPath: basePathWithoutExt,
|
|
@@ -594,7 +605,7 @@ async function findSourceFile(secureFs, projectDir, basePath, context) {
|
|
|
594
605
|
return { path: strippedFilePath, isFrameworkFile: false };
|
|
595
606
|
}
|
|
596
607
|
}
|
|
597
|
-
const indexFilePath = await findFirstSecureFile(secureFs,
|
|
608
|
+
const indexFilePath = await findFirstSecureFile(secureFs, projectLookupExtensions.map((ext) => join(projectDir, basePathWithoutExt, `index${ext}`)));
|
|
598
609
|
if (indexFilePath) {
|
|
599
610
|
logger.debug("Found index file", {
|
|
600
611
|
basePath: basePathWithoutExt,
|
|
@@ -605,7 +616,7 @@ async function findSourceFile(secureFs, projectDir, basePath, context) {
|
|
|
605
616
|
// Try looking in common project directories
|
|
606
617
|
const commonDirs = ["components", "app", "pages", "lib", "src"];
|
|
607
618
|
for (const dir of commonDirs) {
|
|
608
|
-
const commonDirFilePath = await findFirstSecureFile(secureFs,
|
|
619
|
+
const commonDirFilePath = await findFirstSecureFile(secureFs, projectLookupExtensions.map((ext) => join(projectDir, dir, basePathWithoutExt + ext)));
|
|
609
620
|
if (commonDirFilePath) {
|
|
610
621
|
logger.debug("Found file in common directory", {
|
|
611
622
|
basePath,
|
|
@@ -614,6 +625,17 @@ async function findSourceFile(secureFs, projectDir, basePath, context) {
|
|
|
614
625
|
return { path: commonDirFilePath, isFrameworkFile: false };
|
|
615
626
|
}
|
|
616
627
|
}
|
|
628
|
+
const projectFallbackEmbeddedContent = EMBEDDED_POLYFILLS[basePathWithoutExt];
|
|
629
|
+
if (projectFallbackEmbeddedContent) {
|
|
630
|
+
logger.debug("Using embedded polyfill after project lookup", {
|
|
631
|
+
basePath: basePathWithoutExt,
|
|
632
|
+
});
|
|
633
|
+
return {
|
|
634
|
+
path: `embedded:${basePath}`,
|
|
635
|
+
isFrameworkFile: true,
|
|
636
|
+
embeddedContent: projectFallbackEmbeddedContent,
|
|
637
|
+
};
|
|
638
|
+
}
|
|
617
639
|
rememberSourceMiss(missCacheKey);
|
|
618
640
|
return null;
|
|
619
641
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { WebSocketConnection } from "../../platform/adapters/base.js";
|
|
1
2
|
export declare class RateLimiter {
|
|
2
3
|
private readonly maxMessages;
|
|
3
4
|
private readonly messageCounts;
|
|
4
5
|
private readonly windowMs;
|
|
5
6
|
constructor(maxMessages: number);
|
|
6
|
-
check(socket:
|
|
7
|
-
cleanup(socket:
|
|
7
|
+
check(socket: WebSocketConnection): boolean;
|
|
8
|
+
cleanup(socket: WebSocketConnection): void;
|
|
8
9
|
}
|
|
9
10
|
//# sourceMappingURL=rate-limiter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/server/rate-limiter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/server/rate-limiter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,qBAAa,WAAW;IAOV,OAAO,CAAC,QAAQ,CAAC,WAAW;IANxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAG1B;IACJ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;gBAExB,WAAW,EAAE,MAAM;IAEhD,KAAK,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAc3C,OAAO,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;CAG3C"}
|
|
@@ -59,10 +59,30 @@ export interface RuntimeCapabilities {
|
|
|
59
59
|
export interface ServerAdapter {
|
|
60
60
|
upgradeWebSocket(request: Request): WebSocketUpgrade;
|
|
61
61
|
}
|
|
62
|
-
export interface
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
export interface WebSocketConnection {
|
|
63
|
+
readonly readyState: number;
|
|
64
|
+
send(data: string | ArrayBuffer): void;
|
|
65
|
+
close(code?: number, reason?: string): void;
|
|
66
|
+
addEventListener(type: string, listener: EventListener, options?: AddEventListenerOptions): void;
|
|
67
|
+
removeEventListener(type: string, listener: EventListener): void;
|
|
68
|
+
}
|
|
69
|
+
declare const WEBSOCKET_UPGRADE_RESPONSE_KIND = "websocket-upgrade";
|
|
70
|
+
export interface WebSocketUpgradeResponse {
|
|
71
|
+
readonly kind: typeof WEBSOCKET_UPGRADE_RESPONSE_KIND;
|
|
72
|
+
readonly status: 101;
|
|
73
|
+
readonly statusText: string;
|
|
74
|
+
readonly headers: Headers;
|
|
75
|
+
readonly body: null;
|
|
65
76
|
}
|
|
77
|
+
export interface WebSocketUpgrade {
|
|
78
|
+
socket: WebSocketConnection;
|
|
79
|
+
response: Response | WebSocketUpgradeResponse;
|
|
80
|
+
}
|
|
81
|
+
export declare function createWebSocketUpgradeResponse(input?: {
|
|
82
|
+
headers?: HeadersInit;
|
|
83
|
+
statusText?: string;
|
|
84
|
+
}): WebSocketUpgradeResponse;
|
|
85
|
+
export declare function isWebSocketUpgradeResponse(value: unknown): value is WebSocketUpgradeResponse;
|
|
66
86
|
export interface ServeOptions {
|
|
67
87
|
port?: number;
|
|
68
88
|
hostname?: string;
|
|
@@ -155,4 +175,5 @@ export interface KVStoreAdapter {
|
|
|
155
175
|
export interface FileWatcherAdapter {
|
|
156
176
|
watch(paths: string | string[], options?: WatchOptions): FileWatcher;
|
|
157
177
|
}
|
|
178
|
+
export {};
|
|
158
179
|
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/src/platform/adapters/base.ts"],"names":[],"mappings":"AAAA;;yBAEyB;AACzB,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IAEvB,sCAAsC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,iDAAiD;IACjD,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAE3C,4BAA4B;IAC5B,EAAE,EAAE,iBAAiB,CAAC;IAEtB,kCAAkC;IAClC,GAAG,EAAE,kBAAkB,CAAC;IAExB,6BAA6B;IAC7B,MAAM,EAAE,aAAa,CAAC;IAEtB,KAAK,CACH,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,EAC3D,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,yCAAyC;IACzC,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,+CAA+C;IAC/C,EAAE,CAAC,EAAE,cAAc,CAAC;IAEpB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B,4DAA4D;IAC5D,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7B,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,oDAAoD;IACpD,UAAU,EAAE,OAAO,CAAC;IAEpB,6BAA6B;IAC7B,GAAG,EAAE,OAAO,CAAC;IAEb,4BAA4B;IAC5B,KAAK,EAAE,OAAO,CAAC;IAEf,wBAAwB;IACxB,SAAS,EAAE,OAAO,CAAC;IAEnB,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IAEjB,2BAA2B;IAC3B,YAAY,EAAE,OAAO,CAAC;IAEtB,8BAA8B;IAC9B,KAAK,EAAE,OAAO,CAAC;IAEf,gCAAgC;IAChC,OAAO,EAAE,OAAO,CAAC;IAEjB,yDAAyD;IACzD,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAAC;CACtD;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/src/platform/adapters/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
const WEBSOCKET_UPGRADE_RESPONSE_KIND = "websocket-upgrade";
|
|
2
|
+
export function createWebSocketUpgradeResponse(input = {}) {
|
|
3
|
+
return {
|
|
4
|
+
kind: WEBSOCKET_UPGRADE_RESPONSE_KIND,
|
|
5
|
+
status: 101,
|
|
6
|
+
statusText: input.statusText ?? "Switching Protocols",
|
|
7
|
+
headers: new Headers(input.headers),
|
|
8
|
+
body: null,
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export function isWebSocketUpgradeResponse(value) {
|
|
12
|
+
return typeof value === "object" && value !== null &&
|
|
13
|
+
value.kind === WEBSOCKET_UPGRADE_RESPONSE_KIND &&
|
|
14
|
+
value.status === 101;
|
|
15
|
+
}
|
|
@@ -14,5 +14,7 @@ export declare class BunWebSocket {
|
|
|
14
14
|
onmessage: ((event: MessageEvent) => void) | null;
|
|
15
15
|
send(_data: string | ArrayBuffer): void;
|
|
16
16
|
close(_code?: number, _reason?: string): void;
|
|
17
|
+
addEventListener(type: string, listener: EventListener): void;
|
|
18
|
+
removeEventListener(type: string, _listener: EventListener): void;
|
|
17
19
|
}
|
|
18
20
|
//# sourceMappingURL=websocket-adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/runtime/bun/websocket-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGrE,qBAAa,gBAAiB,YAAW,aAAa;IACpD,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB;CAerD;AAED,qBAAa,YAAY;IACvB,MAAM,CAAC,QAAQ,CAAC,UAAU,KAAK;IAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK;IACzB,MAAM,CAAC,QAAQ,CAAC,OAAO,KAAK;IAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK;IAE3B,UAAU,SAAqB;IAE/B,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC/C,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAChD,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAChD,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAEzD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IASvC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"websocket-adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/runtime/bun/websocket-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGrE,qBAAa,gBAAiB,YAAW,aAAa;IACpD,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB;CAerD;AAED,qBAAa,YAAY;IACvB,MAAM,CAAC,QAAQ,CAAC,UAAU,KAAK;IAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK;IACzB,MAAM,CAAC,QAAQ,CAAC,OAAO,KAAK;IAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK;IAE3B,UAAU,SAAqB;IAE/B,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC/C,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAChD,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAChD,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAEzD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IASvC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI7C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAiB7D,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;CAgBlE"}
|
|
@@ -9,7 +9,7 @@ export class BunServerAdapter {
|
|
|
9
9
|
}
|
|
10
10
|
const socket = new BunWebSocket();
|
|
11
11
|
const response = new Response(null, { status: 101, statusText: "Switching Protocols" });
|
|
12
|
-
return { socket
|
|
12
|
+
return { socket, response };
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
export class BunWebSocket {
|
|
@@ -31,4 +31,36 @@ export class BunWebSocket {
|
|
|
31
31
|
close(_code, _reason) {
|
|
32
32
|
this.readyState = BunWebSocket.CLOSED;
|
|
33
33
|
}
|
|
34
|
+
addEventListener(type, listener) {
|
|
35
|
+
switch (type) {
|
|
36
|
+
case "open":
|
|
37
|
+
this.onopen = listener;
|
|
38
|
+
return;
|
|
39
|
+
case "close":
|
|
40
|
+
this.onclose = listener;
|
|
41
|
+
return;
|
|
42
|
+
case "error":
|
|
43
|
+
this.onerror = listener;
|
|
44
|
+
return;
|
|
45
|
+
case "message":
|
|
46
|
+
this.onmessage = listener;
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
removeEventListener(type, _listener) {
|
|
51
|
+
switch (type) {
|
|
52
|
+
case "open":
|
|
53
|
+
this.onopen = null;
|
|
54
|
+
return;
|
|
55
|
+
case "close":
|
|
56
|
+
this.onclose = null;
|
|
57
|
+
return;
|
|
58
|
+
case "error":
|
|
59
|
+
this.onerror = null;
|
|
60
|
+
return;
|
|
61
|
+
case "message":
|
|
62
|
+
this.onmessage = null;
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
34
66
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ServerAdapter, type WebSocketUpgrade } from "../../base.js";
|
|
2
2
|
import type { WSWebSocket } from "./types.js";
|
|
3
3
|
export declare class NodeServerAdapter implements ServerAdapter {
|
|
4
4
|
upgradeWebSocket(request: Request): WebSocketUpgrade;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/runtime/node/websocket-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"websocket-adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/runtime/node/websocket-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAiB,WAAW,EAAE,MAAM,YAAY,CAAC;AAgC7D,qBAAa,iBAAkB,YAAW,aAAa;IACrD,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB;IAoCpD,OAAO,CAAC,iBAAiB;CAI1B;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAA4B;IACtC,UAAU,SAAK;IAEf,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC/C,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IACrD,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAChD,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAEzD,MAAM,CAAC,QAAQ,CAAC,UAAU,KAAK;IAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK;IACzB,MAAM,CAAC,QAAQ,CAAC,OAAO,KAAK;IAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK;IAE3B,OAAO,CAAC,eAAe,CAAmC;IAE1D,iBAAiB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IA4BxC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAK9B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAmBtC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAK3C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAiB7D,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;CAgBlE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createWebSocketUpgradeResponse, } from "../../base.js";
|
|
1
2
|
import { createError, toError } from "../../../../errors/index.js";
|
|
2
3
|
import { serverLogger } from "../../../../utils/index.js";
|
|
3
4
|
import { registerWebSocketUpgrade } from "./http-server.js";
|
|
@@ -50,16 +51,8 @@ export class NodeServerAdapter {
|
|
|
50
51
|
"Sec-WebSocket-Accept": this.generateAcceptKey(key),
|
|
51
52
|
...(protocol ? { "Sec-WebSocket-Protocol": protocol } : {}),
|
|
52
53
|
};
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
const response = {
|
|
56
|
-
status: 101,
|
|
57
|
-
statusText: "Switching Protocols",
|
|
58
|
-
headers: new Headers(headers),
|
|
59
|
-
body: null,
|
|
60
|
-
ok: false,
|
|
61
|
-
};
|
|
62
|
-
return { socket: socket, response };
|
|
54
|
+
const response = createWebSocketUpgradeResponse({ headers });
|
|
55
|
+
return { socket, response };
|
|
63
56
|
}
|
|
64
57
|
generateAcceptKey(key) {
|
|
65
58
|
const GUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/src/proxy/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,kCAAkC,CAAC;AACzF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/src/proxy/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,kCAAkC,CAAC;AACzF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA0CnD;;;;;GAKG;AACH,wBAAgB,iCAAiC,IAAI,IAAI,CAExD;AAED,eAAO,MAAM,sBAAsB,0MAYzB,CAAC;AAqHX,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,SAAS,GAAG,YAAY,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC9D,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC7D,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC7D,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAC9E;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAkFD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB;0BAqLtD,OAAO,YACH,mBAAmB,KAC3B,OAAO,CAAC,YAAY,CAAC;0BA6QjB,OAAO,YACH,mBAAmB,KAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;;;;0BAtbH,MAAM,EAAE;;EA4dpC;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEjE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAwB7E"}
|