@introspection-ai/recipes 0.25.1 → 0.26.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 (98) hide show
  1. package/dist/mcp-chunks/{auth-command-4WFRNU2I.js → auth-command-JBYNHHMV.js} +23 -27
  2. package/dist/mcp-chunks/call-arguments-S4EGFKUQ.js +15 -0
  3. package/dist/mcp-chunks/{call-command-JBIKXOGC.js → call-command-467BVXTE.js} +32 -33
  4. package/dist/mcp-chunks/{chunk-IPNSPKQK.js → chunk-3Q2Q7SBU.js} +12 -14
  5. package/dist/mcp-chunks/chunk-66P5FXP3.js +31 -0
  6. package/dist/mcp-chunks/{chunk-TF2YTYE4.js → chunk-6DVS7RBO.js} +1 -1
  7. package/dist/mcp-chunks/{chunk-IME7DGLJ.js → chunk-AK5ZEDEF.js} +2 -2
  8. package/dist/mcp-chunks/{chunk-OP3IW2V6.js → chunk-AP5VHS73.js} +2 -2
  9. package/dist/mcp-chunks/{chunk-B2LNXGAP.js → chunk-AS27BTCS.js} +1 -1
  10. package/dist/mcp-chunks/{chunk-MOEZ43ZL.js → chunk-BC2HDCYV.js} +1 -1
  11. package/dist/mcp-chunks/{chunk-RSTKSBVF.js → chunk-BSCNF4NY.js} +2 -2
  12. package/dist/mcp-chunks/chunk-BTU34BUG.js +1182 -0
  13. package/dist/mcp-chunks/{chunk-HN7WPMCA.js → chunk-CN5YF3IQ.js} +21042 -3688
  14. package/dist/mcp-chunks/{chunk-G6OMDUNG.js → chunk-CZ43ZITK.js} +1 -1
  15. package/dist/mcp-chunks/{chunk-JG4TRUPF.js → chunk-D2P2IV4H.js} +1 -1
  16. package/dist/mcp-chunks/{chunk-3R2WK3NB.js → chunk-DMBE47LM.js} +6 -6
  17. package/dist/mcp-chunks/{chunk-WTMJMM3B.js → chunk-EP22XMWK.js} +3 -30
  18. package/dist/mcp-chunks/{chunk-ITCCROID.js → chunk-EUDC3ICZ.js} +5 -5
  19. package/dist/mcp-chunks/{chunk-FX5NYWBH.js → chunk-G4H535MI.js} +3 -21
  20. package/dist/mcp-chunks/{chunk-HCOKLSOB.js → chunk-GA4ZYSRX.js} +4 -4
  21. package/dist/mcp-chunks/{chunk-C2KNLFZR.js → chunk-GEVQ2GJW.js} +2 -2
  22. package/dist/mcp-chunks/{chunk-WYLHHXI6.js → chunk-GK4LA4E6.js} +26 -11
  23. package/dist/mcp-chunks/{chunk-QZUC2T72.js → chunk-GL4AA5QV.js} +2 -2
  24. package/dist/mcp-chunks/{chunk-KW3ANJ36.js → chunk-HBN3ESMH.js} +4 -4
  25. package/dist/mcp-chunks/{chunk-ELA77TDC.js → chunk-HKZZGSDV.js} +4 -4
  26. package/dist/mcp-chunks/{chunk-36VIJRYY.js → chunk-HTXQPQPB.js} +4 -4
  27. package/dist/mcp-chunks/{chunk-3JGS7LQB.js → chunk-I7JR2GIC.js} +2 -2
  28. package/dist/mcp-chunks/{chunk-AIKLVBYU.js → chunk-IO2IMWYS.js} +2 -2
  29. package/dist/mcp-chunks/{chunk-RD7NHCRK.js → chunk-J2WP6ERZ.js} +39 -42
  30. package/dist/mcp-chunks/{chunk-HLRCUHNO.js → chunk-KJNNO5Z6.js} +1 -1
  31. package/dist/mcp-chunks/{chunk-4ZNBWL65.js → chunk-L2LGMX5P.js} +2 -2
  32. package/dist/mcp-chunks/chunk-LG3GLOSA.js +513 -0
  33. package/dist/mcp-chunks/{chunk-CZKDJZER.js → chunk-LTR626QF.js} +1 -1
  34. package/dist/mcp-chunks/{chunk-FS5JIKT6.js → chunk-LYWEATXZ.js} +6 -6
  35. package/dist/mcp-chunks/{chunk-YIRGLKDA.js → chunk-M62ESEOY.js} +45 -14
  36. package/dist/mcp-chunks/{chunk-V5AYEKSL.js → chunk-MJHMXYMO.js} +52 -81
  37. package/dist/mcp-chunks/{chunk-7WOKCV6Q.js → chunk-N7ZWX3WW.js} +1 -1
  38. package/dist/mcp-chunks/chunk-NTABJCUL.js +123 -0
  39. package/dist/mcp-chunks/{chunk-EPT4MYOF.js → chunk-OABFKFSL.js} +11 -11
  40. package/dist/mcp-chunks/{chunk-SCOMDV54.js → chunk-OB256NMD.js} +1 -1
  41. package/dist/mcp-chunks/{chunk-IYWYVHHD.js → chunk-OZQTZWW4.js} +1 -1
  42. package/dist/mcp-chunks/{chunk-ITR7FQM3.js → chunk-QIBGY4IX.js} +2 -2
  43. package/dist/mcp-chunks/{chunk-ZOAQDFAO.js → chunk-REEFOL44.js} +1 -1
  44. package/dist/mcp-chunks/{chunk-ED2WN5BI.js → chunk-SUNOYTQJ.js} +3 -3
  45. package/dist/mcp-chunks/{chunk-Y3EDWN2P.js → chunk-TFU4NKFJ.js} +1 -1
  46. package/dist/mcp-chunks/{chunk-EMSNQHZZ.js → chunk-TGPIW6F6.js} +1 -1
  47. package/dist/mcp-chunks/{chunk-SNKXMWDB.js → chunk-UCJ7YDFN.js} +1 -1
  48. package/dist/mcp-chunks/{chunk-TPHPAEDH.js → chunk-WUEDIOR5.js} +1 -1
  49. package/dist/mcp-chunks/{chunk-FAJPJTOC.js → chunk-XCNWICLD.js} +1 -1
  50. package/dist/mcp-chunks/{chunk-6YZW3XAE.js → chunk-XFQSUC7T.js} +5 -5
  51. package/dist/mcp-chunks/{chunk-GQ6NSIDS.js → chunk-Y3L5LWBY.js} +3037 -747
  52. package/dist/mcp-chunks/{chunk-53NRFMB3.js → chunk-YI5SMRFH.js} +46 -25
  53. package/dist/mcp-chunks/{chunk-GUXMP7QB.js → chunk-YPTN46JQ.js} +2 -2
  54. package/dist/mcp-chunks/{chunk-I5GI2A2D.js → chunk-YVH36MGQ.js} +2 -2
  55. package/dist/mcp-chunks/{chunk-ASG4OY3M.js → chunk-Z6QEOUMK.js} +22 -23
  56. package/dist/mcp-chunks/{cli-XU26MUCN.js → cli-TN6JTLTS.js} +108 -77
  57. package/dist/mcp-chunks/client-G33HPQAC.js +29 -0
  58. package/dist/mcp-chunks/{config-command-UQMMIK2U.js → config-command-LICU56ZH.js} +27 -28
  59. package/dist/mcp-chunks/daemon-command-JLVHGWHB.js +29 -0
  60. package/dist/mcp-chunks/{dist-DM2RXZMU.js → dist-MFAWSKGH.js} +80 -46
  61. package/dist/mcp-chunks/{emit-ts-command-KAOL6DAN.js → emit-ts-command-FVX3JMSN.js} +18 -18
  62. package/dist/mcp-chunks/{generate-cli-runner-AK6XNRTK.js → generate-cli-runner-L2L7VMCA.js} +53 -51
  63. package/dist/mcp-chunks/generated-daemon-runtime-DC6IL7E7.js +29 -0
  64. package/dist/mcp-chunks/{inspect-cli-command-6FVJO7H2.js → inspect-cli-command-Y5D3GRE2.js} +9 -10
  65. package/dist/mcp-chunks/{launch-EIT73HX4.js → launch-ZFY6CM2A.js} +1 -1
  66. package/dist/mcp-chunks/{lifecycle-QH4TUI3K.js → lifecycle-H7DIW5DM.js} +1 -1
  67. package/dist/mcp-chunks/{list-command-UOB2XZK7.js → list-command-55LCLW4S.js} +34 -35
  68. package/dist/mcp-chunks/{output-utils-6YXH23T7.js → output-utils-YYHI637S.js} +3 -3
  69. package/dist/mcp-chunks/{prompt-CH6TK0bC-ZB6RFAXR.js → prompt-CH6TK0bC-DZLFAAPK.js} +1 -1
  70. package/dist/mcp-chunks/{record-command-FO5TTERC.js → record-command-PWIBYC5J.js} +5 -5
  71. package/dist/mcp-chunks/{replay-command-SCBPCGQ7.js → replay-command-QHZZZMXF.js} +6 -6
  72. package/dist/mcp-chunks/{resource-command-S2J7XEMV.js → resource-command-HMR2KXWK.js} +9 -10
  73. package/dist/mcp-chunks/{result-utils-OME6HGS6.js → result-utils-UGCQSRJ4.js} +3 -4
  74. package/dist/mcp-chunks/runtime-ZNFPZXKE.js +36 -0
  75. package/dist/mcp-chunks/runtime-wrapper-I4B3OROR.js +10 -0
  76. package/dist/mcp-chunks/{serve-command-DDBZZSG6.js → serve-command-NTDI3YPN.js} +29 -34
  77. package/dist/mcp-chunks/{timeouts-HNGNKDQN.js → timeouts-35UDWFA7.js} +3 -3
  78. package/dist/mcp-chunks/{vault-command-TJZYS3YI.js → vault-command-D5QZL4FI.js} +4 -6
  79. package/dist/mcp-daemon.js +26 -31
  80. package/dist/mcp-run-worker.js +26 -31
  81. package/docs/pi-extension.md +1 -1
  82. package/docs/recipe-format.md +7 -3
  83. package/docs/recipe-templates.md +46 -0
  84. package/package.json +14 -14
  85. package/dist/mcp-chunks/call-arguments-4DWPBLQP.js +0 -15
  86. package/dist/mcp-chunks/chunk-3Z7MFS6K.js +0 -86
  87. package/dist/mcp-chunks/chunk-AD3FQ73K.js +0 -39
  88. package/dist/mcp-chunks/chunk-BWW4XRUC.js +0 -1931
  89. package/dist/mcp-chunks/chunk-DTZHEVKC.js +0 -12
  90. package/dist/mcp-chunks/chunk-H3JCYHGS.js +0 -1018
  91. package/dist/mcp-chunks/chunk-IRTJXFWA.js +0 -28
  92. package/dist/mcp-chunks/chunk-NTHUNCXJ.js +0 -526
  93. package/dist/mcp-chunks/chunk-OD3MSMXY.js +0 -15
  94. package/dist/mcp-chunks/chunk-PZ323CXI.js +0 -17394
  95. package/dist/mcp-chunks/client-OT34CKRH.js +0 -21
  96. package/dist/mcp-chunks/daemon-command-YCIOZGPZ.js +0 -35
  97. package/dist/mcp-chunks/runtime-QIPMLIJI.js +0 -39
  98. package/dist/mcp-chunks/runtime-wrapper-X4YFKMJI.js +0 -16
