@introspection-ai/recipes 0.13.0 → 0.14.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.
- package/README.md +45 -58
- package/dist/{agent-tool.d.ts → agents.d.ts} +4 -1
- package/dist/agents.d.ts.map +1 -0
- package/dist/{agent-tool.js → agents.js} +1 -1
- package/dist/agents.js.map +1 -0
- package/dist/api/extensions.d.ts +3 -0
- package/dist/api/extensions.d.ts.map +1 -0
- package/dist/api/extensions.js +2 -0
- package/dist/api/extensions.js.map +1 -0
- package/dist/api/mcp.d.ts +4 -0
- package/dist/api/mcp.d.ts.map +1 -0
- package/dist/api/mcp.js +2 -0
- package/dist/api/mcp.js.map +1 -0
- package/dist/api/session.d.ts +3 -0
- package/dist/api/session.d.ts.map +1 -0
- package/dist/api/session.js +2 -0
- package/dist/api/session.js.map +1 -0
- package/dist/child-agent.d.ts +5 -4
- package/dist/child-agent.d.ts.map +1 -1
- package/dist/child-agent.js +26 -117
- package/dist/child-agent.js.map +1 -1
- package/dist/child-session.d.ts +23 -0
- package/dist/child-session.d.ts.map +1 -0
- package/dist/child-session.js +48 -0
- package/dist/child-session.js.map +1 -0
- package/dist/extensions.d.ts +29 -0
- package/dist/extensions.d.ts.map +1 -0
- package/dist/extensions.js +119 -0
- package/dist/extensions.js.map +1 -0
- package/dist/index.d.ts +4 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -13
- package/dist/index.js.map +1 -1
- package/dist/inspect.d.ts +38 -5
- package/dist/inspect.d.ts.map +1 -1
- package/dist/inspect.js +92 -41
- package/dist/inspect.js.map +1 -1
- package/dist/interactions.d.ts +18 -2
- package/dist/interactions.d.ts.map +1 -1
- package/dist/interactions.js +41 -10
- package/dist/interactions.js.map +1 -1
- package/dist/mcp-catalog.d.ts +1 -0
- package/dist/mcp-catalog.d.ts.map +1 -1
- package/dist/mcp-catalog.js +14 -6
- package/dist/mcp-catalog.js.map +1 -1
- package/dist/mcp-chunks/auth-command-ZLGYIEUY.js +273 -0
- package/dist/mcp-chunks/call-arguments-LU3W6D3K.js +13 -0
- package/dist/mcp-chunks/call-command-LKTKSYTH.js +612 -0
- package/dist/mcp-chunks/chunk-2U4BSDC4.js +3951 -0
- package/dist/mcp-chunks/chunk-2XL7MG7R.js +272 -0
- package/dist/mcp-chunks/chunk-3BJA27PY.js +2321 -0
- package/dist/mcp-chunks/chunk-4SQKWYFF.js +15 -0
- package/dist/mcp-chunks/chunk-5QOSCSQB.js +290 -0
- package/dist/mcp-chunks/chunk-6W5QFASN.js +77 -0
- package/dist/mcp-chunks/chunk-6XCZGU3G.js +1004 -0
- package/dist/mcp-chunks/chunk-7FHEBT5G.js +149 -0
- package/dist/mcp-chunks/chunk-7KA2VJVZ.js +114 -0
- package/dist/mcp-chunks/chunk-7UDVSOOF.js +138 -0
- package/dist/mcp-chunks/chunk-BNV3TPE4.js +66 -0
- package/dist/mcp-chunks/chunk-BTLAWHTA.js +129 -0
- package/dist/mcp-chunks/chunk-BV56DXPW.js +13 -0
- package/dist/mcp-chunks/chunk-BWHIA4PC.js +90 -0
- package/dist/mcp-chunks/chunk-BZIQOWE6.js +267 -0
- package/dist/mcp-chunks/chunk-D3MRAZ6H.js +16140 -0
- package/dist/mcp-chunks/chunk-DHBE7UBH.js +750 -0
- package/dist/mcp-chunks/chunk-E22DYOW5.js +251 -0
- package/dist/mcp-chunks/chunk-ECIVB7P4.js +139 -0
- package/dist/mcp-chunks/chunk-HKRJ6O36.js +1076 -0
- package/dist/mcp-chunks/chunk-IABRYROW.js +44 -0
- package/dist/mcp-chunks/chunk-J6LYIZXN.js +45 -0
- package/dist/mcp-chunks/chunk-L7NTQVYN.js +161 -0
- package/dist/mcp-chunks/chunk-LEZSACDE.js +141 -0
- package/dist/mcp-chunks/chunk-LKIBAYKU.js +208 -0
- package/dist/mcp-chunks/chunk-LNH5LAJD.js +152 -0
- package/dist/mcp-chunks/chunk-LQQEYD76.js +124 -0
- package/dist/mcp-chunks/chunk-LRKZP7DJ.js +47 -0
- package/dist/mcp-chunks/chunk-LS7PMWSR.js +109 -0
- package/dist/mcp-chunks/chunk-M3TPODXI.js +95 -0
- package/dist/mcp-chunks/chunk-MZ2NARG7.js +400 -0
- package/dist/mcp-chunks/chunk-N46NEFAF.js +45 -0
- package/dist/mcp-chunks/chunk-NNOEGEUZ.js +17273 -0
- package/dist/mcp-chunks/chunk-NRAJX5E4.js +69 -0
- package/dist/mcp-chunks/chunk-P3PSC54P.js +869 -0
- package/dist/mcp-chunks/chunk-PIIYJR44.js +6341 -0
- package/dist/mcp-chunks/chunk-PWYFKGKG.js +385 -0
- package/dist/mcp-chunks/chunk-SJCCBNZ4.js +45 -0
- package/dist/mcp-chunks/chunk-TATVT5IT.js +194 -0
- package/dist/mcp-chunks/chunk-TEUKFFQL.js +29 -0
- package/dist/mcp-chunks/chunk-UKYNQGNE.js +150 -0
- package/dist/mcp-chunks/chunk-UNKB4SBV.js +37 -0
- package/dist/mcp-chunks/chunk-WD6BOD24.js +138 -0
- package/dist/mcp-chunks/chunk-WQJZMCJN.js +73 -0
- package/dist/mcp-chunks/chunk-XANPGTLI.js +364 -0
- package/dist/mcp-chunks/chunk-XQK2JSW4.js +35 -0
- package/dist/mcp-chunks/chunk-YHQUTU6L.js +571 -0
- package/dist/mcp-chunks/chunk-YVZKMV5H.js +57 -0
- package/dist/mcp-chunks/cli-UV4QJZZM.js +929 -0
- package/dist/mcp-chunks/client-S7RQUG5U.js +13 -0
- package/dist/mcp-chunks/config-command-NLAGKID5.js +1101 -0
- package/dist/mcp-chunks/daemon-command-U242Z6VY.js +26 -0
- package/dist/mcp-chunks/dist-LK3SHAMX.js +6478 -0
- package/dist/mcp-chunks/emit-ts-command-VBXVXO6V.js +386 -0
- package/dist/mcp-chunks/generate-cli-runner-6CAZZA3P.js +1426 -0
- package/dist/mcp-chunks/inspect-cli-command-3ZORTOR7.js +111 -0
- package/dist/mcp-chunks/launch-YKRXHXJI.js +10 -0
- package/dist/mcp-chunks/lifecycle-XVKRHPH3.js +16 -0
- package/dist/mcp-chunks/list-command-2MEGGNFQ.js +4190 -0
- package/dist/mcp-chunks/output-utils-NKESLAJ6.js +12 -0
- package/dist/mcp-chunks/prompt-B1Yc1NPt-VGOTWJMN.js +918 -0
- package/dist/mcp-chunks/record-command-YXHTTTT5.js +17 -0
- package/dist/mcp-chunks/replay-command-25HJ6AQU.js +85 -0
- package/dist/mcp-chunks/resource-command-OO4NYF5C.js +97 -0
- package/dist/mcp-chunks/result-utils-MOHHLNM7.js +15 -0
- package/dist/mcp-chunks/runtime-5WJ3G25Y.js +33 -0
- package/dist/mcp-chunks/runtime-wrapper-RPWDIDBF.js +10 -0
- package/dist/mcp-chunks/serve-command-DHXJZMMN.js +3302 -0
- package/dist/mcp-chunks/timeouts-W2XWCCXR.js +18 -0
- package/dist/mcp-chunks/vault-command-PIYIUEZL.js +154 -0
- package/dist/mcp-daemon-client.d.ts +6 -1
- package/dist/mcp-daemon-client.d.ts.map +1 -1
- package/dist/mcp-daemon-client.js +119 -2
- package/dist/mcp-daemon-client.js.map +1 -1
- package/dist/mcp-daemon-protocol.d.ts +18 -1
- package/dist/mcp-daemon-protocol.d.ts.map +1 -1
- package/dist/mcp-daemon-protocol.js +31 -0
- package/dist/mcp-daemon-protocol.js.map +1 -1
- package/dist/mcp-daemon.js +169 -76602
- package/dist/mcp-daemon.js.map +1 -1
- package/dist/mcp-policy.d.ts +11 -0
- package/dist/mcp-policy.d.ts.map +1 -0
- package/dist/mcp-policy.js +27 -0
- package/dist/mcp-policy.js.map +1 -0
- package/dist/mcp-run-worker.js +38 -76540
- package/dist/mcp-tools.d.ts +39 -0
- package/dist/mcp-tools.d.ts.map +1 -0
- package/dist/mcp-tools.js +493 -0
- package/dist/mcp-tools.js.map +1 -0
- package/dist/mcp.d.ts +21 -9
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +101 -31
- package/dist/mcp.js.map +1 -1
- package/dist/model-binding.d.ts +39 -0
- package/dist/model-binding.d.ts.map +1 -0
- package/dist/model-binding.js +103 -0
- package/dist/model-binding.js.map +1 -0
- package/dist/pi-extension.d.ts +2 -22
- package/dist/pi-extension.d.ts.map +1 -1
- package/dist/pi-extension.js +296 -71
- package/dist/pi-extension.js.map +1 -1
- package/dist/recipe/resolve.d.ts +43 -20
- package/dist/recipe/resolve.d.ts.map +1 -1
- package/dist/recipe/resolve.js +215 -70
- package/dist/recipe/resolve.js.map +1 -1
- package/dist/recipe-agent.d.ts +24 -27
- package/dist/recipe-agent.d.ts.map +1 -1
- package/dist/recipe-agent.js +278 -230
- package/dist/recipe-agent.js.map +1 -1
- package/dist/recipe-check.d.ts +17 -0
- package/dist/recipe-check.d.ts.map +1 -0
- package/dist/recipe-check.js +258 -0
- package/dist/recipe-check.js.map +1 -0
- package/dist/recipe-extensions.d.ts.map +1 -1
- package/dist/recipe-extensions.js +0 -3
- package/dist/recipe-extensions.js.map +1 -1
- package/dist/recipe-model.d.ts +3 -1
- package/dist/recipe-model.d.ts.map +1 -1
- package/dist/recipe-model.js +15 -12
- package/dist/recipe-model.js.map +1 -1
- package/dist/recipe-package.d.ts +6 -28
- package/dist/recipe-package.d.ts.map +1 -1
- package/dist/recipe-package.js +248 -191
- package/dist/recipe-package.js.map +1 -1
- package/dist/recipe-skills.d.ts.map +1 -1
- package/dist/recipe-skills.js +42 -29
- package/dist/recipe-skills.js.map +1 -1
- package/dist/run-controller.d.ts +10 -9
- package/dist/run-controller.d.ts.map +1 -1
- package/dist/run-controller.js +28 -21
- package/dist/run-controller.js.map +1 -1
- package/dist/session.d.ts +40 -53
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +312 -173
- package/dist/session.js.map +1 -1
- package/dist/test-utils.d.ts +7 -7
- package/dist/test-utils.d.ts.map +1 -1
- package/dist/test-utils.js +32 -15
- package/dist/test-utils.js.map +1 -1
- package/docs/agent-composition.md +41 -35
- package/docs/host-api.md +201 -0
- package/docs/index.md +8 -14
- package/docs/interactions.md +12 -11
- package/docs/mcp-auth.md +6 -6
- package/docs/mcp-configuration.md +72 -24
- package/docs/pi-extension.md +39 -11
- package/docs/recipe-flow.md +9 -9
- package/docs/recipe-format.md +90 -41
- package/package.json +23 -17
- package/vendor/mcp-client/darwin-arm64/mcp-client +0 -0
- package/vendor/mcp-client/darwin-x64/mcp-client +0 -0
- package/vendor/mcp-client/linux-arm64/mcp-client +0 -0
- package/vendor/recipe-check/darwin-arm64/recipe-check +0 -0
- package/vendor/recipe-check/darwin-x64/recipe-check +0 -0
- package/vendor/recipe-check/linux-arm64/recipe-check +0 -0
- package/vendor/recipe-check/linux-x64/recipe-check +0 -0
- package/vendor/recipe-check/linux-x64-musl/recipe-check +0 -0
- package/vendor/recipe-check/win32-x64/recipe-check.exe +0 -0
- package/dist/agent-tool.d.ts.map +0 -1
- package/dist/agent-tool.js.map +0 -1
- package/dist/run.d.ts +0 -28
- package/dist/run.d.ts.map +0 -1
- package/dist/run.js +0 -84
- package/dist/run.js.map +0 -1
- package/dist/testing.d.ts +0 -25
- package/dist/testing.d.ts.map +0 -1
- package/dist/testing.js +0 -96
- package/dist/testing.js.map +0 -1
- package/docs/deployment-configuration.md +0 -65
- package/docs/migration.md +0 -70
- package/docs/python-bindings-release.md +0 -47
- package/docs/recipe-evals.md +0 -70
- package/docs/recipe-judges.md +0 -152
- package/docs/runtime-library.md +0 -171
package/dist/session.js.map
CHANGED
|
@@ -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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"}
|
package/dist/test-utils.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export interface
|
|
1
|
+
import type { CreateAgentSessionOptions, RecipeSessionHandle } from "./session.js";
|
|
2
|
+
export interface RecipeHost {
|
|
3
3
|
/**
|
|
4
|
-
* Create a session
|
|
5
|
-
*
|
|
6
|
-
* options here layer the suite's fixture on top.
|
|
4
|
+
* Create a session with the host's default injections applied. The options
|
|
5
|
+
* here layer the suite's fixture on top.
|
|
7
6
|
*/
|
|
8
|
-
createSession(options:
|
|
7
|
+
createSession(options: CreateAgentSessionOptions): Promise<RecipeSessionHandle>;
|
|
9
8
|
}
|
|
10
9
|
export interface HostConformanceCase {
|
|
11
10
|
name: string;
|
|
@@ -15,6 +14,7 @@ interface FixtureOptions {
|
|
|
15
14
|
agentExtras?: string[];
|
|
16
15
|
manifestPi?: Record<string, unknown>;
|
|
17
16
|
subagents?: string[];
|
|
17
|
+
tools?: string[];
|
|
18
18
|
}
|
|
19
19
|
/** Write a minimal recipe package into a fresh temp dir. */
|
|
20
20
|
export declare function writeFixtureRecipe(options?: FixtureOptions): {
|
|
@@ -22,7 +22,7 @@ export declare function writeFixtureRecipe(options?: FixtureOptions): {
|
|
|
22
22
|
workspaceDir: string;
|
|
23
23
|
cleanup(): void;
|
|
24
24
|
};
|
|
25
|
-
export declare function hostConformanceCases(host:
|
|
25
|
+
export declare function hostConformanceCases(host: RecipeHost): HostConformanceCase[];
|
|
26
26
|
/**
|
|
27
27
|
* A process env for fixtures: PATH and platform basics without provider
|
|
28
28
|
* keys, so credential-resolution cases are deterministic.
|
package/dist/test-utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../src/test-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../src/test-utils.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,aAAa,CACX,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB;AAED,UAAU,cAAc;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,cAAmB,GAAG;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,IAAI,IAAI,CAAC;CACjB,CAuDA;AA2BD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,GACf,mBAAmB,EAAE,CAkMvB;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAAC,UAAU,CAO5C"}
|
package/dist/test-utils.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Host conformance suite for
|
|
2
|
+
* Host conformance suite for Recipe sessions.
|
|
3
3
|
*
|
|
4
|
-
* A host that adopts `
|
|
4
|
+
* A host that adopts `createAgentSession` with its own injected pieces —
|
|
5
5
|
* credential store, synthesized MCP bindings, run controller — runs these
|
|
6
6
|
* cases in its own CI. Passing the suite is what "supported host" means: the
|
|
7
|
-
*
|
|
7
|
+
* session contract cannot drift from its consumers silently.
|
|
8
8
|
*
|
|
9
9
|
* The cases are runner-agnostic: each is a `{ name, run }` pair that throws
|
|
10
10
|
* on failure. In vitest:
|
|
@@ -18,6 +18,7 @@ import { mkdtempSync, mkdirSync, rmSync, writeFileSync } from "node:fs";
|
|
|
18
18
|
import { tmpdir } from "node:os";
|
|
19
19
|
import { join } from "node:path";
|
|
20
20
|
import { InMemoryCredentialStore } from "@earendil-works/pi-ai";
|
|
21
|
+
import { resolveRecipe } from "./recipe/resolve.js";
|
|
21
22
|
/** Write a minimal recipe package into a fresh temp dir. */
|
|
22
23
|
export function writeFixtureRecipe(options = {}) {
|
|
23
24
|
const root = mkdtempSync(join(tmpdir(), "recipe-conformance-"));
|
|
@@ -37,7 +38,7 @@ export function writeFixtureRecipe(options = {}) {
|
|
|
37
38
|
"model:",
|
|
38
39
|
" name: anthropic/claude-sonnet-4-5",
|
|
39
40
|
" thinking_level: low",
|
|
40
|
-
|
|
41
|
+
`tools: [${(options.tools ?? ["read"]).join(", ")}]`,
|
|
41
42
|
...(options.subagents?.length
|
|
42
43
|
? ["subagents:", ...options.subagents.map((name) => ` - ${name}`)]
|
|
43
44
|
: []),
|
|
@@ -95,15 +96,15 @@ export function hostConformanceCases(host) {
|
|
|
95
96
|
const fixture = writeFixtureRecipe();
|
|
96
97
|
try {
|
|
97
98
|
const handle = await host.createSession({
|
|
98
|
-
recipeDir: fixture.recipeDir,
|
|
99
|
+
recipe: resolveRecipe({ recipeDir: fixture.recipeDir }),
|
|
99
100
|
cwd: fixture.workspaceDir,
|
|
100
101
|
credentials: await testCredentialStore(),
|
|
101
102
|
env: { ...cleanEnv() },
|
|
102
103
|
});
|
|
103
104
|
try {
|
|
104
|
-
assert(handle.
|
|
105
|
+
assert(handle.agent.name === "agent", "agentName resolves");
|
|
105
106
|
assert(handle.session.systemPrompt.includes("conformance fixture"), "SYSTEM.md reaches the system prompt");
|
|
106
|
-
assert(handle.
|
|
107
|
+
assert(handle.agentRuns, "handle exposes an agent run controller");
|
|
107
108
|
}
|
|
108
109
|
finally {
|
|
109
110
|
await handle.dispose();
|
|
@@ -120,7 +121,7 @@ export function hostConformanceCases(host) {
|
|
|
120
121
|
const fixture = writeFixtureRecipe();
|
|
121
122
|
try {
|
|
122
123
|
const err = await expectRejection(host.createSession({
|
|
123
|
-
recipeDir: fixture.recipeDir,
|
|
124
|
+
recipe: resolveRecipe({ recipeDir: fixture.recipeDir }),
|
|
124
125
|
cwd: fixture.workspaceDir,
|
|
125
126
|
env: { ...cleanEnv() },
|
|
126
127
|
}), "session construction without credentials");
|
|
@@ -142,11 +143,17 @@ export function hostConformanceCases(host) {
|
|
|
142
143
|
],
|
|
143
144
|
},
|
|
144
145
|
},
|
|
145
|
-
agentExtras: [
|
|
146
|
+
agentExtras: [
|
|
147
|
+
"mcp:",
|
|
148
|
+
" mode: cli",
|
|
149
|
+
" servers:",
|
|
150
|
+
" linear:",
|
|
151
|
+
' include: ["*"]',
|
|
152
|
+
],
|
|
146
153
|
});
|
|
147
154
|
try {
|
|
148
155
|
const err = await expectRejection(host.createSession({
|
|
149
|
-
recipeDir: fixture.recipeDir,
|
|
156
|
+
recipe: resolveRecipe({ recipeDir: fixture.recipeDir }),
|
|
150
157
|
cwd: fixture.workspaceDir,
|
|
151
158
|
credentials: await testCredentialStore(),
|
|
152
159
|
env: { ...cleanEnv() },
|
|
@@ -169,12 +176,19 @@ export function hostConformanceCases(host) {
|
|
|
169
176
|
],
|
|
170
177
|
},
|
|
171
178
|
},
|
|
172
|
-
agentExtras: [
|
|
179
|
+
agentExtras: [
|
|
180
|
+
"mcp:",
|
|
181
|
+
" mode: cli",
|
|
182
|
+
" servers:",
|
|
183
|
+
" linear:",
|
|
184
|
+
' include: ["*"]',
|
|
185
|
+
],
|
|
173
186
|
});
|
|
174
187
|
try {
|
|
175
188
|
const env = { ...cleanEnv() };
|
|
189
|
+
const originalPath = env.PATH;
|
|
176
190
|
const handle = await host.createSession({
|
|
177
|
-
recipeDir: fixture.recipeDir,
|
|
191
|
+
recipe: resolveRecipe({ recipeDir: fixture.recipeDir }),
|
|
178
192
|
cwd: fixture.workspaceDir,
|
|
179
193
|
credentials: await testCredentialStore(),
|
|
180
194
|
env,
|
|
@@ -189,6 +203,9 @@ export function hostConformanceCases(host) {
|
|
|
189
203
|
},
|
|
190
204
|
});
|
|
191
205
|
await handle.dispose();
|
|
206
|
+
await handle.dispose();
|
|
207
|
+
assert(env.MCPORTER_CONFIG === undefined, "dispose restores an absent MCPORTER_CONFIG");
|
|
208
|
+
assert(env.PATH === originalPath, "dispose restores PATH");
|
|
192
209
|
}
|
|
193
210
|
finally {
|
|
194
211
|
fixture.cleanup();
|
|
@@ -201,7 +218,7 @@ export function hostConformanceCases(host) {
|
|
|
201
218
|
const fixture = writeFixtureRecipe({ subagents: ["helper"] });
|
|
202
219
|
try {
|
|
203
220
|
const handle = await host.createSession({
|
|
204
|
-
recipeDir: fixture.recipeDir,
|
|
221
|
+
recipe: resolveRecipe({ recipeDir: fixture.recipeDir }),
|
|
205
222
|
cwd: fixture.workspaceDir,
|
|
206
223
|
credentials: await testCredentialStore(),
|
|
207
224
|
env: { ...cleanEnv() },
|
|
@@ -210,12 +227,12 @@ export function hostConformanceCases(host) {
|
|
|
210
227
|
const settled = await Promise.race([
|
|
211
228
|
(async () => {
|
|
212
229
|
try {
|
|
213
|
-
const run = await handle.
|
|
230
|
+
const run = await handle.agentRuns.start({
|
|
214
231
|
name: "ghost",
|
|
215
232
|
prompt: "hello",
|
|
216
233
|
});
|
|
217
234
|
if (run.status === "running") {
|
|
218
|
-
return await handle.
|
|
235
|
+
return await handle.agentRuns.wait(run.agent_run_id);
|
|
219
236
|
}
|
|
220
237
|
return run;
|
|
221
238
|
}
|
package/dist/test-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../src/test-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../src/test-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,9 @@ of agents without making every agent identical.
|
|
|
8
8
|
|
|
9
9
|
| Layer | Scope | Use it for |
|
|
10
10
|
| --- | --- | --- |
|
|
11
|
-
| `package.json#pi` | Entire
|
|
11
|
+
| `package.json#pi` | Entire Recipe package | Declaring agents, the executable extension closure, skills, prompts, and MCP servers |
|
|
12
12
|
| `SYSTEM.md` | Every root and delegated agent in the recipe | Shared mission, terminology, policies, and workflow rules |
|
|
13
|
-
| `agents/*.yaml` | One selected agent | Model, tools, selected skills, visible subagents,
|
|
13
|
+
| `agents/*.yaml` | One selected agent | Model, tools, selected skills, visible subagents, MCP policy, and role-specific instructions |
|
|
14
14
|
|
|
15
15
|
`SYSTEM.md` is the shared recipe instruction layer. A root agent and every
|
|
16
16
|
delegated subagent start from the same recipe-level content. Put instructions
|
|
@@ -28,7 +28,7 @@ system_instructions:
|
|
|
28
28
|
- `append` adds the agent-specific content after the shared recipe prompt.
|
|
29
29
|
- `replace` intentionally replaces the current prompt, including `SYSTEM.md`.
|
|
30
30
|
|
|
31
|
-
When a
|
|
31
|
+
When a Recipe has no `SYSTEM.md`, Pi's normal base prompt is the starting
|
|
32
32
|
prompt. When `SYSTEM.md` exists, it becomes the recipe-wide starting prompt.
|
|
33
33
|
Recipes then applies the selected agent's `system_instructions` mode.
|
|
34
34
|
|
|
@@ -48,8 +48,6 @@ model:
|
|
|
48
48
|
tools: [read, bash]
|
|
49
49
|
skills: [release-policy]
|
|
50
50
|
subagents: [reviewer]
|
|
51
|
-
extensions:
|
|
52
|
-
include: [release-tools]
|
|
53
51
|
system_instructions:
|
|
54
52
|
mode: append
|
|
55
53
|
content: Coordinate the complete release decision.
|
|
@@ -74,9 +72,8 @@ its own specialized instructions. Both agents still receive `SYSTEM.md`.
|
|
|
74
72
|
|
|
75
73
|
`from:` chains may contain multiple levels. The referenced name must resolve to
|
|
76
74
|
another agent in the same recipe. Missing bases and cycles are validation
|
|
77
|
-
errors.
|
|
78
|
-
|
|
79
|
-
child-agent definitions.
|
|
75
|
+
errors. References resolve only against explicit agent `name` values; filenames
|
|
76
|
+
never become agent identities or aliases.
|
|
80
77
|
|
|
81
78
|
Inheritance and delegation are separate. `from: reviewer-base` inherits a
|
|
82
79
|
definition; it does not expose the derived agent for delegation. A root agent
|
|
@@ -90,24 +87,35 @@ Omission means "inherit" for a derived agent. Declaring a field means
|
|
|
90
87
|
| Field | Derived-agent behavior |
|
|
91
88
|
| --- | --- |
|
|
92
89
|
| `description` | Child value replaces the base; omission inherits it |
|
|
93
|
-
| `model` | Merges by key;
|
|
90
|
+
| `model` | Merges by key when `name` is omitted; declaring `model.name` starts a fresh model configuration |
|
|
94
91
|
| `tools` | Child array replaces the inherited allowlist; `[]` clears it |
|
|
95
92
|
| `skills` | Child array replaces the inherited selection; `[]` clears it |
|
|
96
93
|
| `subagents` | Child array replaces inherited visibility; `[]` clears it |
|
|
97
|
-
| `
|
|
98
|
-
| `
|
|
99
|
-
| `system_instructions` | The whole child block replaces the inherited block; omission inherits it |
|
|
94
|
+
| `mcp` | Omission inherits; a declared block replaces the complete inherited policy |
|
|
95
|
+
| `system_instructions` | Omission inherits; `append` composes after inherited instructions; `replace` replaces the complete inherited prompt |
|
|
100
96
|
|
|
101
|
-
Agent instruction blocks
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
97
|
+
Agent instruction blocks compose in inheritance order. A child's `append`
|
|
98
|
+
content follows its inherited agent instructions. A child's `replace` discards
|
|
99
|
+
both inherited agent instructions and the recipe or Pi base prompt. Put
|
|
100
|
+
package-wide invariants in `SYSTEM.md`; use `replace` only for an intentionally
|
|
101
|
+
standalone prompt.
|
|
106
102
|
|
|
107
103
|
Arrays never merge item by item. This makes capability boundaries reviewable:
|
|
108
104
|
a derived agent that declares `tools: [read]` receives only `read`, not the
|
|
109
105
|
base agent's other tools.
|
|
110
106
|
|
|
107
|
+
Model settings merge only while the child omits `model.name`. Declaring
|
|
108
|
+
`model.name` starts a fresh model configuration, even when restating the same
|
|
109
|
+
identity, so
|
|
110
|
+
provider routing, headers, retries, cache policy, and transport tuning cannot
|
|
111
|
+
silently cross model boundaries.
|
|
112
|
+
|
|
113
|
+
For structured MCP configuration, the entire child block is an authorization
|
|
114
|
+
boundary. Restate every server and selector the child may use. `mcp: { servers:
|
|
115
|
+
{} }` clears inherited MCP access, and an omitted `mcp` block inherits it.
|
|
116
|
+
Each resolved root or child agent may select its own mode; each live session
|
|
117
|
+
receives only that selected agent's MCP policy.
|
|
118
|
+
|
|
111
119
|
## Model Configuration
|
|
112
120
|
|
|
113
121
|
Beyond `name` and `thinking_level`, the `model` block accepts request and
|
|
@@ -116,7 +124,7 @@ transport tuning and provider routing. Set only what a case needs.
|
|
|
116
124
|
```yaml
|
|
117
125
|
model:
|
|
118
126
|
name: anthropic/claude-sonnet-4-6
|
|
119
|
-
thinking_level: medium
|
|
127
|
+
thinking_level: medium
|
|
120
128
|
temperature: 0.2
|
|
121
129
|
max_tokens: 4096
|
|
122
130
|
cache_retention: short # none | short | long
|
|
@@ -133,35 +141,33 @@ model:
|
|
|
133
141
|
sort: throughput # preferred_min_throughput, preferred_max_latency, …
|
|
134
142
|
```
|
|
135
143
|
|
|
136
|
-
All
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
## Instruction Shorthand
|
|
140
|
-
|
|
141
|
-
A top-level `prompt:` string on an agent is shorthand for append-mode
|
|
142
|
-
`system_instructions` — the text is appended to `SYSTEM.md` for that agent. Use
|
|
143
|
-
the explicit `system_instructions` block when you need `mode: replace`.
|
|
144
|
+
All model settings except the fully resolved `name` are optional and merge by
|
|
145
|
+
key along a `from:` chain until a child explicitly declares `model.name`.
|
|
144
146
|
|
|
145
147
|
## Resources and Capabilities
|
|
146
148
|
|
|
147
|
-
The manifest declares
|
|
148
|
-
|
|
149
|
+
The manifest declares the package's executable closure and resource inventory;
|
|
150
|
+
the selected agent narrows model-visible capability:
|
|
149
151
|
|
|
150
152
|
- `package.json#pi.skills` declares physical skill resources. `agent.skills`
|
|
151
153
|
selects the skill names Pi discovers for that agent.
|
|
152
|
-
- `package.json#pi.extensions` declares
|
|
153
|
-
|
|
154
|
+
- `package.json#pi.extensions` declares the executable closure resolved
|
|
155
|
+
deterministically and loaded for every root and child session.
|
|
154
156
|
- `package.json#pi.mcp` defines the package's upper-bound MCP policy.
|
|
155
157
|
`agent.mcp` narrows tool access per server.
|
|
156
158
|
- `agent.tools` is the exact allowlist for Pi built-ins and tools registered by
|
|
157
|
-
|
|
159
|
+
the package extension closure.
|
|
158
160
|
- `agent.subagents` controls which other recipe agents are visible through the
|
|
159
161
|
`agent` tool.
|
|
160
162
|
- Prompt templates declared by the package are recipe resources; they are not
|
|
161
163
|
specialized through `from:`.
|
|
162
164
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
+
The `agent` delegation tool is not authored in `tools`. The host adds it only
|
|
166
|
+
to root sessions with visible subagents; delegated children remain one level
|
|
167
|
+
deep.
|
|
168
|
+
|
|
169
|
+
Skill and subagent selection controls prompt exposure and active capability,
|
|
170
|
+
not filesystem isolation. All agents run in the same Recipe package and current
|
|
165
171
|
workspace. Use sandboxing and external authorization for security boundaries.
|
|
166
172
|
|
|
167
173
|
## Root Agents and Subagents
|
|
@@ -173,7 +179,7 @@ named agents.
|
|
|
173
179
|
A delegated subagent resolves its own complete effective definition:
|
|
174
180
|
|
|
175
181
|
1. follow its `from:` chain;
|
|
176
|
-
2. apply its model, tools, skills,
|
|
182
|
+
2. apply its model, tools, skills, MCP, and instruction overrides;
|
|
177
183
|
3. start from the same recipe `SYSTEM.md` as the root agent; and
|
|
178
184
|
4. append or replace with its effective `system_instructions`.
|
|
179
185
|
|
|
@@ -190,7 +196,7 @@ tool while running as a delegated child.
|
|
|
190
196
|
- Put reusable detailed judgment in skills and select only the skills each
|
|
191
197
|
agent needs.
|
|
192
198
|
- Use `from:` for real variants, not merely to avoid a few repeated lines.
|
|
193
|
-
- Declare narrow tool,
|
|
199
|
+
- Declare narrow tool, MCP, and subagent lists at the point where a
|
|
194
200
|
role's capability boundary changes.
|
|
195
201
|
- Run `introspection check` after changing inheritance, then prove each important
|
|
196
202
|
root agent and delegated path in a fresh Pi session.
|
package/docs/host-api.md
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# Host API
|
|
2
|
+
|
|
3
|
+
The Recipes Host API turns Recipe source into a complete live Pi agent. It
|
|
4
|
+
defines the boundary between the portable agent and the system operating it.
|
|
5
|
+
|
|
6
|
+
## API layers
|
|
7
|
+
|
|
8
|
+
```text
|
|
9
|
+
resolveRecipe() parse every agent in the portable package once
|
|
10
|
+
│
|
|
11
|
+
▼
|
|
12
|
+
createAgentSession() select one agent and construct its Pi session
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Every host resolves the Recipe once and passes that immutable graph to the
|
|
16
|
+
single session constructor:
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
import { resolveRecipe } from "@introspection-ai/recipes/recipe";
|
|
20
|
+
import {
|
|
21
|
+
createAgentSession,
|
|
22
|
+
} from "@introspection-ai/recipes/session";
|
|
23
|
+
|
|
24
|
+
const recipe = resolveRecipe({ recipeDir });
|
|
25
|
+
const agent = recipe.selectAgent(agentName);
|
|
26
|
+
const credentials = await credentialsFor(agent.modelSpec);
|
|
27
|
+
|
|
28
|
+
const handle = await createAgentSession({
|
|
29
|
+
recipe,
|
|
30
|
+
agentName,
|
|
31
|
+
cwd: workspaceDir,
|
|
32
|
+
credentials,
|
|
33
|
+
});
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
This keeps inspection and construction on the same resolution results and
|
|
37
|
+
avoids reparsing the package for every root or child session.
|
|
38
|
+
|
|
39
|
+
`inspectRecipe(recipe)` projects the exact immutable graph used for execution;
|
|
40
|
+
it never reparses the package or reads host-local bindings. In addition to
|
|
41
|
+
provider, credential, MCP, and resource summaries,
|
|
42
|
+
it returns:
|
|
43
|
+
|
|
44
|
+
- effective model and prompt provenance;
|
|
45
|
+
- fields declared at each point in the `from:` chain;
|
|
46
|
+
- authored tools versus root and delegated-session tools;
|
|
47
|
+
- selected skills, visible subagents, and MCP policy;
|
|
48
|
+
- the ordered package extension and prompt closure.
|
|
49
|
+
|
|
50
|
+
## `createAgentSession`
|
|
51
|
+
|
|
52
|
+
`createAgentSession(options)` is the only session-construction API. It consumes
|
|
53
|
+
the exact `ResolvedRecipe` the host inspected, selects `agentName`, and uses
|
|
54
|
+
that same graph for every default in-process child session.
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
const handle = await createAgentSession({
|
|
58
|
+
recipe,
|
|
59
|
+
agentName,
|
|
60
|
+
cwd: workspaceDir,
|
|
61
|
+
credentials,
|
|
62
|
+
modelOverride,
|
|
63
|
+
mcpBindings,
|
|
64
|
+
eventBus,
|
|
65
|
+
customTools,
|
|
66
|
+
extensionFactories,
|
|
67
|
+
runController,
|
|
68
|
+
agentToolOptions,
|
|
69
|
+
settingsManager,
|
|
70
|
+
sessionManager,
|
|
71
|
+
additionalSkillPaths,
|
|
72
|
+
materializedSkillPaths,
|
|
73
|
+
transformSystemPrompt,
|
|
74
|
+
onDiagnostics,
|
|
75
|
+
onEvent,
|
|
76
|
+
otel: {
|
|
77
|
+
tracer,
|
|
78
|
+
meter,
|
|
79
|
+
meta: { conversationId },
|
|
80
|
+
runSpans: false,
|
|
81
|
+
getParentContext: () => currentTurnContext,
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
It:
|
|
87
|
+
|
|
88
|
+
- selects the agent from the supplied immutable Recipe;
|
|
89
|
+
- resolves model credentials fail-closed;
|
|
90
|
+
- materializes required MCP bindings fail-closed;
|
|
91
|
+
- loads the complete ordered Recipe extension closure, selected skills, and
|
|
92
|
+
package prompts;
|
|
93
|
+
- registers the shared subagent tool;
|
|
94
|
+
- creates and binds the Pi `AgentSession`;
|
|
95
|
+
- returns one idempotent `dispose()` boundary.
|
|
96
|
+
|
|
97
|
+
The returned `RecipeSessionHandle` exposes:
|
|
98
|
+
|
|
99
|
+
- `session` — Pi prompt, steer, follow-up, abort, messages, and events;
|
|
100
|
+
- `agent` — the selected resolved portable definition;
|
|
101
|
+
- `agentRuns` — the subagent run controller;
|
|
102
|
+
- `dispose()` — child, session, instrumentation, and MCP cleanup.
|
|
103
|
+
|
|
104
|
+
Host injection is intentional. A managed host can supply durable session state,
|
|
105
|
+
cross-process subagent execution, inline endpoint bindings, platform
|
|
106
|
+
extensions, its own settings, an event bus, host tools, and a
|
|
107
|
+
gateway-decorated model without reimplementing Recipe semantics. The Recipe
|
|
108
|
+
continues to own model configuration and tool selection; host seams replace
|
|
109
|
+
transport and materialized resources, not the portable definition.
|
|
110
|
+
|
|
111
|
+
The default in-process subagent controller uses that same Recipe snapshot for
|
|
112
|
+
every child, so no session reparses the package or observes a different source
|
|
113
|
+
snapshot. Injected controllers own child selection and execution after the root
|
|
114
|
+
session is constructed.
|
|
115
|
+
|
|
116
|
+
An injected `runController` is owned by the returned session handle.
|
|
117
|
+
`dispose()` calls the controller's `shutdown()` exactly once; controller
|
|
118
|
+
implementations use it to release all live child sessions and controller-level
|
|
119
|
+
resources. `close(id)` remains the lifecycle operation for one run.
|
|
120
|
+
|
|
121
|
+
Recipes are trusted application code, not untrusted data. A package can contain
|
|
122
|
+
TypeScript extensions that execute in the Pi process with that process's
|
|
123
|
+
filesystem, environment, and network authority. Hosts accepting third-party
|
|
124
|
+
Recipes must provide their own review, sandbox, and tenant-isolation boundary
|
|
125
|
+
before session construction.
|
|
126
|
+
|
|
127
|
+
In CLI mode, default MCP provisioning leases the supplied `env` object until
|
|
128
|
+
the handle is disposed and restores its prior MCP/PATH state afterward.
|
|
129
|
+
Concurrent CLI sessions must receive separate environment objects. Tools mode
|
|
130
|
+
uses an isolated session environment and does not expose its MCP runtime to
|
|
131
|
+
shell tools. A host that provisions MCP separately passes
|
|
132
|
+
`mcpProvisioning: "host"` to each session.
|
|
133
|
+
|
|
134
|
+
## Inspection
|
|
135
|
+
|
|
136
|
+
```ts
|
|
137
|
+
import { inspectRecipe } from "@introspection-ai/recipes/inspect";
|
|
138
|
+
|
|
139
|
+
const requirements = inspectRecipe(recipe);
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Inspection derives agents, providers, expected credential variables, required
|
|
143
|
+
and optional MCP servers, and resource counts without creating a session.
|
|
144
|
+
Concrete binding files remain host state and are intentionally excluded.
|
|
145
|
+
|
|
146
|
+
## Pi prompt templates
|
|
147
|
+
|
|
148
|
+
Recipe prompt templates are ordinary Pi prompt templates. No Recipes-specific
|
|
149
|
+
invocation API is added:
|
|
150
|
+
|
|
151
|
+
```ts
|
|
152
|
+
const names = handle.session.promptTemplates.map((template) => template.name);
|
|
153
|
+
await handle.session.prompt("/review src/auth.ts");
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Pi expands the slash command and its arguments through the standard
|
|
157
|
+
`AgentSession.prompt()` behavior.
|
|
158
|
+
|
|
159
|
+
## OpenTelemetry
|
|
160
|
+
|
|
161
|
+
Pass a tracer through `otel` to attach the JS SDK's OpenTelemetry GenAI
|
|
162
|
+
semantic-convention instrumentation to the session. Recipes derives default
|
|
163
|
+
agent identity from the resolved package and generates a conversation id when
|
|
164
|
+
the host does not provide one. The default in-process subagent controller
|
|
165
|
+
inherits that conversation id while each child derives its own Recipe agent
|
|
166
|
+
identity. Injected run controllers own their child-session instrumentation.
|
|
167
|
+
|
|
168
|
+
Recipes does not create or register an OTel provider, processor, exporter, or
|
|
169
|
+
global context manager. The host owns that pipeline and its content policy, so
|
|
170
|
+
the same session instrumentation works with any OTLP-compatible backend. A
|
|
171
|
+
host that needs structure-only traces can wrap its exporter with
|
|
172
|
+
`GenAiContentScrubbingExporter` from `@introspection-sdk/introspection-pi`.
|
|
173
|
+
|
|
174
|
+
Hosts must flush and shut down their provider with the host lifecycle.
|
|
175
|
+
|
|
176
|
+
## Host conformance
|
|
177
|
+
|
|
178
|
+
```ts
|
|
179
|
+
import { hostConformanceCases } from "@introspection-ai/recipes/test-utils";
|
|
180
|
+
|
|
181
|
+
for (const testCase of hostConformanceCases(myHost)) {
|
|
182
|
+
it(testCase.name, testCase.run);
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Passing the suite means the host is using the same session construction
|
|
187
|
+
contract as Pi. Protocol behavior, persistence, tenancy, and
|
|
188
|
+
deployment remain host-specific and require their own tests.
|
|
189
|
+
|
|
190
|
+
## Deliberate non-features
|
|
191
|
+
|
|
192
|
+
The package does not provide:
|
|
193
|
+
|
|
194
|
+
- an HTTP server or wire protocol;
|
|
195
|
+
- a task database or task state machine;
|
|
196
|
+
- a scheduler or queue;
|
|
197
|
+
- sandbox or tenant isolation;
|
|
198
|
+
- a deployment CLI;
|
|
199
|
+
- provider-specific hosting integrations.
|
|
200
|
+
|
|
201
|
+
Those layers compose above `createAgentSession`.
|