maestro-agent-sdk 0.1.2 → 0.1.4
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 +23 -14
- package/dist/agents/rollout/shared.d.ts +5 -5
- package/dist/agents/rollout/shared.js +5 -5
- package/dist/core/agent.d.ts +5 -5
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/loop.d.ts +3 -2
- package/dist/core/loop.d.ts.map +1 -1
- package/dist/core/loop.js +12 -10
- package/dist/core/loop.js.map +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp/client.d.ts.map +1 -1
- package/dist/mcp/client.js +1 -1
- package/dist/mcp/client.js.map +1 -1
- package/dist/memory/active-task-template.d.ts +1 -1
- package/dist/memory/active-task-template.js +1 -1
- package/dist/memory/compressor.d.ts +9 -6
- package/dist/memory/compressor.d.ts.map +1 -1
- package/dist/memory/compressor.js +10 -4
- package/dist/memory/compressor.js.map +1 -1
- package/dist/memory/prune.d.ts +1 -1
- package/dist/memory/reminder.d.ts +5 -6
- package/dist/memory/reminder.d.ts.map +1 -1
- package/dist/memory/reminder.js +3 -19
- package/dist/memory/reminder.js.map +1 -1
- package/dist/memory/token-estimate.js +1 -1
- package/dist/platform/config.d.ts +0 -2
- package/dist/platform/config.d.ts.map +1 -1
- package/dist/platform/config.js +10 -19
- package/dist/platform/config.js.map +1 -1
- package/dist/platform/jsonl.d.ts +5 -5
- package/dist/platform/jsonl.js +5 -5
- package/dist/platform/lifecycle.d.ts +1 -1
- package/dist/platform/logger.d.ts +5 -5
- package/dist/platform/logger.js +5 -5
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +12 -15
- package/dist/provider.js.map +1 -1
- package/dist/providers/anthropic.d.ts +10 -9
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +10 -9
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/skills/curator.d.ts +12 -12
- package/dist/skills/curator.d.ts.map +1 -1
- package/dist/skills/curator.js +5 -5
- package/dist/skills/curator.js.map +1 -1
- package/dist/skills/index-builder.d.ts +8 -9
- package/dist/skills/index-builder.d.ts.map +1 -1
- package/dist/skills/index-builder.js +8 -9
- package/dist/skills/index-builder.js.map +1 -1
- package/dist/skills/loader.d.ts +4 -4
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +4 -4
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills/usage.d.ts +6 -5
- package/dist/skills/usage.d.ts.map +1 -1
- package/dist/skills/usage.js.map +1 -1
- package/dist/sub-agent/runner.d.ts.map +1 -1
- package/dist/sub-agent/runner.js +3 -5
- package/dist/sub-agent/runner.js.map +1 -1
- package/dist/tools/builtin/bash.d.ts +5 -4
- package/dist/tools/builtin/bash.d.ts.map +1 -1
- package/dist/tools/builtin/bash.js +5 -4
- package/dist/tools/builtin/bash.js.map +1 -1
- package/dist/tools/builtin/edit.d.ts.map +1 -1
- package/dist/tools/builtin/edit.js +0 -4
- package/dist/tools/builtin/edit.js.map +1 -1
- package/dist/tools/builtin/read.d.ts.map +1 -1
- package/dist/tools/builtin/read.js +0 -4
- package/dist/tools/builtin/read.js.map +1 -1
- package/dist/tools/builtin/write.d.ts +4 -9
- package/dist/tools/builtin/write.d.ts.map +1 -1
- package/dist/tools/builtin/write.js.map +1 -1
- package/dist/tools/file-state.d.ts +1 -1
- package/dist/tools/file-state.js +1 -1
- package/dist/tools/registry.d.ts +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/dist/tools/builtin/sandbox.d.ts +0 -16
- package/dist/tools/builtin/sandbox.d.ts.map +0 -1
- package/dist/tools/builtin/sandbox.js +0 -58
- package/dist/tools/builtin/sandbox.js.map +0 -1
- package/dist/tools/hooks/sandbox-fs.d.ts +0 -25
- package/dist/tools/hooks/sandbox-fs.d.ts.map +0 -1
- package/dist/tools/hooks/sandbox-fs.js +0 -48
- package/dist/tools/hooks/sandbox-fs.js.map +0 -1
package/README.md
CHANGED
|
@@ -4,11 +4,19 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/maestro-agent-sdk)
|
|
5
5
|
[](./LICENSE)
|
|
6
6
|
|
|
7
|
-
**Embeddable
|
|
7
|
+
**Embeddable agent SDK that ships skills, memory, and MCP out of the box.**
|
|
8
|
+
Anthropic + DeepSeek today, BYO-provider in one file. No CLI, no gateway, no host lock-in.
|
|
8
9
|
|
|
9
10
|
> **Status:** Early port (v0.1.x). Active development. API surface may change before 1.0.
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
Inspired by [Claude Code](https://www.anthropic.com/claude-code) and [`hermes-agent`](https://github.com/NousResearch/hermes-agent) — same agent-loop shape, repackaged as an embeddable TypeScript library.
|
|
13
|
+
|
|
14
|
+
### How it compares
|
|
15
|
+
|
|
16
|
+
| | What you get |
|
|
17
|
+
|---|---|
|
|
18
|
+
| **vs [`@anthropic-ai/claude-agent-sdk`](https://github.com/anthropics/claude-agent-sdk-typescript)** | Multi-provider from day one (Anthropic + DeepSeek), with skills (`SKILL.md` indexing), memory (auto context compaction), and MCP client pool built in — not provided as separate add-ons. |
|
|
19
|
+
| **vs LangChain / LangGraph** | Thin loop, no DSL. A provider is one adapter file; a tool is `{ name, description, schema, run }`. You read the source in an afternoon. |
|
|
12
20
|
|
|
13
21
|
## What's in the box
|
|
14
22
|
|
|
@@ -17,9 +25,8 @@ This package extracts the Maestro agent runtime — originally built into [Nous
|
|
|
17
25
|
- **Built-in tools** — `bash`, `read`, `write`, `edit`, `agent` (sub-agent delegation), `todo_write`, `skill_view`, `web_fetch`. Bring your own via `ToolRegistry`.
|
|
18
26
|
- **MCP** — built-in client pool (stdio + SSE) so any MCP server (`@modelcontextprotocol/sdk`) shows up as tools.
|
|
19
27
|
- **Skills** — Anthropic-style `SKILL.md` packages with FTS-style indexing and on-demand expansion.
|
|
20
|
-
- **Memory** — automatic context compression (summarization + pruning) when the token budget is hit.
|
|
21
|
-
- **
|
|
22
|
-
- **Host integration via DI** — `setLogger`, `setMcpResolver`, `setConversationReader` let you embed without inheriting any one host's opinions.
|
|
28
|
+
- **Memory** — automatic context compression (summarization + pruning) when the token budget is hit. Reuses the agent's own model for compaction — no separate model knob.
|
|
29
|
+
- **Host integration via DI** — `setLogger`, `setMcpResolver`, `setConversationReader` let you embed without inheriting any one host's opinions. FS policy (path allowlists, owner checks) is a host concern — register a `PreToolUseHook` via `ToolRegistry.use()`.
|
|
23
30
|
|
|
24
31
|
## Install
|
|
25
32
|
|
|
@@ -116,14 +123,16 @@ and a custom-tool walkthrough.
|
|
|
116
123
|
|
|
117
124
|
## Configuration
|
|
118
125
|
|
|
119
|
-
The SDK resolves
|
|
120
|
-
importing any SDK module (the
|
|
126
|
+
The SDK resolves its data directory at module load. Override via env var
|
|
127
|
+
**before** importing any SDK module (the value is captured once):
|
|
121
128
|
|
|
122
129
|
| Env var | Default | What it does |
|
|
123
130
|
|---|---|---|
|
|
124
131
|
| `MAESTRO_DATA_DIR` | `~/.maestro` | Where session JSONLs, skill usage counters, and todo stores live. `maestroSessionsDir()` resolves to `<DATA_DIR>/sessions`. |
|
|
125
|
-
|
|
126
|
-
|
|
132
|
+
|
|
133
|
+
Everything else is per-call: pass `cwd`, `model`, `effort`, etc. through
|
|
134
|
+
`AIAgentConfig` / `AgentQueryOptions`. The memory compressor reuses the
|
|
135
|
+
agent's configured `model` — no separate compression-model knob.
|
|
127
136
|
|
|
128
137
|
For session housekeeping there's a helper that hosts can wire into their
|
|
129
138
|
startup sweep:
|
|
@@ -132,8 +141,8 @@ startup sweep:
|
|
|
132
141
|
import { cleanupStaleMaestroSessions, DEFAULT_MAESTRO_SESSION_TTL_MS } from "maestro-agent-sdk";
|
|
133
142
|
|
|
134
143
|
// At boot: drop JSONLs untouched for >30 days (default).
|
|
135
|
-
const {
|
|
136
|
-
console.log(`maestro sweep:
|
|
144
|
+
const { scanned, removed } = cleanupStaleMaestroSessions();
|
|
145
|
+
console.log(`maestro sweep: removed ${removed}/${scanned}`);
|
|
137
146
|
```
|
|
138
147
|
|
|
139
148
|
## Architecture
|
|
@@ -141,7 +150,7 @@ console.log(`maestro sweep: deleted ${deleted}/${scanned}`);
|
|
|
141
150
|
```
|
|
142
151
|
src/
|
|
143
152
|
├── core/ AIAgent class + run_conversation loop
|
|
144
|
-
├── tools/ ToolRegistry + builtin tools +
|
|
153
|
+
├── tools/ ToolRegistry + builtin tools + PreToolUse/PostToolUse hook surface
|
|
145
154
|
├── providers/ Provider adapters (anthropic, deepseek)
|
|
146
155
|
├── mcp/ MCP client pool (stdio + SSE)
|
|
147
156
|
├── skills/ SKILL.md loader, index builder, usage tracker, curator
|
|
@@ -186,7 +195,7 @@ cd maestro-agent-sdk
|
|
|
186
195
|
npm install
|
|
187
196
|
npm run typecheck # tsc --noEmit
|
|
188
197
|
npm run build # tsc + tsc-alias → dist/
|
|
189
|
-
npm test # vitest,
|
|
198
|
+
npm test # vitest, 330 tests
|
|
190
199
|
```
|
|
191
200
|
|
|
192
201
|
### Known gaps
|
|
@@ -200,4 +209,4 @@ They rely on host-side helpers (`appendConversationEvent`, `getConversationPath`
|
|
|
200
209
|
|
|
201
210
|
## License
|
|
202
211
|
|
|
203
|
-
[MIT](./LICENSE)
|
|
212
|
+
[MIT](./LICENSE). Design influenced by [Claude Code](https://www.anthropic.com/claude-code) and Nous Research's [`hermes-agent`](https://github.com/NousResearch/hermes-agent) (also MIT); see [NOTICE](./NOTICE) for attribution details.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Helpers shared by every agent's rollout encoder.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* The cwd-validation step that some upstream hosts implement against a
|
|
5
|
+
* hard-coded workspace-root pair is omitted here: hosts may route any cwd
|
|
6
|
+
* through the agent loop, and the SDK has no business dictating where a
|
|
7
|
+
* session may live. The other helpers (UUID shape, `extractChatPairs`)
|
|
8
|
+
* are kept verbatim.
|
|
9
9
|
*/
|
|
10
10
|
import type { ConversationEntry } from "../../storage/conversations.js";
|
|
11
11
|
export declare function clone<T>(obj: T): T;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Helpers shared by every agent's rollout encoder.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* The cwd-validation step that some upstream hosts implement against a
|
|
5
|
+
* hard-coded workspace-root pair is omitted here: hosts may route any cwd
|
|
6
|
+
* through the agent loop, and the SDK has no business dictating where a
|
|
7
|
+
* session may live. The other helpers (UUID shape, `extractChatPairs`)
|
|
8
|
+
* are kept verbatim.
|
|
9
9
|
*/
|
|
10
10
|
import { mkdirSync } from "node:fs";
|
|
11
11
|
import { logger } from "../../platform/logger.js";
|
package/dist/core/agent.d.ts
CHANGED
|
@@ -6,15 +6,15 @@ import type { EffortLevel } from "../types.js";
|
|
|
6
6
|
*
|
|
7
7
|
* Upstream's AIAgent takes ~60 constructor params (credentials, callbacks,
|
|
8
8
|
* checkpoints, prefill messages, smart routing, reasoning configs, etc.).
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* deferred or dropped because
|
|
12
|
-
* permissions, conversation log, etc.).
|
|
9
|
+
* The SDK keeps the bare minimum needed to run a conversation against a
|
|
10
|
+
* provider with a tool registry — the rest of upstream's surface area is
|
|
11
|
+
* deferred or dropped because the embedding host typically owns the
|
|
12
|
+
* equivalent (gateway, permissions, conversation log, etc.).
|
|
13
13
|
*/
|
|
14
14
|
export interface AIAgentConfig {
|
|
15
15
|
/** Resolved model id (e.g. `claude-sonnet-4-6`). */
|
|
16
16
|
model: string;
|
|
17
|
-
/** System prompt —
|
|
17
|
+
/** System prompt — usually composed by the host before each query. */
|
|
18
18
|
systemPrompt: string;
|
|
19
19
|
/** Hard cap on tool-calling iterations. Default 90 to match upstream. */
|
|
20
20
|
maxIterations?: number;
|
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,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;;;;;GASG;AAEH,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;;;;;GASG;AAEH,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,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;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACpE;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;KACpE,CAAC;gBAEU,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa;CAgB3E"}
|
package/dist/core/loop.d.ts
CHANGED
|
@@ -4,8 +4,9 @@ import type { UnifiedEvent } from "../types.js";
|
|
|
4
4
|
/**
|
|
5
5
|
* run_conversation — Maestro agent loop (TS port).
|
|
6
6
|
*
|
|
7
|
-
* Yields UnifiedEvents so the
|
|
8
|
-
* without caring about the
|
|
7
|
+
* Yields UnifiedEvents so the host dispatcher can stream them to whatever
|
|
8
|
+
* surface it owns (CLI, Telegram bot, web UI, …) without caring about the
|
|
9
|
+
* underlying provider format.
|
|
9
10
|
*
|
|
10
11
|
* Multi-turn: the caller owns the `messages` array and passes it in
|
|
11
12
|
* pre-populated with prior history (loaded from `~/.maestro/sessions/<id>.jsonl`
|
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;AAG5C,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,SAAS,CAAC;AAkBxD
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/core/loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,SAAS,CAAC;AAkBxD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAuB,eAAe,CACpC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,eAAe,EAAE,GAC1B,cAAc,CAAC,YAAY,CAAC,CAkS9B"}
|
package/dist/core/loop.js
CHANGED
|
@@ -20,8 +20,9 @@ const TOOL_RESULT_PREVIEW_MAX = 200;
|
|
|
20
20
|
/**
|
|
21
21
|
* run_conversation — Maestro agent loop (TS port).
|
|
22
22
|
*
|
|
23
|
-
* Yields UnifiedEvents so the
|
|
24
|
-
* without caring about the
|
|
23
|
+
* Yields UnifiedEvents so the host dispatcher can stream them to whatever
|
|
24
|
+
* surface it owns (CLI, Telegram bot, web UI, …) without caring about the
|
|
25
|
+
* underlying provider format.
|
|
25
26
|
*
|
|
26
27
|
* Multi-turn: the caller owns the `messages` array and passes it in
|
|
27
28
|
* pre-populated with prior history (loaded from `~/.maestro/sessions/<id>.jsonl`
|
|
@@ -54,10 +55,10 @@ export async function* runConversation(agent, messages) {
|
|
|
54
55
|
}
|
|
55
56
|
// Two-stage context shrink before the provider call:
|
|
56
57
|
// 1. compressIfNeeded — runs pruneMessages internally, then if still
|
|
57
|
-
// over 80% of the context window dispatches the aux LLM
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
//
|
|
58
|
+
// over 80% of the context window dispatches the aux LLM to
|
|
59
|
+
// summarize the middle into the Active Task template. Returns the
|
|
60
|
+
// caller's array as-is when below threshold so the common case is
|
|
61
|
+
// just a token-estimate pass.
|
|
61
62
|
// 2. compressIfNeeded already prunes — no second pruneMessages call.
|
|
62
63
|
//
|
|
63
64
|
// Pure with respect to `messages` (canonical history kept intact for
|
|
@@ -65,12 +66,13 @@ export async function* runConversation(agent, messages) {
|
|
|
65
66
|
// array reference (both in prune.ts and compressor.ts) keeps back-to-
|
|
66
67
|
// back iterations near-zero CPU once the conversation stabilizes.
|
|
67
68
|
//
|
|
68
|
-
// Aux provider
|
|
69
|
-
//
|
|
70
|
-
//
|
|
71
|
-
//
|
|
69
|
+
// Aux provider + model are reused from the agent's main config — one
|
|
70
|
+
// client, one model id, no separate env var. Hosts that want compaction
|
|
71
|
+
// to run on a cheaper model can call compressIfNeeded directly with an
|
|
72
|
+
// explicit `auxModel`; this default keeps the SDK self-contained.
|
|
72
73
|
const wireMessages = await compressIfNeeded(messages, {
|
|
73
74
|
auxProvider: agent.provider,
|
|
75
|
+
auxModel: agent.config.model,
|
|
74
76
|
...(agent.config.abortSignal ? { abortSignal: agent.config.abortSignal } : {}),
|
|
75
77
|
});
|
|
76
78
|
// Drive the API call via stream() when available so we can emit
|
package/dist/core/loop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/core/loop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAM1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C;;;;;;;;;;;;;GAaG;AACH,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC
|
|
1
|
+
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/core/loop.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Originally derived from Nous Research's hermes-agent (MIT); see NOTICE.
|
|
8
8
|
*/
|
|
9
|
-
export declare const MAESTRO_SDK_VERSION: "0.1.
|
|
9
|
+
export declare const MAESTRO_SDK_VERSION: "0.1.4";
|
|
10
10
|
export declare const MAESTRO_UPSTREAM_SNAPSHOT: "v0.13.0 (2026-05-07)";
|
|
11
11
|
export { AIAgent, type AIAgentConfig } from "./core/agent.js";
|
|
12
12
|
export { runConversation } from "./core/loop.js";
|
|
@@ -18,8 +18,6 @@ export { createEditTool } from "./tools/builtin/edit.js";
|
|
|
18
18
|
export { createTodoWriteTool } from "./tools/builtin/todo_write.js";
|
|
19
19
|
export { createSkillViewTool } from "./tools/builtin/skill_view.js";
|
|
20
20
|
export { createAgentTool } from "./tools/builtin/agent.js";
|
|
21
|
-
export { isSandboxEnabled, checkFilesystemAccess } from "./tools/builtin/sandbox.js";
|
|
22
|
-
export { createSandboxFsHook } from "./tools/hooks/sandbox-fs.js";
|
|
23
21
|
export { getFileStateTracker, dropFileStateTracker } from "./tools/file-state.js";
|
|
24
22
|
export type { Provider, ProviderToolSchema, ProviderMessage, ProviderContentBlock, ProviderResponse, ProviderStreamChunk, ProviderCompleteOptions, } from "./providers/base.js";
|
|
25
23
|
export { AnthropicProvider, effortToThinkingBudget, effortToMaxIter, applyThinkingBudget, buildCacheableSystem, buildCacheableTools, buildCacheableMessages, } from "./providers/anthropic.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,mBAAmB,EAAG,OAAgB,CAAC;AACpD,eAAO,MAAM,yBAAyB,EAAG,sBAA+B,CAAC;AAGzE,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,EACL,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Originally derived from Nous Research's hermes-agent (MIT); see NOTICE.
|
|
8
8
|
*/
|
|
9
|
-
export const MAESTRO_SDK_VERSION = "0.1.
|
|
9
|
+
export const MAESTRO_SDK_VERSION = "0.1.4";
|
|
10
10
|
export const MAESTRO_UPSTREAM_SNAPSHOT = "v0.13.0 (2026-05-07)";
|
|
11
11
|
// ─── Core agent loop ─────────────────────────────────────────────────────────
|
|
12
12
|
export { AIAgent } from "./core/agent.js";
|
|
@@ -21,8 +21,6 @@ export { createEditTool } from "./tools/builtin/edit.js";
|
|
|
21
21
|
export { createTodoWriteTool } from "./tools/builtin/todo_write.js";
|
|
22
22
|
export { createSkillViewTool } from "./tools/builtin/skill_view.js";
|
|
23
23
|
export { createAgentTool } from "./tools/builtin/agent.js";
|
|
24
|
-
export { isSandboxEnabled, checkFilesystemAccess } from "./tools/builtin/sandbox.js";
|
|
25
|
-
export { createSandboxFsHook } from "./tools/hooks/sandbox-fs.js";
|
|
26
24
|
export { getFileStateTracker, dropFileStateTracker } from "./tools/file-state.js";
|
|
27
25
|
export { AnthropicProvider, effortToThinkingBudget, effortToMaxIter, applyThinkingBudget, buildCacheableSystem, buildCacheableTools, buildCacheableMessages, } from "./providers/anthropic.js";
|
|
28
26
|
export { DeepseekProvider, effortForDeepseek, translateToolsToOpenAI, translateMessagesToOpenAI, } from "./providers/deepseek.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAgB,CAAC;AACpD,MAAM,CAAC,MAAM,yBAAyB,GAAG,sBAA+B,CAAC;AAEzE,gFAAgF;AAChF,OAAO,EAAE,OAAO,EAAsB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,gFAAgF;AAChF,OAAO,EACL,YAAY,GASb,MAAM,kBAAkB,CAAC;AAE1B,gFAAgF;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAgB,CAAC;AACpD,MAAM,CAAC,MAAM,yBAAyB,GAAG,sBAA+B,CAAC;AAEzE,gFAAgF;AAChF,OAAO,EAAE,OAAO,EAAsB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,gFAAgF;AAChF,OAAO,EACL,YAAY,GASb,MAAM,kBAAkB,CAAC;AAE1B,gFAAgF;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAa/E,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,gFAAgF;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAElG,gFAAgF;AAChF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAmB,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAsB,MAAM,gBAAgB,CAAC;AAEzE,gFAAgF;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE3F,gFAAgF;AAChF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK5D,gFAAgF;AAChF,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,iBAAiB,CAAC;AAEzB,gFAAgF;AAChF,OAAO,EAAE,SAAS,EAA2B,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAuC,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAA2B,MAAM,yBAAyB,CAAC;AAUzF,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,WAAW,GACZ,MAAM,SAAS,CAAC"}
|
package/dist/mcp/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D;;;;;;;;;;;;GAYG;AAEH,qFAAqF;AACrF,MAAM,WAAW,oBAAoB;IACnC,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,mBAAmB;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,YAAY,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,qBAAa,gBAAgB;IAMzB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAXrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAS;gBAGb,IAAI,EAAE,MAAM,EACJ,IAAI,EAAE,oBAAoB;IAC3C;;;OAGG;IACc,iBAAiB,CAAC,EAAE,SAAS,YAAA;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D;;;;;;;;;;;;GAYG;AAEH,qFAAqF;AACrF,MAAM,WAAW,oBAAoB;IACnC,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,mBAAmB;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,YAAY,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,qBAAa,gBAAgB;IAMzB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAXrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAS;gBAGb,IAAI,EAAE,MAAM,EACJ,IAAI,EAAE,oBAAoB;IAC3C;;;OAGG;IACc,iBAAiB,CAAC,EAAE,SAAS,YAAA;IAQ1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,qFAAqF;IAC/E,SAAS,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAsB5C;;;;;;;;;;;OAWG;IACG,QAAQ,CACZ,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,CAAC;IASZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B,OAAO,CAAC,cAAc;CAwBvB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnE"}
|
package/dist/mcp/client.js
CHANGED
|
@@ -18,7 +18,7 @@ export class MaestroMcpClient {
|
|
|
18
18
|
this.name = name;
|
|
19
19
|
this.spec = spec;
|
|
20
20
|
this.transportOverride = transportOverride;
|
|
21
|
-
this.client = new Client({ name: "
|
|
21
|
+
this.client = new Client({ name: "maestro-agent-sdk", version: "0.1.0" }, { capabilities: {} });
|
|
22
22
|
}
|
|
23
23
|
async start() {
|
|
24
24
|
if (this.started)
|
package/dist/mcp/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAGjF,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAuC3C,MAAM,OAAO,gBAAgB;IAMhB;IACQ;IAKA;IAXV,MAAM,CAAS;IAChB,SAAS,CAAa;IACtB,OAAO,GAAG,KAAK,CAAC;IAExB,YACW,IAAY,EACJ,IAA0B;IAC3C;;;OAGG;IACc,iBAA6B;QANrC,SAAI,GAAJ,IAAI,CAAQ;QACJ,SAAI,GAAJ,IAAI,CAAsB;QAK1B,sBAAiB,GAAjB,iBAAiB,CAAY;QAE9C,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* match the structure upstream uses, calibrated against many real
|
|
17
17
|
* compaction events on long sessions.
|
|
18
18
|
*
|
|
19
|
-
* Upstream reference:
|
|
19
|
+
* Upstream reference: `hermes-agent/agent/context_compressor.py`
|
|
20
20
|
* (look for the "ACTIVE_TASK_SUMMARY_TEMPLATE" / "compression_system_prompt"
|
|
21
21
|
* constants). We keep the schema verbatim so summaries between agents stay
|
|
22
22
|
* mutually intelligible if the topic later switches via set_agent.
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* match the structure upstream uses, calibrated against many real
|
|
17
17
|
* compaction events on long sessions.
|
|
18
18
|
*
|
|
19
|
-
* Upstream reference:
|
|
19
|
+
* Upstream reference: `hermes-agent/agent/context_compressor.py`
|
|
20
20
|
* (look for the "ACTIVE_TASK_SUMMARY_TEMPLATE" / "compression_system_prompt"
|
|
21
21
|
* constants). We keep the schema verbatim so summaries between agents stay
|
|
22
22
|
* mutually intelligible if the topic later switches via set_agent.
|
|
@@ -2,10 +2,10 @@ import type { Provider, ProviderMessage } from "../providers/base.js";
|
|
|
2
2
|
/**
|
|
3
3
|
* Maestro context auto-compaction.
|
|
4
4
|
*
|
|
5
|
-
* When estimated tokens exceed `triggerRatio` × `contextWindow`, dispatch
|
|
6
|
-
*
|
|
7
|
-
* slice of the conversation into the Active Task template, then
|
|
8
|
-
* new message array shaped as:
|
|
5
|
+
* When estimated tokens exceed `triggerRatio` × `contextWindow`, dispatch an
|
|
6
|
+
* aux LLM call — by default the agent's own configured model — to summarize
|
|
7
|
+
* the middle slice of the conversation into the Active Task template, then
|
|
8
|
+
* return a new message array shaped as:
|
|
9
9
|
*
|
|
10
10
|
* [ ...head_protected, { role: "user", content: "<compacted-history>..." },
|
|
11
11
|
* ...tail_protected ]
|
|
@@ -37,7 +37,7 @@ import type { Provider, ProviderMessage } from "../providers/base.js";
|
|
|
37
37
|
* canonical (uncompacted) history on disk so resume can replay the full
|
|
38
38
|
* thread if desired.
|
|
39
39
|
*
|
|
40
|
-
* Upstream reference:
|
|
40
|
+
* Upstream reference: `hermes-agent/agent/context_compressor.py`
|
|
41
41
|
* — the `should_compress(real_tokens)` → `compress_messages()` path, minus
|
|
42
42
|
* the multi-provider tokenizer plumbing (we estimate; see token-estimate.ts).
|
|
43
43
|
*/
|
|
@@ -55,7 +55,10 @@ export interface CompressOptions {
|
|
|
55
55
|
/** Number of TAIL messages preserved verbatim. Default 6 (~ last 3 turns
|
|
56
56
|
* of user/assistant alternation). */
|
|
57
57
|
tailProtect?: number;
|
|
58
|
-
/** Aux model id for the summarization call.
|
|
58
|
+
/** Aux model id for the summarization call. The agent loop wires the
|
|
59
|
+
* agent's own configured model in by default, so callers usually don't
|
|
60
|
+
* set this unless they want compaction to run on a different model than
|
|
61
|
+
* the main turn. */
|
|
59
62
|
auxModel?: string;
|
|
60
63
|
/** Inject a different provider for tests. Defaults to a fresh
|
|
61
64
|
* `AnthropicProvider.fromEnv()` reuse-of-the-main-provider via DI. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compressor.d.ts","sourceRoot":"","sources":["../../src/memory/compressor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAwB,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"compressor.d.ts","sourceRoot":"","sources":["../../src/memory/compressor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAwB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,MAAM,WAAW,eAAe;IAC9B;8CAC0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;kEAE8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;0CACsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;0CACsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;yBAGqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;2EACuE;IACvE,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB;8DAC0D;IAC1D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,sDAAsD;IACtD,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AA0BD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,eAAe,EAAE,EAC3B,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,eAAe,EAAE,CAAC,CAuH5B;AAoCD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,CAEvE"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ACTIVE_TASK_TEMPLATE, wrapCompactedSummary } from "../memory/active-task-template.js";
|
|
2
2
|
import { pruneMessages } from "../memory/prune.js";
|
|
3
3
|
import { estimateTokens } from "../memory/token-estimate.js";
|
|
4
|
-
import { MODEL_HAIKU } from "../platform/config.js";
|
|
5
4
|
import { logger } from "../platform/logger.js";
|
|
6
5
|
const compactorAntiThrash = new WeakMap();
|
|
7
6
|
/** A compaction that doesn't save at least this fraction of tokens is
|
|
@@ -40,7 +39,7 @@ export async function compressIfNeeded(messages, opts = {}) {
|
|
|
40
39
|
const triggerRatio = opts.triggerRatio ?? 0.8;
|
|
41
40
|
const headProtect = opts.headProtect ?? 2;
|
|
42
41
|
const tailProtect = opts.tailProtect ?? 6;
|
|
43
|
-
const auxModel = opts.auxModel
|
|
42
|
+
const auxModel = opts.auxModel;
|
|
44
43
|
// Step 1: prune first. Cheap and often enough.
|
|
45
44
|
const pruned = pruneMessages(messages);
|
|
46
45
|
const prunedTokens = estimateTokens(pruned);
|
|
@@ -77,11 +76,18 @@ export async function compressIfNeeded(messages, opts = {}) {
|
|
|
77
76
|
// Step 3: aux LLM call.
|
|
78
77
|
if (!opts.auxProvider) {
|
|
79
78
|
// No provider supplied AND no factory available in production callers
|
|
80
|
-
// (
|
|
81
|
-
//
|
|
79
|
+
// (the agent loop passes its own provider). Without one we can't
|
|
80
|
+
// summarize — drop to pruned and log so the operator sees why.
|
|
82
81
|
logger.warn({ prunedTokens, threshold }, "compressIfNeeded: over threshold but no auxProvider supplied — falling back to prune-only");
|
|
83
82
|
return pruned;
|
|
84
83
|
}
|
|
84
|
+
if (!auxModel) {
|
|
85
|
+
// No model id supplied. The agent loop wires `auxModel: agent.config.model`
|
|
86
|
+
// by default, so this branch only fires if a host calls compressIfNeeded
|
|
87
|
+
// directly without one. Same fallback as missing provider.
|
|
88
|
+
logger.warn({ prunedTokens, threshold }, "compressIfNeeded: over threshold but no auxModel supplied — falling back to prune-only");
|
|
89
|
+
return pruned;
|
|
90
|
+
}
|
|
85
91
|
let summaryText;
|
|
86
92
|
try {
|
|
87
93
|
const auxResponse = await opts.auxProvider.complete({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compressor.js","sourceRoot":"","sources":["../../src/memory/compressor.ts"],"names":[],"mappings":"AAAA,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;AAEzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"compressor.js","sourceRoot":"","sources":["../../src/memory/compressor.ts"],"names":[],"mappings":"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"}
|
package/dist/memory/prune.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ import type { ProviderMessage } from "../providers/base.js";
|
|
|
36
36
|
* savings slightly — fine for the anti-thrash threshold (better to over-skip
|
|
37
37
|
* than over-prune).
|
|
38
38
|
*
|
|
39
|
-
* Upstream reference:
|
|
39
|
+
* Upstream reference: `hermes-agent/agent/context_compressor.py:519-685`.
|
|
40
40
|
*/
|
|
41
41
|
export interface PruneOptions {
|
|
42
42
|
/**
|
|
@@ -5,9 +5,8 @@ import type { TodoEntry } from "../state/todos.js";
|
|
|
5
5
|
* Renders the `<system-reminder>…</system-reminder>` block that gets
|
|
6
6
|
* attached to every new user message in `maestroProvider`. The reminder
|
|
7
7
|
* carries invariants the model needs to keep in mind for the current turn
|
|
8
|
-
* —
|
|
9
|
-
*
|
|
10
|
-
* middle.
|
|
8
|
+
* — session id, todo list, caller-supplied extras — and is what keeps long
|
|
9
|
+
* sessions from forgetting the rules after the compactor evicts the middle.
|
|
11
10
|
*
|
|
12
11
|
* Why this lives outside `loop.ts`:
|
|
13
12
|
*
|
|
@@ -49,9 +48,9 @@ export interface SystemReminderContext {
|
|
|
49
48
|
* Build the `<system-reminder>` block. Returns a self-contained string that
|
|
50
49
|
* callers attach verbatim as a `text` content block on a user message.
|
|
51
50
|
*
|
|
52
|
-
* Empty extras
|
|
53
|
-
* the
|
|
54
|
-
*
|
|
51
|
+
* Empty extras renders to ~2 lines so the per-turn token cost is bounded;
|
|
52
|
+
* the catalog of facts only grows as later phases add semantic state
|
|
53
|
+
* (Phase 3.2 task list, etc.).
|
|
55
54
|
*/
|
|
56
55
|
export declare function buildSystemReminder(ctx: SystemReminderContext): string;
|
|
57
56
|
//# sourceMappingURL=reminder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reminder.d.ts","sourceRoot":"","sources":["../../src/memory/reminder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"reminder.d.ts","sourceRoot":"","sources":["../../src/memory/reminder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,CA8BtE"}
|
package/dist/memory/reminder.js
CHANGED
|
@@ -1,29 +1,13 @@
|
|
|
1
|
-
import { isSandboxEnabled } from "../tools/builtin/sandbox.js";
|
|
2
|
-
import { WORKSPACE_DIR } from "../platform/config.js";
|
|
3
1
|
/**
|
|
4
2
|
* Build the `<system-reminder>` block. Returns a self-contained string that
|
|
5
3
|
* callers attach verbatim as a `text` content block on a user message.
|
|
6
4
|
*
|
|
7
|
-
* Empty extras
|
|
8
|
-
* the
|
|
9
|
-
*
|
|
5
|
+
* Empty extras renders to ~2 lines so the per-turn token cost is bounded;
|
|
6
|
+
* the catalog of facts only grows as later phases add semantic state
|
|
7
|
+
* (Phase 3.2 task list, etc.).
|
|
10
8
|
*/
|
|
11
9
|
export function buildSystemReminder(ctx) {
|
|
12
10
|
const lines = ["<system-reminder>"];
|
|
13
|
-
// Sandbox state — the model needs to know whether file paths outside
|
|
14
|
-
// WORKSPACE_DIR will be rejected, so it can either prefix paths correctly
|
|
15
|
-
// or pre-emptively flag the limitation when the user asks for an
|
|
16
|
-
// out-of-workspace operation. Default is unsandboxed (parity with
|
|
17
|
-
// claude/codex providers); the operator opts in by exporting
|
|
18
|
-
// `MAESTRO_FS_SANDBOX_ENABLED=1`.
|
|
19
|
-
if (isSandboxEnabled()) {
|
|
20
|
-
lines.push(`Filesystem sandbox: enabled. Allowed root: ${WORKSPACE_DIR}`);
|
|
21
|
-
lines.push(" Paths outside this root will be rejected by Read/Write/Edit. " +
|
|
22
|
-
"Prefer relative-to-workspace paths.");
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
lines.push("Filesystem sandbox: disabled (any absolute path may be read/written).");
|
|
26
|
-
}
|
|
27
11
|
// Session id — emitted so cross-session tools (ask_session, tell_session,
|
|
28
12
|
// fork helpers) have a stable handle to reference without round-tripping.
|
|
29
13
|
lines.push(`Session: ${ctx.sessionId}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reminder.js","sourceRoot":"","sources":["../../src/memory/reminder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reminder.js","sourceRoot":"","sources":["../../src/memory/reminder.ts"],"names":[],"mappings":"AAiDA;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAA0B;IAC5D,MAAM,KAAK,GAAa,CAAC,mBAAmB,CAAC,CAAC;IAE9C,0EAA0E;IAC1E,0EAA0E;IAC1E,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IAExC,qEAAqE;IACrE,qEAAqE;IACrE,qEAAqE;IACrE,6CAA6C;IAC7C,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,cAAc,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACrF,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,CAAC,IAAI,CACR,4EAA4E;YAC1E,iEAAiE,CACpE,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACjC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;yEACyE;AACzE,SAAS,gBAAgB,CAAC,KAA2B;IACnD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;IAClE,OAAO,GAAG,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;AACnC,CAAC"}
|