@@ -1,24 +1,36 @@
1
1
  import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
2
2
  import {
3
3
  createKeepAliveRuntime
4
- } from "./chunk-V5AYEKSL.js";
4
+ } from "./chunk-MJHMXYMO.js";
5
+ import {
6
+ DaemonClient
7
+ } from "./chunk-BTU34BUG.js";
5
8
  import {
6
9
  createRuntime
7
- } from "./chunk-GQ6NSIDS.js";
10
+ } from "./chunk-Y3L5LWBY.js";
11
+ import "./chunk-AS27BTCS.js";
8
12
  import {
9
13
  createNonInteractiveElicitationResponder
10
- } from "./chunk-ZOAQDFAO.js";
11
- import "./chunk-OP3IW2V6.js";
12
- import "./chunk-YIRGLKDA.js";
13
- import "./chunk-ASG4OY3M.js";
14
- import "./chunk-53NRFMB3.js";
15
- import "./chunk-IRTJXFWA.js";
16
- import "./chunk-EMSNQHZZ.js";
14
+ } from "./chunk-REEFOL44.js";
15
+ import "./chunk-AP5VHS73.js";
16
+ import "./chunk-M62ESEOY.js";
17
+ import "./chunk-Z6QEOUMK.js";
18
+ import "./chunk-YI5SMRFH.js";
19
+ import "./chunk-N7ZWX3WW.js";
20
+ import "./chunk-TGPIW6F6.js";
17
21
  import {
18
22
  MCPORTER_VERSION
19
- } from "./chunk-OD3MSMXY.js";
20
- import "./chunk-7WOKCV6Q.js";
21
- import "./chunk-QZUC2T72.js";
23
+ } from "./chunk-NTABJCUL.js";
24
+ import "./chunk-YVH36MGQ.js";
25
+ import "./chunk-J2WP6ERZ.js";
26
+ import "./chunk-QIBGY4IX.js";
27
+ import "./chunk-G4H535MI.js";
28
+ import "./chunk-LYWEATXZ.js";
29
+ import "./chunk-EP22XMWK.js";
30
+ import {
31
+ isKeepAliveServer
32
+ } from "./chunk-D2P2IV4H.js";
33
+ import "./chunk-GL4AA5QV.js";
22
34
  import {
23
35
  AnnotationsSchema,
24
36
  AudioContentSchema,
@@ -206,24 +218,7 @@ import {
206
218
  UnsubscribeRequestParamsSchema,
207
219
  UnsubscribeRequestSchema,
208
220
  UntitledMultiSelectEnumSchemaSchema,
209
- UntitledSingleSelectEnumSchemaSchema
210
- } from "./chunk-PZ323CXI.js";
211
- import {
212
- DaemonClient
213
- } from "./chunk-NTHUNCXJ.js";
214
- import "./chunk-3Z7MFS6K.js";
215
- import "./chunk-BWW4XRUC.js";
216
- import "./chunk-DTZHEVKC.js";
217
- import "./chunk-I5GI2A2D.js";
218
- import "./chunk-RD7NHCRK.js";
219
- import "./chunk-ITR7FQM3.js";
220
- import "./chunk-FX5NYWBH.js";
221
- import "./chunk-FS5JIKT6.js";
222
- import "./chunk-WTMJMM3B.js";
223
- import {
224
- isKeepAliveServer
225
- } from "./chunk-JG4TRUPF.js";
226
- import {
221
+ UntitledSingleSelectEnumSchemaSchema,
227
222
  _enum,
228
223
  _null,
229
224
  array,
@@ -246,10 +241,10 @@ import {
246
241
  union,
247
242
  unknown,
248
243
  url
249
- } from "./chunk-HN7WPMCA.js";
244
+ } from "./chunk-CN5YF3IQ.js";
250
245
  import "./chunk-LRKZP7DJ.js";
251
246
 
252
- // node_modules/.pnpm/mcporter@0.13.8/node_modules/mcporter/dist/serve.js
247
+ // node_modules/.pnpm/mcporter@0.13.10/node_modules/mcporter/dist/serve.js
253
248
  import http from "node:http";
254
249
  import { Readable } from "node:stream";
255
250
  import { pipeline } from "node:stream/promises";
@@ -15577,7 +15572,7 @@ function toError2(value) {
15577
15572
  return value instanceof Error ? value : new Error(String(value));
15578
15573
  }
15579
15574
 
15580
- // node_modules/.pnpm/mcporter@0.13.8/node_modules/mcporter/dist/serve.js
15575
+ // node_modules/.pnpm/mcporter@0.13.10/node_modules/mcporter/dist/serve.js
15581
15576
  var TOOL_SEPARATOR = "__";
15582
15577
  var DEFAULT_OBJECT_SCHEMA = { type: "object" };
15583
15578
  var DEFAULT_SERVE_HTTP_HOST = "127.0.0.1";
@@ -15847,7 +15842,7 @@ function isSchemaRecord(schema) {
15847
15842
  return !!schema && typeof schema === "object" && !Array.isArray(schema);
15848
15843
  }
15849
15844
 
15850
- // node_modules/.pnpm/mcporter@0.13.8/node_modules/mcporter/dist/cli/serve-command.js
15845
+ // node_modules/.pnpm/mcporter@0.13.10/node_modules/mcporter/dist/cli/serve-command.js
15851
15846
  async function handleServeCli(args, options) {
15852
15847
  const parsed = parseServeArgs(args);
15853
15848
  const elicitation = createNonInteractiveElicitationResponder({
@@ -7,9 +7,9 @@ import {
7
7
  parseTimeout,
8
8
  resolveCallTimeout,
9
9
  withTimeout
10
- } from "./chunk-AIKLVBYU.js";
11
- import "./chunk-I5GI2A2D.js";
12
- import "./chunk-WTMJMM3B.js";
10
+ } from "./chunk-IO2IMWYS.js";
11
+ import "./chunk-YVH36MGQ.js";
12
+ import "./chunk-EP22XMWK.js";
13
13
  import "./chunk-LRKZP7DJ.js";
14
14
  export {
15
15
  LIST_TIMEOUT_MS,
@@ -1,19 +1,17 @@
1
1
  import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
2
2
  import {
3
3
  CliUsageError
4
- } from "./chunk-CZKDJZER.js";
4
+ } from "./chunk-LTR626QF.js";
5
5
  import {
6
6
  clearVaultEntry,
7
7
  getOAuthVaultPath,
8
8
  prepareStoredTokens,
9
9
  saveVaultEntry
10
- } from "./chunk-53NRFMB3.js";
11
- import "./chunk-ITR7FQM3.js";
12
- import "./chunk-FS5JIKT6.js";
13
- import "./chunk-WTMJMM3B.js";
10
+ } from "./chunk-YI5SMRFH.js";
11
+ import "./chunk-QIBGY4IX.js";
14
12
  import "./chunk-LRKZP7DJ.js";
15
13
 
16
- // node_modules/.pnpm/mcporter@0.13.8/node_modules/mcporter/dist/cli/vault-command.js
14
+ // node_modules/.pnpm/mcporter@0.13.10/node_modules/mcporter/dist/cli/vault-command.js
17
15
  import fs from "node:fs/promises";
18
16
  async function handleVault(runtime, args, options = {}) {
19
17
  const subcommand = args.shift();
@@ -12,39 +12,34 @@ import {
12
12
  installMcpCommandIoRouting,
13
13
  mcpDaemonRequestContext,
14
14
  serializeMcpDaemonEnvelope
15
- } from "./mcp-chunks/chunk-ED2WN5BI.js";
16
- import "./mcp-chunks/chunk-V5AYEKSL.js";
17
- import "./mcp-chunks/chunk-H3JCYHGS.js";
18
- import "./mcp-chunks/chunk-AD3FQ73K.js";
19
- import "./mcp-chunks/chunk-B2LNXGAP.js";
20
- import "./mcp-chunks/chunk-4ZNBWL65.js";
15
+ } from "./mcp-chunks/chunk-SUNOYTQJ.js";
16
+ import "./mcp-chunks/chunk-66P5FXP3.js";
17
+ import "./mcp-chunks/chunk-MJHMXYMO.js";
18
+ import "./mcp-chunks/chunk-LG3GLOSA.js";
19
+ import "./mcp-chunks/chunk-L2LGMX5P.js";
20
+ import "./mcp-chunks/chunk-GK4LA4E6.js";
21
+ import "./mcp-chunks/chunk-BTU34BUG.js";
21
22
  import {
22
23
  createRuntime
23
- } from "./mcp-chunks/chunk-GQ6NSIDS.js";
24
- import "./mcp-chunks/chunk-ZOAQDFAO.js";
25
- import "./mcp-chunks/chunk-OP3IW2V6.js";
26
- import "./mcp-chunks/chunk-YIRGLKDA.js";
27
- import "./mcp-chunks/chunk-ASG4OY3M.js";
28
- import "./mcp-chunks/chunk-53NRFMB3.js";
29
- import "./mcp-chunks/chunk-IRTJXFWA.js";
30
- import "./mcp-chunks/chunk-EMSNQHZZ.js";
31
- import "./mcp-chunks/chunk-OD3MSMXY.js";
32
- import "./mcp-chunks/chunk-7WOKCV6Q.js";
33
- import "./mcp-chunks/chunk-QZUC2T72.js";
34
- import "./mcp-chunks/chunk-PZ323CXI.js";
35
- import "./mcp-chunks/chunk-WYLHHXI6.js";
36
- import "./mcp-chunks/chunk-NTHUNCXJ.js";
37
- import "./mcp-chunks/chunk-3Z7MFS6K.js";
38
- import "./mcp-chunks/chunk-BWW4XRUC.js";
39
- import "./mcp-chunks/chunk-DTZHEVKC.js";
40
- import "./mcp-chunks/chunk-I5GI2A2D.js";
41
- import "./mcp-chunks/chunk-RD7NHCRK.js";
42
- import "./mcp-chunks/chunk-ITR7FQM3.js";
43
- import "./mcp-chunks/chunk-FX5NYWBH.js";
44
- import "./mcp-chunks/chunk-FS5JIKT6.js";
45
- import "./mcp-chunks/chunk-WTMJMM3B.js";
46
- import "./mcp-chunks/chunk-JG4TRUPF.js";
47
- import "./mcp-chunks/chunk-HN7WPMCA.js";
24
+ } from "./mcp-chunks/chunk-Y3L5LWBY.js";
25
+ import "./mcp-chunks/chunk-AS27BTCS.js";
26
+ import "./mcp-chunks/chunk-REEFOL44.js";
27
+ import "./mcp-chunks/chunk-AP5VHS73.js";
28
+ import "./mcp-chunks/chunk-M62ESEOY.js";
29
+ import "./mcp-chunks/chunk-Z6QEOUMK.js";
30
+ import "./mcp-chunks/chunk-YI5SMRFH.js";
31
+ import "./mcp-chunks/chunk-N7ZWX3WW.js";
32
+ import "./mcp-chunks/chunk-TGPIW6F6.js";
33
+ import "./mcp-chunks/chunk-NTABJCUL.js";
34
+ import "./mcp-chunks/chunk-YVH36MGQ.js";
35
+ import "./mcp-chunks/chunk-J2WP6ERZ.js";
36
+ import "./mcp-chunks/chunk-QIBGY4IX.js";
37
+ import "./mcp-chunks/chunk-G4H535MI.js";
38
+ import "./mcp-chunks/chunk-LYWEATXZ.js";
39
+ import "./mcp-chunks/chunk-EP22XMWK.js";
40
+ import "./mcp-chunks/chunk-D2P2IV4H.js";
41
+ import "./mcp-chunks/chunk-GL4AA5QV.js";
42
+ import "./mcp-chunks/chunk-CN5YF3IQ.js";
48
43
  import "./mcp-chunks/chunk-LRKZP7DJ.js";
49
44
 
50
45
  // src/mcp-daemon.ts
@@ -2,37 +2,32 @@ import { createRequire as __createRequire } from "node:module"; const require =
2
2
  import {
3
3
  executeMcpCommand,
4
4
  installMcpCommandIoRouting
5
- } from "./mcp-chunks/chunk-ED2WN5BI.js";
6
- import "./mcp-chunks/chunk-V5AYEKSL.js";
7
- import "./mcp-chunks/chunk-H3JCYHGS.js";
8
- import "./mcp-chunks/chunk-AD3FQ73K.js";
9
- import "./mcp-chunks/chunk-B2LNXGAP.js";
10
- import "./mcp-chunks/chunk-4ZNBWL65.js";
11
- import "./mcp-chunks/chunk-GQ6NSIDS.js";
12
- import "./mcp-chunks/chunk-ZOAQDFAO.js";
13
- import "./mcp-chunks/chunk-OP3IW2V6.js";
14
- import "./mcp-chunks/chunk-YIRGLKDA.js";
15
- import "./mcp-chunks/chunk-ASG4OY3M.js";
16
- import "./mcp-chunks/chunk-53NRFMB3.js";
17
- import "./mcp-chunks/chunk-IRTJXFWA.js";
18
- import "./mcp-chunks/chunk-EMSNQHZZ.js";
19
- import "./mcp-chunks/chunk-OD3MSMXY.js";
20
- import "./mcp-chunks/chunk-7WOKCV6Q.js";
21
- import "./mcp-chunks/chunk-QZUC2T72.js";
22
- import "./mcp-chunks/chunk-PZ323CXI.js";
23
- import "./mcp-chunks/chunk-WYLHHXI6.js";
24
- import "./mcp-chunks/chunk-NTHUNCXJ.js";
25
- import "./mcp-chunks/chunk-3Z7MFS6K.js";
26
- import "./mcp-chunks/chunk-BWW4XRUC.js";
27
- import "./mcp-chunks/chunk-DTZHEVKC.js";
28
- import "./mcp-chunks/chunk-I5GI2A2D.js";
29
- import "./mcp-chunks/chunk-RD7NHCRK.js";
30
- import "./mcp-chunks/chunk-ITR7FQM3.js";
31
- import "./mcp-chunks/chunk-FX5NYWBH.js";
32
- import "./mcp-chunks/chunk-FS5JIKT6.js";
33
- import "./mcp-chunks/chunk-WTMJMM3B.js";
34
- import "./mcp-chunks/chunk-JG4TRUPF.js";
35
- import "./mcp-chunks/chunk-HN7WPMCA.js";
5
+ } from "./mcp-chunks/chunk-SUNOYTQJ.js";
6
+ import "./mcp-chunks/chunk-66P5FXP3.js";
7
+ import "./mcp-chunks/chunk-MJHMXYMO.js";
8
+ import "./mcp-chunks/chunk-LG3GLOSA.js";
9
+ import "./mcp-chunks/chunk-L2LGMX5P.js";
10
+ import "./mcp-chunks/chunk-GK4LA4E6.js";
11
+ import "./mcp-chunks/chunk-BTU34BUG.js";
12
+ import "./mcp-chunks/chunk-Y3L5LWBY.js";
13
+ import "./mcp-chunks/chunk-AS27BTCS.js";
14
+ import "./mcp-chunks/chunk-REEFOL44.js";
15
+ import "./mcp-chunks/chunk-AP5VHS73.js";
16
+ import "./mcp-chunks/chunk-M62ESEOY.js";
17
+ import "./mcp-chunks/chunk-Z6QEOUMK.js";
18
+ import "./mcp-chunks/chunk-YI5SMRFH.js";
19
+ import "./mcp-chunks/chunk-N7ZWX3WW.js";
20
+ import "./mcp-chunks/chunk-TGPIW6F6.js";
21
+ import "./mcp-chunks/chunk-NTABJCUL.js";
22
+ import "./mcp-chunks/chunk-YVH36MGQ.js";
23
+ import "./mcp-chunks/chunk-J2WP6ERZ.js";
24
+ import "./mcp-chunks/chunk-QIBGY4IX.js";
25
+ import "./mcp-chunks/chunk-G4H535MI.js";
26
+ import "./mcp-chunks/chunk-LYWEATXZ.js";
27
+ import "./mcp-chunks/chunk-EP22XMWK.js";
28
+ import "./mcp-chunks/chunk-D2P2IV4H.js";
29
+ import "./mcp-chunks/chunk-GL4AA5QV.js";
30
+ import "./mcp-chunks/chunk-CN5YF3IQ.js";
36
31
  import "./mcp-chunks/chunk-LRKZP7DJ.js";
