maestro-agent-sdk 0.1.3 → 0.1.5
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 +216 -20
- package/dist/agents/contracts.d.ts +10 -0
- package/dist/agents/contracts.d.ts.map +1 -1
- package/dist/agents/rollout/shared.d.ts +4 -4
- package/dist/agents/rollout/shared.js +4 -4
- package/dist/core/loop.d.ts.map +1 -1
- package/dist/core/loop.js +9 -8
- package/dist/core/loop.js.map +1 -1
- package/dist/index.d.ts +8 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -7
- package/dist/index.js.map +1 -1
- package/dist/memory/compressor.d.ts +8 -5
- 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/reminder.d.ts +11 -12
- package/dist/memory/reminder.d.ts.map +1 -1
- package/dist/memory/reminder.js +22 -32
- package/dist/memory/reminder.js.map +1 -1
- package/dist/platform/config.d.ts +0 -2
- package/dist/platform/config.d.ts.map +1 -1
- package/dist/platform/config.js +9 -18
- package/dist/platform/config.js.map +1 -1
- package/dist/platform/version.d.ts +13 -0
- package/dist/platform/version.d.ts.map +1 -0
- package/dist/platform/version.js +13 -0
- package/dist/platform/version.js.map +1 -0
- package/dist/provider.d.ts +62 -0
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +137 -30
- package/dist/provider.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +16 -1
- package/dist/registry.js.map +1 -1
- package/dist/session-store.d.ts +95 -4
- package/dist/session-store.d.ts.map +1 -1
- package/dist/session-store.js +144 -13
- package/dist/session-store.js.map +1 -1
- package/dist/skills/curator.d.ts +8 -6
- package/dist/skills/curator.d.ts.map +1 -1
- package/dist/skills/curator.js +13 -7
- package/dist/skills/curator.js.map +1 -1
- package/dist/skills/loader.d.ts +45 -20
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +56 -11
- package/dist/skills/loader.js.map +1 -1
- package/dist/state/tasks.d.ts +107 -0
- package/dist/state/tasks.d.ts.map +1 -0
- package/dist/state/tasks.js +398 -0
- package/dist/state/tasks.js.map +1 -0
- package/dist/sub-agent/runner.d.ts +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/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/glob.d.ts +17 -0
- package/dist/tools/builtin/glob.d.ts.map +1 -0
- package/dist/tools/builtin/glob.js +235 -0
- package/dist/tools/builtin/glob.js.map +1 -0
- package/dist/tools/builtin/grep.d.ts +3 -0
- package/dist/tools/builtin/grep.d.ts.map +1 -0
- package/dist/tools/builtin/grep.js +272 -0
- package/dist/tools/builtin/grep.js.map +1 -0
- 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/skill_write.d.ts +53 -0
- package/dist/tools/builtin/skill_write.d.ts.map +1 -0
- package/dist/tools/builtin/skill_write.js +264 -0
- package/dist/tools/builtin/skill_write.js.map +1 -0
- package/dist/tools/builtin/tasks.d.ts +34 -0
- package/dist/tools/builtin/tasks.d.ts.map +1 -0
- package/dist/tools/builtin/tasks.js +258 -0
- package/dist/tools/builtin/tasks.js.map +1 -0
- package/dist/tools/builtin/write.d.ts +4 -10
- 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 +64 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/state/todos.d.ts +0 -95
- package/dist/state/todos.d.ts.map +0 -1
- package/dist/state/todos.js +0 -198
- package/dist/state/todos.js.map +0 -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 -59
- package/dist/tools/builtin/sandbox.js.map +0 -1
- package/dist/tools/builtin/todo_write.d.ts +0 -29
- package/dist/tools/builtin/todo_write.d.ts.map +0 -1
- package/dist/tools/builtin/todo_write.js +0 -96
- package/dist/tools/builtin/todo_write.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/dist/provider.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
-
import { DATA_DIR } from "./platform/config.js";
|
|
4
3
|
import { AIAgent } from "./core/agent.js";
|
|
5
4
|
import { runConversation } from "./core/loop.js";
|
|
6
5
|
import { registerMcpTools, startMcpPool } from "./mcp/pool.js";
|
|
@@ -12,17 +11,19 @@ import { isWellFormedMessage, loadMaestroSession, saveMaestroSession, trimToSafe
|
|
|
12
11
|
import { curateSkills } from "./skills/curator.js";
|
|
13
12
|
import { buildSkillsIndex } from "./skills/index-builder.js";
|
|
14
13
|
import { loadSkillsCached } from "./skills/loader.js";
|
|
15
|
-
import {
|
|
14
|
+
import { getTaskStore } from "./state/tasks.js";
|
|
16
15
|
import { createAgentTool } from "./tools/builtin/agent.js";
|
|
17
16
|
import { bashTool } from "./tools/builtin/bash.js";
|
|
18
17
|
import { createEditTool } from "./tools/builtin/edit.js";
|
|
18
|
+
import { globTool } from "./tools/builtin/glob.js";
|
|
19
|
+
import { grepTool } from "./tools/builtin/grep.js";
|
|
19
20
|
import { createReadTool } from "./tools/builtin/read.js";
|
|
20
21
|
import { createSkillViewTool } from "./tools/builtin/skill_view.js";
|
|
21
|
-
import {
|
|
22
|
+
import { createSkillWriteTool } from "./tools/builtin/skill_write.js";
|
|
23
|
+
import { createTaskCreateTool, createTaskGetTool, createTaskListTool, createTaskUpdateTool, } from "./tools/builtin/tasks.js";
|
|
22
24
|
import { webFetchTool } from "./tools/builtin/web_fetch.js";
|
|
23
25
|
import { createWriteTool } from "./tools/builtin/write.js";
|
|
24
26
|
import { getFileStateTracker } from "./tools/file-state.js";
|
|
25
|
-
import { createSandboxFsHook } from "./tools/hooks/sandbox-fs.js";
|
|
26
27
|
import { ToolRegistry } from "./tools/registry.js";
|
|
27
28
|
import { logger } from "./platform/logger.js";
|
|
28
29
|
import { getMcpServersForQuery } from "./platform/mcp-config.js";
|
|
@@ -69,28 +70,34 @@ export async function* maestroProvider(opts) {
|
|
|
69
70
|
// level registry (see tools/file-state.ts) keeps the tracker alive across
|
|
70
71
|
// turns so a Read in turn N is still recorded when an Edit fires in N+1.
|
|
71
72
|
const fileTracker = getFileStateTracker(sessionId);
|
|
72
|
-
// Per-session
|
|
73
|
-
//
|
|
74
|
-
//
|
|
75
|
-
|
|
73
|
+
// Per-session task store backing the TaskCreate/Update/List/Get family.
|
|
74
|
+
// Same module-level cache pattern as the file-state tracker — the store
|
|
75
|
+
// hydrates from `~/.maestro/sessions/<sid>.tasks.json` on first access
|
|
76
|
+
// (auto-migrating from the legacy `.todos.json` when present) so a
|
|
77
|
+
// multi-turn plan survives across calls.
|
|
78
|
+
const taskStore = getTaskStore(sessionId);
|
|
76
79
|
const tools = new ToolRegistry();
|
|
77
|
-
// Filesystem sandbox runs as a PreToolUse hook so every tool with a
|
|
78
|
-
// `file_path` argument (Read/Write/Edit + future FS-touching MCP tools)
|
|
79
|
-
// shares one gate. Registered first so it fires before any caller-added
|
|
80
|
-
// hook in this turn.
|
|
81
|
-
tools.use(createSandboxFsHook());
|
|
82
80
|
tools.register(bashTool);
|
|
83
|
-
// Read/Write/Edit/WebFetch — claude SDK parity builtins. Same
|
|
84
|
-
// so the model's pretrained instinct calls them with the
|
|
85
|
-
// prompt cache keys line up across agents when a topic
|
|
86
|
-
// Read/Write/Edit
|
|
87
|
-
// Phase 2.1 migrates to a hook) and on the per-session file-state tracker
|
|
81
|
+
// Read/Write/Edit/WebFetch/Glob/Grep — claude SDK parity builtins. Same
|
|
82
|
+
// names + schemas so the model's pretrained instinct calls them with the
|
|
83
|
+
// right shape, and prompt cache keys line up across agents when a topic
|
|
84
|
+
// is bridged. Read/Write/Edit gate on the per-session file-state tracker
|
|
88
85
|
// so Edit can't mutate a path that hasn't been Read in this session.
|
|
86
|
+
// Glob walks the filesystem in-process (no deps), Grep shells out to
|
|
87
|
+
// ripgrep — both are read-only and parallelSafe.
|
|
89
88
|
tools.register(createReadTool({ tracker: fileTracker }));
|
|
90
89
|
tools.register(createWriteTool({ tracker: fileTracker }));
|
|
91
90
|
tools.register(createEditTool({ tracker: fileTracker }));
|
|
91
|
+
tools.register(globTool);
|
|
92
|
+
tools.register(grepTool);
|
|
92
93
|
tools.register(webFetchTool);
|
|
93
|
-
|
|
94
|
+
// Task family — granular CRUD replacing the v0.1.x TodoWrite. All four
|
|
95
|
+
// share the same per-session store; the system reminder renders the list
|
|
96
|
+
// every turn so the model rarely needs to call TaskList explicitly.
|
|
97
|
+
tools.register(createTaskCreateTool({ store: taskStore }));
|
|
98
|
+
tools.register(createTaskUpdateTool({ store: taskStore }));
|
|
99
|
+
tools.register(createTaskListTool({ store: taskStore }));
|
|
100
|
+
tools.register(createTaskGetTool({ store: taskStore }));
|
|
94
101
|
// --- Skills: load SKILL.md catalog + register `skill_view` ---------------
|
|
95
102
|
//
|
|
96
103
|
// Domain accuracy lever (Phase 2). The model gets:
|
|
@@ -100,21 +107,46 @@ export async function* maestroProvider(opts) {
|
|
|
100
107
|
// demand (progressive disclosure — saves the per-turn cost of inlining
|
|
101
108
|
// every skill body).
|
|
102
109
|
//
|
|
103
|
-
// Source
|
|
104
|
-
//
|
|
105
|
-
//
|
|
106
|
-
//
|
|
107
|
-
//
|
|
110
|
+
// Source-dir resolution is deterministic from `(opts.cwd, opts.skillKey)`:
|
|
111
|
+
// - `opts.skillKey` set → `<cwd>/.skills/<skillKey>/`
|
|
112
|
+
// - `opts.skillKey` unset → `<cwd>/.skills/default/`
|
|
113
|
+
//
|
|
114
|
+
// No env var, no explicit dir override — one workspace, one keyed
|
|
115
|
+
// profile, one catalog. Skills always live under a named key
|
|
116
|
+
// subdirectory; the root `.skills/` only ever holds key dirs. Skills
|
|
117
|
+
// live alongside the project the agent is working on; the SDK never
|
|
118
|
+
// writes into a global directory. Empty dir is the expected starting
|
|
119
|
+
// state — agents populate it autonomously (or a host seeds it from a
|
|
120
|
+
// template). Multiple disjoint skill sets in one cwd are partitioned
|
|
121
|
+
// by `skillKey` subdirectories.
|
|
122
|
+
//
|
|
123
|
+
// After loading we apply `opts.allowedSkills` (if provided) as a name
|
|
124
|
+
// whitelist BEFORE curation, so curator + index-builder + skill_view all
|
|
125
|
+
// see the same filtered set. Unknown names are silently ignored — a host
|
|
126
|
+
// can pass a superset of names that may or may not exist in the catalog.
|
|
108
127
|
//
|
|
109
128
|
// Failures (rootDir missing, unreadable, every file malformed) reduce to an
|
|
110
129
|
// empty catalog — the loop still runs with just bash + MCP tools.
|
|
111
|
-
const skillsDir =
|
|
130
|
+
const skillsDir = resolveSkillsDir(opts);
|
|
131
|
+
// skill_write: agent-autonomous skill authoring. Registered up front
|
|
132
|
+
// (independent of catalog state) so the agent can author the first skill
|
|
133
|
+
// into an empty `.skills/<key>/` directory — without this the cold-start
|
|
134
|
+
// "no skills yet, but the agent wants to bootstrap one" path would have
|
|
135
|
+
// no entry point. Writes land at `<skillsDir>/<name>/skill.md` so the
|
|
136
|
+
// resolved (cwd, skillKey) routing automatically scopes new skills to
|
|
137
|
+
// the current profile. Cache invalidation inside the tool means the
|
|
138
|
+
// next provider call picks up the write.
|
|
139
|
+
tools.register(createSkillWriteTool({ skillsDir }));
|
|
112
140
|
let skillsBlock = "";
|
|
113
141
|
// Hoisted to outer scope so the Agent tool (registered below, after
|
|
114
142
|
// model/effort resolve) can pass the same skill catalog to sub-agents.
|
|
115
143
|
let loadedSkills = [];
|
|
116
144
|
try {
|
|
117
|
-
const
|
|
145
|
+
const allSkills = loadSkillsCached(skillsDir);
|
|
146
|
+
// Apply per-call allowlist BEFORE the curator/index so every downstream
|
|
147
|
+
// consumer sees the same filtered set. Empty array would mean "no skills
|
|
148
|
+
// allowed" — we treat undefined as "all allowed" to keep backward compat.
|
|
149
|
+
const skills = applySkillAllowlist(allSkills, opts.allowedSkills);
|
|
118
150
|
loadedSkills = skills;
|
|
119
151
|
if (skills.length > 0) {
|
|
120
152
|
// Curator filters the catalog: archived skills (agent-created, never
|
|
@@ -131,8 +163,10 @@ export async function* maestroProvider(opts) {
|
|
|
131
163
|
agent: "maestro",
|
|
132
164
|
skillsDir,
|
|
133
165
|
skillCount: skills.length,
|
|
166
|
+
totalCount: allSkills.length,
|
|
134
167
|
visibleCount: visibleSkills.length,
|
|
135
168
|
archivedCount: skills.length - visibleSkills.length,
|
|
169
|
+
filtered: opts.allowedSkills !== undefined,
|
|
136
170
|
}, "maestroProvider: skill catalog loaded (curated)");
|
|
137
171
|
}
|
|
138
172
|
}
|
|
@@ -219,8 +253,8 @@ export async function* maestroProvider(opts) {
|
|
|
219
253
|
// reminder once canonical re-renders), nuking cache hits.
|
|
220
254
|
// 2. Compactor preserves the most-recent user message; the reminder
|
|
221
255
|
// rides along automatically. Historical turns keep the reminder
|
|
222
|
-
// that was true at THAT turn
|
|
223
|
-
//
|
|
256
|
+
// that was true at THAT turn — drift across env-var changes is
|
|
257
|
+
// feature, not bug.
|
|
224
258
|
// Claude Code places `<system-reminder>` at the tail of user content; we
|
|
225
259
|
// match that order so the model's pretrained intuition treats the
|
|
226
260
|
// reminder as meta annotation, not as user intent.
|
|
@@ -231,7 +265,7 @@ export async function* maestroProvider(opts) {
|
|
|
231
265
|
// in the same order, only the counts change.
|
|
232
266
|
const buildIterReminder = (iterationsRemaining) => buildSystemReminder({
|
|
233
267
|
sessionId,
|
|
234
|
-
|
|
268
|
+
tasks: taskStore.list(),
|
|
235
269
|
extras: [iterationBudgetLine(iterationsRemaining, maxIter)],
|
|
236
270
|
});
|
|
237
271
|
const reminderText = buildIterReminder(maxIter);
|
|
@@ -351,7 +385,17 @@ export async function* maestroProvider(opts) {
|
|
|
351
385
|
try {
|
|
352
386
|
const safePrefix = drained ? messages : trimToSafePrefix(messages);
|
|
353
387
|
if (safePrefix.length > 0) {
|
|
354
|
-
|
|
388
|
+
// Stamp the rollout `_meta` header (v0.1.5+) with the current cwd,
|
|
389
|
+
// userId, and any host-supplied `sessionMetadata`. The session-store
|
|
390
|
+
// preserves `createdAt` from any prior write so subsequent saves
|
|
391
|
+
// don't reset the "first write" timestamp.
|
|
392
|
+
saveMaestroSession(sessionId, safePrefix, {
|
|
393
|
+
cwd: opts.cwd,
|
|
394
|
+
skillsDir,
|
|
395
|
+
...(opts.skillKey !== undefined ? { skillKey: opts.skillKey } : {}),
|
|
396
|
+
...(opts.userId !== undefined ? { userId: opts.userId } : {}),
|
|
397
|
+
...(opts.sessionMetadata !== undefined ? { metadata: opts.sessionMetadata } : {}),
|
|
398
|
+
});
|
|
355
399
|
if (!drained && safePrefix.length < messages.length) {
|
|
356
400
|
logger.info({
|
|
357
401
|
sessionId,
|
|
@@ -411,6 +455,69 @@ export function iterationBudgetLine(remaining, max) {
|
|
|
411
455
|
}
|
|
412
456
|
return `Tool iterations remaining: ${remaining}/${max} — ${tone}`;
|
|
413
457
|
}
|
|
458
|
+
/**
|
|
459
|
+
* Skill profile name used when `AgentQueryOptions.skillKey` is omitted.
|
|
460
|
+
*
|
|
461
|
+
* Every skill the SDK loads lives under `<cwd>/.skills/<key>/` — there is
|
|
462
|
+
* no "uncategorized" slot directly beneath `.skills/`. When the caller
|
|
463
|
+
* doesn't specify a key, the SDK routes to this default subdirectory so
|
|
464
|
+
* the on-disk layout stays uniformly `key → catalog`. Hosts that want
|
|
465
|
+
* a different default name can pass `skillKey: "their-name"` explicitly
|
|
466
|
+
* on every call; the constant is exported so they can reference it
|
|
467
|
+
* symbolically rather than hard-coding the string.
|
|
468
|
+
*/
|
|
469
|
+
export const MAESTRO_DEFAULT_SKILL_KEY = "default";
|
|
470
|
+
/**
|
|
471
|
+
* Resolve the directory the skill catalog should be loaded from for this
|
|
472
|
+
* call. Deterministic from `(opts.cwd, opts.skillKey)`:
|
|
473
|
+
*
|
|
474
|
+
* - `opts.skillKey` set → `<cwd>/.skills/<skillKey>/`
|
|
475
|
+
* - `opts.skillKey` unset → `<cwd>/.skills/default/`
|
|
476
|
+
*
|
|
477
|
+
* Every loaded skill lives under a named key — the SDK never reads from
|
|
478
|
+
* `<cwd>/.skills/` directly. This keeps the layout uniform so a caller
|
|
479
|
+
* scanning the filesystem can answer "which profiles exist in this
|
|
480
|
+
* workspace?" with one `readdir`.
|
|
481
|
+
*
|
|
482
|
+
* The per-cwd `.skills/` convention treats every session's working
|
|
483
|
+
* directory as its own skill scope — agents create, edit, and consume
|
|
484
|
+
* SKILL.md files inside the workspace they're operating on, with no
|
|
485
|
+
* global side effects on `~/.maestro/skills/` or on a peer SDK like
|
|
486
|
+
* Claude Code's `~/.claude/skills/`. The result is project-local
|
|
487
|
+
* autonomy: a `.skills/` dir checks into source control with the project,
|
|
488
|
+
* ships with the repo, and sub-agents inherit the parent's catalog
|
|
489
|
+
* because they share the cwd.
|
|
490
|
+
*
|
|
491
|
+
* `skillKey` partitions the per-cwd catalog: one workspace can host
|
|
492
|
+
* multiple disjoint skill sets (e.g. "legal" topic vs "coding" topic
|
|
493
|
+
* sharing the same `cwd`), and each session selects its profile via the
|
|
494
|
+
* key. The keyed dir IS the loader's root, so any skill the agent writes
|
|
495
|
+
* during the session naturally lands in the same profile.
|
|
496
|
+
*
|
|
497
|
+
* Hosts can pre-create a keyed dir as a symlink to share skills across
|
|
498
|
+
* profiles. The SDK itself takes no opinion on cross-profile sharing.
|
|
499
|
+
*
|
|
500
|
+
* Exported so hosts can recompute the same value (e.g. for a pre-warm
|
|
501
|
+
* step that calls `loadSkillsCached` ahead of a provider invocation).
|
|
502
|
+
*/
|
|
503
|
+
export function resolveSkillsDir(opts) {
|
|
504
|
+
return join(opts.cwd, ".skills", opts.skillKey ?? MAESTRO_DEFAULT_SKILL_KEY);
|
|
505
|
+
}
|
|
506
|
+
/**
|
|
507
|
+
* Filter a loaded SkillEntry catalog by an optional `allowedSkills` whitelist.
|
|
508
|
+
* `undefined` returns the input unchanged (default "all allowed" behavior for
|
|
509
|
+
* pre-v0.1.5 hosts); an empty array intentionally returns nothing (the host
|
|
510
|
+
* explicitly opted into "no skills"). Unknown names are silently ignored — a
|
|
511
|
+
* host can pass a superset of names that may or may not exist.
|
|
512
|
+
*
|
|
513
|
+
* Generic over the SkillEntry shape so sub-agents and tests can reuse it
|
|
514
|
+
* with their own narrowed types without `as SkillEntry` casts.
|
|
515
|
+
*/
|
|
516
|
+
export function applySkillAllowlist(skills, allowedSkills) {
|
|
517
|
+
if (allowedSkills === undefined)
|
|
518
|
+
return skills;
|
|
519
|
+
return skills.filter((s) => allowedSkills.includes(s.name));
|
|
520
|
+
}
|
|
414
521
|
/**
|
|
415
522
|
* Pick the right provider adapter for a resolved model id. DeepSeek's V4
|
|
416
523
|
* family uses `deepseek-*` ids; everything else (Anthropic claude-* + future
|
package/dist/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAsCxD,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAsCxD,eAAO,MAAM,eAAe,EAAE,aAkF7B,CAAC"}
|
package/dist/registry.js
CHANGED
|
@@ -48,11 +48,16 @@ export const maestroRegistry = {
|
|
|
48
48
|
// `reuseSessionId` (if any) keeps the same file path across set_agent
|
|
49
49
|
// round-trips so prompt-cache continuity and the "one continuous
|
|
50
50
|
// conversation" UX work the same way they do for claude/codex.
|
|
51
|
+
// `userId` / `metadata` (when supplied) ride into the rollout's `_meta`
|
|
52
|
+
// header so a later sweep can attribute the JSONL without re-reading the
|
|
53
|
+
// conversation log it was synthesized from.
|
|
51
54
|
writeRollout(opts) {
|
|
52
55
|
const { sessionId, rolloutPath } = writeMaestroRollout({
|
|
53
56
|
cwd: opts.cwd,
|
|
54
57
|
entries: opts.entries,
|
|
55
58
|
...(opts.reuseSessionId ? { sessionId: opts.reuseSessionId } : {}),
|
|
59
|
+
...(opts.userId !== undefined ? { userId: opts.userId } : {}),
|
|
60
|
+
...(opts.metadata !== undefined ? { metadata: opts.metadata } : {}),
|
|
56
61
|
});
|
|
57
62
|
return { sessionId, rolloutPath };
|
|
58
63
|
},
|
|
@@ -62,9 +67,19 @@ export const maestroRegistry = {
|
|
|
62
67
|
// tool_result into assistant text as `[Tool: ...]` annotations, so
|
|
63
68
|
// structural tool history is lost. Acceptable trade-off — the fork starts
|
|
64
69
|
// with text-level context and the model still sees what ran.
|
|
70
|
+
// The fork rollout's `_meta` header records the parent's `userId`,
|
|
71
|
+
// `topicName`, and `groupId` for later indexing.
|
|
65
72
|
async forkSession({ cwd, userId, topicName, groupId }) {
|
|
66
73
|
const entries = readConversation(userId, topicName, groupId);
|
|
67
|
-
const { sessionId, rolloutPath } = writeMaestroRollout({
|
|
74
|
+
const { sessionId, rolloutPath } = writeMaestroRollout({
|
|
75
|
+
cwd,
|
|
76
|
+
entries,
|
|
77
|
+
userId: String(userId),
|
|
78
|
+
metadata: {
|
|
79
|
+
topicName,
|
|
80
|
+
...(groupId !== undefined ? { groupId } : {}),
|
|
81
|
+
},
|
|
82
|
+
});
|
|
68
83
|
return { forkId: sessionId, rolloutPath };
|
|
69
84
|
},
|
|
70
85
|
// Per-session unlink — no globbing needed since paths are flat under
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAoB,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAElE;;;;;;;;;;;;;;GAcG;AAEH,MAAM,SAAS,GAA2B;IACxC,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,uBAAuB;IACjC,gBAAgB,EAAE,uBAAuB;IACzC,cAAc,EAAE,qBAAqB;CACtC,CAAC;AAEF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AACtD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;AACzD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAc,qBAAqB,CAAC,CAAC;AAElE,MAAM,CAAC,MAAM,eAAe,GAAkB;IAC5C,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,QAAQ;IACtB,aAAa,EAAE,QAAQ;IAEvB,gBAAgB,CAAC,CAAC;QAChB,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,CAAC;QACb,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,YAAY,EAAE,qBAAqB;IACnC,cAAc,CAAC,CAAC;QACd,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW,CAAC,KAAK,EAAE,MAAM;QACvB,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACjD,CAAC;IAED,sEAAsE;IACtE,iEAAiE;IACjE,+DAA+D;IAC/D,YAAY,CAAC,IAAI;QACf,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,mBAAmB,CAAC;YACrD,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/session-store.d.ts
CHANGED
|
@@ -15,6 +15,17 @@
|
|
|
15
15
|
* `[Tool: ...]` text annotations (those only happen on cross-agent rollouts,
|
|
16
16
|
* which by definition came from another provider's log).
|
|
17
17
|
*
|
|
18
|
+
* File layout (since v0.1.5):
|
|
19
|
+
* line 1 — `{"_meta": {...}}` header (cwd, userId, createdAt, sdkVersion,
|
|
20
|
+
* and any host-supplied `metadata`). Optional — files written by
|
|
21
|
+
* older SDK versions skip this line, and the loader treats them
|
|
22
|
+
* as meta-less without error.
|
|
23
|
+
* line 2…N — ProviderMessage per line (one user/assistant turn each).
|
|
24
|
+
*
|
|
25
|
+
* The meta header lets a future per-cwd indexer / forensic sweep recover
|
|
26
|
+
* locality without changing the on-disk directory structure (flat
|
|
27
|
+
* `<sessionId>.jsonl` stays). Hosts that don't care can ignore it.
|
|
28
|
+
*
|
|
18
29
|
* Two writer paths share the same file format:
|
|
19
30
|
* - `saveMaestroSession` — verbatim dump from the live loop.
|
|
20
31
|
* - `writeMaestroRollout` — synthesized from a provider-agnostic
|
|
@@ -30,7 +41,7 @@ import type { ConversationEntry } from "./storage/conversations.js";
|
|
|
30
41
|
* Resolves under `DATA_DIR` (which the host can pin via the
|
|
31
42
|
* `MAESTRO_DATA_DIR` env var — see `platform/config`). One canonical knob
|
|
32
43
|
* for "where SDK state lives" keeps the sessions, skill-usage counters,
|
|
33
|
-
* and
|
|
44
|
+
* and task stores all under the same root.
|
|
34
45
|
*
|
|
35
46
|
* Re-reads `DATA_DIR` on every call so a host that sets the env var late
|
|
36
47
|
* (before the first session save) still gets the override. The penalty
|
|
@@ -39,19 +50,89 @@ import type { ConversationEntry } from "./storage/conversations.js";
|
|
|
39
50
|
export declare function maestroSessionsDir(): string;
|
|
40
51
|
/** Absolute path of the JSONL backing a given sessionId. */
|
|
41
52
|
export declare function maestroSessionPath(sessionId: string): string;
|
|
53
|
+
/**
|
|
54
|
+
* Metadata stamped on the first line of every v0.1.5+ rollout JSONL.
|
|
55
|
+
*
|
|
56
|
+
* Captured at write time so a future indexer / forensic sweep can recover
|
|
57
|
+
* locality (which project, which user, when, which SDK version) without
|
|
58
|
+
* relying on the directory structure. Hosts pass an opaque
|
|
59
|
+
* `metadata: Record<string, unknown>` (e.g. `topicId`, `groupId`) which the
|
|
60
|
+
* SDK preserves verbatim — the SDK itself never reads it back.
|
|
61
|
+
*
|
|
62
|
+
* Format is stable across patch versions of v0.1.x; if a future major adds
|
|
63
|
+
* required fields, bump `version` and gate the loader behind it.
|
|
64
|
+
*/
|
|
65
|
+
export interface MaestroSessionMeta {
|
|
66
|
+
/** Schema version of the meta header itself (NOT the SDK version). */
|
|
67
|
+
version: 1;
|
|
68
|
+
/** Working directory the host associated with this session. */
|
|
69
|
+
cwd: string;
|
|
70
|
+
/** Optional host-supplied user identifier (string or numeric — see `AgentQueryOptions.userId`). */
|
|
71
|
+
userId?: string;
|
|
72
|
+
/** ISO-8601 timestamp captured at first write. Preserved across overwrites
|
|
73
|
+
* by the writer when a previous meta is read off disk. */
|
|
74
|
+
createdAt: string;
|
|
75
|
+
/** `MAESTRO_SDK_VERSION` at write time. Useful for cross-version debugging. */
|
|
76
|
+
sdkVersion: string;
|
|
77
|
+
/** Resolved skills directory the live loop loaded from (per-call override,
|
|
78
|
+
* env var, keyed profile, or `<cwd>/.skills` default). Recorded so a
|
|
79
|
+
* later forensic sweep can answer "which catalog did this session see?"
|
|
80
|
+
* without reconstructing the precedence chain. Updated on every save. */
|
|
81
|
+
skillsDir?: string;
|
|
82
|
+
/** Named skill profile the session was created with (corresponds to
|
|
83
|
+
* `AgentQueryOptions.skillKey`). Distinct from `skillsDir` because the
|
|
84
|
+
* resolved path can change across calls (env var flip, explicit
|
|
85
|
+
* override) while the conceptual profile identity stays constant. */
|
|
86
|
+
skillKey?: string;
|
|
87
|
+
/** Opaque host-controlled bag (topicId, groupId, anything). Passed through
|
|
88
|
+
* verbatim. The SDK only writes / reads it as a JSON value. */
|
|
89
|
+
metadata?: Record<string, unknown>;
|
|
90
|
+
}
|
|
42
91
|
/**
|
|
43
92
|
* Load the persisted ProviderMessage[] for a sessionId, or `null` if no
|
|
44
93
|
* file exists (i.e. this is a fresh session). Malformed lines are skipped
|
|
45
94
|
* with a warning rather than crashing the loop — a corrupt entry in the
|
|
46
95
|
* middle of history is better than losing a working session entirely.
|
|
96
|
+
*
|
|
97
|
+
* Backward-compat: files written by SDK <= 0.1.4 had no `_meta` header — the
|
|
98
|
+
* loader treats their first line as a regular message. Files written by v0.1.5+
|
|
99
|
+
* carry the meta header on line 1; we skip it here so callers only see real
|
|
100
|
+
* messages. Use `loadMaestroSessionMeta` for the meta payload.
|
|
47
101
|
*/
|
|
48
102
|
export declare function loadMaestroSession(sessionId: string): ProviderMessage[] | null;
|
|
103
|
+
/**
|
|
104
|
+
* Read just the `_meta` header for a sessionId, or `null` if the file is
|
|
105
|
+
* missing or has no meta header (pre-0.1.5 file). Useful for host-side
|
|
106
|
+
* indexers that want to attribute a session to its cwd / userId without
|
|
107
|
+
* loading the full message history.
|
|
108
|
+
*/
|
|
109
|
+
export declare function loadMaestroSessionMeta(sessionId: string): MaestroSessionMeta | null;
|
|
110
|
+
/**
|
|
111
|
+
* Inputs the writer accepts to build a `MaestroSessionMeta`. `createdAt` and
|
|
112
|
+
* `sdkVersion` are auto-populated when omitted. `version` is implicit — the
|
|
113
|
+
* writer always stamps `1` so callers can't accidentally claim a future
|
|
114
|
+
* schema number.
|
|
115
|
+
*/
|
|
116
|
+
export interface SaveSessionMetaInput {
|
|
117
|
+
cwd?: string;
|
|
118
|
+
userId?: string;
|
|
119
|
+
createdAt?: string;
|
|
120
|
+
skillsDir?: string;
|
|
121
|
+
skillKey?: string;
|
|
122
|
+
metadata?: Record<string, unknown>;
|
|
123
|
+
}
|
|
49
124
|
/**
|
|
50
125
|
* Overwrite (or create) the persisted session file with the provided
|
|
51
126
|
* messages. Each turn's final state is written atomically — partial-history
|
|
52
127
|
* writes can leave the next resume looking at a stale prefix.
|
|
128
|
+
*
|
|
129
|
+
* The optional `meta` input is merged with any existing on-disk meta header
|
|
130
|
+
* (preserving `createdAt`) and re-stamped on every save. Omitting `meta`
|
|
131
|
+
* still preserves a previously-written meta header — the SDK will re-read
|
|
132
|
+
* and re-write it transparently so a host that doesn't supply meta doesn't
|
|
133
|
+
* lose the one a previous turn wrote.
|
|
53
134
|
*/
|
|
54
|
-
export declare function saveMaestroSession(sessionId: string, messages: ProviderMessage[]): void;
|
|
135
|
+
export declare function saveMaestroSession(sessionId: string, messages: ProviderMessage[], meta?: SaveSessionMetaInput): void;
|
|
55
136
|
/**
|
|
56
137
|
* Remove a session's backing file and drop its in-memory file-state tracker.
|
|
57
138
|
* ENOENT on the unlink is silently ignored. Tracker drop is unconditional —
|
|
@@ -59,8 +140,9 @@ export declare function saveMaestroSession(sessionId: string, messages: Provider
|
|
|
59
140
|
*/
|
|
60
141
|
export declare function deleteMaestroSession(sessionId: string): void;
|
|
61
142
|
export interface MaestroRolloutOptions {
|
|
62
|
-
/** Working directory the resumed Maestro session will report.
|
|
63
|
-
*
|
|
143
|
+
/** Working directory the resumed Maestro session will report. The SDK
|
|
144
|
+
* `mkdir -p`s this path so subsequent loop operations can rely on it,
|
|
145
|
+
* and stamps it into the rollout's `_meta` header for later indexing. */
|
|
64
146
|
cwd: string;
|
|
65
147
|
/** Optional override; default = freshly generated UUIDv4. */
|
|
66
148
|
sessionId?: string;
|
|
@@ -68,6 +150,10 @@ export interface MaestroRolloutOptions {
|
|
|
68
150
|
pairs?: ChatPair[];
|
|
69
151
|
/** When `pairs` is omitted, the source UnifiedEvent log to digest. */
|
|
70
152
|
entries?: ConversationEntry[];
|
|
153
|
+
/** Optional host-side identifiers to fold into the rollout `_meta` header.
|
|
154
|
+
* Passed verbatim — the SDK does not interpret `metadata`'s shape. */
|
|
155
|
+
userId?: string;
|
|
156
|
+
metadata?: Record<string, unknown>;
|
|
71
157
|
}
|
|
72
158
|
export interface MaestroRolloutResult {
|
|
73
159
|
sessionId: string;
|
|
@@ -81,6 +167,11 @@ export interface MaestroRolloutResult {
|
|
|
81
167
|
*
|
|
82
168
|
* Used by `set_agent` cross-agent bridging (X → maestro) and by
|
|
83
169
|
* `maestroRegistry.forkSession`.
|
|
170
|
+
*
|
|
171
|
+
* Always writes a `_meta` header (v0.1.5+) — the rollout is the first line
|
|
172
|
+
* to disk for the new session, so there's nothing to preserve from a prior
|
|
173
|
+
* write. The meta carries `cwd`, optional `userId`/`metadata`, and the SDK
|
|
174
|
+
* version stamp.
|
|
84
175
|
*/
|
|
85
176
|
export declare function writeMaestroRollout(opts: MaestroRolloutOptions): MaestroRolloutResult;
|
|
86
177
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"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"}
|