@introspection-ai/recipes 0.27.4 → 0.29.0

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 (119) hide show
  1. package/dist/agents.d.ts +34 -0
  2. package/dist/agents.d.ts.map +1 -1
  3. package/dist/agents.js +87 -0
  4. package/dist/agents.js.map +1 -1
  5. package/dist/child/agent.d.ts +5 -0
  6. package/dist/child/agent.d.ts.map +1 -1
  7. package/dist/child/agent.js +19 -8
  8. package/dist/child/agent.js.map +1 -1
  9. package/dist/child/session.d.ts +31 -4
  10. package/dist/child/session.d.ts.map +1 -1
  11. package/dist/child/session.js +65 -3
  12. package/dist/child/session.js.map +1 -1
  13. package/dist/mcp-chunks/{auth-command-GQFV6QYP.js → auth-command-SDTBVC2R.js} +22 -21
  14. package/dist/mcp-chunks/call-arguments-ER7NWEPS.js +16 -0
  15. package/dist/mcp-chunks/{call-command-LMAREWKD.js → call-command-WOZT2DLX.js} +33 -32
  16. package/dist/mcp-chunks/{chunk-5B7GRMUK.js → chunk-27XDYSXJ.js} +1 -1
  17. package/dist/mcp-chunks/{chunk-FONFU4G5.js → chunk-2IO3FXZJ.js} +1 -1
  18. package/dist/mcp-chunks/{chunk-O4JIUOWF.js → chunk-35JUFDQI.js} +2 -2
  19. package/dist/mcp-chunks/{chunk-UYJZJXC2.js → chunk-43QNQO5C.js} +3 -3
  20. package/dist/mcp-chunks/{chunk-LIEFPSSB.js → chunk-4IXQQER3.js} +5 -5
  21. package/dist/mcp-chunks/{chunk-O2VOMKAS.js → chunk-6XBQDCGX.js} +10 -10
  22. package/dist/mcp-chunks/{chunk-S2YF442K.js → chunk-7CI6DKEP.js} +2 -2
  23. package/dist/mcp-chunks/{chunk-H7ARMBV7.js → chunk-7OQUF6V6.js} +26 -10
  24. package/dist/mcp-chunks/{chunk-S6GJ42I2.js → chunk-7X3JHUMH.js} +1 -1
  25. package/dist/mcp-chunks/{chunk-D6B2M5V7.js → chunk-7ZZZ7MR2.js} +1 -1
  26. package/dist/mcp-chunks/{chunk-WHJUDBPR.js → chunk-AHDUZPNI.js} +2 -1
  27. package/dist/mcp-chunks/{chunk-QALB3DRW.js → chunk-ALLS7CUV.js} +1 -1
  28. package/dist/mcp-chunks/{chunk-6RG6AD5X.js → chunk-ASFI5AJK.js} +17 -11
  29. package/dist/mcp-chunks/{chunk-LQIE4PKL.js → chunk-CMDB57MS.js} +2 -2
  30. package/dist/mcp-chunks/{chunk-HZ2SX5U6.js → chunk-CO4CYU5W.js} +11 -11
  31. package/dist/mcp-chunks/{chunk-TUQGOYK6.js → chunk-CRX2G22W.js} +1 -1
  32. package/dist/mcp-chunks/{chunk-UKM35J67.js → chunk-DUJ5WAHC.js} +2 -2
  33. package/dist/mcp-chunks/{chunk-RIHPVCGI.js → chunk-EIF7GALA.js} +1 -1
  34. package/dist/mcp-chunks/{chunk-QJNF3A3F.js → chunk-EIXFNLU6.js} +1 -1
  35. package/dist/mcp-chunks/{chunk-77BZYP72.js → chunk-FMYP6JXX.js} +1 -1
  36. package/dist/mcp-chunks/{chunk-LXHPDKEF.js → chunk-FQAJT6U2.js} +1 -1
  37. package/dist/mcp-chunks/{chunk-7WL4TMON.js → chunk-FUKRLUU7.js} +4 -4
  38. package/dist/mcp-chunks/{chunk-L6OOGZVA.js → chunk-FVZKQMZS.js} +21 -7
  39. package/dist/mcp-chunks/{chunk-RZIJUJGL.js → chunk-FWWPRZ37.js} +31 -40
  40. package/dist/mcp-chunks/{chunk-KQCLM7R7.js → chunk-GJ7DWMRT.js} +1 -1
  41. package/dist/mcp-chunks/{chunk-LCBDVFVA.js → chunk-HM26TIPK.js} +1 -1
  42. package/dist/mcp-chunks/{chunk-JVYCENPP.js → chunk-IJTZ2ZRM.js} +4 -4
  43. package/dist/mcp-chunks/{chunk-S5F3HEZZ.js → chunk-IR5SMKTP.js} +425 -445
  44. package/dist/mcp-chunks/{chunk-7PFJCLXL.js → chunk-IWXEOLJL.js} +20 -16
  45. package/dist/mcp-chunks/{chunk-D6SVCPN6.js → chunk-JQCSGX6E.js} +1 -1
  46. package/dist/mcp-chunks/{chunk-P463YBJM.js → chunk-JRU5LZJQ.js} +1 -1
  47. package/dist/mcp-chunks/{chunk-XNHGMWN2.js → chunk-M7VINGHY.js} +9 -7
  48. package/dist/mcp-chunks/{chunk-IF6LRV3J.js → chunk-OURSGEZX.js} +8 -8
  49. package/dist/mcp-chunks/{chunk-H4KL74PV.js → chunk-P3S4OJPI.js} +9 -9
  50. package/dist/mcp-chunks/{chunk-P3UVILEW.js → chunk-POYT6GCW.js} +29 -5
  51. package/dist/mcp-chunks/{chunk-5BMCVE2J.js → chunk-R636HUNL.js} +17 -13
  52. package/dist/mcp-chunks/{chunk-TYYSBILI.js → chunk-SONMFI3S.js} +70 -28
  53. package/dist/mcp-chunks/{chunk-I6UMKX5E.js → chunk-SVCKS5MW.js} +4 -4
  54. package/dist/mcp-chunks/{chunk-NQW3ES2G.js → chunk-TDBM2UIR.js} +1 -1
  55. package/dist/mcp-chunks/{chunk-VJIAHZZG.js → chunk-TKZA4MPW.js} +4 -4
  56. package/dist/mcp-chunks/{chunk-2P2HVZ3G.js → chunk-UHXTAPEC.js} +1 -1
  57. package/dist/mcp-chunks/{chunk-CLR6DJV3.js → chunk-UXI26V4F.js} +1 -1
  58. package/dist/mcp-chunks/{chunk-UIPG6W7N.js → chunk-UYG7PAN2.js} +2 -2
  59. package/dist/mcp-chunks/{chunk-2HOMVWSA.js → chunk-VCPUZFU7.js} +2 -2
  60. package/dist/mcp-chunks/{chunk-FBVRU4Y3.js → chunk-VRTH73R5.js} +40 -33
  61. package/dist/mcp-chunks/{chunk-KOWNVUL2.js → chunk-VWNF5PIF.js} +2 -2
  62. package/dist/mcp-chunks/{chunk-MJFZM5EV.js → chunk-WQBESOWG.js} +22 -5
  63. package/dist/mcp-chunks/chunk-XDARNDP3.js +25 -0
  64. package/dist/mcp-chunks/{chunk-OSYB5GNF.js → chunk-XUJQ6U6M.js} +3 -3
  65. package/dist/mcp-chunks/{chunk-PJCMJ65D.js → chunk-YGRORKGT.js} +226 -101
  66. package/dist/mcp-chunks/{chunk-C2VLY7ED.js → chunk-YM7ZVYI2.js} +4 -4
  67. package/dist/mcp-chunks/{chunk-6QZQZXDJ.js → chunk-YTO7DITJ.js} +3 -3
  68. package/dist/mcp-chunks/{chunk-UHO6KIUJ.js → chunk-ZLV5S5UP.js} +2 -2
  69. package/dist/mcp-chunks/{cli-JI7MEAAX.js → cli-67GWFF4R.js} +69 -68
  70. package/dist/mcp-chunks/client-MQMNAYYW.js +31 -0
  71. package/dist/mcp-chunks/{config-command-GRZLKD3R.js → config-command-3IKIRWMW.js} +41 -27
  72. package/dist/mcp-chunks/daemon-command-OMOZ5MP7.js +31 -0
  73. package/dist/mcp-chunks/{dist-USMCQ22V.js → dist-YL3LFKVP.js} +219 -202
  74. package/dist/mcp-chunks/{emit-ts-command-7VLESP7H.js → emit-ts-command-YWKROLL2.js} +84 -70
  75. package/dist/mcp-chunks/{generate-cli-runner-SSW2B72K.js → generate-cli-runner-CZEVY2Y7.js} +51 -48
  76. package/dist/mcp-chunks/generated-daemon-runtime-SRFULTIT.js +31 -0
  77. package/dist/mcp-chunks/{inspect-cli-command-NCGCMOIS.js → inspect-cli-command-5Y2LORK5.js} +9 -9
  78. package/dist/mcp-chunks/{launch-NBONSPNK.js → launch-43TA3HYF.js} +1 -1
  79. package/dist/mcp-chunks/{lifecycle-CXAKUCN4.js → lifecycle-BY2ILXTB.js} +1 -1
  80. package/dist/mcp-chunks/{list-command-5T4UF4PF.js → list-command-7RU7NNAV.js} +56 -43
  81. package/dist/mcp-chunks/{output-utils-YFTWQZ5V.js → output-utils-2R3SA6KR.js} +3 -3
  82. package/dist/mcp-chunks/{prompt-CH6TK0bC-6DI4RA4E.js → prompt-CH6TK0bC-GKQOEUY4.js} +1 -1
  83. package/dist/mcp-chunks/{record-command-TE5O7WBL.js → record-command-ROIRRNFS.js} +5 -5
  84. package/dist/mcp-chunks/{replay-command-QCUL5ASR.js → replay-command-Y2MYVQTL.js} +6 -6
  85. package/dist/mcp-chunks/{resource-command-XMGF7EAK.js → resource-command-VUV7AYYQ.js} +9 -9
  86. package/dist/mcp-chunks/{result-utils-HKB42M7Y.js → result-utils-5U7NVXDZ.js} +3 -3
  87. package/dist/mcp-chunks/runtime-Q4SCCOQE.js +38 -0
  88. package/dist/mcp-chunks/{runtime-wrapper-MI3HF45J.js → runtime-wrapper-3BVFTSWJ.js} +3 -3
  89. package/dist/mcp-chunks/{serve-command-5HV3ZE25.js → serve-command-BXLQWHFW.js} +8969 -1147
  90. package/dist/mcp-chunks/{timeouts-YBFBTLV2.js → timeouts-6GL2F44N.js} +3 -3
  91. package/dist/mcp-chunks/{vault-command-FC2PD5U6.js → vault-command-JCMW3DQA.js} +4 -4
  92. package/dist/mcp-chunks/{webapi-IFUPO72B.js → webapi-UMWFGMQV.js} +46 -46
  93. package/dist/mcp-daemon.js +27 -26
  94. package/dist/mcp-run-worker.js +27 -26
  95. package/dist/pi-extension.d.ts.map +1 -1
  96. package/dist/pi-extension.js +22 -19
  97. package/dist/pi-extension.js.map +1 -1
  98. package/dist/recipe/model.d.ts.map +1 -1
  99. package/dist/recipe/model.js +25 -1
  100. package/dist/recipe/model.js.map +1 -1
  101. package/dist/run-controller.d.ts +10 -3
  102. package/dist/run-controller.d.ts.map +1 -1
  103. package/dist/run-controller.js +23 -11
  104. package/dist/run-controller.js.map +1 -1
  105. package/dist/session.d.ts +13 -0
  106. package/dist/session.d.ts.map +1 -1
  107. package/dist/session.js +15 -9
  108. package/dist/session.js.map +1 -1
  109. package/docs/agent-composition.md +27 -6
  110. package/docs/host-api.md +32 -4
  111. package/docs/mcp-configuration.md +12 -3
  112. package/docs/pi-extension.md +7 -4
  113. package/docs/recipe-format.md +14 -5
  114. package/package.json +11 -11
  115. package/dist/mcp-chunks/call-arguments-VT7JLNJY.js +0 -16
  116. package/dist/mcp-chunks/client-QU7ABSNB.js +0 -30
  117. package/dist/mcp-chunks/daemon-command-3266CYHO.js +0 -30
  118. package/dist/mcp-chunks/generated-daemon-runtime-7CFVWLC7.js +0 -30
  119. package/dist/mcp-chunks/runtime-3X2XVS6X.js +0 -37