37
32
 
38
33
  // src/mcp-run-worker.ts
@@ -29,7 +29,7 @@ For direct Pi use:
29
29
  pi install npm:@introspection-ai/recipes
30
30
  ```
31
31
 
32
- Recipes currently requires Node.js 24 or later and Pi `^0.82`.
32
+ Recipes currently requires Node.js 24 or later and Pi `>=0.86.1`.
33
33
 
34
34
  ## Selection
35
35
 
@@ -77,9 +77,13 @@ 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 one supported dependency lockfile: `package-lock.json`,
81
- `npm-shrinkwrap.json`, `pnpm-lock.yaml`, or `yarn.lock`. npm lockfiles MUST
82
- carry the same package name and version as `package.json`.
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`,
84
+ `npm-shrinkwrap.json` and `yarn.lock` are rejected: they pin nothing that is
85
+ read. An npm lockfile left in the tree MUST still carry the same package name
86
+ and version as `package.json`.
83
87
 
84
88
  ## Channel tools
85
89
 
@@ -0,0 +1,46 @@
1
+ # Recipe templates
2
+
3
+ A template repository declares ordered variables in `template.yaml` and keeps
4
+ its generated files under `template/`. Without `template.yaml`, the whole
5
+ repository is the payload, even if it contains a directory named `template/`. Only files ending in `.tmpl` have their
6
+ contents rendered; the suffix is removed. Paths are rendered too. Other content
7
+ is passed through as supplied by the snapshot host.
8
+
9
+ `{{ name }}` inserts a value as raw text. For YAML or JSON values, use an explicit
10
+ encoding without surrounding quotes:
11
+
12
+ ```yaml
13
+ name: {{ name | yaml }}
14
+ ```
15
+
16
+ ```json
17
+ {"name": {{ name | json }}}
18
+ ```
19
+
20
+ Both encodings serialize the typed value as JSON, which is also valid YAML.
21
+ Strings are quoted and escaped; booleans and integers retain their types. These
22
+ are serialization options, not an expression language. Unknown variables and
23
+ encodings fail rendering, and inserted values are never rendered again.
24
+
25
+ A variable's `when` must refer to an earlier boolean variable. A false condition
26
+ suppresses the requirement for a supplied value; it does not remove the binding.
27
+ Defaults still apply, otherwise inactive values render as empty strings, false,
28
+ or zero according to their type.
29
+
30
+ Generated paths must be nonempty relative paths using `/`, with no parent or
31
+ current-directory components, drive prefixes, backslashes, control characters,
32
+ or `.git` components. Windows device names, trailing dots/spaces, and
33
+ Windows-invalid filename characters are rejected on every host. Duplicate files and file/directory conflicts, including
34
+ implicit parent directories, are rejected before returning a snapshot.
35
+
36
+ `ensure_identity` validates the Runtime slug and parses YAML and JSON before
37
+ updating identity. It decodes the manifest's package path as YAML. Documents
38
+ whose identity already matches are preserved; modified identity documents are
39
+ reserialized and may lose comments or change formatting. Invalid or unread
40
+ identity documents fail rather than silently skipping the update.
41
+
42
+ The Python directory loader excludes symlinks, `.git` files, and dependency/build
43
+ directories at every depth. It rejects UNC/device paths and remote `file://`
44
+ hosts before probing the filesystem. On Windows, local drive URLs such as
45
+ `file:///C:/templates/x` are converted to native drive paths. Files that cannot be read as UTF-8 remain
46
+ unread entries; a host needing binary payloads must preserve their bytes itself.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@introspection-ai/recipes",
3
- "version": "0.25.1",
3
+ "version": "0.26.0",
4
4
  "description": "The open format for vertical agents, built on Pi.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -84,21 +84,21 @@
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.8",
87
+ "mcporter": "0.13.10",
88
88
  "yaml": "^2.9.0"
