maestro-agent-sdk 0.1.34 → 0.1.35

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 CHANGED
@@ -226,6 +226,34 @@ treats their first line as a regular message. Hosts that want to inspect
226
226
  session metadata without reading the full message log can call
227
227
  `loadMaestroSessionMeta(sessionId)`.
228
228
 
229
+ ## Manual compaction
230
+
231
+ Automatic compaction runs inside `maestroProvider(...)` when the context
232
+ budget is high. Hosts can also force a compaction pass between turns:
233
+
234
+ ```ts
235
+ import {
236
+ compactMaestroSession,
237
+ providerForModel,
238
+ resolveAuxModel,
239
+ } from "maestro-agent-sdk";
240
+
241
+ const model = "gpt-5.4-mini";
242
+ const result = await compactMaestroSession({
243
+ sessionId,
244
+ auxProvider: providerForModel(model),
245
+ auxModel: resolveAuxModel(model),
246
+ focusTopic: "auth refactor",
247
+ });
248
+
249
+ if (result.didCompact) {
250
+ console.log("compacted", result.summary);
251
+ }
252
+ ```
253
+
254
+ For custom storage, use `compactMessagesNow(messages, { auxProvider, auxModel })`
255
+ and persist `result.canonicalMessages` when `result.didCompact` is true.
256
+
229
257
  ## Positioning — a building block, not a product
230
258
 
231
259
  maestro-agent-sdk is an agent *runtime*, not an agent *product*. You pick the UI, the provider mix, the guardrail rules, the storage layer.