package/dist/session.js CHANGED
@@ -3,7 +3,7 @@ import { rm } from "node:fs/promises";
3
3
  import { getModel } from "@earendil-works/pi-ai/compat";
4
4
  import { createBashToolDefinition, createAgentSessionFromServices, createAgentSessionServices, ModelRuntime, SessionManager, SettingsManager, } from "@earendil-works/pi-coding-agent";
5
5
  import { instrumentSession, } from "@introspection-sdk/introspection-pi";
6
- import { createAgentTool, } from "./agents.js";
6
+ import { createAgentTool, MAX_AGENT_RUN_DEPTH, } from "./agents.js";
7
7
  import { loadRecipeConnectors } from "./connector-tools.js";
8
8
  import { clearMcpCatalogPreload, preloadMcpCatalogs, } from "./mcp/catalog.js";
9
9
  import { createIsolatedMcpEnvironment, configureMcpLocalConfigPath, isolateMcpEnvironment, materializeMcpSession, materializeSessionMcpCli, readMcpSessionConfig, restoreMcpEnvironment, resolveAgentMcpSelections, snapshotMcpEnvironment, stopMcpDaemon, } from "./mcp/index.js";
@@ -272,6 +272,12 @@ async function createSessionForAgent(recipe, opts) {
272
272
  ...(opts.credentials ? { credentials: opts.credentials } : {}),
273
273
  });
