@introspection-ai/recipes 0.23.0 → 0.25.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 (131) hide show
  1. package/README.md +4 -4
  2. package/dist/channels/config.d.ts +10 -0
  3. package/dist/channels/config.d.ts.map +1 -0
  4. package/dist/channels/config.js +13 -0
  5. package/dist/channels/config.js.map +1 -0
  6. package/dist/channels/index.d.ts +4 -2
  7. package/dist/channels/index.d.ts.map +1 -1
  8. package/dist/channels/index.js +2 -1
  9. package/dist/channels/index.js.map +1 -1
  10. package/dist/channels/module.d.ts +11 -6
  11. package/dist/channels/module.d.ts.map +1 -1
  12. package/dist/channels/module.js +22 -10
  13. package/dist/channels/module.js.map +1 -1
  14. package/dist/channels/refs.d.ts +3 -3
  15. package/dist/channels/refs.d.ts.map +1 -1
  16. package/dist/channels/refs.js +11 -8
  17. package/dist/channels/refs.js.map +1 -1
  18. package/dist/channels/tools.d.ts +15 -22
  19. package/dist/channels/tools.d.ts.map +1 -1
  20. package/dist/channels/tools.js +279 -114
  21. package/dist/channels/tools.js.map +1 -1
  22. package/dist/channels/types.d.ts +34 -29
  23. package/dist/channels/types.d.ts.map +1 -1
  24. package/dist/channels/types.js +4 -17
  25. package/dist/channels/types.js.map +1 -1
  26. package/dist/connector-tools.d.ts +2 -0
  27. package/dist/connector-tools.d.ts.map +1 -1
  28. package/dist/connector-tools.js +17 -15
  29. package/dist/connector-tools.js.map +1 -1
  30. package/dist/mcp-chunks/{auth-command-4OEOMU2V.js → auth-command-4WFRNU2I.js} +24 -24
  31. package/dist/mcp-chunks/call-arguments-4DWPBLQP.js +15 -0
  32. package/dist/mcp-chunks/{call-command-AUEKSBMD.js → call-command-JBIKXOGC.js} +36 -36
  33. package/dist/mcp-chunks/{chunk-L4CUJJI5.js → chunk-36VIJRYY.js} +4 -4
  34. package/dist/mcp-chunks/{chunk-PPIXUCYQ.js → chunk-3JGS7LQB.js} +2 -2
  35. package/dist/mcp-chunks/{chunk-4NDR45CX.js → chunk-3R2WK3NB.js} +28 -9
  36. package/dist/mcp-chunks/{chunk-YX2NKW6O.js → chunk-3Z7MFS6K.js} +23 -6
  37. package/dist/mcp-chunks/{chunk-ACTRQW5L.js → chunk-4ZNBWL65.js} +2 -2
  38. package/dist/mcp-chunks/chunk-53NRFMB3.js +990 -0
  39. package/dist/mcp-chunks/{chunk-6QH47GNE.js → chunk-6YZW3XAE.js} +68 -6
  40. package/dist/mcp-chunks/{chunk-X3FOKZ5C.js → chunk-7WOKCV6Q.js} +1 -1
  41. package/dist/mcp-chunks/{chunk-MOML5C2E.js → chunk-AD3FQ73K.js} +1 -1
  42. package/dist/mcp-chunks/{chunk-HDUKEFBI.js → chunk-AIKLVBYU.js} +2 -2
  43. package/dist/mcp-chunks/{chunk-SQTXZR56.js → chunk-ASG4OY3M.js} +21 -604
  44. package/dist/mcp-chunks/{chunk-V4RYLZM5.js → chunk-B2LNXGAP.js} +1 -1
  45. package/dist/mcp-chunks/{chunk-XVJAASVZ.js → chunk-BWW4XRUC.js} +16 -16
  46. package/dist/mcp-chunks/{chunk-MRXSXBZT.js → chunk-C2KNLFZR.js} +2 -2
  47. package/dist/mcp-chunks/{chunk-KPXFBRTG.js → chunk-CZKDJZER.js} +1 -1
  48. package/dist/mcp-chunks/{chunk-6CYJ6RN3.js → chunk-DTZHEVKC.js} +1 -1
  49. package/dist/mcp-chunks/{chunk-JZDXKYQM.js → chunk-ED2WN5BI.js} +9 -4
  50. package/dist/mcp-chunks/{chunk-OGFFBNIC.js → chunk-ELA77TDC.js} +4 -4
  51. package/dist/mcp-chunks/{chunk-5WGJPYOR.js → chunk-EMSNQHZZ.js} +1 -1
  52. package/dist/mcp-chunks/{chunk-AB7MHBEG.js → chunk-EPT4MYOF.js} +11 -11
  53. package/dist/mcp-chunks/{chunk-HHMWZ2FZ.js → chunk-FAJPJTOC.js} +1 -1
  54. package/dist/mcp-chunks/{chunk-TGJOZDKG.js → chunk-FS5JIKT6.js} +2 -2
  55. package/dist/mcp-chunks/{chunk-IPH6U7SE.js → chunk-FX5NYWBH.js} +3 -3
  56. package/dist/mcp-chunks/{chunk-SCGMRUKI.js → chunk-G6OMDUNG.js} +5 -5
  57. package/dist/mcp-chunks/{chunk-47N2EELW.js → chunk-GQ6NSIDS.js} +30 -30
  58. package/dist/mcp-chunks/{chunk-PPOHGQKM.js → chunk-GUXMP7QB.js} +2 -2
  59. package/dist/mcp-chunks/{chunk-NMFI6AUD.js → chunk-H3JCYHGS.js} +25 -25
  60. package/dist/mcp-chunks/{chunk-3VLPWGJL.js → chunk-HCOKLSOB.js} +4 -4
  61. package/dist/mcp-chunks/{chunk-J6VOMOKI.js → chunk-HLRCUHNO.js} +1 -1
  62. package/dist/mcp-chunks/{chunk-LWVFSQYX.js → chunk-HN7WPMCA.js} +7806 -3454
  63. package/dist/mcp-chunks/chunk-I5GI2A2D.js +92 -0
  64. package/dist/mcp-chunks/{chunk-7KEDX7SE.js → chunk-IME7DGLJ.js} +2 -2
  65. package/dist/mcp-chunks/{chunk-E4YYMOT2.js → chunk-IPNSPKQK.js} +33 -21
  66. package/dist/mcp-chunks/{chunk-ZKFG37TB.js → chunk-IRTJXFWA.js} +2 -2
  67. package/dist/mcp-chunks/{chunk-KMH3PHLA.js → chunk-ITCCROID.js} +13 -7
  68. package/dist/mcp-chunks/{chunk-ADINDBOF.js → chunk-ITR7FQM3.js} +2 -2
  69. package/dist/mcp-chunks/{chunk-JILBFEBD.js → chunk-IYWYVHHD.js} +1 -1
  70. package/dist/mcp-chunks/{chunk-RO2Y34XX.js → chunk-JG4TRUPF.js} +1 -1
  71. package/dist/mcp-chunks/{chunk-DEYKPG4K.js → chunk-KW3ANJ36.js} +4 -4
  72. package/dist/mcp-chunks/{chunk-NWLOPQT7.js → chunk-MOEZ43ZL.js} +1 -1
  73. package/dist/mcp-chunks/{chunk-AFKE4BTR.js → chunk-NTHUNCXJ.js} +21 -21
  74. package/dist/mcp-chunks/{chunk-J3J3NQ4X.js → chunk-OD3MSMXY.js} +1 -1
  75. package/dist/mcp-chunks/{chunk-PRZCYXVO.js → chunk-OP3IW2V6.js} +2 -2
  76. package/dist/mcp-chunks/{chunk-K56RW4HB.js → chunk-PZ323CXI.js} +1 -1
  77. package/dist/mcp-chunks/{chunk-US57PK4B.js → chunk-QZUC2T72.js} +59 -4
  78. package/dist/mcp-chunks/{chunk-Z7O6NF7X.js → chunk-RD7NHCRK.js} +19 -19
  79. package/dist/mcp-chunks/{chunk-756YH7S4.js → chunk-RSTKSBVF.js} +2 -2
  80. package/dist/mcp-chunks/{chunk-6DL2C6V5.js → chunk-SCOMDV54.js} +1 -1
  81. package/dist/mcp-chunks/{chunk-SAK5KCLR.js → chunk-SNKXMWDB.js} +1 -1
  82. package/dist/mcp-chunks/{chunk-LC2CCTQN.js → chunk-TF2YTYE4.js} +1 -1
  83. package/dist/mcp-chunks/chunk-TPHPAEDH.js +3769 -0
  84. package/dist/mcp-chunks/{chunk-AF74TOWM.js → chunk-V5AYEKSL.js} +5 -5
  85. package/dist/mcp-chunks/{chunk-HBDCHBJP.js → chunk-WTMJMM3B.js} +12 -1
  86. package/dist/mcp-chunks/{chunk-ZZSD2JT7.js → chunk-WYLHHXI6.js} +1 -1
  87. package/dist/mcp-chunks/{chunk-MFFE5QSH.js → chunk-Y3EDWN2P.js} +1 -1
  88. package/dist/mcp-chunks/{chunk-ZRZ7C6L3.js → chunk-YIRGLKDA.js} +8 -8
  89. package/dist/mcp-chunks/{chunk-RE4EVQNC.js → chunk-ZOAQDFAO.js} +62 -7
  90. package/dist/mcp-chunks/{cli-B7WQQUME.js → cli-XU26MUCN.js} +67 -67
  91. package/dist/mcp-chunks/client-OT34CKRH.js +21 -0
  92. package/dist/mcp-chunks/{config-command-FF3JPMOP.js → config-command-UQMMIK2U.js} +37 -30
  93. package/dist/mcp-chunks/daemon-command-YCIOZGPZ.js +35 -0
  94. package/dist/mcp-chunks/{dist-V4UB7RTR.js → dist-DM2RXZMU.js} +47 -44
  95. package/dist/mcp-chunks/{emit-ts-command-4X56IZ32.js → emit-ts-command-KAOL6DAN.js} +16 -16
  96. package/dist/mcp-chunks/{generate-cli-runner-MIPF73SJ.js → generate-cli-runner-AK6XNRTK.js} +70 -50
  97. package/dist/mcp-chunks/{inspect-cli-command-GX54ZXKR.js → inspect-cli-command-6FVJO7H2.js} +10 -10
  98. package/dist/mcp-chunks/{launch-E2LWGPZS.js → launch-EIT73HX4.js} +1 -1
  99. package/dist/mcp-chunks/{lifecycle-TONHXXXJ.js → lifecycle-QH4TUI3K.js} +1 -1
  100. package/dist/mcp-chunks/{list-command-YUGRZO4G.js → list-command-UOB2XZK7.js} +30 -30
  101. package/dist/mcp-chunks/{output-utils-AZY6N2VQ.js → output-utils-6YXH23T7.js} +3 -3
  102. package/dist/mcp-chunks/{prompt-CH6TK0bC-NSBYYJZH.js → prompt-CH6TK0bC-ZB6RFAXR.js} +1 -1
  103. package/dist/mcp-chunks/{record-command-25DLELA2.js → record-command-FO5TTERC.js} +5 -5
  104. package/dist/mcp-chunks/{replay-command-6SLDG6PC.js → replay-command-SCBPCGQ7.js} +6 -6
  105. package/dist/mcp-chunks/{resource-command-YVOB4JCU.js → resource-command-S2J7XEMV.js} +10 -10
  106. package/dist/mcp-chunks/{result-utils-ZXB5DM36.js → result-utils-OME6HGS6.js} +4 -4
  107. package/dist/mcp-chunks/runtime-QIPMLIJI.js +39 -0
  108. package/dist/mcp-chunks/runtime-wrapper-X4YFKMJI.js +16 -0
  109. package/dist/mcp-chunks/{serve-command-QYGM2AMB.js → serve-command-DDBZZSG6.js} +28 -28
  110. package/dist/mcp-chunks/{timeouts-P3TBB3AX.js → timeouts-HNGNKDQN.js} +3 -3
  111. package/dist/mcp-chunks/{vault-command-VDMPATIX.js → vault-command-TJZYS3YI.js} +8 -7
  112. package/dist/mcp-chunks/{webapi-BLTNWSB2.js → webapi-4GWO2UBA.js} +887 -703
  113. package/dist/mcp-daemon.js +31 -31
  114. package/dist/mcp-run-worker.js +31 -31
  115. package/dist/recipe-package.d.ts +4 -2
  116. package/dist/recipe-package.d.ts.map +1 -1
  117. package/dist/recipe-package.js +31 -18
  118. package/dist/recipe-package.js.map +1 -1
  119. package/docs/channels.md +174 -60
  120. package/docs/pi-extension.md +1 -1
  121. package/docs/recipe-format.md +14 -9
  122. package/docs/slack.md +55 -59
  123. package/package.json +11 -11
  124. package/dist/mcp-chunks/call-arguments-RPXZJOXL.js +0 -15
  125. package/dist/mcp-chunks/chunk-7CS27CWE.js +0 -431
  126. package/dist/mcp-chunks/chunk-LJCZWKGJ.js +0 -372
  127. package/dist/mcp-chunks/chunk-Q7ESBNJG.js +0 -57
  128. package/dist/mcp-chunks/client-4ZHIBB67.js +0 -21
  129. package/dist/mcp-chunks/daemon-command-FKW6YELL.js +0 -35
  130. package/dist/mcp-chunks/runtime-NOWGTHZ5.js +0 -39
  131. package/dist/mcp-chunks/runtime-wrapper-ZZPAFQE4.js +0 -14
