veryfront 0.1.602 → 0.1.604
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/deno.js +1 -1
- package/esm/src/agent/runtime/tool-helpers.js +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/operations.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/operations.js +10 -4
- package/esm/src/sandbox/lazy-sandbox.d.ts +2 -0
- package/esm/src/sandbox/lazy-sandbox.d.ts.map +1 -1
- package/esm/src/sandbox/lazy-sandbox.js +36 -4
- package/esm/src/sandbox/shell-tools.d.ts.map +1 -1
- package/esm/src/sandbox/shell-tools.js +4 -4
- 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
|
@@ -183,7 +183,7 @@ function logToolDefinition(name, def) {
|
|
|
183
183
|
function addToolDefinition(tools, name,
|
|
184
184
|
// deno-lint-ignore no-explicit-any -- generic erasure: accepts Tool with any input/output types
|
|
185
185
|
tool) {
|
|
186
|
-
const def = toolToProviderDefinition(tool);
|
|
186
|
+
const def = toolToProviderDefinition({ ...tool, id: name });
|
|
187
187
|
logToolDefinition(name, def);
|
|
188
188
|
tools.push(def);
|
|
189
189
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../../src/src/platform/adapters/veryfront-api-client/operations.ts"],"names":[],"mappings":"AACA,OAAO,EAAyC,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE7F,OAAO,EAWL,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAQ5B,MAAM,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAC/B,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,SAAS,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAA0B,SAAQ,qBAAqB;IACtE,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,6BAA8B,SAAQ,yBAAyB;IAC9E,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;IACzE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../../src/src/platform/adapters/veryfront-api-client/operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,10 @@ function buildListParams(options) {
|
|
|
19
19
|
params.set("pattern", pattern);
|
|
20
20
|
return params;
|
|
21
21
|
}
|
|
22
|
+
function addRuntimeServerFunctionAccess(params) {
|
|
23
|
+
params.set("include_server_functions", "true");
|
|
24
|
+
return params;
|
|
25
|
+
}
|
|
22
26
|
function mapProjectFile(file) {
|
|
23
27
|
return {
|
|
24
28
|
id: file.id,
|
|
@@ -159,7 +163,7 @@ export class VeryfrontAPIOperations {
|
|
|
159
163
|
});
|
|
160
164
|
}
|
|
161
165
|
async listEnvironmentFiles(projectRef, environmentName = "production", options = {}) {
|
|
162
|
-
const params = buildListParams(options);
|
|
166
|
+
const params = addRuntimeServerFunctionAccess(buildListParams(options));
|
|
163
167
|
const url = `/projects/${encodeURIComponent(projectRef)}/environments/${encodeURIComponent(environmentName)}/files?${params}`;
|
|
164
168
|
logger.debug("listEnvironmentFiles", {
|
|
165
169
|
projectRef,
|
|
@@ -192,7 +196,8 @@ export class VeryfrontAPIOperations {
|
|
|
192
196
|
}
|
|
193
197
|
getEnvironmentFile(projectRef, environmentName, pathOrId) {
|
|
194
198
|
return withSpan(SpanNames.API_GET_FILE, async () => {
|
|
195
|
-
const
|
|
199
|
+
const params = addRuntimeServerFunctionAccess(new URLSearchParams());
|
|
200
|
+
const url = `/projects/${encodeURIComponent(projectRef)}/environments/${encodeURIComponent(environmentName)}/files/${encodeURIComponent(pathOrId)}?${params}`;
|
|
196
201
|
logger.debug("getEnvironmentFile", { projectRef, environmentName, pathOrId });
|
|
197
202
|
const raw = await this.request(url);
|
|
198
203
|
const response = getEnvironmentFileDetailSchema().parse(raw);
|
|
@@ -212,7 +217,7 @@ export class VeryfrontAPIOperations {
|
|
|
212
217
|
});
|
|
213
218
|
}
|
|
214
219
|
async listReleaseFiles(projectRef, version = "latest", options = {}) {
|
|
215
|
-
const params = buildListParams(options);
|
|
220
|
+
const params = addRuntimeServerFunctionAccess(buildListParams(options));
|
|
216
221
|
const url = `/projects/${encodeURIComponent(projectRef)}/releases/${encodeURIComponent(version)}/files?${params}`;
|
|
217
222
|
logger.debug("listReleaseFiles", { projectRef, version, pattern: options.pattern });
|
|
218
223
|
const raw = await this.request(url);
|
|
@@ -229,7 +234,8 @@ export class VeryfrontAPIOperations {
|
|
|
229
234
|
}
|
|
230
235
|
getReleaseFile(projectRef, version, pathOrId) {
|
|
231
236
|
return withSpan(SpanNames.API_GET_FILE, async () => {
|
|
232
|
-
const
|
|
237
|
+
const params = addRuntimeServerFunctionAccess(new URLSearchParams());
|
|
238
|
+
const url = `/projects/${encodeURIComponent(projectRef)}/releases/${encodeURIComponent(version)}/files/${encodeURIComponent(pathOrId)}?${params}`;
|
|
233
239
|
logger.debug("getReleaseFile", { projectRef, version, pathOrId });
|
|
234
240
|
const raw = await this.request(url);
|
|
235
241
|
const response = getReleaseFileDetailSchema().parse(raw);
|
|
@@ -78,6 +78,7 @@ export declare class LazySandbox {
|
|
|
78
78
|
private attachExistingSession;
|
|
79
79
|
private getSession;
|
|
80
80
|
private waitForReadySession;
|
|
81
|
+
private waitForRuntimeDataPlaneReady;
|
|
81
82
|
private touchSession;
|
|
82
83
|
private startHeartbeatLoop;
|
|
83
84
|
private stopHeartbeatLoop;
|
|
@@ -94,6 +95,7 @@ export declare class LazySandbox {
|
|
|
94
95
|
private waitForExecStartRetry;
|
|
95
96
|
private reprovisionAfterExecStartFailure;
|
|
96
97
|
private resolveRuntimeEndpoint;
|
|
98
|
+
private resolveRuntimeEndpointFor;
|
|
97
99
|
private requireSessionId;
|
|
98
100
|
private authHeaders;
|
|
99
101
|
private jsonHeaders;
|
|
@@ -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;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sGAAsG;IACtG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,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;
|
|
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;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sGAAsG;IACtG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,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;AA6BD,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,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,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;IAoBtC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBvB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAsB1E,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC,eAAe,CAAC;IA0CvF,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBvC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB1E,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqB1F,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkBnE,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAyB/E,sBAAsB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAkBtD,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmBtE,SAAS,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwC5B,IAAI,EAAE,IAAI,MAAM,GAAG,IAAI,CAEtB;IAED,IAAI,GAAG,IAAI,MAAM,GAAG,IAAI,CAEvB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;YAEa,gBAAgB;YAsChB,oBAAoB;YASpB,qBAAqB;YAkBrB,UAAU;YAcV,mBAAmB;YA4BnB,4BAA4B;YAiC5B,YAAY;IAc1B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,iBAAiB;YAMX,aAAa;IAO3B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,kBAAkB;YAKZ,gCAAgC;IAU9C,OAAO,CAAC,8BAA8B;YAmBxB,SAAS;YAkCT,cAAc;YAId,YAAY;IAI1B,OAAO,CAAC,qBAAqB;YAIf,gCAAgC;IAU9C,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;CAMpB"}
|
|
@@ -10,6 +10,7 @@ const DEFAULT_CONTROL_REQUEST_TIMEOUT_MS = 15_000;
|
|
|
10
10
|
const DEFAULT_EXEC_START_TIMEOUT_MS = 30_000;
|
|
11
11
|
const DEFAULT_EXEC_START_MAX_ATTEMPTS = 3;
|
|
12
12
|
const DEFAULT_EXEC_START_RETRY_DELAY_MS = 1_000;
|
|
13
|
+
const RETRYABLE_DATA_PLANE_READINESS_STATUS_CODES = new Set([404, 502, 503, 504]);
|
|
13
14
|
const REPROVISIONABLE_EXEC_START_ERROR_CODES = new Set([
|
|
14
15
|
"ECONNREFUSED",
|
|
15
16
|
"ECONNRESET",
|
|
@@ -379,10 +380,11 @@ export class LazySandbox {
|
|
|
379
380
|
}
|
|
380
381
|
}
|
|
381
382
|
async resolveReadyEndpoint(session) {
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
383
|
+
const readySession = session.status === "running"
|
|
384
|
+
? session
|
|
385
|
+
: await this.waitForReadySession(session.id);
|
|
386
|
+
await this.waitForRuntimeDataPlaneReady(readySession);
|
|
387
|
+
return readySession.endpoint;
|
|
386
388
|
}
|
|
387
389
|
async attachExistingSession(sessionId) {
|
|
388
390
|
const projectId = this.resolveProjectId();
|
|
@@ -434,6 +436,33 @@ export class LazySandbox {
|
|
|
434
436
|
}
|
|
435
437
|
throw REQUEST_ERROR.create({ detail: "Sandbox did not become ready within timeout" });
|
|
436
438
|
}
|
|
439
|
+
async waitForRuntimeDataPlaneReady(session) {
|
|
440
|
+
if (resolveDefaultSandboxRuntimeEndpoint({ endpoint: session.endpoint }) === session.endpoint) {
|
|
441
|
+
return;
|
|
442
|
+
}
|
|
443
|
+
const runtimeEndpoint = this.resolveRuntimeEndpointFor(session.endpoint, session.id);
|
|
444
|
+
const start = Date.now();
|
|
445
|
+
let lastFailure = `sandbox status is ${session.status}`;
|
|
446
|
+
while (Date.now() - start < this.startupTimeoutMs) {
|
|
447
|
+
try {
|
|
448
|
+
const res = await this.fetchControl(`${runtimeEndpoint}/readyz`);
|
|
449
|
+
if (res.ok) {
|
|
450
|
+
return;
|
|
451
|
+
}
|
|
452
|
+
lastFailure = `${res.status} ${await res.text()}`;
|
|
453
|
+
if (!RETRYABLE_DATA_PLANE_READINESS_STATUS_CODES.has(res.status)) {
|
|
454
|
+
break;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
catch (error) {
|
|
458
|
+
lastFailure = error instanceof Error ? error.message : String(error);
|
|
459
|
+
}
|
|
460
|
+
await new Promise((resolve) => dntShim.setTimeout(resolve, this.pollIntervalMs));
|
|
461
|
+
}
|
|
462
|
+
throw REQUEST_ERROR.create({
|
|
463
|
+
detail: `Sandbox data plane did not become ready: ${lastFailure}`,
|
|
464
|
+
});
|
|
465
|
+
}
|
|
437
466
|
async touchSession() {
|
|
438
467
|
const projectId = this.resolveProjectId();
|
|
439
468
|
if (!this.sandboxId && this.endpoint && this.sessionProjectId !== projectId) {
|
|
@@ -562,6 +591,9 @@ export class LazySandbox {
|
|
|
562
591
|
resolveRuntimeEndpoint() {
|
|
563
592
|
const endpoint = this.requireEndpoint();
|
|
564
593
|
const sessionId = this.requireSessionId();
|
|
594
|
+
return this.resolveRuntimeEndpointFor(endpoint, sessionId);
|
|
595
|
+
}
|
|
596
|
+
resolveRuntimeEndpointFor(endpoint, sessionId) {
|
|
565
597
|
return this.resolveRuntimeEndpointOption?.({ endpoint, sessionId }) ??
|
|
566
598
|
resolveDefaultSandboxRuntimeEndpoint({ endpoint });
|
|
567
599
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-tools.d.ts","sourceRoot":"","sources":["../../../src/src/sandbox/shell-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAElB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,gCAAgC,CAAC;AAExC,YAAY,EACV,kBAAkB,IAAI,mBAAmB,EACzC,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,IAAI,qBAAqB,GACnD,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"shell-tools.d.ts","sourceRoot":"","sources":["../../../src/src/sandbox/shell-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAElB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,gCAAgC,CAAC;AAExC,YAAY,EACV,kBAAkB,IAAI,mBAAmB,EACzC,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,IAAI,qBAAqB,GACnD,MAAM,gCAAgC,CAAC;AAqJxC,gCAAgC;AAChC,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,mBAAmB,CAM5F;AAED,iCAAiC;AACjC,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,mBAAmB,GAAG,mBAAmB,CAiC1F;AAED,kCAAkC;AAClC,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,kBAAkB,EAC3B,gBAAgB,EAAE,yBAAyB,GAC1C,OAAO,CAAC,mBAAmB,CAAC,CAU9B"}
|
|
@@ -100,11 +100,11 @@ function normalizeJsonSchema(value) {
|
|
|
100
100
|
schema.maxItems = value.maxItems;
|
|
101
101
|
return schema;
|
|
102
102
|
}
|
|
103
|
-
function normalizeBashTool(toolDefinition) {
|
|
103
|
+
function normalizeBashTool(toolName, toolDefinition) {
|
|
104
104
|
if (!isRecord(toolDefinition)) {
|
|
105
|
-
return {};
|
|
105
|
+
return { id: toolName };
|
|
106
106
|
}
|
|
107
|
-
const normalized = {};
|
|
107
|
+
const normalized = { id: toolName };
|
|
108
108
|
const id = toolDefinition.id;
|
|
109
109
|
const type = toolDefinition.type;
|
|
110
110
|
const description = toolDefinition.description;
|
|
@@ -137,7 +137,7 @@ function normalizeBashTool(toolDefinition) {
|
|
|
137
137
|
}
|
|
138
138
|
/** Normalizes bash tool set. */
|
|
139
139
|
export function normalizeBashToolSet(bashTools) {
|
|
140
|
-
return Object.fromEntries(Object.entries(bashTools).map(([name, toolDefinition]) => [name, normalizeBashTool(toolDefinition)]));
|
|
140
|
+
return Object.fromEntries(Object.entries(bashTools).map(([name, toolDefinition]) => [name, normalizeBashTool(name, toolDefinition)]));
|
|
141
141
|
}
|
|
142
142
|
/** Rename sandbox file tools. */
|
|
143
143
|
export function renameSandboxFileTools(bashTools) {
|