89
89
  },
90
90
  "peerDependencies": {
91
- "@earendil-works/pi-agent-core": ">=0.82.0 <0.85.0",
92
- "@earendil-works/pi-ai": ">=0.82.0 <0.85.0",
93
- "@earendil-works/pi-coding-agent": ">=0.82.0 <0.85.0",
94
- "@earendil-works/pi-tui": ">=0.82.0 <0.85.0",
91
+ "@earendil-works/pi-agent-core": ">=0.86.1",
92
+ "@earendil-works/pi-ai": ">=0.86.1",
93
+ "@earendil-works/pi-coding-agent": ">=0.86.1",
94
+ "@earendil-works/pi-tui": ">=0.86.1",
95
95
  "typebox": "*"
96
96
  },
97
97
  "devDependencies": {
98
- "@earendil-works/pi-agent-core": "0.84.4",
99
- "@earendil-works/pi-ai": "0.84.4",
100
- "@earendil-works/pi-coding-agent": "0.84.4",
101
- "@earendil-works/pi-tui": "0.84.4",
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",
102
102
  "@types/node": "^26.1.2",
103
103
  "esbuild": "^0.28.1",
104
104
  "typebox": "^1.0.56",
@@ -106,10 +106,10 @@
106
106
  "vitest": "^4.0.18"
107
107
  },