@@ -1,25 +1,12 @@
1
1
  /**
2
2
  * Provider-neutral channel primitives.
3
3
  *
4
- * A channel-origin task answers exactly one conversation. These types describe
5
- * what an agent may do *inside* that conversation, in vocabulary that is the
6
- * same for Slack, Teams, or anything else, so one prompt serves every channel.
7
- *
8
- * Two properties are structural rather than documented:
9
- *
10
- * - **The destination is bound.** An adapter method takes the conversation from
11
- * the trusted `ChannelTarget` the host resolved; no tool schema built from
12
- * these types carries a channel, thread, workspace, or user argument.
13
- * - **Unsupported is absent.** Tools are registered from `ChannelCapabilities`,
14
- * so a channel that cannot read earlier messages simply has no read tool. A
15
- * tool that always answers "unsupported" costs a model turn and teaches
16
- * nothing.
17
- *
18
- * Operations outside this bound channel set, including workspace search,
19
- * directory lookups, and sends to another conversation, are unsupported. Their
20
- * contract and access model are deferred to a separate proposal.
4
+ * Reply defaults to the host-resolved origin. Adapters may opt into explicit
5
+ * read/send destinations within their existing credential session. This is a
6
+ * tool contract, not a sandbox-wide authorization boundary. Unsupported
7
+ * operations are absent. Search and directory lookup are not part of it.
21
8
  */