274
274
  const modelRuntime = await ModelRuntime.create({ credentials, modelsPath: null });
275
+ // Subagents: the shared `agent` tool against an injected or in-process
276
+ // controller. `runController: null` disables delegation outright, and a
277
+ // session at the maximum run depth never delegates.
278
+ const wantsSubagents = recipe.subagents.size > 0 &&
279
+ opts.runController !== null &&
280
+ (opts.agentRun?.depth ?? 0) < MAX_AGENT_RUN_DEPTH;
275
281
  let model;
276
282
  let session;
277
283
  let agentRuns;
@@ -332,9 +338,7 @@ async function createSessionForAgent(recipe, opts) {
332
338
  "find",
333
339
  "ls",
334
340
  ...(opts.customTools ?? []).map((tool) => tool.name),
335
- ...(recipe.subagents.size > 0 && opts.runController !== null
336
- ? ["agent"]
337
- : []),
341
+ ...(wantsSubagents ? ["agent"] : []),
338
342
  ]) {
339
343
  recipeRegistrations.claim("tool", toolName, "<host>");
340
344
  }
@@ -352,7 +356,7 @@ async function createSessionForAgent(recipe, opts) {
352
356
  recipeRegistrations.claim("tool", toolName, "<host>");
353
357
  }
354
358
  for (const connector of connectors.extensions) {
355
- inlineExtensions.push(bindRecipeExtensionFactory(connector.factory, recipeExtensionContext, recipeRegistrations, connector.owner, recipeExtensionToolAllowlist(recipe.tools, recipe.subagents.size > 0 && opts.runController !== null, [
359
+ inlineExtensions.push(bindRecipeExtensionFactory(connector.factory, recipeExtensionContext, recipeRegistrations, connector.owner, recipeExtensionToolAllowlist(recipe.tools, wantsSubagents, [
356
360
  ...connectorLoadout.toolNames,
357
361
  ...(mcp.tools?.map((tool) => tool.name) ?? []),
358
362
  ...((connectorLoadout.deferredToolNames.length > 0 ||
@@ -365,7 +369,7 @@ async function createSessionForAgent(recipe, opts) {
365
369
  ])));
366
370
  }
367
371
  for (const extensionPath of recipe.extensionPaths) {
368
- inlineExtensions.push(bindRecipeExtensionFactory(await loadRecipeExtensionFactory(recipe.recipeDir, extensionPath), recipeExtensionContext, recipeRegistrations, extensionPath, recipeExtensionToolAllowlist(recipe.tools, recipe.subagents.size > 0 && opts.runController !== null, [
372
+ inlineExtensions.push(bindRecipeExtensionFactory(await loadRecipeExtensionFactory(recipe.recipeDir, extensionPath), recipeExtensionContext, recipeRegistrations, extensionPath, recipeExtensionToolAllowlist(recipe.tools, wantsSubagents, [
369
373
  ...(mcp.tools?.map((tool) => tool.name) ?? []),
370
374
  ...((connectorLoadout.deferredToolNames.length > 0 ||
371
375
  (mcp.deferredToolNames?.length ?? 0) > 0)
@@ -433,9 +437,6 @@ async function createSessionForAgent(recipe, opts) {
433
437
  }
434
438
  model = cloneModelForRecipe(selectedModel);
435
439
  applyRecipeAgentModelConfigToModel(model, recipe.modelConfig);
436
- // Subagents: the shared `agent` tool against an injected or in-process
437
- // controller. `runController: null` disables delegation outright.
438
- const wantsSubagents = recipe.subagents.size > 0 && opts.runController !== null;
439
440
  if (opts.runController) {
440
441
  agentRuns = opts.runController;
441
442
  }
@@ -448,6 +449,11 @@ async function createSessionForAgent(recipe, opts) {
448
449
  env,
449
450
  ...(opts.credentials ? { credentials: opts.credentials } : {}),
450
451
  concurrency: opts.inProcessRunController?.concurrency,
452
+ depth: (opts.agentRun?.depth ?? 0) + 1,
453
+ ...(opts.agentRun ? { parentAgentRunId: opts.agentRun.id } : {}),
454
+ ...(opts.sessionFactory
455
+ ? { sessionFactory: opts.sessionFactory }
456
+ : {}),
451
457
  ...(opts.onAgentRunEvent
452
458
  ? { onAgentRunEvent: opts.onAgentRunEvent }
453
459
  : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
@@ -195,9 +195,9 @@ the selected agent narrows model-visible capability:
195
195
  - Prompt templates declared by the package are recipe resources; they are not
196
196
  specialized through `from:`.
197
197
 
198
- The `agent` delegation tool is not authored in `tools`. The host adds it only
199
- to root sessions with visible subagents; delegated children remain one level
200
- deep.
198
+ The `agent` delegation tool is not authored in `tools`. The host adds it to
199
+ any session whose effective agent has visible subagents, down to the
200
+ delegation depth bound described below.
201
201
 
202
202
  Skill and subagent selection controls prompt exposure and active capability,
203
203
  not filesystem isolation. All agents run in the same Recipe package and current
@@ -216,9 +216,30 @@ A delegated subagent resolves its own complete effective definition:
216
216
  3. start from the same recipe `SYSTEM.md` as the root agent; and
217
217
  4. append or replace with its effective `system_instructions`.
218
218
 
219
- Delegation is one level deep. A definition may expose subagents when selected
220
- directly as a root agent, but the same definition does not receive the `agent`
221
- tool while running as a delegated child.
219
+ Delegation is two levels deep. The root session is depth 0, the agents it
220
+ delegates to are depth 1, and the agents they delegate to are depth 2. A
221
+ depth-1 child whose effective `subagents` list is non-empty receives its own
222
+ `agent` tool exposing only those agents; a depth-2 child never does, whatever
223
+ its definition declares. The bound also stops recursive references
224
+ (`a -> b -> a`): the second `a` would be depth 3, so `b` has no `agent` tool.
225
+
226
+ ```yaml
227
+ # agents/agent.yaml (root)
228
+ subagents: [background, explorer, dreamer]
229
+
230
+ # agents/background.yaml (depth 1: can fan out explorers)
231
+ subagents: [explorer]
232
+
233
+ # agents/explorer.yaml (depth 1 or 2: never delegates)
234
+ ```
235
+
236
+ A delegating child reports its result only once its own work has settled.
237
+ When its turn ends while runs it started are still working, the child waits
238
+ for them, then gets one more turn carrying the results it has not already
239
+ read through the `agent` tool, and repeats until nothing it started is
240
+ running. Its output is the final assistant message after that. Interrupting
241
+ or closing a child interrupts or closes every run it started, and children at
242
+ every depth auto-resolve interactions rather than asking the user.
222
243
 
223
244
  ## Recommended Structure
224
245
 
package/docs/host-api.md CHANGED
@@ -132,12 +132,40 @@ Recipe-specific memory behavior belongs in `SYSTEM.md` or agent
132
132
 
133
133
  The default in-process subagent controller uses that same Recipe snapshot for
134
134
  every child, so no session reparses the package or observes a different source
135
- snapshot. Injected controllers own child selection and execution after the root
136
- session is constructed.
135
+ snapshot. A child whose agent declares subagents gets its own in-process
136
+ controller, inheriting the cwd, environment, credentials, memory, OTel options
137
+ and concurrency, down to `MAX_AGENT_RUN_DEPTH` (2). Injected controllers own
138
+ child selection and execution after the root session is constructed, including
139
+ whether their children delegate in turn.
140
+
141
+ A host whose own controller constructs children lets them delegate by passing
142
+ the run each one serves, then settling the child's own runs before reading its
143
+ answer:
144
+
145
+ ```ts
146
+ import { createDelegatedRuns } from "@introspection-ai/recipes/agents";
147
+
148
+ const delegated = createDelegatedRuns();
149
+ const child = await createAgentSession({
150
+ recipe,
151
+ agentName: "background",
152
+ cwd,
153
+ agentRun: { id: runId, depth: 1 },
154
+ agentToolOptions: delegated.agentToolOptions,
155
+ });
156
+ // Prompts, waits for the runs the child started, and prompts it again with
157
+ // their results until nothing is outstanding.
158
+ await delegated.run(child, prompt, (input) => child.session.prompt(input));
159
+ ```
160
+
161
+ `delegated.interrupt(child)` ends the loop and interrupts the child's runs;
162
+ disposing the child shuts its controller down.
137
163
 
138
164
  `onEvent` observes the root Pi session. `onAgentRunEvent` observes each event
139
- from the default in-process children as an `AgentRunEvent` envelope containing
140
- the run id, parent id, agent identity, depth, and canonical Pi event. Hosts can
165
+ from the default in-process children, at every depth, as an `AgentRunEvent`
166
+ envelope containing the run id, parent id (`root` for the root's children, the
167
+ delegating run's id below that), agent identity, depth, and canonical Pi
168
+ event. Hosts can
141
169
  merge the two streams without copying root events. An injected `runController`
142
170
  owns its own observation contract and does not trigger this callback.
143
171
 
@@ -133,9 +133,18 @@ export CONTACTS_MCP_TOKEN='...'
133
133
  pi --recipe . --agent agent
134
134
  ```
135
135
 
136
- Do not commit or distribute `.pi/mcp.local.json`; Recipe validation rejects
137
- local configuration. Commit `.pi/mcp.local.example.json` when a binding template
138
- is helpful. A host binds its own endpoint and credential system to the same
136
+ Do not commit or distribute `.pi/mcp.local.json` when it holds a real
137
+ endpoint or credential; Recipe validation rejects local configuration. Commit
138
+ `.pi/mcp.local.example.json` when a binding template is helpful.
139
+
140
+ The one committed form validation accepts is an evaluation binding: every
141
+ server is `streamable_http` to a loopback URL (`http://localhost:<port>/...`,
142
+ `127.0.0.0/8` or `::1`) with no `auth` flow and no `command`. Such a file can
143
+ only stand a fake that runs beside the Recipe in for a declared server, so it
144
+ distributes nothing reachable elsewhere; a host that runs evaluations reads it
145
+ in place of its own bindings for the ids it names. An environment reference in
146
+ the URL is not expanded in a committed binding, so write the literal loopback
147
+ address. A host binds its own endpoint and credential system to the same
139
148
  shape. A binding overrides a package-manifest endpoint with the same id,
140
149
  but a server that the package or selected agent does not permit remains
141
150
  unavailable.
@@ -66,16 +66,19 @@ See [Recipe Format](recipe-format.md) for the authored contract and
66
66
  Pi's JSON mode emits root session events directly. Recipes appends one Pi
67
67
  custom entry for every canonical event emitted by a delegated child. Pi emits
68
68
  that entry as an `entry_appended` event; its `data` is an `agent_run_event`
69
- envelope carrying the child run id, root parent, agent identity, depth, and
70
- unchanged Pi session event. Custom entries are part of Pi's canonical session
69
+ envelope carrying the child run id, parent run id (`root`, or the delegating
70
+ child's run id for a depth-2 run), agent identity, depth, and unchanged Pi
71
+ session event. Custom entries are part of Pi's canonical session
71
72
  stream but do not participate in model context. Consumers can attribute cost,
72
73
  messages, and tool calls across the run tree without a second transcript store.
73
74
 
74
75
  ## Local capability bindings
75
76
 
76
77
  Recipe source may include `.pi/mcp.local.example.json`, but secrets belong in
77
- the environment or an ignored `.pi/mcp.local.json`. A host may synthesize the
78
- same bindings in memory.
78
+ the environment or an ignored `.pi/mcp.local.json`. A committed
79
+ `.pi/mcp.local.json` validates only as an evaluation binding, every server a
80
+ loopback streamable HTTP endpoint (see [MCP configuration](mcp-configuration.md)).
81
+ A host may synthesize the same bindings in memory.
79
82
 
80
83
  Bindings are resolved fail-closed for required servers. Optional servers may
81
84
  remain unavailable. See [MCP configuration](mcp-configuration.md).
@@ -77,10 +77,11 @@ Recipe fields inside supported `pi` structures are validation errors unless a
77
77
  later format version explicitly defines them.
78
78
 
79
79
  When a Recipe declares non-empty `dependencies` or `optionalDependencies`, it
80
- MUST commit `pnpm-lock.yaml`. A `packageManager` field, if present, MUST be a
81
- complete `pnpm@<version>` descriptor; Corepack refuses a bare name, a partial
82
- version, or another manager. A Recipe installs with
83
- `pnpm install --frozen-lockfile`, so `package-lock.json`,
80
+ SHOULD commit `pnpm-lock.yaml`; without one the check warns and each install
81
+ resolves the declared ranges afresh. A `packageManager` field, if present, MUST
82
+ be a complete `pnpm@<version>` descriptor; Corepack refuses a bare name, a
83
+ partial version, or another manager. A Recipe installs with pnpm, so
84
+ `package-lock.json`,
84
85
  `npm-shrinkwrap.json` and `yarn.lock` are rejected: they pin nothing that is
85
86
  read. An npm lockfile left in the tree MUST still carry the same package name
86
87
  and version as `package.json`.
@@ -209,7 +210,8 @@ analytics, telemetry, and model-default settings are
209
210
  not portable session policy and remain host-owned or belong under `ai`.
210
211
 
211
212
  `tools` MUST NOT contain `agent`. The host materializes that session-generated
212
- tool for a root session whose effective `subagents` list is non-empty.
213
+ tool for a session whose effective `subagents` list is non-empty and whose
214
+ delegation depth allows it (see below).
213
215
 
214
216
  The default agent is named `agent`. If no `agent` exists, a host MAY select the
215
217
  only declared agent. When multiple agents exist without `agent`, the caller
@@ -285,6 +287,13 @@ through this field.
285
287
  those resolved definitions through the shared `agent` tool. How child work is
286
288
  scheduled or isolated belongs to the host.
287
289
 
290
+ Delegation is two levels deep. A delegated child (depth 1) whose effective
291
+ `subagents` list is non-empty receives its own `agent` tool; a child of a
292
+ child (depth 2) MUST NOT receive one, which also bounds recursive references
293
+ such as `a -> b -> a`. A delegating child's run completes only after the runs
294
+ it started have settled and it has processed their results, and interrupting
295
+ or closing a run interrupts or closes the runs beneath it.
296
+
288
297
  The `pi.mcp` package block declares capability servers and package-level tool
289
298
  policy. Agent `mcp` blocks narrow those declarations. Credentials and concrete
290
299
  endpoint bindings MUST NOT be required in distributable Recipe source. A host
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@introspection-ai/recipes",
3
- "version": "0.27.4",
3
+ "version": "0.29.0",
4
4
  "description": "The open format for vertical agents, built on Pi.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -84,7 +84,7 @@
84
84
  "@introspection-sdk/introspection-pi": "^0.23.0",
85
85
  "@opentelemetry/api": "^1.9.1",
86
86
  "ajv": "^8.20.0",
87
- "mcporter": "0.13.13",
87
+ "mcporter": "0.14.2",
88
88
  "yaml": "^2.9.0"
89
89
  },
90
90
  "peerDependencies": {
@@ -95,21 +95,21 @@
95
95
  "typebox": "*"
96
96
  },
97
97
  "devDependencies": {
98
- "@earendil-works/pi-agent-core": "0.86.1",
99
- "@earendil-works/pi-ai": "0.86.1",
100
- "@earendil-works/pi-coding-agent": "0.86.1",
101
- "@earendil-works/pi-tui": "0.86.1",
98
+ "@earendil-works/pi-agent-core": "0.87.1",
99
+ "@earendil-works/pi-ai": "0.87.1",
100
+ "@earendil-works/pi-coding-agent": "0.87.1",
101
+ "@earendil-works/pi-tui": "0.87.1",
102
102
  "@types/node": "^26.1.2",
103
103
  "esbuild": "^0.28.1",
104
104
  "typebox": "^1.0.56",
105
105
  "typescript": "^7.0.2",
106
- "vitest": "^4.0.18"
106
+ "vitest": "^5.0.1"
107
107
  },
108
108
  "optionalDependencies": {
109
- "@introspection-ai/mcp-client-linux-x64": "0.27.4",
110
- "@introspection-ai/mcp-client-linux-arm64": "0.27.4",
111
- "@introspection-ai/mcp-client-darwin-arm64": "0.27.4",
112
- "@introspection-ai/mcp-client-darwin-x64": "0.27.4"
109
+ "@introspection-ai/mcp-client-linux-x64": "0.29.0",
110
+ "@introspection-ai/mcp-client-linux-arm64": "0.29.0",
111
+ "@introspection-ai/mcp-client-darwin-arm64": "0.29.0",
112
+ "@introspection-ai/mcp-client-darwin-x64": "0.29.0"
113
113
  },
114
114
  "scripts": {
115
115
  "build": "pnpm build:ts && pnpm build:native",
@@ -1,16 +0,0 @@
1
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
2
- import {
3
- parseCallArguments
4
- } from "./chunk-HZ2SX5U6.js";
5
- import "./chunk-QALB3DRW.js";
6
- import "./chunk-KOWNVUL2.js";
7
- import "./chunk-LCBDVFVA.js";
8
- import "./chunk-2P2HVZ3G.js";
9
- import "./chunk-5B7GRMUK.js";
10
- import "./chunk-H4KL74PV.js";
11
- import "./chunk-T4MQCFIK.js";
12
- import "./chunk-D6SVCPN6.js";
13
- import "./chunk-LRKZP7DJ.js";
14
- export {
15
- parseCallArguments
16
- };
@@ -1,30 +0,0 @@
1
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
2
- import {
3
- DaemonClient,
4
- resolveDaemonPaths
5
- } from "./chunk-FBVRU4Y3.js";
6
- import "./chunk-PJCMJ65D.js";
7
- import "./chunk-KQCLM7R7.js";
8
- import "./chunk-D6B2M5V7.js";
9
- import "./chunk-L6OOGZVA.js";
10
- import "./chunk-TYYSBILI.js";
11
- import "./chunk-IF6LRV3J.js";
12
- import "./chunk-XNHGMWN2.js";
13
- import "./chunk-P463YBJM.js";
14
- import "./chunk-FONFU4G5.js";
15
- import "./chunk-7PFJCLXL.js";
16
- import "./chunk-H4KL74PV.js";
17
- import "./chunk-RZIJUJGL.js";
18
- import "./chunk-H7ARMBV7.js";
19
- import "./chunk-UYJZJXC2.js";
20
- import "./chunk-UHO6KIUJ.js";
21
- import "./chunk-T4MQCFIK.js";
22
- import "./chunk-D6SVCPN6.js";
23
- import "./chunk-QJNF3A3F.js";
24
- import "./chunk-O4JIUOWF.js";
25
- import "./chunk-S5F3HEZZ.js";
26
- import "./chunk-LRKZP7DJ.js";
27
- export {
28
- DaemonClient,
29
- resolveDaemonPaths
30
- };
@@ -1,30 +0,0 @@
1
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
2
- import {
3
- handleDaemonCli
4
- } from "./chunk-5BMCVE2J.js";
5
- import "./chunk-LXHPDKEF.js";
6
- import "./chunk-FBVRU4Y3.js";
7
- import "./chunk-PJCMJ65D.js";
8
- import "./chunk-KQCLM7R7.js";
9
- import "./chunk-D6B2M5V7.js";
10
- import "./chunk-L6OOGZVA.js";
11
- import "./chunk-TYYSBILI.js";
12
- import "./chunk-IF6LRV3J.js";
13
- import "./chunk-XNHGMWN2.js";
14
- import "./chunk-P463YBJM.js";
15
- import "./chunk-FONFU4G5.js";
16
- import "./chunk-7PFJCLXL.js";
17
- import "./chunk-H4KL74PV.js";
18
- import "./chunk-RZIJUJGL.js";
19
- import "./chunk-H7ARMBV7.js";
20
- import "./chunk-UYJZJXC2.js";
21
- import "./chunk-UHO6KIUJ.js";
22
- import "./chunk-T4MQCFIK.js";
23
- import "./chunk-D6SVCPN6.js";
24
- import "./chunk-QJNF3A3F.js";
25
- import "./chunk-O4JIUOWF.js";
26
- import "./chunk-S5F3HEZZ.js";
27
- import "./chunk-LRKZP7DJ.js";
28
- export {
29
- handleDaemonCli
30
- };
@@ -1,30 +0,0 @@
1
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
2
- import {
3
- createGeneratedKeepAliveRuntime
4
- } from "./chunk-7WL4TMON.js";
5
- import "./chunk-6QZQZXDJ.js";
6
- import "./chunk-FBVRU4Y3.js";
7
- import "./chunk-PJCMJ65D.js";
8
- import "./chunk-KQCLM7R7.js";
9
- import "./chunk-D6B2M5V7.js";
10
- import "./chunk-L6OOGZVA.js";
11
- import "./chunk-TYYSBILI.js";
12
- import "./chunk-IF6LRV3J.js";
13
- import "./chunk-XNHGMWN2.js";
14
- import "./chunk-P463YBJM.js";
15
- import "./chunk-FONFU4G5.js";
16
- import "./chunk-7PFJCLXL.js";
17
- import "./chunk-H4KL74PV.js";
18
- import "./chunk-RZIJUJGL.js";
19
- import "./chunk-H7ARMBV7.js";
20
- import "./chunk-UYJZJXC2.js";
21
- import "./chunk-UHO6KIUJ.js";
22
- import "./chunk-T4MQCFIK.js";
23
- import "./chunk-D6SVCPN6.js";
24
- import "./chunk-QJNF3A3F.js";
25
- import "./chunk-O4JIUOWF.js";
26
- import "./chunk-S5F3HEZZ.js";
27
- import "./chunk-LRKZP7DJ.js";
28
- export {
29
- createGeneratedKeepAliveRuntime
30
- };
@@ -1,37 +0,0 @@
1
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
2
- import {
3
- callOnce,
4
- createRuntime
5
- } from "./chunk-PJCMJ65D.js";
6
- import "./chunk-KQCLM7R7.js";
7
- import "./chunk-D6B2M5V7.js";
8
- import "./chunk-L6OOGZVA.js";
9
- import "./chunk-TYYSBILI.js";
10
- import "./chunk-IF6LRV3J.js";
11
- import "./chunk-XNHGMWN2.js";
12
- import "./chunk-P463YBJM.js";
13
- import "./chunk-FONFU4G5.js";
14
- import {
15
- MCPORTER_VERSION
16
- } from "./chunk-7PFJCLXL.js";
17
- import "./chunk-H4KL74PV.js";
18
- import "./chunk-RZIJUJGL.js";
19
- import {
20
- readJsonFile,
21
- writeJsonFile
22
- } from "./chunk-H7ARMBV7.js";
23
- import "./chunk-UYJZJXC2.js";
24
- import "./chunk-UHO6KIUJ.js";
25
- import "./chunk-T4MQCFIK.js";
26
- import "./chunk-D6SVCPN6.js";
27
- import "./chunk-QJNF3A3F.js";
28
- import "./chunk-O4JIUOWF.js";
29
- import "./chunk-S5F3HEZZ.js";
30
- import "./chunk-LRKZP7DJ.js";
31
- export {
32
- MCPORTER_VERSION,
33
- callOnce,
34
- createRuntime,
35
- readJsonFile,
36
- writeJsonFile
37
- };