veryfront 0.1.1067 → 0.1.1069
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/deploy/command.d.ts +12 -1
- package/esm/cli/commands/deploy/command.d.ts.map +1 -1
- package/esm/cli/commands/deploy/command.js +28 -1
- package/esm/cli/commands/deploy/index.d.ts +2 -2
- package/esm/cli/commands/deploy/index.d.ts.map +1 -1
- package/esm/cli/commands/deploy/index.js +1 -1
- package/esm/cli/shared/config.d.ts.map +1 -1
- package/esm/cli/shared/config.js +3 -10
- package/esm/deno.js +1 -1
- package/esm/src/agent/runtime/index.d.ts.map +1 -1
- package/esm/src/agent/runtime/index.js +64 -38
- package/esm/src/proxy/handler.d.ts +19 -0
- package/esm/src/proxy/handler.d.ts.map +1 -1
- package/esm/src/proxy/handler.js +160 -13
- package/esm/src/proxy/main.js +45 -6
- package/esm/src/proxy/retry.d.ts +1 -0
- package/esm/src/proxy/retry.d.ts.map +1 -1
- package/esm/src/proxy/retry.js +31 -14
- package/esm/src/proxy/routing-invalidation-redis.d.ts +33 -0
- package/esm/src/proxy/routing-invalidation-redis.d.ts.map +1 -0
- package/esm/src/proxy/routing-invalidation-redis.js +394 -0
- package/esm/src/proxy/routing-invalidation.d.ts +32 -0
- package/esm/src/proxy/routing-invalidation.d.ts.map +1 -0
- package/esm/src/proxy/routing-invalidation.js +135 -0
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +5 -5
|
@@ -82,10 +82,20 @@ interface Release {
|
|
|
82
82
|
build_status: string;
|
|
83
83
|
deploy_status: string;
|
|
84
84
|
}
|
|
85
|
-
|
|
85
|
+
export type DeploymentRoutingConvergence = {
|
|
86
|
+
status: "converged";
|
|
87
|
+
acknowledged: number;
|
|
88
|
+
recipients: number;
|
|
89
|
+
} | {
|
|
90
|
+
status: "pending";
|
|
91
|
+
} | {
|
|
92
|
+
status: "skipped";
|
|
93
|
+
};
|
|
94
|
+
export interface Deployment {
|
|
86
95
|
id: string;
|
|
87
96
|
release_id: string;
|
|
88
97
|
environment_id: string;
|
|
98
|
+
routing_convergence?: DeploymentRoutingConvergence;
|
|
89
99
|
}
|
|
90
100
|
export interface DeploymentVerification {
|
|
91
101
|
projectId: string;
|
|
@@ -128,6 +138,7 @@ interface DeploymentVerificationOptions {
|
|
|
128
138
|
delayMs?: number;
|
|
129
139
|
verifiedRelease?: ReleaseSourceVerification;
|
|
130
140
|
}
|
|
141
|
+
export declare function getDeploymentRoutingConvergenceWarning(deployment: Deployment): string | null;
|
|
131
142
|
export declare function assertProjectOwnership(resourceType: "Environment" | "Release", resource: {
|
|
132
143
|
id: string;
|
|
133
144
|
project_id?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/command.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAE3E,OAAO,EAAE,KAAK,SAAS,EAA0C,MAAM,wBAAwB,CAAC;AAchG;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;IAO5B,oDAAoD;;GAGvD,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;IALzB,oDAAoD;;GAKO,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;IAfxB,oDAAoD;;GAsBtD,CAAC;AAEH;;GAEG;AACH,UAAU,qBAAqB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,GAAG,IAAI,CAAC;CACV;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;CAC3C;AAED;;GAEG;AACH,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { defineSchema, lazySchema } from "../../../src/schemas/index.js";
|
|
|
10
10
|
import { cwd } from "../../../src/platform/index.js";
|
|
11
11
|
import { createApiClient, resolveConfigWithAuth } from "../../shared/config.js";
|
|
12
12
|
import { CommonArgs, createArgParser } from "../../shared/args.js";
|
|
13
|
-
import { confirmPrompt, logInfo, logSuccess } from "../../utils/index.js";
|
|
13
|
+
import { confirmPrompt, logInfo, logSuccess, logWarning } from "../../utils/index.js";
|
|
14
14
|
import { createNoopSpinner, createSpinner, muted } from "../../ui/index.js";
|
|
15
15
|
import { isJsonMode, streamJsonLine } from "../../shared/json-output.js";
|
|
16
16
|
import { computeSourceDigest, getProjectTarget, normalizeControlPlane, readPushReceipt, resolveGitSource, validatePushReceipt, } from "../../shared/deployment-provenance.js";
|
|
@@ -60,8 +60,20 @@ function normalizeDeployment(deployment) {
|
|
|
60
60
|
id: deployment.id,
|
|
61
61
|
release_id: releaseId,
|
|
62
62
|
environment_id: environmentId,
|
|
63
|
+
routing_convergence: deployment.routing_convergence,
|
|
63
64
|
};
|
|
64
65
|
}
|
|
66
|
+
export function getDeploymentRoutingConvergenceWarning(deployment) {
|
|
67
|
+
const convergence = deployment.routing_convergence;
|
|
68
|
+
if (!convergence)
|
|
69
|
+
return null;
|
|
70
|
+
if (convergence.status === "converged" &&
|
|
71
|
+
convergence.recipients > 0 &&
|
|
72
|
+
convergence.acknowledged >= convergence.recipients) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
return `Deployment ${deployment.id} committed, but data-plane routing convergence was not confirmed; bounded cache expiry remains the recovery path`;
|
|
76
|
+
}
|
|
65
77
|
export function assertProjectOwnership(resourceType, resource, projectId) {
|
|
66
78
|
if (resource.project_id && resource.project_id !== projectId) {
|
|
67
79
|
throw new Error(`${resourceType} ${resource.id} does not belong to resolved project ${projectId}`);
|
|
@@ -348,6 +360,12 @@ export async function deployCommand(options) {
|
|
|
348
360
|
logInfo(` Environment: ${env} (${verification.environmentId})`);
|
|
349
361
|
logInfo(` Release: ${release.name} (${verification.releaseVersion}, ${verification.releaseId})`);
|
|
350
362
|
logInfo(` Deployment: ${verification.deploymentId}`);
|
|
363
|
+
if (deployment.routing_convergence?.status === "converged") {
|
|
364
|
+
logInfo(` Data plane: ${deployment.routing_convergence.acknowledged}/${deployment.routing_convergence.recipients} proxy replicas converged`);
|
|
365
|
+
}
|
|
366
|
+
const routingConvergenceWarning = getDeploymentRoutingConvergenceWarning(deployment);
|
|
367
|
+
if (routingConvergenceWarning)
|
|
368
|
+
logWarning(routingConvergenceWarning);
|
|
351
369
|
logInfo(` Commit: ${verification.commitSha}`);
|
|
352
370
|
logInfo(` Source digest: ${verification.sourceDigest}`);
|
|
353
371
|
logInfo(` Control plane: ${normalizeControlPlane(config.apiUrl)}`);
|
|
@@ -448,6 +466,14 @@ async function deployCommandJson(options) {
|
|
|
448
466
|
sourceDigest: source.sourceDigest,
|
|
449
467
|
}, { verifiedRelease });
|
|
450
468
|
streamJsonLine({ type: "step", name: "verify-deployment", status: "completed" });
|
|
469
|
+
const routingConvergenceWarning = getDeploymentRoutingConvergenceWarning(deployment);
|
|
470
|
+
if (routingConvergenceWarning) {
|
|
471
|
+
streamJsonLine({
|
|
472
|
+
type: "warning",
|
|
473
|
+
code: "routing-convergence-unconfirmed",
|
|
474
|
+
message: routingConvergenceWarning,
|
|
475
|
+
});
|
|
476
|
+
}
|
|
451
477
|
streamJsonLine({
|
|
452
478
|
type: "result",
|
|
453
479
|
success: true,
|
|
@@ -462,6 +488,7 @@ async function deployCommandJson(options) {
|
|
|
462
488
|
environment: env,
|
|
463
489
|
environmentId: verification.environmentId,
|
|
464
490
|
deploymentId: verification.deploymentId,
|
|
491
|
+
routingConvergence: deployment.routing_convergence ?? null,
|
|
465
492
|
commitSha: verification.commitSha,
|
|
466
493
|
sourceDigest: verification.sourceDigest,
|
|
467
494
|
controlPlane: normalizeControlPlane(config.apiUrl),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Deploy command - Create and deploy releases
|
|
3
3
|
*/
|
|
4
|
-
export { assertProjectOwnership, createDeployment, createRelease, DeployArgsSchema, deployCommand, getDeployment, getEnvironmentByName, getProject, getRelease, getReleaseSourceDigest, parseDeployArgs, resolvePushedSource, verifyDeployment, verifyReleaseSource, } from "./command.js";
|
|
5
|
-
export type { DeploymentVerification, DeployOptions, ReleaseSourceVerification, } from "./command.js";
|
|
4
|
+
export { assertProjectOwnership, createDeployment, createRelease, DeployArgsSchema, deployCommand, getDeployment, getDeploymentRoutingConvergenceWarning, getEnvironmentByName, getProject, getRelease, getReleaseSourceDigest, parseDeployArgs, resolvePushedSource, verifyDeployment, verifyReleaseSource, } from "./command.js";
|
|
5
|
+
export type { Deployment, DeploymentRoutingConvergence, DeploymentVerification, DeployOptions, ReleaseSourceVerification, } from "./command.js";
|
|
6
6
|
export { handleDeployCommand } from "./handler.js";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,sBAAsB,EACtB,aAAa,EACb,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,sCAAsC,EACtC,oBAAoB,EACpB,UAAU,EACV,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,UAAU,EACV,4BAA4B,EAC5B,sBAAsB,EACtB,aAAa,EACb,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Deploy command - Create and deploy releases
|
|
3
3
|
*/
|
|
4
|
-
export { assertProjectOwnership, createDeployment, createRelease, DeployArgsSchema, deployCommand, getDeployment, getEnvironmentByName, getProject, getRelease, getReleaseSourceDigest, parseDeployArgs, resolvePushedSource, verifyDeployment, verifyReleaseSource, } from "./command.js";
|
|
4
|
+
export { assertProjectOwnership, createDeployment, createRelease, DeployArgsSchema, deployCommand, getDeployment, getDeploymentRoutingConvergenceWarning, getEnvironmentByName, getProject, getRelease, getReleaseSourceDigest, parseDeployArgs, resolvePushedSource, verifyDeployment, verifyReleaseSource, } from "./command.js";
|
|
5
5
|
export { handleDeployCommand } from "./handler.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/shared/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,EAAE,KAAK,iBAAiB,EAAwB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/shared/config.ts"],"names":[],"mappings":"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"}
|
package/esm/cli/shared/config.js
CHANGED
|
@@ -13,7 +13,7 @@ import { cliLogger, VERSION } from "../utils/index.js";
|
|
|
13
13
|
import { readToken } from "../auth/token-store.js";
|
|
14
14
|
import { ensureAuthenticated } from "../auth/login.js";
|
|
15
15
|
import { resolveCliApiUrl } from "./constants.js";
|
|
16
|
-
import { isRetryableConnectionError } from "../../src/proxy/retry.js";
|
|
16
|
+
import { isConnectionRefusedError, isRetryableConnectionError } from "../../src/proxy/retry.js";
|
|
17
17
|
// Delays for exponential backoff with jitter: attempt 1 = ~300ms, 2 = ~1s, 3 = ~3s
|
|
18
18
|
const API_RETRY_DELAYS_MS = [300, 1000, 3000];
|
|
19
19
|
const API_MAX_RETRIES = 3;
|
|
@@ -21,13 +21,6 @@ const API_MAX_RETRIES = 3;
|
|
|
21
21
|
function isTransientStatus(status) {
|
|
22
22
|
return status === 502 || status === 503 || status === 504;
|
|
23
23
|
}
|
|
24
|
-
/** Returns true when the connection error is a refused connection (request never reached server). */
|
|
25
|
-
function isConnectionRefused(error) {
|
|
26
|
-
if (!(error instanceof Error))
|
|
27
|
-
return false;
|
|
28
|
-
const msg = error.message.toLowerCase();
|
|
29
|
-
return msg.includes("connection refused") || msg.includes("os error 111");
|
|
30
|
-
}
|
|
31
24
|
/** Sleep for `ms` milliseconds plus a random jitter up to 20% of `ms`. */
|
|
32
25
|
function sleepWithJitter(ms) {
|
|
33
26
|
const jitter = Math.floor(ms * 0.2 * Math.random());
|
|
@@ -292,7 +285,7 @@ export function createApiClient(config) {
|
|
|
292
285
|
}
|
|
293
286
|
/** Returns true for request methods that are safe to retry on any transient failure. */
|
|
294
287
|
function isIdempotent(method) {
|
|
295
|
-
return method === "GET" || method === "HEAD";
|
|
288
|
+
return method === "GET" || method === "HEAD" || method === "PUT";
|
|
296
289
|
}
|
|
297
290
|
async function request(method, path, body, params) {
|
|
298
291
|
const url = new URL(`${apiUrl}${path}`);
|
|
@@ -311,7 +304,7 @@ export function createApiClient(config) {
|
|
|
311
304
|
const isTransient = status !== undefined
|
|
312
305
|
? isTransientStatus(status)
|
|
313
306
|
: isRetryableConnectionError(error);
|
|
314
|
-
const isRefused =
|
|
307
|
+
const isRefused = isConnectionRefusedError(error);
|
|
315
308
|
// Idempotent: retry on transient HTTP status or any retryable connection error.
|
|
316
309
|
// Non-idempotent: retry only on connection-refused (request never reached server).
|
|
317
310
|
const shouldRetry = isIdempotent(method)
|
package/esm/deno.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,aAAa,EAGlB,KAAK,OAAO,EAIZ,KAAK,QAAQ,EAGd,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAyDpE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,8BAA8B,EAC9B,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACL,sBAAsB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC5E,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,2BAA2B,EAC3B,2BAA2B,EAC3B,gCAAgC,EAChC,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,+BAA+B,GACrC,MAAM,+BAA+B,CAAC;AAsBvC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,iBAAiB,GACvB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -207,16 +207,19 @@ async function traceConfiguredToolExecution(input) {
|
|
|
207
207
|
}));
|
|
208
208
|
try {
|
|
209
209
|
const result = await executeConfiguredTool(input.toolName, input.args, input.toolsConfig, input.context, input.allowedRemoteToolNames, input.remoteToolSources);
|
|
210
|
+
const resultError = getToolResultError(result);
|
|
210
211
|
setOtelActiveSpanAttributes(buildRuntimeToolTraceAttributes({
|
|
211
212
|
mode: input.mode,
|
|
212
213
|
agentId: input.agentId,
|
|
213
214
|
toolName: input.toolName,
|
|
214
215
|
toolCallId: input.toolCallId,
|
|
215
216
|
context: input.context,
|
|
216
|
-
status: "completed",
|
|
217
|
+
status: resultError === undefined ? "completed" : "failed",
|
|
217
218
|
providerExecuted: false,
|
|
218
219
|
inputSizeBytes,
|
|
219
220
|
outputSizeBytes: estimateSerializedSizeBytes(result),
|
|
221
|
+
errorType: resultError === undefined ? undefined : "ToolResultError",
|
|
222
|
+
errorMessage: resultError,
|
|
220
223
|
}));
|
|
221
224
|
return result;
|
|
222
225
|
}
|
|
@@ -787,27 +790,36 @@ export class AgentRuntime {
|
|
|
787
790
|
result,
|
|
788
791
|
context: executionContext,
|
|
789
792
|
});
|
|
790
|
-
|
|
793
|
+
const resultError = getToolResultError(result);
|
|
794
|
+
toolCall.status = resultError === undefined ? "completed" : "error";
|
|
791
795
|
toolCall.result = result;
|
|
796
|
+
toolCall.error = resultError;
|
|
792
797
|
toolCall.executionTime = Date.now() - startTime;
|
|
793
798
|
setSpanAttributes(toolSpan, compactRuntimeTraceAttributes({
|
|
794
|
-
"tool.status": "completed",
|
|
799
|
+
"tool.status": resultError === undefined ? "completed" : "failed",
|
|
795
800
|
"tool.provider_executed": false,
|
|
796
801
|
"tool.output.size_bytes": estimateSerializedSizeBytes(result),
|
|
802
|
+
...(resultError === undefined ? {} : {
|
|
803
|
+
error: true,
|
|
804
|
+
"error.type": "ToolResultError",
|
|
805
|
+
"error.message": resultError,
|
|
806
|
+
}),
|
|
797
807
|
}));
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
808
|
+
if (resultError === undefined) {
|
|
809
|
+
// Track skill policy from successful load_skill results
|
|
810
|
+
if (tc.toolName === LOAD_SKILL_TOOL_ID) {
|
|
811
|
+
activeSkillId = extractSkillId(result);
|
|
812
|
+
activeSkillPolicy = extractSkillPolicy(result);
|
|
813
|
+
activeSkillToolAvailability = extractSkillToolAvailability(result) ??
|
|
814
|
+
INACTIVE_SKILL_TOOL_AVAILABILITY;
|
|
815
|
+
activeSkillDelegationOverrides = extractSkillDelegationOverrides(result);
|
|
816
|
+
mustLoadSkillFirst = false;
|
|
817
|
+
}
|
|
818
|
+
activeSkillPolicy = removeFormInputAfterSubmission(tc.toolName, result, activeSkillId, activeSkillPolicy);
|
|
819
|
+
if (isSubmittedFormInputExecutionResult(tc.toolName, result)) {
|
|
820
|
+
hasSubmittedFormInputInLoop = true;
|
|
821
|
+
currentRuntimeContext = markSubmittedFormInputRuntimeContext(currentRuntimeContext);
|
|
822
|
+
}
|
|
811
823
|
}
|
|
812
824
|
const toolResultMessage = createToolResultMessage(tc.toolCallId, tc.toolName, result);
|
|
813
825
|
currentMessages.push(toolResultMessage);
|
|
@@ -1199,34 +1211,48 @@ export class AgentRuntime {
|
|
|
1199
1211
|
result,
|
|
1200
1212
|
context: executionContext,
|
|
1201
1213
|
});
|
|
1202
|
-
|
|
1214
|
+
const resultError = getToolResultError(result);
|
|
1215
|
+
toolCall.status = resultError === undefined ? "completed" : "error";
|
|
1203
1216
|
toolCall.result = result;
|
|
1217
|
+
toolCall.error = resultError;
|
|
1204
1218
|
toolCall.executionTime = Date.now() - startTime;
|
|
1205
1219
|
toolCalls.push(toolCall);
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1220
|
+
if (resultError === undefined) {
|
|
1221
|
+
// Track skill policy from successful load_skill results
|
|
1222
|
+
if (tc.name === LOAD_SKILL_TOOL_ID) {
|
|
1223
|
+
activeSkillId = extractSkillId(result);
|
|
1224
|
+
activeSkillPolicy = extractSkillPolicy(result);
|
|
1225
|
+
activeSkillToolAvailability = extractSkillToolAvailability(result) ??
|
|
1226
|
+
INACTIVE_SKILL_TOOL_AVAILABILITY;
|
|
1227
|
+
activeSkillDelegationOverrides = extractSkillDelegationOverrides(result);
|
|
1228
|
+
mustLoadSkillFirst = false;
|
|
1229
|
+
}
|
|
1230
|
+
activeSkillPolicy = removeFormInputAfterSubmission(tc.name, result, activeSkillId, activeSkillPolicy);
|
|
1231
|
+
if (isSubmittedFormInputExecutionResult(tc.name, result)) {
|
|
1232
|
+
hasSubmittedFormInputInLoop = true;
|
|
1233
|
+
currentRuntimeContext = markSubmittedFormInputRuntimeContext(currentRuntimeContext);
|
|
1234
|
+
}
|
|
1235
|
+
if (shouldHideProjectToolAfterAgentWriteSuccess(tc.name)) {
|
|
1236
|
+
agentWriteFinalResponseToolGuardEnabled = true;
|
|
1237
|
+
}
|
|
1214
1238
|
}
|
|
1215
|
-
|
|
1216
|
-
if (
|
|
1217
|
-
|
|
1218
|
-
|
|
1239
|
+
const dynamic = isDynamicTool(tc.name);
|
|
1240
|
+
if (resultError === undefined) {
|
|
1241
|
+
sendSSE(controller, encoder, {
|
|
1242
|
+
type: "tool-output-available",
|
|
1243
|
+
toolCallId: toolCall.id,
|
|
1244
|
+
output: result,
|
|
1245
|
+
...(dynamic ? { dynamic: true } : {}),
|
|
1246
|
+
});
|
|
1219
1247
|
}
|
|
1220
|
-
|
|
1221
|
-
|
|
1248
|
+
else {
|
|
1249
|
+
sendSSE(controller, encoder, {
|
|
1250
|
+
type: "tool-output-error",
|
|
1251
|
+
toolCallId: toolCall.id,
|
|
1252
|
+
errorText: resultError,
|
|
1253
|
+
...(dynamic ? { dynamic: true } : {}),
|
|
1254
|
+
});
|
|
1222
1255
|
}
|
|
1223
|
-
const dynamic = isDynamicTool(tc.name);
|
|
1224
|
-
sendSSE(controller, encoder, {
|
|
1225
|
-
type: "tool-output-available",
|
|
1226
|
-
toolCallId: toolCall.id,
|
|
1227
|
-
output: result,
|
|
1228
|
-
...(dynamic ? { dynamic: true } : {}),
|
|
1229
|
-
});
|
|
1230
1256
|
const toolResultMessage = createToolResultMessage(tc.id, tc.name, result);
|
|
1231
1257
|
if (!currentStepToolResults.has(tc.id)) {
|
|
1232
1258
|
currentMessages.push(toolResultMessage);
|
|
@@ -48,6 +48,20 @@ export interface ProxyRequestOptions {
|
|
|
48
48
|
url?: URL;
|
|
49
49
|
timing?: ProxyServerTiming;
|
|
50
50
|
}
|
|
51
|
+
export interface ProxyRoutingInvalidation {
|
|
52
|
+
projectId: string;
|
|
53
|
+
projectSlug?: string;
|
|
54
|
+
deploymentId?: string;
|
|
55
|
+
environmentId?: string;
|
|
56
|
+
environmentName?: string;
|
|
57
|
+
releaseId?: string;
|
|
58
|
+
}
|
|
59
|
+
export interface ConfirmedProxyRoutingInvalidation extends ProxyRoutingInvalidation {
|
|
60
|
+
projectSlug: string;
|
|
61
|
+
environmentId: string;
|
|
62
|
+
environmentName: string;
|
|
63
|
+
releaseId: string;
|
|
64
|
+
}
|
|
51
65
|
export declare function createProxyHandler(options: ProxyHandlerOptions): {
|
|
52
66
|
processRequest: (req: Request, options?: ProxyRequestOptions) => Promise<ProxyContext>;
|
|
53
67
|
getTokenForApi: (req: Request, options?: ProxyRequestOptions) => Promise<string | undefined>;
|
|
@@ -59,6 +73,11 @@ export declare function createProxyHandler(options: ProxyHandlerOptions): {
|
|
|
59
73
|
}>;
|
|
60
74
|
close: () => Promise<void>;
|
|
61
75
|
validateConfig: () => string[];
|
|
76
|
+
invalidateRoutingLookup: (input: ProxyRoutingInvalidation) => {
|
|
77
|
+
evictedEntries: number;
|
|
78
|
+
generation: number;
|
|
79
|
+
};
|
|
80
|
+
invalidateAndConfirmRoutingLookup: (input: ConfirmedProxyRoutingInvalidation) => Promise<void>;
|
|
62
81
|
localProjects: Record<string, string>;
|
|
63
82
|
};
|
|
64
83
|
export type ProxyHandler = ReturnType<typeof createProxyHandler>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/src/proxy/handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,kCAAkC,CAAC;AACzF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAenD,OAAO,EAAiC,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG3F,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAE9E,eAAO,MAAM,sBAAsB,0MAYzB,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/src/proxy/handler.ts"],"names":[],"mappings":"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"}
|