22
- /** The conversation a task answers. Resolved by the host, never by the model. */
9
+ /** A conversation within one provider credential session. */
23
10
  export interface ChannelTarget {
24
11
  readonly provider: string;
25
12
  /** Provider conversation id (Slack channel, Teams conversation). */
@@ -39,6 +26,10 @@ export interface ChannelTarget {
39
26
  * already wasted a turn on.
40
27
  */
41
28
  export interface ChannelCapabilities {
29
+ /** Accept explicit read targets and expose send. Absent preserves bound tools. */
30
+ readonly targeting?: boolean;
31
+ /** List conversations available to this provider credential session. */
32
+ readonly list?: boolean;
42
33
  readonly react: boolean;
43
34
  readonly edit: boolean;
44
35
  readonly retract: boolean;
@@ -67,10 +58,7 @@ export type ChannelCursor = string;
67
58
  /**
68
59
  * An opaque handle for one file seen in this conversation.
69
60
  *
70
- * Same reasoning as `MessageRef`, and for the same threat: a provider file id
71
- * is reachable across every conversation the bot belongs to, so accepting one
72
- * from the model would reintroduce the addressing argument the bound tier
73
- * exists to remove — just spelled `file` instead of `channel`.
61
+ * Like message refs, files must have been observed in this credential session.
74
62
  */
75
63
  export type FileRef = string;
76
64
  export interface ChannelAuthor {
@@ -82,22 +70,22 @@ export interface ChannelAttachment {
82
70
  /**
83
71
  * Opaque session handle, not the provider's file id.
84
72
  *
85
- * Minted when the file is seen in this conversation, and the only
86
- * thing `channel_fetch_file` accepts. A raw provider file id would be an
87
- * addressing argument in everything but name: a bot can usually read files
88
- * from every conversation it belongs to, so a model that could pass one
89
- * could reach a file this conversation never carried.
73
+ * Minted when the file is seen in this credential session, and the only
74
+ * thing `channel_fetch_file` accepts. Raw provider file IDs are not accepted.
90
75
  */
91
76
  readonly id: FileRef;
92
77
  readonly name?: string;
93
78
  readonly mime_type?: string;
94
79
  readonly size?: number;
95
80
  }
96
- /** One message as the model sees it: opaque ref, resolved author, no provider ids. */
81
+ /** A message handle, resolved author, and optional provider thread coordinates. */
97
82
  export interface ChannelMessage {
98
83
  readonly ref: MessageRef;
99
84
  readonly author: ChannelAuthor;
100
85
  readonly text: string;
86
+ /** Provider thread root/topic usable with the read command's thread_id. */
87
+ readonly thread_id?: string;
88
+ readonly reply_count?: number;
101
89
  readonly timestamp?: string;
102
90
  readonly permalink?: string;
103
91
  readonly attachments?: readonly ChannelAttachment[];
@@ -105,6 +93,7 @@ export interface ChannelMessage {
105
93
  export interface ChannelPostResult {
106
94
  readonly ref: MessageRef;
107
95
  readonly permalink?: string;
96
+ readonly target?: ChannelTarget;
108
97
  /**
109
98
  * Whether the platform recorded the posted thread for reply bridging. False
110
99
  * with a reason is not a failure of the post — the message is out.
@@ -115,6 +104,14 @@ export interface ChannelPostResult {
115
104
  export interface ChannelReadPage {
116
105
  readonly messages: readonly ChannelMessage[];
117
106
  readonly cursor?: ChannelCursor;
107
+ readonly target?: ChannelTarget;
108
+ /** Direction of subsequent pages; messages within a page are chronological. */
109
+ readonly next_direction?: "older" | "newer";
110
+ }
111
+ export interface ChannelListEntry {
112
+ readonly id: string;
113
+ readonly name: string;
114
+ readonly kind: "public_channel" | "private_channel";
118
115
  }
119
116
  export interface ChannelLocalFile {
120
117
  readonly id: string;
@@ -136,6 +133,8 @@ export interface ChannelMessageIdentity {
136
133
  export interface ChannelFileIdentity {
137
134
  readonly conversation: string;
138
135
  readonly id: string;
136
+ /** Read target where this file was observed; absent/null means the timeline. */
137
+ readonly thread?: string | null;
139
138
  }
140
139
  /**
141
140
  * Resolves opaque handles for one session.
@@ -163,7 +162,7 @@ export interface ChannelAdapterContext {
163
162
  /**
164
163
  * What a provider package implements.
165
164
  *
166
- * Every method takes the bound conversation from `ChannelAdapterContext`. An
165
+ * Every method takes its resolved conversation from `ChannelAdapterContext`. An
167
166
  * optional method must be present exactly when the matching capability is
168
167
  * true — `channelConnectorTools` asserts that, so a capability cannot claim
169
168
  * something the adapter cannot do.
@@ -176,6 +175,12 @@ export interface ChannelAdapter {
176
175
  reply(ctx: ChannelAdapterContext, input: {
177
176
  text: string;
178
177
  }): Promise<ChannelPostResult>;
178
+ /** Explicit send; does not imply cross-channel reply routing support. */
179
+ send?(ctx: ChannelAdapterContext, input: {
180
+ text: string;
181
+ }): Promise<ChannelPostResult>;
182
+ /** List conversations available to this credential session. */
183
+ list?(signal?: AbortSignal): Promise<readonly ChannelListEntry[]>;
179
184
  react?(ctx: ChannelAdapterContext, input: {
180
185
  ref: MessageRef;
181
186
  emoji: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/channels/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/channels/types.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,10 @@
1
1
  /**
2
2
  * Provider-neutral channel primitives.
3
3
  *
4
- * A channel-origin task answers exactly one conversation. These types describe
5
- * what an agent may do *inside* that conversation, in vocabulary that is the
6
- * same for Slack, Teams, or anything else, so one prompt serves every channel.
7
- *
8
- * Two properties are structural rather than documented:
9
- *
10
- * - **The destination is bound.** An adapter method takes the conversation from
11
- * the trusted `ChannelTarget` the host resolved; no tool schema built from
12
- * these types carries a channel, thread, workspace, or user argument.
13
- * - **Unsupported is absent.** Tools are registered from `ChannelCapabilities`,
14
- * so a channel that cannot read earlier messages simply has no read tool. A
15
- * tool that always answers "unsupported" costs a model turn and teaches
16
- * nothing.
17
- *
18
- * Operations outside this bound channel set, including workspace search,
19
- * directory lookups, and sends to another conversation, are unsupported. Their
20
- * contract and access model are deferred to a separate proposal.
4
+ * Reply defaults to the host-resolved origin. Adapters may opt into explicit
5
+ * read/send destinations within their existing credential session. This is a
6
+ * tool contract, not a sandbox-wide authorization boundary. Unsupported
7
+ * operations are absent. Search and directory lookup are not part of it.
21
8
  */
22
9
  export {};
23
10
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/channels/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/channels/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -21,6 +21,8 @@ export interface RecipeConnectorToolLoadout {
21
21
  }
22
22
  export interface RecipeConnectorModuleOptions {
23
23
  tools: readonly string[];
24
+ commands?: readonly string[];
25
+ requireReply?: boolean;
24
26
  env?: NodeJS.ProcessEnv;
25
27
  cwd?: string;
26
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connector-tools.d.ts","sourceRoot":"","sources":["../src/connector-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,6BAA6B,EAAE,CAAC;IACzD,eAAe,CAAC,OAAO,EAAE,4BAA4B,GAAG,gBAAgB,CAAC;CAC1E;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,wBAAwB,EAAE,CAAC;IACvC,OAAO,EAAE,0BAA0B,CAAC;CACrC;AAkFD,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,qBAAqB,EAC/B,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,sBAAsB,CAAC,CAqCjC"}
1
+ {"version":3,"file":"connector-tools.d.ts","sourceRoot":"","sources":["../src/connector-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,6BAA6B,EAAE,CAAC;IACzD,eAAe,CAAC,OAAO,EAAE,4BAA4B,GAAG,gBAAgB,CAAC;CAC1E;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,wBAAwB,EAAE,CAAC;IACvC,OAAO,EAAE,0BAA0B,CAAC;CACrC;AAkFD,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,qBAAqB,EAC/B,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,sBAAsB,CAAC,CAuCjC"}
@@ -1,7 +1,7 @@
1
1
  import { loadRecipeModule } from "./recipe-extensions.js";
2
2
  import { recipeChannelPackageName, } from "./recipe-package.js";
3
- function connectorModuleError(connector, detail) {
4
- return new Error(`Recipe channel package ${recipeChannelPackageName(connector.provider)} ${detail}`);
3
+ function connectorModuleError(channel, detail) {
4
+ return new Error(`Recipe channel package ${recipeChannelPackageName(channel.provider)} ${detail}`);
5
5
  }
6
6
  function isConnectorToolDefinition(value) {
7
7
  if (!value || typeof value !== "object" || Array.isArray(value)) {
@@ -14,52 +14,54 @@ function isConnectorToolDefinition(value) {
14
14
  Boolean(tool.name.trim()) &&
15
15
  typeof tool.defaultActive === "boolean");
16
16
  }
17
- function parseRecipeConnectorModule(value, connector) {
17
+ function parseRecipeConnectorModule(value, channel) {
18
18
  if (!value || typeof value !== "object") {
19
- throw connectorModuleError(connector, "does not export a module");
19
+ throw connectorModuleError(channel, "does not export a module");
20
20
  }
21
21
  const module = value;
22
- if (module.provider !== connector.provider ||
22
+ if (module.provider !== channel.provider ||
23
23
  !Array.isArray(module.tools) ||
24
24
  module.tools.length === 0 ||
25
25
  module.tools.some((tool) => !isConnectorToolDefinition(tool)) ||
26
26
  typeof module.createExtension !== "function") {
27
- throw connectorModuleError(connector, "has an invalid module contract");
27
+ throw connectorModuleError(channel, "has an invalid module contract");
28
28
  }
29
29
  const tools = module.tools;
30
30
  const ids = tools.map((tool) => tool.id);
31
31
  const names = tools.map((tool) => tool.name);
32
32
  if (new Set(ids).size !== ids.length ||
33
33
  new Set(names).size !== names.length) {
34
- throw connectorModuleError(connector, "has duplicate or conflicting tool names");
34
+ throw connectorModuleError(channel, "has duplicate or conflicting tool names");
35
35
  }
36
36
  return module;
37
37
  }
38
- async function loadRecipeConnectorModule(recipeDir, connector) {
39
- const packageName = recipeChannelPackageName(connector.provider);
38
+ async function loadRecipeConnectorModule(recipeDir, channel) {
39
+ const packageName = recipeChannelPackageName(channel.provider);
40
40
  let imported;
41
41
  try {
42
42
  imported = await loadRecipeModule(recipeDir, packageName);
43
43
  }
44
44
  catch (error) {
45
- throw new Error(`Recipe connector '${connector.provider}' requires ${packageName} in the Recipe dependencies`, { cause: error });
45
+ throw new Error(`Recipe channel '${channel.provider}' requires ${packageName} in the Recipe dependencies`, { cause: error });
46
46
  }
47
47
  const connectorModule = imported &&
48
48
  typeof imported === "object" &&
49
49
  "default" in imported
50
50
  ? imported.default
51
51
  : imported;
52
- return parseRecipeConnectorModule(connectorModule, connector);
52
+ return parseRecipeConnectorModule(connectorModule, channel);
53
53
  }
54
54
  export async function loadRecipeConnectors(manifest, agentTools, options) {
55
- const loaded = await Promise.all((manifest.connectors ?? []).map(async (connector) => {
56
- const module = await loadRecipeConnectorModule(options.recipeDir, connector);
57
- const selected = module.tools.filter((tool) => agentTools.includes(tool.name));
55
+ const loaded = await Promise.all((manifest.channels ?? []).map(async (channel) => {
56
+ const module = await loadRecipeConnectorModule(options.recipeDir, channel);
57
+ const selected = module.tools.filter((tool) => agentTools.includes(tool.name) && channel.commands?.length !== 0);
58
58
  return {
59
59
  extension: {
60
- owner: `<connector:${connector.provider}>`,
60
+ owner: `<channel:${channel.provider}>`,
61
61
  factory: module.createExtension({
62
62
  tools: selected.map((tool) => tool.id),
63
+ ...(channel.commands !== undefined ? { commands: channel.commands } : {}),
64
+ ...(channel.requireReply !== undefined ? { requireReply: channel.requireReply } : {}),
63
65
  env: options.env,
64
66
  cwd: options.cwd,
65
67
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"connector-tools.js","sourceRoot":"","sources":["../src/connector-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connector-tools.js","sourceRoot":"","sources":["../src/connector-tools.ts"],"names":[],"mappings":"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"}
@@ -3,53 +3,53 @@ import {
3
3
  getActiveLogger,
4
4
  logInfo,
5
5
  logWarn
6
- } from "./chunk-PPOHGQKM.js";
6
+ } from "./chunk-GUXMP7QB.js";
7
7
  import {
8
8
  persistPreparedEphemeralServer,
9
9
  prepareEphemeralServerTarget,
10
10
  renderAdhocServerHelpLines
11
- } from "./chunk-KMH3PHLA.js";
12
- import "./chunk-7KEDX7SE.js";
13
- import "./chunk-4NDR45CX.js";
11
+ } from "./chunk-ITCCROID.js";
12
+ import "./chunk-IME7DGLJ.js";
13
+ import "./chunk-3R2WK3NB.js";
14
14
  import {
15
15
  buildConnectionIssueEnvelope
16
- } from "./chunk-SAK5KCLR.js";
16
+ } from "./chunk-SNKXMWDB.js";
17
17
  import {
18
18
  extractEphemeralServerFlags
19
- } from "./chunk-NWLOPQT7.js";
19
+ } from "./chunk-MOEZ43ZL.js";
20
20
  import {
21
21
  looksLikeHttpUrl
22
- } from "./chunk-SCGMRUKI.js";
22
+ } from "./chunk-G6OMDUNG.js";
23
23
  import {
24
24
  consumeOutputFormat
25
- } from "./chunk-MFFE5QSH.js";
25
+ } from "./chunk-Y3EDWN2P.js";
26
26
  import {
27
27
  isOAuthFlowError,
28
28
  resolveOAuthTimeoutFromEnv
29
- } from "./chunk-ZRZ7C6L3.js";
29
+ } from "./chunk-YIRGLKDA.js";
30
30
  import {
31
31
  clearOAuthCaches
32
- } from "./chunk-SQTXZR56.js";
33
- import "./chunk-7CS27CWE.js";
34
- import "./chunk-ZKFG37TB.js";
35
- import "./chunk-X3FOKZ5C.js";
32
+ } from "./chunk-ASG4OY3M.js";
33
+ import "./chunk-53NRFMB3.js";
34
+ import "./chunk-IRTJXFWA.js";
35
+ import "./chunk-7WOKCV6Q.js";
36
36
  import {
37
37
  analyzeConnectionError
38
- } from "./chunk-US57PK4B.js";
39
- import "./chunk-K56RW4HB.js";
38
+ } from "./chunk-QZUC2T72.js";
39
+ import "./chunk-PZ323CXI.js";
40
40
  import {
41
41
  suppressBrowserLaunchFromEnv
42
- } from "./chunk-6CYJ6RN3.js";
43
- import "./chunk-Z7O6NF7X.js";
44
- import "./chunk-ADINDBOF.js";
45
- import "./chunk-IPH6U7SE.js";
46
- import "./chunk-TGJOZDKG.js";
47
- import "./chunk-HBDCHBJP.js";
48
- import "./chunk-RO2Y34XX.js";
49
- import "./chunk-LWVFSQYX.js";
42
+ } from "./chunk-DTZHEVKC.js";
43
+ import "./chunk-RD7NHCRK.js";
44
+ import "./chunk-ITR7FQM3.js";
45
+ import "./chunk-FX5NYWBH.js";
46
+ import "./chunk-FS5JIKT6.js";
47
+ import "./chunk-WTMJMM3B.js";
48
+ import "./chunk-JG4TRUPF.js";
49
+ import "./chunk-HN7WPMCA.js";
50
50
  import "./chunk-LRKZP7DJ.js";
51
51
 
52
- // node_modules/.pnpm/mcporter@0.13.7/node_modules/mcporter/dist/cli/auth-command.js
52
+ // node_modules/.pnpm/mcporter@0.13.8/node_modules/mcporter/dist/cli/auth-command.js
53
53
  import { spawn } from "node:child_process";
54
54
  async function handleAuth(runtime, args, options = {}) {
55
55
  const browserSuppression = consumeBrowserSuppression(args, process.env);
@@ -0,0 +1,15 @@
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,7 +1,7 @@
1
1
  import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
2
2
  import {
3
3
  dumpActiveHandles
4
- } from "./chunk-PPIXUCYQ.js";
4
+ } from "./chunk-3JGS7LQB.js";
5
5
  import {
6
6
  CALL_HELP_ARGUMENT_LINES,
7
7
  CALL_HELP_EXAMPLE_LINES,
@@ -9,68 +9,68 @@ import {
9
9
  buildUnknownCallFlagMessage,
10
10
  buildUnvalidatedCallFlagMessage,
11
11
  parseCallArguments
12
- } from "./chunk-AB7MHBEG.js";
12
+ } from "./chunk-EPT4MYOF.js";
13
13
  import {
14
14
  CliUsageError
15
- } from "./chunk-KPXFBRTG.js";
15
+ } from "./chunk-CZKDJZER.js";
16
16
  import {
17
17
  printCallOutput,
18
18
  tailLogIfRequested
19
- } from "./chunk-MRXSXBZT.js";
20
- import "./chunk-PPOHGQKM.js";
19
+ } from "./chunk-C2KNLFZR.js";
20
+ import "./chunk-GUXMP7QB.js";
21
21
  import {
22
22
  loadToolMetadata
23
- } from "./chunk-756YH7S4.js";
23
+ } from "./chunk-RSTKSBVF.js";
24
24
  import {
25
25
  chooseClosestIdentifier,
26
26
  normalizeIdentifier,
27
27
  renderIdentifierResolutionMessages
28
- } from "./chunk-J6VOMOKI.js";
29
- import "./chunk-LJCZWKGJ.js";
28
+ } from "./chunk-HLRCUHNO.js";
29
+ import "./chunk-TPHPAEDH.js";
30
30
  import {
31
31
  dimText,
32
32
  redText,
33
33
  yellowText
34
- } from "./chunk-6DL2C6V5.js";
34
+ } from "./chunk-SCOMDV54.js";
35
35
  import {
36
36
  resolveCallTimeout,
37
37
  withTimeout
38
- } from "./chunk-HDUKEFBI.js";
38
+ } from "./chunk-AIKLVBYU.js";
39
39
  import {
40
40
  persistPreparedEphemeralServer,
41
41
  prepareEphemeralServerTarget,
42
42
  renderAdhocServerHelpLines
43
- } from "./chunk-KMH3PHLA.js";
44
- import "./chunk-7KEDX7SE.js";
45
- import "./chunk-4NDR45CX.js";
43
+ } from "./chunk-ITCCROID.js";
44
+ import "./chunk-IME7DGLJ.js";
45
+ import "./chunk-3R2WK3NB.js";
46
46
  import {
47
47
  buildConnectionIssueEnvelope
48
- } from "./chunk-SAK5KCLR.js";
49
- import "./chunk-NWLOPQT7.js";
48
+ } from "./chunk-SNKXMWDB.js";
49
+ import "./chunk-MOEZ43ZL.js";
50
50
  import {
51
51
  looksLikeHttpUrl,
52
52
  normalizeHttpUrlCandidate
53
- } from "./chunk-SCGMRUKI.js";
54
- import "./chunk-MFFE5QSH.js";
53
+ } from "./chunk-G6OMDUNG.js";
54
+ import "./chunk-Y3EDWN2P.js";
55
55
  import {
56
56
  wrapCallResult
57
- } from "./chunk-ACTRQW5L.js";
58
- import "./chunk-X3FOKZ5C.js";
57
+ } from "./chunk-4ZNBWL65.js";
58
+ import "./chunk-7WOKCV6Q.js";
59
59
  import {
60
60
  analyzeConnectionError
61
- } from "./chunk-US57PK4B.js";
62
- import "./chunk-K56RW4HB.js";
63
- import "./chunk-Q7ESBNJG.js";
64
- import "./chunk-Z7O6NF7X.js";
65
- import "./chunk-ADINDBOF.js";
66
- import "./chunk-IPH6U7SE.js";
67
- import "./chunk-TGJOZDKG.js";
68
- import "./chunk-HBDCHBJP.js";
69
- import "./chunk-RO2Y34XX.js";
70
- import "./chunk-LWVFSQYX.js";
61
+ } from "./chunk-QZUC2T72.js";
62
+ import "./chunk-PZ323CXI.js";
63
+ import "./chunk-I5GI2A2D.js";
64
+ import "./chunk-RD7NHCRK.js";
65
+ import "./chunk-ITR7FQM3.js";
66
+ import "./chunk-FX5NYWBH.js";
67
+ import "./chunk-FS5JIKT6.js";
68
+ import "./chunk-WTMJMM3B.js";
69
+ import "./chunk-JG4TRUPF.js";
70
+ import "./chunk-HN7WPMCA.js";
71
71
  import "./chunk-LRKZP7DJ.js";
72
72
 
73
- // node_modules/.pnpm/mcporter@0.13.7/node_modules/mcporter/dist/cli/image-output.js
73
+ // node_modules/.pnpm/mcporter@0.13.8/node_modules/mcporter/dist/cli/image-output.js
74
74
  import fs from "node:fs";
75
75
  import path from "node:path";
76
76
  function saveCallImagesIfRequested(wrapped, outputDir) {
@@ -128,7 +128,7 @@ function resolveImageOutputPath(outputDir, baseName, extension) {
128
128
  }
129
129
  }
130
130
 
131
- // node_modules/.pnpm/mcporter@0.13.7/node_modules/mcporter/dist/cli/call-command.js
131
+ // node_modules/.pnpm/mcporter@0.13.8/node_modules/mcporter/dist/cli/call-command.js
132
132
  async function handleCall(runtime, args) {
133
133
  let prepared;
134
134
  try {
@@ -295,7 +295,7 @@ async function maybeDescribeServer(runtime, server, tool, outputFormat, disableO
295
295
  if (outputFormat === "json") {
296
296
  listArgs2.push("--json");
297
297
  }
298
- const { handleList: handleList2 } = await import("./list-command-YUGRZO4G.js");
298
+ const { handleList: handleList2 } = await import("./list-command-UOB2XZK7.js");
299
299
  await handleList2(runtime, listArgs2);
300
300
  return true;
301
301
  }
@@ -318,7 +318,7 @@ async function maybeDescribeServer(runtime, server, tool, outputFormat, disableO
318
318
  if (outputFormat === "json") {
319
319
  listArgs.push("--json");
320
320
  }
321
- const { handleList } = await import("./list-command-YUGRZO4G.js");
321
+ const { handleList } = await import("./list-command-UOB2XZK7.js");
322
322
  await handleList(runtime, listArgs);
323
323
  return true;
324
324
  }
@@ -327,9 +327,9 @@ function resolveCallTarget(parsed, options = {}) {
327
327
  let server = parsed.server;
328
328
  let tool = parsed.tool;
329
329
  if (selector && !server && selector.includes(".")) {
330
- const [left, right] = selector.split(".", 2);
331
- server = left;
332
- tool = right;
330
+ const split = splitServerToolSelector(selector);
331
+ server = split?.server ?? selector.slice(0, selector.indexOf("."));
332
+ tool = split?.tool;
333
333
  } else if (selector && !server) {
334
334
  server = selector;
335
335
  } else if (selector && !tool && selector !== server) {
@@ -1,15 +1,15 @@
1
1
  import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
2
2
  import {
3
3
  consumeTimeoutFlag
4
- } from "./chunk-HDUKEFBI.js";
4
+ } from "./chunk-AIKLVBYU.js";
5
5
  import {
6
6
  extractEphemeralServerFlags
7
- } from "./chunk-NWLOPQT7.js";
7
+ } from "./chunk-MOEZ43ZL.js";
8
8
  import {
9
9
  consumeOutputFormat
10
- } from "./chunk-MFFE5QSH.js";
10
+ } from "./chunk-Y3EDWN2P.js";
11
11
 
12
- // node_modules/.pnpm/mcporter@0.13.7/node_modules/mcporter/dist/cli/list-flags.js
12
+ // node_modules/.pnpm/mcporter@0.13.8/node_modules/mcporter/dist/cli/list-flags.js
13
13
  function extractListFlags(args) {
14
14
  let schema = false;
15
15
  let timeoutMs;
@@ -2,9 +2,9 @@ import { createRequire as __createRequire } from "node:module"; const require =
2
2
  import {
3
3
  logInfo,
4
4
  logWarn
5
- } from "./chunk-PPOHGQKM.js";
5
+ } from "./chunk-GUXMP7QB.js";
6
6
 
7
- // node_modules/.pnpm/mcporter@0.13.7/node_modules/mcporter/dist/cli/runtime-debug.js
7
+ // node_modules/.pnpm/mcporter@0.13.8/node_modules/mcporter/dist/cli/runtime-debug.js
8
8
  var DEBUG_HANG = process.env.MCPORTER_DEBUG_HANG === "1";
9
9
  function describeHandle(handle) {
10
10
  if (!handle || typeof handle !== "object" && typeof handle !== "function") {