maestro-agent-sdk 0.1.34 → 0.1.36
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 +28 -0
- package/dist/core/loop.d.ts.map +1 -1
- package/dist/core/loop.js +34 -23
- package/dist/core/loop.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/memory/aux-model-map.d.ts.map +1 -1
- package/dist/memory/aux-model-map.js +2 -1
- package/dist/memory/aux-model-map.js.map +1 -1
- package/dist/memory/compressor.d.ts +61 -1
- package/dist/memory/compressor.d.ts.map +1 -1
- package/dist/memory/compressor.js +101 -37
- package/dist/memory/compressor.js.map +1 -1
- package/dist/memory/manual-compaction.d.ts +28 -0
- package/dist/memory/manual-compaction.d.ts.map +1 -0
- package/dist/memory/manual-compaction.js +53 -0
- package/dist/memory/manual-compaction.js.map +1 -0
- package/dist/memory/prune.d.ts +11 -10
- package/dist/memory/prune.d.ts.map +1 -1
- package/dist/memory/prune.js +48 -27
- package/dist/memory/prune.js.map +1 -1
- package/dist/memory/state.d.ts.map +1 -1
- package/dist/memory/state.js +1 -1
- package/dist/memory/state.js.map +1 -1
- package/dist/platform/version.d.ts +1 -1
- package/dist/platform/version.js +1 -1
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +8 -6
- package/dist/provider.js.map +1 -1
- package/dist/providers/codex-translators.d.ts.map +1 -1
- package/dist/providers/codex-translators.js.map +1 -1
- package/dist/session-store.js +1 -1
- package/dist/session-store.js.map +1 -1
- package/dist/sub-agent/capabilities.d.ts +34 -0
- package/dist/sub-agent/capabilities.d.ts.map +1 -0
- package/dist/sub-agent/capabilities.js +24 -0
- package/dist/sub-agent/capabilities.js.map +1 -0
- package/dist/sub-agent/runner.d.ts +34 -5
- package/dist/sub-agent/runner.d.ts.map +1 -1
- package/dist/sub-agent/runner.js +57 -19
- package/dist/sub-agent/runner.js.map +1 -1
- package/dist/tools/builtin/agent.d.ts +5 -6
- package/dist/tools/builtin/agent.d.ts.map +1 -1
- package/dist/tools/builtin/agent.js +12 -5
- package/dist/tools/builtin/agent.js.map +1 -1
- package/dist/tools/builtin/ask_user_question.js.map +1 -1
- package/dist/tools/index.d.ts +2 -2
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/registry.d.ts +53 -4
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +98 -22
- package/dist/tools/registry.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/sub-agent/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/sub-agent/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,14 +14,13 @@ export type { ToolHandler };
|
|
|
14
14
|
* - `explore` — read-only (Read + Glob + Grep + WebFetch). Use for
|
|
15
15
|
* finding / surveying / reporting tasks where you don't want the
|
|
16
16
|
* sub-agent mutating files by accident.
|
|
17
|
-
* - `plan` — architect mode (
|
|
17
|
+
* - `plan` — architect mode (Read + Glob + Grep + WebFetch). No bash, no write/edit.
|
|
18
18
|
* Use BEFORE implementing: produces a structured plan document
|
|
19
|
-
* (goal / affected files / step-by-step / trade-offs / risks).
|
|
19
|
+
* (goal / affected files / step-by-step / trade-offs / risks).
|
|
20
20
|
*
|
|
21
|
-
* `parallelSafe
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* shared file-state tracker registry.
|
|
21
|
+
* `parallelSafe` — input-dependent: `explore` and `plan` are read-only and run
|
|
22
|
+
* concurrently when the model calls multiple in one turn. `general` is serial
|
|
23
|
+
* (may write/edit files, filesystem race risk).
|
|
25
24
|
*
|
|
26
25
|
* Schema parity (v0.1.9):
|
|
27
26
|
* - `description` is accepted (3-5 word label). Surfaces to logs / UI;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/tools/builtin/agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/tools/builtin/agent.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,kBAAkB,EAAe,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,MAAM,WAAW,uBAAuB;IACtC;;qDAEiD;IACjD,MAAM,EAAE,IAAI,CACV,kBAAkB,EAChB,iBAAiB,GACjB,oBAAoB,GACpB,aAAa,GACb,cAAc,GACd,mBAAmB,GACnB,YAAY,CACf,CAAC;CACH;AAQD,wBAAgB,eAAe,CAAC,IAAI,EAAE,uBAAuB,GAAG,WAAW,CA2F1E"}
|
|
@@ -1,16 +1,23 @@
|
|
|
1
|
+
// SUBAGENT_CAPABILITIES comes from its own module (not runner.ts) because it
|
|
2
|
+
// is read at module-eval time — importing it through runner.ts would hit the
|
|
3
|
+
// provider → agent → runner → provider cycle before runner finishes evaluating.
|
|
4
|
+
import { SUBAGENT_CAPABILITIES } from "../../sub-agent/capabilities.js";
|
|
1
5
|
import { runSubAgent } from "../../sub-agent/runner.js";
|
|
2
|
-
|
|
6
|
+
// Both derived from SUBAGENT_CAPABILITIES — the runner's capability table is
|
|
7
|
+
// the single source of truth for which kinds exist and which are
|
|
8
|
+
// parallel-safe (read-only, no extra/MCP tools).
|
|
9
|
+
const ALL_SUBAGENT_TYPES = Object.keys(SUBAGENT_CAPABILITIES);
|
|
3
10
|
const VALID_TYPES = new Set(ALL_SUBAGENT_TYPES);
|
|
4
11
|
export function createAgentTool(opts) {
|
|
5
12
|
return {
|
|
6
|
-
parallelSafe: false,
|
|
13
|
+
parallelSafe: (input) => SUBAGENT_CAPABILITIES[input.subagent_type]?.parallelSafe ?? false,
|
|
7
14
|
schema: {
|
|
8
15
|
name: "Agent",
|
|
9
16
|
description: "Spawn a focused sub-agent to do ONE delegated task and return its final text. " +
|
|
10
17
|
"The sub-agent has its own context — your tool calls, files-Read state, and todo list " +
|
|
11
18
|
"are NOT shared with it. Use `general` for self-contained work that may need bash/Write/Edit, " +
|
|
12
19
|
"and `explore` for read-only surveys (Read/Glob/Grep/WebFetch only), " +
|
|
13
|
-
"and `plan` for pre-implementation architecture planning (
|
|
20
|
+
"and `plan` for pre-implementation architecture planning (Read/Glob/Grep/WebFetch — no bash, no write/edit). " +
|
|
14
21
|
"The sub-agent cannot spawn its own sub-agents (no recursion). Pass a self-contained " +
|
|
15
22
|
"prompt — the sub-agent sees ONLY that prompt and the inherited system context.",
|
|
16
23
|
input_schema: {
|
|
@@ -25,8 +32,8 @@ export function createAgentTool(opts) {
|
|
|
25
32
|
subagent_type: {
|
|
26
33
|
type: "string",
|
|
27
34
|
description: "Sub-agent role. 'general' = full builtin toolkit (bash/Read/Write/Edit/Glob/Grep/WebFetch). " +
|
|
28
|
-
"'explore' = read-only (Read/Glob/Grep/WebFetch — no bash, no write, no edit). " +
|
|
29
|
-
"'plan' = architect mode (
|
|
35
|
+
"'explore' = read-only (Read/Glob/Grep/WebFetch — no bash, no write, no edit); parallel-safe — multiple explore calls in one turn run concurrently. " +
|
|
36
|
+
"'plan' = architect mode (Read/Glob/Grep/WebFetch — no bash, no write, no edit); outputs a structured plan document; parallel-safe — multiple plan calls in one turn run concurrently.",
|
|
30
37
|
},
|
|
31
38
|
prompt: {
|
|
32
39
|
type: "string",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/tools/builtin/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,WAAW,
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/tools/builtin/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask_user_question.js","sourceRoot":"","sources":["../../../src/tools/builtin/ask_user_question.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAaH,MAAM,CAAC,MAAM,mBAAmB,GAAgB;IAC9C,YAAY,EAAE,KAAK,EAAE,uCAAuC;IAC5D,MAAM,EAAE;QACN,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,4EAA4E;YAC5E,kFAAkF;YAClF,yFAAyF;YACzF,sFAAsF;YACtF,yDAAyD;QAC3D,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,mGAAmG;iBACtG;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,WAAW,EACT,mFAAmF;wBACnF,oDAAoD;oBACtD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,wDAAwD;6BACtE;4BACD,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,WAAW,
|
|
1
|
+
{"version":3,"file":"ask_user_question.js","sourceRoot":"","sources":["../../../src/tools/builtin/ask_user_question.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAaH,MAAM,CAAC,MAAM,mBAAmB,GAAgB;IAC9C,YAAY,EAAE,KAAK,EAAE,uCAAuC;IAC5D,MAAM,EAAE;QACN,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,4EAA4E;YAC5E,kFAAkF;YAClF,yFAAyF;YACzF,sFAAsF;YACtF,yDAAyD;QAC3D,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,mGAAmG;iBACtG;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,WAAW,EACT,mFAAmF;wBACnF,oDAAoD;oBACtD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,wDAAwD;6BACtE;4BACD,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,yEAAyE;6BAC5E;yBACF;wBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;qBACpB;iBACF;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,qEAAqE;iBACnF;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD,KAAK,CAAC,OAAO,CAAC,KAAK;QACjB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAwC,CAAC;QACpF,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,KAAK,EAAE,IAAI;YACX,QAAQ;YACR,OAAO,EAAE,OAAO,IAAI,IAAI;YACxB,WAAW,EAAE,WAAW,IAAI,KAAK;SAClC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -25,10 +25,10 @@ export { createEditTool, editTool } from "../tools/builtin/edit.js";
|
|
|
25
25
|
export { compileGlob, globTool } from "../tools/builtin/glob.js";
|
|
26
26
|
export { grepTool } from "../tools/builtin/grep.js";
|
|
27
27
|
export { createReadTool, readTool } from "../tools/builtin/read.js";
|
|
28
|
-
export { createTaskCreateTool, createTaskGetTool, createTaskListTool,
|
|
28
|
+
export { createTaskCreateTool, createTaskGetTool, createTaskListTool, createTaskOutputTool, createTaskStopTool, createTaskUpdateTool, } from "../tools/builtin/tasks.js";
|
|
29
29
|
export { htmlToMarkdown, htmlToText, webFetchTool, } from "../tools/builtin/web_fetch.js";
|
|
30
30
|
export { createWriteTool, writeTool } from "../tools/builtin/write.js";
|
|
31
31
|
export { dropFileStateTracker, type FileStateEntry, FileStateTracker, getFileStateTracker, } from "../tools/file-state.js";
|
|
32
32
|
export { checkBlockedPath } from "../tools/path-guard.js";
|
|
33
|
-
export { type HookRegistration, type PostToolUseContext, type PostToolUseHook, type PostToolUseResult, type PreToolUseContext, type PreToolUseDecision, type PreToolUseHook, type ToolHandler, ToolRegistry, } from "../tools/registry.js";
|
|
33
|
+
export { type HookRegistration, type PostToolUseContext, type PostToolUseHook, type PostToolUseResult, type PreparedToolDispatch, type PreToolUseContext, type PreToolUseDecision, type PreToolUseHook, type ToolHandler, ToolRegistry, } from "../tools/registry.js";
|
|
34
34
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EACL,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EACL,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,UAAU,EACV,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,YAAY,GACb,MAAM,kBAAkB,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -26,7 +26,7 @@ export { createEditTool, editTool } from "../tools/builtin/edit.js";
|
|
|
26
26
|
export { compileGlob, globTool } from "../tools/builtin/glob.js";
|
|
27
27
|
export { grepTool } from "../tools/builtin/grep.js";
|
|
28
28
|
export { createReadTool, readTool } from "../tools/builtin/read.js";
|
|
29
|
-
export { createTaskCreateTool, createTaskGetTool, createTaskListTool,
|
|
29
|
+
export { createTaskCreateTool, createTaskGetTool, createTaskListTool, createTaskOutputTool, createTaskStopTool, createTaskUpdateTool, } from "../tools/builtin/tasks.js";
|
|
30
30
|
export { htmlToMarkdown, htmlToText, webFetchTool, } from "../tools/builtin/web_fetch.js";
|
|
31
31
|
export { createWriteTool, writeTool } from "../tools/builtin/write.js";
|
|
32
32
|
// ─── File-state tracker (Read-before-Edit invariant) ───────────────────────
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,8EAA8E;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAEL,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,8EAA8E;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAEL,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,UAAU,EACV,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACnE,8EAA8E;AAC9E,OAAO,EACL,oBAAoB,EAEpB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,8EAA8E;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,8EAA8E;AAC9E,OAAO,EAUL,YAAY,GACb,MAAM,kBAAkB,CAAC"}
|
package/dist/tools/registry.d.ts
CHANGED
|
@@ -83,10 +83,32 @@ export interface ToolHandler {
|
|
|
83
83
|
* blocks in one assistant response; running independent reads in parallel
|
|
84
84
|
* cuts latency dramatically. Default false (safer). Mark true on tools
|
|
85
85
|
* with no observable side effects (pure reads, idempotent fetches).
|
|
86
|
+
*
|
|
87
|
+
* Function form: called with the actual tool input so a tool can decide
|
|
88
|
+
* per-call (e.g. Agent: explore/plan → parallel-safe, general → serial).
|
|
89
|
+
*
|
|
90
|
+
* v0.1.36 breaking-ish change: this was `boolean` before the function form
|
|
91
|
+
* existed. Never truthiness-check this field directly — a function is
|
|
92
|
+
* always truthy even when it would return false for every input. Ask
|
|
93
|
+
* `ToolRegistry.isParallelSafe(name, input)` instead; it handles both
|
|
94
|
+
* forms and fails safe (serial) when the function throws.
|
|
86
95
|
*/
|
|
87
|
-
parallelSafe?: boolean;
|
|
96
|
+
parallelSafe?: boolean | ((input: Record<string, unknown>) => boolean);
|
|
88
97
|
execute(input: Record<string, unknown>): Promise<ToolExecuteResult>;
|
|
89
98
|
}
|
|
99
|
+
export type PreparedToolDispatch = {
|
|
100
|
+
state: "done";
|
|
101
|
+
toolName: string;
|
|
102
|
+
input: Record<string, unknown>;
|
|
103
|
+
parallelSafe: false;
|
|
104
|
+
result: ToolExecuteResult;
|
|
105
|
+
} | {
|
|
106
|
+
state: "ready";
|
|
107
|
+
toolName: string;
|
|
108
|
+
input: Record<string, unknown>;
|
|
109
|
+
parallelSafe: boolean;
|
|
110
|
+
handler: ToolHandler;
|
|
111
|
+
};
|
|
90
112
|
/**
|
|
91
113
|
* v0.1.22+: per-registration options. Currently the only knob is `deferred`
|
|
92
114
|
* but the shape is open so future extensions (per-tool max-iter cost,
|
|
@@ -226,16 +248,43 @@ export declare class ToolRegistry {
|
|
|
226
248
|
* binary content needs policy review.
|
|
227
249
|
*/
|
|
228
250
|
dispatch(name: string, input: Record<string, unknown>): Promise<ToolExecuteResult>;
|
|
251
|
+
/**
|
|
252
|
+
* Apply PreToolUse hooks and compute the parallel-safety decision from the
|
|
253
|
+
* effective input the tool will actually see. Used by the agent loop so
|
|
254
|
+
* input-mutating hooks cannot make a write-capable call run in parallel.
|
|
255
|
+
*/
|
|
256
|
+
prepareDispatch(name: string, input: Record<string, unknown>): Promise<PreparedToolDispatch>;
|
|
257
|
+
/**
|
|
258
|
+
* Execute a prepared dispatch. The prepared value must come from this
|
|
259
|
+
* registry; it carries the handler selected before scheduling so Pre hooks
|
|
260
|
+
* are not re-run after the loop has made its serial/parallel decision.
|
|
261
|
+
*/
|
|
262
|
+
dispatchPrepared(prepared: PreparedToolDispatch): Promise<ToolExecuteResult>;
|
|
263
|
+
private prepareDispatchInternal;
|
|
229
264
|
/**
|
|
230
265
|
* True when `name` is registered AND its handler is flagged parallelSafe.
|
|
231
266
|
* Unknown tools and unflagged tools default to false — the loop falls
|
|
232
267
|
* through to sequential dispatch, which is the safe default for any tool
|
|
233
268
|
* with side effects (write/edit/bash/most MCP).
|
|
269
|
+
*
|
|
270
|
+
* When `parallelSafe` is a function, it is called with the tool's actual
|
|
271
|
+
* input so per-call decisions are possible (e.g. Agent tool: explore/plan
|
|
272
|
+
* → parallel-safe, general → serial).
|
|
273
|
+
*/
|
|
274
|
+
isParallelSafe(name: string, input?: Record<string, unknown>): boolean;
|
|
275
|
+
/**
|
|
276
|
+
* True when a tool is definitely serial before PreToolUse hooks run.
|
|
277
|
+
*
|
|
278
|
+
* Function-valued `parallelSafe` depends on the post-hook effective input,
|
|
279
|
+
* so evaluating it here would either duplicate side effects or classify
|
|
280
|
+
* against the wrong input. Treat those dynamic tools as prepare-safe; the
|
|
281
|
+
* actual scheduling decision still happens exactly once in prepareDispatch.
|
|
234
282
|
*/
|
|
235
|
-
|
|
283
|
+
requiresSequentialPreparation(name: string): boolean;
|
|
284
|
+
private handlerParallelSafe;
|
|
236
285
|
/**
|
|
237
|
-
* Return every registered handler. Useful for forwarding a selected
|
|
238
|
-
*
|
|
286
|
+
* Return every registered handler. Useful for forwarding a selected subset
|
|
287
|
+
* of the parent registry (e.g. MCP tools) to a `general` sub-agent via
|
|
239
288
|
* `RunSubAgentOptions.extraTools`.
|
|
240
289
|
*
|
|
241
290
|
* Ordering matches insertion order. Deferred / active state is NOT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/registry.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { logger } from "../platform/logger.js";
|
|
1
2
|
export class ToolRegistry {
|
|
2
3
|
tools = new Map();
|
|
3
4
|
hooks = [];
|
|
@@ -162,25 +163,30 @@ export class ToolRegistry {
|
|
|
162
163
|
* binary content needs policy review.
|
|
163
164
|
*/
|
|
164
165
|
async dispatch(name, input) {
|
|
165
|
-
const
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
166
|
+
const prepared = await this.prepareDispatchInternal(name, input, false);
|
|
167
|
+
return this.dispatchPrepared(prepared);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Apply PreToolUse hooks and compute the parallel-safety decision from the
|
|
171
|
+
* effective input the tool will actually see. Used by the agent loop so
|
|
172
|
+
* input-mutating hooks cannot make a write-capable call run in parallel.
|
|
173
|
+
*/
|
|
174
|
+
async prepareDispatch(name, input) {
|
|
175
|
+
return this.prepareDispatchInternal(name, input, true);
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Execute a prepared dispatch. The prepared value must come from this
|
|
179
|
+
* registry; it carries the handler selected before scheduling so Pre hooks
|
|
180
|
+
* are not re-run after the loop has made its serial/parallel decision.
|
|
181
|
+
*/
|
|
182
|
+
async dispatchPrepared(prepared) {
|
|
183
|
+
if (prepared.state === "done") {
|
|
184
|
+
return prepared.result;
|
|
180
185
|
}
|
|
186
|
+
const { handler, input, toolName } = prepared;
|
|
181
187
|
let output;
|
|
182
188
|
try {
|
|
183
|
-
output = await handler.execute(
|
|
189
|
+
output = await handler.execute(input);
|
|
184
190
|
}
|
|
185
191
|
catch (e) {
|
|
186
192
|
const msg = e instanceof Error ? e.message : String(e);
|
|
@@ -197,8 +203,8 @@ export class ToolRegistry {
|
|
|
197
203
|
// payloads pass through untouched — see ToolExecuteResult JSDoc.
|
|
198
204
|
const previewIn = typeof output === "string" ? output : previewOfBlocks(output);
|
|
199
205
|
const result = await hook.post({
|
|
200
|
-
toolName
|
|
201
|
-
input
|
|
206
|
+
toolName,
|
|
207
|
+
input,
|
|
202
208
|
output: previewIn,
|
|
203
209
|
});
|
|
204
210
|
if (typeof result.output === "string" && typeof output === "string") {
|
|
@@ -215,18 +221,88 @@ export class ToolRegistry {
|
|
|
215
221
|
}
|
|
216
222
|
return output;
|
|
217
223
|
}
|
|
224
|
+
async prepareDispatchInternal(name, input, evaluateParallelSafe) {
|
|
225
|
+
const handler = this.tools.get(name);
|
|
226
|
+
if (!handler) {
|
|
227
|
+
return {
|
|
228
|
+
state: "done",
|
|
229
|
+
toolName: name,
|
|
230
|
+
input,
|
|
231
|
+
parallelSafe: false,
|
|
232
|
+
result: JSON.stringify({ error: `unknown tool: ${name}` }),
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
let currentInput = input;
|
|
236
|
+
for (const hook of this.hooks) {
|
|
237
|
+
if (!hook.pre)
|
|
238
|
+
continue;
|
|
239
|
+
const decision = await hook.pre({ toolName: name, input: currentInput });
|
|
240
|
+
if (decision.decision === "block") {
|
|
241
|
+
return {
|
|
242
|
+
state: "done",
|
|
243
|
+
toolName: name,
|
|
244
|
+
input: currentInput,
|
|
245
|
+
parallelSafe: false,
|
|
246
|
+
result: JSON.stringify({ error: decision.error }),
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
if (decision.decision === "modify") {
|
|
250
|
+
currentInput = decision.input;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
return {
|
|
254
|
+
state: "ready",
|
|
255
|
+
toolName: name,
|
|
256
|
+
input: currentInput,
|
|
257
|
+
parallelSafe: evaluateParallelSafe
|
|
258
|
+
? this.handlerParallelSafe(handler, name, currentInput)
|
|
259
|
+
: false,
|
|
260
|
+
handler,
|
|
261
|
+
};
|
|
262
|
+
}
|
|
218
263
|
/**
|
|
219
264
|
* True when `name` is registered AND its handler is flagged parallelSafe.
|
|
220
265
|
* Unknown tools and unflagged tools default to false — the loop falls
|
|
221
266
|
* through to sequential dispatch, which is the safe default for any tool
|
|
222
267
|
* with side effects (write/edit/bash/most MCP).
|
|
268
|
+
*
|
|
269
|
+
* When `parallelSafe` is a function, it is called with the tool's actual
|
|
270
|
+
* input so per-call decisions are possible (e.g. Agent tool: explore/plan
|
|
271
|
+
* → parallel-safe, general → serial).
|
|
272
|
+
*/
|
|
273
|
+
isParallelSafe(name, input = {}) {
|
|
274
|
+
return this.handlerParallelSafe(this.tools.get(name), name, input);
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* True when a tool is definitely serial before PreToolUse hooks run.
|
|
278
|
+
*
|
|
279
|
+
* Function-valued `parallelSafe` depends on the post-hook effective input,
|
|
280
|
+
* so evaluating it here would either duplicate side effects or classify
|
|
281
|
+
* against the wrong input. Treat those dynamic tools as prepare-safe; the
|
|
282
|
+
* actual scheduling decision still happens exactly once in prepareDispatch.
|
|
223
283
|
*/
|
|
224
|
-
|
|
225
|
-
|
|
284
|
+
requiresSequentialPreparation(name) {
|
|
285
|
+
const ps = this.tools.get(name)?.parallelSafe;
|
|
286
|
+
return ps !== true && typeof ps !== "function";
|
|
287
|
+
}
|
|
288
|
+
handlerParallelSafe(handler, name, input) {
|
|
289
|
+
const ps = handler?.parallelSafe;
|
|
290
|
+
if (typeof ps === "function") {
|
|
291
|
+
try {
|
|
292
|
+
return ps(input);
|
|
293
|
+
}
|
|
294
|
+
catch (e) {
|
|
295
|
+
// Serial dispatch is the fail-safe default, but a throwing
|
|
296
|
+
// parallelSafe is a bug in the handler — surface it.
|
|
297
|
+
logger.warn({ err: e, tool: name }, "parallelSafe() threw; falling back to serial");
|
|
298
|
+
return false;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
return ps === true;
|
|
226
302
|
}
|
|
227
303
|
/**
|
|
228
|
-
* Return every registered handler. Useful for forwarding a selected
|
|
229
|
-
*
|
|
304
|
+
* Return every registered handler. Useful for forwarding a selected subset
|
|
305
|
+
* of the parent registry (e.g. MCP tools) to a `general` sub-agent via
|
|
230
306
|
* `RunSubAgentOptions.extraTools`.
|
|
231
307
|
*
|
|
232
308
|
* Ordering matches insertion order. Deferred / active state is NOT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -159,7 +159,7 @@ export interface AgentHooks {
|
|
|
159
159
|
}) => void | Promise<void>;
|
|
160
160
|
}
|
|
161
161
|
/**
|
|
162
|
-
* Options accepted by `maestroProvider
|
|
162
|
+
* Options accepted by `maestroProvider(...)` — the host-facing entry point.
|
|
163
163
|
*
|
|
164
164
|
* Most fields are optional; only `prompt`, `cwd`, `systemPrompt` are strictly
|
|
165
165
|
* required to drive the loop. The rest let the host plug in session
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "maestro-agent-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.36",
|
|
4
4
|
"description": "Embeddable, provider-agnostic TypeScript agent SDK — pluggable providers, built-in tools, skills, memory, and MCP.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Yeonwoo Jeong <aadd4020@gmail.com>",
|