@introspection-ai/recipes 0.27.4 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/dist/agents.d.ts +34 -0
  2. package/dist/agents.d.ts.map +1 -1
  3. package/dist/agents.js +87 -0
  4. package/dist/agents.js.map +1 -1
  5. package/dist/child/agent.d.ts +5 -0
  6. package/dist/child/agent.d.ts.map +1 -1
  7. package/dist/child/agent.js +19 -8
  8. package/dist/child/agent.js.map +1 -1
  9. package/dist/child/session.d.ts +31 -4
  10. package/dist/child/session.d.ts.map +1 -1
  11. package/dist/child/session.js +65 -3
  12. package/dist/child/session.js.map +1 -1
  13. package/dist/mcp-chunks/{auth-command-GQFV6QYP.js → auth-command-SDTBVC2R.js} +22 -21
  14. package/dist/mcp-chunks/call-arguments-ER7NWEPS.js +16 -0
  15. package/dist/mcp-chunks/{call-command-LMAREWKD.js → call-command-WOZT2DLX.js} +33 -32
  16. package/dist/mcp-chunks/{chunk-5B7GRMUK.js → chunk-27XDYSXJ.js} +1 -1
  17. package/dist/mcp-chunks/{chunk-FONFU4G5.js → chunk-2IO3FXZJ.js} +1 -1
  18. package/dist/mcp-chunks/{chunk-O4JIUOWF.js → chunk-35JUFDQI.js} +2 -2
  19. package/dist/mcp-chunks/{chunk-UYJZJXC2.js → chunk-43QNQO5C.js} +3 -3
  20. package/dist/mcp-chunks/{chunk-LIEFPSSB.js → chunk-4IXQQER3.js} +5 -5
  21. package/dist/mcp-chunks/{chunk-O2VOMKAS.js → chunk-6XBQDCGX.js} +10 -10
  22. package/dist/mcp-chunks/{chunk-S2YF442K.js → chunk-7CI6DKEP.js} +2 -2
  23. package/dist/mcp-chunks/{chunk-H7ARMBV7.js → chunk-7OQUF6V6.js} +26 -10
  24. package/dist/mcp-chunks/{chunk-S6GJ42I2.js → chunk-7X3JHUMH.js} +1 -1
  25. package/dist/mcp-chunks/{chunk-D6B2M5V7.js → chunk-7ZZZ7MR2.js} +1 -1
  26. package/dist/mcp-chunks/{chunk-WHJUDBPR.js → chunk-AHDUZPNI.js} +2 -1
  27. package/dist/mcp-chunks/{chunk-QALB3DRW.js → chunk-ALLS7CUV.js} +1 -1
  28. package/dist/mcp-chunks/{chunk-6RG6AD5X.js → chunk-ASFI5AJK.js} +17 -11
  29. package/dist/mcp-chunks/{chunk-LQIE4PKL.js → chunk-CMDB57MS.js} +2 -2
  30. package/dist/mcp-chunks/{chunk-HZ2SX5U6.js → chunk-CO4CYU5W.js} +11 -11
  31. package/dist/mcp-chunks/{chunk-TUQGOYK6.js → chunk-CRX2G22W.js} +1 -1
  32. package/dist/mcp-chunks/{chunk-UKM35J67.js → chunk-DUJ5WAHC.js} +2 -2
  33. package/dist/mcp-chunks/{chunk-RIHPVCGI.js → chunk-EIF7GALA.js} +1 -1
  34. package/dist/mcp-chunks/{chunk-QJNF3A3F.js → chunk-EIXFNLU6.js} +1 -1
  35. package/dist/mcp-chunks/{chunk-77BZYP72.js → chunk-FMYP6JXX.js} +1 -1
  36. package/dist/mcp-chunks/{chunk-LXHPDKEF.js → chunk-FQAJT6U2.js} +1 -1
  37. package/dist/mcp-chunks/{chunk-7WL4TMON.js → chunk-FUKRLUU7.js} +4 -4
  38. package/dist/mcp-chunks/{chunk-L6OOGZVA.js → chunk-FVZKQMZS.js} +21 -7
  39. package/dist/mcp-chunks/{chunk-RZIJUJGL.js → chunk-FWWPRZ37.js} +31 -40
  40. package/dist/mcp-chunks/{chunk-KQCLM7R7.js → chunk-GJ7DWMRT.js} +1 -1
  41. package/dist/mcp-chunks/{chunk-LCBDVFVA.js → chunk-HM26TIPK.js} +1 -1
  42. package/dist/mcp-chunks/{chunk-JVYCENPP.js → chunk-IJTZ2ZRM.js} +4 -4
  43. package/dist/mcp-chunks/{chunk-S5F3HEZZ.js → chunk-IR5SMKTP.js} +425 -445
  44. package/dist/mcp-chunks/{chunk-7PFJCLXL.js → chunk-IWXEOLJL.js} +20 -16
  45. package/dist/mcp-chunks/{chunk-D6SVCPN6.js → chunk-JQCSGX6E.js} +1 -1
  46. package/dist/mcp-chunks/{chunk-P463YBJM.js → chunk-JRU5LZJQ.js} +1 -1
  47. package/dist/mcp-chunks/{chunk-XNHGMWN2.js → chunk-M7VINGHY.js} +9 -7
  48. package/dist/mcp-chunks/{chunk-IF6LRV3J.js → chunk-OURSGEZX.js} +8 -8
  49. package/dist/mcp-chunks/{chunk-H4KL74PV.js → chunk-P3S4OJPI.js} +9 -9
  50. package/dist/mcp-chunks/{chunk-P3UVILEW.js → chunk-POYT6GCW.js} +29 -5
  51. package/dist/mcp-chunks/{chunk-5BMCVE2J.js → chunk-R636HUNL.js} +17 -13
  52. package/dist/mcp-chunks/{chunk-TYYSBILI.js → chunk-SONMFI3S.js} +70 -28
  53. package/dist/mcp-chunks/{chunk-I6UMKX5E.js → chunk-SVCKS5MW.js} +4 -4
  54. package/dist/mcp-chunks/{chunk-NQW3ES2G.js → chunk-TDBM2UIR.js} +1 -1
  55. package/dist/mcp-chunks/{chunk-VJIAHZZG.js → chunk-TKZA4MPW.js} +4 -4
  56. package/dist/mcp-chunks/{chunk-2P2HVZ3G.js → chunk-UHXTAPEC.js} +1 -1
  57. package/dist/mcp-chunks/{chunk-CLR6DJV3.js → chunk-UXI26V4F.js} +1 -1
  58. package/dist/mcp-chunks/{chunk-UIPG6W7N.js → chunk-UYG7PAN2.js} +2 -2
  59. package/dist/mcp-chunks/{chunk-2HOMVWSA.js → chunk-VCPUZFU7.js} +2 -2
  60. package/dist/mcp-chunks/{chunk-FBVRU4Y3.js → chunk-VRTH73R5.js} +40 -33
  61. package/dist/mcp-chunks/{chunk-KOWNVUL2.js → chunk-VWNF5PIF.js} +2 -2
  62. package/dist/mcp-chunks/{chunk-MJFZM5EV.js → chunk-WQBESOWG.js} +22 -5
  63. package/dist/mcp-chunks/chunk-XDARNDP3.js +25 -0
  64. package/dist/mcp-chunks/{chunk-OSYB5GNF.js → chunk-XUJQ6U6M.js} +3 -3
  65. package/dist/mcp-chunks/{chunk-PJCMJ65D.js → chunk-YGRORKGT.js} +226 -101
  66. package/dist/mcp-chunks/{chunk-C2VLY7ED.js → chunk-YM7ZVYI2.js} +4 -4
  67. package/dist/mcp-chunks/{chunk-6QZQZXDJ.js → chunk-YTO7DITJ.js} +3 -3
  68. package/dist/mcp-chunks/{chunk-UHO6KIUJ.js → chunk-ZLV5S5UP.js} +2 -2
  69. package/dist/mcp-chunks/{cli-JI7MEAAX.js → cli-67GWFF4R.js} +69 -68
  70. package/dist/mcp-chunks/client-MQMNAYYW.js +31 -0
  71. package/dist/mcp-chunks/{config-command-GRZLKD3R.js → config-command-3IKIRWMW.js} +41 -27
  72. package/dist/mcp-chunks/daemon-command-OMOZ5MP7.js +31 -0
  73. package/dist/mcp-chunks/{dist-USMCQ22V.js → dist-YL3LFKVP.js} +219 -202
  74. package/dist/mcp-chunks/{emit-ts-command-7VLESP7H.js → emit-ts-command-YWKROLL2.js} +84 -70
  75. package/dist/mcp-chunks/{generate-cli-runner-SSW2B72K.js → generate-cli-runner-CZEVY2Y7.js} +51 -48
  76. package/dist/mcp-chunks/generated-daemon-runtime-SRFULTIT.js +31 -0
  77. package/dist/mcp-chunks/{inspect-cli-command-NCGCMOIS.js → inspect-cli-command-5Y2LORK5.js} +9 -9
  78. package/dist/mcp-chunks/{launch-NBONSPNK.js → launch-43TA3HYF.js} +1 -1
  79. package/dist/mcp-chunks/{lifecycle-CXAKUCN4.js → lifecycle-BY2ILXTB.js} +1 -1
  80. package/dist/mcp-chunks/{list-command-5T4UF4PF.js → list-command-7RU7NNAV.js} +56 -43
  81. package/dist/mcp-chunks/{output-utils-YFTWQZ5V.js → output-utils-2R3SA6KR.js} +3 -3
  82. package/dist/mcp-chunks/{prompt-CH6TK0bC-6DI4RA4E.js → prompt-CH6TK0bC-GKQOEUY4.js} +1 -1
  83. package/dist/mcp-chunks/{record-command-TE5O7WBL.js → record-command-ROIRRNFS.js} +5 -5
  84. package/dist/mcp-chunks/{replay-command-QCUL5ASR.js → replay-command-Y2MYVQTL.js} +6 -6
  85. package/dist/mcp-chunks/{resource-command-XMGF7EAK.js → resource-command-VUV7AYYQ.js} +9 -9
  86. package/dist/mcp-chunks/{result-utils-HKB42M7Y.js → result-utils-5U7NVXDZ.js} +3 -3
  87. package/dist/mcp-chunks/runtime-Q4SCCOQE.js +38 -0
  88. package/dist/mcp-chunks/{runtime-wrapper-MI3HF45J.js → runtime-wrapper-3BVFTSWJ.js} +3 -3
  89. package/dist/mcp-chunks/{serve-command-5HV3ZE25.js → serve-command-BXLQWHFW.js} +8969 -1147
  90. package/dist/mcp-chunks/{timeouts-YBFBTLV2.js → timeouts-6GL2F44N.js} +3 -3
  91. package/dist/mcp-chunks/{vault-command-FC2PD5U6.js → vault-command-JCMW3DQA.js} +4 -4
  92. package/dist/mcp-chunks/{webapi-IFUPO72B.js → webapi-UMWFGMQV.js} +46 -46
  93. package/dist/mcp-daemon.js +27 -26
  94. package/dist/mcp-run-worker.js +27 -26
  95. package/dist/pi-extension.d.ts.map +1 -1
  96. package/dist/pi-extension.js +22 -19
  97. package/dist/pi-extension.js.map +1 -1
  98. package/dist/recipe/model.d.ts.map +1 -1
  99. package/dist/recipe/model.js +25 -1
  100. package/dist/recipe/model.js.map +1 -1
  101. package/dist/run-controller.d.ts +10 -3
  102. package/dist/run-controller.d.ts.map +1 -1
  103. package/dist/run-controller.js +23 -11
  104. package/dist/run-controller.js.map +1 -1
  105. package/dist/session.d.ts +13 -0
  106. package/dist/session.d.ts.map +1 -1
  107. package/dist/session.js +15 -9
  108. package/dist/session.js.map +1 -1
  109. package/docs/agent-composition.md +27 -6
  110. package/docs/host-api.md +32 -4
  111. package/docs/mcp-configuration.md +12 -3
  112. package/docs/pi-extension.md +7 -4
  113. package/docs/recipe-format.md +14 -5
  114. package/package.json +11 -11
  115. package/dist/mcp-chunks/call-arguments-VT7JLNJY.js +0 -16
  116. package/dist/mcp-chunks/client-QU7ABSNB.js +0 -30
  117. package/dist/mcp-chunks/daemon-command-3266CYHO.js +0 -30
  118. package/dist/mcp-chunks/generated-daemon-runtime-7CFVWLC7.js +0 -30
  119. package/dist/mcp-chunks/runtime-3X2XVS6X.js +0 -37