package/dist/index.d.ts CHANGED
@@ -14,8 +14,9 @@ export type { ToolResultTruncationConfig, ToolResultTruncationMetadata, ToolResu
14
14
  export type { MaestroMcpClient, MaestroMcpServerSpec, MaestroMcpTool } from "./mcp/client.js";
15
15
  export { ACTIVE_TASK_TEMPLATE, wrapCompactedSummary } from "./memory/active-task-template.js";
16
16
  export { resolveAuxModel } from "./memory/aux-model-map.js";
17
- export { compressIfNeeded } from "./memory/compressor.js";
17
+ export { type CompactMessagesNowOptions, type CompactMessagesNowResult, type CompressOptions, compactMessagesNow, compressIfNeeded, findLastCompactionSummary, } from "./memory/compressor.js";
18
18
  export { hashToolContent } from "./memory/hash.js";
19
+ export { type CompactMaestroSessionOptions, type CompactMaestroSessionResult, compactMaestroSession, } from "./memory/manual-compaction.js";
19
20
  export { buildSystemReminder } from "./memory/reminder.js";
20
21
  export { estimateTokens } from "./memory/token-estimate.js";
21
22
  export { onShutdown, runShutdown } from "./platform/lifecycle.js";
@@ -30,7 +31,7 @@ export { parseCodexStream } from "./providers/codex-stream.js";
30
31
  export { type ResponsesContentPart, type ResponsesFunctionTool, type ResponsesInputItem, translateMessagesToResponses, translateMessageToResponsesItems, translateToolsToResponses, } from "./providers/codex-translators.js";
31
32
  export { DeepseekProvider, effortForDeepseek, translateMessagesToOpenAI, translateToolsToOpenAI, } from "./providers/deepseek.js";
32
33
  export { maestroRegistry } from "./registry.js";
33
- export { cleanupStaleMaestroSessions, DEFAULT_MAESTRO_SESSION_TTL_MS, deleteMaestroSession, type ForkSessionAtOptions, type ForkSessionAtResult, forkSessionAt, loadMaestroSessionMeta, type MaestroSessionMeta, maestroSessionsDir, } from "./session-store.js";
34
+ export { cleanupStaleMaestroSessions, DEFAULT_MAESTRO_SESSION_TTL_MS, deleteMaestroSession, type ForkSessionAtOptions, type ForkSessionAtResult, forkSessionAt, loadMaestroSessionMeta, type MaestroSessionMeta, maestroSessionsDir, type SaveSessionMetaInput, } from "./session-store.js";
34
35
  export { dropTaskStore, getTaskStore, type TaskEntry, type TaskStatus } from "./state/tasks.js";
35
36
  export type { ConversationEntry } from "./storage/conversations.js";
36
37
  export { type ConversationReader, setConversationReader } from "./storage/conversations.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -13,8 +13,9 @@ export { runConversation } from "./core/loop.js";
13
13
  export { ACTIVE_TASK_TEMPLATE, wrapCompactedSummary } from "./memory/active-task-template.js";
14
14
  export { resolveAuxModel } from "./memory/aux-model-map.js";
15
15
  // ─── Memory / compression ────────────────────────────────────────────────────
16
- export { compressIfNeeded } from "./memory/compressor.js";
16
+ export { compactMessagesNow, compressIfNeeded, findLastCompactionSummary, } from "./memory/compressor.js";
17
17
  export { hashToolContent } from "./memory/hash.js";
18
+ export { compactMaestroSession, } from "./memory/manual-compaction.js";
18
19
  export { buildSystemReminder } from "./memory/reminder.js";
19
20
  export { estimateTokens } from "./memory/token-estimate.js";
20
21
  export { onShutdown, runShutdown } from "./platform/lifecycle.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,MAAM,CAAC,MAAM,yBAAyB,GAAG,sBAA+B,CAAC;AAUzE,gFAAgF;AAChF,OAAO,EAAE,OAAO,EAAsB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAS9C,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,gFAAgF;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC/D,gFAAgF;AAChF,OAAO,EAA2B,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAuC,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,YAAY,EACZ,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAe/B,gFAAgF;AAChF,OAAO,EACL,sBAAsB,EACtB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EAEd,iBAAiB,IAAI,sBAAsB,EAC3C,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAIL,4BAA4B,EAC5B,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,gFAAgF;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,gFAAgF;AAChF,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,oBAAoB,EAGpB,aAAa,EACb,sBAAsB,EAEtB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,gFAAgF;AAChF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAmC,MAAM,eAAe,CAAC;AAE7F,OAAO,EAA2B,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,gFAAgF;AAChF,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAEL,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,gFAAgF;AAChF,OAAO,EAUL,YAAY,GACb,MAAM,kBAAkB,CAAC;AAc1B,OAAO,EACL,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,22 @@ export interface CompressOptions {
33
33
  triggerRatio?: number;
34
34
  headProtect?: number;
35
35
  tailProtect?: number;
36
+ /**
37
+ * Force the aux compaction path even when token estimates are below the
38
+ * automatic threshold. Used by the public manual-compaction wrapper.
39
+ *
40
+ * Safety gates that protect message structure still apply: too-short
41
+ * histories, empty middles, missing aux provider/model, aux failures, and
42
+ * the savings gate can still return a non-compacted wire.
43
+ */
44
+ force?: boolean;
45
+ /**
46
+ * Minimum token-savings ratio required before a new summary is persisted.
47
+ * Automatic compaction defaults to 0.1. Manual compaction wrappers lower
48
+ * this to 0 so a caller can compact on demand as long as the result does
49
+ * not grow the wire payload.
50
+ */
51
+ minSavingsRatio?: number;
36
52
  auxModel?: string;
37
53
  auxProvider?: Provider;
38
54
  disablePruneFallback?: boolean;
@@ -98,6 +114,39 @@ export interface CompressOptions {
98
114
  */
99
115
  maxAuxChars?: number;
100
116
  }
117
+ export interface CompactMessagesNowOptions extends Omit<CompressOptions, "auxProvider" | "auxModel" | "force"> {
118
+ /** Provider used for the one-off aux summary call. */
119
+ auxProvider: Provider;
120
+ /** Model id sent to `auxProvider.complete` for the summary call. */
121
+ auxModel: string;
122
+ /**
123
+ * Whether to mutate the supplied canonical `messages` array with the
124
+ * persisted compaction marker + summary pair on success. Default true,
125
+ * matching `compressIfNeeded` and the live agent loop. Set false when the
126
+ * caller wants a compacted copy without touching its in-memory history.
127
+ */
128
+ mutate?: boolean;
129
+ }
130
+ export interface CompactMessagesNowResult {
131
+ /**
132
+ * Canonical history after the manual attempt. On success this contains the
133
+ * internal compaction marker + summary pair; this is the array a host should
134
+ * persist for future incremental compactions.
135
+ */
136
+ canonicalMessages: ProviderMessage[];
137
+ /**
138
+ * Provider-ready compacted view returned by the compressor. On success it is
139
+ * `[head, <compacted-history>summary</...>, tail]`; on fallback paths it may
140
+ * be a pruned or emergency-tail view.
141
+ */
142
+ wireMessages: ProviderMessage[];
143
+ /** True when the aux provider call was actually entered. */
144
+ didStartAux: boolean;
145
+ /** True when a new summary was persisted into `canonicalMessages`. */
146
+ didCompact: boolean;
147
+ /** Newly produced summary text, present only on successful compaction. */
148
+ summary?: string;
149
+ }
101
150
  /** Hermes-style guided-compaction directive. Appended to the aux system
102
151
  * prompt when a focus topic is supplied so the summarizer preserves the live
103
152
  * work thread in full and sheds unrelated tangents. Mirrors Hermes'
@@ -109,7 +158,7 @@ export declare function findLastCompactionSummary(messages: ProviderMessage[]):
109
158
  * Run the auto-compaction pipeline.
110
159
  *
111
160
  * Steps:
112
- * 1. Prune (cheap: dedup, age-summary, truncate tool output).
161
+ * 1. Prune (cheap: dedup, old tool-output removal, truncate tool input).
113
162
  * 2. Re-estimate tokens. If below threshold, return pruned.
114
163
  * 3. Snap head/tail boundaries. If no middle, return pruned.
115
164
  * 4. Find previous compaction blocks → extract last summary for
@@ -125,4 +174,15 @@ export declare function findLastCompactionSummary(messages: ProviderMessage[]):
125
174
  * view of messages so the wire never leaks internal sentinels.
126
175
  */
127
176
  export declare function compressIfNeeded(messages: ProviderMessage[], opts?: CompressOptions): Promise<ProviderMessage[]>;
177
+ /**
178
+ * Public manual compaction trigger for hosts that already own a
179
+ * ProviderMessage[] history.
180
+ *
181
+ * Unlike `compressIfNeeded`, this bypasses automatic token-threshold gates and
182
+ * asks the aux LLM to compact now. It still preserves the compressor's
183
+ * structural safety checks and defaults the savings gate to 0%: a manual
184
+ * compaction can happen below the automatic threshold, but it will not persist
185
+ * a summary that makes the on-wire context larger.
186
+ */
187
+ export declare function compactMessagesNow(messages: ProviderMessage[], opts: CompactMessagesNowOptions): Promise<CompactMessagesNowResult>;
128
188
  //# sourceMappingURL=compressor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compressor.d.ts","sourceRoot":"","sources":["../../src/memory/compressor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,QAAQ,EAER,eAAe,EAEhB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;mEAE+D;IAC/D,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA0BD;;;;+CAI+C;AAC/C,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAc3D;AA6ID,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,GAAG,SAAS,CAEzF;AAyBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,eAAe,EAAE,EAC3B,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,eAAe,EAAE,CAAC,CA2f5B"}
1
+ {"version":3,"file":"compressor.d.ts","sourceRoot":"","sources":["../../src/memory/compressor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,QAAQ,EAER,eAAe,EAEhB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;mEAE+D;IAC/D,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,yBACf,SAAQ,IAAI,CAAC,eAAe,EAAE,aAAa,GAAG,UAAU,GAAG,OAAO,CAAC;IACnE,sDAAsD;IACtD,WAAW,EAAE,QAAQ,CAAC;IACtB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,iBAAiB,EAAE,eAAe,EAAE,CAAC;IACrC;;;;OAIG;IACH,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,4DAA4D;IAC5D,WAAW,EAAE,OAAO,CAAC;IACrB,sEAAsE;IACtE,UAAU,EAAE,OAAO,CAAC;IACpB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA0BD;;;;+CAI+C;AAC/C,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAc3D;AA6ID,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,GAAG,SAAS,CAEzF;AAsED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,eAAe,EAAE,EAC3B,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,eAAe,EAAE,CAAC,CAygB5B;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,eAAe,EAAE,EAC3B,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,wBAAwB,CAAC,CAoCnC"}
@@ -197,12 +197,39 @@ function compactionBlockIndices(messages) {
197
197
  }
198
198
  return indices;
199
199
  }
200
+ function cleanMessagesWithIndexMap(messages, skipIndices) {
201
+ const cleanMessages = [];
202
+ const cleanToOriginal = [];
203
+ for (let i = 0; i < messages.length; i++) {
204
+ if (skipIndices.has(i))
205
+ continue;
206
+ cleanMessages.push(messages[i]);
207
+ cleanToOriginal.push(i);
208
+ }
209
+ return { cleanMessages, cleanToOriginal };
210
+ }
211
+ function originalIndexForCleanBoundary(cleanToOriginal, cleanIndex, originalLength) {
212
+ if (cleanIndex >= cleanToOriginal.length)
213
+ return originalLength;
214
+ return cleanToOriginal[Math.max(0, cleanIndex)] ?? originalLength;
215
+ }
216
+ function persistCompactionBlock(messages, summaryText, insertAtOriginalIdx, prevCompaction) {
217
+ let insertAt = Math.min(Math.max(0, insertAtOriginalIdx), messages.length);
218
+ if (prevCompaction) {
219
+ messages.splice(prevCompaction.userIdx, 2);
220
+ if (prevCompaction.userIdx < insertAt) {
221
+ insertAt -= 2;
222
+ }
223
+ insertAt = Math.min(Math.max(0, insertAt), messages.length);
224
+ }
225
+ messages.splice(insertAt, 0, { role: "user", content: COMPACTION_MARKER }, { role: "assistant", content: summaryText });
226
+ }
200
227
  // ─── public API ───────────────────────────────────────────────────────────
201
228
  /**
202
229
  * Run the auto-compaction pipeline.
203
230
  *
204
231
  * Steps:
205
- * 1. Prune (cheap: dedup, age-summary, truncate tool output).
232
+ * 1. Prune (cheap: dedup, old tool-output removal, truncate tool input).
206
233
  * 2. Re-estimate tokens. If below threshold, return pruned.
207
234
  * 3. Snap head/tail boundaries. If no middle, return pruned.
208
235
  * 4. Find previous compaction blocks → extract last summary for
@@ -230,6 +257,8 @@ export async function compressIfNeeded(messages, opts = {}) {
230
257
  const headProtect = opts.headProtect ?? 2;
231
258
  const tailProtect = opts.tailProtect ?? 6;
232
259
  const auxModel = opts.auxModel;
260
+ const force = opts.force === true;
261
+ const minSavingsRatio = opts.minSavingsRatio ?? COMPACTOR_MIN_SAVINGS_RATIO;
233
262
  // Fast-path: short conversations can't trigger compaction.
234
263
  const minSize = headProtect + 1 + tailProtect;
235
264
  if (messages.length < minSize) {
@@ -238,42 +267,41 @@ export async function compressIfNeeded(messages, opts = {}) {
238
267
  // Cheap pre-gate: skip prune when well under threshold.
239
268
  const threshold = contextWindow * triggerRatio;
240
269
  const rawTokens = estimateTokens(messages);
241
- if (rawTokens < threshold * 0.5) {
270
+ if (!force && rawTokens < threshold * 0.5) {
242
271
  return messages;
243
272
  }
244
- // Fast-path: wire payload (summary + delta)가 이미 threshold 이하면 aux 생략.
273
+ // Step 1: prune. This is the cheap zero-LLM pass that removes stale
274
+ // tool_result bytes from the model-facing view while keeping canonical
275
+ // `messages` intact for persistence/resume.
276
+ const pruned = pruneMessages(messages);
277
+ const prunedTokens = estimateTokens(pruned);
278
+ const skipIndices = compactionBlockIndices(messages);
279
+ const { cleanMessages: cleanPrunedMessages, cleanToOriginal } = cleanMessagesWithIndexMap(pruned, skipIndices);
280
+ // Fast-path: wire payload (summary + pruned delta)가 이미 threshold 이하면 aux 생략.
245
281
  const prevCompaction = findLastCompaction(messages);
246
- if (prevCompaction) {
282
+ if (!force && prevCompaction) {
247
283
  const summaryMsg = {
248
284
  role: "assistant",
249
285
  content: prevCompaction.summary,
250
286
  };
251
- const post = messages.slice(prevCompaction.assistantIdx + 1);
287
+ const post = pruned.slice(prevCompaction.assistantIdx + 1);
252
288
  const effectiveTokens = estimateTokens([summaryMsg, ...post]);
253
289
  if (effectiveTokens < threshold) {
254
- const skipIndices = compactionBlockIndices(messages);
255
- const cleanMessages = messages.filter((_, i) => !skipIndices.has(i));
256
- const tail = messages.slice(prevCompaction.assistantIdx + 1);
257
- return buildCompactedWire(cleanMessages, prevCompaction.summary, headProtect, tail);
290
+ return buildCompactedWire(cleanPrunedMessages, prevCompaction.summary, headProtect, post);
258
291
  }
259
292
  }
260
- // Step 1: prune.
261
- const pruned = pruneMessages(messages);
262
- const prunedTokens = estimateTokens(pruned);
263
- if (prunedTokens < threshold) {
293
+ if (!force && prunedTokens < threshold) {
264
294
  return pruned;
265
295
  }
266
296
  // Step 4: previous compaction already located by the effective-token
267
297
  // fast-path above. Reuse the result for the incremental prompt path.
268
298
  const previousSummary = prevCompaction?.summary;
269
- // Build a compaction-free view of canonical messages for all wire
270
- // boundary calculations (FIX #1: head/tail must never contain
271
- // sentinel markers).
272
- const skipIndices = compactionBlockIndices(messages);
273
- const cleanMessages = messages.filter((_, i) => !skipIndices.has(i));
274
- // Snap wire boundaries on the clean view.
275
- const cleanHeadEnd = snapHeadEnd(cleanMessages, Math.min(headProtect, cleanMessages.length));
276
- const cleanTailStart = snapTailStart(cleanMessages, Math.max(cleanMessages.length - tailProtect, 0));
299
+ // Snap wire boundaries on the pruned clean view. Using pruned here keeps
300
+ // stale tool_result bytes out of both the aux compaction transcript and
301
+ // the final provider wire. Canonical `messages` are still used for
302
+ // compaction-marker persistence below.
303
+ const cleanHeadEnd = snapHeadEnd(cleanPrunedMessages, Math.min(headProtect, cleanPrunedMessages.length));
304
+ const cleanTailStart = snapTailStart(cleanPrunedMessages, Math.max(cleanPrunedMessages.length - tailProtect, 0));
277
305
  if (cleanTailStart <= cleanHeadEnd) {
278
306
  return pruned;
279
307
  }
@@ -287,10 +315,10 @@ export async function compressIfNeeded(messages, opts = {}) {
287
315
  // Delta: everything after the summary assistant up to (but not including) the tail.
288
316
  const deltaStart = prevCompaction.assistantIdx + 1;
289
317
  const deltaEnd = messages.length - tailProtect;
290
- auxMiddle = messages.slice(deltaStart, Math.max(deltaStart, deltaEnd));
318
+ auxMiddle = pruned.slice(deltaStart, Math.max(deltaStart, deltaEnd));
291
319
  }
292
320
  else {
293
- auxMiddle = cleanMessages.slice(cleanHeadEnd, cleanTailStart);
321
+ auxMiddle = cleanPrunedMessages.slice(cleanHeadEnd, cleanTailStart);
294
322
  }
295
323
  // Step 5: aux LLM call.
296
324
  if (!opts.auxProvider) {
@@ -578,29 +606,26 @@ ${previousSummary ? `Previous summary for context:\n${previousSummary}` : ""}`,
578
606
  // which meant `finally` fired before `didCompact` could be set →
579
607
  // onCompactionResult always reported `didCompact: false` on success.
580
608
  // Moving it inside the try lets the meta callback see the truth.
581
- const tail = cleanMessages.slice(cleanTailStart);
582
- const compacted = buildCompactedWire(cleanMessages, summaryText, headProtect, tail);
609
+ const tail = cleanPrunedMessages.slice(cleanTailStart);
610
+ const compacted = buildCompactedWire(cleanPrunedMessages, summaryText, headProtect, tail);
583
611
  const compactedTokens = estimateTokens(compacted);
584
612
  // Degenerate check — MUST run before persisting compaction blocks.
585
613
  const savings = prunedTokens - compactedTokens;
586
614
  const ratio = savings / prunedTokens;
587
- if (ratio < COMPACTOR_MIN_SAVINGS_RATIO) {
615
+ if (ratio < minSavingsRatio) {
588
616
  logger.info({
589
617
  prunedTokens,
590
618
  compactedTokens,
591
619
  ratio,
620
+ minSavingsRatio,
592
621
  }, "compressIfNeeded: low savings — discarding compacted result");
593
622
  return pruned;
594
623
  }
595
- // Persist compaction blocks AFTER savings gate.
596
- if (prevCompaction) {
597
- messages[prevCompaction.userIdx] = { role: "user", content: COMPACTION_MARKER };
598
- messages[prevCompaction.assistantIdx] = { role: "assistant", content: summaryText };
599
- }
600
- else {
601
- messages.push({ role: "user", content: COMPACTION_MARKER });
602
- messages.push({ role: "assistant", content: summaryText });
603
- }
624
+ // Persist compaction blocks AFTER the summarized middle and BEFORE the
625
+ // protected tail. The next incremental pass treats everything after the
626
+ // summary assistant as unsummarized delta, so tail must live after the
627
+ // marker pair or it can disappear from the fast-path wire.
628
+ persistCompactionBlock(messages, summaryText, originalIndexForCleanBoundary(cleanToOriginal, cleanTailStart, messages.length), prevCompaction);
604
629
  try {
605
630
  opts.onCompactionSummary?.(summaryText);
606
631
  }
@@ -623,8 +648,8 @@ ${previousSummary ? `Previous summary for context:\n${previousSummary}` : ""}`,
623
648
  return messages;
624
649
  const fallbackSummary = opts.lastGoodSummary?.trim() || previousSummary;
625
650
  if (fallbackSummary?.trim()) {
626
- const tail = cleanMessages.slice(cleanTailStart);
627
- const fallback = buildCompactedWire(cleanMessages, fallbackSummary, headProtect, tail);
651
+ const tail = cleanPrunedMessages.slice(cleanTailStart);
652
+ const fallback = buildCompactedWire(cleanPrunedMessages, fallbackSummary, headProtect, tail);
628
653
  logger.info({
629
654
  prunedTokens,
630
655
  fallbackTokens: estimateTokens(fallback),
@@ -674,6 +699,45 @@ ${previousSummary ? `Previous summary for context:\n${previousSummary}` : ""}`,
674
699
  }
675
700
  }
676
701
  }
702
+ /**
703
+ * Public manual compaction trigger for hosts that already own a
704
+ * ProviderMessage[] history.
705
+ *
706
+ * Unlike `compressIfNeeded`, this bypasses automatic token-threshold gates and
707
+ * asks the aux LLM to compact now. It still preserves the compressor's
708
+ * structural safety checks and defaults the savings gate to 0%: a manual
709
+ * compaction can happen below the automatic threshold, but it will not persist
710
+ * a summary that makes the on-wire context larger.
711
+ */
712
+ export async function compactMessagesNow(messages, opts) {
713
+ const { mutate = true, minSavingsRatio, onCompactionResult, onCompactionSummary, ...compressOpts } = opts;
714
+ const canonicalMessages = mutate ? messages : messages.slice();
715
+ let meta = {
716
+ didStartAux: false,
717
+ didCompact: false,
718
+ };
719
+ let summary;
720
+ const wireMessages = await compressIfNeeded(canonicalMessages, {
721
+ ...compressOpts,
722
+ force: true,
723
+ minSavingsRatio: minSavingsRatio ?? 0,
724
+ onCompactionResult: (m) => {
725
+ meta = m;
726
+ onCompactionResult?.(m);
727
+ },
728
+ onCompactionSummary: (s) => {
729
+ summary = s;
730
+ onCompactionSummary?.(s);
731
+ },
732
+ });
733
+ return {
734
+ canonicalMessages,
735
+ wireMessages,
736
+ didStartAux: meta.didStartAux,
737
+ didCompact: meta.didCompact,
738
+ ...(summary !== undefined ? { summary } : {}),
739
+ };
740
+ }
677
741
  // ─── helpers ──────────────────────────────────────────────────────────────
678
742
  /**
679
743
  * Walk forward from `idealEnd` to land on a user message boundary.
@@ -1 +1 @@
1
- {"version":3,"file":"compressor.js","sourceRoot":"","sources":["../../src/memory/compressor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAgB,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AA0G3C,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAExC;mFACmF;AACnF,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAEvD;0EAC0E;AAC1E,SAAS,iBAAiB,CAAC,eAAuB;IAChD,OAAO;QACL,oBAAoB;QACpB,EAAE;QACF,KAAK;QACL,8DAA8D;QAC9D,qEAAqE;QACrE,kEAAkE;QAClE,6BAA6B;QAC7B,EAAE;QACF,oBAAoB;QACpB,eAAe;QACf,qBAAqB;KACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;+CAI+C;AAC/C,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO;QACL,EAAE;QACF,KAAK;QACL,iBAAiB,OAAO,GAAG;QAC3B,uEAAuE;QACvE,2EAA2E;QAC3E,oEAAoE;QACpE,yEAAyE;QACzE,2EAA2E;QAC3E,+EAA+E;KAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAC/C,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,MAAe;IAClC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAQ,MAAiD;aACtD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;aACxB,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,qBAAqB,CAAC,KAA2B;IACxD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,KAAK,UAAU;YACb,OAAO,cAAc,KAAK,CAAC,QAAQ,EAAE,CAAC;QACxC,KAAK,mBAAmB;YACtB,OAAO,qBAAqB,CAAC;QAC/B,KAAK,UAAU;YACb,OAAO,aAAa,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACxF,KAAK,aAAa;YAChB,OAAO,mBAAmB,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAChH,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,OAAO,UAAU,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,KAAK,SAAS,CAAC;QAC7D,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,OAAO,aAAa,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,KAAK,SAAS,CAAC;QAChE,CAAC;QACD;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAoB;IACnD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IACxD,OAAO,GAAG,CAAC,OAAO;SACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;SAC5C,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3D,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,QAA2B;IACrD,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,GAAoB;IAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,kBAAkB,CACzB,aAAgC,EAChC,OAAe,EACf,WAAmB,EACnB,IAAuB;IAEvB,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7F,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;IAC9E,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,YAAY;YACd,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YAClF,CAAC,CAAC,EAAE,CAAC;QACP,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE;QACxD,GAAG,IAAI;KACR,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CACzB,QAA2B;IAE3B,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,IACE,IAAI,CAAC,IAAI,KAAK,MAAM;YACpB,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YAChC,IAAI,CAAC,OAAO,KAAK,iBAAiB;YAClC,SAAS,CAAC,IAAI,KAAK,WAAW;YAC9B,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ;YACrC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAC5B,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;QACzE,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAA2B;IACnE,OAAO,kBAAkB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,QAA2B;IACzD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,IACE,IAAI,CAAC,IAAI,KAAK,MAAM;YACpB,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YAChC,IAAI,CAAC,OAAO,KAAK,iBAAiB;YAClC,IAAI,CAAC,IAAI,KAAK,WAAW,EACzB,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,6EAA6E;AAE7E;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAA2B,EAC3B,OAAwB,EAAE;IAE1B,kEAAkE;IAClE,0EAA0E;IAC1E,sDAAsD;IACtD,8EAA8E;IAC9E,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,oBAAoB,EAAE,CAAC;QACnE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,2DAA2D;QAC3D,MAAM,OAAO,GAAG,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC;QAC9C,IAAI,QAAQ,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;YAC9B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,wDAAwD;QACxD,MAAM,SAAS,GAAG,aAAa,GAAG,YAAY,CAAC;QAC/C,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,SAAS,GAAG,SAAS,GAAG,GAAG,EAAE,CAAC;YAChC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,sEAAsE;QACtE,MAAM,cAAc,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,UAAU,GAAoB;gBAClC,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,cAAc,CAAC,OAAO;aAChC,CAAC;YACF,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YAC7D,MAAM,eAAe,GAAG,cAAc,CAAC,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YAC9D,IAAI,eAAe,GAAG,SAAS,EAAE,CAAC;gBAChC,MAAM,WAAW,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;gBACrD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBAC7D,OAAO,kBAAkB,CAAC,aAAa,EAAE,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,YAAY,GAAG,SAAS,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,qEAAqE;QACrE,qEAAqE;QACrE,MAAM,eAAe,GAAG,cAAc,EAAE,OAAO,CAAC;QAEhD,kEAAkE;QAClE,8DAA8D;QAC9D,qBAAqB;QACrB,MAAM,WAAW,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAErE,0CAA0C;QAC1C,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7F,MAAM,cAAc,GAAG,aAAa,CAClC,aAAa,EACb,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC,CAAC,CAChD,CAAC;QACF,IAAI,cAAc,IAAI,YAAY,EAAE,CAAC;YACnC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,4BAA4B;QAC5B,iEAAiE;QACjE,kEAAkE;QAClE,gEAAgE;QAChE,4DAA4D;QAC5D,IAAI,SAA4B,CAAC;QACjC,IAAI,cAAc,EAAE,CAAC;YACnB,oFAAoF;YACpF,MAAM,UAAU,GAAG,cAAc,CAAC,YAAY,GAAG,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;YAC/C,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAChE,CAAC;QAED,wBAAwB;QACxB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,+CAA+C,CAAC,CAAC;YAC1F,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,4CAA4C,CAAC,CAAC;YACvF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,wEAAwE;QACxE,iDAAiD;QAEjD,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,OAA2B,CAAC;QAChC,sEAAsE;QACtE,0DAA0D;QAC1D,uEAAuE;QACvE,uCAAuC;QACvC,IAAI,CAAC;YACH,WAAW,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC;gBACH,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC7B,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC;YAEhD,gEAAgE;YAChE,IAAI,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,aAAa,GAAG,WAAW,CAAC,MAAM,CACpC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9E,CAAC,CACF,CAAC;YAEF,IAAI,aAAa,GAAG,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,yDAAyD;gBACzD,wDAAwD;gBACxD,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,MAAM,CAAC,GACL,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ;wBACxC,CAAC,CAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAkB,CAAC,MAAM;wBAC3C,CAAC,CAAC,CAAC,CAAC;oBACR,IAAI,aAAa,GAAG,CAAC,IAAI,WAAW;wBAAE,MAAM;oBAC5C,aAAa,IAAI,CAAC,CAAC;oBACnB,OAAO,CAAC,IAAI,CAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAChE,CAAC;gBACD,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,CAAC,IAAI,CACT;oBACE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;oBACxE,WAAW,EAAE,aAAa;oBAC1B,WAAW;oBACX,eAAe,EAAE,OAAO,CAAC,MAAM;oBAC/B,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;iBACrC,EACD,qCAAqC,CACtC,CAAC;YACJ,CAAC;YAED,2EAA2E;YAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACjD,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvC,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,UAAU,EAAE,MAAM,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,WAAW;iBACzB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CACzF;iBACA,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAE/C,MAAM,QAAQ,GAAuB;gBACnC,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,8DAA8D,UAAU;;mPAEsJ;gBAC3O,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;wBAC9E,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,gDAAgD;yBAC9D;qBACF;oBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;iBACrB;aACF,CAAC;YAEF,iEAAiE;YACjE,MAAM,UAAU,GAAG,eAAe;gBAChC,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC;gBACpC,CAAC,CAAC,oBAAoB,CAAC;YACzB,2EAA2E;YAC3E,sEAAsE;YACtE,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU;gBAClC,CAAC,CAAC,GAAG,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACrD,CAAC,CAAC,UAAU,CAAC;YAEf,MAAM,YAAY,GAAsB;gBACtC;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;;;;;;;;EAQjB,eAAe,CAAC,CAAC,CAAC,kCAAkC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;iBACrE;aACF,CAAC;YAEF,yEAAyE;YACzE,sEAAsE;YACtE,sEAAsE;YACtE,SAAS;YACT,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEvC,wEAAwE;YACxE,6DAA6D;YAC7D,EAAE;YACF,wEAAwE;YACxE,wEAAwE;YACxE,mEAAmE;YACnE,sEAAsE;YACtE,EAAE;YACF,mEAAmE;YACnE,qEAAqE;YACrE,0DAA0D;YAC1D,iEAAiE;YACjE,mEAAmE;YACnE,6CAA6C;YAC7C,EAAE;YACF,sEAAsE;YACtE,uEAAuE;YACvE,sEAAsE;YACtE,qEAAqE;YACrE,iEAAiE;YACjE,MAAM,UAAU,GAAG,EAAE,CAAC;YACtB,MAAM,oBAAoB,GAAG,OAAO,CAAC;YACrC,MAAM,iCAAiC,GAAG,OAAO,CAAC;YAClD,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,0BAA0B,GAAG,CAAC,CAAC;YACnC,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,OAAO,KAAK,GAAG,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC;gBACnC,IAAI,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;gBAED,wEAAwE;gBACxE,yDAAyD;gBACzD,EAAE;gBACF,oEAAoE;gBACpE,sEAAsE;gBACtE,oEAAoE;gBACpE,oEAAoE;gBACpE,4CAA4C;gBAC5C,wEAAwE;gBACxE,qEAAqE;gBACrE,mEAAmE;gBACnE,gEAAgE;gBAChE,wCAAwC;gBACxC,EAAE;gBACF,oEAAoE;gBACpE,qEAAqE;gBACrE,qEAAqE;gBACrE,oEAAoE;gBACpE,qEAAqE;gBACrE,kEAAkE;gBAClE,yDAAyD;gBACzD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;oBAClD,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,YAAY;oBACpB,KAAK,EAAE,CAAC,QAAQ,CAAC;oBACjB,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE,KAAK;oBACb,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/D,CAAC,CAAC;gBAEH,mCAAmC;gBACnC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBAEvE,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;gBAE1E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,+CAA+C;oBAC/C,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;oBACtD,IAAI,WAAW;wBAAE,MAAM;oBACvB,gCAAgC;oBAChC,MAAM,CAAC,IAAI,CACT,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,EAC7C,yCAAyC,CAC1C,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,qBAAqB;gBACrB,MAAM,WAAW,GAA2B,EAAE,CAAC;gBAC/C,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;oBAC1B,IAAI,EAAE,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;wBACtC,gEAAgE;wBAChE,2DAA2D;wBAC3D,yDAAyD;wBACzD,sDAAsD;wBACtD,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnF,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACxC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;4BACrC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;4BAClD,CAAC,CAAC,GAAG,CAAC;wBACR,IAAI,KAAa,CAAC;wBAClB,IAAI,YAAY,EAAE,CAAC;4BACjB,0DAA0D;4BAC1D,+DAA+D;4BAC/D,KAAK;gCACH,6IAA6I,CAAC;wBAClJ,CAAC;6BAAM,CAAC;4BACN,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;4BACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC;4BACtD,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC/C,IAAI,CAAC,KAAK;gCAAE,KAAK,GAAG,eAAe,CAAC;4BACpC,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC;4BAC/B,IACE,cAAc,IAAI,oBAAoB;gCACtC,0BAA0B,GAAG,KAAK,CAAC,MAAM,IAAI,iCAAiC,EAC9E,CAAC;gCACD,YAAY,GAAG,IAAI,CAAC;gCACpB,KAAK;oCACH,qJAAqJ,CAAC;gCACxJ,MAAM,CAAC,IAAI,CACT;oCACE,KAAK;oCACL,cAAc;oCACd,0BAA0B,EAAE,0BAA0B,GAAG,KAAK,CAAC,MAAM;oCACrE,oBAAoB;oCACpB,iCAAiC;iCAClC,EACD,mEAAmE,CACpE,CAAC;4BACJ,CAAC;wBACH,CAAC;wBACD,0BAA0B,IAAI,KAAK,CAAC,MAAM,CAAC;wBAC3C,WAAW,CAAC,IAAI,CAAC;4BACf,IAAI,EAAE,aAAa;4BACnB,WAAW,EAAE,EAAE,CAAC,EAAE;4BAClB,OAAO,EAAE,KAAK;yBACf,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,WAAW,CAAC,IAAI,CAAC;4BACf,IAAI,EAAE,aAAa;4BACnB,WAAW,EAAE,EAAE,CAAC,EAAE;4BAClB,OAAO,EAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE;4BACnC,QAAQ,EAAE,IAAI;yBACf,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CACT;oBACE,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE;wBACR,cAAc,EAAE,SAAS,CAAC,MAAM;wBAChC,kBAAkB,EAAE,WAAW,CAAC,MAAM;wBACtC,KAAK,EAAE,aAAa;qBACrB;iBACF,EACD,mFAAmF,CACpF,CAAC;gBACF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;oBACvD,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE;gCACP,uEAAuE;gCACvE,2FAA2F;gCAC3F,mEAAmE;gCACnE,EAAE;gCACF,2BAA2B;gCAC3B,QAAQ;gCACR,4BAA4B;6BAC7B,CAAC,IAAI,CAAC,IAAI,CAAC;yBACb;qBACF;oBACD,MAAM,EAAE,YAAY;oBACpB,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE,KAAK;oBACb,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/D,CAAC,CAAC;gBACH,WAAW,GAAG,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7D,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CACT;oBACE,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE;wBACR,cAAc,EAAE,SAAS,CAAC,MAAM;wBAChC,kBAAkB,EAAE,WAAW,CAAC,MAAM;wBACtC,KAAK,EAAE,aAAa;qBACrB;iBACF,EACD,oEAAoE,CACrE,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YAED,yEAAyE;YACzE,sEAAsE;YACtE,iEAAiE;YACjE,qEAAqE;YACrE,iEAAiE;YACjE,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACjD,MAAM,SAAS,GAAG,kBAAkB,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YACpF,MAAM,eAAe,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;YAElD,mEAAmE;YACnE,MAAM,OAAO,GAAG,YAAY,GAAG,eAAe,CAAC;YAC/C,MAAM,KAAK,GAAG,OAAO,GAAG,YAAY,CAAC;YACrC,IAAI,KAAK,GAAG,2BAA2B,EAAE,CAAC;gBACxC,MAAM,CAAC,IAAI,CACT;oBACE,YAAY;oBACZ,eAAe;oBACf,KAAK;iBACN,EACD,6DAA6D,CAC9D,CAAC;gBACF,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,gDAAgD;YAChD,IAAI,cAAc,EAAE,CAAC;gBACnB,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;gBAChF,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;YACtF,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,CAAC,mBAAmB,EAAE,CAAC,WAAW,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,uCAAuC,CAAC,CAAC;YACvE,CAAC;YAED,UAAU,GAAG,IAAI,CAAC;YAClB,MAAM,CAAC,IAAI,CACT;gBACE,YAAY;gBACZ,eAAe;gBACf,KAAK;gBACL,WAAW,EAAE,CAAC,CAAC,eAAe;gBAC9B,aAAa,EAAE,SAAS,CAAC,MAAM;aAChC,EACD,sCAAsC,CACvC,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,kCAAkC,CAAC,CAAC;YAClF,IAAI,IAAI,CAAC,oBAAoB;gBAAE,OAAO,QAAQ,CAAC;YAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,eAAe,CAAC;YACxE,IAAI,eAAe,EAAE,IAAI,EAAE,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBACjD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;gBACvF,MAAM,CAAC,IAAI,CACT;oBACE,YAAY;oBACZ,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC;oBACxC,YAAY,EAAE,eAAe,CAAC,MAAM;oBACpC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB;iBACtE,EACD,oEAAoE,CACrE,CAAC;gBACF,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC;YAC1C,MAAM,eAAe,GACnB,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAClF,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,MAAM,CAAC;YAChC,MAAM,MAAM,GAAG,+CAA+C,CAAC;YAC/D,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,mCAAmC,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YACD,OAAO,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,UAAU,CAAC,OAAO,CAAC,CAAC;gBACtB,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,mEAAmE;QACnE,mDAAmD;QACnD,kEAAkE;QAClE,kEAAkE;QAClE,+DAA+D;QAC/D,qEAAqE;QACrE,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,IAAI,CAAC,kBAAkB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,sCAAsC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,6EAA6E;AAE7E;;;;;;;;;;;;GAYG;AACH,SAAS,WAAW,CAAC,QAA2B,EAAE,QAAgB;IAChE,6EAA6E;IAC7E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC5B,IAAK,CAAmC,CAAC,IAAI,KAAK,UAAU,IAAK,CAAqB,CAAC,EAAE,EAAE,CAAC;oBAC1F,IAAI,CAAC,GAAG,CAAE,CAAoB,CAAC,EAAE,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC5B,IACG,CAA4C,CAAC,IAAI,KAAK,aAAa;oBACnE,CAA8B,CAAC,WAAW,EAC3C,CAAC;oBACD,IAAI,CAAC,MAAM,CAAE,CAA6B,CAAC,WAAW,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC,GAAG,KAAK,CAAC;IACd,OAAO,CAAC,GAAG,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC5B,IAAK,CAAmC,CAAC,IAAI,KAAK,UAAU,IAAK,CAAqB,CAAC,EAAE,EAAE,CAAC;oBAC1F,IAAI,CAAC,GAAG,CAAE,CAAoB,CAAC,EAAE,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC5B,IACG,CAA4C,CAAC,IAAI,KAAK,aAAa;oBACnE,CAA8B,CAAC,WAAW,EAC3C,CAAC;oBACD,IAAI,CAAC,MAAM,CAAE,CAA6B,CAAC,WAAW,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACrE,IAAI,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,CAAC,EAAE,CAAC;IACN,CAAC;IAED,mEAAmE;IACnE,+DAA+D;IAC/D,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,QAA2B,EAAE,UAAkB;IACpE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE3D,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,2EAA2E;IAC3E,uEAAuE;IACvE,iDAAiD;IACjD,OACE,CAAC,GAAG,CAAC;QACL,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACjF,CAAC;QACD,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CACpB,QAA2B,EAC3B,YAAoB,EACpB,MAAc;IAEd,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE3C,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,kCAAkC;IAC7D,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,GAAG,IAAI,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;YACxB,GAAG,GAAG,CAAC,CAAC;YACR,gBAAgB,GAAG,IAAI,CAAC;YACxB,MAAM;QACR,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO;YACL,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,MAAM,2BAA2B,EAAE;YACvF,GAAG,QAAQ;SACZ,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,kEAAkE;IAClE,kEAAkE;IAClE,wDAAwD;IACxD,OAAO,GAAG,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,KAAK,MAAM;QAAE,GAAG,EAAE,CAAC;IACtE,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM;QAAE,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACtD,OAAO,GAAG,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,KAAK,MAAM;QAAE,GAAG,EAAE,CAAC;IACxD,4EAA4E;IAC5E,OAAO,GAAG,GAAG,CAAC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,EAAE,CAAC;QACN,OAAO,GAAG,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,KAAK,MAAM;YAAE,GAAG,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,wEAAwE;IACxE,wEAAwE;IACxE,uDAAuD;IACvD,MAAM,SAAS,GACb,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC;YACE;gBACE,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,2EAA2E;qBAClF;iBACF;aACF;YACD,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SACjB;QACH,CAAC,CAAC,IAAI,CAAC;IAEX,qEAAqE;IACrE,uEAAuE;IACvE,kEAAkE;IAClE,yEAAyE;IACzE,MAAM,SAAS,GAAoB;QACjC,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,2BAA2B,MAAM,2BAA2B;KACtE,CAAC;IACF,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;IAC5E,OAAO;QACL,SAAS;QACT,GAAG,CAAC,cAAc;YAChB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YAClF,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,SAAS;KACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"compressor.js","sourceRoot":"","sources":["../../src/memory/compressor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { type CompactMessagesNowOptions, type CompactMessagesNowResult } from "../memory/compressor.js";
2
+ import { type SaveSessionMetaInput } from "../session-store.js";
3
+ export interface CompactMaestroSessionOptions extends Omit<CompactMessagesNowOptions, "mutate"> {
4
+ /** Maestro session id backed by `~/.maestro/sessions/<sessionId>.jsonl`. */
5
+ sessionId: string;
6
+ /**
7
+ * Optional metadata to merge into the session header when a new compaction
8
+ * is persisted. Omit to preserve existing metadata.
9
+ */
10
+ saveMeta?: SaveSessionMetaInput;
11
+ }
12
+ export interface CompactMaestroSessionResult extends CompactMessagesNowResult {
13
+ sessionId: string;
14
+ /**
15
+ * True only when `didCompact` was true and the updated canonical history was
16
+ * written back to the session JSONL.
17
+ */
18
+ persisted: boolean;
19
+ }
20
+ /**
21
+ * Manual compaction trigger for a persisted Maestro session.
22
+ *
23
+ * Loads the session's canonical ProviderMessage[] history, forces a
24
+ * compaction attempt, and on success writes the updated history back to the
25
+ * session JSONL plus the memory sidecar used by the live agent loop.
26
+ */
27
+ export declare function compactMaestroSession(opts: CompactMaestroSessionOptions): Promise<CompactMaestroSessionResult>;
28
+ //# sourceMappingURL=manual-compaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manual-compaction.d.ts","sourceRoot":"","sources":["../../src/memory/manual-compaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAE9B,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAsB,KAAK,oBAAoB,EAAsB,MAAM,iBAAiB,CAAC;AAEpG,MAAM,WAAW,4BAA6B,SAAQ,IAAI,CAAC,yBAAyB,EAAE,QAAQ,CAAC;IAC7F,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC;AAED,MAAM,WAAW,2BAA4B,SAAQ,wBAAwB;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,4BAA4B,GACjC,OAAO,CAAC,2BAA2B,CAAC,CA6CtC"}
@@ -0,0 +1,53 @@
1
+ import { compactMessagesNow, } from "../memory/compressor.js";
2
+ import { buildMaestroMemoryState, saveMaestroMemoryState } from "../memory/state.js";
3
+ import { logger } from "../platform/logger.js";
4
+ import { loadMaestroSession, saveMaestroSession } from "../session-store.js";
5
+ /**
6
+ * Manual compaction trigger for a persisted Maestro session.
7
+ *
8
+ * Loads the session's canonical ProviderMessage[] history, forces a
9
+ * compaction attempt, and on success writes the updated history back to the
10
+ * session JSONL plus the memory sidecar used by the live agent loop.
11
+ */
12
+ export async function compactMaestroSession(opts) {
13
+ const { sessionId, saveMeta, ...compactOpts } = opts;
14
+ const loaded = loadMaestroSession(sessionId);
15
+ if (loaded === null) {
16
+ const empty = [];
17
+ return {
18
+ sessionId,
19
+ canonicalMessages: empty,
20
+ wireMessages: empty,
21
+ didStartAux: false,
22
+ didCompact: false,
23
+ persisted: false,
24
+ };
25
+ }
26
+ const result = await compactMessagesNow(loaded, {
27
+ ...compactOpts,
28
+ mutate: true,
29
+ });
30
+ let persisted = false;
31
+ if (result.didCompact) {
32
+ saveMaestroSession(sessionId, result.canonicalMessages, saveMeta);
33
+ persisted = true;
34
+ if (result.summary?.trim()) {
35
+ try {
36
+ saveMaestroMemoryState(buildMaestroMemoryState({
37
+ sessionId,
38
+ summary: result.summary,
39
+ messageCount: result.canonicalMessages.length,
40
+ }));
41
+ }
42
+ catch (err) {
43
+ logger.warn({ err, sessionId }, "compactMaestroSession: memory state write failed");
44
+ }
45
+ }
46
+ }
47
+ return {
48
+ sessionId,
49
+ ...result,
50
+ persisted,
51
+ };
52
+ }
53
+ //# sourceMappingURL=manual-compaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manual-compaction.js","sourceRoot":"","sources":["../../src/memory/manual-compaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAA6B,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAqBpG;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAkC;IAElC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC;IACrD,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAE7C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,KAAK,GAAsB,EAAE,CAAC;QACpC,OAAO;YACL,SAAS;YACT,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE;QAC9C,GAAG,WAAW;QACd,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAClE,SAAS,GAAG,IAAI,CAAC;QACjB,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,sBAAsB,CACpB,uBAAuB,CAAC;oBACtB,SAAS;oBACT,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,YAAY,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM;iBAC9C,CAAC,CACH,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,kDAAkD,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS;QACT,GAAG,MAAM;QACT,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -14,13 +14,14 @@ import type { ProviderMessage } from "../providers/base.js";
14
14
  * tokens. md5(content)[:12] (see hash.ts) — non-cryptographic, picked