108
108
  "optionalDependencies": {
109
- "@introspection-ai/mcp-client-linux-x64": "0.25.1",
110
- "@introspection-ai/mcp-client-linux-arm64": "0.25.1",
111
- "@introspection-ai/mcp-client-darwin-arm64": "0.25.1",
112
- "@introspection-ai/mcp-client-darwin-x64": "0.25.1"
109
+ "@introspection-ai/mcp-client-linux-x64": "0.26.0",
110
+ "@introspection-ai/mcp-client-linux-arm64": "0.26.0",
111
+ "@introspection-ai/mcp-client-darwin-arm64": "0.26.0",
112
+ "@introspection-ai/mcp-client-darwin-x64": "0.26.0"
113
113
  },
114
114
  "scripts": {
115
115
  "build": "pnpm build:ts && pnpm build:native",
@@ -1,15 +0,0 @@
1
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
2
- import {
3
- parseCallArguments
4
- } from "./chunk-EPT4MYOF.js";
5
- import "./chunk-CZKDJZER.js";
6
- import "./chunk-AIKLVBYU.js";
7
- import "./chunk-MOEZ43ZL.js";
8
- import "./chunk-G6OMDUNG.js";
9
- import "./chunk-Y3EDWN2P.js";
10
- import "./chunk-I5GI2A2D.js";
11
- import "./chunk-WTMJMM3B.js";
12
- import "./chunk-LRKZP7DJ.js";
13
- export {
14
- parseCallArguments
15
- };
@@ -1,86 +0,0 @@
1
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
2
- import {
3
- normalizeTimeout
4
- } from "./chunk-I5GI2A2D.js";
5
-
6
- // node_modules/.pnpm/mcporter@0.13.8/node_modules/mcporter/dist/daemon/protocol.js
7
- var DAEMON_PROTOCOL_VERSION = 2;
8
- var DAEMON_OPERATION_TIMEOUT_CODE = "operation_timeout";
9
- var DAEMON_OAUTH_FLOW_ERROR_CODE = "oauth_flow_error";
10
- var DAEMON_PROGRESS_INTERVAL_MS = 250;
11
- var MIN_DAEMON_PROGRESS_INTERVAL_MS = 25;
12
- var DAEMON_PROGRESS_SCHEDULING_SLACK_MS = MIN_DAEMON_PROGRESS_INTERVAL_MS;
13
- function resolveProgressInterval(requestedIntervalMs) {
14
- if (requestedIntervalMs >= DAEMON_PROGRESS_INTERVAL_MS)
15
- return DAEMON_PROGRESS_INTERVAL_MS;
16
- if (requestedIntervalMs >= 100)
17
- return 100;
18
- if (requestedIntervalMs >= 50)
19
- return 50;
20
- return MIN_DAEMON_PROGRESS_INTERVAL_MS;
21
- }
22
- function resolveProgressTiming(requestedIdleTimeoutMs) {
23
- const idleTimeoutMs = normalizeTimeout(requestedIdleTimeoutMs) ?? DAEMON_PROGRESS_INTERVAL_MS * 3 + DAEMON_PROGRESS_SCHEDULING_SLACK_MS;
24
- const progressIntervalMs = resolveProgressInterval(Math.floor(idleTimeoutMs / 3));
25
- return {
26
- progressIntervalMs,
27
- // Keep three frame opportunities plus scheduler slack inside the socket idle budget.
28
- idleTimeoutMs: Math.max(idleTimeoutMs, progressIntervalMs * 3 + DAEMON_PROGRESS_SCHEDULING_SLACK_MS)
29
- };
30
- }
31
- function isDaemonProgressFrame(frame) {
32
- return frame.type === "progress";
33
- }
34
- function encodeDaemonFrame(frame) {
35
- return `${JSON.stringify(frame)}
36
- `;
37
- }
38
- var DaemonFrameDecoder = class {
39
- buffer = "";
40
- sawMalformedLine = false;
41
- push(chunk) {
42
- this.buffer += chunk;
43
- const frames = [];
44
- let newlineIndex = this.buffer.indexOf("\n");
45
- while (newlineIndex !== -1) {
46
- const line = this.buffer.slice(0, newlineIndex);
47
- this.buffer = this.buffer.slice(newlineIndex + 1);
48
- this.collect(line, frames);
49
- newlineIndex = this.buffer.indexOf("\n");
50
- }
51
- return frames;
52
- }
53
- /** Flushes a final bare frame written by a protocol-v1 daemon. */
54
- flush() {
55
- const remainder = this.buffer;
56
- this.buffer = "";
57
- const frames = [];
58
- this.collect(remainder, frames);
59
- return frames;
60
- }
61
- get malformed() {
62
- return this.sawMalformedLine;
63
- }
64
- collect(line, frames) {
65
- const trimmed = line.trim();
66
- if (!trimmed) {
67
- return;
68
- }
69
- try {
70
- frames.push(JSON.parse(trimmed));
71
- } catch {
72
- this.sawMalformedLine = true;
73
- }
74
- }
75
- };
76
-
77
- export {
78
- DAEMON_PROTOCOL_VERSION,
79
- DAEMON_OPERATION_TIMEOUT_CODE,
80
- DAEMON_OAUTH_FLOW_ERROR_CODE,
81
- resolveProgressInterval,
82
- resolveProgressTiming,
83
- isDaemonProgressFrame,
84
- encodeDaemonFrame,
85
- DaemonFrameDecoder
86
- };
@@ -1,39 +0,0 @@
1
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
2
-
3
- // node_modules/.pnpm/mcporter@0.13.8/node_modules/mcporter/dist/network-family-autoselection.js
4
- import net from "node:net";
5
- var NODE_DEFAULT_ATTEMPT_TIMEOUT_MS = 250;
6
- var MCPORTER_ATTEMPT_TIMEOUT_MS = 1500;
7
- var NODE_OPTION = "--network-family-autoselection-attempt-timeout";
8
- function configureAutoSelectFamilyAttemptTimeout(defaults = net, nodeOptions = process.env.NODE_OPTIONS) {
9
- if (hasExplicitNodeOption(nodeOptions))
10
- return false;
11
- if (defaults.getDefaultAutoSelectFamilyAttemptTimeout() !== NODE_DEFAULT_ATTEMPT_TIMEOUT_MS)
12
- return false;
13
- defaults.setDefaultAutoSelectFamilyAttemptTimeout(MCPORTER_ATTEMPT_TIMEOUT_MS);
14
- return true;
15
- }
16
- function hasExplicitNodeOption(nodeOptions) {
17
- if (!nodeOptions)
18
- return false;
19
- let offset = 0;
20
- while (offset < nodeOptions.length) {
21
- const index = nodeOptions.indexOf(NODE_OPTION, offset);
22
- if (index === -1)
23
- return false;
24
- const before = nodeOptions[index - 1];
25
- const after = nodeOptions[index + NODE_OPTION.length];
26
- if (isNodeOptionBoundary(before) && (after === "=" || isNodeOptionBoundary(after))) {
27
- return true;
28
- }
29
- offset = index + NODE_OPTION.length;
30
- }
31
- return false;
32
- }
33
- function isNodeOptionBoundary(character) {
34
- return character === void 0 || character === "'" || character === '"' || /\s/u.test(character);
35
- }
36
-
37
- export {
38
- configureAutoSelectFamilyAttemptTimeout
39
- };