@@ -2,69 +2,60 @@ import { createRequire as __createRequire } from "node:module"; const require =
2
2
  import {
3
3
  extractGeneratorFlags,
4
4
  readPackageMetadata
5
- } from "./chunk-O2VOMKAS.js";
5
+ } from "./chunk-6XBQDCGX.js";
6
6
  import {
7
7
  loadToolMetadata
8
- } from "./chunk-UIPG6W7N.js";
8
+ } from "./chunk-UYG7PAN2.js";
9
9
  import {
10
- buildToolDoc
11
- } from "./chunk-MJFZM5EV.js";
12
- import "./chunk-NQW3ES2G.js";
13
- import "./chunk-TUQGOYK6.js";
14
- import "./chunk-KOWNVUL2.js";
10
+ buildToolDoc,
11
+ formatParameterObjectType
12
+ } from "./chunk-WQBESOWG.js";
13
+ import "./chunk-TDBM2UIR.js";
14
+ import "./chunk-CRX2G22W.js";
15
+ import "./chunk-VWNF5PIF.js";
15
16
  import {
16
17
  findServerByHttpUrl
17
- } from "./chunk-UKM35J67.js";
18
+ } from "./chunk-DUJ5WAHC.js";
18
19
  import {
19
20
  extractHttpServerTarget
20
- } from "./chunk-2P2HVZ3G.js";
21
+ } from "./chunk-UHXTAPEC.js";
21
22
  import {
22
23
  consumeOutputFormat
23
- } from "./chunk-5B7GRMUK.js";
24
- import "./chunk-KQCLM7R7.js";
25
- import "./chunk-7PFJCLXL.js";
26
- import "./chunk-H4KL74PV.js";
24
+ } from "./chunk-27XDYSXJ.js";
25
+ import "./chunk-GJ7DWMRT.js";
26
+ import "./chunk-IWXEOLJL.js";
27
+ import "./chunk-P3S4OJPI.js";
28
+ import {
29
+ isRecord
30
+ } from "./chunk-XDARNDP3.js";
27
31
  import "./chunk-T4MQCFIK.js";
