veryfront 0.1.1068 → 0.1.1071
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/shared/config.d.ts.map +1 -1
- package/esm/cli/shared/config.js +3 -10
- package/esm/deno.js +2 -2
- package/esm/src/agent/runtime/index.d.ts.map +1 -1
- package/esm/src/agent/runtime/index.js +90 -41
- package/esm/src/agent/runtime/tool-result-continuation.d.ts.map +1 -1
- package/esm/src/agent/runtime/tool-result-continuation.js +10 -2
- package/esm/src/cache/cache-key-builder.d.ts +30 -0
- package/esm/src/cache/cache-key-builder.d.ts.map +1 -1
- package/esm/src/cache/cache-key-builder.js +65 -0
- package/esm/src/cache/keys/builders/render.d.ts +1 -1
- package/esm/src/cache/keys/builders/render.d.ts.map +1 -1
- package/esm/src/cache/keys/builders/render.js +7 -4
- package/esm/src/observability/tracing/otlp-setup.d.ts +2 -0
- package/esm/src/observability/tracing/otlp-setup.d.ts.map +1 -1
- package/esm/src/observability/tracing/otlp-setup.js +7 -1
- package/esm/src/platform/adapters/fs/veryfront/proxy-manager.d.ts +2 -2
- package/esm/src/platform/adapters/fs/veryfront/proxy-manager.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/proxy-manager.js +12 -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/registry/project-scoped-registry-manager.d.ts +17 -0
- package/esm/src/registry/project-scoped-registry-manager.d.ts.map +1 -1
- package/esm/src/registry/project-scoped-registry-manager.js +112 -13
- package/esm/src/server/handlers/request/api/project-discovery.d.ts.map +1 -1
- package/esm/src/server/handlers/request/api/project-discovery.js +45 -41
- package/esm/src/tool/remote-mcp.d.ts.map +1 -1
- package/esm/src/tool/remote-mcp.js +14 -2
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/esm/src/workflow/executor/step-executor.d.ts.map +1 -1
- package/esm/src/workflow/executor/step-executor.js +24 -4
- package/package.json +5 -5
|
@@ -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,6 +1,6 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
"name": "veryfront",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1071",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"nodeModulesDir": "auto",
|
|
6
6
|
"minimumDependencyAge": {
|
|
@@ -458,7 +458,7 @@ export default {
|
|
|
458
458
|
"lint:ban-test-only": "deno run --allow-read scripts/lint/ban-test-only.ts",
|
|
459
459
|
"lint:sanitizer-baseline": "deno run --allow-read scripts/lint/check-sanitizer-baseline.ts",
|
|
460
460
|
"lint:skipped-tests": "deno run --allow-read scripts/lint/check-skipped-tests-baseline.ts",
|
|
461
|
-
"test:scripts": "deno test --config=scripts/test.deno.json --no-check --allow-read --allow-write --allow-run scripts/build/dnt-polyfill.test.ts scripts/build/generate-sbom.test.ts scripts/build/npm-dependency-sources.test.ts scripts/build/npm-extension-package-metadata.test.ts scripts/build/npm-package-metadata.test.ts scripts/build/npm-react-shims.test.ts scripts/docs/docs-coverage.test.ts scripts/docs/generate-api-reference.test.ts scripts/docs/guide-validation.test.ts scripts/lint/audit-core-deps.test.ts scripts/lint/audit-dependency-boundaries.test.ts scripts/lint/audit-extension-capabilities.test.ts scripts/lint/audit-extension-contracts.test.ts scripts/lint/audit-deps.test.ts scripts/lint/check-circular-baseline.test.ts scripts/lint/ban-test-only.test.ts scripts/lint/check-sanitizer-baseline.test.ts scripts/lint/check-skipped-tests-baseline.test.ts scripts/lint/check-coverage.test.ts scripts/security/audit-npm.test.ts scripts/security/submit-dependency-snapshot.test.ts",
|
|
461
|
+
"test:scripts": "deno test --config=scripts/test.deno.json --no-check --allow-read --allow-write --allow-run scripts/ci/publish-npm-packages.test.ts scripts/build/dnt-polyfill.test.ts scripts/build/generate-sbom.test.ts scripts/build/npm-dependency-sources.test.ts scripts/build/npm-extension-package-metadata.test.ts scripts/build/npm-package-metadata.test.ts scripts/build/npm-react-shims.test.ts scripts/docs/docs-coverage.test.ts scripts/docs/generate-api-reference.test.ts scripts/docs/guide-validation.test.ts scripts/lint/audit-core-deps.test.ts scripts/lint/audit-dependency-boundaries.test.ts scripts/lint/audit-extension-capabilities.test.ts scripts/lint/audit-extension-contracts.test.ts scripts/lint/audit-deps.test.ts scripts/lint/check-circular-baseline.test.ts scripts/lint/ban-test-only.test.ts scripts/lint/check-sanitizer-baseline.test.ts scripts/lint/check-skipped-tests-baseline.test.ts scripts/lint/check-coverage.test.ts scripts/security/audit-npm.test.ts scripts/security/submit-dependency-snapshot.test.ts",
|
|
462
462
|
"test:cross-runtime": "deno run --allow-all src/platform/compat/cross-runtime.test.ts",
|
|
463
463
|
"test:node": "node ./tests/node/run-tests.mjs 'src/**/*.test.ts'",
|
|
464
464
|
"test:bun": "node ./tests/bun/run-tests.mjs src/",
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ import { generateId } from "../../utils/id.js";
|
|
|
16
16
|
import { detectPlatform, getPlatformCapabilities } from "../../platform/core-platform.js";
|
|
17
17
|
import { createAgentMemory } from "../memory/index.js";
|
|
18
18
|
import { serverLogger } from "../../utils/index.js";
|
|
19
|
-
import { addSpanEvent, setActiveSpanAttributes as setOtelActiveSpanAttributes, setSpanAttributes, withSpan, } from "../../observability/tracing/otlp-setup.js";
|
|
19
|
+
import { addSpanEvent, setActiveSpanAttributes as setOtelActiveSpanAttributes, setActiveSpanErrorStatus as setOtelActiveSpanErrorStatus, setSpanAttributes, withSpan, } from "../../observability/tracing/otlp-setup.js";
|
|
20
20
|
import { convertToTextGenerationRuntimeRequestMessages } from "./text-generation-runtime-message-converter.js";
|
|
21
21
|
import { convertToolsToRuntimeTools } from "./model-tool-converter.js";
|
|
22
22
|
import { getRuntimeRemoteToolSources } from "./mcp-server-tool-sources.js";
|
|
@@ -207,16 +207,22 @@ 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);
|
|
211
|
+
if (resultError !== undefined) {
|
|
212
|
+
setOtelActiveSpanErrorStatus(resultError);
|
|
213
|
+
}
|
|
210
214
|
setOtelActiveSpanAttributes(buildRuntimeToolTraceAttributes({
|
|
211
215
|
mode: input.mode,
|
|
212
216
|
agentId: input.agentId,
|
|
213
217
|
toolName: input.toolName,
|
|
214
218
|
toolCallId: input.toolCallId,
|
|
215
219
|
context: input.context,
|
|
216
|
-
status: "completed",
|
|
220
|
+
status: resultError === undefined ? "completed" : "failed",
|
|
217
221
|
providerExecuted: false,
|
|
218
222
|
inputSizeBytes,
|
|
219
223
|
outputSizeBytes: estimateSerializedSizeBytes(result),
|
|
224
|
+
errorType: resultError === undefined ? undefined : "ToolResultError",
|
|
225
|
+
errorMessage: resultError,
|
|
220
226
|
}));
|
|
221
227
|
return result;
|
|
222
228
|
}
|
|
@@ -253,6 +259,9 @@ async function traceProviderExecutedTool(input) {
|
|
|
253
259
|
const status = input.isError === true ? "failed" : "completed";
|
|
254
260
|
const errorMessage = input.isError === true ? stringifyToolError(input.result) : undefined;
|
|
255
261
|
await withSpan("agent.tool_execute", async () => {
|
|
262
|
+
if (errorMessage !== undefined) {
|
|
263
|
+
setOtelActiveSpanErrorStatus(errorMessage);
|
|
264
|
+
}
|
|
256
265
|
setOtelActiveSpanAttributes(buildRuntimeToolTraceAttributes({
|
|
257
266
|
...input,
|
|
258
267
|
status,
|
|
@@ -537,6 +546,7 @@ export class AgentRuntime {
|
|
|
537
546
|
const remoteToolSources = getRuntimeRemoteToolSources(this.config);
|
|
538
547
|
let currentSystemPrompt = systemPrompt;
|
|
539
548
|
let currentRuntimeContext = runtimeContext;
|
|
549
|
+
let agentWriteFinalResponseToolGuardEnabled = false;
|
|
540
550
|
for (let step = 0; step < maxSteps; step++) {
|
|
541
551
|
this.status = "thinking";
|
|
542
552
|
addSpanEvent(loopSpan, "step_start", { step });
|
|
@@ -565,7 +575,10 @@ export class AgentRuntime {
|
|
|
565
575
|
currentSystemPrompt = preparedStep.systemPrompt;
|
|
566
576
|
currentRuntimeContext = preparedStep.runtimeContext;
|
|
567
577
|
const toolContext = preparedStep.toolContext;
|
|
568
|
-
const tools =
|
|
578
|
+
const tools = agentWriteFinalResponseToolGuardEnabled
|
|
579
|
+
? preparedStep.tools.filter((tool) => !shouldHideProjectToolAfterAgentWriteSuccess(tool.name))
|
|
580
|
+
: preparedStep.tools;
|
|
581
|
+
const stepProviderTools = agentWriteFinalResponseToolGuardEnabled ? [] : providerTools;
|
|
569
582
|
const temperature = this.resolveTemperature(temperatureModelString ?? effectiveModel, providerOptions);
|
|
570
583
|
const response = await withSpan("agent.generate_text", async (span) => {
|
|
571
584
|
setSpanAttributes(span, {
|
|
@@ -578,7 +591,7 @@ export class AgentRuntime {
|
|
|
578
591
|
messages: convertToTextGenerationRuntimeRequestMessages(currentMessages),
|
|
579
592
|
tools: convertToolsToRuntimeTools(tools, {
|
|
580
593
|
model: effectiveModel,
|
|
581
|
-
providerTools,
|
|
594
|
+
providerTools: stepProviderTools,
|
|
582
595
|
}),
|
|
583
596
|
experimental_repairToolCall: repairToolCall,
|
|
584
597
|
maxOutputTokens: this.resolveMaxOutputTokens(effectiveModel, maxOutputTokensOverride),
|
|
@@ -711,6 +724,13 @@ export class AgentRuntime {
|
|
|
711
724
|
toolCall.error = generatedToolResult.isError === true
|
|
712
725
|
? stringifyToolError(generatedToolResult.result)
|
|
713
726
|
: undefined;
|
|
727
|
+
if (toolCall.error !== undefined) {
|
|
728
|
+
setOtelActiveSpanErrorStatus(toolCall.error);
|
|
729
|
+
}
|
|
730
|
+
if (generatedToolResult.isError !== true &&
|
|
731
|
+
shouldHideProjectToolAfterAgentWriteSuccess(tc.toolName)) {
|
|
732
|
+
agentWriteFinalResponseToolGuardEnabled = true;
|
|
733
|
+
}
|
|
714
734
|
setSpanAttributes(toolSpan, compactRuntimeTraceAttributes({
|
|
715
735
|
"tool.status": generatedToolResult.isError === true ? "failed" : "completed",
|
|
716
736
|
"tool.provider_executed": generatedToolResult.providerExecuted === true,
|
|
@@ -787,27 +807,42 @@ export class AgentRuntime {
|
|
|
787
807
|
result,
|
|
788
808
|
context: executionContext,
|
|
789
809
|
});
|
|
790
|
-
|
|
810
|
+
const resultError = getToolResultError(result);
|
|
811
|
+
if (resultError !== undefined) {
|
|
812
|
+
setOtelActiveSpanErrorStatus(resultError);
|
|
813
|
+
}
|
|
814
|
+
toolCall.status = resultError === undefined ? "completed" : "error";
|
|
791
815
|
toolCall.result = result;
|
|
816
|
+
toolCall.error = resultError;
|
|
792
817
|
toolCall.executionTime = Date.now() - startTime;
|
|
793
818
|
setSpanAttributes(toolSpan, compactRuntimeTraceAttributes({
|
|
794
|
-
"tool.status": "completed",
|
|
819
|
+
"tool.status": resultError === undefined ? "completed" : "failed",
|
|
795
820
|
"tool.provider_executed": false,
|
|
796
821
|
"tool.output.size_bytes": estimateSerializedSizeBytes(result),
|
|
822
|
+
...(resultError === undefined ? {} : {
|
|
823
|
+
error: true,
|
|
824
|
+
"error.type": "ToolResultError",
|
|
825
|
+
"error.message": resultError,
|
|
826
|
+
}),
|
|
797
827
|
}));
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
828
|
+
if (resultError === undefined) {
|
|
829
|
+
if (shouldHideProjectToolAfterAgentWriteSuccess(tc.toolName)) {
|
|
830
|
+
agentWriteFinalResponseToolGuardEnabled = true;
|
|
831
|
+
}
|
|
832
|
+
// Track skill policy from successful load_skill results
|
|
833
|
+
if (tc.toolName === LOAD_SKILL_TOOL_ID) {
|
|
834
|
+
activeSkillId = extractSkillId(result);
|
|
835
|
+
activeSkillPolicy = extractSkillPolicy(result);
|
|
836
|
+
activeSkillToolAvailability = extractSkillToolAvailability(result) ??
|
|
837
|
+
INACTIVE_SKILL_TOOL_AVAILABILITY;
|
|
838
|
+
activeSkillDelegationOverrides = extractSkillDelegationOverrides(result);
|
|
839
|
+
mustLoadSkillFirst = false;
|
|
840
|
+
}
|
|
841
|
+
activeSkillPolicy = removeFormInputAfterSubmission(tc.toolName, result, activeSkillId, activeSkillPolicy);
|
|
842
|
+
if (isSubmittedFormInputExecutionResult(tc.toolName, result)) {
|
|
843
|
+
hasSubmittedFormInputInLoop = true;
|
|
844
|
+
currentRuntimeContext = markSubmittedFormInputRuntimeContext(currentRuntimeContext);
|
|
845
|
+
}
|
|
811
846
|
}
|
|
812
847
|
const toolResultMessage = createToolResultMessage(tc.toolCallId, tc.toolName, result);
|
|
813
848
|
currentMessages.push(toolResultMessage);
|
|
@@ -1199,34 +1234,48 @@ export class AgentRuntime {
|
|
|
1199
1234
|
result,
|
|
1200
1235
|
context: executionContext,
|
|
1201
1236
|
});
|
|
1202
|
-
|
|
1237
|
+
const resultError = getToolResultError(result);
|
|
1238
|
+
toolCall.status = resultError === undefined ? "completed" : "error";
|
|
1203
1239
|
toolCall.result = result;
|
|
1240
|
+
toolCall.error = resultError;
|
|
1204
1241
|
toolCall.executionTime = Date.now() - startTime;
|
|
1205
1242
|
toolCalls.push(toolCall);
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1243
|
+
if (resultError === undefined) {
|
|
1244
|
+
// Track skill policy from successful load_skill results
|
|
1245
|
+
if (tc.name === LOAD_SKILL_TOOL_ID) {
|
|
1246
|
+
activeSkillId = extractSkillId(result);
|
|
1247
|
+
activeSkillPolicy = extractSkillPolicy(result);
|
|
1248
|
+
activeSkillToolAvailability = extractSkillToolAvailability(result) ??
|
|
1249
|
+
INACTIVE_SKILL_TOOL_AVAILABILITY;
|
|
1250
|
+
activeSkillDelegationOverrides = extractSkillDelegationOverrides(result);
|
|
1251
|
+
mustLoadSkillFirst = false;
|
|
1252
|
+
}
|
|
1253
|
+
activeSkillPolicy = removeFormInputAfterSubmission(tc.name, result, activeSkillId, activeSkillPolicy);
|
|
1254
|
+
if (isSubmittedFormInputExecutionResult(tc.name, result)) {
|
|
1255
|
+
hasSubmittedFormInputInLoop = true;
|
|
1256
|
+
currentRuntimeContext = markSubmittedFormInputRuntimeContext(currentRuntimeContext);
|
|
1257
|
+
}
|
|
1258
|
+
if (shouldHideProjectToolAfterAgentWriteSuccess(tc.name)) {
|
|
1259
|
+
agentWriteFinalResponseToolGuardEnabled = true;
|
|
1260
|
+
}
|
|
1214
1261
|
}
|
|
1215
|
-
|
|
1216
|
-
if (
|
|
1217
|
-
|
|
1218
|
-
|
|
1262
|
+
const dynamic = isDynamicTool(tc.name);
|
|
1263
|
+
if (resultError === undefined) {
|
|
1264
|
+
sendSSE(controller, encoder, {
|
|
1265
|
+
type: "tool-output-available",
|
|
1266
|
+
toolCallId: toolCall.id,
|
|
1267
|
+
output: result,
|
|
1268
|
+
...(dynamic ? { dynamic: true } : {}),
|
|
1269
|
+
});
|
|
1219
1270
|
}
|
|
1220
|
-
|
|
1221
|
-
|
|
1271
|
+
else {
|
|
1272
|
+
sendSSE(controller, encoder, {
|
|
1273
|
+
type: "tool-output-error",
|
|
1274
|
+
toolCallId: toolCall.id,
|
|
1275
|
+
errorText: resultError,
|
|
1276
|
+
...(dynamic ? { dynamic: true } : {}),
|
|
1277
|
+
});
|
|
1222
1278
|
}
|
|
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
1279
|
const toolResultMessage = createToolResultMessage(tc.id, tc.name, result);
|
|
1231
1280
|
if (!currentStepToolResults.has(tc.id)) {
|
|
1232
1281
|
currentMessages.push(toolResultMessage);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-result-continuation.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/tool-result-continuation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-result-continuation.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/tool-result-continuation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { stripLeadingEmptyObjectPlaceholder } from "../streaming/data-stream.js";
|
|
2
|
+
import { hasToolExecutionErrorMarker } from "../../tool/result.js";
|
|
2
3
|
import { parseToolArgs } from "./tool-helpers.js";
|
|
3
4
|
import { stringifyToolError } from "./error-utils.js";
|
|
4
5
|
function getMcpToolErrorMessage(result) {
|
|
@@ -15,14 +16,21 @@ function getMcpToolErrorMessage(result) {
|
|
|
15
16
|
return record.error;
|
|
16
17
|
}
|
|
17
18
|
export function getToolResultError(result) {
|
|
18
|
-
if (!
|
|
19
|
+
if (!hasToolExecutionErrorMarker(result)) {
|
|
19
20
|
return undefined;
|
|
20
21
|
}
|
|
21
22
|
const mcpToolErrorMessage = getMcpToolErrorMessage(result);
|
|
22
23
|
if (mcpToolErrorMessage !== undefined) {
|
|
23
24
|
return mcpToolErrorMessage;
|
|
24
25
|
}
|
|
25
|
-
|
|
26
|
+
const record = result;
|
|
27
|
+
if (typeof record.error === "string") {
|
|
28
|
+
return stringifyToolError(record.error);
|
|
29
|
+
}
|
|
30
|
+
if (typeof record.message === "string" && record.message.trim().length > 0) {
|
|
31
|
+
return record.message;
|
|
32
|
+
}
|
|
33
|
+
return "Tool execution failed";
|
|
26
34
|
}
|
|
27
35
|
export function createToolResultMessage(toolCallId, toolName, result, providerExecuted = false) {
|
|
28
36
|
return {
|
|
@@ -10,10 +10,40 @@ type MultiProjectRequestContextType = {
|
|
|
10
10
|
environmentName?: string | null;
|
|
11
11
|
};
|
|
12
12
|
export type { CacheKeyContext };
|
|
13
|
+
export interface RegistryScopeContext {
|
|
14
|
+
scopeId: string;
|
|
15
|
+
/** Whether completed discovery is safe to retain for this immutable source. */
|
|
16
|
+
immutable: boolean;
|
|
17
|
+
}
|
|
13
18
|
export declare function getContentHashKey(prefix: string, filePath: string, contentHash: string, suffix?: string): string;
|
|
14
19
|
export declare function runWithCacheKeyContext<T>(ctx: CacheKeyContext, fn: () => T): T;
|
|
20
|
+
/**
|
|
21
|
+
* Suppress an inherited explicit cache scope for a callback. This is used when
|
|
22
|
+
* a restored tenant has a mutable source (for example, a production
|
|
23
|
+
* environment without a pinned release) that cannot safely use distributed
|
|
24
|
+
* caching. Ambient request context remains available for in-process registry
|
|
25
|
+
* isolation.
|
|
26
|
+
*/
|
|
27
|
+
export declare function runWithoutCacheKeyContext<T>(fn: () => T): T;
|
|
15
28
|
export declare function getCurrentCacheKeyContext(): CacheKeyContext;
|
|
16
29
|
export declare function tryGetCacheKeyContext(): CacheKeyContext | null;
|
|
30
|
+
/**
|
|
31
|
+
* Returns a stable scope identifier for in-process registry isolation.
|
|
32
|
+
*
|
|
33
|
+
* Unlike tryGetCacheKeyContext(), this function does NOT return null when the
|
|
34
|
+
* request context lacks a field that would be required for a safe distributed
|
|
35
|
+
* cache key (e.g. productionMode=true without a releaseId). For in-process
|
|
36
|
+
* registries (ProjectScopedRegistryManager), project identity and the active
|
|
37
|
+
* content source still provide a safe process-local scope. Collapsing to
|
|
38
|
+
* "__default__" would let concurrent projects overwrite one another's
|
|
39
|
+
* registered skills, tools, and agents.
|
|
40
|
+
*
|
|
41
|
+
* Returns null only when no project identity is available at all (e.g. CLI /
|
|
42
|
+
* local dev without a multi-project context), in which case the caller should
|
|
43
|
+
* fall back to DEFAULT_SCOPE_ID.
|
|
44
|
+
*/
|
|
45
|
+
export declare function tryGetRegistryScopeContext(): RegistryScopeContext | null;
|
|
46
|
+
export declare function tryGetRegistryScopeId(): string | null;
|
|
17
47
|
export declare function getProjectScopedKey(prefix: string, resourceKey: string): string | null;
|
|
18
48
|
export declare function getProjectScopedKeyAlways(prefix: string, resourceKey: string): string | null;
|
|
19
49
|
export declare function extractCacheKeyContext(handlerCtx: HandlerContext): CacheKeyContext | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-key-builder.d.ts","sourceRoot":"","sources":["../../../src/src/cache/cache-key-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,oBAAoB,CAAC;AAIjF,KAAK,8BAA8B,GAAG;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAIF,YAAY,EAAE,eAAe,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"cache-key-builder.d.ts","sourceRoot":"","sources":["../../../src/src/cache/cache-key-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,oBAAoB,CAAC;AAIjF,KAAK,8BAA8B,GAAG;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAIF,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,SAAS,EAAE,OAAO,CAAC;CACpB;AAQD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAER;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAE9E;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAE3D;AAED,wBAAgB,yBAAyB,IAAI,eAAe,CAQ3D;AA+CD,wBAAgB,qBAAqB,IAAI,eAAe,GAAG,IAAI,CAQ9D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,IAAI,oBAAoB,GAAG,IAAI,CAwCxE;AAED,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAErD;AAMD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKtF;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5F;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,cAAc,GAAG,eAAe,GAAG,IAAI,CAyBzF;AAED,YAAY,EAAE,8BAA8B,IAAI,0BAA0B,EAAE,CAAC"}
|
|
@@ -14,6 +14,16 @@ export function getContentHashKey(prefix, filePath, contentHash, suffix) {
|
|
|
14
14
|
export function runWithCacheKeyContext(ctx, fn) {
|
|
15
15
|
return cacheKeyContextStorage.run(validateCacheKeyContext(ctx), fn);
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Suppress an inherited explicit cache scope for a callback. This is used when
|
|
19
|
+
* a restored tenant has a mutable source (for example, a production
|
|
20
|
+
* environment without a pinned release) that cannot safely use distributed
|
|
21
|
+
* caching. Ambient request context remains available for in-process registry
|
|
22
|
+
* isolation.
|
|
23
|
+
*/
|
|
24
|
+
export function runWithoutCacheKeyContext(fn) {
|
|
25
|
+
return cacheKeyContextStorage.run(null, fn);
|
|
26
|
+
}
|
|
17
27
|
export function getCurrentCacheKeyContext() {
|
|
18
28
|
const ctx = cacheKeyContextStorage.getStore();
|
|
19
29
|
if (ctx)
|
|
@@ -73,6 +83,61 @@ export function tryGetCacheKeyContext() {
|
|
|
73
83
|
return null;
|
|
74
84
|
return extractCacheKeyContextFromMultiProjectContext(reqCtx);
|
|
75
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Returns a stable scope identifier for in-process registry isolation.
|
|
88
|
+
*
|
|
89
|
+
* Unlike tryGetCacheKeyContext(), this function does NOT return null when the
|
|
90
|
+
* request context lacks a field that would be required for a safe distributed
|
|
91
|
+
* cache key (e.g. productionMode=true without a releaseId). For in-process
|
|
92
|
+
* registries (ProjectScopedRegistryManager), project identity and the active
|
|
93
|
+
* content source still provide a safe process-local scope. Collapsing to
|
|
94
|
+
* "__default__" would let concurrent projects overwrite one another's
|
|
95
|
+
* registered skills, tools, and agents.
|
|
96
|
+
*
|
|
97
|
+
* Returns null only when no project identity is available at all (e.g. CLI /
|
|
98
|
+
* local dev without a multi-project context), in which case the caller should
|
|
99
|
+
* fall back to DEFAULT_SCOPE_ID.
|
|
100
|
+
*/
|
|
101
|
+
export function tryGetRegistryScopeContext() {
|
|
102
|
+
// Explicit contexts are authoritative for workflows and other callers that
|
|
103
|
+
// intentionally override ambient filesystem tenancy.
|
|
104
|
+
const cacheCtx = cacheKeyContextStorage.getStore();
|
|
105
|
+
if (cacheCtx) {
|
|
106
|
+
return {
|
|
107
|
+
scopeId: `${cacheCtx.projectId}:${cacheCtx.mode}:${cacheCtx.versionId}`,
|
|
108
|
+
immutable: cacheCtx.mode === "production",
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
const reqCtx = getRequestContextFn()?.();
|
|
112
|
+
if (reqCtx) {
|
|
113
|
+
const projectId = reqCtx.projectId || reqCtx.projectSlug;
|
|
114
|
+
if (!projectId)
|
|
115
|
+
return null;
|
|
116
|
+
if (reqCtx.productionMode) {
|
|
117
|
+
if (reqCtx.releaseId) {
|
|
118
|
+
return {
|
|
119
|
+
scopeId: `${projectId}:production:${reqCtx.releaseId}`,
|
|
120
|
+
immutable: true,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
// Match ProxyFSAdapterManager's canonical default so registry,
|
|
124
|
+
// discovery, and adapter caches all describe the same content source.
|
|
125
|
+
const environmentName = reqCtx.environmentName || "production";
|
|
126
|
+
return {
|
|
127
|
+
scopeId: `${projectId}:production:environment:${environmentName}`,
|
|
128
|
+
immutable: false,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
return {
|
|
132
|
+
scopeId: `${projectId}:preview:${reqCtx.branch || "main"}`,
|
|
133
|
+
immutable: false,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
export function tryGetRegistryScopeId() {
|
|
139
|
+
return tryGetRegistryScopeContext()?.scopeId ?? null;
|
|
140
|
+
}
|
|
76
141
|
function buildProjectScopedKey(prefix, resourceKey, ctx) {
|
|
77
142
|
return `${prefix}:${ctx.projectId}:${ctx.mode}:${ctx.versionId}:${resourceKey}`;
|
|
78
143
|
}
|
|
@@ -35,7 +35,7 @@ export declare function buildRenderCacheKey(cachePrefix: string, contentKey: str
|
|
|
35
35
|
export declare function buildComponentCacheKey(projectId: string, filePath: string, contentHash: string): string;
|
|
36
36
|
export declare function buildLayoutComponentCacheKey(projectId: string, componentPath: string, hash: string, contentSourceId: string): string;
|
|
37
37
|
export declare function buildErrorPageCacheKey(projectId: string | undefined, projectDir: string, pageType: string): string;
|
|
38
|
-
export declare function buildProxyManagerCacheKey(projectSlug: string, productionMode: boolean, releaseId: string | null, branch: string | null): string;
|
|
38
|
+
export declare function buildProxyManagerCacheKey(projectSlug: string, productionMode: boolean, releaseId: string | null, branch: string | null, environmentName?: string | null): string;
|
|
39
39
|
/**
|
|
40
40
|
* Build a query-aware cache key that is safe for multi-tenant caching.
|
|
41
41
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../../src/src/cache/keys/builders/render.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAIlF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAI7D,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,SAAS,GAAG,YAAY,EACrC,UAAU,EAAE,MAAM;AAClB;;;;;GAKG;AACH,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,CAGR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,SAAS,GAAG,YAAY,EACrC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,MAAM,CAaR;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,CAER;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,GACtB,MAAM,CAER;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,MAAM,CAER;AAED,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,OAAO,EACvB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../../src/src/cache/keys/builders/render.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAIlF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAI7D,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,SAAS,GAAG,YAAY,EACrC,UAAU,EAAE,MAAM;AAClB;;;;;GAKG;AACH,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,CAGR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,SAAS,GAAG,YAAY,EACrC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,MAAM,CAaR;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,CAER;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,GACtB,MAAM,CAER;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,MAAM,CAER;AAED,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,OAAO,EACvB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAC9B,MAAM,CAgBR;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,GAAG,EACT,OAAO,CAAC,EAAE,sBAAsB,GAC/B,MAAM,CAMR"}
|
|
@@ -61,15 +61,18 @@ export function buildLayoutComponentCacheKey(projectId, componentPath, hash, con
|
|
|
61
61
|
export function buildErrorPageCacheKey(projectId, projectDir, pageType) {
|
|
62
62
|
return `${CacheKeyPrefix.ERROR_PAGE}:${projectId ?? projectDir}:${pageType}`;
|
|
63
63
|
}
|
|
64
|
-
export function buildProxyManagerCacheKey(projectSlug, productionMode, releaseId, branch) {
|
|
64
|
+
export function buildProxyManagerCacheKey(projectSlug, productionMode, releaseId, branch, environmentName) {
|
|
65
65
|
const mode = productionMode ? "production" : "preview";
|
|
66
66
|
if (productionMode) {
|
|
67
|
-
if (
|
|
67
|
+
if (releaseId) {
|
|
68
|
+
return `${CacheKeyPrefix.PROXY}:${projectSlug}:${mode}:${releaseId}`;
|
|
69
|
+
}
|
|
70
|
+
if (!environmentName) {
|
|
68
71
|
throw CACHE_INVARIANT_VIOLATION.create({
|
|
69
|
-
detail: `Missing releaseId in production for ${projectSlug}`,
|
|
72
|
+
detail: `Missing releaseId or environmentName in production for ${projectSlug}`,
|
|
70
73
|
});
|
|
71
74
|
}
|
|
72
|
-
return `${CacheKeyPrefix.PROXY}:${projectSlug}:${mode}:${
|
|
75
|
+
return `${CacheKeyPrefix.PROXY}:${projectSlug}:${mode}:environment:${environmentName}`;
|
|
73
76
|
}
|
|
74
77
|
return `${CacheKeyPrefix.PROXY}:${projectSlug}:${mode}:${branch ?? "main"}`;
|
|
75
78
|
}
|
|
@@ -52,6 +52,8 @@ export declare function setSpanAttributes(span: unknown, attributes: Record<stri
|
|
|
52
52
|
export declare function addSpanEvent(span: unknown, name: string, attributes?: Record<string, AttributeValue>): void;
|
|
53
53
|
/** Sets active span attributes. */
|
|
54
54
|
export declare function setActiveSpanAttributes(attributes: Record<string, AttributeValue>): void;
|
|
55
|
+
/** Marks the active span as failed. */
|
|
56
|
+
export declare function setActiveSpanErrorStatus(error: unknown): void;
|
|
55
57
|
/** Context for with. */
|
|
56
58
|
export declare function withContext<T>(spanContext: unknown, fn: () => Promise<T>): Promise<T>;
|
|
57
59
|
/** Context for get trace. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otlp-setup.d.ts","sourceRoot":"","sources":["../../../../src/src/observability/tracing/otlp-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;4BAY4B;AAC5B,OAAO,4BAA4B,CAAC;AAKpC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,OAAO,EAOZ,KAAK,IAAI,EACT,QAAQ,EAIT,MAAM,eAAe,CAAC;AAKvB,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;CAClB;AA6DD,sCAAsC;AACtC,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CASpD;AAED,qCAAqC;AACrC,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAGlD;AAED,4CAA4C;AAC5C,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,0DAA0D;AAC1D,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE5D;AAcD,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,oBAAoB;AACpB,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAC9B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAC3C,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"otlp-setup.d.ts","sourceRoot":"","sources":["../../../../src/src/observability/tracing/otlp-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,7 +106,6 @@ export async function withSpan(name, fn, attributes, options) {
|
|
|
106
106
|
const spanContext = shimTrace.setSpan(parentContext, span);
|
|
107
107
|
try {
|
|
108
108
|
const result = await shimContext.with(spanContext, () => fn(span));
|
|
109
|
-
span.setStatus({ code: SpanStatusCode.OK });
|
|
110
109
|
return result;
|
|
111
110
|
}
|
|
112
111
|
catch (error) {
|
|
@@ -200,6 +199,13 @@ export function setActiveSpanAttributes(attributes) {
|
|
|
200
199
|
for (const [key, value] of Object.entries(attributes))
|
|
201
200
|
span.setAttribute(key, value);
|
|
202
201
|
}
|
|
202
|
+
/** Marks the active span as failed. */
|
|
203
|
+
export function setActiveSpanErrorStatus(error) {
|
|
204
|
+
const span = shimTrace.getActiveSpan?.();
|
|
205
|
+
if (!span)
|
|
206
|
+
return;
|
|
207
|
+
setSpanErrorStatus(span, error);
|
|
208
|
+
}
|
|
203
209
|
/** Context for with. */
|
|
204
210
|
export async function withContext(spanContext, fn) {
|
|
205
211
|
return shimContext.with(spanContext, fn);
|
|
@@ -22,8 +22,8 @@ export declare class ProxyFSAdapterManager {
|
|
|
22
22
|
private createAdapter;
|
|
23
23
|
private evictLeastRecentlyUsed;
|
|
24
24
|
private cleanupIdleAdapters;
|
|
25
|
-
hasAdapter(projectSlug: string, productionMode?: boolean, releaseId?: string | null, branch?: string | null): boolean;
|
|
26
|
-
evictAdapter(projectSlug: string, productionMode?: boolean, releaseId?: string | null, branch?: string | null): void;
|
|
25
|
+
hasAdapter(projectSlug: string, productionMode?: boolean, releaseId?: string | null, branch?: string | null, environmentName?: string | null): boolean;
|
|
26
|
+
evictAdapter(projectSlug: string, productionMode?: boolean, releaseId?: string | null, branch?: string | null, environmentName?: string | null): void;
|
|
27
27
|
getStats(): {
|
|
28
28
|
adapters: number;
|
|
29
29
|
stats: Record<string, CacheStats>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-manager.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/proxy-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAA0B,MAAM,YAAY,CAAC;AAetF,UAAU,2BAA2B;IACnC,UAAU,EAAE,eAAe,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoCD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,cAAc,UAAQ,GACrB,MAAM,GAAG,IAAI,CAgBf;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,eAAe,CAAkD;IACzE,OAAO,CAAC,oBAAoB,CAAyC;IACrE,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAC,CAAiC;gBAE1C,MAAM,EAAE,2BAA2B;IAkBzC,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,OAAO,EACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,EAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"proxy-manager.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/proxy-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAA0B,MAAM,YAAY,CAAC;AAetF,UAAU,2BAA2B;IACnC,UAAU,EAAE,eAAe,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoCD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,cAAc,UAAQ,GACrB,MAAM,GAAG,IAAI,CAgBf;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,eAAe,CAAkD;IACzE,OAAO,CAAC,oBAAoB,CAAyC;IACrE,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAC,CAAiC;gBAE1C,MAAM,EAAE,2BAA2B;IAkBzC,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,OAAO,EACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,EAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,kBAAkB,CAAC;IAmK9B,OAAO,CAAC,oBAAoB;IAuC5B,OAAO,CAAC,wBAAwB;IAyChC,OAAO,CAAC,aAAa;IAyJrB,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,mBAAmB;IAY3B,UAAU,CACR,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,OAAO,EACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EACzB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAC9B,OAAO;IAcV,YAAY,CACV,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,OAAO,EACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EACzB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAC9B,IAAI;IAuBP,QAAQ,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;KAAE;IAUnE,OAAO,IAAI,IAAI;CAoBhB"}
|