@mcpc-tech/core 0.3.32 → 0.3.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs CHANGED
@@ -534,7 +534,6 @@ __export(mod_exports, {
534
534
  composeMcpDepTools: () => composeMcpDepTools,
535
535
  convertToAISDKTools: () => convertToAISDKTools,
536
536
  extractJsonSchema: () => extractJsonSchema,
537
- isMarkdownFile: () => isMarkdownFile,
538
537
  isProdEnv: () => isProdEnv,
539
538
  isSCF: () => isSCF,
540
539
  isWrappedSchema: () => isWrappedSchema,
@@ -543,7 +542,6 @@ __export(mod_exports, {
543
542
  optionalObject: () => optionalObject,
544
543
  parseJSON: () => parseJSON,
545
544
  parseMcpcConfigs: () => parseMcpcConfigs,
546
- setMarkdownAgentLoader: () => setMarkdownAgentLoader,
547
545
  truncateJSON: () => truncateJSON
548
546
  });
549
547
  module.exports = __toCommonJS(mod_exports);
@@ -20190,6 +20188,7 @@ var ComposableMCPServer = class extends Server {
20190
20188
  pluginManager;
20191
20189
  toolManager;
20192
20190
  logger = createLogger("mcpc.compose");
20191
+ fileLoaders = /* @__PURE__ */ new Map();
20193
20192
  // Legacy property for backward compatibility
20194
20193
  get toolNameMapping() {
20195
20194
  return this.toolManager.getToolNameMapping();
@@ -20208,6 +20207,58 @@ var ComposableMCPServer = class extends Server {
20208
20207
  this.pluginManager = new PluginManager(this);
20209
20208
  this.toolManager = new ToolManager();
20210
20209
  }
20210
+ /**
20211
+ * Register a file loader for a specific extension.
20212
+ * Plugins can use this to add support for different file formats.
20213
+ *
20214
+ * @param extension - File extension including the dot (e.g., ".md", ".yaml")
20215
+ * @param loader - Function that loads a file and returns a ComposeDefinition
20216
+ *
20217
+ * @example
20218
+ * ```typescript
20219
+ * // In a plugin's configureServer hook:
20220
+ * configureServer: (server) => {
20221
+ * server.registerFileLoader(".md", loadMarkdownAgentFile);
20222
+ * server.registerFileLoader(".yaml", loadYamlAgentFile);
20223
+ * }
20224
+ * ```
20225
+ */
20226
+ registerFileLoader(extension, loader) {
20227
+ this.fileLoaders.set(extension.toLowerCase(), loader);
20228
+ }
20229
+ /**
20230
+ * Get the file loader for a specific extension.
20231
+ */
20232
+ getFileLoader(extension) {
20233
+ return this.fileLoaders.get(extension.toLowerCase());
20234
+ }
20235
+ /**
20236
+ * Check if a file extension has a registered loader.
20237
+ */
20238
+ hasFileLoader(extension) {
20239
+ return this.fileLoaders.has(extension.toLowerCase());
20240
+ }
20241
+ /**
20242
+ * Get all registered file extensions.
20243
+ */
20244
+ getRegisteredExtensions() {
20245
+ return Array.from(this.fileLoaders.keys());
20246
+ }
20247
+ /**
20248
+ * Resolve a file path to a ComposeDefinition using registered loaders.
20249
+ * @internal
20250
+ */
20251
+ async resolveFilePath(filePath) {
20252
+ const lastDot = filePath.lastIndexOf(".");
20253
+ const extension = lastDot === -1 ? "" : filePath.slice(lastDot).toLowerCase();
20254
+ const loader = this.fileLoaders.get(extension);
20255
+ if (!loader) {
20256
+ const supportedExtensions = this.getRegisteredExtensions().join(", ");
20257
+ const hint = supportedExtensions ? ` Supported extensions: ${supportedExtensions}.` : ' No file loaders registered. Use a loader plugin (e.g., markdownLoaderPlugin from "@mcpc/plugin-markdown-loader").';
20258
+ throw new Error(`Cannot load file "${filePath}": No loader registered for "${extension}" extension.${hint}`);
20259
+ }
20260
+ return await loader(filePath);
20261
+ }
20211
20262
  /**
20212
20263
  * Initialize built-in plugins - called during setup
20213
20264
  */
@@ -20779,25 +20830,6 @@ function convertToAISDKTools(server, helpers) {
20779
20830
  }
20780
20831
 
20781
20832
  // __mcpc__core_latest/node_modules/@mcpc/core/src/set-up-mcp-compose.js
20782
- var markdownAgentLoader = null;
20783
- function setMarkdownAgentLoader(loader) {
20784
- markdownAgentLoader = loader;
20785
- }
20786
- function isMarkdownFile(path) {
20787
- return path.endsWith(".md") || path.endsWith(".markdown");
20788
- }
20789
- async function resolveComposeInput(input) {
20790
- if (typeof input !== "string") {
20791
- return input;
20792
- }
20793
- if (!isMarkdownFile(input)) {
20794
- throw new Error(`Invalid compose input: "${input}". Expected a Markdown file path (.md) or a ComposeDefinition object.`);
20795
- }
20796
- if (!markdownAgentLoader) {
20797
- throw new Error(`Cannot load Markdown agent file "${input}": Markdown loader not available. Use markdownLoaderPlugin() from "@mcpc/plugin-markdown-loader", or use inline ComposeDefinition objects.`);
20798
- }
20799
- return await markdownAgentLoader(input);
20800
- }
20801
20833
  function parseMcpcConfigs(conf) {
20802
20834
  return conf ?? [];
20803
20835
  }
@@ -20815,7 +20847,13 @@ async function mcpc(serverConf, composeConf, optionsOrSetup) {
20815
20847
  }
20816
20848
  }
20817
20849
  }
20818
- const resolvedConfigs = composeConf ? await Promise.all(composeConf.map(resolveComposeInput)) : [];
20850
+ const resolveInput = (input) => {
20851
+ if (typeof input !== "string") {
20852
+ return Promise.resolve(input);
20853
+ }
20854
+ return server.resolveFilePath(input);
20855
+ };
20856
+ const resolvedConfigs = composeConf ? await Promise.all(composeConf.map(resolveInput)) : [];
20819
20857
  const parsed = parseMcpcConfigs(resolvedConfigs);
20820
20858
  await server.initBuiltInPlugins();
20821
20859
  for (const mcpcConfig of parsed) {
@@ -20843,7 +20881,6 @@ async function mcpc(serverConf, composeConf, optionsOrSetup) {
20843
20881
  composeMcpDepTools,
20844
20882
  convertToAISDKTools,
20845
20883
  extractJsonSchema,
20846
- isMarkdownFile,
20847
20884
  isProdEnv,
20848
20885
  isSCF,
20849
20886
  isWrappedSchema,
@@ -20852,6 +20889,5 @@ async function mcpc(serverConf, composeConf, optionsOrSetup) {
20852
20889
  optionalObject,
20853
20890
  parseJSON,
20854
20891
  parseMcpcConfigs,
20855
- setMarkdownAgentLoader,
20856
20892
  truncateJSON
20857
20893
  });
package/index.mjs CHANGED
@@ -20175,6 +20175,7 @@ var ComposableMCPServer = class extends Server {
20175
20175
  pluginManager;
20176
20176
  toolManager;
20177
20177
  logger = createLogger("mcpc.compose");
20178
+ fileLoaders = /* @__PURE__ */ new Map();
20178
20179
  // Legacy property for backward compatibility
20179
20180
  get toolNameMapping() {
20180
20181
  return this.toolManager.getToolNameMapping();
@@ -20193,6 +20194,58 @@ var ComposableMCPServer = class extends Server {
20193
20194
  this.pluginManager = new PluginManager(this);
20194
20195
  this.toolManager = new ToolManager();
20195
20196
  }
20197
+ /**
20198
+ * Register a file loader for a specific extension.
20199
+ * Plugins can use this to add support for different file formats.
20200
+ *
20201
+ * @param extension - File extension including the dot (e.g., ".md", ".yaml")
20202
+ * @param loader - Function that loads a file and returns a ComposeDefinition
20203
+ *
20204
+ * @example
20205
+ * ```typescript
20206
+ * // In a plugin's configureServer hook:
20207
+ * configureServer: (server) => {
20208
+ * server.registerFileLoader(".md", loadMarkdownAgentFile);
20209
+ * server.registerFileLoader(".yaml", loadYamlAgentFile);
20210
+ * }
20211
+ * ```
20212
+ */
20213
+ registerFileLoader(extension, loader) {
20214
+ this.fileLoaders.set(extension.toLowerCase(), loader);
20215
+ }
20216
+ /**
20217
+ * Get the file loader for a specific extension.
20218
+ */
20219
+ getFileLoader(extension) {
20220
+ return this.fileLoaders.get(extension.toLowerCase());
20221
+ }
20222
+ /**
20223
+ * Check if a file extension has a registered loader.
20224
+ */
20225
+ hasFileLoader(extension) {
20226
+ return this.fileLoaders.has(extension.toLowerCase());
20227
+ }
20228
+ /**
20229
+ * Get all registered file extensions.
20230
+ */
20231
+ getRegisteredExtensions() {
20232
+ return Array.from(this.fileLoaders.keys());
20233
+ }
20234
+ /**
20235
+ * Resolve a file path to a ComposeDefinition using registered loaders.
20236
+ * @internal
20237
+ */
20238
+ async resolveFilePath(filePath) {
20239
+ const lastDot = filePath.lastIndexOf(".");
20240
+ const extension = lastDot === -1 ? "" : filePath.slice(lastDot).toLowerCase();
20241
+ const loader = this.fileLoaders.get(extension);
20242
+ if (!loader) {
20243
+ const supportedExtensions = this.getRegisteredExtensions().join(", ");
20244
+ const hint = supportedExtensions ? ` Supported extensions: ${supportedExtensions}.` : ' No file loaders registered. Use a loader plugin (e.g., markdownLoaderPlugin from "@mcpc/plugin-markdown-loader").';
20245
+ throw new Error(`Cannot load file "${filePath}": No loader registered for "${extension}" extension.${hint}`);
20246
+ }
20247
+ return await loader(filePath);
20248
+ }
20196
20249
  /**
20197
20250
  * Initialize built-in plugins - called during setup
20198
20251
  */
@@ -20764,25 +20817,6 @@ function convertToAISDKTools(server, helpers) {
20764
20817
  }
20765
20818
 
20766
20819
  // __mcpc__core_latest/node_modules/@mcpc/core/src/set-up-mcp-compose.js
20767
- var markdownAgentLoader = null;
20768
- function setMarkdownAgentLoader(loader) {
20769
- markdownAgentLoader = loader;
20770
- }
20771
- function isMarkdownFile(path) {
20772
- return path.endsWith(".md") || path.endsWith(".markdown");
20773
- }
20774
- async function resolveComposeInput(input) {
20775
- if (typeof input !== "string") {
20776
- return input;
20777
- }
20778
- if (!isMarkdownFile(input)) {
20779
- throw new Error(`Invalid compose input: "${input}". Expected a Markdown file path (.md) or a ComposeDefinition object.`);
20780
- }
20781
- if (!markdownAgentLoader) {
20782
- throw new Error(`Cannot load Markdown agent file "${input}": Markdown loader not available. Use markdownLoaderPlugin() from "@mcpc/plugin-markdown-loader", or use inline ComposeDefinition objects.`);
20783
- }
20784
- return await markdownAgentLoader(input);
20785
- }
20786
20820
  function parseMcpcConfigs(conf) {
20787
20821
  return conf ?? [];
20788
20822
  }
@@ -20800,7 +20834,13 @@ async function mcpc(serverConf, composeConf, optionsOrSetup) {
20800
20834
  }
20801
20835
  }
20802
20836
  }
20803
- const resolvedConfigs = composeConf ? await Promise.all(composeConf.map(resolveComposeInput)) : [];
20837
+ const resolveInput = (input) => {
20838
+ if (typeof input !== "string") {
20839
+ return Promise.resolve(input);
20840
+ }
20841
+ return server.resolveFilePath(input);
20842
+ };
20843
+ const resolvedConfigs = composeConf ? await Promise.all(composeConf.map(resolveInput)) : [];
20804
20844
  const parsed = parseMcpcConfigs(resolvedConfigs);
20805
20845
  await server.initBuiltInPlugins();
20806
20846
  for (const mcpcConfig of parsed) {
@@ -20827,7 +20867,6 @@ export {
20827
20867
  composeMcpDepTools,
20828
20868
  convertToAISDKTools,
20829
20869
  extractJsonSchema,
20830
- isMarkdownFile,
20831
20870
  isProdEnv,
20832
20871
  isSCF,
20833
20872
  isWrappedSchema,
@@ -20836,6 +20875,5 @@ export {
20836
20875
  optionalObject,
20837
20876
  parseJSON,
20838
20877
  parseMcpcConfigs,
20839
- setMarkdownAgentLoader,
20840
20878
  truncateJSON
20841
20879
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcpc-tech/core",
3
- "version": "0.3.32",
3
+ "version": "0.3.33",
4
4
  "homepage": "https://jsr.io/@mcpc/core",
5
5
  "dependencies": {
6
6
  "@ai-sdk/provider": "^2.0.0",
package/types/mod.d.ts CHANGED
@@ -53,7 +53,7 @@ export type { AfterToolExecuteContext, AfterToolExecuteResult, AgentToolRegistra
53
53
  export * from "./src/utils/common/env.js";
54
54
  export * from "./src/utils/common/json.js";
55
55
  export * from "./src/utils/common/mcp.js";
56
- export { type ComposeDefinition, type ComposeInput, type ComposibleMCPConfig, isMarkdownFile, type MarkdownAgentLoader, mcpc, type McpcOptions, parseMcpcConfigs, setMarkdownAgentLoader } from "./src/set-up-mcp-compose.js";
56
+ export { type ComposeDefinition, type ComposeInput, type ComposibleMCPConfig, type FileLoader, mcpc, type McpcOptions, parseMcpcConfigs } from "./src/set-up-mcp-compose.js";
57
57
  export { extractJsonSchema, isWrappedSchema, jsonSchema, type Schema } from "./src/utils/schema.js";
58
58
  export { convertToAISDKTools, type JsonSchemaHelper, type ToolHelper } from "./src/ai-sdk-adapter.js";
59
59
  //# sourceMappingURL=mod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sources":["../mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDC,GAED,iCAAiC;AAGjC,cACE,eAAe,EACf,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,0BAA0B,iCACI;AAGhC,cAAc,cAAc,EAAE,UAAU,yBAAyB;AAGjE,cACE,uBAAuB,EACvB,sBAAsB,EACtB,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,EACvB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,UAAU,EACV,UAAU,EACV,gBAAgB,gCACa;AAE/B,0CAA0C;AAC1C,2CAA2C;AAC3C,0CAA0C;AAE1C,SACE,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,cAAc,EACd,KAAK,mBAAmB,EACxB,IAAI,EACJ,KAAK,WAAW,EAChB,gBAAgB,EAChB,sBAAsB,sCACa;AAGrC,SACE,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,KAAK,MAAM,gCACkB;AAG/B,SACE,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,UAAU,kCACgB"}
1
+ {"version":3,"file":"mod.d.ts","sources":["../mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDC,GAED,iCAAiC;AAGjC,cACE,eAAe,EACf,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,0BAA0B,iCACI;AAGhC,cAAc,cAAc,EAAE,UAAU,yBAAyB;AAGjE,cACE,uBAAuB,EACvB,sBAAsB,EACtB,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,EACvB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,UAAU,EACV,UAAU,EACV,gBAAgB,gCACa;AAE/B,0CAA0C;AAC1C,2CAA2C;AAC3C,0CAA0C;AAE1C,SACE,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,IAAI,EACJ,KAAK,WAAW,EAChB,gBAAgB,sCACmB;AAGrC,SACE,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,KAAK,MAAM,gCACkB;AAG/B,SACE,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,UAAU,kCACgB"}
@@ -2,15 +2,45 @@ import { type Implementation, type Tool } from "@modelcontextprotocol/sdk/types.
2
2
  import { type Schema } from "./utils/schema.js";
3
3
  import type { MCPSetting } from "./service/tools.js";
4
4
  import { Server, type ServerOptions } from "@modelcontextprotocol/sdk/server/index.js";
5
- import type { ComposeDefinition } from "./set-up-mcp-compose.js";
5
+ import type { ComposeDefinition, FileLoader } from "./set-up-mcp-compose.js";
6
6
  import type { JSONSchema, ToolCallback } from "./types.js";
7
7
  import type { ToolConfig, ToolPlugin } from "./plugin-types.js";
8
8
  export declare class ComposableMCPServer extends Server {
9
9
  private pluginManager: any;
10
10
  private toolManager: any;
11
11
  private logger: any;
12
+ private fileLoaders: any;
12
13
  get toolNameMapping(): Map<string, string>;
13
14
  constructor(_serverInfo: Implementation, options: ServerOptions);
15
+ /**
16
+ * Register a file loader for a specific extension.
17
+ * Plugins can use this to add support for different file formats.
18
+ *
19
+ * @param extension - File extension including the dot (e.g., ".md", ".yaml")
20
+ * @param loader - Function that loads a file and returns a ComposeDefinition
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * // In a plugin's configureServer hook:
25
+ * configureServer: (server) => {
26
+ * server.registerFileLoader(".md", loadMarkdownAgentFile);
27
+ * server.registerFileLoader(".yaml", loadYamlAgentFile);
28
+ * }
29
+ * ```
30
+ */ registerFileLoader(extension: string, loader: FileLoader): void;
31
+ /**
32
+ * Get the file loader for a specific extension.
33
+ */ getFileLoader(extension: string): FileLoader | undefined;
34
+ /**
35
+ * Check if a file extension has a registered loader.
36
+ */ hasFileLoader(extension: string): boolean;
37
+ /**
38
+ * Get all registered file extensions.
39
+ */ getRegisteredExtensions(): string[];
40
+ /**
41
+ * Resolve a file path to a ComposeDefinition using registered loaders.
42
+ * @internal
43
+ */ resolveFilePath(filePath: string): Promise<ComposeDefinition>;
14
44
  /**
15
45
  * Initialize built-in plugins - called during setup
16
46
  */ initBuiltInPlugins(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"compose.d.ts","sources":["../../src/compose.ts"],"names":[],"mappings":"AAAA,SAGE,KAAK,cAAc,EAGnB,KAAK,IAAI,6CAC8C;AACzD,SAAwC,KAAK,MAAM,4BAA4B;AAC/E,cAAc,UAAU,6BAA6B;AACrD,SACE,MAAM,EACN,KAAK,aAAa,oDAC4C;AAGhE,cAAc,iBAAiB,kCAAkC;AACjE,cAAc,UAAU,EAAE,YAAY,qBAAqB;AAM3D,cAA4B,UAAU,EAAE,UAAU,4BAA4B;AAe9E,OAAO,cAAM,4BAA4B;EACvC,QAAQ,mBAA6B;EACrC,QAAQ,iBAAyB;EACjC,QAAQ,YAAsC;EAG9C,IAAI,mBAAmB,IAAI,MAAM,EAAE,MAAM;EAIzC,YAAY,aAAa,cAAc,EAAE,SAAS,aAAa;EAiB/D;;GAEC,GACD,AAAM,sBAAsB,QAAQ,IAAI;UAqB1B;UAsDN;EAIR,KAAK,GACH,MAAM,MAAM,EACZ,aAAa,MAAM,EACnB,cAAc,OAAO,KAAK,UAAU,EACpC,KAAK,MAAM,GAAG,QAAQ,OAAO,KAAK,OAAO,EACzC;IAAW,WAAW,OAAO;IAAE,SAAS,OAAO;IAAE,UAAU;GACvD;EA+JN;;GAEC,GACD,gBAAgB,MAAM,MAAM,GAAG,eAAe,SAAS;EAIvD;;GAEC,GACD,eAAe,QAAQ,MAAM,GAAG,aAAa,SAAS;EAItD;;;GAGC,GACD,AAAM,SACJ,MAAM,MAAM,EACZ,MAAM,OAAO,EACb;IAAW,YAAY,MAAM;IAAE,iBAAiB,MAAM;GAAS,GAC9D,QAAQ,OAAO;EA4JlB;;GAEC,GACD,sBAAsB,MAAM;EAI5B;;GAEC,GACD,kBAAkB;EAIlB;;GAEC,GACD,sBAAsB,MAAM;EAI5B;;GAEC,GACD,wBAAwB,MAAM;EAM9B;;GAEC,GACD,oBACE,MAAM,MAAM;IACT,aAAa,MAAM;IAAE,QAAQ;MAAe,SAAS;EAI1D;;GAEC,GACD,aAAa,MAAM,MAAM,GAAG,OAAO;EAInC;;GAEC,GACD,WAAW,UAAU,MAAM,EAAE,QAAQ,UAAU,GAAG,IAAI;EAItD;;GAEC,GACD,cAAc,UAAU,MAAM,GAAG,aAAa,SAAS;EAIvD;;GAEC,GACD,iBAAiB,UAAU,MAAM,GAAG,OAAO;EAI3C;;GAEC,GACD,AAAM,UAAU,QAAQ,UAAU,GAAG,QAAQ,IAAI;EAIjD;;GAEC,GACD,AAAM,mBACJ,YAAY,MAAM,EAClB;IAAW,QAAQ,OAAO;GAAoB,GAC7C,QAAQ,IAAI;UAOD;EAOd;;GAEC,GACD,AAAM,kBAAkB,QAAQ,IAAI;EAIpC;;GAEC,GACD,SAAe,SAAS,QAAQ,IAAI;EAK9B,QACJ,MAAM,MAAM,GAAG,IAAI,EACnB,aAAa,MAAM,EACnB,aAAY,UAA+B,EAC3C,UAAS,kBAAkB,UAAgC,EAC3D,SAAS,MAAM;AAoRnB"}
1
+ {"version":3,"file":"compose.d.ts","sources":["../../src/compose.ts"],"names":[],"mappings":"AAAA,SAGE,KAAK,cAAc,EAGnB,KAAK,IAAI,6CAC8C;AACzD,SAAwC,KAAK,MAAM,4BAA4B;AAC/E,cAAc,UAAU,6BAA6B;AACrD,SACE,MAAM,EACN,KAAK,aAAa,oDAC4C;AAGhE,cAAc,iBAAiB,EAAE,UAAU,kCAAkC;AAC7E,cAAc,UAAU,EAAE,YAAY,qBAAqB;AAM3D,cAA4B,UAAU,EAAE,UAAU,4BAA4B;AAe9E,OAAO,cAAM,4BAA4B;EACvC,QAAQ,mBAA6B;EACrC,QAAQ,iBAAyB;EACjC,QAAQ,YAAsC;EAC9C,QAAQ,iBAA4C;EAGpD,IAAI,mBAAmB,IAAI,MAAM,EAAE,MAAM;EAIzC,YAAY,aAAa,cAAc,EAAE,SAAS,aAAa;EAiB/D;;;;;;;;;;;;;;;GAeC,GACD,mBAAmB,WAAW,MAAM,EAAE,QAAQ,UAAU,GAAG,IAAI;EAI/D;;GAEC,GACD,cAAc,WAAW,MAAM,GAAG,aAAa,SAAS;EAIxD;;GAEC,GACD,cAAc,WAAW,MAAM,GAAG,OAAO;EAIzC;;GAEC,GACD,2BAA2B,MAAM;EAIjC;;;GAGC,GACD,AAAM,gBAAgB,UAAU,MAAM,GAAG,QAAQ;EAqBjD;;GAEC,GACD,AAAM,sBAAsB,QAAQ,IAAI;UAqB1B;UAsDN;EAIR,KAAK,GACH,MAAM,MAAM,EACZ,aAAa,MAAM,EACnB,cAAc,OAAO,KAAK,UAAU,EACpC,KAAK,MAAM,GAAG,QAAQ,OAAO,KAAK,OAAO,EACzC;IAAW,WAAW,OAAO;IAAE,SAAS,OAAO;IAAE,UAAU;GACvD;EA+JN;;GAEC,GACD,gBAAgB,MAAM,MAAM,GAAG,eAAe,SAAS;EAIvD;;GAEC,GACD,eAAe,QAAQ,MAAM,GAAG,aAAa,SAAS;EAItD;;;GAGC,GACD,AAAM,SACJ,MAAM,MAAM,EACZ,MAAM,OAAO,EACb;IAAW,YAAY,MAAM;IAAE,iBAAiB,MAAM;GAAS,GAC9D,QAAQ,OAAO;EA4JlB;;GAEC,GACD,sBAAsB,MAAM;EAI5B;;GAEC,GACD,kBAAkB;EAIlB;;GAEC,GACD,sBAAsB,MAAM;EAI5B;;GAEC,GACD,wBAAwB,MAAM;EAM9B;;GAEC,GACD,oBACE,MAAM,MAAM;IACT,aAAa,MAAM;IAAE,QAAQ;MAAe,SAAS;EAI1D;;GAEC,GACD,aAAa,MAAM,MAAM,GAAG,OAAO;EAInC;;GAEC,GACD,WAAW,UAAU,MAAM,EAAE,QAAQ,UAAU,GAAG,IAAI;EAItD;;GAEC,GACD,cAAc,UAAU,MAAM,GAAG,aAAa,SAAS;EAIvD;;GAEC,GACD,iBAAiB,UAAU,MAAM,GAAG,OAAO;EAI3C;;GAEC,GACD,AAAM,UAAU,QAAQ,UAAU,GAAG,QAAQ,IAAI;EAIjD;;GAEC,GACD,AAAM,mBACJ,YAAY,MAAM,EAClB;IAAW,QAAQ,OAAO;GAAoB,GAC7C,QAAQ,IAAI;UAOD;EAOd;;GAEC,GACD,AAAM,kBAAkB,QAAQ,IAAI;EAIpC;;GAEC,GACD,SAAe,SAAS,QAAQ,IAAI;EAK9B,QACJ,MAAM,MAAM,GAAG,IAAI,EACnB,aAAa,MAAM,EACnB,aAAY,UAA+B,EAC3C,UAAS,kBAAkB,UAAgC,EAC3D,SAAS,MAAM;AAoRnB"}
@@ -117,15 +117,9 @@ export interface ComposibleMCPConfig {
117
117
  [key: string]: ComposeDefinition[];
118
118
  }
119
119
  /**
120
- * Markdown agent file loader function type.
121
- * This is registered by markdownLoaderPlugin() to avoid circular dependencies.
122
- */ export type MarkdownAgentLoader = (filePath: string) => Promise<ComposeDefinition>;
123
- /**
124
- * Register the Markdown agent loader (called by markdownLoaderPlugin())
125
- */ export declare function setMarkdownAgentLoader(loader: MarkdownAgentLoader): void;
126
- /**
127
- * Check if a path is a Markdown file (.md or .markdown)
128
- */ export declare function isMarkdownFile(path: string): boolean;
120
+ * File loader function type for loading agent definitions from files.
121
+ * Plugins can register loaders for different file extensions.
122
+ */ export type FileLoader = (filePath: string) => Promise<ComposeDefinition>;
129
123
  export declare function parseMcpcConfigs(conf?: ComposeDefinition[]): ComposeDefinition[];
130
124
  /**
131
125
  * Options for mcpc() function
@@ -1 +1 @@
1
- {"version":3,"file":"set-up-mcp-compose.d.ts","sources":["../../src/set-up-mcp-compose.ts"],"names":[],"mappings":"AAAA,SAAS,mBAAmB,oBAAoB;AAChD,cAAc,UAAU,6BAA6B;AACrD,cAAc,cAAc,qBAAqB;AACjD,cAAc,UAAU,4BAA4B;AACpD,cAAc,UAAU,qBAAqB;AAC7C,cAAc,aAAa,6BAA6B;AAExD,iBAAiB;EACf;;;GAGC,GACD,MAAM,MAAM,GAAG,IAAI;EACnB;;GAEC,GACD,cAAc,MAAM;EACpB;;;GAGC,GACD,SAAS,MAAM;EACf,OAAO;EAEP;;;;;;;;;;;GAWC,GACD,WAAW,aAAa,MAAM;EAE9B;IACE;;;;;;KAMC,GACD,OAAO;IAEP;;KAEC,GACD,iBAAiB;IAEjB;;;;KAIC,GACD;MACE;QACE,QAAQ;UAAQ,OAAO,MAAM;;QAC7B,eAAe,MAAM;QACrB,gBAAgB,MAAM;QACtB,uBAAuB,MAAM;;;IAIjC;;;;KAIC,GACD;MACE,SAAS,MAAM;MACf,OAAO,MAAM;MACb,MAAM,OAAO,MAAM,EAAE,MAAM;MAC3B;QACE,MAAM,MAAM;QACZ,aAAa;UACX,MAAM,MAAM;UACZ,SAAS,MAAM;UACf,OAAO,MAAM;UACb,MAAM,OAAO,MAAM,EAAE,MAAM;;;MAG/B,iBAAiB,OAAO;;IAG1B;;;;KAIC,GACD,WAAW,MAAM;IAEjB;;;;KAIC,GACD,YAAY,MAAM;IAElB;;;;KAIC,GACD,iBAAiB,OAAO;IAExB;;;;;KAKC,GACD;;;KAGC,GACD,OAAO,MAAM;;;AAIjB;;;;;;;;;;;;;CAaC,GACD,YAAY,eAAe,oBAAoB,MAAM;AAIrD,iBAAiB;GACd,KAAK,MAAM,GAAG;;AAGjB;;;CAGC,GACD,YAAY,uBACV,UAAU,MAAM,KACb,QAAQ;AAKb;;CAEC,GACD,OAAO,iBAAS,uBAAuB,QAAQ,mBAAmB,GAAG,IAAI;AAIzE;;CAEC,GACD,OAAO,iBAAS,eAAe,MAAM,MAAM,GAAG,OAAO;AAgCrD,OAAO,iBAAS,iBACd,OAAO,mBAAmB,GACzB;AAIH;;CAEC,GACD,iBAAiB;EACf;;;;;;;;;GASC,GACD,WAAW,aAAa,MAAM;EAE9B;;;GAGC,GACD,SAAS,QAAQ,wBAAwB,IAAI,GAAG,QAAQ,IAAI;;AAG9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEC,GACD,OAAO,iBAAe,KACpB,YAAY,6BAA6B,oBAAoB,EAC7D,cAAc,cAAc,EAC5B,iBACI,gBACE,QAAQ,wBAAwB,IAAI,GAAG,QAAQ,IAAI,EAAE,GAC1D,QAAQ,oBAAoB"}
1
+ {"version":3,"file":"set-up-mcp-compose.d.ts","sources":["../../src/set-up-mcp-compose.ts"],"names":[],"mappings":"AAAA,SAAS,mBAAmB,oBAAoB;AAChD,cAAc,UAAU,6BAA6B;AACrD,cAAc,cAAc,qBAAqB;AACjD,cAAc,UAAU,4BAA4B;AACpD,cAAc,UAAU,qBAAqB;AAC7C,cAAc,aAAa,6BAA6B;AAExD,iBAAiB;EACf;;;GAGC,GACD,MAAM,MAAM,GAAG,IAAI;EACnB;;GAEC,GACD,cAAc,MAAM;EACpB;;;GAGC,GACD,SAAS,MAAM;EACf,OAAO;EAEP;;;;;;;;;;;GAWC,GACD,WAAW,aAAa,MAAM;EAE9B;IACE;;;;;;KAMC,GACD,OAAO;IAEP;;KAEC,GACD,iBAAiB;IAEjB;;;;KAIC,GACD;MACE;QACE,QAAQ;UAAQ,OAAO,MAAM;;QAC7B,eAAe,MAAM;QACrB,gBAAgB,MAAM;QACtB,uBAAuB,MAAM;;;IAIjC;;;;KAIC,GACD;MACE,SAAS,MAAM;MACf,OAAO,MAAM;MACb,MAAM,OAAO,MAAM,EAAE,MAAM;MAC3B;QACE,MAAM,MAAM;QACZ,aAAa;UACX,MAAM,MAAM;UACZ,SAAS,MAAM;UACf,OAAO,MAAM;UACb,MAAM,OAAO,MAAM,EAAE,MAAM;;;MAG/B,iBAAiB,OAAO;;IAG1B;;;;KAIC,GACD,WAAW,MAAM;IAEjB;;;;KAIC,GACD,YAAY,MAAM;IAElB;;;;KAIC,GACD,iBAAiB,OAAO;IAExB;;;;;KAKC,GACD;;;KAGC,GACD,OAAO,MAAM;;;AAIjB;;;;;;;;;;;;;CAaC,GACD,YAAY,eAAe,oBAAoB,MAAM;AAIrD,iBAAiB;GACd,KAAK,MAAM,GAAG;;AAGjB;;;CAGC,GACD,YAAY,cACV,UAAU,MAAM,KACb,QAAQ;AAEb,OAAO,iBAAS,iBACd,OAAO,mBAAmB,GACzB;AAIH;;CAEC,GACD,iBAAiB;EACf;;;;;;;;;GASC,GACD,WAAW,aAAa,MAAM;EAE9B;;;GAGC,GACD,SAAS,QAAQ,wBAAwB,IAAI,GAAG,QAAQ,IAAI;;AAG9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEC,GACD,OAAO,iBAAe,KACpB,YAAY,6BAA6B,oBAAoB,EAC7D,cAAc,cAAc,EAC5B,iBACI,gBACE,QAAQ,wBAAwB,IAAI,GAAG,QAAQ,IAAI,EAAE,GAC1D,QAAQ,oBAAoB"}