veryfront 0.1.1007 → 0.1.1009
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/config-generator.d.ts.map +1 -1
- package/esm/cli/commands/init/config-generator.js +10 -1
- package/esm/deno.js +1 -1
- package/esm/src/agent/conversation/durable-append-errors.d.ts +7 -0
- package/esm/src/agent/conversation/durable-append-errors.d.ts.map +1 -1
- package/esm/src/agent/conversation/durable-append-errors.js +12 -0
- package/esm/src/agent/conversation/durable-contracts.d.ts +1 -1
- package/esm/src/agent/conversation/durable-contracts.d.ts.map +1 -1
- package/esm/src/agent/conversation/durable.d.ts +4 -4
- package/esm/src/agent/conversation/durable.d.ts.map +1 -1
- package/esm/src/agent/conversation/durable.js +19 -2
- package/esm/src/agent/conversation/run-chunk-mirror.d.ts.map +1 -1
- package/esm/src/agent/conversation/run-chunk-mirror.js +10 -0
- package/esm/src/agent/conversation/run-event-normalization.d.ts +1 -0
- package/esm/src/agent/conversation/run-event-normalization.d.ts.map +1 -1
- package/esm/src/agent/conversation/run-event-normalization.js +92 -16
- package/esm/src/agent/conversation/run-mirror.d.ts +1 -1
- package/esm/src/agent/conversation/run-mirror.d.ts.map +1 -1
- package/esm/src/routing/api/module-loader/esbuild-plugin.d.ts.map +1 -1
- package/esm/src/routing/api/module-loader/esbuild-plugin.js +24 -9
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-generator.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/init/config-generator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config-generator.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/init/config-generator.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,wBAAwB;IACvC,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC1C,CAAC,CAAC;CACJ;AAED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,IAAI,CAAC,CA+Df"}
|
|
@@ -3,6 +3,12 @@ import { join } from "../../../src/platform/compat/path/index.js";
|
|
|
3
3
|
import { createFileSystem } from "../../../src/platform/index.js";
|
|
4
4
|
// Keep init scaffold aligned with current framework default React major/minor.
|
|
5
5
|
const DEFAULT_INIT_REACT_VERSION = "19.2.4";
|
|
6
|
+
const REQUIRED_INIT_EXTENSION_PACKAGES = [
|
|
7
|
+
"@veryfront/ext-bundler-esbuild",
|
|
8
|
+
"@veryfront/ext-content-mdx",
|
|
9
|
+
"@veryfront/ext-css-tailwind",
|
|
10
|
+
"@veryfront/ext-parser-babel",
|
|
11
|
+
];
|
|
6
12
|
export async function createPackageJson(projectDir, projectName, options = {}) {
|
|
7
13
|
const fs = createFileSystem();
|
|
8
14
|
// Read any existing package.json (e.g. from template) to merge dependencies
|
|
@@ -26,6 +32,8 @@ export async function createPackageJson(projectDir, projectName, options = {}) {
|
|
|
26
32
|
}
|
|
27
33
|
}
|
|
28
34
|
const dirName = projectDir.split(/[/\\]/).pop();
|
|
35
|
+
const veryfrontVersionRange = `^${VERSION}`;
|
|
36
|
+
const requiredExtensionDeps = Object.fromEntries(REQUIRED_INIT_EXTENSION_PACKAGES.map((packageName) => [packageName, veryfrontVersionRange]));
|
|
29
37
|
const packageJson = {
|
|
30
38
|
name: projectName ?? dirName ?? "veryfront-project",
|
|
31
39
|
version: "0.1.0",
|
|
@@ -41,9 +49,10 @@ export async function createPackageJson(projectDir, projectName, options = {}) {
|
|
|
41
49
|
dependencies: {
|
|
42
50
|
...templateDeps,
|
|
43
51
|
...integrationDeps,
|
|
52
|
+
...requiredExtensionDeps,
|
|
44
53
|
react: `^${DEFAULT_INIT_REACT_VERSION}`,
|
|
45
54
|
"react-dom": `^${DEFAULT_INIT_REACT_VERSION}`,
|
|
46
|
-
veryfront:
|
|
55
|
+
veryfront: veryfrontVersionRange,
|
|
47
56
|
zod: "^3.24.0",
|
|
48
57
|
},
|
|
49
58
|
};
|
package/esm/deno.js
CHANGED
|
@@ -12,6 +12,13 @@ export declare class AppendConversationRunEventsError extends Error {
|
|
|
12
12
|
export declare function parseAppendConversationRunEventsErrorBody(bodyText: string): string | null;
|
|
13
13
|
/** Error shape for is ignorable conversation run append. */
|
|
14
14
|
export declare function isIgnorableConversationRunAppendError(error: unknown): error is AppendConversationRunEventsError;
|
|
15
|
+
/**
|
|
16
|
+
* A payload-too-large rejection is permanent: the same bytes will be rejected on
|
|
17
|
+
* every retry, so the mirror must stop rather than retry-storm the API. The runtime
|
|
18
|
+
* normalizes events under the limit before appending, so reaching this is a bug —
|
|
19
|
+
* classify it distinctly so it can be surfaced loudly instead of silently ignored.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isPayloadTooLargeConversationRunAppendError(error: unknown): error is AppendConversationRunEventsError;
|
|
15
22
|
/** Error shape for is cursor mismatch conversation run append. */
|
|
16
23
|
export declare function isCursorMismatchConversationRunAppendError(error: unknown): error is AppendConversationRunEventsError;
|
|
17
24
|
//# sourceMappingURL=durable-append-errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-append-errors.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/durable-append-errors.ts"],"names":[],"mappings":"AAEA,sDAAsD;AACtD,qBAAa,gCAAiC,SAAQ,KAAK;IACzD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEnB,KAAK,EAAE;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;CAOF;AAED,wDAAwD;AACxD,wBAAgB,yCAAyC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAezF;AAED,4DAA4D;AAC5D,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,gCAAgC,CAiB3C;AAED,kEAAkE;AAClE,wBAAgB,0CAA0C,CACxD,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,gCAAgC,CAM3C"}
|
|
1
|
+
{"version":3,"file":"durable-append-errors.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/durable-append-errors.ts"],"names":[],"mappings":"AAEA,sDAAsD;AACtD,qBAAa,gCAAiC,SAAQ,KAAK;IACzD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEnB,KAAK,EAAE;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;CAOF;AAED,wDAAwD;AACxD,wBAAgB,yCAAyC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAezF;AAED,4DAA4D;AAC5D,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,gCAAgC,CAiB3C;AAED;;;;;GAKG;AACH,wBAAgB,2CAA2C,CACzD,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,gCAAgC,CAO3C;AAED,kEAAkE;AAClE,wBAAgB,0CAA0C,CACxD,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,gCAAgC,CAM3C"}
|
|
@@ -41,6 +41,18 @@ export function isIgnorableConversationRunAppendError(error) {
|
|
|
41
41
|
return (error.detail === "Cannot append external events to a terminal run" ||
|
|
42
42
|
error.detail === "Cannot append external events while the run is waiting for a tool result");
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* A payload-too-large rejection is permanent: the same bytes will be rejected on
|
|
46
|
+
* every retry, so the mirror must stop rather than retry-storm the API. The runtime
|
|
47
|
+
* normalizes events under the limit before appending, so reaching this is a bug —
|
|
48
|
+
* classify it distinctly so it can be surfaced loudly instead of silently ignored.
|
|
49
|
+
*/
|
|
50
|
+
export function isPayloadTooLargeConversationRunAppendError(error) {
|
|
51
|
+
return (error instanceof AppendConversationRunEventsError &&
|
|
52
|
+
error.status === 400 &&
|
|
53
|
+
typeof error.detail === "string" &&
|
|
54
|
+
error.detail.includes("payload must be less than"));
|
|
55
|
+
}
|
|
44
56
|
/** Error shape for is cursor mismatch conversation run append. */
|
|
45
57
|
export function isCursorMismatchConversationRunAppendError(error) {
|
|
46
58
|
return (error instanceof AppendConversationRunEventsError &&
|
|
@@ -76,7 +76,7 @@ export interface ConversationRunEventQueueController {
|
|
|
76
76
|
pendingEventCount: 0;
|
|
77
77
|
consecutiveFailures: number;
|
|
78
78
|
disabled: true;
|
|
79
|
-
disableReason?: "cursor_resyncs_exhausted" | "non_appendable" | "ignorable_append_rejection";
|
|
79
|
+
disableReason?: "cursor_resyncs_exhausted" | "non_appendable" | "ignorable_append_rejection" | "payload_too_large";
|
|
80
80
|
} | {
|
|
81
81
|
outcome: "retry_scheduled";
|
|
82
82
|
latestEventId: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-contracts.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/durable-contracts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"durable-contracts.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/durable-contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,7 +59,7 @@ export declare function recoverConversationRunAppendFailure(input: {
|
|
|
59
59
|
outcome: ConversationRunAppendFailureOutcome;
|
|
60
60
|
latestEventId: number;
|
|
61
61
|
latestExternalEventSequence: number;
|
|
62
|
-
disableReason?: "cursor_resyncs_exhausted" | "non_appendable" | "ignorable_append_rejection";
|
|
62
|
+
disableReason?: "cursor_resyncs_exhausted" | "non_appendable" | "ignorable_append_rejection" | "payload_too_large";
|
|
63
63
|
errorMessage?: string;
|
|
64
64
|
run?: ConversationRunProjection;
|
|
65
65
|
}>;
|
|
@@ -88,7 +88,7 @@ export declare function recoverConversationRunAppendExecution(input: {
|
|
|
88
88
|
outcome: "stopped";
|
|
89
89
|
latestEventId: number;
|
|
90
90
|
latestExternalEventSequence: number;
|
|
91
|
-
disableReason?: "cursor_resyncs_exhausted" | "non_appendable" | "ignorable_append_rejection";
|
|
91
|
+
disableReason?: "cursor_resyncs_exhausted" | "non_appendable" | "ignorable_append_rejection" | "payload_too_large";
|
|
92
92
|
} | {
|
|
93
93
|
outcome: "retry_scheduled";
|
|
94
94
|
latestEventId: number;
|
|
@@ -128,7 +128,7 @@ export declare function flushConversationRunEventBatches(input: {
|
|
|
128
128
|
outcome: "stopped";
|
|
129
129
|
latestEventId: number;
|
|
130
130
|
latestExternalEventSequence: number;
|
|
131
|
-
disableReason?: "cursor_resyncs_exhausted" | "non_appendable" | "ignorable_append_rejection";
|
|
131
|
+
disableReason?: "cursor_resyncs_exhausted" | "non_appendable" | "ignorable_append_rejection" | "payload_too_large";
|
|
132
132
|
}>;
|
|
133
133
|
/** Flush conversation run event queue. */
|
|
134
134
|
export declare function flushConversationRunEventQueue(input: {
|
|
@@ -152,7 +152,7 @@ export declare function flushConversationRunEventQueue(input: {
|
|
|
152
152
|
outcome: "stopped";
|
|
153
153
|
latestEventId: number;
|
|
154
154
|
latestExternalEventSequence: number;
|
|
155
|
-
disableReason?: "cursor_resyncs_exhausted" | "non_appendable" | "ignorable_append_rejection";
|
|
155
|
+
disableReason?: "cursor_resyncs_exhausted" | "non_appendable" | "ignorable_append_rejection" | "payload_too_large";
|
|
156
156
|
} | {
|
|
157
157
|
outcome: "retry_scheduled";
|
|
158
158
|
latestEventId: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/durable.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,2BAA2B,EAC3B,mCAAmC,EACnC,uCAAuC,EACvC,mCAAmC,EACnC,oCAAoC,EACpC,mCAAmC,EACnC,yBAAyB,EACzB,+BAA+B,EAC/B,iCAAiC,EACjC,6BAA6B,EAC9B,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"durable.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/durable.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as dntShim from "../../../_dnt.shims.js";
|
|
2
2
|
import { AppendConversationRunEventsResponseSchema, CompleteConversationRunResponseSchema, ConversationRunProjectionSchema, CreateConversationRunAcceptedSchema, resolveConversationRunTargets, } from "./durable-contracts.js";
|
|
3
|
-
import { AppendConversationRunEventsError, isCursorMismatchConversationRunAppendError, isIgnorableConversationRunAppendError, parseAppendConversationRunEventsErrorBody, } from "./durable-append-errors.js";
|
|
3
|
+
import { AppendConversationRunEventsError, isCursorMismatchConversationRunAppendError, isIgnorableConversationRunAppendError, isPayloadTooLargeConversationRunAppendError, parseAppendConversationRunEventsErrorBody, } from "./durable-append-errors.js";
|
|
4
4
|
export { AppendConversationRunEventsResponseSchema, CompleteConversationRunResponseSchema, ConversationRunProjectionSchema, ConversationRunStatusSchema, ConversationRunTargetsSchema, CreateConversationRunAcceptedSchema, getAppendConversationRunEventsResponseSchema, getCompleteConversationRunResponseSchema, getConversationRunProjectionSchema, getConversationRunStatusSchema, getConversationRunTargetsSchema, getCreateConversationRunAcceptedSchema, resolveConversationRunTargets, } from "./durable-contracts.js";
|
|
5
5
|
export { AppendConversationRunEventsError, isCursorMismatchConversationRunAppendError, isIgnorableConversationRunAppendError, parseAppendConversationRunEventsErrorBody, } from "./durable-append-errors.js";
|
|
6
|
+
import { normalizeConversationRunEvents } from "./run-event-normalization.js";
|
|
6
7
|
const AGENT_RUN_API_TIMEOUT_MS = 15_000;
|
|
7
8
|
function createTimedAbortSignal(timeoutMs, abortSignal) {
|
|
8
9
|
const controller = new AbortController();
|
|
@@ -169,6 +170,17 @@ export async function recoverConversationRunAppendFailure(input) {
|
|
|
169
170
|
...(cursorRecovery.run ? { run: cursorRecovery.run } : {}),
|
|
170
171
|
};
|
|
171
172
|
}
|
|
173
|
+
// Permanent: the same bytes fail every retry. Stop instead of retry-storming the
|
|
174
|
+
// API (the runtime normalizes under the limit before appending, so this is a bug).
|
|
175
|
+
if (isPayloadTooLargeConversationRunAppendError(input.error)) {
|
|
176
|
+
return {
|
|
177
|
+
outcome: "stopped",
|
|
178
|
+
latestEventId: cursorRecovery.latestEventId,
|
|
179
|
+
latestExternalEventSequence: cursorRecovery.latestExternalEventSequence,
|
|
180
|
+
disableReason: "payload_too_large",
|
|
181
|
+
...(cursorRecovery.run ? { run: cursorRecovery.run } : {}),
|
|
182
|
+
};
|
|
183
|
+
}
|
|
172
184
|
return {
|
|
173
185
|
outcome: "retry_scheduled",
|
|
174
186
|
latestEventId: cursorRecovery.latestEventId,
|
|
@@ -601,7 +613,12 @@ export async function appendConversationRunEvents(input) {
|
|
|
601
613
|
expected_previous_external_event_sequence: input.expectedPreviousExternalEventSequence,
|
|
602
614
|
}
|
|
603
615
|
: {}),
|
|
604
|
-
|
|
616
|
+
// Chokepoint guard: every append path funnels through here, so enforce the
|
|
617
|
+
// per-event size limit here too. Upstream mirrors already normalize, but
|
|
618
|
+
// direct callers (hosted lifecycle, child-run progress) do not — this makes
|
|
619
|
+
// it impossible to POST an event the API would reject for size. Idempotent
|
|
620
|
+
// on already-normalized events.
|
|
621
|
+
events: normalizeConversationRunEvents(input.events),
|
|
605
622
|
}),
|
|
606
623
|
signal: timedAbort.signal,
|
|
607
624
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-chunk-mirror.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-chunk-mirror.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"run-chunk-mirror.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-chunk-mirror.ts"],"names":[],"mappings":"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"}
|
|
@@ -123,6 +123,16 @@ function recordHostedChunkMirrorStopped(input) {
|
|
|
123
123
|
});
|
|
124
124
|
return;
|
|
125
125
|
}
|
|
126
|
+
if (input.flushAttempt.disableReason === "payload_too_large") {
|
|
127
|
+
input.instrumentation?.error?.("Disabling durable run mirroring after an oversized event was rejected; " +
|
|
128
|
+
"an event exceeded the durable payload limit despite normalization", {
|
|
129
|
+
conversationId: input.conversationId,
|
|
130
|
+
runId: input.runId,
|
|
131
|
+
latestEventId: input.flushAttempt.latestEventId,
|
|
132
|
+
latestExternalEventSequence: input.flushAttempt.latestExternalEventSequence,
|
|
133
|
+
});
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
126
136
|
if (input.flushAttempt.disableReason === "ignorable_append_rejection") {
|
|
127
137
|
input.instrumentation?.warn?.("Disabling durable run mirroring after external append rejection", {
|
|
128
138
|
conversationId: input.conversationId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-event-normalization.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-event-normalization.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-event-normalization.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-event-normalization.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wCAAwC,QAAa,CAAC;AAQnE,KAAK,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAS7E,sDAAsD;AACtD,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAM5E;AAED,oDAAoD;AACpD,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,0BAA0B,GAChC,0BAA0B,EAAE,CAQ9B;AAgDD,0CAA0C;AAC1C,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,0BAA0B,EAAE,GACnC,0BAA0B,EAAE,CAE9B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const MAX_CONVERSATION_RUN_EVENT_PAYLOAD_BYTES = 240 * 1024;
|
|
1
|
+
export const MAX_CONVERSATION_RUN_EVENT_PAYLOAD_BYTES = 240 * 1024;
|
|
2
2
|
const MAX_SUMMARY_DEPTH = 4;
|
|
3
3
|
const MAX_SUMMARY_ARRAY_ITEMS = 8;
|
|
4
4
|
const MAX_SUMMARY_OBJECT_KEYS = 24;
|
|
@@ -21,6 +21,11 @@ export function normalizeConversationRunEvent(event) {
|
|
|
21
21
|
if (getConversationRunEventJsonByteLength(event) <= MAX_CONVERSATION_RUN_EVENT_PAYLOAD_BYTES) {
|
|
22
22
|
return [event];
|
|
23
23
|
}
|
|
24
|
+
// Every summarizer output passes through enforceEventSizeLimit so the byte-limit
|
|
25
|
+
// invariant holds regardless of which branch (or future event type) ran.
|
|
26
|
+
return summarizeOversizedEvent(event).map(enforceEventSizeLimit);
|
|
27
|
+
}
|
|
28
|
+
function summarizeOversizedEvent(event) {
|
|
24
29
|
switch (event.type) {
|
|
25
30
|
case "TEXT_MESSAGE_CONTENT":
|
|
26
31
|
case "REASONING_CONTENT":
|
|
@@ -33,6 +38,31 @@ export function normalizeConversationRunEvent(event) {
|
|
|
33
38
|
return [summarizeGenericEvent(event)];
|
|
34
39
|
}
|
|
35
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Final invariant guard. Forces any event a type-specific summarizer left oversized
|
|
43
|
+
* (escape-heavy split parts, or a large non-string field) under the byte limit, so
|
|
44
|
+
* no normalization path can emit an event the API will reject.
|
|
45
|
+
*/
|
|
46
|
+
function enforceEventSizeLimit(event) {
|
|
47
|
+
if (getConversationRunEventJsonByteLength(event) <= MAX_CONVERSATION_RUN_EVENT_PAYLOAD_BYTES) {
|
|
48
|
+
return event;
|
|
49
|
+
}
|
|
50
|
+
for (const field of ["delta", "content"]) {
|
|
51
|
+
if (typeof event[field] === "string") {
|
|
52
|
+
const clamped = truncateEventStringFieldToLimit(event, field, " [truncated]");
|
|
53
|
+
if (clamped) {
|
|
54
|
+
return clamped;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
type: event.type,
|
|
60
|
+
...(typeof event.messageId === "string" ? { messageId: event.messageId } : {}),
|
|
61
|
+
...(typeof event.toolCallId === "string" ? { toolCallId: event.toolCallId } : {}),
|
|
62
|
+
truncated: true,
|
|
63
|
+
note: "Conversation-run event payload exceeded the size limit and was omitted.",
|
|
64
|
+
};
|
|
65
|
+
}
|
|
36
66
|
/** Normalizes conversation run events. */
|
|
37
67
|
export function normalizeConversationRunEvents(events) {
|
|
38
68
|
return events.flatMap(normalizeConversationRunEvent);
|
|
@@ -41,23 +71,29 @@ function summarizeToolResultEvent(event) {
|
|
|
41
71
|
if (event.type !== "TOOL_CALL_RESULT") {
|
|
42
72
|
return event;
|
|
43
73
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
74
|
+
// The original tool `input` is redundant with the TOOL_CALL_ARGS event and can
|
|
75
|
+
// itself exceed the budget, so truncating only `content` would leave the event
|
|
76
|
+
// oversized. Drop it before measuring.
|
|
77
|
+
const { input: _input, ...eventWithoutInput } = event;
|
|
78
|
+
if (typeof eventWithoutInput.content === "string") {
|
|
79
|
+
const clamped = truncateEventStringFieldToLimit(eventWithoutInput, "content", " [tool result truncated in conversation-run event]");
|
|
80
|
+
if (clamped) {
|
|
81
|
+
return clamped;
|
|
82
|
+
}
|
|
83
|
+
// The envelope alone exceeds the limit — fall through to the omitted-content placeholder.
|
|
50
84
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
85
|
+
else {
|
|
86
|
+
const summarizedEvent = {
|
|
87
|
+
...eventWithoutInput,
|
|
88
|
+
content: summarizeValue(eventWithoutInput.content),
|
|
89
|
+
};
|
|
90
|
+
if (getConversationRunEventJsonByteLength(summarizedEvent) <=
|
|
91
|
+
MAX_CONVERSATION_RUN_EVENT_PAYLOAD_BYTES) {
|
|
92
|
+
return summarizedEvent;
|
|
93
|
+
}
|
|
58
94
|
}
|
|
59
95
|
return {
|
|
60
|
-
...
|
|
96
|
+
...eventWithoutInput,
|
|
61
97
|
content: {
|
|
62
98
|
truncated: true,
|
|
63
99
|
originalType: describeValueType(event.content),
|
|
@@ -65,11 +101,51 @@ function summarizeToolResultEvent(event) {
|
|
|
65
101
|
},
|
|
66
102
|
};
|
|
67
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Truncate a string field so the WHOLE event serializes within the byte limit.
|
|
106
|
+
* Measures the JSON-serialized event (not the raw string), so it stays correct
|
|
107
|
+
* for escape-heavy content that expands under JSON.stringify — the same unit the
|
|
108
|
+
* API enforces. Returns null when the envelope alone already exceeds the limit.
|
|
109
|
+
*/
|
|
110
|
+
function truncateEventStringFieldToLimit(event, field, suffix) {
|
|
111
|
+
const value = event[field];
|
|
112
|
+
if (typeof value !== "string") {
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
const buildCandidate = (prefixLength) => prefixLength >= value.length
|
|
116
|
+
? event
|
|
117
|
+
: { ...event, [field]: `${value.slice(0, prefixLength)}${suffix}` };
|
|
118
|
+
if (getConversationRunEventJsonByteLength(buildCandidate(value.length)) <=
|
|
119
|
+
MAX_CONVERSATION_RUN_EVENT_PAYLOAD_BYTES) {
|
|
120
|
+
return event;
|
|
121
|
+
}
|
|
122
|
+
if (getConversationRunEventJsonByteLength(buildCandidate(0)) >
|
|
123
|
+
MAX_CONVERSATION_RUN_EVENT_PAYLOAD_BYTES) {
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
let low = 0;
|
|
127
|
+
let high = value.length;
|
|
128
|
+
let best = 0;
|
|
129
|
+
while (low <= high) {
|
|
130
|
+
const mid = Math.floor((low + high) / 2);
|
|
131
|
+
if (getConversationRunEventJsonByteLength(buildCandidate(mid)) <=
|
|
132
|
+
MAX_CONVERSATION_RUN_EVENT_PAYLOAD_BYTES) {
|
|
133
|
+
best = mid;
|
|
134
|
+
low = mid + 1;
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
high = mid - 1;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return buildCandidate(best);
|
|
141
|
+
}
|
|
68
142
|
function summarizeGenericEvent(event) {
|
|
143
|
+
const { type, ...rest } = event;
|
|
69
144
|
return {
|
|
70
|
-
|
|
145
|
+
type,
|
|
71
146
|
truncated: true,
|
|
72
147
|
note: "Conversation-run event payload was summarized to stay within storage limits.",
|
|
148
|
+
summary: summarizeValue(rest),
|
|
73
149
|
};
|
|
74
150
|
}
|
|
75
151
|
function splitStringFieldEvent(event, field) {
|
|
@@ -17,7 +17,7 @@ export interface ConversationRunMirrorStoppedState {
|
|
|
17
17
|
pendingEventCount: 0;
|
|
18
18
|
consecutiveFailures: number;
|
|
19
19
|
disabled: true;
|
|
20
|
-
disableReason?: "cursor_resyncs_exhausted" | "non_appendable" | "ignorable_append_rejection";
|
|
20
|
+
disableReason?: "cursor_resyncs_exhausted" | "non_appendable" | "ignorable_append_rejection" | "payload_too_large";
|
|
21
21
|
}
|
|
22
22
|
/** State for conversation run mirror retry scheduled. */
|
|
23
23
|
export interface ConversationRunMirrorRetryScheduledState {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-mirror.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-mirror.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,cAAc,CAAC;AAExE,gEAAgE;AAChE,MAAM,WAAW,6BAA6B;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,iDAAiD;AACjD,MAAM,WAAW,iCAAiC;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,CAAC,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,IAAI,CAAC;IACf,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"run-mirror.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-mirror.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,cAAc,CAAC;AAExE,gEAAgE;AAChE,MAAM,WAAW,6BAA6B;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,iDAAiD;AACjD,MAAM,WAAW,iCAAiC;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,CAAC,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,IAAI,CAAC;IACf,aAAa,CAAC,EACV,0BAA0B,GAC1B,gBAAgB,GAChB,4BAA4B,GAC5B,mBAAmB,CAAC;CACzB;AAED,yDAAyD;AACzD,MAAM,WAAW,wCAAwC;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qCAAqC;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,uDAAuD;AACvD,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjC,KAAK,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAChD,WAAW,IAAI,6BAA6B,CAAC;IAC7C,OAAO,IAAI,IAAI,CAAC;CACjB;AAyBD,sCAAsC;AACtC,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,eAAe,EAAE,mCAAmC,CAAC;IACrD,wBAAwB,EAAE,MAAM,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,qCAAqC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvF,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,wCAAwC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7F,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,iCAAiC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAChF,GAAG,qBAAqB,CA8LxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esbuild-plugin.d.ts","sourceRoot":"","sources":["../../../../../src/src/routing/api/module-loader/esbuild-plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAO5E,UAAU,iBAAiB;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA8GD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,EAAE,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"esbuild-plugin.d.ts","sourceRoot":"","sources":["../../../../../src/src/routing/api/module-loader/esbuild-plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAO5E,UAAU,iBAAiB;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA8GD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,EAAE,GAAG,MAAM,CA6Q9E"}
|
|
@@ -104,6 +104,25 @@ export function createHTTPPlugin(options) {
|
|
|
104
104
|
function delay(ms) {
|
|
105
105
|
return new Promise((resolve) => dntShim.setTimeout(resolve, ms));
|
|
106
106
|
}
|
|
107
|
+
function describePersistenceError(error) {
|
|
108
|
+
if (!(error instanceof Error))
|
|
109
|
+
return typeof error;
|
|
110
|
+
const code = error.code;
|
|
111
|
+
const name = error.name || "Error";
|
|
112
|
+
return typeof code === "string" && code ? `${name}(${code})` : name;
|
|
113
|
+
}
|
|
114
|
+
async function persistLockfileEntry(url, entry) {
|
|
115
|
+
if (!lockfile)
|
|
116
|
+
return;
|
|
117
|
+
try {
|
|
118
|
+
await lockfile.set(url, entry);
|
|
119
|
+
await lockfile.flush();
|
|
120
|
+
logger.debug(`[http] lockfile updated: ${url} -> ${entry.resolved}`);
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
logger.warn(`[http] could not persist lockfile entry for ${url}: ${describePersistenceError(error)}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
107
126
|
async function fetchRemoteModule(url) {
|
|
108
127
|
for (let attempt = 1; attempt <= HTTP_MODULE_FETCH_MAX_ATTEMPTS; attempt += 1) {
|
|
109
128
|
const response = await fetchWithTimeout(url).catch((error) => new Response(String(error?.message ?? error), {
|
|
@@ -252,15 +271,11 @@ export function createHTTPPlugin(options) {
|
|
|
252
271
|
const text = await res.text();
|
|
253
272
|
const resolvedUrl = res.url || requestUrl;
|
|
254
273
|
const integrity = await computeIntegrity(text);
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
});
|
|
261
|
-
await lockfile.flush();
|
|
262
|
-
logger.debug(`[http] lockfile updated: ${args.path} -> ${resolvedUrl}`);
|
|
263
|
-
}
|
|
274
|
+
await persistLockfileEntry(args.path, {
|
|
275
|
+
resolved: resolvedUrl,
|
|
276
|
+
integrity,
|
|
277
|
+
fetchedAt: new Date().toISOString(),
|
|
278
|
+
});
|
|
264
279
|
await moduleCache?.write(args.path, text, resolvedUrl, integrity);
|
|
265
280
|
await moduleCache?.write(requestUrl, text, resolvedUrl, integrity);
|
|
266
281
|
await moduleCache?.write(resolvedUrl, text, resolvedUrl, integrity);
|