maestro-agent-sdk 0.1.30 → 0.1.31
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/dist/core/agent.d.ts +4 -0
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +1 -0
- package/dist/core/agent.js.map +1 -1
- package/dist/core/loop.d.ts.map +1 -1
- package/dist/core/loop.js +120 -6
- package/dist/core/loop.js.map +1 -1
- package/dist/memory/compressor.d.ts +65 -2
- package/dist/memory/compressor.d.ts.map +1 -1
- package/dist/memory/compressor.js +555 -162
- package/dist/memory/compressor.js.map +1 -1
- package/dist/memory/prune.d.ts +2 -29
- package/dist/memory/prune.d.ts.map +1 -1
- package/dist/memory/prune.js +2 -74
- package/dist/memory/prune.js.map +1 -1
- package/dist/memory/state.d.ts +18 -0
- package/dist/memory/state.d.ts.map +1 -0
- package/dist/memory/state.js +85 -0
- package/dist/memory/state.js.map +1 -0
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +1 -0
- package/dist/provider.js.map +1 -1
- package/dist/providers/anthropic.d.ts +12 -1
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +23 -9
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/base.d.ts +29 -0
- package/dist/providers/base.d.ts.map +1 -1
- package/dist/providers/codex.d.ts +113 -25
- package/dist/providers/codex.d.ts.map +1 -1
- package/dist/providers/codex.js +99 -55
- package/dist/providers/codex.js.map +1 -1
- package/dist/providers/deepseek.d.ts +11 -1
- package/dist/providers/deepseek.d.ts.map +1 -1
- package/dist/providers/deepseek.js +22 -7
- package/dist/providers/deepseek.js.map +1 -1
- package/dist/providers/node-fetch.d.ts +63 -0
- package/dist/providers/node-fetch.d.ts.map +1 -0
- package/dist/providers/node-fetch.js +164 -0
- package/dist/providers/node-fetch.js.map +1 -0
- package/dist/session-store.d.ts.map +1 -1
- package/dist/session-store.js +9 -0
- package/dist/session-store.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/core/agent.d.ts
CHANGED
|
@@ -57,6 +57,9 @@ export interface AIAgentConfig {
|
|
|
57
57
|
effort?: EffortLevel;
|
|
58
58
|
/** External abort signal — wired to the AgentQueryOptions.abortController. */
|
|
59
59
|
abortSignal?: AbortSignal;
|
|
60
|
+
/** Optional persisted session id. Memory sidecars use this to store
|
|
61
|
+
* last-good compaction state independently from the transcript JSONL. */
|
|
62
|
+
sessionId?: string;
|
|
60
63
|
/**
|
|
61
64
|
* Optional override for the compaction (auxiliary) LLM model id. When set,
|
|
62
65
|
* `compressIfNeeded` routes its summary call through this model instead of
|
|
@@ -107,6 +110,7 @@ export declare class AIAgent {
|
|
|
107
110
|
thinkingBudget?: number;
|
|
108
111
|
effort?: EffortLevel;
|
|
109
112
|
abortSignal?: AbortSignal;
|
|
113
|
+
sessionId?: string;
|
|
110
114
|
buildIterReminder?: (iterationsRemaining: number) => string | null;
|
|
111
115
|
llmPreHook?: LlmPreHook;
|
|
112
116
|
llmPostHook?: LlmPostHook;
|
package/dist/core/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpE;;;;;;;;;GASG;AAEH,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB;;sCAEkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACnE,iEAAiE;IACjE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,oFAAoF;IACpF,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CACnD;AAED,qBAAa,OAAO;IAClB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CACvB,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,cAAc,GAAG,eAAe,GAAG,WAAW,CAAC,CAC9E,GAAG;QACF,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,iBAAiB,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;QACnE,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B;kFAC0E;QAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB;2EACmE;QACnE,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;KACnD,CAAC;gBAEU,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpE;;;;;;;;;GASG;AAEH,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB;;sCAEkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;8EAC0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACnE,iEAAiE;IACjE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,oFAAoF;IACpF,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CACnD;AAED,qBAAa,OAAO;IAClB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CACvB,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,cAAc,GAAG,eAAe,GAAG,WAAW,CAAC,CAC9E,GAAG;QACF,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,iBAAiB,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;QACnE,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B;kFAC0E;QAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB;2EACmE;QACnE,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;KACnD,CAAC;gBAEU,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa;CA4B3E"}
|
package/dist/core/agent.js
CHANGED
|
@@ -23,6 +23,7 @@ export class AIAgent {
|
|
|
23
23
|
: {}),
|
|
24
24
|
...(config.effort ? { effort: config.effort } : {}),
|
|
25
25
|
...(config.abortSignal ? { abortSignal: config.abortSignal } : {}),
|
|
26
|
+
...(config.sessionId ? { sessionId: config.sessionId } : {}),
|
|
26
27
|
...(config.buildIterReminder ? { buildIterReminder: config.buildIterReminder } : {}),
|
|
27
28
|
...(config.llmPreHook ? { llmPreHook: config.llmPreHook } : {}),
|
|
28
29
|
...(config.llmPostHook ? { llmPostHook: config.llmPostHook } : {}),
|
package/dist/core/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AA2GtD,MAAM,OAAO,OAAO;IACT,QAAQ,CAAW;IACnB,KAAK,CAAe;IACpB,MAAM,CAgBb;IAEF,YAAY,QAAkB,EAAE,KAAmB,EAAE,MAAqB;QACxE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG;YACZ,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,kEAAkE;YAClE,mEAAmE;YACnE,yDAAyD;YACzD,4DAA4D;YAC5D,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,iBAAiB;YAC/D,qEAAqE;YACrE,+DAA+D;YAC/D,yDAAyD;YACzD,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC;YACrE,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC;gBACpD,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE;gBAC3C,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9F,CAAC;IACJ,CAAC;CACF"}
|
package/dist/core/loop.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/core/loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/core/loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAc5C,OAAO,KAAK,EAGV,eAAe,EAEhB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,SAAS,CAAC;AAuDxD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAuB,eAAe,CACpC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,eAAe,EAAE,GAC1B,cAAc,CAAC,YAAY,CAAC,CAgmB9B"}
|
package/dist/core/loop.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { maybeTruncateToolResultForModel } from "../core/tool-result-truncation.js";
|
|
2
2
|
import { extractFileEvents } from "../media/file-events.js";
|
|
3
3
|
import { resolveAuxModel } from "../memory/aux-model-map.js";
|
|
4
|
-
import { compressIfNeeded } from "../memory/compressor.js";
|
|
4
|
+
import { compressIfNeeded, findLastCompactionSummary } from "../memory/compressor.js";
|
|
5
5
|
import { StreamingContextScrubber, scrubString } from "../memory/scrubber.js";
|
|
6
|
+
import { buildMaestroMemoryState, loadMaestroMemoryState, saveMaestroMemoryState, } from "../memory/state.js";
|
|
6
7
|
import { logger } from "../platform/logger.js";
|
|
7
8
|
import { isWrapUpZone, thinkingBudgetForTurn } from "../providers/anthropic.js";
|
|
8
9
|
// v0.1.16: removed `EFFORT_LEVELS` + `nextEffortLevel`. The previous
|
|
@@ -25,6 +26,39 @@ import { isWrapUpZone, thinkingBudgetForTurn } from "../providers/anthropic.js";
|
|
|
25
26
|
* UnifiedEvent emit path truncates.
|
|
26
27
|
*/
|
|
27
28
|
const TOOL_RESULT_PREVIEW_MAX = 200;
|
|
29
|
+
/** Max chars of the active-task focus passed to guided compaction. */
|
|
30
|
+
const FOCUS_TOPIC_MAX_CHARS = 400;
|
|
31
|
+
/**
|
|
32
|
+
* Derive a guided-compaction focus from the latest *plain* user request (the
|
|
33
|
+
* active task). Tool-result-bearing user turns and compaction markers are
|
|
34
|
+
* skipped so the focus is the human's actual ask, not machine plumbing.
|
|
35
|
+
* Returns undefined when no plain user text is present.
|
|
36
|
+
*/
|
|
37
|
+
function deriveFocusTopic(messages) {
|
|
38
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
39
|
+
const m = messages[i];
|
|
40
|
+
if (m.role !== "user")
|
|
41
|
+
continue;
|
|
42
|
+
let text = "";
|
|
43
|
+
if (typeof m.content === "string") {
|
|
44
|
+
text = m.content;
|
|
45
|
+
}
|
|
46
|
+
else if (Array.isArray(m.content)) {
|
|
47
|
+
// A user turn carrying tool_result blocks is machine plumbing, not an ask.
|
|
48
|
+
if (m.content.some((b) => b.type === "tool_result"))
|
|
49
|
+
continue;
|
|
50
|
+
text = m.content
|
|
51
|
+
.filter((b) => b.type === "text")
|
|
52
|
+
.map((b) => b.text ?? "")
|
|
53
|
+
.join(" ");
|
|
54
|
+
}
|
|
55
|
+
text = text.trim();
|
|
56
|
+
if (!text || text.includes("\x00maestro-compaction\x00"))
|
|
57
|
+
continue;
|
|
58
|
+
return text.slice(0, FOCUS_TOPIC_MAX_CHARS);
|
|
59
|
+
}
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
28
62
|
/**
|
|
29
63
|
* run_conversation — Maestro agent loop (TS port).
|
|
30
64
|
*
|
|
@@ -75,10 +109,9 @@ export async function* runConversation(agent, messages) {
|
|
|
75
109
|
// (⌛compaction user + summary assistant) to the canonical `messages`
|
|
76
110
|
// array for persistence (OpenCode-style incremental). On resume the
|
|
77
111
|
// aux LLM receives an incremental "update the anchored summary"
|
|
78
|
-
// prompt instead of re-summarizing from scratch.
|
|
79
|
-
//
|
|
80
|
-
//
|
|
81
|
-
// stabilizes.
|
|
112
|
+
// prompt instead of re-summarizing from scratch. The compressor's
|
|
113
|
+
// effective-token fast-path skips aux work when the persisted summary
|
|
114
|
+
// plus post-compaction delta is already under threshold.
|
|
82
115
|
//
|
|
83
116
|
// Aux provider stays the same (intra-provider remap), but the aux MODEL
|
|
84
117
|
// routes through `resolveAuxModel` so heavy tiers (gpt-5.5, opus,
|
|
@@ -97,6 +130,18 @@ export async function* runConversation(agent, messages) {
|
|
|
97
130
|
// POSTing ~1.3 MB request bodies. Routing aux to gpt-5.4-mini cuts both
|
|
98
131
|
// the body weight and the model latency.
|
|
99
132
|
const auxModel = agent.config.auxModel ?? resolveAuxModel(agent.config.model);
|
|
133
|
+
const memoryState = agent.config.sessionId
|
|
134
|
+
? loadMaestroMemoryState(agent.config.sessionId)
|
|
135
|
+
: null;
|
|
136
|
+
const markerSummary = memoryState ? undefined : findLastCompactionSummary(messages);
|
|
137
|
+
if (agent.config.sessionId && markerSummary) {
|
|
138
|
+
saveMaestroMemoryState(buildMaestroMemoryState({
|
|
139
|
+
sessionId: agent.config.sessionId,
|
|
140
|
+
summary: markerSummary,
|
|
141
|
+
messageCount: messages.length,
|
|
142
|
+
}));
|
|
143
|
+
}
|
|
144
|
+
const cumulativeSummary = memoryState?.summary ?? markerSummary;
|
|
100
145
|
// Captured by the `onEmergencyTrim` callback below. When the aux LLM
|
|
101
146
|
// compaction call fails AND the pruned messages are still over the
|
|
102
147
|
// emergency-target ceiling, compressIfNeeded falls back to a
|
|
@@ -105,14 +150,83 @@ export async function* runConversation(agent, messages) {
|
|
|
105
150
|
// CLI host, …) can surface the message — the loop itself proceeds
|
|
106
151
|
// normally with the smaller wire array so the turn doesn't stall.
|
|
107
152
|
let emergencyNotice;
|
|
153
|
+
let compactionMeta;
|
|
154
|
+
// v0.1.32+: compaction is intentionally NOT cancellable from the user
|
|
155
|
+
// side. Aux-LLM compaction is an internal background optimization, not
|
|
156
|
+
// a user-controlled operation — the same way `/new` is the only way to
|
|
157
|
+
// interrupt a topic reset, abort here would just create a feedback
|
|
158
|
+
// loop:
|
|
159
|
+
//
|
|
160
|
+
// user abort → AbortError mid-aux → fallback path → next turn still
|
|
161
|
+
// over threshold → aux call again → another abort → repeat
|
|
162
|
+
//
|
|
163
|
+
// So we deliberately omit `abortSignal` from the compressIfNeeded call.
|
|
164
|
+
// The user's abort signal only takes effect on the subsequent
|
|
165
|
+
// `provider.complete` call below — which is what "abort this turn"
|
|
166
|
+
// actually means. The provider's own node:http idle/total timeout
|
|
167
|
+
// (idleTimeoutMs 600s + totalTimeoutMs 30min, see providers/node-fetch.ts)
|
|
168
|
+
// is the safety net for a genuinely hung aux LLM; we don't need a second
|
|
169
|
+
// one here. NB: aux runs on `agent.provider` itself, so it inherits the
|
|
170
|
+
// same node:http transport — Bun's global-fetch ~300s wall (the old
|
|
171
|
+
// failure mode that timed out every aux call) no longer applies.
|
|
172
|
+
//
|
|
173
|
+
// Status emission (v0.1.31+): the old approach predicted compaction
|
|
174
|
+
// need via `effectiveTokens` and yielded "🔄 대화 압축 중…" up-front.
|
|
175
|
+
// The prediction didn't match compressor's internal short-circuits, so
|
|
176
|
+
// the spinner could fire for turns that did zero aux work and get
|
|
177
|
+
// stuck.
|
|
178
|
+
//
|
|
179
|
+
// Current design: compressor fires `onCompactionResult` in `finally`
|
|
180
|
+
// with truthful {didStartAux, didCompact}. We yield based on that.
|
|
181
|
+
// True real-time "압축 중…" during the blocking aux call is not
|
|
182
|
+
// possible with the current `await` pattern — the generator is paused.
|
|
183
|
+
// The `onCompactionStart` hook exists in CompressOptions for future
|
|
184
|
+
// non-blocking compaction architectures; it is not wired here today.
|
|
185
|
+
// Guided (focus-steered) compaction is opt-in per provider — only Codex
|
|
186
|
+
// sets `guidedCompaction` today (stateless, benefits most). Cache-friendly
|
|
187
|
+
// providers (Anthropic/DeepSeek) keep the generic summary unchanged, and
|
|
188
|
+
// we skip the derivation entirely for them (no wasted scan).
|
|
189
|
+
const focusTopic = agent.provider.guidedCompaction ? deriveFocusTopic(messages) : undefined;
|
|
108
190
|
const wireMessages = await compressIfNeeded(messages, {
|
|
109
191
|
auxProvider: agent.provider,
|
|
110
192
|
auxModel,
|
|
193
|
+
// Steer the summarizer to preserve the live work thread (latest user
|
|
194
|
+
// request) in full and shed tangents. Undefined → generic summary.
|
|
195
|
+
...(focusTopic ? { focusTopic } : {}),
|
|
196
|
+
// Stateless providers (Codex /responses, store:false, no caching) declare
|
|
197
|
+
// a lower ratio so they compact earlier — every tool iteration re-uploads
|
|
198
|
+
// the full conversation, so smaller context = cheaper turns. Undefined →
|
|
199
|
+
// compressor default (0.6). See `Provider.compactionTriggerRatio`.
|
|
200
|
+
...(agent.provider.compactionTriggerRatio !== undefined
|
|
201
|
+
? { triggerRatio: agent.provider.compactionTriggerRatio }
|
|
202
|
+
: {}),
|
|
203
|
+
// Codex keeps a shorter verbatim tail so each compaction folds more of
|
|
204
|
+
// the middle (Hermes-style harder squeeze). Undefined → default (6).
|
|
205
|
+
...(agent.provider.compactionTailProtect !== undefined
|
|
206
|
+
? { tailProtect: agent.provider.compactionTailProtect }
|
|
207
|
+
: {}),
|
|
208
|
+
...(cumulativeSummary ? { lastGoodSummary: cumulativeSummary } : {}),
|
|
209
|
+
...(agent.config.sessionId
|
|
210
|
+
? {
|
|
211
|
+
onCompactionSummary: (summary) => {
|
|
212
|
+
saveMaestroMemoryState(buildMaestroMemoryState({
|
|
213
|
+
sessionId: agent.config.sessionId,
|
|
214
|
+
summary,
|
|
215
|
+
messageCount: messages.length,
|
|
216
|
+
}));
|
|
217
|
+
},
|
|
218
|
+
}
|
|
219
|
+
: {}),
|
|
220
|
+
onCompactionResult: (meta) => {
|
|
221
|
+
compactionMeta = meta;
|
|
222
|
+
},
|
|
111
223
|
onEmergencyTrim: (notice) => {
|
|
112
224
|
emergencyNotice = notice;
|
|
113
225
|
},
|
|
114
|
-
...(agent.config.abortSignal ? { abortSignal: agent.config.abortSignal } : {}),
|
|
115
226
|
});
|
|
227
|
+
if (compactionMeta?.didCompact) {
|
|
228
|
+
yield { type: "status", content: "✅ 대화 압축 완료" };
|
|
229
|
+
}
|
|
116
230
|
if (emergencyNotice !== undefined) {
|
|
117
231
|
yield { type: "error", content: emergencyNotice };
|
|
118
232
|
}
|
package/dist/core/loop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/core/loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/core/loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,9 +37,74 @@ export interface CompressOptions {
|
|
|
37
37
|
auxProvider?: Provider;
|
|
38
38
|
disablePruneFallback?: boolean;
|
|
39
39
|
abortSignal?: AbortSignal;
|
|
40
|
+
/**
|
|
41
|
+
* Optional guided-compaction focus (Hermes `/compact <focus>` style). When
|
|
42
|
+
* set, the aux summarizer is told to preserve FULL detail for content
|
|
43
|
+
* related to this topic and summarize unrelated content aggressively. The
|
|
44
|
+
* agent loop auto-populates it with the active task (latest user request),
|
|
45
|
+
* so the summary keeps the live work thread intact while shedding tangents.
|
|
46
|
+
*/
|
|
47
|
+
focusTopic?: string;
|
|
40
48
|
emergencyTargetTokens?: number;
|
|
41
49
|
onEmergencyTrim?: (notice: string) => void;
|
|
50
|
+
/**
|
|
51
|
+
* Called exactly once when the aux LLM is about to be dispatched.
|
|
52
|
+
* Fires *after* all short-circuits (prune-only, etc.)
|
|
53
|
+
* at the point where the provider call is guaranteed to happen.
|
|
54
|
+
* Hosts use this to surface a live "압축 중…" status before the
|
|
55
|
+
* blocking aux LLM work begins — zero false positives, unlike the
|
|
56
|
+
* old prediction-based approach.
|
|
57
|
+
*/
|
|
58
|
+
onCompactionStart?: () => void;
|
|
59
|
+
/**
|
|
60
|
+
* Called exactly once per `compressIfNeeded` invocation (in `finally`)
|
|
61
|
+
* with the truthful metadata about what this turn actually did. Replaces
|
|
62
|
+
* the prediction-based status gate in loop.ts so the host never reports
|
|
63
|
+
* a fictional "압축 중…" for a turn that ended up taking the
|
|
64
|
+
* fast-path / prune-only / early-return.
|
|
65
|
+
*
|
|
66
|
+
* - `didStartAux`: aux LLM provider.complete was actually entered
|
|
67
|
+
* (request body was about to leave this process). Fires even on
|
|
68
|
+
* subsequent failure / fallback paths.
|
|
69
|
+
* - `didCompact`: a new compaction block pair was persisted onto the
|
|
70
|
+
* canonical `messages` array AND the returned wire is the freshly
|
|
71
|
+
* compacted view. Always implies `didStartAux: true`.
|
|
72
|
+
*/
|
|
73
|
+
onCompactionResult?: (meta: {
|
|
74
|
+
didStartAux: boolean;
|
|
75
|
+
didCompact: boolean;
|
|
76
|
+
}) => void;
|
|
77
|
+
/**
|
|
78
|
+
* Last successfully persisted active-task summary for this session.
|
|
79
|
+
*
|
|
80
|
+
* If the aux LLM fails on a later turn, the compressor can still build a
|
|
81
|
+
* bounded wire payload from this last-good summary plus the live tail
|
|
82
|
+
* instead of dropping all older context via emergencyTail().
|
|
83
|
+
*/
|
|
84
|
+
lastGoodSummary?: string;
|
|
85
|
+
/** Called after a compaction summary passes the savings gate and is about
|
|
86
|
+
* to become the new canonical active memory. Hosts use this to persist a
|
|
87
|
+
* sidecar memory state outside the append-only transcript. */
|
|
88
|
+
onCompactionSummary?: (summary: string) => void;
|
|
89
|
+
/**
|
|
90
|
+
* Cap on aux middle chars before writing the compaction file.
|
|
91
|
+
*
|
|
92
|
+
* When the linearized middle messages exceed this limit, the oldest
|
|
93
|
+
* messages are dropped from aux input (not from the canonical history)
|
|
94
|
+
* so the aux LLM processes a bounded payload. Default 400_000 chars
|
|
95
|
+
* (~100K tokens) — large enough for meaningful summarization, small
|
|
96
|
+
* enough that gpt-5.4-mini doesn't trip Codex's upstream timeout
|
|
97
|
+
* (~265 s observed in production).
|
|
98
|
+
*/
|
|
99
|
+
maxAuxChars?: number;
|
|
42
100
|
}
|
|
101
|
+
/** Hermes-style guided-compaction directive. Appended to the aux system
|
|
102
|
+
* prompt when a focus topic is supplied so the summarizer preserves the live
|
|
103
|
+
* work thread in full and sheds unrelated tangents. Mirrors Hermes'
|
|
104
|
+
* `context_compressor` focus block (full detail for related content, ~60-70%
|
|
105
|
+
* of the budget, secrets always redacted). */
|
|
106
|
+
export declare function focusInstruction(focusTopic: string): string;
|
|
107
|
+
export declare function findLastCompactionSummary(messages: ProviderMessage[]): string | undefined;
|
|
43
108
|
/**
|
|
44
109
|
* Run the auto-compaction pipeline.
|
|
45
110
|
*
|
|
@@ -60,6 +125,4 @@ export interface CompressOptions {
|
|
|
60
125
|
* view of messages so the wire never leaks internal sentinels.
|
|
61
126
|
*/
|
|
62
127
|
export declare function compressIfNeeded(messages: ProviderMessage[], opts?: CompressOptions): Promise<ProviderMessage[]>;
|
|
63
|
-
/** Test-only: reset the compactor anti-thrash WeakMap entry for an array. */
|
|
64
|
-
export declare function __resetCompactorState(messages: ProviderMessage[]): void;
|
|
65
128
|
//# sourceMappingURL=compressor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compressor.d.ts","sourceRoot":"","sources":["../../src/memory/compressor.ts"],"names":[],"mappings":"
|
|
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"}
|