veryfront 0.1.582 → 0.1.584
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/hosted/chat-runtime-tool-assembly.d.ts.map +1 -1
- package/esm/src/agent/hosted/chat-runtime-tool-assembly.js +0 -1
- package/esm/src/agent/hosted/project-remote-tool-source.d.ts +0 -1
- package/esm/src/agent/hosted/project-remote-tool-source.d.ts.map +1 -1
- package/esm/src/agent/hosted/project-remote-tool-source.js +1 -23
- package/esm/src/agent/hosted/runtime-state-resolver.d.ts.map +1 -1
- package/esm/src/agent/hosted/runtime-state-resolver.js +0 -6
- package/esm/src/agent/react/use-chat/types.d.ts +2 -1
- package/esm/src/agent/react/use-chat/types.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/use-chat.d.ts +1 -4
- package/esm/src/agent/react/use-chat/use-chat.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/use-chat.js +4 -2
- package/esm/src/agent/runtime/agent-invocation-contract.d.ts +0 -1
- package/esm/src/agent/runtime/agent-invocation-contract.d.ts.map +1 -1
- package/esm/src/agent/runtime/agent-invocation-contract.js +0 -1
- package/esm/src/chat/index.d.ts +2 -2
- package/esm/src/chat/index.js +2 -2
- package/esm/src/integrations/remote-tools.d.ts.map +1 -1
- package/esm/src/integrations/remote-tools.js +3 -36
- package/esm/src/internal-agents/run-stream.d.ts +1 -5
- package/esm/src/internal-agents/run-stream.d.ts.map +1 -1
- package/esm/src/internal-agents/run-stream.js +0 -1
- package/esm/src/internal-agents/schema.d.ts +0 -2
- package/esm/src/internal-agents/schema.d.ts.map +1 -1
- package/esm/src/internal-agents/schema.js +2 -3
- package/esm/src/react/components/chat/chat/index.d.ts +1 -1
- package/esm/src/react/components/chat/chat/index.js +1 -1
- package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/framework-candidates.generated.js +1 -3
- package/esm/src/server/production-server.d.ts.map +1 -1
- package/esm/src/server/production-server.js +105 -112
- package/esm/src/tool/types.d.ts +0 -2
- package/esm/src/tool/types.d.ts.map +1 -1
- package/esm/src/utils/memory/index.d.ts +1 -1
- package/esm/src/utils/memory/index.d.ts.map +1 -1
- package/esm/src/utils/memory/index.js +1 -1
- package/esm/src/utils/memory/profiler.d.ts +16 -0
- package/esm/src/utils/memory/profiler.d.ts.map +1 -1
- package/esm/src/utils/memory/profiler.js +33 -1
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-runtime-tool-assembly.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/chat-runtime-tool-assembly.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAE5B,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,OAAO,EAEZ,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,8BAA8B,EAGpC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAEL,KAAK,4CAA4C,EACjD,KAAK,6CAA6C,EAClD,KAAK,iDAAiD,EACtD,KAAK,wCAAwC,EAC9C,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAIzE,qDAAqD;AACrD,MAAM,MAAM,oCAAoC,GAAG,8BAA8B,GAAG;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,sEAAsE;AACtE,MAAM,MAAM,iCAAiC,GAAG,SAAS,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AAE/F,8DAA8D;AAC9D,MAAM,MAAM,mCAAmC,GAAG;IAChD,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,yCAAyC,CACnD,gBAAgB,SAAS,uBAAuB,GAAG,uBAAuB,IACxE;IACF,WAAW,EAAE,oCAAoC,CAAC;IAClD,YAAY,EAAE,MAAM,GAAG,SAAS,iBAAiB,EAAE,CAAC;IACpD,UAAU,EAAE,WAAW,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,iCAAiC,CAAC;IACrD,8BAA8B,CAAC,EAAE,8BAA8B,CAAC;IAChE,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,yBAAyB,KAAK,gBAAgB,CAAC;IACjF,eAAe,CAAC,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/C,iBAAiB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpD,sBAAsB,CAAC,EAAE,6CAA6C,CAAC;IACvE,yBAAyB,CAAC,EAAE,wCAAwC,CAAC;IACrE,kBAAkB,CAAC,EAAE,4CAA4C,CAAC;IAClE,qBAAqB,CAAC,EAAE,iDAAiD,CAAC;IAC1E,iCAAiC,CAAC,EAAE,OAAO,CAAC;CAC7C,CAAC;AAoBF,8CAA8C;AAC9C,wBAAgB,iCAAiC,CAAC,KAAK,EAAE;IACvD,KAAK,EAAE,WAAW,CAAC;IACnB,gBAAgB,CAAC,EAAE,iCAAiC,CAAC;CACtD,GAAG,WAAW,CAOd;AAED,iDAAiD;AACjD,wBAAsB,oCAAoC,CACxD,gBAAgB,SAAS,uBAAuB,GAAG,uBAAuB,EAE1E,KAAK,EAAE,yCAAyC,CAAC,gBAAgB,CAAC,GACjE,OAAO,CAAC,mCAAmC,CAAC,
|
|
1
|
+
{"version":3,"file":"chat-runtime-tool-assembly.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/chat-runtime-tool-assembly.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,7 +40,6 @@ export async function prepareHostedChatRuntimeToolAssembly(input) {
|
|
|
40
40
|
createRemoteToolSource: input.createRemoteToolSource ?? createRemoteMCPToolSource,
|
|
41
41
|
defaultProjectId: () => activeProjectId(input.taskContext),
|
|
42
42
|
getProjectId: input.getProjectId ?? (() => activeProjectId(input.taskContext)),
|
|
43
|
-
getEndUserId: () => input.taskContext.userId ?? null,
|
|
44
43
|
getActiveBranchId: input.getActiveBranchId ?? (() => activeBranchId(input.taskContext)),
|
|
45
44
|
conversationId: input.conversationId,
|
|
46
45
|
allowedToolNames,
|
|
@@ -45,7 +45,6 @@ export type CreateHostedProjectRemoteToolSourcesInput = Omit<CreateHostedProject
|
|
|
45
45
|
mcpServers?: readonly AgentServiceMcpServerConfig[];
|
|
46
46
|
clientProfile?: RuntimeClientProfile | null;
|
|
47
47
|
getProjectId: () => string | null | undefined;
|
|
48
|
-
getEndUserId?: () => string | null | undefined;
|
|
49
48
|
conversationId?: string;
|
|
50
49
|
createRemoteToolSource?: (config: RemoteMCPToolSourceConfig) => RemoteToolSource;
|
|
51
50
|
onStudioProjectSwitch?: HostedProjectRemoteToolSourceProjectSwitchHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-remote-tool-source.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/project-remote-tool-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,qCAAqC,EAC1C,KAAK,uCAAuC,EAC5C,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,2BAA2B,EAGjC,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EAGL,KAAK,6BAA6B,EAClC,KAAK,oBAAoB,EAC1B,MAAM,iCAAiC,CAAC;AAGzC,8DAA8D;AAC9D,MAAM,MAAM,4CAA4C,GAAG,CACzD,QAAQ,EAAE,6BAA6B,KACpC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1B,oEAAoE;AACpE,MAAM,MAAM,iDAAiD,GAAG,CAC9D,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1B,wEAAwE;AACxE,MAAM,MAAM,6CAA6C,GAAG,CAAC,KAAK,EAAE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE9B,8EAA8E;AAC9E,MAAM,MAAM,wCAAwC,GAAG,CAAC,KAAK,EAAE;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC;CAChB,KAAK,OAAO,CAAC;AAEd,kEAAkE;AAClE,MAAM,MAAM,wCAAwC,GAAG;IACrD,MAAM,EAAE,gBAAgB,CAAC;IACzB,gBAAgB,CAAC,EAAE,uCAAuC,CAAC;IAC3D,iBAAiB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpD,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC9C,8BAA8B,CAAC,EAAE,8BAA8B,CAAC;IAChE,qBAAqB,CAAC,EAAE,qCAAqC,CAAC,uBAAuB,CAAC,CAAC;IACvF,gBAAgB,CAAC,EAAE,6CAA6C,CAAC;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,wCAAwC,CAAC;IAC/D,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,eAAe,CAAC,EAAE,iDAAiD,CAAC;IACpE,kBAAkB,CAAC,EAAE,4CAA4C,CAAC;CACnE,CAAC;AAQF,gDAAgD;AAChD,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,wCAAwC,GAC9C,gBAAgB,CAmHlB;AAED,mEAAmE;AACnE,MAAM,MAAM,yCAAyC,GACjD,IAAI,CACJ,wCAAwC,EACxC,QAAQ,GAAG,iBAAiB,CAC7B,GACC;IACA,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACpD,aAAa,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9C,
|
|
1
|
+
{"version":3,"file":"project-remote-tool-source.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/project-remote-tool-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,29 +92,7 @@ export function createHostedProjectRemoteToolSource(input) {
|
|
|
92
92
|
},
|
|
93
93
|
};
|
|
94
94
|
}
|
|
95
|
-
function isVeryfrontApiIntegrationTool(toolName) {
|
|
96
|
-
return /^[a-zA-Z0-9_.-]+__[a-zA-Z0-9_.-]+$/.test(toolName);
|
|
97
|
-
}
|
|
98
|
-
function prepareVeryfrontApiToolInput(input) {
|
|
99
|
-
if (input.server.kind !== "veryfront-api" && !input.prepareToolInput) {
|
|
100
|
-
return undefined;
|
|
101
|
-
}
|
|
102
|
-
return (toolInputContext) => {
|
|
103
|
-
const prepared = input.prepareToolInput?.(toolInputContext) ?? toolInputContext.toolInput;
|
|
104
|
-
if (input.server.kind !== "veryfront-api" ||
|
|
105
|
-
!isVeryfrontApiIntegrationTool(toolInputContext.toolName)) {
|
|
106
|
-
return prepared;
|
|
107
|
-
}
|
|
108
|
-
const { end_user_id: _endUserId, ...trustedInput } = prepared;
|
|
109
|
-
return trustedInput;
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
95
|
function createHostedProjectRemoteToolSourceFromConfig(input, server, source, onProjectSwitch) {
|
|
113
|
-
const prepareToolInput = prepareVeryfrontApiToolInput({
|
|
114
|
-
server,
|
|
115
|
-
getEndUserId: input.getEndUserId,
|
|
116
|
-
prepareToolInput: input.prepareToolInput,
|
|
117
|
-
});
|
|
118
96
|
return createHostedProjectRemoteToolSource({
|
|
119
97
|
source,
|
|
120
98
|
...(input.defaultProjectId !== undefined ? { defaultProjectId: input.defaultProjectId } : {}),
|
|
@@ -135,7 +113,7 @@ function createHostedProjectRemoteToolSourceFromConfig(input, server, source, on
|
|
|
135
113
|
}),
|
|
136
114
|
}
|
|
137
115
|
: {}),
|
|
138
|
-
...(prepareToolInput !== undefined ? { prepareToolInput } : {}),
|
|
116
|
+
...(input.prepareToolInput !== undefined ? { prepareToolInput: input.prepareToolInput } : {}),
|
|
139
117
|
...(input.retryToolName !== undefined ? { retryToolName: input.retryToolName } : {}),
|
|
140
118
|
...(input.shouldRetryWithTool !== undefined
|
|
141
119
|
? { shouldRetryWithTool: input.shouldRetryWithTool }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-state-resolver.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/runtime-state-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,8BAA8B,EAGpC,MAAM,mDAAmD,CAAC;AAU3D,iDAAiD;AACjD,MAAM,MAAM,iCAAiC,GAAG,8BAA8B,GAAG;IAC/E,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,uDAAuD;AACvD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,gCAAgC,GAAG;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,uDAAuD;AACvD,MAAM,MAAM,+BAA+B,CAAC,QAAQ,SAAS,iCAAiC,IAAI;IAChG,WAAW,EAAE,QAAQ,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,0BAA0B,CAAC,QAAQ,SAAS,iCAAiC,IAAI,CAC3F,KAAK,EAAE,+BAA+B,CAAC,QAAQ,CAAC,KAC7C,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE9B,gEAAgE;AAChE,MAAM,MAAM,uCAAuC,CACjD,QAAQ,SAAS,iCAAiC,IAChD;IACF,WAAW,EAAE,QAAQ,CAAC;IACtB,aAAa,CAAC,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC;CACtD,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-state-resolver.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/runtime-state-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,8BAA8B,EAGpC,MAAM,mDAAmD,CAAC;AAU3D,iDAAiD;AACjD,MAAM,MAAM,iCAAiC,GAAG,8BAA8B,GAAG;IAC/E,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,uDAAuD;AACvD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,gCAAgC,GAAG;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,uDAAuD;AACvD,MAAM,MAAM,+BAA+B,CAAC,QAAQ,SAAS,iCAAiC,IAAI;IAChG,WAAW,EAAE,QAAQ,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,0BAA0B,CAAC,QAAQ,SAAS,iCAAiC,IAAI,CAC3F,KAAK,EAAE,+BAA+B,CAAC,QAAQ,CAAC,KAC7C,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE9B,gEAAgE;AAChE,MAAM,MAAM,uCAAuC,CACjD,QAAQ,SAAS,iCAAiC,IAChD;IACF,WAAW,EAAE,QAAQ,CAAC;IACtB,aAAa,CAAC,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC;CACtD,CAAC;AAcF,4CAA4C;AAC5C,wBAAgB,gCAAgC,CAC9C,QAAQ,SAAS,iCAAiC,EAElD,OAAO,EAAE,uCAAuC,CAAC,QAAQ,CAAC,GACzD,CAAC,KAAK,EAAE,+BAA+B,KAAK,OAAO,CAAC,gCAAgC,CAAC,CAmEvF"}
|
|
@@ -11,9 +11,6 @@ function activeBranchId(context) {
|
|
|
11
11
|
function steeringRevision(context) {
|
|
12
12
|
return context.steeringRevision ?? 0;
|
|
13
13
|
}
|
|
14
|
-
function hasValidUserId(userId) {
|
|
15
|
-
return typeof userId === "string" && userId.length > 0;
|
|
16
|
-
}
|
|
17
14
|
/** Create hosted runtime state resolver. */
|
|
18
15
|
export function createHostedRuntimeStateResolver(options) {
|
|
19
16
|
let lastAppliedSteeringRevision = steeringRevision(options.taskContext);
|
|
@@ -28,9 +25,6 @@ export function createHostedRuntimeStateResolver(options) {
|
|
|
28
25
|
currentBranchId !== lastAppliedBranchId;
|
|
29
26
|
let nextSystem = system;
|
|
30
27
|
const nextContextRecord = { ...(context ?? {}) };
|
|
31
|
-
if (hasValidUserId(options.taskContext.userId)) {
|
|
32
|
-
nextContextRecord.endUserId = options.taskContext.userId;
|
|
33
|
-
}
|
|
34
28
|
if (steeringChanged && options.refreshSystem) {
|
|
35
29
|
nextSystem = await options.refreshSystem({
|
|
36
30
|
taskContext: options.taskContext,
|
|
@@ -24,7 +24,8 @@ export interface OnToolCallArg {
|
|
|
24
24
|
}
|
|
25
25
|
/** Options accepted by use chat. */
|
|
26
26
|
export interface UseChatOptions {
|
|
27
|
-
api
|
|
27
|
+
/** AG-UI endpoint. Defaults to "/api/ag-ui". */
|
|
28
|
+
api?: string;
|
|
28
29
|
/** Streaming response protocol used by the endpoint. AG-UI is the default. */
|
|
29
30
|
transport?: "ag-ui";
|
|
30
31
|
initialMessages?: ChatMessage[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/src/agent/react/use-chat/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACd,MAAM,2BAA2B,CAAC;AAEnC,mCAAmC;AACnC,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,cAAc,GAAG,SAAS,CAAC;AAEjE,sDAAsD;AACtD,MAAM,MAAM,sBAAsB,GAC9B,MAAM,GACN,iBAAiB,GACjB,mBAAmB,GACnB,OAAO,GACP,YAAY,GACZ,OAAO,CAAC;AAEZ,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,aAAa,GACd,CAAC;AAEF,KAAK,eAAe,GAAG,kBAAkB,GAAG,cAAc,CAAC;AAE3D,wBAAwB;AACxB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,OAAO,CAAC;QACf,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH;AAED,oCAAoC;AACpC,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/src/agent/react/use-chat/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,9 +26,6 @@ export declare function isLatestRequest(activeRequestId: number, requestId: numb
|
|
|
26
26
|
export declare function resolveBranchKey(messageId: string, branchMap: Map<string, BranchState>, branchKeyByMessageId: Map<string, string>): string | undefined;
|
|
27
27
|
export declare function findBranchUserMessageIndex(messages: ChatMessage[], branchKey: string, branchKeyByMessageId: Map<string, string>): number;
|
|
28
28
|
export declare function resolveUseChatStreamHandler(transport: UseChatOptions["transport"]): UseChatStreamHandler;
|
|
29
|
-
|
|
30
|
-
* useChat hook for managing chat state with veryfront stream events.
|
|
31
|
-
*/
|
|
32
|
-
export declare function useChat(options: UseChatOptions): UseChatResult;
|
|
29
|
+
export declare function useChat(options?: UseChatOptions): UseChatResult;
|
|
33
30
|
export {};
|
|
34
31
|
//# sourceMappingURL=use-chat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-chat.d.ts","sourceRoot":"","sources":["../../../../../src/src/agent/react/use-chat/use-chat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAGV,WAAW,EAIX,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAGpB,KAAK,oBAAoB,GAAG,OAAO,2BAA2B,CAAC;AAE/D,wDAAwD;AACxD,UAAU,MAAM;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,sEAAsE;AACtE,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED,wBAAgB,eAAe,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAEnF;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,WAAW,EAAE,EACvB,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,MAAM,CAIR;AAED,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,GACrC,oBAAoB,CAGtB;
|
|
1
|
+
{"version":3,"file":"use-chat.d.ts","sourceRoot":"","sources":["../../../../../src/src/agent/react/use-chat/use-chat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAGV,WAAW,EAIX,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAGpB,KAAK,oBAAoB,GAAG,OAAO,2BAA2B,CAAC;AAE/D,wDAAwD;AACxD,UAAU,MAAM;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,sEAAsE;AACtE,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED,wBAAgB,eAAe,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAEnF;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,WAAW,EAAE,EACvB,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,MAAM,CAIR;AAED,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,GACrC,oBAAoB,CAGtB;AAOD,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,aAAa,CA+fnE"}
|
|
@@ -30,7 +30,9 @@ export function resolveUseChatStreamHandler(transport) {
|
|
|
30
30
|
/**
|
|
31
31
|
* useChat hook for managing chat state with veryfront stream events.
|
|
32
32
|
*/
|
|
33
|
-
|
|
33
|
+
const DEFAULT_CHAT_API = "/api/ag-ui";
|
|
34
|
+
export function useChat(options = {}) {
|
|
35
|
+
const api = options.api ?? DEFAULT_CHAT_API;
|
|
34
36
|
const [messages, setMessages] = useState(options.initialMessages ?? []);
|
|
35
37
|
const messagesRef = useRef(messages);
|
|
36
38
|
messagesRef.current = messages;
|
|
@@ -169,7 +171,7 @@ export function useChat(options) {
|
|
|
169
171
|
}
|
|
170
172
|
const abortController = new AbortController();
|
|
171
173
|
abortControllerRef.current = abortController;
|
|
172
|
-
const response = await fetch(
|
|
174
|
+
const response = await fetch(api, {
|
|
173
175
|
method: "POST",
|
|
174
176
|
headers: {
|
|
175
177
|
"Content-Type": "application/json",
|
|
@@ -349,7 +349,6 @@ export type RuntimeAgentControlPlaneStreamRequest = {
|
|
|
349
349
|
threadId: RuntimeAgentRunContext["conversationId"];
|
|
350
350
|
runId: RuntimeAgentRunContext["runId"];
|
|
351
351
|
parentRunId?: Exclude<RuntimeAgentRunContext["parentRunId"], null | undefined>;
|
|
352
|
-
endUserId?: RuntimeAgentRunContext["requestedByUserId"];
|
|
353
352
|
messages: RuntimeAgentRunInvocation["messages"];
|
|
354
353
|
tools: RuntimeAgentRunInvocation["tools"];
|
|
355
354
|
context: RuntimeAgentRunInvocation["context"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-invocation-contract.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/agent-invocation-contract.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent-invocation-contract.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/agent-invocation-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -227,7 +227,6 @@ export function buildRuntimeAgentControlPlaneStreamRequestFromInvocation(input)
|
|
|
227
227
|
threadId: input.run.conversationId,
|
|
228
228
|
runId: input.run.runId,
|
|
229
229
|
...(input.run.parentRunId ? { parentRunId: input.run.parentRunId } : {}),
|
|
230
|
-
endUserId: input.run.requestedByUserId,
|
|
231
230
|
messages: input.messages,
|
|
232
231
|
tools: input.tools,
|
|
233
232
|
context: input.context,
|
package/esm/src/chat/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* import { Chat, useChat } from "veryfront/chat";
|
|
9
9
|
*
|
|
10
10
|
* export default function Page() {
|
|
11
|
-
* const chat = useChat(
|
|
11
|
+
* const chat = useChat();
|
|
12
12
|
* return (
|
|
13
13
|
* <Chat
|
|
14
14
|
* messages={chat.messages}
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* import { Chat, useChat } from "veryfront/chat";
|
|
26
26
|
*
|
|
27
27
|
* export default function Page() {
|
|
28
|
-
* const chat = useChat(
|
|
28
|
+
* const chat = useChat();
|
|
29
29
|
* return (
|
|
30
30
|
* <Chat.Root messages={chat.messages} input={chat.input}>
|
|
31
31
|
* <Chat.Empty title="Ask me anything" />
|
package/esm/src/chat/index.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* import { Chat, useChat } from "veryfront/chat";
|
|
9
9
|
*
|
|
10
10
|
* export default function Page() {
|
|
11
|
-
* const chat = useChat(
|
|
11
|
+
* const chat = useChat();
|
|
12
12
|
* return (
|
|
13
13
|
* <Chat
|
|
14
14
|
* messages={chat.messages}
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* import { Chat, useChat } from "veryfront/chat";
|
|
26
26
|
*
|
|
27
27
|
* export default function Page() {
|
|
28
|
-
* const chat = useChat(
|
|
28
|
+
* const chat = useChat();
|
|
29
29
|
* return (
|
|
30
30
|
* <Chat.Root messages={chat.messages} input={chat.input}>
|
|
31
31
|
* <Chat.Empty title="Ask me anything" />
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-tools.d.ts","sourceRoot":"","sources":["../../../src/src/integrations/remote-tools.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAgBvD,KAAK,qCAAqC,GAAG;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;
|
|
1
|
+
{"version":3,"file":"remote-tools.d.ts","sourceRoot":"","sources":["../../../src/src/integrations/remote-tools.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAgBvD,KAAK,qCAAqC,GAAG;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAyHF;;;;;;;GAOG;AACH,wBAAsB,mCAAmC,IAAI,OAAO,CAClE,cAAc,EAAE,CACjB,CAoBA;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKjE;AAED;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,qCAAqC,GAC9C,OAAO,CAAC,OAAO,CAAC,CAclB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GACjE,OAAO,CAAC,IAAI,CAAC,CAwBf"}
|
|
@@ -48,39 +48,6 @@ function parseJsonText(text) {
|
|
|
48
48
|
return undefined;
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
function stripLegacyEndUserIdFromConnectUrl(connectUrl) {
|
|
52
|
-
try {
|
|
53
|
-
const isAbsolute = /^[a-zA-Z][a-zA-Z\d+.-]*:/.test(connectUrl);
|
|
54
|
-
const isProtocolRelative = connectUrl.startsWith("//");
|
|
55
|
-
const isRootRelative = connectUrl.startsWith("/") && !isProtocolRelative;
|
|
56
|
-
const url = new URL(connectUrl, "https://veryfront.invalid");
|
|
57
|
-
if (!url.searchParams.has("endUserId"))
|
|
58
|
-
return connectUrl;
|
|
59
|
-
url.searchParams.delete("endUserId");
|
|
60
|
-
if (isAbsolute)
|
|
61
|
-
return url.toString();
|
|
62
|
-
if (isProtocolRelative)
|
|
63
|
-
return `//${url.host}${url.pathname}${url.search}${url.hash}`;
|
|
64
|
-
const relativeUrl = `${url.pathname}${url.search}${url.hash}`;
|
|
65
|
-
return isRootRelative ? relativeUrl : relativeUrl.slice(1);
|
|
66
|
-
}
|
|
67
|
-
catch {
|
|
68
|
-
return connectUrl;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
function stripLegacyEndUserIdFromToolResult(value) {
|
|
72
|
-
if (Array.isArray(value)) {
|
|
73
|
-
return value.map(stripLegacyEndUserIdFromToolResult);
|
|
74
|
-
}
|
|
75
|
-
if (!value || typeof value !== "object")
|
|
76
|
-
return value;
|
|
77
|
-
return Object.fromEntries(Object.entries(value).map(([key, entry]) => [
|
|
78
|
-
key,
|
|
79
|
-
key === "connectUrl" && typeof entry === "string"
|
|
80
|
-
? stripLegacyEndUserIdFromConnectUrl(entry)
|
|
81
|
-
: stripLegacyEndUserIdFromToolResult(entry),
|
|
82
|
-
]));
|
|
83
|
-
}
|
|
84
51
|
async function fetchToolList(baseUrl, token) {
|
|
85
52
|
const response = await fetch(`${baseUrl}/integrations/tools/list`, {
|
|
86
53
|
method: "POST",
|
|
@@ -121,18 +88,18 @@ async function callRemoteTool(baseUrl, token, toolName, args, context) {
|
|
|
121
88
|
if (result?.content && Array.isArray(result.content)) {
|
|
122
89
|
const text = joinCallToolText(result.content);
|
|
123
90
|
if (result.structuredContent) {
|
|
124
|
-
return
|
|
91
|
+
return result.structuredContent;
|
|
125
92
|
}
|
|
126
93
|
if (result.isError) {
|
|
127
94
|
// Try to preserve structured error data (e.g., authentication_required with connectUrl)
|
|
128
95
|
const parsed = parseJsonText(text);
|
|
129
96
|
if (parsed && typeof parsed === "object")
|
|
130
|
-
return
|
|
97
|
+
return parsed;
|
|
131
98
|
return { error: "tool_error", message: text };
|
|
132
99
|
}
|
|
133
100
|
return parseJsonText(text) ?? text;
|
|
134
101
|
}
|
|
135
|
-
return
|
|
102
|
+
return result;
|
|
136
103
|
}
|
|
137
104
|
// ---------------------------------------------------------------------------
|
|
138
105
|
// Public API — called by agent runtime per-request
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { type Agent, type AgentMessage as Message, type AgentResponse } from "../agent/index.js";
|
|
2
2
|
import { type AgentRunSessionManager } from "./session-manager.js";
|
|
3
3
|
import type { RuntimeRunAgentInput } from "./schema.js";
|
|
4
|
-
type RuntimeRunAgentInputWithEndUser = RuntimeRunAgentInput & {
|
|
5
|
-
endUserId?: string;
|
|
6
|
-
};
|
|
7
4
|
export interface RuntimeAgentStreamExecutionDeps {
|
|
8
5
|
sessionManager: AgentRunSessionManager;
|
|
9
6
|
createRuntime?: (agent: Agent, mergedTools: Agent["config"]["tools"]) => {
|
|
@@ -12,6 +9,5 @@ export interface RuntimeAgentStreamExecutionDeps {
|
|
|
12
9
|
}, modelOverride?: string, maxOutputTokensOverride?: number, abortSignal?: AbortSignal) => Promise<ReadableStream<Uint8Array>>;
|
|
13
10
|
};
|
|
14
11
|
}
|
|
15
|
-
export declare function createRuntimeAgentStreamResponse(input:
|
|
16
|
-
export {};
|
|
12
|
+
export declare function createRuntimeAgentStreamResponse(input: RuntimeRunAgentInput, agent: Agent, deps: RuntimeAgentStreamExecutionDeps): Promise<Response>;
|
|
17
13
|
//# sourceMappingURL=run-stream.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-stream.d.ts","sourceRoot":"","sources":["../../../src/src/internal-agents/run-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,KAAK,EACV,KAAK,YAAY,IAAI,OAAO,EAC5B,KAAK,aAAa,EAEnB,MAAM,mBAAmB,CAAC;AAa3B,OAAO,EAA0B,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAkBxD,
|
|
1
|
+
{"version":3,"file":"run-stream.d.ts","sourceRoot":"","sources":["../../../src/src/internal-agents/run-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,KAAK,EACV,KAAK,YAAY,IAAI,OAAO,EAC5B,KAAK,aAAa,EAEnB,MAAM,mBAAmB,CAAC;AAa3B,OAAO,EAA0B,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAkBxD,MAAM,WAAW,+BAA+B;IAC9C,cAAc,EAAE,sBAAsB,CAAC;IACvC,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAClC;QACH,MAAM,EAAE,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,SAAS,CAAC,EAAE;YACV,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;SAC9C,EACD,aAAa,CAAC,EAAE,MAAM,EACtB,uBAAuB,CAAC,EAAE,MAAM,EAChC,WAAW,CAAC,EAAE,WAAW,KACtB,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;KAC1C,CAAC;CACH;AAkJD,wBAAsB,gCAAgC,CACpD,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,+BAA+B,GACpC,OAAO,CAAC,QAAQ,CAAC,CAwPnB"}
|
|
@@ -152,7 +152,6 @@ export async function createRuntimeAgentStreamResponse(input, agent, deps) {
|
|
|
152
152
|
runId: input.runId,
|
|
153
153
|
...(input.parentRunId ? { parentRunId: input.parentRunId } : {}),
|
|
154
154
|
...(input.state !== undefined ? { state: input.state } : {}),
|
|
155
|
-
...(input.endUserId ? { endUserId: input.endUserId } : {}),
|
|
156
155
|
context: input.context,
|
|
157
156
|
forwardedProps: input.forwardedProps,
|
|
158
157
|
}, {
|
|
@@ -167,7 +167,6 @@ export declare const getInternalAgentControlPlaneStreamRequestSchema: () => Sche
|
|
|
167
167
|
threadId: Schema<string>;
|
|
168
168
|
runId: Schema<string>;
|
|
169
169
|
parentRunId: Schema<string | undefined>;
|
|
170
|
-
endUserId: Schema<string | undefined>;
|
|
171
170
|
state: Schema<unknown>;
|
|
172
171
|
messages: Schema<(import("../extensions/schema/schema-validator.js").InferShape<{
|
|
173
172
|
name: Schema<string | undefined>;
|
|
@@ -259,7 +258,6 @@ export declare const getInternalAgentStreamRequestSchema: () => Schema<import(".
|
|
|
259
258
|
threadId: Schema<string>;
|
|
260
259
|
runId: Schema<string>;
|
|
261
260
|
parentRunId: Schema<string | undefined>;
|
|
262
|
-
endUserId: Schema<string | undefined>;
|
|
263
261
|
state: Schema<unknown>;
|
|
264
262
|
messages: Schema<(import("../extensions/schema/schema-validator.js").InferShape<{
|
|
265
263
|
name: Schema<string | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/src/internal-agents/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,KAAK,sBAAsB,EAE3B,KAAK,kBAAkB,EAQxB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAGL,kCAAkC,EAClC,KAAK,yBAAyB,EAC/B,MAAM,+CAA+C,CAAC;AAiBvD,eAAO,MAAM,cAAc,sBAA4B,CAAC;AAExD,eAAO,MAAM,gBAAgB,sBAE5B,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;GAAmC,CAAC;AAC7E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;GAAkC,CAAC;AAC3E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA8B,CAAC;AACnE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;GAA8B,CAAC;AACnE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA8B,CAAC;AAEzE,eAAO,MAAM,0CAA0C;;;;;;;;GAQtD,CAAC;AAEF,eAAO,MAAM,+CAA+C
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/src/internal-agents/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,KAAK,sBAAsB,EAE3B,KAAK,kBAAkB,EAQxB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAGL,kCAAkC,EAClC,KAAK,yBAAyB,EAC/B,MAAM,+CAA+C,CAAC;AAiBvD,eAAO,MAAM,cAAc,sBAA4B,CAAC;AAExD,eAAO,MAAM,gBAAgB,sBAE5B,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;GAAmC,CAAC;AAC7E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;GAAkC,CAAC;AAC3E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA8B,CAAC;AACnE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;GAA8B,CAAC;AACnE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA8B,CAAC;AAEzE,eAAO,MAAM,0CAA0C;;;;;;;;GAQtD,CAAC;AAEF,eAAO,MAAM,+CAA+C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqB3D,CAAC;AAEF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAU9C,CAAC;AAqNH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,mCAAmC,CAAC,CAAC,GACzE,kBAAkB,CAWpB;AAED,eAAO,MAAM,qBAAqB;;;;;GAYjC,CAAC;AAEF,OAAO,EAAE,kCAAkC,EAAE,CAAC;AAC9C,YAAY,EAAE,yBAAyB,EAAE,CAAC;AAC1C,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC;AAC/F,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AACxD,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AACtD,MAAM,MAAM,0BAA0B,GAAG,WAAW,CAClD,UAAU,CAAC,OAAO,mCAAmC,CAAC,CACvD,CAAC;AACF,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC;AAGjF,YAAY,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -34,19 +34,19 @@ export const getInternalAgentControlPlaneStreamRequestSchema = defineSchema((v)
|
|
|
34
34
|
threadId: v.string().uuid(),
|
|
35
35
|
runId: getRunIdSchema(),
|
|
36
36
|
parentRunId: getRunIdSchema().optional(),
|
|
37
|
-
endUserId: v.string().uuid().optional(),
|
|
38
37
|
state: v.unknown().optional(),
|
|
39
38
|
messages: v.array(v.union([getRuntimeMessageSchema(), getInternalAgentCompatibilityMessageSchema()])).max(MAX_RUNTIME_MESSAGES),
|
|
40
39
|
tools: v.array(getRuntimeInjectedToolSchema()).max(50).default([]),
|
|
41
40
|
context: v.array(getRuntimeContextSchema()).max(10).default([]).refine((value) => isWithinJsonSizeLimit(value, 65_536), { message: "context must be less than 64 KB total" }),
|
|
42
41
|
agentSource: getRuntimeAgentSourceContextSchema().optional(),
|
|
43
42
|
forwardedProps: v.record(v.string(), v.unknown()).optional().refine((value) => value === undefined || isWithinJsonSizeLimit(value, MAX_FORWARDED_PROPS_BYTES), { message: "forwardedProps must be less than 192 KB" }),
|
|
44
|
-
}));
|
|
43
|
+
}).strict());
|
|
45
44
|
export const getInternalAgentStreamRequestSchema = defineSchema((v) => {
|
|
46
45
|
const controlPlaneStreamRequestSchema = getInternalAgentControlPlaneStreamRequestSchema();
|
|
47
46
|
return v.union([
|
|
48
47
|
controlPlaneStreamRequestSchema,
|
|
49
48
|
getRuntimeAgentRunInvocationSchema()
|
|
49
|
+
.strict()
|
|
50
50
|
.transform(buildRuntimeAgentControlPlaneStreamRequestFromInvocation)
|
|
51
51
|
.pipe(controlPlaneStreamRequestSchema),
|
|
52
52
|
]);
|
|
@@ -224,7 +224,6 @@ export function toRuntimeRunAgentInput(input) {
|
|
|
224
224
|
threadId: input.threadId,
|
|
225
225
|
runId: input.runId,
|
|
226
226
|
...(input.parentRunId ? { parentRunId: input.parentRunId } : {}),
|
|
227
|
-
...(input.endUserId ? { endUserId: input.endUserId } : {}),
|
|
228
227
|
...(input.state !== undefined ? { state: input.state } : {}),
|
|
229
228
|
messages: input.messages.map(toRuntimeMessage),
|
|
230
229
|
tools: input.tools,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework-candidates.generated.d.ts","sourceRoot":"","sources":["../../../../../src/src/server/handlers/dev/framework-candidates.generated.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"framework-candidates.generated.d.ts","sourceRoot":"","sources":["../../../../../src/src/server/handlers/dev/framework-candidates.generated.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAk8KjD,CAAC"}
|
|
@@ -2018,8 +2018,6 @@ export const FRAMEWORK_CANDIDATES = [
|
|
|
2018
2018
|
"any",
|
|
2019
2019
|
"any)",
|
|
2020
2020
|
"anything",
|
|
2021
|
-
"api/ag-ui",
|
|
2022
|
-
"api:",
|
|
2023
2021
|
"append",
|
|
2024
2022
|
"application",
|
|
2025
2023
|
"applies",
|
|
@@ -5374,7 +5372,7 @@ export const FRAMEWORK_CANDIDATES = [
|
|
|
5374
5372
|
"url?:",
|
|
5375
5373
|
"use",
|
|
5376
5374
|
"useChat",
|
|
5377
|
-
"useChat(
|
|
5375
|
+
"useChat();",
|
|
5378
5376
|
"useChatContext",
|
|
5379
5377
|
"useChatContext().",
|
|
5380
5378
|
"useChatContext():",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"production-server.d.ts","sourceRoot":"","sources":["../../../src/src/server/production-server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAInE,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"production-server.d.ts","sourceRoot":"","sources":["../../../src/src/server/production-server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAInE,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AA2BrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAgFtE,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uGAAuG;IACvG,kBAAkB,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;IAC9C;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,oFAAoF;IACpF,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,6CAA6C;AAC7C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,mDAAmD;AACnD,MAAM,WAAW,4BAA6B,SAAQ,aAAa;IACjE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,8FAA8F;IAC9F,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,gCAAgC;AAChC,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,YAAY,CAAC,CA0JvB"}
|
|
@@ -6,7 +6,7 @@ import { bootstrapProd } from "./bootstrap.js";
|
|
|
6
6
|
import { cwd, onGlobalError, onSignal } from "../platform/compat/process.js";
|
|
7
7
|
import { isDebugEnabled } from "../utils/constants/env.js";
|
|
8
8
|
import { initializeOTLPWithApis, shutdownOTLP, withSpan, } from "../observability/tracing/otlp-setup.js";
|
|
9
|
-
import {
|
|
9
|
+
import { startConfiguredMemoryMonitoring, stopMemoryMonitoring, } from "../utils/memory/index.js";
|
|
10
10
|
import { initializeDistributedCaches } from "../cache/distributed-cache-init.js";
|
|
11
11
|
import { getConfig } from "../config/index.js";
|
|
12
12
|
import { resolveStyleContentVersion } from "../html/styles-builder/content-version.js";
|
|
@@ -16,8 +16,6 @@ import { setServerInitialized } from "./handlers/monitoring/health.handler.js";
|
|
|
16
16
|
import { enableSSRClientOnlyFetching, enableSSRFetchInterception, setSSRServerPort, } from "../rendering/ssr-globals.js";
|
|
17
17
|
const serverLog = logger.component("server");
|
|
18
18
|
const globalLog = logger.component("global");
|
|
19
|
-
/** Default interval for periodic memory usage snapshots */
|
|
20
|
-
const DEFAULT_MEMORY_MONITORING_INTERVAL_MS = 30_000;
|
|
21
19
|
/** Default time to wait for in-flight requests to drain during shutdown.
|
|
22
20
|
* K8s default terminationGracePeriodSeconds is 30s, so 25s leaves headroom. */
|
|
23
21
|
const DEFAULT_SHUTDOWN_DRAIN_TIMEOUT_MS = 25_000;
|
|
@@ -82,105 +80,116 @@ export function startProductionServer(options) {
|
|
|
82
80
|
return withSpan("server.startProductionServer", async () => {
|
|
83
81
|
const { projectDir, port, bindAddress = "0.0.0.0", signal, debug, defaultProjectSlug, defaultProjectId, defaultEnvironment, requestInterceptor, bootstrapResult, discoveryConfig, localProjects, } = options;
|
|
84
82
|
const baseAdapter = options.adapter ?? (await runtime.get());
|
|
85
|
-
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
83
|
+
const memoryMonitoringConfig = startConfiguredMemoryMonitoring(baseAdapter.env);
|
|
84
|
+
const ownsMemoryMonitoring = memoryMonitoringConfig.enabled;
|
|
85
|
+
try {
|
|
86
|
+
// Use pre-computed bootstrap result if provided, otherwise bootstrap here
|
|
87
|
+
const bootstrap = bootstrapResult ?? await bootstrapProd(projectDir, baseAdapter);
|
|
88
|
+
const adapter = bootstrap.adapter;
|
|
89
|
+
if (bootstrap.usingFSAdapter) {
|
|
90
|
+
logger.debug("FSAdapter initialized", { type: bootstrap.fsAdapterType });
|
|
91
|
+
}
|
|
92
|
+
await prewarmLocalProductionCSSArtifacts(bootstrap.adapter, {
|
|
93
|
+
projectDir,
|
|
94
|
+
defaultProjectSlug,
|
|
95
|
+
defaultProjectId,
|
|
96
|
+
defaultEnvironment,
|
|
97
|
+
localProjects,
|
|
98
|
+
});
|
|
99
|
+
// Enable SSR fetch interception to handle relative URLs during SSR
|
|
100
|
+
setSSRServerPort(port);
|
|
101
|
+
enableSSRFetchInterception();
|
|
102
|
+
// Enable client-only fetching for /api/* routes in production.
|
|
103
|
+
// This returns empty mock responses during SSR (instead of failing with
|
|
104
|
+
// "Invalid URL" or "Connection refused"). React Query will refetch
|
|
105
|
+
// the actual data client-side after hydration.
|
|
106
|
+
enableSSRClientOnlyFetching();
|
|
107
|
+
// Run primitive discovery before serving (registries must be populated before first request)
|
|
108
|
+
if (discoveryConfig) {
|
|
109
|
+
try {
|
|
110
|
+
const { discoverAll } = await import("../discovery/index.js");
|
|
111
|
+
const { isExtendedFSAdapter } = await import("../platform/adapters/fs/wrapper.js");
|
|
112
|
+
if (discoveryConfig.projectSlug && discoveryConfig.apiToken &&
|
|
113
|
+
discoveryConfig.fsAdapter && isExtendedFSAdapter(discoveryConfig.fsAdapter) &&
|
|
114
|
+
discoveryConfig.fsAdapter.isMultiProjectMode()) {
|
|
115
|
+
// Multi-project proxy: scope discovery to specific project
|
|
116
|
+
await discoveryConfig.fsAdapter.runWithContext(discoveryConfig.projectSlug, discoveryConfig.apiToken, () => discoverAll({
|
|
117
|
+
baseDir: discoveryConfig.baseDir,
|
|
118
|
+
fsAdapter: discoveryConfig.fsAdapter,
|
|
119
|
+
verbose: discoveryConfig.verbose ?? false,
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
await discoverAll({
|
|
124
|
+
baseDir: discoveryConfig.baseDir,
|
|
125
|
+
fsAdapter: discoveryConfig.fsAdapter,
|
|
126
|
+
verbose: discoveryConfig.verbose ?? false,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
120
129
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
fsAdapter: discoveryConfig.fsAdapter,
|
|
125
|
-
verbose: discoveryConfig.verbose ?? false,
|
|
130
|
+
catch (error) {
|
|
131
|
+
serverLog.error("Primitive discovery failed", {
|
|
132
|
+
error: error instanceof Error ? error.message : String(error),
|
|
126
133
|
});
|
|
127
134
|
}
|
|
128
135
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
136
|
+
logger.info("Starting production server", { projectDir, port, bindAddress });
|
|
137
|
+
const baseHandler = createVeryfrontHandler(projectDir, adapter, {
|
|
138
|
+
projectDir,
|
|
139
|
+
debug,
|
|
140
|
+
config: bootstrap.config,
|
|
141
|
+
defaultProjectSlug,
|
|
142
|
+
defaultProjectId,
|
|
143
|
+
defaultEnvironment,
|
|
144
|
+
localProjects,
|
|
145
|
+
});
|
|
146
|
+
// Wrap handler with interceptor if provided (for combined mode)
|
|
147
|
+
// WebSocket upgrade requests MUST NOT be intercepted because the interceptor
|
|
148
|
+
// creates a new Request object, which breaks Deno.upgradeWebSocket()
|
|
149
|
+
const handler = requestInterceptor
|
|
150
|
+
? Object.assign(async (req) => {
|
|
151
|
+
const isWebSocketUpgrade = req.headers.get("upgrade")?.toLowerCase() === "websocket";
|
|
152
|
+
if (isWebSocketUpgrade)
|
|
153
|
+
return baseHandler(req);
|
|
154
|
+
return baseHandler(await requestInterceptor(req));
|
|
155
|
+
}, { ready: baseHandler.ready })
|
|
156
|
+
: baseHandler;
|
|
157
|
+
let resolveListenReady;
|
|
158
|
+
const listenReady = new Promise((resolve) => {
|
|
159
|
+
resolveListenReady = resolve;
|
|
160
|
+
});
|
|
161
|
+
const ready = (async () => {
|
|
162
|
+
await Promise.all([listenReady, handler.ready ?? Promise.resolve()]);
|
|
163
|
+
// Mark server as initialized when ready resolves
|
|
164
|
+
setServerInitialized(true);
|
|
165
|
+
})();
|
|
166
|
+
const server = await adapter.serve(handler, {
|
|
167
|
+
port,
|
|
168
|
+
hostname: bindAddress, // Deno uses "hostname" for bind address
|
|
169
|
+
signal,
|
|
170
|
+
onListen: (params) => {
|
|
171
|
+
resolveListenReady?.();
|
|
172
|
+
logger.info("Production server listening", params);
|
|
173
|
+
},
|
|
174
|
+
});
|
|
175
|
+
const stop = async () => {
|
|
176
|
+
setServerInitialized(false);
|
|
177
|
+
if (ownsMemoryMonitoring)
|
|
178
|
+
stopMemoryMonitoring();
|
|
179
|
+
try {
|
|
180
|
+
await server.stop();
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
logger.debug("Server stop failed", { error });
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
return { ready, stop };
|
|
134
187
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
config: bootstrap.config,
|
|
140
|
-
defaultProjectSlug,
|
|
141
|
-
defaultProjectId,
|
|
142
|
-
defaultEnvironment,
|
|
143
|
-
localProjects,
|
|
144
|
-
});
|
|
145
|
-
// Wrap handler with interceptor if provided (for combined mode)
|
|
146
|
-
// WebSocket upgrade requests MUST NOT be intercepted because the interceptor
|
|
147
|
-
// creates a new Request object, which breaks Deno.upgradeWebSocket()
|
|
148
|
-
const handler = requestInterceptor
|
|
149
|
-
? Object.assign(async (req) => {
|
|
150
|
-
const isWebSocketUpgrade = req.headers.get("upgrade")?.toLowerCase() === "websocket";
|
|
151
|
-
if (isWebSocketUpgrade)
|
|
152
|
-
return baseHandler(req);
|
|
153
|
-
return baseHandler(await requestInterceptor(req));
|
|
154
|
-
}, { ready: baseHandler.ready })
|
|
155
|
-
: baseHandler;
|
|
156
|
-
let resolveListenReady;
|
|
157
|
-
const listenReady = new Promise((resolve) => {
|
|
158
|
-
resolveListenReady = resolve;
|
|
159
|
-
});
|
|
160
|
-
const ready = (async () => {
|
|
161
|
-
await Promise.all([listenReady, handler.ready ?? Promise.resolve()]);
|
|
162
|
-
// Mark server as initialized when ready resolves
|
|
163
|
-
setServerInitialized(true);
|
|
164
|
-
})();
|
|
165
|
-
const server = await adapter.serve(handler, {
|
|
166
|
-
port,
|
|
167
|
-
hostname: bindAddress, // Deno uses "hostname" for bind address
|
|
168
|
-
signal,
|
|
169
|
-
onListen: (params) => {
|
|
170
|
-
resolveListenReady?.();
|
|
171
|
-
logger.info("Production server listening", params);
|
|
172
|
-
},
|
|
173
|
-
});
|
|
174
|
-
async function stop() {
|
|
175
|
-
setServerInitialized(false);
|
|
176
|
-
try {
|
|
177
|
-
await server.stop();
|
|
178
|
-
}
|
|
179
|
-
catch (error) {
|
|
180
|
-
logger.debug("Server stop failed", { error });
|
|
181
|
-
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
if (ownsMemoryMonitoring)
|
|
190
|
+
stopMemoryMonitoring();
|
|
191
|
+
throw error;
|
|
182
192
|
}
|
|
183
|
-
return { ready, stop };
|
|
184
193
|
}, { "server.port": options.port, "server.bindAddress": options.bindAddress ?? "0.0.0.0" });
|
|
185
194
|
}
|
|
186
195
|
if (globalThis[Symbol.for("import-meta-ponyfill-esmodule")](import.meta).main) {
|
|
@@ -224,21 +233,6 @@ if (globalThis[Symbol.for("import-meta-ponyfill-esmodule")](import.meta).main) {
|
|
|
224
233
|
});
|
|
225
234
|
}
|
|
226
235
|
const adapter = await runtime.get();
|
|
227
|
-
// Start memory monitoring if enabled
|
|
228
|
-
const enableMemoryMonitoring = adapter.env.get("ENABLE_MEMORY_MONITORING") === "true";
|
|
229
|
-
const monitoringIntervalMs = parseInt(adapter.env.get("MEMORY_MONITORING_INTERVAL_MS") ??
|
|
230
|
-
String(DEFAULT_MEMORY_MONITORING_INTERVAL_MS), 10);
|
|
231
|
-
if (enableMemoryMonitoring) {
|
|
232
|
-
startMemoryMonitoring(monitoringIntervalMs);
|
|
233
|
-
logger.debug("Memory monitoring enabled", { intervalMs: monitoringIntervalMs });
|
|
234
|
-
// Log initial memory state
|
|
235
|
-
const initialSnapshot = getMemorySnapshot();
|
|
236
|
-
logger.debug("Initial memory state", {
|
|
237
|
-
heapUsedMB: initialSnapshot.heap.usedHeapSizeMB,
|
|
238
|
-
heapLimitMB: initialSnapshot.heap.heapSizeLimitMB,
|
|
239
|
-
cacheCount: initialSnapshot.caches.length,
|
|
240
|
-
});
|
|
241
|
-
}
|
|
242
236
|
const shutdownController = new AbortController();
|
|
243
237
|
const projectDir = cwd();
|
|
244
238
|
const port = Number(adapter.env.get("PORT") ?? adapter.env.get("VERYFRONT_PORT") ?? DEFAULT_SERVER_PORT);
|
|
@@ -284,7 +278,6 @@ if (globalThis[Symbol.for("import-meta-ponyfill-esmodule")](import.meta).main) {
|
|
|
284
278
|
});
|
|
285
279
|
}
|
|
286
280
|
// Phase 3: Stop accepting new connections and clean up
|
|
287
|
-
stopMemoryMonitoring();
|
|
288
281
|
requestTracker.shutdown();
|
|
289
282
|
await bootstrap.dispose?.();
|
|
290
283
|
shutdownController.abort();
|
package/esm/src/tool/types.d.ts
CHANGED
|
@@ -59,8 +59,6 @@ export interface ToolExecutionContext {
|
|
|
59
59
|
toolCallId?: string;
|
|
60
60
|
/** Project identity used by integration token resolution */
|
|
61
61
|
projectId?: string;
|
|
62
|
-
/** Trusted runtime user identity supplied by hosted integration tooling */
|
|
63
|
-
endUserId?: string;
|
|
64
62
|
/** Abort signal for cooperative cancellation during long-running tool execution */
|
|
65
63
|
abortSignal?: AbortSignal;
|
|
66
64
|
/** Progress token for sending progress notifications (MCP 2025-11-25) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/tool/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;GAEG;AAEH,MAAM,WAAW,UAAU,CAAC,MAAM,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG;IACrD,yDAAyD;IACzD,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAE5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAE/B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAEvF,wBAAwB;IACxB,GAAG,CAAC,EAAE;QACJ,qBAAqB;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAElB,6BAA6B;QAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;QAEvB,mBAAmB;QACnB,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,aAAa,CAAC;QAEnD,uCAAuC;QACvC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,oDAAoD;QACpD,WAAW,CAAC,EAAE,eAAe,CAAC;KAC/B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uFAAuF;IACvF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/tool/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module utils/memory
|
|
5
5
|
*/
|
|
6
|
-
export { type CacheStats, checkMemoryPressure, clearAllCaches, forceGC, type GCStats, getCacheStats, getHeapStats, getMemoryMonitoringLogContext, getMemorySnapshot, getTopCacheStats, type HeapStats, type MemoryMonitoringLogContext, type MemorySnapshot, type MonitoringCacheStats, registerCache, setHeapWarningThreshold, startMemoryMonitoring, stopMemoryMonitoring, unregisterCache, } from "./profiler.js";
|
|
6
|
+
export { type CacheStats, checkMemoryPressure, clearAllCaches, DEFAULT_MEMORY_MONITORING_INTERVAL_MS, forceGC, type GCStats, getCacheStats, getHeapStats, getMemoryMonitoringConfig, getMemoryMonitoringLogContext, getMemoryMonitoringState, getMemorySnapshot, getTopCacheStats, type HeapStats, type MemoryMonitoringConfig, type MemoryMonitoringEnv, type MemoryMonitoringLogContext, type MemoryMonitoringState, type MemorySnapshot, type MonitoringCacheStats, registerCache, setHeapWarningThreshold, startConfiguredMemoryMonitoring, startMemoryMonitoring, stopMemoryMonitoring, unregisterCache, } from "./profiler.js";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/utils/memory/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,KAAK,UAAU,EACf,mBAAmB,EACnB,cAAc,EACd,OAAO,EACP,KAAK,OAAO,EACZ,aAAa,EACb,YAAY,EACZ,6BAA6B,EAC7B,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,SAAS,EACd,KAAK,0BAA0B,EAC/B,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,GAChB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/utils/memory/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,KAAK,UAAU,EACf,mBAAmB,EACnB,cAAc,EACd,qCAAqC,EACrC,OAAO,EACP,KAAK,OAAO,EACZ,aAAa,EACb,YAAY,EACZ,yBAAyB,EACzB,6BAA6B,EAC7B,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,SAAS,EACd,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,aAAa,EACb,uBAAuB,EACvB,+BAA+B,EAC/B,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,GAChB,MAAM,eAAe,CAAC"}
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module utils/memory
|
|
5
5
|
*/
|
|
6
|
-
export { checkMemoryPressure, clearAllCaches, forceGC, getCacheStats, getHeapStats, getMemoryMonitoringLogContext, getMemorySnapshot, getTopCacheStats, registerCache, setHeapWarningThreshold, startMemoryMonitoring, stopMemoryMonitoring, unregisterCache, } from "./profiler.js";
|
|
6
|
+
export { checkMemoryPressure, clearAllCaches, DEFAULT_MEMORY_MONITORING_INTERVAL_MS, forceGC, getCacheStats, getHeapStats, getMemoryMonitoringConfig, getMemoryMonitoringLogContext, getMemoryMonitoringState, getMemorySnapshot, getTopCacheStats, registerCache, setHeapWarningThreshold, startConfiguredMemoryMonitoring, startMemoryMonitoring, stopMemoryMonitoring, unregisterCache, } from "./profiler.js";
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** Default interval for periodic memory snapshots (30 seconds) */
|
|
2
|
+
export declare const DEFAULT_MEMORY_MONITORING_INTERVAL_MS = 30000;
|
|
1
3
|
export interface CacheStats {
|
|
2
4
|
name: string;
|
|
3
5
|
entries: number;
|
|
@@ -37,6 +39,17 @@ export interface MemoryMonitoringLogContext {
|
|
|
37
39
|
totalCacheEntries: number;
|
|
38
40
|
topCaches: MonitoringCacheStats[];
|
|
39
41
|
}
|
|
42
|
+
export interface MemoryMonitoringEnv {
|
|
43
|
+
get(key: string): string | null | undefined;
|
|
44
|
+
}
|
|
45
|
+
export interface MemoryMonitoringConfig {
|
|
46
|
+
enabled: boolean;
|
|
47
|
+
intervalMs: number;
|
|
48
|
+
}
|
|
49
|
+
export interface MemoryMonitoringState {
|
|
50
|
+
active: boolean;
|
|
51
|
+
intervalMs: number | undefined;
|
|
52
|
+
}
|
|
40
53
|
export interface GCStats {
|
|
41
54
|
majorGCs: number;
|
|
42
55
|
minorGCs: number;
|
|
@@ -49,8 +62,11 @@ export declare function getCacheStats(): CacheStats[];
|
|
|
49
62
|
export declare function getMemorySnapshot(): MemorySnapshot;
|
|
50
63
|
export declare function getTopCacheStats(caches: CacheStats[], limit?: number): MonitoringCacheStats[];
|
|
51
64
|
export declare function getMemoryMonitoringLogContext(snapshot: MemorySnapshot, topCacheLimit?: number): MemoryMonitoringLogContext;
|
|
65
|
+
export declare function getMemoryMonitoringConfig(env: MemoryMonitoringEnv): MemoryMonitoringConfig;
|
|
66
|
+
export declare function getMemoryMonitoringState(): MemoryMonitoringState;
|
|
52
67
|
export declare function forceGC(): Promise<boolean>;
|
|
53
68
|
export declare function startMemoryMonitoring(intervalMs?: number): void;
|
|
69
|
+
export declare function startConfiguredMemoryMonitoring(env: MemoryMonitoringEnv): MemoryMonitoringConfig;
|
|
54
70
|
export declare function stopMemoryMonitoring(): void;
|
|
55
71
|
export declare function setHeapWarningThreshold(threshold: number): void;
|
|
56
72
|
export declare function clearAllCaches(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiler.d.ts","sourceRoot":"","sources":["../../../../src/src/utils/memory/profiler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"profiler.d.ts","sourceRoot":"","sources":["../../../../src/src/utils/memory/profiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,11 +11,12 @@ const logger = rendererLogger.component("memory-profiler");
|
|
|
11
11
|
/** Fallback V8 heap limit when no --max-old-space-size flag is set (5 GB) */
|
|
12
12
|
const DEFAULT_HEAP_LIMIT_MB = 5_120;
|
|
13
13
|
/** Default interval for periodic memory snapshots (30 seconds) */
|
|
14
|
-
const DEFAULT_MEMORY_MONITORING_INTERVAL_MS = 30_000;
|
|
14
|
+
export const DEFAULT_MEMORY_MONITORING_INTERVAL_MS = 30_000;
|
|
15
15
|
/** Heap growth (MB) per interval that triggers a rapid-growth warning */
|
|
16
16
|
const HEAP_RAPID_GROWTH_THRESHOLD_MB = 100;
|
|
17
17
|
const cacheRegistry = new Map();
|
|
18
18
|
let memoryCheckInterval;
|
|
19
|
+
let memoryCheckIntervalMs;
|
|
19
20
|
let lastHeapUsed = 0;
|
|
20
21
|
let heapGrowthWarningThreshold = 0.8;
|
|
21
22
|
export function registerCache(name, getStats) {
|
|
@@ -109,6 +110,21 @@ export function getMemoryMonitoringLogContext(snapshot, topCacheLimit = 8) {
|
|
|
109
110
|
topCaches: getTopCacheStats(snapshot.caches, topCacheLimit),
|
|
110
111
|
};
|
|
111
112
|
}
|
|
113
|
+
export function getMemoryMonitoringConfig(env) {
|
|
114
|
+
const enabled = env.get("ENABLE_MEMORY_MONITORING") === "true";
|
|
115
|
+
const rawInterval = env.get("MEMORY_MONITORING_INTERVAL_MS");
|
|
116
|
+
const parsedInterval = parseInt(rawInterval ?? String(DEFAULT_MEMORY_MONITORING_INTERVAL_MS), 10);
|
|
117
|
+
const intervalMs = Number.isFinite(parsedInterval) && parsedInterval > 0
|
|
118
|
+
? parsedInterval
|
|
119
|
+
: DEFAULT_MEMORY_MONITORING_INTERVAL_MS;
|
|
120
|
+
return { enabled, intervalMs };
|
|
121
|
+
}
|
|
122
|
+
export function getMemoryMonitoringState() {
|
|
123
|
+
return {
|
|
124
|
+
active: memoryCheckInterval !== undefined,
|
|
125
|
+
intervalMs: memoryCheckIntervalMs,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
112
128
|
export async function forceGC() {
|
|
113
129
|
try {
|
|
114
130
|
const buffer = new Uint8Array(100 * 1024 * 1024);
|
|
@@ -125,6 +141,7 @@ export function startMemoryMonitoring(intervalMs = DEFAULT_MEMORY_MONITORING_INT
|
|
|
125
141
|
if (memoryCheckInterval)
|
|
126
142
|
clearInterval(memoryCheckInterval);
|
|
127
143
|
logger.info(`Starting memory monitoring (interval: ${intervalMs}ms)`);
|
|
144
|
+
memoryCheckIntervalMs = intervalMs;
|
|
128
145
|
memoryCheckInterval = dntShim.setInterval(() => {
|
|
129
146
|
const snapshot = getMemorySnapshot();
|
|
130
147
|
const { heap } = snapshot;
|
|
@@ -150,11 +167,26 @@ export function startMemoryMonitoring(intervalMs = DEFAULT_MEMORY_MONITORING_INT
|
|
|
150
167
|
lastHeapUsed = heap.usedHeapSizeMB;
|
|
151
168
|
}, intervalMs);
|
|
152
169
|
}
|
|
170
|
+
export function startConfiguredMemoryMonitoring(env) {
|
|
171
|
+
const config = getMemoryMonitoringConfig(env);
|
|
172
|
+
if (!config.enabled)
|
|
173
|
+
return config;
|
|
174
|
+
startMemoryMonitoring(config.intervalMs);
|
|
175
|
+
logger.info("Memory monitoring enabled", { intervalMs: config.intervalMs });
|
|
176
|
+
const initialSnapshot = getMemorySnapshot();
|
|
177
|
+
logger.info("Initial memory state", {
|
|
178
|
+
heapUsedMB: initialSnapshot.heap.usedHeapSizeMB,
|
|
179
|
+
heapLimitMB: initialSnapshot.heap.heapSizeLimitMB,
|
|
180
|
+
cacheCount: initialSnapshot.caches.length,
|
|
181
|
+
});
|
|
182
|
+
return config;
|
|
183
|
+
}
|
|
153
184
|
export function stopMemoryMonitoring() {
|
|
154
185
|
if (!memoryCheckInterval)
|
|
155
186
|
return;
|
|
156
187
|
clearInterval(memoryCheckInterval);
|
|
157
188
|
memoryCheckInterval = undefined;
|
|
189
|
+
memoryCheckIntervalMs = undefined;
|
|
158
190
|
logger.info("Memory monitoring stopped");
|
|
159
191
|
}
|
|
160
192
|
export function setHeapWarningThreshold(threshold) {
|