veryfront 0.1.599 → 0.1.601
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/commands/init/catalog.d.ts.map +1 -1
- package/esm/cli/commands/init/catalog.js +0 -1
- package/esm/cli/commands/init/init-command.d.ts.map +1 -1
- package/esm/cli/commands/init/init-command.js +0 -1
- package/esm/cli/templates/integration-loader.d.ts.map +1 -1
- package/esm/cli/templates/integration-loader.js +0 -1
- package/esm/cli/templates/manifest.d.ts +0 -13
- package/esm/cli/templates/manifest.js +2 -15
- package/esm/deno.js +1 -1
- package/esm/src/agent/hosted/durable-child-fork-execution.d.ts.map +1 -1
- package/esm/src/agent/hosted/durable-child-fork-execution.js +3 -0
- package/esm/src/agent/testing/index.d.ts +2 -2
- package/esm/src/agent/testing/index.d.ts.map +1 -1
- package/esm/src/agent/testing/index.js +2 -2
- package/esm/src/agent/types.d.ts +11 -0
- package/esm/src/agent/types.d.ts.map +1 -1
- package/esm/src/discovery/import-rewriter.d.ts.map +1 -1
- package/esm/src/discovery/import-rewriter.js +216 -30
- package/esm/src/discovery/transpiler.d.ts.map +1 -1
- package/esm/src/discovery/transpiler.js +8 -0
- package/esm/src/embedding/index.d.ts +1 -4
- package/esm/src/embedding/index.d.ts.map +1 -1
- package/esm/src/embedding/index.js +1 -4
- package/esm/src/extensions/index.d.ts +1 -5
- package/esm/src/extensions/index.d.ts.map +1 -1
- package/esm/src/extensions/index.js +1 -5
- package/esm/src/integrations/_data.d.ts.map +1 -1
- package/esm/src/integrations/_data.js +1 -3
- package/esm/src/integrations/schema.d.ts +4 -4
- package/esm/src/integrations/schema.d.ts.map +1 -1
- package/esm/src/integrations/schema.js +0 -1
- package/esm/src/internal-agents/run-stream.d.ts +8 -0
- package/esm/src/internal-agents/run-stream.d.ts.map +1 -1
- package/esm/src/internal-agents/run-stream.js +86 -3
- package/esm/src/jobs/index.d.ts +1 -9
- package/esm/src/jobs/index.d.ts.map +1 -1
- package/esm/src/jobs/index.js +1 -9
- package/esm/src/observability/index.d.ts +1 -2
- package/esm/src/observability/index.d.ts.map +1 -1
- package/esm/src/observability/index.js +1 -2
- package/esm/src/provider/index.d.ts +1 -4
- package/esm/src/provider/index.d.ts.map +1 -1
- package/esm/src/provider/index.js +1 -4
- package/esm/src/sandbox/index.d.ts +1 -4
- package/esm/src/sandbox/index.d.ts.map +1 -1
- package/esm/src/sandbox/index.js +1 -4
- package/esm/src/sandbox/lazy-sandbox.d.ts +14 -0
- package/esm/src/sandbox/lazy-sandbox.d.ts.map +1 -1
- package/esm/src/sandbox/lazy-sandbox.js +46 -4
- package/esm/src/schemas/index.d.ts +1 -7
- package/esm/src/schemas/index.d.ts.map +1 -1
- package/esm/src/schemas/index.js +1 -7
- package/esm/src/server/handlers/request/agent-stream.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/agent-stream.handler.js +12 -5
- package/esm/src/server/index.d.ts +1 -4
- package/esm/src/server/index.d.ts.map +1 -1
- package/esm/src/server/index.js +1 -4
- package/esm/src/testing/index.d.ts +1 -2
- package/esm/src/testing/index.d.ts.map +1 -1
- package/esm/src/testing/index.js +1 -2
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/transform.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/transform.js +158 -18
- package/esm/src/utils/index.d.ts +1 -2
- package/esm/src/utils/index.d.ts.map +1 -1
- package/esm/src/utils/index.js +1 -2
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { AgentRuntime, } from "../agent/index.js";
|
|
2
2
|
import { normalizeAgUiRuntimeMessages } from "../agent/ag-ui/runtime-support.js";
|
|
3
|
+
import { createAgentServiceSandboxTools } from "../sandbox/index.js";
|
|
4
|
+
import { tryResolve } from "../extensions/contracts.js";
|
|
5
|
+
import { SandboxShellToolsProviderName, } from "../extensions/sandbox/index.js";
|
|
3
6
|
import { SKILL_TOOL_IDS } from "../skill/types.js";
|
|
4
7
|
import { toolRegistry } from "../tool/index.js";
|
|
5
8
|
import { defineSchema, lazySchema } from "../schemas/index.js";
|
|
@@ -9,6 +12,7 @@ import { serverLogger } from "../utils/index.js";
|
|
|
9
12
|
const getAnyObjectSchema = defineSchema((v) => v.record(v.string(), v.unknown()));
|
|
10
13
|
const anyObjectSchema = lazySchema(getAnyObjectSchema);
|
|
11
14
|
const logger = serverLogger.component("internal-agent-run-stream");
|
|
15
|
+
const PROJECT_AGENT_SANDBOX_BASH_TOOL_NAME = "bash";
|
|
12
16
|
function getAgentAllowedRemoteToolNames(agent) {
|
|
13
17
|
const raw = agent.config.allowedRemoteTools;
|
|
14
18
|
return Array.isArray(raw) && raw.every((toolName) => typeof toolName === "string") ? raw : [];
|
|
@@ -37,7 +41,7 @@ function createInjectedStudioTool(runId, toolName, description, parameters, sess
|
|
|
37
41
|
},
|
|
38
42
|
};
|
|
39
43
|
}
|
|
40
|
-
function buildMergedTools(agent, input, sessionManager, availableForwardedToolNames) {
|
|
44
|
+
function buildMergedTools(agent, input, sessionManager, availableForwardedToolNames, availableLocalTools) {
|
|
41
45
|
const injectedTools = Object.fromEntries(input.tools.map((tool) => [
|
|
42
46
|
tool.name,
|
|
43
47
|
createInjectedStudioTool(input.runId, tool.name, tool.description, tool.inputSchema ?? tool.parameters, sessionManager),
|
|
@@ -63,9 +67,10 @@ function buildMergedTools(agent, input, sessionManager, availableForwardedToolNa
|
|
|
63
67
|
for (const [toolName, entry] of Object.entries(agent.config.tools)) {
|
|
64
68
|
if (entry === true) {
|
|
65
69
|
if (toolRegistry.get(toolName) ||
|
|
70
|
+
availableLocalTools?.[toolName] ||
|
|
66
71
|
availableForwardedToolNames?.includes(toolName) ||
|
|
67
72
|
sourceAllowedRemoteToolNames.includes(toolName)) {
|
|
68
|
-
merged[toolName] = true;
|
|
73
|
+
merged[toolName] = availableLocalTools?.[toolName] ?? true;
|
|
69
74
|
}
|
|
70
75
|
continue;
|
|
71
76
|
}
|
|
@@ -76,6 +81,69 @@ function buildMergedTools(agent, input, sessionManager, availableForwardedToolNa
|
|
|
76
81
|
const filtered = { ...merged, ...injectedTools };
|
|
77
82
|
return Object.keys(filtered).length > 0 ? filtered : undefined;
|
|
78
83
|
}
|
|
84
|
+
async function loadDefaultCreateBashTool() {
|
|
85
|
+
const provider = tryResolve(SandboxShellToolsProviderName);
|
|
86
|
+
if (provider)
|
|
87
|
+
return provider;
|
|
88
|
+
const { createBashSandboxShellToolsProvider } = await import("../../extensions/ext-sandbox-shell-tools/src/index.js");
|
|
89
|
+
return createBashSandboxShellToolsProvider;
|
|
90
|
+
}
|
|
91
|
+
function getStringProperty(value, keys) {
|
|
92
|
+
for (const key of keys) {
|
|
93
|
+
const candidate = value[key];
|
|
94
|
+
if (typeof candidate === "string" && candidate.trim()) {
|
|
95
|
+
return candidate.trim();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
function getAgentSandboxConfig(agent) {
|
|
101
|
+
const config = agent.config;
|
|
102
|
+
if (!isRecord(config.sandbox)) {
|
|
103
|
+
return {};
|
|
104
|
+
}
|
|
105
|
+
return {
|
|
106
|
+
sandboxId: getStringProperty(config.sandbox, ["id", "sandboxId", "sessionId"]),
|
|
107
|
+
projectId: getStringProperty(config.sandbox, ["projectId"]),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
function shouldExposeSandboxBash(agent) {
|
|
111
|
+
const tools = agent.config.tools;
|
|
112
|
+
return isRecord(tools) && tools[PROJECT_AGENT_SANDBOX_BASH_TOOL_NAME] === true;
|
|
113
|
+
}
|
|
114
|
+
async function buildProjectAgentSandboxTools(input) {
|
|
115
|
+
if (!shouldExposeSandboxBash(input.agent)) {
|
|
116
|
+
return {};
|
|
117
|
+
}
|
|
118
|
+
const sandboxConfig = getAgentSandboxConfig(input.agent);
|
|
119
|
+
const createBashTool = input.deps.createBashTool ?? await loadDefaultCreateBashTool();
|
|
120
|
+
const createSandboxTools = input.deps.createAgentServiceSandboxTools ??
|
|
121
|
+
createAgentServiceSandboxTools;
|
|
122
|
+
const sandboxResult = await createSandboxTools({
|
|
123
|
+
createBashTool,
|
|
124
|
+
...(input.deps.projectAgentSandbox?.apiUrl
|
|
125
|
+
? { apiUrl: input.deps.projectAgentSandbox.apiUrl }
|
|
126
|
+
: {}),
|
|
127
|
+
...(input.deps.projectAgentSandbox?.authToken
|
|
128
|
+
? { authToken: input.deps.projectAgentSandbox.authToken }
|
|
129
|
+
: {}),
|
|
130
|
+
...(sandboxConfig.sandboxId
|
|
131
|
+
? { sandboxId: sandboxConfig.sandboxId, deleteOnClose: false }
|
|
132
|
+
: {}),
|
|
133
|
+
getProjectId: () => sandboxConfig.projectId ?? input.deps.projectAgentSandbox?.projectId,
|
|
134
|
+
});
|
|
135
|
+
const bash = sandboxResult.tools[PROJECT_AGENT_SANDBOX_BASH_TOOL_NAME];
|
|
136
|
+
if (!bash) {
|
|
137
|
+
await sandboxResult.closeSandbox();
|
|
138
|
+
return {};
|
|
139
|
+
}
|
|
140
|
+
return {
|
|
141
|
+
tools: {
|
|
142
|
+
[PROJECT_AGENT_SANDBOX_BASH_TOOL_NAME]: bash,
|
|
143
|
+
},
|
|
144
|
+
closeSandbox: sandboxResult.closeSandbox,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
79
147
|
function isRecord(value) {
|
|
80
148
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
81
149
|
}
|
|
@@ -126,7 +194,8 @@ export async function createRuntimeAgentStreamResponse(input, agent, deps) {
|
|
|
126
194
|
const allowedRemoteToolNames = getAllowedRemoteToolNames(input.forwardedProps);
|
|
127
195
|
const forwardedIntegrationToolDefs = getForwardedIntegrationToolDefinitions(input.forwardedProps);
|
|
128
196
|
const availableForwardedToolNames = forwardedIntegrationToolDefs?.map((tool) => tool.name);
|
|
129
|
-
const
|
|
197
|
+
const sandboxTools = await buildProjectAgentSandboxTools({ agent, deps });
|
|
198
|
+
const mergedTools = buildMergedTools(agent, input, deps.sessionManager, availableForwardedToolNames, sandboxTools.tools);
|
|
130
199
|
const runtimeAgent = {
|
|
131
200
|
...agent,
|
|
132
201
|
config: {
|
|
@@ -167,6 +236,13 @@ export async function createRuntimeAgentStreamResponse(input, agent, deps) {
|
|
|
167
236
|
}
|
|
168
237
|
catch (error) {
|
|
169
238
|
deps.sessionManager.failRun(input.runId);
|
|
239
|
+
await sandboxTools.closeSandbox?.().catch((cleanupError) => {
|
|
240
|
+
logger.warn("Internal agent runtime sandbox cleanup failed after setup error", {
|
|
241
|
+
runId: input.runId,
|
|
242
|
+
agentId: agent.id,
|
|
243
|
+
error: cleanupError instanceof Error ? cleanupError.message : String(cleanupError),
|
|
244
|
+
});
|
|
245
|
+
});
|
|
170
246
|
logger.error("Internal agent runtime stream setup failed", {
|
|
171
247
|
runId: input.runId,
|
|
172
248
|
threadId: input.threadId,
|
|
@@ -303,6 +379,13 @@ export async function createRuntimeAgentStreamResponse(input, agent, deps) {
|
|
|
303
379
|
if (clientAttached) {
|
|
304
380
|
controller.close();
|
|
305
381
|
}
|
|
382
|
+
await sandboxTools.closeSandbox?.().catch((cleanupError) => {
|
|
383
|
+
logger.warn("Internal agent runtime sandbox cleanup failed", {
|
|
384
|
+
runId: input.runId,
|
|
385
|
+
agentId: agent.id,
|
|
386
|
+
error: cleanupError instanceof Error ? cleanupError.message : String(cleanupError),
|
|
387
|
+
});
|
|
388
|
+
});
|
|
306
389
|
logger.debug("Internal agent runtime stream response closed", {
|
|
307
390
|
runId: input.runId,
|
|
308
391
|
threadId: input.threadId,
|
package/esm/src/jobs/index.d.ts
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* Provides a public SDK surface for one-off jobs, cron jobs, batch summaries,
|
|
5
|
-
* job target discovery, and the canonical split between user-visible `events`
|
|
6
|
-
* and raw debugging `logs`.
|
|
7
|
-
*
|
|
8
|
-
* Task definitions run as job runs with `task:<task-id>` targets. Workflow
|
|
9
|
-
* definitions run as workflow runs with `workflow:<workflow-id>` targets and
|
|
10
|
-
* are backed by jobs for queueing and dispatch.
|
|
2
|
+
* Durable background jobs, cron jobs, and task runs.
|
|
11
3
|
*
|
|
12
4
|
* @module
|
|
13
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/jobs/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/jobs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,+BAA+B,EACpC,KAAK,iCAAiC,EACtC,KAAK,kCAAkC,EACvC,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,mBAAmB,EACnB,KAAK,yBAAyB,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,OAAO,EACZ,aAAa,EACb,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,GAAG,EACR,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,oBAAoB,EACpB,cAAc,EACd,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,QAAQ,EACb,cAAc,EACd,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,OAAO,EACZ,aAAa,EACb,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,SAAS,EACd,eAAe,EACf,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,SAAS,EACT,KAAK,SAAS,EACd,eAAe,EACf,KAAK,mBAAmB,EACxB,yBAAyB,EACzB,KAAK,4BAA4B,EACjC,kCAAkC,EAClC,KAAK,0BAA0B,EAC/B,gCAAgC,EAChC,KAAK,qCAAqC,EAC1C,2CAA2C,EAC3C,KAAK,+BAA+B,EACpC,qCAAqC,EACrC,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,wBAAwB,EAC7B,oCAAoC,EACpC,sCAAsC,EACtC,8BAA8B,EAC9B,KAAK,gCAAgC,EACrC,sCAAsC,EACtC,cAAc,EACd,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,KAAK,uBAAuB,EAC5B,6BAA6B,GAC9B,MAAM,cAAc,CAAC"}
|
package/esm/src/jobs/index.js
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* Provides a public SDK surface for one-off jobs, cron jobs, batch summaries,
|
|
5
|
-
* job target discovery, and the canonical split between user-visible `events`
|
|
6
|
-
* and raw debugging `logs`.
|
|
7
|
-
*
|
|
8
|
-
* Task definitions run as job runs with `task:<task-id>` targets. Workflow
|
|
9
|
-
* definitions run as workflow runs with `workflow:<workflow-id>` targets and
|
|
10
|
-
* are backed by jobs for queueing and dispatch.
|
|
2
|
+
* Durable background jobs, cron jobs, and task runs.
|
|
11
3
|
*
|
|
12
4
|
* @module
|
|
13
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/observability/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/observability/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,KAAK,WAAW,EAChB,SAAS,EACT,KAAK,aAAa,EAClB,cAAc,EACd,QAAQ,EACR,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,KAAK,aAAa,EAClB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,KAAK,oBAAoB,EACzB,uBAAuB,EACvB,UAAU,EACV,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,cAAc,EACd,aAAa,EACb,KAAK,UAAU,EACf,YAAY,GACb,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,gCAAgC,EAChC,KAAK,uCAAuC,EAC5C,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,GACnC,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,KAAK,QAAQ,EACb,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,KAAK,QAAQ,EACb,KAAK,SAAS,IAAI,eAAe,EACjC,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,uBAAuB,EACvB,KAAK,aAAa,EAClB,iBAAiB,EACjB,YAAY,GACb,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* Maps "provider/model" strings to framework-compatible model runtimes.
|
|
5
|
-
* Auto-initializes built-in providers from environment variables on first use.
|
|
2
|
+
* Model provider registry and runtime resolution.
|
|
6
3
|
*
|
|
7
4
|
* @module provider
|
|
8
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/provider/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/provider/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,GAClC,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,YAAY,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EACL,gCAAgC,EAChC,uBAAuB,EACvB,gCAAgC,EAChC,oCAAoC,EACpC,mCAAmC,EACnC,8BAA8B,EAC9B,kCAAkC,EAClC,mCAAmC,EACnC,4BAA4B,EAC5B,kCAAkC,EAClC,4CAA4C,EAC5C,uCAAuC,EACvC,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EACV,uBAAuB,EACvB,iCAAiC,GAClC,MAAM,oCAAoC,CAAC"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* Maps "provider/model" strings to framework-compatible model runtimes.
|
|
5
|
-
* Auto-initializes built-in providers from environment variables on first use.
|
|
2
|
+
* Model provider registry and runtime resolution.
|
|
6
3
|
*
|
|
7
4
|
* @module provider
|
|
8
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/sandbox/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/sandbox/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gCAAgC,EACrC,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,OAAO,EACP,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,KAAK,kBAAkB,EACvB,oCAAoC,GACrC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,0CAA0C,EAC/C,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EACnC,+BAA+B,EAC/B,8BAA8B,EAC9B,yBAAyB,EACzB,wBAAwB,EACxB,8BAA8B,EAC9B,KAAK,oCAAoC,EACzC,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,oCAAoC,GACrC,MAAM,0BAA0B,CAAC"}
|
package/esm/src/sandbox/index.js
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { type BackgroundCommand, type BackgroundCommandOutput, type ExecOptions, type ExecResult, type ExecStreamEvent, type SandboxOptions } from "./types.js";
|
|
2
2
|
/** Options accepted by lazy sandbox. */
|
|
3
3
|
export interface LazySandboxOptions extends SandboxOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Optional existing sandbox session to attach to instead of creating a new one.
|
|
6
|
+
* Attached sessions are detached, not deleted, on close unless deleteOnClose is true.
|
|
7
|
+
*/
|
|
8
|
+
sandboxId?: string;
|
|
9
|
+
/** Optional known endpoint for sandboxId; avoids the initial control-plane lookup. */
|
|
10
|
+
sandboxEndpoint?: string;
|
|
11
|
+
/** Delete the sandbox when closing. Defaults to true for created sessions and false for sandboxId. */
|
|
12
|
+
deleteOnClose?: boolean;
|
|
4
13
|
getProjectId?: () => string | null | undefined;
|
|
5
14
|
startupTimeoutMs?: number;
|
|
6
15
|
pollIntervalMs?: number;
|
|
@@ -23,6 +32,9 @@ export declare function resolveDefaultSandboxRuntimeEndpoint(input: {
|
|
|
23
32
|
export declare class LazySandbox {
|
|
24
33
|
private readonly apiUrl;
|
|
25
34
|
private readonly authToken;
|
|
35
|
+
private readonly sandboxId;
|
|
36
|
+
private readonly sandboxEndpoint;
|
|
37
|
+
private readonly deleteOnClose;
|
|
26
38
|
private readonly getProjectId;
|
|
27
39
|
private readonly startupTimeoutMs;
|
|
28
40
|
private readonly pollIntervalMs;
|
|
@@ -63,6 +75,8 @@ export declare class LazySandbox {
|
|
|
63
75
|
get isActive(): boolean;
|
|
64
76
|
private bootstrapSession;
|
|
65
77
|
private resolveReadyEndpoint;
|
|
78
|
+
private attachExistingSession;
|
|
79
|
+
private getSession;
|
|
66
80
|
private waitForReadySession;
|
|
67
81
|
private touchSession;
|
|
68
82
|
private startHeartbeatLoop;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy-sandbox.d.ts","sourceRoot":"","sources":["../../../src/src/sandbox/lazy-sandbox.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAE5B,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAEpB,wCAAwC;AACxC,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;CACrF;AA4BD,iDAAiD;AACjD,wBAAgB,oCAAoC,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAmBxF;AAED,4EAA4E;AAC5E,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAK/B;IAEd,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,cAAc,CAAuD;IAC7E,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAA6B;gBAElE,OAAO,GAAE,kBAAuB;
|
|
1
|
+
{"version":3,"file":"lazy-sandbox.d.ts","sourceRoot":"","sources":["../../../src/src/sandbox/lazy-sandbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,9 @@ export function resolveDefaultSandboxRuntimeEndpoint(input) {
|
|
|
40
40
|
export class LazySandbox {
|
|
41
41
|
apiUrl;
|
|
42
42
|
authToken;
|
|
43
|
+
sandboxId;
|
|
44
|
+
sandboxEndpoint;
|
|
45
|
+
deleteOnClose;
|
|
43
46
|
getProjectId;
|
|
44
47
|
startupTimeoutMs;
|
|
45
48
|
pollIntervalMs;
|
|
@@ -62,6 +65,9 @@ export class LazySandbox {
|
|
|
62
65
|
constructor(options = {}) {
|
|
63
66
|
this.apiUrl = resolveSandboxApiUrl(options);
|
|
64
67
|
this.authToken = resolveSandboxAuthToken(options);
|
|
68
|
+
this.sandboxId = options.sandboxId?.trim() || undefined;
|
|
69
|
+
this.sandboxEndpoint = options.sandboxEndpoint?.trim() || undefined;
|
|
70
|
+
this.deleteOnClose = options.deleteOnClose ?? !this.sandboxId;
|
|
65
71
|
this.getProjectId = options.getProjectId ?? (() => options.projectId);
|
|
66
72
|
this.startupTimeoutMs = options.startupTimeoutMs ?? DEFAULT_STARTUP_TIMEOUT_MS;
|
|
67
73
|
this.pollIntervalMs = options.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS;
|
|
@@ -313,7 +319,9 @@ export class LazySandbox {
|
|
|
313
319
|
this.resetSessionState();
|
|
314
320
|
return;
|
|
315
321
|
}
|
|
316
|
-
|
|
322
|
+
if (this.deleteOnClose) {
|
|
323
|
+
await this.deleteSession(currentSessionId);
|
|
324
|
+
}
|
|
317
325
|
this.resetSessionState(currentSessionId);
|
|
318
326
|
})(),
|
|
319
327
|
};
|
|
@@ -337,6 +345,10 @@ export class LazySandbox {
|
|
|
337
345
|
return this.endpoint !== null;
|
|
338
346
|
}
|
|
339
347
|
async bootstrapSession() {
|
|
348
|
+
if (this.sandboxId) {
|
|
349
|
+
await this.attachExistingSession(this.sandboxId);
|
|
350
|
+
return;
|
|
351
|
+
}
|
|
340
352
|
const projectId = this.resolveProjectId();
|
|
341
353
|
const res = await this.fetchControl(`${this.apiUrl}/sandbox-sessions`, {
|
|
342
354
|
method: "POST",
|
|
@@ -359,7 +371,7 @@ export class LazySandbox {
|
|
|
359
371
|
}
|
|
360
372
|
catch (error) {
|
|
361
373
|
const currentSessionId = this.sessionId;
|
|
362
|
-
if (currentSessionId) {
|
|
374
|
+
if (currentSessionId && this.deleteOnClose) {
|
|
363
375
|
await this.deleteSession(currentSessionId);
|
|
364
376
|
}
|
|
365
377
|
this.resetSessionState(currentSessionId ?? undefined);
|
|
@@ -372,6 +384,34 @@ export class LazySandbox {
|
|
|
372
384
|
}
|
|
373
385
|
return (await this.waitForReadySession(session.id)).endpoint;
|
|
374
386
|
}
|
|
387
|
+
async attachExistingSession(sessionId) {
|
|
388
|
+
const projectId = this.resolveProjectId();
|
|
389
|
+
this.sessionId = sessionId;
|
|
390
|
+
this.sessionProjectId = projectId;
|
|
391
|
+
try {
|
|
392
|
+
const session = this.sandboxEndpoint
|
|
393
|
+
? { id: sessionId, endpoint: this.sandboxEndpoint, status: "running" }
|
|
394
|
+
: await this.getSession(sessionId);
|
|
395
|
+
this.endpoint = await this.resolveReadyEndpoint(session);
|
|
396
|
+
await this.heartbeat(true);
|
|
397
|
+
this.startHeartbeatLoop();
|
|
398
|
+
}
|
|
399
|
+
catch (error) {
|
|
400
|
+
this.resetSessionState(sessionId);
|
|
401
|
+
throw error;
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
async getSession(sessionId) {
|
|
405
|
+
const res = await this.fetchControl(`${this.apiUrl}/sandbox-sessions/${sessionId}`, {
|
|
406
|
+
headers: this.authHeaders(),
|
|
407
|
+
});
|
|
408
|
+
if (!res.ok) {
|
|
409
|
+
throw REQUEST_ERROR.create({
|
|
410
|
+
detail: `Failed to get sandbox: ${res.status} ${await res.text()}`,
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
return await res.json();
|
|
414
|
+
}
|
|
375
415
|
async waitForReadySession(sessionId) {
|
|
376
416
|
const start = Date.now();
|
|
377
417
|
while (Date.now() - start < this.startupTimeoutMs) {
|
|
@@ -396,7 +436,7 @@ export class LazySandbox {
|
|
|
396
436
|
}
|
|
397
437
|
async touchSession() {
|
|
398
438
|
const projectId = this.resolveProjectId();
|
|
399
|
-
if (this.endpoint && this.sessionProjectId !== projectId) {
|
|
439
|
+
if (!this.sandboxId && this.endpoint && this.sessionProjectId !== projectId) {
|
|
400
440
|
const currentSessionId = this.sessionId;
|
|
401
441
|
if (currentSessionId) {
|
|
402
442
|
await this.deleteSession(currentSessionId);
|
|
@@ -514,7 +554,9 @@ export class LazySandbox {
|
|
|
514
554
|
const sessionId = this.sessionId;
|
|
515
555
|
if (!sessionId)
|
|
516
556
|
return;
|
|
517
|
-
|
|
557
|
+
if (this.deleteOnClose) {
|
|
558
|
+
await this.deleteSession(sessionId);
|
|
559
|
+
}
|
|
518
560
|
this.resetSessionState(sessionId);
|
|
519
561
|
}
|
|
520
562
|
resolveRuntimeEndpoint() {
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Reusable validation schemas
|
|
3
|
-
* pagination) and primitives (file paths, hex colors, semver, timestamps),
|
|
4
|
-
* plus the `defineSchema` lazy-factory helper.
|
|
5
|
-
*
|
|
6
|
-
* `defineSchema` resolves the `SchemaValidator` contract on first use. The
|
|
7
|
-
* default zod-backed implementation lives in `@veryfront/ext-schema-zod` and is
|
|
8
|
-
* registered at app bootstrap by `createBuiltinExtensions()`.
|
|
2
|
+
* Reusable validation schemas and the `defineSchema` helper.
|
|
9
3
|
*
|
|
10
4
|
* @example
|
|
11
5
|
* ```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/schemas/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EACL,gBAAgB,IAAI,gBAAgB,EACpC,KAAK,UAAU,EACf,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,aAAa,EACb,KAAK,SAAS,EACd,KAAK,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,uBAAuB,EACvB,YAAY,EACZ,aAAa,EACb,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,IAAI,EACT,KAAK,cAAc,EACnB,KAAK,GAAG,EACR,KAAK,IAAI,GACV,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,SAAS,GACf,MAAM,iBAAiB,CAAC"}
|
package/esm/src/schemas/index.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Reusable validation schemas
|
|
3
|
-
* pagination) and primitives (file paths, hex colors, semver, timestamps),
|
|
4
|
-
* plus the `defineSchema` lazy-factory helper.
|
|
5
|
-
*
|
|
6
|
-
* `defineSchema` resolves the `SchemaValidator` contract on first use. The
|
|
7
|
-
* default zod-backed implementation lives in `@veryfront/ext-schema-zod` and is
|
|
8
|
-
* registered at app bootstrap by `createBuiltinExtensions()`.
|
|
2
|
+
* Reusable validation schemas and the `defineSchema` helper.
|
|
9
3
|
*
|
|
10
4
|
* @example
|
|
11
5
|
* ```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-stream.handler.d.ts","sourceRoot":"","sources":["../../../../../src/src/server/handlers/request/agent-stream.handler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,4BAA4B,EAE7B,MAAM,2CAA2C,CAAC;AAwBnD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAmB,aAAa,EAAE,MAAM,aAAa,CAAC;AAUnG,MAAM,WAAW,sBACf,SAAQ,yBAAyB,EAAE,+BAA+B;IAClE,4BAA4B,CAAC,EAAE,OAAO,4BAA4B,CAAC;CACpE;AAyND,qBAAa,kBAAmB,SAAQ,WAAW;IASrC,OAAO,CAAC,QAAQ,CAAC,IAAI;IARjC,QAAQ,EAAE,eAAe,CAMvB;gBAE2B,IAAI,GAAE,sBAAoC;IAIvE,OAAO,CAAC,sBAAsB;IAwBxB,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-stream.handler.d.ts","sourceRoot":"","sources":["../../../../../src/src/server/handlers/request/agent-stream.handler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,4BAA4B,EAE7B,MAAM,2CAA2C,CAAC;AAwBnD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAmB,aAAa,EAAE,MAAM,aAAa,CAAC;AAUnG,MAAM,WAAW,sBACf,SAAQ,yBAAyB,EAAE,+BAA+B;IAClE,4BAA4B,CAAC,EAAE,OAAO,4BAA4B,CAAC;CACpE;AAyND,qBAAa,kBAAmB,SAAQ,WAAW;IASrC,OAAO,CAAC,QAAQ,CAAC,IAAI;IARjC,QAAQ,EAAE,eAAe,CAMvB;gBAE2B,IAAI,GAAE,sBAAoC;IAIvE,OAAO,CAAC,sBAAsB;IAwBxB,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CA+JxE"}
|
|
@@ -23,7 +23,7 @@ const VERYFRONT_PLATFORM_REMOTE_TOOL_SOURCE_ID = "veryfront-platform-mcp";
|
|
|
23
23
|
const VERYFRONT_PLATFORM_REMOTE_TOOL_NAMES = new Set(["search_knowledge", "get_file"]);
|
|
24
24
|
// Per-environment env var cache shared across all agent stream requests (60s TTL)
|
|
25
25
|
const _agentEnvVarCache = new EnvironmentVariableCache((environmentId, token, projectSlug) => {
|
|
26
|
-
const apiBaseUrl = getHostEnv("VERYFRONT_API_URL") ?? "https://api.veryfront.
|
|
26
|
+
const apiBaseUrl = getHostEnv("VERYFRONT_API_URL") ?? "https://api.veryfront.com";
|
|
27
27
|
return fetchProjectEnvVars(apiBaseUrl, projectSlug, environmentId, token);
|
|
28
28
|
});
|
|
29
29
|
// Cache: projectSlug → production environmentId (stable across restarts)
|
|
@@ -32,7 +32,7 @@ async function _resolveProductionEnvironmentId(projectSlug, token) {
|
|
|
32
32
|
const cached = _productionEnvIdCache.get(projectSlug);
|
|
33
33
|
if (cached)
|
|
34
34
|
return cached;
|
|
35
|
-
const apiBaseUrl = getHostEnv("VERYFRONT_API_URL") ?? "https://api.veryfront.
|
|
35
|
+
const apiBaseUrl = getHostEnv("VERYFRONT_API_URL") ?? "https://api.veryfront.com";
|
|
36
36
|
try {
|
|
37
37
|
const res = await fetch(`${apiBaseUrl}/projects/${encodeURIComponent(projectSlug)}/environments`, { headers: { Authorization: `Bearer ${token}`, Accept: "application/json" } });
|
|
38
38
|
if (!res.ok) {
|
|
@@ -78,7 +78,7 @@ function withVeryfrontPlatformRemoteTools(input) {
|
|
|
78
78
|
if (requestedToolNames.length === 0 || !input.token) {
|
|
79
79
|
return input.agent;
|
|
80
80
|
}
|
|
81
|
-
const apiUrl = getHostEnv("VERYFRONT_API_URL") ?? "https://api.veryfront.
|
|
81
|
+
const apiUrl = getHostEnv("VERYFRONT_API_URL") ?? "https://api.veryfront.com";
|
|
82
82
|
const remoteTools = input.agent.config.remoteTools ?? [];
|
|
83
83
|
const platformRemoteToolSource = hasVeryfrontPlatformRemoteToolSource(remoteTools) ? [] : [
|
|
84
84
|
createRemoteMCPToolSource({
|
|
@@ -97,7 +97,7 @@ function withVeryfrontPlatformRemoteTools(input) {
|
|
|
97
97
|
};
|
|
98
98
|
}
|
|
99
99
|
function buildAgentStreamEnv(input) {
|
|
100
|
-
const apiUrl = getHostEnv("VERYFRONT_API_URL") ?? "https://api.veryfront.
|
|
100
|
+
const apiUrl = getHostEnv("VERYFRONT_API_URL") ?? "https://api.veryfront.com";
|
|
101
101
|
return {
|
|
102
102
|
...input.envVars,
|
|
103
103
|
// Framework-owned values must override project env to keep request-scoped
|
|
@@ -249,7 +249,14 @@ export class AgentStreamHandler extends BaseHandler {
|
|
|
249
249
|
});
|
|
250
250
|
}
|
|
251
251
|
}
|
|
252
|
-
const runAgentStream = () => createRuntimeAgentStreamResponse(runtimeInput, runtimeAgent,
|
|
252
|
+
const runAgentStream = () => createRuntimeAgentStreamResponse(runtimeInput, runtimeAgent, {
|
|
253
|
+
...this.deps,
|
|
254
|
+
projectAgentSandbox: {
|
|
255
|
+
apiUrl: getHostEnv("VERYFRONT_API_URL") ?? "https://api.veryfront.com",
|
|
256
|
+
authToken: ctx.proxyToken || getHostEnv("VERYFRONT_API_TOKEN") || undefined,
|
|
257
|
+
projectId: ctx.projectId ?? null,
|
|
258
|
+
},
|
|
259
|
+
});
|
|
253
260
|
const shouldIsolateEnv = !!ctx.proxyToken;
|
|
254
261
|
const response = shouldIsolateEnv
|
|
255
262
|
? await runWithProjectEnv(buildAgentStreamEnv({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/server/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/server/index.ts"],"names":[],"mappings":"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"}
|
package/esm/src/server/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/testing/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,yBAAyB,CAAC;AAEjC,OAAO,WAAW,CAAC;AAEnB,OAAO,EACL,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,IAAI,GACL,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,EAAE,EACF,IAAI,GACL,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExE,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,GAAG,EACH,KAAK,EACL,SAAS,EACT,GAAG,EACH,MAAM,EACN,IAAI,EACJ,OAAO,EACP,MAAM,EACN,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,sBAAsB,EACtB,YAAY,EACZ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,OAAO,EACP,OAAO,EACP,WAAW,EACX,YAAY,EACZ,SAAS,EACT,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC"}
|
package/esm/src/testing/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../../../../src/src/transforms/pipeline/stages/ssr-vf-modules/transform.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAarE,OAAO,EAOL,KAAK,gBAAgB,EAGtB,MAAM,gBAAgB,CAAC;AAKxB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GACtC,OAAO,CAAC,MAAM,CAAC,CA2BjB;
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../../../../src/src/transforms/pipeline/stages/ssr-vf-modules/transform.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAarE,OAAO,EAOL,KAAK,gBAAgB,EAGtB,MAAM,gBAAgB,CAAC;AAKxB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GACtC,OAAO,CAAC,MAAM,CAAC,CA2BjB;AAqLD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,gBAAgB,EACrB,oBAAoB,UAAQ,EAC5B,KAAK,SAAI,GACR,OAAO,CAAC,MAAM,CAAC,CAiQjB;AAED;;;GAGG;AACH,wBAAsB,kCAAkC,CACtD,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4CxB;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GACtC,OAAO,CAAC,MAAM,CAAC,CAEjB"}
|