15
15
  * for parity with the Python reference and cost on the per-turn path.
16
16
  *
17
- * Pass 2 — Age-based 1-line summary.
17
+ * Pass 2 — Age-based output removal.
18
18
  * For tool_result blocks older than `ageTurnsThreshold` user-turns,
19
- * replace large content with a structured 1-liner that names the tool,
20
- * points at the original arguments, and notes size. The model gets a
21
- * stable cue for "I called X and got back ~N bytes" without paying for
22
- * the bytes. Recent results (inside the protected tail) stay verbatim so
23
- * the model can still reason over fresh tool output.
19
+ * remove the actual output bytes and leave only a structured marker that
20
+ * names the tool, points at the original arguments, and notes size. The
21
+ * model gets a stable cue for "I called X and got back ~N bytes" without
22
+ * paying for, or being distracted by, stale bytes. Recent results (inside
23
+ * the protected tail) stay verbatim so the model can still reason over
24
+ * fresh tool output.
24
25
  *
25
26
  * Both passes are pure (`messages` not mutated) — caller can freely send the
26
27
  * returned array to the provider without losing the canonical history they
@@ -37,8 +38,8 @@ import type { ProviderMessage } from "../providers/base.js";
37
38
  */
38
39
  export interface PruneOptions {
39
40
  /**
40
- * Tool_result blocks N user-turns or older from the tail get age-summarized
41
- * by pass 2. Counting in user-turns (not raw messages) matches upstream's
41
+ * Tool_result blocks N user-turns or older from the tail have their content
42
+ * removed by pass 2. Counting in user-turns (not raw messages) matches upstream's
42
43
  * notion of "conversation rounds" and avoids fence-posting around assistant
43
44
  * + tool_result pairings.
44
45
  *
@@ -48,7 +49,7 @@ export interface PruneOptions {
48
49
  ageTurnsThreshold?: number;
49
50
  /** Disable pass 1 (dedup). Default: true. */
50
51
  dedup?: boolean;
51
- /** Disable pass 2 (age-based summary). Default: true. */
52
+ /** Disable pass 2 (age-based output removal). Default: true. */
52
53
  summarizeOld?: boolean;
53
54
  /**
54
55
  * Pass 3 (JSON-aware tool_use input shrink) — truncate string fields
@@ -72,7 +73,7 @@ export interface PruneOptions {
72
73
  shrinkAgeThreshold?: number;
73
74
  }
74
75
  /**
75
- * Apply pass 1 (dedup) + pass 2 (age-based summary) to a message array.
76
+ * Apply pass 1 (dedup) + pass 2 (age-based output removal) to a message array.
76
77
  *
77
78
  * Returns a new array — input `messages` and the inner block arrays are not
78
79
  * mutated, so the caller can keep the original around for persistence.
@@ -1 +1 @@
1
- {"version":3,"file":"prune.d.ts","sourceRoot":"","sources":["../../src/memory/prune.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAwB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,MAAM,WAAW,YAAY;IAC3B;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;;;OAUG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAUD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,eAAe,EAAE,EAC3B,IAAI,GAAE,YAAiB,GACtB,eAAe,EAAE,CAuDnB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,MAAM,CAIhG;AA8RD,eAAO,MAAM,iBAAiB,MAAkB,CAAC"}
1
+ {"version":3,"file":"prune.d.ts","sourceRoot":"","sources":["../../src/memory/prune.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAwB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,MAAM,WAAW,YAAY;IAC3B;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gEAAgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;;;OAUG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAUD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,eAAe,EAAE,EAC3B,IAAI,GAAE,YAAiB,GACtB,eAAe,EAAE,CAuDnB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,MAAM,CAIhG;AAgTD,eAAO,MAAM,iBAAiB,MAAkB,CAAC"}
@@ -7,7 +7,7 @@ import { hashToolContent } from "../memory/hash.js";
7
7
  */
8
8
  const MIN_PRUNE_CHARS = 200;
9
9
  /**
10
- * Apply pass 1 (dedup) + pass 2 (age-based summary) to a message array.
10
+ * Apply pass 1 (dedup) + pass 2 (age-based output removal) to a message array.
11
11
  *
12
12
  * Returns a new array — input `messages` and the inner block arrays are not
13
13
  * mutated, so the caller can keep the original around for persistence.
@@ -35,9 +35,9 @@ export function pruneMessages(messages, opts = {}) {
35
35
  if (dedup) {
36
36
  pruned = applyDedup(messages);
37
37
  }
38
- // ----------------------- Pass 2: summarize -----------------------
39
- if (summarizeOld && protectedFromIdx > 0) {
40
- pruned = applyAgeSummary(pruned, protectedFromIdx, callIndex);
38
+ // ----------------------- Pass 2: remove old output -----------------------
39
+ if (summarizeOld) {
40
+ pruned = applyAgeRemoval(pruned, protectedFromIdx, callIndex);
41
41
  }
42
42
  // ----------------------- Pass 3: tool_use arg shrink -----------------------
43
43
  // Runs on the same age window as pass 2. Cheap structural rewrite that
@@ -145,17 +145,17 @@ function applyDedup(messages) {
145
145
  }
146
146
  /**
147
147
  * Pass 2 — replace tool_result content older than the protect boundary with
148
- * a structured 1-line summary that points at the original tool_use.
148
+ * a structured 1-line removal marker that points at the original tool_use.
149
149
  *
150
150
  * Skips:
151
151
  * - Non-string content (multimodal etc.)
152
152
  * - Content already below MIN_PRUNE_CHARS (savings would be negative)
153
153
  * - Content that already looks like a pass-1 dedup placeholder
154
- * - Content that already looks like our own pass-2 summary (idempotent)
154
+ * - Content that already looks like our own pass-2 marker (idempotent)
155
155
  */
156
- function applyAgeSummary(messages, protectedFromIdx, callIndex) {
156
+ function applyAgeRemoval(messages, protectedFromIdx, callIndex) {
157
157
  const out = messages.map((m) => m);
158
- for (let i = 0; i < protectedFromIdx; i++) {
158
+ for (let i = 0; i < messages.length; i++) {
159
159
  const msg = out[i];
160
160
  if (msg.role !== "user" || !Array.isArray(msg.content))
161
161
  continue;
@@ -166,19 +166,26 @@ function applyAgeSummary(messages, protectedFromIdx, callIndex) {
166
166
  const c = block.content;
167
167
  if (typeof c !== "string")
168
168
  return block;
169
- if (c.length < MIN_PRUNE_CHARS)
170
- return block;
171
169
  if (c.startsWith("[Duplicate tool output"))
172
170
  return block;
173
- if (c.startsWith("[Summarized:"))
171
+ if (c.startsWith("[Tool output removed:"))
172
+ return block;
173
+ const isLegacySummary = c.startsWith("[Summarized:");
174
+ if (!isLegacySummary && i >= protectedFromIdx)
174
175
  return block;
175
176
  const ref = callIndex.get(block.tool_use_id);
176
- const summary = summarizeToolResult(ref, c);
177
+ const marker = isLegacySummary
178
+ ? removedLegacySummaryMarker(ref, c)
179
+ : c.length < MIN_PRUNE_CHARS
180
+ ? undefined
181
+ : removedToolResultMarker(ref, c);
182
+ if (!marker)
183
+ return block;
177
184
  mutated = true;
178
185
  return {
179
186
  type: "tool_result",
180
187
  tool_use_id: block.tool_use_id,
181
- content: summary,
188
+ content: marker,
182
189
  ...(block.is_error !== undefined ? { is_error: block.is_error } : {}),
183
190
  };
184
191
  });
@@ -189,30 +196,44 @@ function applyAgeSummary(messages, protectedFromIdx, callIndex) {
189
196
  return out;
190
197
  }
191
198
  /**
192
- * Render a 1-line summary of a tool result. Mirrors upstream's
193
- * `_summarize_tool_result` shape but doesn't enumerate every tool name
194
- * the prefix "[Summarized:" lets us cheaply detect already-summarized
195
- * blocks on a re-pass, and the (name, lines, chars) tuple is the same set
196
- * of breadcrumbs the model uses to decide "did I see this before".
199
+ * Render a 1-line marker for an old tool result whose output bytes were
200
+ * intentionally removed from the model context. We keep the same breadcrumbs
201
+ * the model needs to recognize the call (tool, compact arg hint, size) but do
202
+ * not preserve a content head preview.
197
203
  *
198
204
  * If `ref` is missing (tool_use was trimmed away by an earlier compression
199
205
  * or rollout) we fall back to a generic shape — better to lose tool-name
200
206
  * fidelity than to leave several KB of stale tool output in the prompt.
201
207
  */
202
- function summarizeToolResult(ref, content) {
208
+ function removedToolResultMarker(ref, content) {
203
209
  const lineCount = content.split("\n").length;
204
210
  const tool = ref?.name ?? "tool";
205
211
  // Short argument hint helps the model recognize repeat calls. We cap at
206
- // 80 chars total to stay well under the original payload size — anything
207
- // longer defeats the purpose of summarization.
212
+ // 80 chars total to stay well under the original payload size.
208
213
  const argHint = ref ? formatArgHint(ref.input) : "";
209
- const head = head80(content);
210
- return `[Summarized: ${tool}${argHint} — ${lineCount} lines, ${content.length} chars, head: ${JSON.stringify(head)}]`;
214
+ return `[Tool output removed: ${tool}${argHint} — ${lineCount} lines, ${content.length} chars omitted from model context]`;
215
+ }
216
+ function removedLegacySummaryMarker(ref, content) {
217
+ const parsed = parseLegacySummaryMarker(content);
218
+ const call = ref ? `${ref.name}${formatArgHint(ref.input)}` : (parsed?.call ?? "tool");
219
+ const size = parsed?.size ?? `${content.split("\n").length} lines, ${content.length} chars`;
220
+ return `[Tool output removed: ${call} — ${size} omitted from model context]`;
211
221
  }
212
- /** First 80 chars of the content, single-line (newlines collapsed to spaces). */
213
- function head80(s) {
214
- const flat = s.replace(/\s+/g, " ").trim();
215
- return flat.length > 80 ? `${flat.slice(0, 77)}...` : flat;
222
+ function parseLegacySummaryMarker(content) {
223
+ const prefix = "[Summarized:";
224
+ if (!content.startsWith(prefix))
225
+ return undefined;
226
+ const body = content.slice(prefix.length).trim();
227
+ const separator = body.indexOf(" — ");
228
+ if (separator < 0)
229
+ return undefined;
230
+ const call = body.slice(0, separator).trim();
231
+ const rest = body.slice(separator + " — ".length);
232
+ const headIdx = rest.indexOf(", head:");
233
+ const size = (headIdx >= 0 ? rest.slice(0, headIdx) : rest.replace(/\]$/, "")).trim();
234
+ if (!call || !size)
235
+ return undefined;
236
+ return { call, size };
216
237
  }
217
238
  /** A compact "k1=v1 k2=v2" hint, capped so a giant args object doesn't blow
218
239
  * up the summary line. */
@@ -1 +1 @@
1
- {"version":3,"file":"prune.js","sourceRoot":"","sources":["../../src/memory/prune.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prune.js","sourceRoot":"","sources":["../../src/memory/prune.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,5 @@
9
9
  *
10
10
  * Bump in lock-step with `package.json#version` on every release.
11
11
  */
12
- export declare const MAESTRO_SDK_VERSION: "0.1.27";
12
+ export declare const MAESTRO_SDK_VERSION: "0.1.35";
13
13
  //# sourceMappingURL=version.d.ts.map
@@ -9,5 +9,5 @@
9
9
  *
10
10
  * Bump in lock-step with `package.json#version` on every release.
11
11
  */
12
- export const MAESTRO_SDK_VERSION = "0.1.27";
12
+ export const MAESTRO_SDK_VERSION = "0.1.35";
13
13
  //# sourceMappingURL=version.js.map
package/dist/types.d.ts CHANGED
@@ -159,7 +159,7 @@ export interface AgentHooks {
159
159
  }) => void | Promise<void>;
160
160
  }
161
161
  /**
162
- * Options accepted by `maestroProvider.query()` — the host-facing entry point.
162
+ * Options accepted by `maestroProvider(...)` — the host-facing entry point.
163
163
  *
164
164
  * Most fields are optional; only `prompt`, `cwd`, `systemPrompt` are strictly
165
165
  * required to drive the loop. The rest let the host plug in session
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maestro-agent-sdk",
3
- "version": "0.1.34",
3
+ "version": "0.1.35",
4
4
  "description": "Embeddable, provider-agnostic TypeScript agent SDK — pluggable providers, built-in tools, skills, memory, and MCP.",
5
5
  "license": "MIT",
6
6
  "author": "Yeonwoo Jeong <aadd4020@gmail.com>",