28
- import "./chunk-D6SVCPN6.js";
32
+ import "./chunk-JQCSGX6E.js";
29
33
  import "./chunk-LRKZP7DJ.js";
30
34
 
31
- // node_modules/.pnpm/mcporter@0.13.13/node_modules/mcporter/dist/cli/emit-ts-command.js
35
+ // node_modules/.pnpm/mcporter@0.14.2/node_modules/mcporter/dist/cli/emit-ts-command.js
32
36
  import fs from "node:fs/promises";
33
37
  import path2 from "node:path";
34
38
 
35
- // node_modules/.pnpm/mcporter@0.13.13/node_modules/mcporter/dist/cli/emit-ts-templates.js
39
+ // node_modules/.pnpm/mcporter@0.14.2/node_modules/mcporter/dist/cli/emit-ts-templates.js
36
40
  import path from "node:path";
37
41
  function renderTypesModule(input) {
38
42
  const lines = [];
39
43
  lines.push(...renderHeader(input.metadata));
40
44
  lines.push("import type { CallResult } from 'mcporter';");
41
45
  lines.push("");
42
- lines.push(`export interface ${input.interfaceName} {`);
43
- input.docs.forEach((entry, index) => {
44
- lines.push(...renderDocComment(entry.doc.docLines, " "));
45
- const methodSignature = toInterfaceSignature(entry.doc.tsSignature, entry.toolName, { wrapInPromise: true });
46
- lines.push(` ${methodSignature}`);
47
- if (entry.doc.optionalSummary) {
48
- lines.push(` // ${entry.doc.optionalSummary.replace(/^\/\//, "").trim()}`);
49
- }
50
- if (index !== input.docs.length - 1) {
51
- lines.push("");
52
- }
53
- });
54
- if (input.docs.length === 0) {
55
- lines.push(" // No tools reported for this server.");
56
- }
57
- lines.push("}");
46
+ lines.push(...renderInterface(input));
58
47
  lines.push("");
59
48
  return lines.join("\n");
60
49
  }
