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.
Files changed (102) hide show
  1. package/README.md +216 -20
  2. package/dist/agents/contracts.d.ts +10 -0
  3. package/dist/agents/contracts.d.ts.map +1 -1
  4. package/dist/agents/rollout/shared.d.ts +4 -4
  5. package/dist/agents/rollout/shared.js +4 -4
  6. package/dist/core/loop.d.ts.map +1 -1
  7. package/dist/core/loop.js +9 -8
  8. package/dist/core/loop.js.map +1 -1
  9. package/dist/index.d.ts +8 -7
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +8 -7
  12. package/dist/index.js.map +1 -1
  13. package/dist/memory/compressor.d.ts +8 -5
  14. package/dist/memory/compressor.d.ts.map +1 -1
  15. package/dist/memory/compressor.js +10 -4
  16. package/dist/memory/compressor.js.map +1 -1
  17. package/dist/memory/reminder.d.ts +11 -12
  18. package/dist/memory/reminder.d.ts.map +1 -1
  19. package/dist/memory/reminder.js +22 -32
  20. package/dist/memory/reminder.js.map +1 -1
  21. package/dist/platform/config.d.ts +0 -2
  22. package/dist/platform/config.d.ts.map +1 -1
  23. package/dist/platform/config.js +9 -18
  24. package/dist/platform/config.js.map +1 -1
  25. package/dist/platform/version.d.ts +13 -0
  26. package/dist/platform/version.d.ts.map +1 -0
  27. package/dist/platform/version.js +13 -0
  28. package/dist/platform/version.js.map +1 -0
  29. package/dist/provider.d.ts +62 -0
  30. package/dist/provider.d.ts.map +1 -1
  31. package/dist/provider.js +137 -30
  32. package/dist/provider.js.map +1 -1
  33. package/dist/registry.d.ts.map +1 -1
  34. package/dist/registry.js +16 -1
  35. package/dist/registry.js.map +1 -1
  36. package/dist/session-store.d.ts +95 -4
  37. package/dist/session-store.d.ts.map +1 -1
  38. package/dist/session-store.js +144 -13
  39. package/dist/session-store.js.map +1 -1
  40. package/dist/skills/curator.d.ts +8 -6
  41. package/dist/skills/curator.d.ts.map +1 -1
  42. package/dist/skills/curator.js +13 -7
  43. package/dist/skills/curator.js.map +1 -1
  44. package/dist/skills/loader.d.ts +45 -20
  45. package/dist/skills/loader.d.ts.map +1 -1
  46. package/dist/skills/loader.js +56 -11
  47. package/dist/skills/loader.js.map +1 -1
  48. package/dist/state/tasks.d.ts +107 -0
  49. package/dist/state/tasks.d.ts.map +1 -0
  50. package/dist/state/tasks.js +398 -0
  51. package/dist/state/tasks.js.map +1 -0
  52. package/dist/sub-agent/runner.d.ts +1 -1
  53. package/dist/sub-agent/runner.d.ts.map +1 -1
  54. package/dist/sub-agent/runner.js +3 -5
  55. package/dist/sub-agent/runner.js.map +1 -1
  56. package/dist/tools/builtin/edit.d.ts.map +1 -1
  57. package/dist/tools/builtin/edit.js +0 -4
  58. package/dist/tools/builtin/edit.js.map +1 -1
  59. package/dist/tools/builtin/glob.d.ts +17 -0
  60. package/dist/tools/builtin/glob.d.ts.map +1 -0
  61. package/dist/tools/builtin/glob.js +235 -0
  62. package/dist/tools/builtin/glob.js.map +1 -0
  63. package/dist/tools/builtin/grep.d.ts +3 -0
  64. package/dist/tools/builtin/grep.d.ts.map +1 -0
  65. package/dist/tools/builtin/grep.js +272 -0
  66. package/dist/tools/builtin/grep.js.map +1 -0
  67. package/dist/tools/builtin/read.d.ts.map +1 -1
  68. package/dist/tools/builtin/read.js +0 -4
  69. package/dist/tools/builtin/read.js.map +1 -1
  70. package/dist/tools/builtin/skill_write.d.ts +53 -0
  71. package/dist/tools/builtin/skill_write.d.ts.map +1 -0
  72. package/dist/tools/builtin/skill_write.js +264 -0
  73. package/dist/tools/builtin/skill_write.js.map +1 -0
  74. package/dist/tools/builtin/tasks.d.ts +34 -0
  75. package/dist/tools/builtin/tasks.d.ts.map +1 -0
  76. package/dist/tools/builtin/tasks.js +258 -0
  77. package/dist/tools/builtin/tasks.js.map +1 -0
  78. package/dist/tools/builtin/write.d.ts +4 -10
  79. package/dist/tools/builtin/write.d.ts.map +1 -1
  80. package/dist/tools/builtin/write.js.map +1 -1
  81. package/dist/tools/file-state.d.ts +1 -1
  82. package/dist/tools/file-state.js +1 -1
  83. package/dist/tools/registry.d.ts +1 -1
  84. package/dist/types.d.ts +64 -0
  85. package/dist/types.d.ts.map +1 -1
  86. package/package.json +1 -1
  87. package/dist/state/todos.d.ts +0 -95
  88. package/dist/state/todos.d.ts.map +0 -1
  89. package/dist/state/todos.js +0 -198
  90. package/dist/state/todos.js.map +0 -1
  91. package/dist/tools/builtin/sandbox.d.ts +0 -16
  92. package/dist/tools/builtin/sandbox.d.ts.map +0 -1
  93. package/dist/tools/builtin/sandbox.js +0 -59
  94. package/dist/tools/builtin/sandbox.js.map +0 -1
  95. package/dist/tools/builtin/todo_write.d.ts +0 -29
  96. package/dist/tools/builtin/todo_write.d.ts.map +0 -1
  97. package/dist/tools/builtin/todo_write.js +0 -96
  98. package/dist/tools/builtin/todo_write.js.map +0 -1
  99. package/dist/tools/hooks/sandbox-fs.d.ts +0 -25
  100. package/dist/tools/hooks/sandbox-fs.d.ts.map +0 -1
  101. package/dist/tools/hooks/sandbox-fs.js +0 -48
  102. 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 { getTodoStore } from "./state/todos.js";
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 { createTodoWriteTool } from "./tools/builtin/todo_write.js";
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 TodoWrite store. Same module-level cache pattern — the
73
- // store hydrates from `~/.maestro/sessions/<sid>.todos.json` on first
74
- // access so a multi-turn plan survives across calls.
75
- const todoStore = getTodoStore(sessionId);
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 name + schema
84
- // so the model's pretrained instinct calls them with the right shape, and
85
- // prompt cache keys line up across agents when a topic is bridged.
86
- // Read/Write/Edit also gate on the workspace sandbox (inline today; future
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
- tools.register(createTodoWriteTool({ store: todoStore }));
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 dir is picked from `MAESTRO_SKILL_DIR` first so hosts can point at
104
- // their own catalog without code change; the default lives under
105
- // `<DATA_DIR>/skills`, i.e. `~/.maestro/skills` unless `MAESTRO_DATA_DIR`
106
- // overrides. SDK ships with no bundled SKILL.md files — an empty catalog
107
- // is the expected state until a host populates one.
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 = process.env.MAESTRO_SKILL_DIR ?? join(DATA_DIR, "skills");
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 skills = loadSkillsCached(skillsDir);
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 (sandbox could have flipped since)
223
- // drift across env-var changes is feature, not bug.
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
- todos: todoStore.list(),
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
- saveMaestroSession(sessionId, safePrefix);
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
@@ -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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"}
@@ -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,aAmE7B,CAAC"}
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({ cwd, entries });
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
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
@@ -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 todo stores all under the same root.
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. Validated
63
- * against the workspace roots so callers can't smuggle arbitrary cwds. */
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;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAMH,OAAO,EAEL,KAAK,QAAQ,EAGd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAwB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAK9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,IAAI,CAa9E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,CAGvF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAe5D;AAqBD,MAAM,WAAW,qBAAqB;IACpC;+EAC2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,sEAAsE;IACtE,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,GAAG,oBAAoB,CAarF;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAS5E;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,eAAe,EAAE,CAgC/E;AAED;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,QAA2B,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,GAAE,MAAuC,GAAG;IAC9F,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAgDA"}
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"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"}