anchor-ai-sdk 0.1.8 → 0.2.0
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/README.md +186 -59
- package/dist/agents/coding/index.d.ts +1 -1
- package/dist/agents/coding/index.d.ts.map +1 -1
- package/dist/agents/coding/index.js +1 -1
- package/dist/agents/coding/index.js.map +1 -1
- package/dist/agents/coding/prompts/index.d.ts +11 -0
- package/dist/agents/coding/prompts/index.d.ts.map +1 -1
- package/dist/agents/coding/prompts/index.js +11 -0
- package/dist/agents/coding/prompts/index.js.map +1 -1
- package/dist/anchor.d.ts +35 -0
- package/dist/anchor.d.ts.map +1 -0
- package/dist/anchor.js +57 -0
- package/dist/anchor.js.map +1 -0
- package/dist/engine/compaction.d.ts +48 -1
- package/dist/engine/compaction.d.ts.map +1 -1
- package/dist/engine/compaction.js +210 -0
- package/dist/engine/compaction.js.map +1 -1
- package/dist/engine/context.d.ts +1 -1
- package/dist/engine/context.d.ts.map +1 -1
- package/dist/engine/context.js +6 -2
- package/dist/engine/context.js.map +1 -1
- package/dist/engine/events.d.ts +23 -2
- package/dist/engine/events.d.ts.map +1 -1
- package/dist/engine/inbox.d.ts +9 -8
- package/dist/engine/inbox.d.ts.map +1 -1
- package/dist/engine/inbox.js +13 -11
- package/dist/engine/inbox.js.map +1 -1
- package/dist/engine/loop.d.ts +4 -3
- package/dist/engine/loop.d.ts.map +1 -1
- package/dist/engine/loop.js +542 -179
- package/dist/engine/loop.js.map +1 -1
- package/dist/engine/prompt.d.ts +16 -0
- package/dist/engine/prompt.d.ts.map +1 -0
- package/dist/engine/prompt.js +8 -0
- package/dist/engine/prompt.js.map +1 -0
- package/dist/engine/strategy.d.ts +0 -1
- package/dist/engine/strategy.d.ts.map +1 -1
- package/dist/engine/thread.d.ts +4 -1
- package/dist/engine/thread.d.ts.map +1 -1
- package/dist/engine/thread.js.map +1 -1
- package/dist/engine/types.d.ts +25 -14
- package/dist/engine/types.d.ts.map +1 -1
- package/dist/engine/types.js +13 -1
- package/dist/engine/types.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/ledger/alignment.d.ts +1 -1
- package/dist/ledger/alignment.d.ts.map +1 -1
- package/dist/ledger/alignment.js +1 -1
- package/dist/ledger/alignment.js.map +1 -1
- package/dist/ledger/compiler.d.ts +1 -1
- package/dist/ledger/compiler.d.ts.map +1 -1
- package/dist/ledger/compiler.js +11 -5
- package/dist/ledger/compiler.js.map +1 -1
- package/dist/ledger/config.d.ts +10 -3
- package/dist/ledger/config.d.ts.map +1 -1
- package/dist/ledger/index.d.ts +1 -0
- package/dist/ledger/index.d.ts.map +1 -1
- package/dist/ledger/index.js +1 -0
- package/dist/ledger/index.js.map +1 -1
- package/dist/ledger/ledger.d.ts +2 -1
- package/dist/ledger/ledger.d.ts.map +1 -1
- package/dist/ledger/ledger.js +10 -4
- package/dist/ledger/ledger.js.map +1 -1
- package/dist/ledger/types.d.ts +5 -0
- package/dist/ledger/types.d.ts.map +1 -1
- package/dist/llm/from-catalog.d.ts +2 -0
- package/dist/llm/from-catalog.d.ts.map +1 -1
- package/dist/llm/from-catalog.js +3 -0
- package/dist/llm/from-catalog.js.map +1 -1
- package/dist/llm/index.d.ts +2 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +1 -0
- package/dist/llm/index.js.map +1 -1
- package/dist/llm/openai-compatible.d.ts +7 -1
- package/dist/llm/openai-compatible.d.ts.map +1 -1
- package/dist/llm/openai-compatible.js +47 -11
- package/dist/llm/openai-compatible.js.map +1 -1
- package/dist/llm/types.d.ts +29 -0
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/lsp/index.d.ts +10 -5
- package/dist/lsp/index.d.ts.map +1 -1
- package/dist/lsp/index.js +6 -4
- package/dist/lsp/index.js.map +1 -1
- package/dist/lsp/python.d.ts +22 -0
- package/dist/lsp/python.d.ts.map +1 -0
- package/dist/lsp/python.js +33 -0
- package/dist/lsp/python.js.map +1 -0
- package/dist/lsp/server.d.ts +184 -0
- package/dist/lsp/server.d.ts.map +1 -0
- package/dist/lsp/server.js +687 -0
- package/dist/lsp/server.js.map +1 -0
- package/dist/lsp/tools.d.ts +16 -2
- package/dist/lsp/tools.d.ts.map +1 -1
- package/dist/lsp/tools.js +565 -27
- package/dist/lsp/tools.js.map +1 -1
- package/dist/lsp/typescript.d.ts +13 -54
- package/dist/lsp/typescript.d.ts.map +1 -1
- package/dist/lsp/typescript.js +37 -262
- package/dist/lsp/typescript.js.map +1 -1
- package/dist/sandbox/daytona/index.d.ts +3 -1
- package/dist/sandbox/daytona/index.d.ts.map +1 -1
- package/dist/sandbox/daytona/index.js +9 -0
- package/dist/sandbox/daytona/index.js.map +1 -1
- package/dist/sandbox/docker/index.d.ts.map +1 -1
- package/dist/sandbox/docker/index.js +1 -0
- package/dist/sandbox/docker/index.js.map +1 -1
- package/dist/sandbox/e2b/index.d.ts +2 -1
- package/dist/sandbox/e2b/index.d.ts.map +1 -1
- package/dist/sandbox/e2b/index.js +9 -0
- package/dist/sandbox/e2b/index.js.map +1 -1
- package/dist/sandbox/heyo/index.d.ts.map +1 -1
- package/dist/sandbox/heyo/index.js +1 -0
- package/dist/sandbox/heyo/index.js.map +1 -1
- package/dist/sandbox/local/index.d.ts.map +1 -1
- package/dist/sandbox/local/index.js +1 -0
- package/dist/sandbox/local/index.js.map +1 -1
- package/dist/sandbox/provider.d.ts +2 -0
- package/dist/sandbox/provider.d.ts.map +1 -1
- package/dist/sandbox/types.d.ts +11 -0
- package/dist/sandbox/types.d.ts.map +1 -1
- package/dist/sandbox/types.js.map +1 -1
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +16 -0
- package/dist/testing.js.map +1 -1
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/view-image.d.ts +20 -0
- package/dist/tools/view-image.d.ts.map +1 -0
- package/dist/tools/view-image.js +111 -0
- package/dist/tools/view-image.js.map +1 -0
- package/dist/verify/index.d.ts +3 -0
- package/dist/verify/index.d.ts.map +1 -0
- package/dist/verify/index.js +2 -0
- package/dist/verify/index.js.map +1 -0
- package/dist/verify/judge.d.ts +42 -0
- package/dist/verify/judge.d.ts.map +1 -0
- package/dist/verify/judge.js +119 -0
- package/dist/verify/judge.js.map +1 -0
- package/package.json +1 -1
|
@@ -14,12 +14,41 @@
|
|
|
14
14
|
* message, so every kept assistant-with-tool_calls has its results with it.
|
|
15
15
|
*/
|
|
16
16
|
import type { LLMClient, LLMMessage, LLMUsage } from "../llm/types.js";
|
|
17
|
+
import type { ProgressLedger } from "../ledger/types.js";
|
|
17
18
|
export interface CompactionConfig {
|
|
18
19
|
/** Compact when the conversation estimate exceeds this (estimated tokens, chars/4). */
|
|
19
20
|
maxEstimatedTokens?: number;
|
|
20
21
|
/** How much of the tail to keep verbatim. */
|
|
21
22
|
keepRecentTokens?: number;
|
|
22
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Durable state that replaces the folded part of a task conversation. The
|
|
26
|
+
* engine builds this with structured output; consumers persist it through
|
|
27
|
+
* their existing ThreadStore. The core fields are SDK-owned so the next
|
|
28
|
+
* window can be reconstructed without trusting a prose summary.
|
|
29
|
+
*/
|
|
30
|
+
export interface CompactionHandoff {
|
|
31
|
+
task: string;
|
|
32
|
+
requirements: Array<{
|
|
33
|
+
id: string;
|
|
34
|
+
text: string;
|
|
35
|
+
status: string;
|
|
36
|
+
evidence: string[];
|
|
37
|
+
}>;
|
|
38
|
+
completed: string[];
|
|
39
|
+
currentState: string;
|
|
40
|
+
openFailures: string[];
|
|
41
|
+
nextSteps: string[];
|
|
42
|
+
constraints: string[];
|
|
43
|
+
lastObservations: string[];
|
|
44
|
+
git: {
|
|
45
|
+
head?: string;
|
|
46
|
+
checkpoint?: string;
|
|
47
|
+
dirty?: boolean;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/** Render the durable handoff as the turn-scoped state block. */
|
|
51
|
+
export declare function renderCompactionHandoff(handoff: CompactionHandoff): string;
|
|
23
52
|
export declare const DEFAULT_COMPACTION: {
|
|
24
53
|
readonly maxEstimatedTokens: 80000;
|
|
25
54
|
readonly keepRecentTokens: 30000;
|
|
@@ -49,8 +78,10 @@ export declare function estimateTokens(messages: LLMMessage[]): number;
|
|
|
49
78
|
*/
|
|
50
79
|
export declare function findCompactionCut(messages: LLMMessage[], keepRecentTokens: number): number;
|
|
51
80
|
export interface CompactionOutcome {
|
|
52
|
-
/**
|
|
81
|
+
/** A compact prose view for compatibility/events; structured path also has handoff. */
|
|
53
82
|
summary: string;
|
|
83
|
+
/** Structured state, when the task/ledger path produced it. */
|
|
84
|
+
handoff?: CompactionHandoff;
|
|
54
85
|
/** The verbatim tail that was kept. */
|
|
55
86
|
keptMessages: LLMMessage[];
|
|
56
87
|
removedCount: number;
|
|
@@ -70,4 +101,20 @@ export declare function compactConversation(args: {
|
|
|
70
101
|
keepRecentTokens: number;
|
|
71
102
|
signal?: AbortSignal;
|
|
72
103
|
}): Promise<CompactionOutcome | null>;
|
|
104
|
+
/**
|
|
105
|
+
* Fold a task conversation into the SDK-owned handoff contract. This is used
|
|
106
|
+
* only when a ledger/verifier is active; plain chat keeps the legacy summary
|
|
107
|
+
* path. A malformed response returns null so the caller retains the intact
|
|
108
|
+
* conversation rather than silently losing state.
|
|
109
|
+
*/
|
|
110
|
+
export declare function compactConversationStructured(args: {
|
|
111
|
+
llm: LLMClient;
|
|
112
|
+
messages: LLMMessage[];
|
|
113
|
+
previousSummary?: string;
|
|
114
|
+
previousHandoff?: CompactionHandoff;
|
|
115
|
+
ledger?: ProgressLedger;
|
|
116
|
+
git?: CompactionHandoff["git"];
|
|
117
|
+
keepRecentTokens: number;
|
|
118
|
+
signal?: AbortSignal;
|
|
119
|
+
}): Promise<CompactionOutcome | null>;
|
|
73
120
|
//# sourceMappingURL=compaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../src/engine/compaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../src/engine/compaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,138 @@
|
|
|
1
|
+
import { completeStructured } from "../llm/structured.js";
|
|
2
|
+
import { renderLedger } from "../ledger/ledger.js";
|
|
1
3
|
import { conversationHistory } from "./context.js";
|
|
4
|
+
const HANDOFF_SCHEMA = {
|
|
5
|
+
type: "object",
|
|
6
|
+
properties: {
|
|
7
|
+
task: { type: "string" },
|
|
8
|
+
requirements: {
|
|
9
|
+
type: "array",
|
|
10
|
+
items: {
|
|
11
|
+
type: "object",
|
|
12
|
+
properties: {
|
|
13
|
+
id: { type: "string" },
|
|
14
|
+
text: { type: "string" },
|
|
15
|
+
status: { type: "string" },
|
|
16
|
+
evidence: { type: "array", items: { type: "string" } },
|
|
17
|
+
},
|
|
18
|
+
required: ["id", "text", "status", "evidence"],
|
|
19
|
+
additionalProperties: false,
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
completed: { type: "array", items: { type: "string" } },
|
|
23
|
+
currentState: { type: "string" },
|
|
24
|
+
openFailures: { type: "array", items: { type: "string" } },
|
|
25
|
+
nextSteps: { type: "array", items: { type: "string" } },
|
|
26
|
+
constraints: { type: "array", items: { type: "string" } },
|
|
27
|
+
lastObservations: { type: "array", items: { type: "string" } },
|
|
28
|
+
git: {
|
|
29
|
+
type: "object",
|
|
30
|
+
properties: {
|
|
31
|
+
head: { type: "string" },
|
|
32
|
+
checkpoint: { type: "string" },
|
|
33
|
+
dirty: { type: "boolean" },
|
|
34
|
+
},
|
|
35
|
+
additionalProperties: false,
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
required: [
|
|
39
|
+
"task",
|
|
40
|
+
"requirements",
|
|
41
|
+
"completed",
|
|
42
|
+
"currentState",
|
|
43
|
+
"openFailures",
|
|
44
|
+
"nextSteps",
|
|
45
|
+
"constraints",
|
|
46
|
+
"lastObservations",
|
|
47
|
+
"git",
|
|
48
|
+
],
|
|
49
|
+
additionalProperties: false,
|
|
50
|
+
};
|
|
51
|
+
function isRecord(value) {
|
|
52
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
53
|
+
}
|
|
54
|
+
function strings(value) {
|
|
55
|
+
if (!Array.isArray(value))
|
|
56
|
+
throw new Error("expected an array of strings");
|
|
57
|
+
return value.map((item) => {
|
|
58
|
+
if (typeof item !== "string")
|
|
59
|
+
throw new Error("expected a string");
|
|
60
|
+
return item;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function parseCompactionHandoff(value) {
|
|
64
|
+
if (!isRecord(value))
|
|
65
|
+
throw new Error("expected an object");
|
|
66
|
+
if (typeof value.task !== "string")
|
|
67
|
+
throw new Error("task must be a string");
|
|
68
|
+
if (typeof value.currentState !== "string")
|
|
69
|
+
throw new Error("currentState must be a string");
|
|
70
|
+
if (!Array.isArray(value.requirements))
|
|
71
|
+
throw new Error("requirements must be an array");
|
|
72
|
+
const requirements = value.requirements.map((item) => {
|
|
73
|
+
if (!isRecord(item))
|
|
74
|
+
throw new Error("requirement must be an object");
|
|
75
|
+
if (typeof item.id !== "string" || typeof item.text !== "string")
|
|
76
|
+
throw new Error("requirement id/text must be strings");
|
|
77
|
+
if (typeof item.status !== "string")
|
|
78
|
+
throw new Error("requirement status must be a string");
|
|
79
|
+
return {
|
|
80
|
+
id: item.id,
|
|
81
|
+
text: item.text,
|
|
82
|
+
status: item.status,
|
|
83
|
+
evidence: strings(item.evidence),
|
|
84
|
+
};
|
|
85
|
+
});
|
|
86
|
+
const git = isRecord(value.git) ? value.git : {};
|
|
87
|
+
return {
|
|
88
|
+
task: value.task,
|
|
89
|
+
requirements,
|
|
90
|
+
completed: strings(value.completed),
|
|
91
|
+
currentState: value.currentState,
|
|
92
|
+
openFailures: strings(value.openFailures),
|
|
93
|
+
nextSteps: strings(value.nextSteps),
|
|
94
|
+
constraints: strings(value.constraints),
|
|
95
|
+
lastObservations: strings(value.lastObservations),
|
|
96
|
+
git: {
|
|
97
|
+
...(typeof git.head === "string" ? { head: git.head } : {}),
|
|
98
|
+
...(typeof git.checkpoint === "string"
|
|
99
|
+
? { checkpoint: git.checkpoint }
|
|
100
|
+
: {}),
|
|
101
|
+
...(typeof git.dirty === "boolean" ? { dirty: git.dirty } : {}),
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
/** Render the durable handoff as the turn-scoped state block. */
|
|
106
|
+
export function renderCompactionHandoff(handoff) {
|
|
107
|
+
const list = (items) => items.length ? items.map((item) => `- ${item}`).join("\n") : "- none";
|
|
108
|
+
return [
|
|
109
|
+
"## Durable task handoff",
|
|
110
|
+
"This is authoritative state restored after a context reset, not a new user request.",
|
|
111
|
+
`TASK: ${handoff.task}`,
|
|
112
|
+
`CURRENT STATE: ${handoff.currentState}`,
|
|
113
|
+
"",
|
|
114
|
+
"REQUIREMENTS:",
|
|
115
|
+
list(handoff.requirements.map((item) => `${item.id} [${item.status}] ${item.text}${item.evidence.length ? ` (evidence: ${item.evidence.join(", ")})` : ""}`)),
|
|
116
|
+
"",
|
|
117
|
+
"COMPLETED:",
|
|
118
|
+
list(handoff.completed),
|
|
119
|
+
"OPEN FAILURES:",
|
|
120
|
+
list(handoff.openFailures),
|
|
121
|
+
"NEXT STEPS:",
|
|
122
|
+
list(handoff.nextSteps),
|
|
123
|
+
"CONSTRAINTS:",
|
|
124
|
+
list(handoff.constraints),
|
|
125
|
+
"LAST OBSERVATIONS:",
|
|
126
|
+
list(handoff.lastObservations),
|
|
127
|
+
...(handoff.git.head || handoff.git.checkpoint
|
|
128
|
+
? [
|
|
129
|
+
"GIT:",
|
|
130
|
+
`- head: ${handoff.git.head ?? "unknown"}`,
|
|
131
|
+
`- checkpoint: ${handoff.git.checkpoint ?? "none"}`,
|
|
132
|
+
]
|
|
133
|
+
: []),
|
|
134
|
+
].join("\n");
|
|
135
|
+
}
|
|
2
136
|
export const DEFAULT_COMPACTION = {
|
|
3
137
|
maxEstimatedTokens: 80_000,
|
|
4
138
|
keepRecentTokens: 30_000,
|
|
@@ -29,6 +163,11 @@ export function estimateTokens(messages) {
|
|
|
29
163
|
let chars = 0;
|
|
30
164
|
for (const m of messages) {
|
|
31
165
|
chars += m.content?.length ?? 0;
|
|
166
|
+
// Provider image pricing varies; count the URL/alt plus a small fixed
|
|
167
|
+
// overhead so an image-bearing turn is not estimated as free.
|
|
168
|
+
for (const image of m.images ?? []) {
|
|
169
|
+
chars += image.url.length + (image.alt?.length ?? 0) + 400;
|
|
170
|
+
}
|
|
32
171
|
for (const tc of m.tool_calls ?? []) {
|
|
33
172
|
chars += tc.name.length + tc.arguments.length;
|
|
34
173
|
}
|
|
@@ -80,6 +219,9 @@ function renderTranscript(messages) {
|
|
|
80
219
|
else {
|
|
81
220
|
parts.push(`${m.role}: ${m.content ?? ""}`);
|
|
82
221
|
}
|
|
222
|
+
for (const image of m.images ?? []) {
|
|
223
|
+
parts.push(`[image ${image.id} ${image.mime}${image.alt ? `: ${image.alt}` : ""}]`);
|
|
224
|
+
}
|
|
83
225
|
}
|
|
84
226
|
return parts.join("\n");
|
|
85
227
|
}
|
|
@@ -124,4 +266,72 @@ export async function compactConversation(args) {
|
|
|
124
266
|
usage: response.usage,
|
|
125
267
|
};
|
|
126
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* Fold a task conversation into the SDK-owned handoff contract. This is used
|
|
271
|
+
* only when a ledger/verifier is active; plain chat keeps the legacy summary
|
|
272
|
+
* path. A malformed response returns null so the caller retains the intact
|
|
273
|
+
* conversation rather than silently losing state.
|
|
274
|
+
*/
|
|
275
|
+
export async function compactConversationStructured(args) {
|
|
276
|
+
const cut = findCompactionCut(args.messages, args.keepRecentTokens);
|
|
277
|
+
if (cut === -1)
|
|
278
|
+
return null;
|
|
279
|
+
const summarizable = args.messages.slice(1, cut);
|
|
280
|
+
if (summarizable.length === 0 || estimateTokens(summarizable) === 0)
|
|
281
|
+
return null;
|
|
282
|
+
const userContent = [
|
|
283
|
+
args.previousSummary
|
|
284
|
+
? `Previous prose summary:\n${args.previousSummary}\n`
|
|
285
|
+
: "",
|
|
286
|
+
args.previousHandoff
|
|
287
|
+
? `Previous durable handoff:\n${renderCompactionHandoff(args.previousHandoff)}\n`
|
|
288
|
+
: "",
|
|
289
|
+
args.ledger ? `Authoritative ledger:\n${renderLedger(args.ledger)}\n` : "",
|
|
290
|
+
args.git
|
|
291
|
+
? `Git state: ${JSON.stringify(args.git)}\n`
|
|
292
|
+
: "Git state: unknown\n",
|
|
293
|
+
`Transcript to fold in:\n${renderTranscript(summarizable)}`,
|
|
294
|
+
]
|
|
295
|
+
.filter(Boolean)
|
|
296
|
+
.join("\n");
|
|
297
|
+
try {
|
|
298
|
+
const structured = await completeStructured(args.llm, {
|
|
299
|
+
name: "compaction_handoff",
|
|
300
|
+
messages: [
|
|
301
|
+
{
|
|
302
|
+
role: "system",
|
|
303
|
+
content: "You compact an agent task into a durable handoff. Preserve the task, requirements and their status, evidence ids, completed work, current state, open failures, next steps, constraints, and last observations. Do not invent completed work or evidence. The ledger is authoritative; keep its requirement ids and statuses. Return only the schema-bound object.",
|
|
304
|
+
},
|
|
305
|
+
{ role: "user", content: userContent },
|
|
306
|
+
],
|
|
307
|
+
schema: HANDOFF_SCHEMA,
|
|
308
|
+
parse: parseCompactionHandoff,
|
|
309
|
+
maxTokens: 2400,
|
|
310
|
+
signal: args.signal,
|
|
311
|
+
});
|
|
312
|
+
return {
|
|
313
|
+
handoff: {
|
|
314
|
+
...structured.value,
|
|
315
|
+
...(args.git ? { git: { ...structured.value.git, ...args.git } } : {}),
|
|
316
|
+
},
|
|
317
|
+
summary: renderCompactionHandoff({
|
|
318
|
+
...structured.value,
|
|
319
|
+
...(args.git ? { git: { ...structured.value.git, ...args.git } } : {}),
|
|
320
|
+
}),
|
|
321
|
+
keptMessages: args.messages.slice(cut),
|
|
322
|
+
removedCount: summarizable.length,
|
|
323
|
+
foldingPreview: previewFold(summarizable),
|
|
324
|
+
usage: structured.response.usage,
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
catch {
|
|
328
|
+
return null;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
function previewFold(messages) {
|
|
332
|
+
const folded = renderTranscript(messages);
|
|
333
|
+
return folded.length > FOLDING_PREVIEW_CHARS
|
|
334
|
+
? `${folded.slice(0, FOLDING_PREVIEW_CHARS)}\n[... folded transcript truncated for the record — ${folded.length} chars total ...]`
|
|
335
|
+
: folded;
|
|
336
|
+
}
|
|
127
337
|
//# sourceMappingURL=compaction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../src/engine/compaction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../src/engine/compaction.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAoCnD,MAAM,cAAc,GAA4B;IAC9C,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,YAAY,EAAE;YACZ,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACtB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBACvD;gBACD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC;gBAC9C,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACvD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC1D,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACvD,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACzD,gBAAgB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC9D,GAAG,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC3B;YACD,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD,QAAQ,EAAE;QACR,MAAM;QACN,cAAc;QACd,WAAW;QACX,cAAc;QACd,cAAc;QACd,WAAW;QACX,aAAa;QACb,kBAAkB;QAClB,KAAK;KACN;IACD,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AAEF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC3E,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC5D,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC7E,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACxC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACtE,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC9D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;YACjC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;SACjC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,YAAY;QACZ,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QACnC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;QACzC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QACnC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;QACvC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC;QACjD,GAAG,EAAE;YACH,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ;gBACpC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE;gBAChC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChE;KACF,CAAC;AACJ,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,uBAAuB,CAAC,OAA0B;IAChE,MAAM,IAAI,GAAG,CAAC,KAAe,EAAE,EAAE,CAC/B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxE,OAAO;QACL,yBAAyB;QACzB,qFAAqF;QACrF,SAAS,OAAO,CAAC,IAAI,EAAE;QACvB,kBAAkB,OAAO,CAAC,YAAY,EAAE;QACxC,EAAE;QACF,eAAe;QACf,IAAI,CACF,OAAO,CAAC,YAAY,CAAC,GAAG,CACtB,CAAC,IAAI,EAAE,EAAE,CACP,GAAG,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtH,CACF;QACD,EAAE;QACF,YAAY;QACZ,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QACvB,gBAAgB;QAChB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QAC1B,aAAa;QACb,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QACvB,cAAc;QACd,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QACzB,oBAAoB;QACpB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC9B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU;YAC5C,CAAC,CAAC;gBACE,MAAM;gBACN,WAAW,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,EAAE;gBAC1C,iBAAiB,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,MAAM,EAAE;aACpD;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,kBAAkB,EAAE,MAAM;IAC1B,gBAAgB,EAAE,MAAM;CAChB,CAAC;AAEX;6DAC6D;AAC7D,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC;AAC9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAC3C,gFAAgF;AAChF,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,aAAqB,EACrB,IAAI,GAAyC,EAAE;IAE/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,sBAAsB,CAAC;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,IAAI,CAAC,KAAK,IAAI,oBAAoB,EAClC,aAAa,GAAG,GAAG,CACpB,CAAC;IACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CACjC,KAAK,EACL,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,GAAG,0BAA0B,CAAC,CAC9D,CAAC;IACF,OAAO;QACL,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC;QAClD,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,cAAc,CAAC,QAAsB;IACnD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;QAChC,sEAAsE;QACtE,8DAA8D;QAC9D,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACnC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;QAC7D,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YACpC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAChD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAsB,EACtB,gBAAwB;IAExB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,IAAI,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QACvC,IAAI,IAAI,IAAI,gBAAgB,EAAE,CAAC;YAC7B,GAAG,GAAG,CAAC,CAAC;YACR,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,CAAC,2CAA2C;IAEtE,kEAAkE;IAClE,OAAO,GAAG,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAE,CAAC,IAAI,KAAK,MAAM;QAAE,GAAG,IAAI,CAAC,CAAC;IACzE,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB;IAC9D,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,CAAC,2EAA2E;IACnG,OAAO,GAAG,CAAC;AACb,CAAC;AAeD;yDACyD;AACzD,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAEpC,MAAM,cAAc,GAAG,6cAA6c,CAAC;AAEre,SAAS,gBAAgB,CAAC,QAAsB;IAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACrD,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE;gBACjC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CACR,UAAU,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAMzC;IACC,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpE,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,yBAAyB;IAC3E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC;QACjE,OAAO,IAAI,CAAC;IAEd,MAAM,WAAW,GAAG;QAClB,IAAI,CAAC,cAAc;YACjB,CAAC,CAAC,2CAA2C,IAAI,CAAC,cAAc,IAAI;YACpE,CAAC,CAAC,EAAE;QACN,2BAA2B,gBAAgB,CAAC,YAAY,CAAC,EAAE;KAC5D;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CACtC;QACE,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE;YAC3C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE;SACvC;QACD,SAAS,EAAE,IAAI;KAChB,EACD,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CACxB,CAAC;IAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC,CAAC,gDAAgD;IAEjF,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC9C,OAAO;QACL,OAAO;QACP,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;QACtC,YAAY,EAAE,YAAY,CAAC,MAAM;QACjC,cAAc,EACZ,MAAM,CAAC,MAAM,GAAG,qBAAqB;YACnC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,uDAAuD,MAAM,CAAC,MAAM,mBAAmB;YAClI,CAAC,CAAC,MAAM;QACZ,KAAK,EAAE,QAAQ,CAAC,KAAK;KACtB,CAAC;AACJ,CAAC;AAGD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,IASnD;IACC,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpE,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC;QACjE,OAAO,IAAI,CAAC;IAEd,MAAM,WAAW,GAAG;QAClB,IAAI,CAAC,eAAe;YAClB,CAAC,CAAC,4BAA4B,IAAI,CAAC,eAAe,IAAI;YACtD,CAAC,CAAC,EAAE;QACN,IAAI,CAAC,eAAe;YAClB,CAAC,CAAC,8BAA8B,uBAAuB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI;YACjF,CAAC,CAAC,EAAE;QACN,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,0BAA0B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAC1E,IAAI,CAAC,GAAG;YACN,CAAC,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;YAC5C,CAAC,CAAC,sBAAsB;QAC1B,2BAA2B,gBAAgB,CAAC,YAAY,CAAC,EAAE;KAC5D;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE;YACpD,IAAI,EAAE,oBAAoB;YAC1B,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,QAAQ;oBACd,OAAO,EACL,oWAAoW;iBACvW;gBACD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE;aACvC;YACD,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,sBAAsB;YAC7B,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE;gBACP,GAAG,UAAU,CAAC,KAAK;gBACnB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvE;YACD,OAAO,EAAE,uBAAuB,CAAC;gBAC/B,GAAG,UAAU,CAAC,KAAK;gBACnB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvE,CAAC;YACF,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;YACtC,YAAY,EAAE,YAAY,CAAC,MAAM;YACjC,cAAc,EAAE,WAAW,CAAC,YAAY,CAAC;YACzC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK;SACjC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,QAAsB;IACzC,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,MAAM,GAAG,qBAAqB;QAC1C,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,uDAAuD,MAAM,CAAC,MAAM,mBAAmB;QAClI,CAAC,CAAC,MAAM,CAAC;AACb,CAAC"}
|
package/dist/engine/context.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import type { LLMMessage, LLMResponse } from "../llm/types.js";
|
|
10
10
|
export declare function assistantMessage(response: LLMResponse): LLMMessage;
|
|
11
11
|
export declare function toolResultMessage(toolCallId: string, content: string): LLMMessage;
|
|
12
|
-
export declare function userMessage(content: string): LLMMessage;
|
|
12
|
+
export declare function userMessage(content: string, images?: LLMMessage["images"]): LLMMessage;
|
|
13
13
|
/** Working memory contains real conversation and observations, not system
|
|
14
14
|
* prompts or internal orchestration messages. No prefix guessing: a user's
|
|
15
15
|
* text is still their text even if it happens to start with "PHASE:". */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/engine/context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE/D,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,GAAG,UAAU,CASlE;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,UAAU,CAEZ;AAED,wBAAgB,WAAW,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/engine/context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE/D,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,GAAG,UAAU,CASlE;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,UAAU,CAEZ;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,GAC5B,UAAU,CAMZ;AAED;;yEAEyE;AACzE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAIxE"}
|
package/dist/engine/context.js
CHANGED
|
@@ -10,8 +10,12 @@ export function assistantMessage(response) {
|
|
|
10
10
|
export function toolResultMessage(toolCallId, content) {
|
|
11
11
|
return { role: "tool", tool_call_id: toolCallId, content };
|
|
12
12
|
}
|
|
13
|
-
export function userMessage(content) {
|
|
14
|
-
return {
|
|
13
|
+
export function userMessage(content, images) {
|
|
14
|
+
return {
|
|
15
|
+
role: "user",
|
|
16
|
+
content,
|
|
17
|
+
...(images && images.length ? { images } : {}),
|
|
18
|
+
};
|
|
15
19
|
}
|
|
16
20
|
/** Working memory contains real conversation and observations, not system
|
|
17
21
|
* prompts or internal orchestration messages. No prefix guessing: a user's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/engine/context.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,gBAAgB,CAAC,QAAqB;IACpD,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EACL,QAAQ,CAAC,IAAI,KAAK,EAAE,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YACnD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,QAAQ,CAAC,IAAI;QACnB,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KAC3E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,OAAe;IAEf,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,WAAW,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/engine/context.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,gBAAgB,CAAC,QAAqB;IACpD,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EACL,QAAQ,CAAC,IAAI,KAAK,EAAE,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YACnD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,QAAQ,CAAC,IAAI;QACnB,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KAC3E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,OAAe;IAEf,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,OAAe,EACf,MAA6B;IAE7B,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,OAAO;QACP,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED;;yEAEyE;AACzE,MAAM,UAAU,mBAAmB,CAAC,QAAsB;IACxD,OAAO,QAAQ,CAAC,MAAM,CACpB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CACtE,CAAC;AACJ,CAAC"}
|
package/dist/engine/events.d.ts
CHANGED
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
* it as the journal, the dashboard/chat SSE (steps 17–18) relay it. The engine
|
|
7
7
|
* itself never formats anything — it only emits.
|
|
8
8
|
*/
|
|
9
|
-
import type { LLMToolCall, LLMUsage } from "../llm/types.js";
|
|
9
|
+
import type { LLMMessage, LLMToolCall, LLMUsage } from "../llm/types.js";
|
|
10
|
+
import type { CompactionHandoff } from "./compaction.js";
|
|
11
|
+
import type { ProgressLedger } from "../ledger/types.js";
|
|
10
12
|
/** What a budget-limited run says it still needs — see EngineOptions.revival. */
|
|
11
13
|
export interface RevivalRequest {
|
|
12
14
|
/** Plain language: the work that remains. */
|
|
@@ -17,8 +19,25 @@ export interface RevivalRequest {
|
|
|
17
19
|
}
|
|
18
20
|
export type AgentEvent = {
|
|
19
21
|
type: "run_started";
|
|
20
|
-
|
|
22
|
+
/** Human-readable text of this turn's input messages. */
|
|
23
|
+
text: string;
|
|
24
|
+
/** The input message delta, when the consumer supplied messages. */
|
|
25
|
+
messages?: LLMMessage[];
|
|
21
26
|
phases: string[];
|
|
27
|
+
} | {
|
|
28
|
+
type: "task_created";
|
|
29
|
+
ledger: ProgressLedger;
|
|
30
|
+
} | {
|
|
31
|
+
type: "phase_verdict";
|
|
32
|
+
phase: string;
|
|
33
|
+
cleared: boolean;
|
|
34
|
+
confidence: number;
|
|
35
|
+
judge: string;
|
|
36
|
+
requirements: Array<{
|
|
37
|
+
id: string;
|
|
38
|
+
status: "cleared" | "insufficient" | "unproven";
|
|
39
|
+
probability?: number;
|
|
40
|
+
}>;
|
|
22
41
|
} | {
|
|
23
42
|
type: "phase_started";
|
|
24
43
|
phase: string;
|
|
@@ -155,6 +174,8 @@ export type AgentEvent = {
|
|
|
155
174
|
summaryChars: number;
|
|
156
175
|
/** The summary that replaced the folded span — the compaction's output. */
|
|
157
176
|
summary?: string;
|
|
177
|
+
/** Structured handoff used by a task/ledger reset. */
|
|
178
|
+
compaction?: CompactionHandoff;
|
|
158
179
|
/** Truncated transcript of the folded span — the compaction's input. */
|
|
159
180
|
folding?: string;
|
|
160
181
|
usage: LLMUsage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/engine/events.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/engine/events.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/inbox.d.ts
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* older ones), then queued messages oldest-first. A store that cannot express
|
|
21
21
|
* that ordering cannot implement this interface.
|
|
22
22
|
*/
|
|
23
|
-
import type { LLMUsage } from "../llm/types.js";
|
|
23
|
+
import type { ImageAttachment, LLMMessage, LLMUsage } from "../llm/types.js";
|
|
24
24
|
import type { FinishReason } from "./types.js";
|
|
25
25
|
export type InboxDelivery = "queue" | "interject";
|
|
26
26
|
/** One message waiting for (or claimed by) a run. */
|
|
@@ -36,6 +36,8 @@ export interface InboxMessage {
|
|
|
36
36
|
text: string;
|
|
37
37
|
/** Optional application context for the run this message starts. */
|
|
38
38
|
context?: string;
|
|
39
|
+
/** Image references for the run this message starts. */
|
|
40
|
+
images?: ImageAttachment[];
|
|
39
41
|
delivery: InboxDelivery;
|
|
40
42
|
}
|
|
41
43
|
/** One finished run of a chain, as reported on `AgentResult.runs`. */
|
|
@@ -96,14 +98,13 @@ export declare class MemoryInboxStore implements InboxStore {
|
|
|
96
98
|
private setStatus;
|
|
97
99
|
}
|
|
98
100
|
/**
|
|
99
|
-
* Turn a claimed batch into the next run's
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
* different voice supplies `render` on `EngineOptions.inbox`.
|
|
101
|
+
* Turn a claimed batch into the next run's input. One message per inbox row:
|
|
102
|
+
* a coalesced batch stays a sequence of user turns rather than becoming a
|
|
103
|
+
* synthetic single blob. Context is application metadata, so it is joined
|
|
104
|
+
* separately and never persisted as a message.
|
|
104
105
|
*/
|
|
105
|
-
export declare function
|
|
106
|
-
|
|
106
|
+
export declare function renderInboxTurn(messages: InboxMessage[]): {
|
|
107
|
+
messages: LLMMessage[];
|
|
107
108
|
context?: string;
|
|
108
109
|
};
|
|
109
110
|
//# sourceMappingURL=inbox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../../src/engine/inbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../../src/engine/inbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,WAAW,CAAC;AAElD,qDAAqD;AACrD,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,sEAAsE;AACtE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,YAAY,CAAC;IACrB,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,8DAA8D;IAC9D,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC;IAC7D;;;;;OAKG;IACH,UAAU,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACnD,yEAAyE;IACzE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,oEAAoE;IACpE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,mEAAmE;AACnE,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAGjB;IAEE,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC,CAkBjE;IAEK,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAElD;IAEK,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASpD;IAEK,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAgBvD;IAEK,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3C;IAEK,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1C;IAED,oEAAoE;IACpE,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKpC;IAED,6EAA6E;IAC7E,OAAO,CAAC,SAAS;CAMlB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG;IACzD,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAaA"}
|
package/dist/engine/inbox.js
CHANGED
|
@@ -74,21 +74,23 @@ export class MemoryInboxStore {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
/**
|
|
77
|
-
* Turn a claimed batch into the next run's
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
* different voice supplies `render` on `EngineOptions.inbox`.
|
|
77
|
+
* Turn a claimed batch into the next run's input. One message per inbox row:
|
|
78
|
+
* a coalesced batch stays a sequence of user turns rather than becoming a
|
|
79
|
+
* synthetic single blob. Context is application metadata, so it is joined
|
|
80
|
+
* separately and never persisted as a message.
|
|
82
81
|
*/
|
|
83
|
-
export function
|
|
84
|
-
const task = messages
|
|
85
|
-
.map((message) => message.text)
|
|
86
|
-
.filter((text) => text.trim() !== "")
|
|
87
|
-
.join("\n\n");
|
|
82
|
+
export function renderInboxTurn(messages) {
|
|
88
83
|
const context = messages
|
|
89
84
|
.map((message) => message.context)
|
|
90
85
|
.filter((value) => typeof value === "string" && value !== "")
|
|
91
86
|
.join("\n\n");
|
|
92
|
-
return
|
|
87
|
+
return {
|
|
88
|
+
messages: messages.map((message) => ({
|
|
89
|
+
role: "user",
|
|
90
|
+
content: message.text,
|
|
91
|
+
...(message.images?.length ? { images: message.images } : {}),
|
|
92
|
+
})),
|
|
93
|
+
...(context === "" ? {} : { context }),
|
|
94
|
+
};
|
|
93
95
|
}
|
|
94
96
|
//# sourceMappingURL=inbox.js.map
|
package/dist/engine/inbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../../src/engine/inbox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../../src/engine/inbox.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/loop.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export type {
|
|
3
|
-
export
|
|
1
|
+
import type { RunInput, EngineOptions, AgentResult } from "./types.js";
|
|
2
|
+
export type { RunInput, EngineOptions, AgentResult, FinishReason, GuardrailConfig, } from "./types.js";
|
|
3
|
+
export { userTurn } from "./types.js";
|
|
4
|
+
export declare function runAgent(input: RunInput, opts: EngineOptions): Promise<AgentResult>;
|
|
4
5
|
//# sourceMappingURL=loop.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/engine/loop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/engine/loop.ts"],"names":[],"mappings":"AAwFA,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EAGZ,MAAM,YAAY,CAAC;AAUpB,YAAY,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,EACZ,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAw/DtC,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAGtB"}
|