61
50
  function renderClientModule(input) {
62
51
  const lines = [];
63
52
  lines.push(...renderHeader(input.metadata));
64
- lines.push("import { createRuntime, createServerProxy, wrapCallResult } from 'mcporter';");
65
- lines.push(`import type { ${input.interfaceName} } from '${input.typesImportPath}';`);
53
+ lines.push("import { type CallResult, createRuntime, createServerProxy } from 'mcporter';");
66
54
  lines.push("");
67
55
  lines.push("type RuntimeInstance = Awaited<ReturnType<typeof createRuntime>>;");
56
+ lines.push("");
57
+ lines.push(...renderInterface({ ...input, signatureStyle: "object" }));
58
+ lines.push("");
68
59
  const clientType = `${input.interfaceName.replace(/Tools$/, "Client")}`;
69
60
  const factoryName = `create${input.interfaceName.replace(/Tools$/, "")}Client`;
70
61
  const serverName = input.metadata.server.name;
@@ -83,14 +74,13 @@ function renderClientModule(input) {
83
74
  lines.push(" }));");
84
75
  lines.push(" const ownsRuntime = !options.runtime;");
85
76
  lines.push(` const proxy = createServerProxy(runtime, ${JSON.stringify(serverName)});`);
77
+ lines.push(` const tools = proxy as typeof proxy & { [K in keyof ${input.interfaceName}]: (params: unknown) => Promise<CallResult> };`);
86
78
  lines.push(` const client: ${clientType} = {`);
87
- input.docs.forEach((entry, _index) => {
79
+ input.docs.forEach((entry) => {
88
80
  const memberName = toMemberName(entry.toolName);
89
- const indexKey = toIndexKey(entry.toolName);
90
- lines.push(` async ${memberName}(params: Parameters<${input.interfaceName}[${indexKey}]>[0]) {`);
91
- lines.push(` const tool = proxy[${JSON.stringify(entry.toolName)}] as (args: Parameters<${input.interfaceName}[${indexKey}]>[0]) => Promise<unknown>;`);
92
- lines.push(" const raw = await tool(params);");
93
- lines.push(" return wrapCallResult(raw).callResult;");
81
+ const access = toMemberAccess(entry.toolName);
82
+ lines.push(` async ${memberName}(params) {`);
83
+ lines.push(` return tools${access}(params === undefined ? {} : params);`);
94
84
  lines.push(" },");
95
85
  lines.push("");
96
86
  });
@@ -105,6 +95,25 @@ function renderClientModule(input) {
105
95
  lines.push("");
106
96
  return lines.join("\n");
107
97
  }
98
+ function renderInterface(input) {
99
+ const lines = [];
100
+ lines.push(`export interface ${input.interfaceName} {`);
101
+ input.docs.forEach((entry, index) => {
102
+ lines.push(...renderDocComment(entry.doc.docLines, " "));
103
+ lines.push(` ${toInterfaceSignature(entry, input.signatureStyle)}`);
104
+ if (entry.doc.optionalSummary) {
105
+ lines.push(` // ${singleCommentLine(entry.doc.optionalSummary.replace(/^\/\//, "").trim())}`);
106
+ }
107
+ if (index !== input.docs.length - 1) {
108
+ lines.push("");
109
+ }
110
+ });
111
+ if (input.docs.length === 0) {
112
+ lines.push(" // No tools reported for this server.");
113
+ }
114
+ lines.push("}");
115
+ return lines;
116
+ }
108
117
  function renderHeader(metadata) {
109
118
  const lines = [];
110
119
  const timestamp = metadata.generatedAt.toISOString();
@@ -123,31 +132,51 @@ function renderHeader(metadata) {
123
132
  lines.push(`// Transport: ${transport}`);
124
133
  }
125
134
  lines.push("");
126
- return lines;
135
+ return lines.map(singleCommentLine);
136
+ }
137
+ function singleCommentLine(text) {
138
+ return text.replace(/[\r\n\u2028\u2029]/g, " ");
127
139
  }
128
140
  function renderDocComment(docLines, indent) {
129
141
  if (!docLines || docLines.length === 0) {
130
142
  return [];
131
143
  }
132
- return docLines.map((line) => `${indent}${line}`);
144
+ return docLines.map((line, index) => `${indent}${index === 0 || index === docLines.length - 1 ? line : line.replaceAll("*/", "* /")}`);
133
145
  }
134
- function toInterfaceSignature(signature, toolName, options) {
135
- const trimmed = signature.trim();
136
- const match = trimmed.match(/^function\s+([^(]+)\((.*)\)\s*(?::\s*([^;]+))?;?$/);
146
+ var SIGNATURE_PATTERN = /^function\s+([^(]+)\((.*)\)\s*(?::\s*([^;]+))?;?$/;
147
+ function toInterfaceSignature(entry, style) {
148
+ if (style === "object") {
149
+ return `${toMemberName(entry.toolName)}(${toObjectParams(entry)}): Promise<CallResult>;`;
150
+ }
151
+ const trimmed = entry.doc.tsSignature.trim();
152
+ const match = trimmed.match(SIGNATURE_PATTERN);
137
153
  if (!match) {
138
154
  return trimmed.replace(/^function\s+/, "");
139
155
  }
140
- const [, , params, returnTypeRaw] = match;
156
+ const [, , positionalParams, returnTypeRaw] = match;
141
157
  const returnType = (returnTypeRaw ?? "void").trim();
142
- const finalReturn = options?.wrapInPromise ? `Promise<${returnType}>` : returnType;
143
- return `${toMemberName(toolName)}(${params}): ${finalReturn};`;
158
+ return `${toMemberName(entry.toolName)}(${positionalParams}): Promise<${returnType}>;`;
159
+ }
160
+ function toObjectParams(entry) {
161
+ const schema = entry.inputSchema;
162
+ const closed = isRecord(schema) && (schema.additionalProperties === false || schema.additionalProperties === void 0 && schema.unevaluatedProperties === false);
163
+ const patterns = isRecord(schema) && isRecord(schema.patternProperties) && Object.keys(schema.patternProperties).length > 0;
164
+ const composed = isRecord(schema) && schema.additionalProperties !== false && ["$ref", "allOf", "anyOf", "oneOf", "if", "then", "else", "dependentSchemas"].some((key) => Object.hasOwn(schema, key));
165
+ const extraKeys = !closed || patterns || composed;
166
+ let parameterType = formatParameterObjectType(entry.doc.displayOptions);
167
+ if (!parameterType)
168
+ return `params?: Record<string, ${extraKeys ? "unknown" : "never"}>`;
169
+ if (extraKeys)
170
+ parameterType += " & Record<string, unknown>";
171
+ const optionalSuffix = entry.doc.displayOptions.some((option) => option.required) ? "" : "?";
172
+ return `params${optionalSuffix}: ${parameterType}`;
144
173
  }
145
174
  var SAFE_IDENTIFIER = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
146
175
  function toMemberName(name) {
147
176
  return SAFE_IDENTIFIER.test(name) ? name : JSON.stringify(name);
148
177
  }
149
- function toIndexKey(name) {
150
- return JSON.stringify(name);
178
+ function toMemberAccess(name) {
179
+ return SAFE_IDENTIFIER.test(name) ? `.${name}` : `[${JSON.stringify(name)}]`;
151
180
  }
152
181
  function describeTransport(definition) {
153
182
  if (definition.command.kind === "http") {
@@ -170,7 +199,7 @@ function describeSource(definition) {
170
199
  return void 0;
171
200
  }
172
201
 
173
- // node_modules/.pnpm/mcporter@0.13.13/node_modules/mcporter/dist/cli/emit-ts-command.js
202
+ // node_modules/.pnpm/mcporter@0.14.2/node_modules/mcporter/dist/cli/emit-ts-command.js
174
203
  async function handleEmitTs(runtime, args) {
175
204
  const options = parseEmitTsArgs(args);
176
205
  const definition = getServerDefinition(runtime, options.server);
@@ -187,7 +216,7 @@ async function handleEmitTs(runtime, args) {
187
216
  const docEntries = buildDocEntries(options.server, metadataEntries, options.includeOptional);
188
217
  const interfaceName = buildInterfaceName(options.server);
189
218
  if (options.mode === "types") {
190
- const source = renderTypesModule({ interfaceName, docs: docEntries, metadata });
219
+ const source = renderTypesModule({ interfaceName, docs: docEntries, metadata, signatureStyle: "positional" });
191
220
  await writeFile(options.outPath, source);
192
221
  if (options.format === "json") {
193
222
  console.log(JSON.stringify({
@@ -201,14 +230,8 @@ async function handleEmitTs(runtime, args) {
201
230
  return;
202
231
  }
203
232
  const typesOutPath = options.typesOutPath ?? deriveTypesOutPath(options.outPath);
204
- const relativeImportPath = computeImportPath(options.outPath, typesOutPath);
205
- const typesSource = renderTypesModule({ interfaceName, docs: docEntries, metadata });
206
- const clientSource = renderClientModule({
207
- interfaceName,
208
- docs: docEntries,
209
- metadata,
210
- typesImportPath: relativeImportPath
211
- });
233
+ const typesSource = renderTypesModule({ interfaceName, docs: docEntries, metadata, signatureStyle: "object" });
234
+ const clientSource = renderClientModule({ interfaceName, docs: docEntries, metadata });
212
235
  await writeFile(typesOutPath, typesSource);
213
236
  await writeFile(options.outPath, clientSource);
214
237
  if (options.format === "json") {
@@ -348,6 +371,7 @@ function buildDocEntries(serverName, metadataEntries, includeOptional) {
348
371
  return {
349
372
  toolName: entry.tool.name,
350
373
  methodName: entry.methodName,
374
+ inputSchema: entry.tool.inputSchema,
351
375
  doc
352
376
  };
353
377
  });
@@ -367,20 +391,10 @@ async function writeFile(targetPath, contents) {
367
391
  await fs.writeFile(targetPath, `${contents}
368
392
  `, "utf8");
369
393
  }
370
- function computeImportPath(fromPath, typesPath) {
371
- const fromDir = path2.dirname(fromPath);
372
- const relative = path2.relative(fromDir, typesPath).replace(/\\/g, "/");
373
- const withoutExt = relative.endsWith(".d.ts") ? relative.slice(0, -5) : relative.replace(/\.[^.]+$/, "");
374
- if (withoutExt.startsWith(".")) {
375
- return withoutExt;
376
- }
377
- return `./${withoutExt}`;
378
- }
379
394
  var __test = {
380
395
  parseEmitTsArgs,
381
396
  buildInterfaceName,
382
397
  deriveTypesOutPath,
383
- computeImportPath,
384
398
  buildDocEntries
385
399
  };
386
400
  export {
@@ -5,69 +5,70 @@ import {
5
5
  readPackageMetadata,
6
6
  safeCopyFile,
7
7
  writeTemplate
8
- } from "./chunk-O2VOMKAS.js";
8
+ } from "./chunk-6XBQDCGX.js";
9
9
  import {
10
10
  buildGenerateCliCommand,
11
11
  readCliMetadata,
12
12
  resolveGenerateRequestFromArtifact,
13
13
  serializeDefinition,
14
14
  validateToolSelection
15
- } from "./chunk-C2VLY7ED.js";
16
- import "./chunk-WHJUDBPR.js";
15
+ } from "./chunk-YM7ZVYI2.js";
16
+ import "./chunk-AHDUZPNI.js";
17
17
  import {
18
18
  expectValue
19
- } from "./chunk-S6GJ42I2.js";
20
- import "./chunk-MJFZM5EV.js";
19
+ } from "./chunk-7X3JHUMH.js";
20
+ import "./chunk-WQBESOWG.js";
21
21
  import {
22
22
  buildToolMetadataList,
23
23
  toolsTestHelpers
24
- } from "./chunk-NQW3ES2G.js";
25
- import "./chunk-TUQGOYK6.js";
26
- import "./chunk-KOWNVUL2.js";
24
+ } from "./chunk-TDBM2UIR.js";
25
+ import "./chunk-CRX2G22W.js";
26
+ import "./chunk-VWNF5PIF.js";
27
27
  import {
28
28
  splitCommandLine,
29
29
  toAsciiSlug
30
- } from "./chunk-6RG6AD5X.js";
30
+ } from "./chunk-ASFI5AJK.js";
31
31
  import {
32
32
  extractHttpServerTarget,
33
33
  looksLikeHttpUrl,
34
34
  normalizeHttpUrl,
35
35
  normalizeHttpUrlCandidate,
36
36
  splitHttpToolSelector
37
- } from "./chunk-2P2HVZ3G.js";
37
+ } from "./chunk-UHXTAPEC.js";
38
38
  import {
39
39
  createRuntime
40
- } from "./chunk-PJCMJ65D.js";
40
+ } from "./chunk-YGRORKGT.js";
41
41
  import {
42
42
  stableJsonStringify
43
- } from "./chunk-KQCLM7R7.js";
44
- import "./chunk-D6B2M5V7.js";
45
- import "./chunk-L6OOGZVA.js";
46
- import "./chunk-TYYSBILI.js";
47
- import "./chunk-IF6LRV3J.js";
48
- import "./chunk-XNHGMWN2.js";
49
- import "./chunk-P463YBJM.js";
50
- import "./chunk-FONFU4G5.js";
43
+ } from "./chunk-GJ7DWMRT.js";
44
+ import "./chunk-7ZZZ7MR2.js";
45
+ import "./chunk-FVZKQMZS.js";
46
+ import "./chunk-SONMFI3S.js";
47
+ import "./chunk-OURSGEZX.js";
48
+ import "./chunk-M7VINGHY.js";
49
+ import "./chunk-JRU5LZJQ.js";
50
+ import "./chunk-2IO3FXZJ.js";
51
51
  import {
52
52
  MCPORTER_VERSION
53
- } from "./chunk-7PFJCLXL.js";
54
- import "./chunk-H4KL74PV.js";
53
+ } from "./chunk-IWXEOLJL.js";
54
+ import "./chunk-P3S4OJPI.js";
55
55
  import {
56
56
  loadServerDefinitions
57
- } from "./chunk-RZIJUJGL.js";
58
- import "./chunk-H7ARMBV7.js";
59
- import "./chunk-UYJZJXC2.js";
60
- import "./chunk-UHO6KIUJ.js";
57
+ } from "./chunk-FWWPRZ37.js";
58
+ import "./chunk-XDARNDP3.js";
59
+ import "./chunk-7OQUF6V6.js";
60
+ import "./chunk-43QNQO5C.js";
61
+ import "./chunk-ZLV5S5UP.js";
61
62
  import "./chunk-T4MQCFIK.js";
62
- import "./chunk-D6SVCPN6.js";
63
+ import "./chunk-JQCSGX6E.js";
63
64
  import {
64
65
  resolveLifecycle
65
- } from "./chunk-QJNF3A3F.js";
66
- import "./chunk-O4JIUOWF.js";
67
- import "./chunk-S5F3HEZZ.js";
66
+ } from "./chunk-EIXFNLU6.js";
67
+ import "./chunk-35JUFDQI.js";
68
+ import "./chunk-IR5SMKTP.js";
68
69
  import "./chunk-LRKZP7DJ.js";
69
70
 
70
- // node_modules/.pnpm/mcporter@0.13.13/node_modules/mcporter/dist/cli/generate/name-utils.js
71
+ // node_modules/.pnpm/mcporter@0.14.2/node_modules/mcporter/dist/cli/generate/name-utils.js
71
72
  function inferNameFromCommand(command) {
72
73
  if (typeof command === "string") {
73
74
  const normalizedHttp = normalizeHttpUrlCandidate(command);
@@ -226,7 +227,7 @@ function deriveNameFromUrl(url) {
226
227
  return void 0;
227
228
  }
228
229
 
229
- // node_modules/.pnpm/mcporter@0.13.13/node_modules/mcporter/dist/cli/generate/flags.js
230
+ // node_modules/.pnpm/mcporter@0.14.2/node_modules/mcporter/dist/cli/generate/flags.js
230
231
  function parseGenerateFlags(args) {
231
232
  const common = extractGeneratorFlags(args);
232
233
  let server;
@@ -238,7 +239,7 @@ function parseGenerateFlags(args) {
238
239
  let bundle;
239
240
  let compile;
240
241
  const runtime = common.runtime;
241
- const timeout = common.timeout ?? 3e4;
242
+ const timeout = common.timeout;
242
243
  let minify;
243
244
  let from;
244
245
  let dryRun = false;
@@ -409,12 +410,12 @@ function normalizeCommandInput2(value) {
409
410
  return command;
410
411
  }
411
412
 
412
- // node_modules/.pnpm/mcporter@0.13.13/node_modules/mcporter/dist/generate-cli.js
413
+ // node_modules/.pnpm/mcporter@0.14.2/node_modules/mcporter/dist/generate-cli.js
413
414
  import fs3 from "node:fs/promises";
414
415
  import { createHash } from "node:crypto";
415
416
  import path3 from "node:path";
416
417
 
417
- // node_modules/.pnpm/mcporter@0.13.13/node_modules/mcporter/dist/cli/generate/artifacts.js
418
+ // node_modules/.pnpm/mcporter@0.14.2/node_modules/mcporter/dist/cli/generate/artifacts.js
418
419
  import { execFile as execFile2 } from "node:child_process";
419
420
  import fsSync from "node:fs";
420
421
  import fs from "node:fs/promises";
@@ -422,7 +423,7 @@ import { builtinModules, createRequire } from "node:module";
422
423
  import path from "node:path";
423
424
  import { fileURLToPath } from "node:url";
424
425
 
425
- // node_modules/.pnpm/mcporter@0.13.13/node_modules/mcporter/dist/cli/generate/runtime.js
426
+ // node_modules/.pnpm/mcporter@0.14.2/node_modules/mcporter/dist/cli/generate/runtime.js
426
427
  import { execFile } from "node:child_process";
427
428
  async function resolveRuntimeKind(runtimeOption, compileOption) {
428
429
  if (runtimeOption) {
@@ -437,7 +438,7 @@ async function resolveRuntimeKind(runtimeOption, compileOption) {
437
438
  async function verifyBunAvailable() {
438
439
  const bunBin = process.env.BUN_BIN ?? "bun";
439
440
  await new Promise((resolve, reject) => {
440
- execFile(bunBin, ["--version"], { cwd: process.cwd(), env: process.env }, (error) => {
441
+ execFile(bunBin, ["--version"], { cwd: process.cwd(), env: process.env, windowsHide: true }, (error) => {
441
442
  if (error) {
442
443
  reject(new Error("Unable to locate Bun runtime. Install Bun or set BUN_BIN to the bun executable."));
443
444
  return;
@@ -456,7 +457,7 @@ async function isBunAvailable() {
456
457
  }
457
458
  }
458
459
 
459
- // node_modules/.pnpm/mcporter@0.13.13/node_modules/mcporter/dist/cli/generate/artifacts.js
460
+ // node_modules/.pnpm/mcporter@0.14.2/node_modules/mcporter/dist/cli/generate/artifacts.js
460
461
  var localRequire = createRequire(import.meta.url);
461
462
  var packageRoot = fileURLToPath(new URL("../../..", import.meta.url));
462
463
  var BUNDLED_DEPENDENCIES = ["commander", "mcporter", "jsonc-parser"];
@@ -471,7 +472,7 @@ async function bundleOutput({ sourcePath, targetPath, runtimeKind, minify, bundl
471
472
  async function bundleWithRolldown({ sourcePath, targetPath, runtimeKind, minify }) {
472
473
  let rolldownImpl;
473
474
  try {
474
- ({ rolldown: rolldownImpl } = await import("./dist-USMCQ22V.js"));
475
+ ({ rolldown: rolldownImpl } = await import("./dist-YL3LFKVP.js"));
475
476
  } catch (error) {
476
477
  const message = "Rolldown bundling is unavailable in this build of mcporter; rerun with --bundler bun or install mcporter via npm (Node.js) to use the Rolldown bundler.";
477
478
  if (error instanceof Error) {
@@ -551,7 +552,7 @@ async function bundleWithBun({ sourcePath, targetPath, runtimeKind, minify }) {
551
552
  args.push("--minify");
552
553
  }
553
554
  await new Promise((resolve, reject) => {
554
- execFile2(bunBin, args, { cwd: stagingDir, env: process.env }, (error) => {
555
+ execFile2(bunBin, args, { cwd: stagingDir, env: process.env, windowsHide: true }, (error) => {
555
556
  if (error) {
556
557
  reject(error);
557
558
  return;
@@ -569,7 +570,7 @@ async function bundleWithBun({ sourcePath, targetPath, runtimeKind, minify }) {
569
570
  async function compileBundleWithBun(bundlePath, outputPath) {
570
571
  const bunBin = await verifyBunAvailable();
571
572
  await new Promise((resolve, reject) => {
572
- execFile2(bunBin, ["build", bundlePath, "--compile", "--outfile", outputPath], { cwd: process.cwd(), env: process.env }, (error) => {
573
+ execFile2(bunBin, ["build", bundlePath, "--compile", "--outfile", outputPath], { cwd: process.cwd(), env: process.env, windowsHide: true }, (error) => {
573
574
  if (error) {
574
575
  reject(error);
575
576
  return;
@@ -690,7 +691,7 @@ async function installPublishedBundlerDeps(stagingDir) {
690
691
  }
691
692
  await fs.writeFile(path.join(stagingDir, "package.json"), JSON.stringify({ private: true, type: "module", dependencies: { mcporter: installSpec } }, null, 2), "utf8");
692
693
  await new Promise((resolve, reject) => {
693
- execFile2("npm", ["install", "--ignore-scripts", "--no-audit", "--no-fund", "--min-release-age=0"], { cwd: stagingDir, env: process.env }, (error) => {
694
+ execFile2("npm", ["install", "--ignore-scripts", "--no-audit", "--no-fund", "--min-release-age=0"], { cwd: stagingDir, env: process.env, windowsHide: true }, (error) => {
694
695
  if (error) {
695
696
  reject(new Error(`Unable to install ${formatMcporterInstallSpec(installSpec)} dependencies needed for Bun compilation from this standalone binary. Install mcporter via npm/Homebrew, or ensure npm can reach the registry.
696
697
 
@@ -756,7 +757,7 @@ function resolveUniquePath(directory, baseName) {
756
757
  return attempt;
757
758
  }
758
759
 
759
- // node_modules/.pnpm/mcporter@0.13.13/node_modules/mcporter/dist/cli/generate/definition.js
760
+ // node_modules/.pnpm/mcporter@0.14.2/node_modules/mcporter/dist/cli/generate/definition.js
760
761
  import fs2 from "node:fs/promises";
761
762
  import path2 from "node:path";
762
763
  function ensureInvocationDefaults(invocation, definition) {
@@ -837,7 +838,7 @@ async function fetchTools(definition, serverName, configPath, rootDir) {
837
838
  rootDir,
838
839
  servers: [definition]
839
840
  });
840
- const { createGeneratedKeepAliveRuntime } = await import("./generated-daemon-runtime-7CFVWLC7.js");
841
+ const { createGeneratedKeepAliveRuntime } = await import("./generated-daemon-runtime-SRFULTIT.js");
841
842
  const context = await createGeneratedKeepAliveRuntime(base, definition);
842
843
  const runtime = context.runtime;
843
844
  try {
@@ -895,6 +896,7 @@ function normalizeDefinition(def) {
895
896
  const oauthRedirectUrl = stringFromAliases(record, "oauthRedirectUrl", "oauth_redirect_url");
896
897
  const oauthClientMetadataUrl = stringFromAliases(record, "oauthClientMetadataUrl", "oauth_client_metadata_url");
897
898
  const oauthScope = stringFromAliases(record, "oauthScope", "oauth_scope");
899
+ const oauthRequestedScope = stringFromAliases(record, "oauthRequestedScope", "oauth_requested_scope");
898
900
  const refresh = getRefresh(record.refresh);
899
901
  const httpFetch = normalizeHttpFetch(stringFromAliases(record, "httpFetch", "http_fetch"));
900
902
  const headers = toStringRecord(def.headers);
@@ -920,6 +922,7 @@ function normalizeDefinition(def) {
920
922
  oauthRedirectUrl,
921
923
  oauthClientMetadataUrl,
922
924
  oauthScope,
925
+ oauthRequestedScope,
923
926
  oauthCommand,
924
927
  refresh,
925
928
  httpFetch,
@@ -1110,7 +1113,7 @@ function toStringRecord(value) {
1110
1113
  return Object.keys(result).length > 0 ? result : void 0;
1111
1114
  }
1112
1115
 
1113
- // node_modules/.pnpm/mcporter@0.13.13/node_modules/mcporter/dist/generate-cli.js
1116
+ // node_modules/.pnpm/mcporter@0.14.2/node_modules/mcporter/dist/generate-cli.js
1114
1117
  var REPRODUCIBLE_GENERATED_AT = "1970-01-01T00:00:00.000Z";
1115
1118
  async function generateCli(options) {
1116
1119
  const runtimeKind = await resolveRuntimeKind(options.runtime, options.compile);
@@ -1308,7 +1311,7 @@ function applyToolFilters(tools, includeTools, excludeTools) {
1308
1311
  }
1309
1312
  var __test = { ...toolsTestHelpers, applyToolFilters };
1310
1313
 
1311
- // node_modules/.pnpm/mcporter@0.13.13/node_modules/mcporter/dist/cli/generate/output.js
1314
+ // node_modules/.pnpm/mcporter@0.14.2/node_modules/mcporter/dist/cli/generate/output.js
1312
1315
  async function performGenerateFromArtifact(metadata, request) {
1313
1316
  const { outputPath, bundlePath, compilePath } = await generateCli(request);
1314
1317
  if (metadata.artifact.kind === "binary" && compilePath) {
@@ -1332,7 +1335,7 @@ async function performGenerateFromRequest(request) {
1332
1335
  }
1333
1336
  }
1334
1337
 
1335
- // node_modules/.pnpm/mcporter@0.13.13/node_modules/mcporter/dist/cli/generate/server-utils.js
1338
+ // node_modules/.pnpm/mcporter@0.14.2/node_modules/mcporter/dist/cli/generate/server-utils.js
1336
1339
  function buildInlineServerDefinition(name, command, description) {
1337
1340
  if (typeof command === "string") {
1338
1341
  const url = normalizeHttpUrlCandidate(command) ?? command;
@@ -1365,7 +1368,7 @@ function buildInlineServerDefinition(name, command, description) {
1365
1368
  };
1366
1369
  }
1367
1370
 
1368
- // node_modules/.pnpm/mcporter@0.13.13/node_modules/mcporter/dist/cli/generate-cli-runner.js
1371
+ // node_modules/.pnpm/mcporter@0.14.2/node_modules/mcporter/dist/cli/generate-cli-runner.js
1369
1372
  async function handleGenerateCli(args, globalFlags) {
1370
1373
  const parsed = parseGenerateFlags(args);
1371
1374
  validateToolSelection(parsed.includeTools, parsed.excludeTools, {
@@ -1414,7 +1417,7 @@ async function handleGenerateCli(args, globalFlags) {
1414
1417
  runtime: parsed.runtime,
1415
1418
  bundler: parsed.bundler,
1416
1419
  bundle: parsed.bundle,
1417
- timeoutMs: parsed.timeout,
1420
+ timeoutMs: parsed.timeout ?? 3e4,
1418
1421
  compile: parsed.compile,
1419
1422
  minify: parsed.minify ?? false,
1420
1423
  includeTools: parsed.includeTools,
@@ -0,0 +1,31 @@
1
+ import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
2
+ import {
3
+ createGeneratedKeepAliveRuntime
4
+ } from "./chunk-FUKRLUU7.js";
5
+ import "./chunk-YTO7DITJ.js";
6
+ import "./chunk-VRTH73R5.js";
7
+ import "./chunk-YGRORKGT.js";
8
+ import "./chunk-GJ7DWMRT.js";
9
+ import "./chunk-7ZZZ7MR2.js";
10
+ import "./chunk-FVZKQMZS.js";
11
+ import "./chunk-SONMFI3S.js";
12
+ import "./chunk-OURSGEZX.js";
13
+ import "./chunk-M7VINGHY.js";
14
+ import "./chunk-JRU5LZJQ.js";
15
+ import "./chunk-2IO3FXZJ.js";
16
+ import "./chunk-IWXEOLJL.js";
17
+ import "./chunk-P3S4OJPI.js";
18
+ import "./chunk-FWWPRZ37.js";
19
+ import "./chunk-XDARNDP3.js";
20
+ import "./chunk-7OQUF6V6.js";
21
+ import "./chunk-43QNQO5C.js";
22
+ import "./chunk-ZLV5S5UP.js";
23
+ import "./chunk-T4MQCFIK.js";
24
+ import "./chunk-JQCSGX6E.js";
25
+ import "./chunk-EIXFNLU6.js";
26
+ import "./chunk-35JUFDQI.js";
27
+ import "./chunk-IR5SMKTP.js";
28
+ import "./chunk-LRKZP7DJ.js";
29
+ export {
30
+ createGeneratedKeepAliveRuntime
31
+ };
@@ -3,24 +3,24 @@ import {
3
3
  buildGenerateCliCommand,
4
4
  readCliMetadata,
5
5
  shellQuote
6
- } from "./chunk-C2VLY7ED.js";
7
- import "./chunk-WHJUDBPR.js";
6
+ } from "./chunk-YM7ZVYI2.js";
7
+ import "./chunk-AHDUZPNI.js";
8
8
  import {
9
9
  expectValue
10
- } from "./chunk-S6GJ42I2.js";
10
+ } from "./chunk-7X3JHUMH.js";
11
11
  import {
12
12
  formatPathForDisplay,
13
13
  formatSourceSuffix
14
- } from "./chunk-VJIAHZZG.js";
15
- import "./chunk-TUQGOYK6.js";
14
+ } from "./chunk-TKZA4MPW.js";
15
+ import "./chunk-CRX2G22W.js";
16
16
  import {
17
17
  consumeOutputFormat
18
- } from "./chunk-5B7GRMUK.js";
19
- import "./chunk-O4JIUOWF.js";
20
- import "./chunk-S5F3HEZZ.js";
18
+ } from "./chunk-27XDYSXJ.js";
19
+ import "./chunk-35JUFDQI.js";
20
+ import "./chunk-IR5SMKTP.js";
21
21
  import "./chunk-LRKZP7DJ.js";
22
22
 
23
- // node_modules/.pnpm/mcporter@0.13.13/node_modules/mcporter/dist/cli/inspect-cli-command.js
23
+ // node_modules/.pnpm/mcporter@0.14.2/node_modules/mcporter/dist/cli/inspect-cli-command.js
24
24
  async function handleInspectCli(args) {
25
25
  const parsed = parseInspectFlags(args);
26
26
  const metadata = await readCliMetadata(parsed.artifactPath);
@@ -2,7 +2,7 @@ import { createRequire as __createRequire } from "node:module"; const require =
2
2
  import {
3
3
  buildDaemonLaunchInvocation,
4
4
  launchDaemonDetached
5
- } from "./chunk-LXHPDKEF.js";
5
+ } from "./chunk-FQAJT6U2.js";
6
6
  import "./chunk-LRKZP7DJ.js";
7
7
  export {
8
8
  buildDaemonLaunchInvocation,
@@ -5,7 +5,7 @@ import {
5
5
  isKeepAliveServer,
6
6
  keepAliveIdleTimeout,
7
7
  resolveLifecycle
8
- } from "./chunk-QJNF3A3F.js";
8
+ } from "./chunk-EIXFNLU6.js";
9
9
  import "./chunk-LRKZP7DJ.js";
10
10
  export {
11
11
  DEFAULT_KEEP_ALIVE,