@mcpc-tech/plugin-markdown-loader 0.0.5 → 0.0.7
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 +75 -12
- package/index.mjs +74 -13
- package/package.json +1 -1
- package/types/mod.d.ts +1 -1
- package/types/mod.d.ts.map +1 -1
- package/types/src/markdown-loader.d.ts +29 -1
- package/types/src/markdown-loader.d.ts.map +1 -1
package/index.cjs
CHANGED
|
@@ -32,7 +32,9 @@ var mod_exports = {};
|
|
|
32
32
|
__export(mod_exports, {
|
|
33
33
|
createPlugin: () => createPlugin,
|
|
34
34
|
default: () => mod_default,
|
|
35
|
+
isDirectory: () => isDirectory,
|
|
35
36
|
isMarkdownAgentFile: () => isMarkdownFile,
|
|
37
|
+
loadMarkdownAgentDirectory: () => loadMarkdownAgentDirectory,
|
|
36
38
|
loadMarkdownAgentFile: () => loadMarkdownAgentFile,
|
|
37
39
|
markdownAgentToComposeDefinition: () => markdownAgentToComposeDefinition,
|
|
38
40
|
markdownLoaderPlugin: () => markdownLoaderPlugin,
|
|
@@ -1559,7 +1561,7 @@ IMPORTANT: You MUST respond with valid JSON only. Do not include any text before
|
|
|
1559
1561
|
let enhanced = systemPrompt || "";
|
|
1560
1562
|
const toolsPrompt = `
|
|
1561
1563
|
|
|
1562
|
-
|
|
1564
|
+
<available_tools>
|
|
1563
1565
|
You have access to the following tools. To use a tool, respond with this XML format:
|
|
1564
1566
|
<use_tool tool="tool_name">
|
|
1565
1567
|
{"param1": "value1", "param2": "value2"}
|
|
@@ -1568,23 +1570,34 @@ You have access to the following tools. To use a tool, respond with this XML for
|
|
|
1568
1570
|
Follow the JSON schema definition for each tool's parameters.
|
|
1569
1571
|
You can use multiple tools in one response. DO NOT include text before or after tool calls - wait for the tool results first.
|
|
1570
1572
|
|
|
1571
|
-
|
|
1573
|
+
<tools>`;
|
|
1572
1574
|
const toolDescriptions = tools.map((tool2) => {
|
|
1573
1575
|
if (tool2.type === "function") {
|
|
1574
1576
|
const toolAny = tool2;
|
|
1575
1577
|
const description = toolAny.description || "No description provided";
|
|
1576
1578
|
const schema = toolAny.inputSchema || toolAny.parameters;
|
|
1577
|
-
const
|
|
1578
|
-
|
|
1579
|
+
const schemaStr = schema ? `
|
|
1580
|
+
<schema>
|
|
1581
|
+
${JSON.stringify(schema, null, 2)}
|
|
1582
|
+
</schema>` : "";
|
|
1579
1583
|
return `
|
|
1580
|
-
|
|
1584
|
+
<tool name="${tool2.name}">
|
|
1585
|
+
<description>
|
|
1586
|
+
${description}
|
|
1587
|
+
</description>${schemaStr}
|
|
1588
|
+
</tool>`;
|
|
1581
1589
|
} else if (tool2.type === "provider-defined") {
|
|
1582
1590
|
return `
|
|
1583
|
-
|
|
1591
|
+
<tool name="${tool2.name}">
|
|
1592
|
+
<description>${tool2.id || "No description provided"}</description>
|
|
1593
|
+
</tool>`;
|
|
1584
1594
|
}
|
|
1585
1595
|
return "";
|
|
1586
1596
|
}).filter(Boolean).join("");
|
|
1587
|
-
|
|
1597
|
+
const toolsEnd = `
|
|
1598
|
+
</tools>
|
|
1599
|
+
</available_tools>`;
|
|
1600
|
+
enhanced = enhanced ? `${enhanced}${toolsPrompt}${toolDescriptions}${toolsEnd}` : `${toolsPrompt}${toolDescriptions}${toolsEnd}`.trim();
|
|
1588
1601
|
return enhanced || void 0;
|
|
1589
1602
|
}
|
|
1590
1603
|
/**
|
|
@@ -4002,10 +4015,15 @@ function parse(content, options = {}) {
|
|
|
4002
4015
|
}
|
|
4003
4016
|
|
|
4004
4017
|
// __mcpc__plugin-markdown-loader_latest/node_modules/@mcpc/plugin-markdown-loader/src/markdown-loader.js
|
|
4018
|
+
var import_node_path = require("node:path");
|
|
4005
4019
|
var import_node_process5 = __toESM(require("node:process"), 1);
|
|
4006
4020
|
function replaceEnvVars(str2) {
|
|
4007
|
-
return str2.replace(/\$([A-Za-z_][A-Za-z0-9_]*)/g, (
|
|
4008
|
-
|
|
4021
|
+
return str2.replace(/\$([A-Za-z_][A-Za-z0-9_]*)(?!\s*\()/g, (match, varName) => {
|
|
4022
|
+
const value = import_node_process5.default.env[varName];
|
|
4023
|
+
if (value !== void 0) {
|
|
4024
|
+
return value;
|
|
4025
|
+
}
|
|
4026
|
+
return match;
|
|
4009
4027
|
});
|
|
4010
4028
|
}
|
|
4011
4029
|
function replaceEnvVarsInObject(obj) {
|
|
@@ -4042,7 +4060,7 @@ function parseMarkdownAgent(content) {
|
|
|
4042
4060
|
}
|
|
4043
4061
|
return {
|
|
4044
4062
|
frontMatter,
|
|
4045
|
-
|
|
4063
|
+
body: markdownContent.trim()
|
|
4046
4064
|
};
|
|
4047
4065
|
}
|
|
4048
4066
|
var OPTION_KEYS = [
|
|
@@ -4057,16 +4075,20 @@ var OPTION_KEYS = [
|
|
|
4057
4075
|
];
|
|
4058
4076
|
function markdownAgentToComposeDefinition(parsed) {
|
|
4059
4077
|
const frontMatter = replaceEnvVarsInObject(parsed.frontMatter);
|
|
4060
|
-
const
|
|
4078
|
+
const body = replaceEnvVars(parsed.body);
|
|
4061
4079
|
const options = {};
|
|
4062
4080
|
for (const key of OPTION_KEYS) {
|
|
4063
4081
|
if (frontMatter[key] !== void 0) {
|
|
4064
4082
|
options[key] = frontMatter[key];
|
|
4065
4083
|
}
|
|
4066
4084
|
}
|
|
4085
|
+
const hasDescription = frontMatter.description !== void 0 && frontMatter.description !== "";
|
|
4067
4086
|
return {
|
|
4068
4087
|
name: frontMatter.name,
|
|
4069
|
-
description,
|
|
4088
|
+
description: hasDescription ? frontMatter.description : body,
|
|
4089
|
+
...hasDescription && body ? {
|
|
4090
|
+
manual: body
|
|
4091
|
+
} : {},
|
|
4070
4092
|
deps: frontMatter.deps,
|
|
4071
4093
|
plugins: frontMatter.plugins,
|
|
4072
4094
|
...Object.keys(options).length > 0 ? {
|
|
@@ -4079,6 +4101,45 @@ async function loadMarkdownAgentFile(filePath) {
|
|
|
4079
4101
|
const parsed = parseMarkdownAgent(content);
|
|
4080
4102
|
return markdownAgentToComposeDefinition(parsed);
|
|
4081
4103
|
}
|
|
4104
|
+
async function loadMarkdownAgentDirectory(dirPath, options = {}) {
|
|
4105
|
+
const { recursive = false } = options;
|
|
4106
|
+
const definitions = [];
|
|
4107
|
+
const errors = [];
|
|
4108
|
+
async function processDirectory(dir) {
|
|
4109
|
+
const entries = await (0, import_promises.readdir)(dir, {
|
|
4110
|
+
withFileTypes: true
|
|
4111
|
+
});
|
|
4112
|
+
for (const entry of entries) {
|
|
4113
|
+
const fullPath = (0, import_node_path.join)(dir, entry.name);
|
|
4114
|
+
if (entry.isDirectory() && recursive) {
|
|
4115
|
+
await processDirectory(fullPath);
|
|
4116
|
+
} else if (entry.isFile() && isMarkdownFile(entry.name)) {
|
|
4117
|
+
try {
|
|
4118
|
+
const definition = await loadMarkdownAgentFile(fullPath);
|
|
4119
|
+
definitions.push(definition);
|
|
4120
|
+
} catch (error) {
|
|
4121
|
+
errors.push({
|
|
4122
|
+
path: fullPath,
|
|
4123
|
+
error: error instanceof Error ? error.message : String(error)
|
|
4124
|
+
});
|
|
4125
|
+
}
|
|
4126
|
+
}
|
|
4127
|
+
}
|
|
4128
|
+
}
|
|
4129
|
+
await processDirectory(dirPath);
|
|
4130
|
+
return {
|
|
4131
|
+
definitions,
|
|
4132
|
+
errors
|
|
4133
|
+
};
|
|
4134
|
+
}
|
|
4135
|
+
async function isDirectory(path) {
|
|
4136
|
+
try {
|
|
4137
|
+
const stats = await (0, import_promises.stat)(path);
|
|
4138
|
+
return stats.isDirectory();
|
|
4139
|
+
} catch {
|
|
4140
|
+
return false;
|
|
4141
|
+
}
|
|
4142
|
+
}
|
|
4082
4143
|
|
|
4083
4144
|
// __mcpc__plugin-markdown-loader_latest/node_modules/@mcpc/plugin-markdown-loader/mod.ts
|
|
4084
4145
|
function markdownLoaderPlugin() {
|
|
@@ -4098,7 +4159,9 @@ var mod_default = defaultPlugin;
|
|
|
4098
4159
|
// Annotate the CommonJS export names for ESM import in node:
|
|
4099
4160
|
0 && (module.exports = {
|
|
4100
4161
|
createPlugin,
|
|
4162
|
+
isDirectory,
|
|
4101
4163
|
isMarkdownAgentFile,
|
|
4164
|
+
loadMarkdownAgentDirectory,
|
|
4102
4165
|
loadMarkdownAgentFile,
|
|
4103
4166
|
markdownAgentToComposeDefinition,
|
|
4104
4167
|
markdownLoaderPlugin,
|
package/index.mjs
CHANGED
|
@@ -1520,7 +1520,7 @@ IMPORTANT: You MUST respond with valid JSON only. Do not include any text before
|
|
|
1520
1520
|
let enhanced = systemPrompt || "";
|
|
1521
1521
|
const toolsPrompt = `
|
|
1522
1522
|
|
|
1523
|
-
|
|
1523
|
+
<available_tools>
|
|
1524
1524
|
You have access to the following tools. To use a tool, respond with this XML format:
|
|
1525
1525
|
<use_tool tool="tool_name">
|
|
1526
1526
|
{"param1": "value1", "param2": "value2"}
|
|
@@ -1529,23 +1529,34 @@ You have access to the following tools. To use a tool, respond with this XML for
|
|
|
1529
1529
|
Follow the JSON schema definition for each tool's parameters.
|
|
1530
1530
|
You can use multiple tools in one response. DO NOT include text before or after tool calls - wait for the tool results first.
|
|
1531
1531
|
|
|
1532
|
-
|
|
1532
|
+
<tools>`;
|
|
1533
1533
|
const toolDescriptions = tools.map((tool2) => {
|
|
1534
1534
|
if (tool2.type === "function") {
|
|
1535
1535
|
const toolAny = tool2;
|
|
1536
1536
|
const description = toolAny.description || "No description provided";
|
|
1537
1537
|
const schema = toolAny.inputSchema || toolAny.parameters;
|
|
1538
|
-
const
|
|
1539
|
-
|
|
1538
|
+
const schemaStr = schema ? `
|
|
1539
|
+
<schema>
|
|
1540
|
+
${JSON.stringify(schema, null, 2)}
|
|
1541
|
+
</schema>` : "";
|
|
1540
1542
|
return `
|
|
1541
|
-
|
|
1543
|
+
<tool name="${tool2.name}">
|
|
1544
|
+
<description>
|
|
1545
|
+
${description}
|
|
1546
|
+
</description>${schemaStr}
|
|
1547
|
+
</tool>`;
|
|
1542
1548
|
} else if (tool2.type === "provider-defined") {
|
|
1543
1549
|
return `
|
|
1544
|
-
|
|
1550
|
+
<tool name="${tool2.name}">
|
|
1551
|
+
<description>${tool2.id || "No description provided"}</description>
|
|
1552
|
+
</tool>`;
|
|
1545
1553
|
}
|
|
1546
1554
|
return "";
|
|
1547
1555
|
}).filter(Boolean).join("");
|
|
1548
|
-
|
|
1556
|
+
const toolsEnd = `
|
|
1557
|
+
</tools>
|
|
1558
|
+
</available_tools>`;
|
|
1559
|
+
enhanced = enhanced ? `${enhanced}${toolsPrompt}${toolDescriptions}${toolsEnd}` : `${toolsPrompt}${toolDescriptions}${toolsEnd}`.trim();
|
|
1549
1560
|
return enhanced || void 0;
|
|
1550
1561
|
}
|
|
1551
1562
|
/**
|
|
@@ -2024,7 +2035,7 @@ function isMarkdownFile(path) {
|
|
|
2024
2035
|
}
|
|
2025
2036
|
|
|
2026
2037
|
// __mcpc__plugin-markdown-loader_latest/node_modules/@mcpc/plugin-markdown-loader/src/markdown-loader.js
|
|
2027
|
-
import { readFile } from "node:fs/promises";
|
|
2038
|
+
import { readdir, readFile, stat } from "node:fs/promises";
|
|
2028
2039
|
|
|
2029
2040
|
// __mcpc__plugin-markdown-loader_latest/node_modules/@jsr/std__yaml/_chars.js
|
|
2030
2041
|
var TAB = 9;
|
|
@@ -3963,10 +3974,15 @@ function parse(content, options = {}) {
|
|
|
3963
3974
|
}
|
|
3964
3975
|
|
|
3965
3976
|
// __mcpc__plugin-markdown-loader_latest/node_modules/@mcpc/plugin-markdown-loader/src/markdown-loader.js
|
|
3977
|
+
import { join } from "node:path";
|
|
3966
3978
|
import process5 from "node:process";
|
|
3967
3979
|
function replaceEnvVars(str2) {
|
|
3968
|
-
return str2.replace(/\$([A-Za-z_][A-Za-z0-9_]*)/g, (
|
|
3969
|
-
|
|
3980
|
+
return str2.replace(/\$([A-Za-z_][A-Za-z0-9_]*)(?!\s*\()/g, (match, varName) => {
|
|
3981
|
+
const value = process5.env[varName];
|
|
3982
|
+
if (value !== void 0) {
|
|
3983
|
+
return value;
|
|
3984
|
+
}
|
|
3985
|
+
return match;
|
|
3970
3986
|
});
|
|
3971
3987
|
}
|
|
3972
3988
|
function replaceEnvVarsInObject(obj) {
|
|
@@ -4003,7 +4019,7 @@ function parseMarkdownAgent(content) {
|
|
|
4003
4019
|
}
|
|
4004
4020
|
return {
|
|
4005
4021
|
frontMatter,
|
|
4006
|
-
|
|
4022
|
+
body: markdownContent.trim()
|
|
4007
4023
|
};
|
|
4008
4024
|
}
|
|
4009
4025
|
var OPTION_KEYS = [
|
|
@@ -4018,16 +4034,20 @@ var OPTION_KEYS = [
|
|
|
4018
4034
|
];
|
|
4019
4035
|
function markdownAgentToComposeDefinition(parsed) {
|
|
4020
4036
|
const frontMatter = replaceEnvVarsInObject(parsed.frontMatter);
|
|
4021
|
-
const
|
|
4037
|
+
const body = replaceEnvVars(parsed.body);
|
|
4022
4038
|
const options = {};
|
|
4023
4039
|
for (const key of OPTION_KEYS) {
|
|
4024
4040
|
if (frontMatter[key] !== void 0) {
|
|
4025
4041
|
options[key] = frontMatter[key];
|
|
4026
4042
|
}
|
|
4027
4043
|
}
|
|
4044
|
+
const hasDescription = frontMatter.description !== void 0 && frontMatter.description !== "";
|
|
4028
4045
|
return {
|
|
4029
4046
|
name: frontMatter.name,
|
|
4030
|
-
description,
|
|
4047
|
+
description: hasDescription ? frontMatter.description : body,
|
|
4048
|
+
...hasDescription && body ? {
|
|
4049
|
+
manual: body
|
|
4050
|
+
} : {},
|
|
4031
4051
|
deps: frontMatter.deps,
|
|
4032
4052
|
plugins: frontMatter.plugins,
|
|
4033
4053
|
...Object.keys(options).length > 0 ? {
|
|
@@ -4040,6 +4060,45 @@ async function loadMarkdownAgentFile(filePath) {
|
|
|
4040
4060
|
const parsed = parseMarkdownAgent(content);
|
|
4041
4061
|
return markdownAgentToComposeDefinition(parsed);
|
|
4042
4062
|
}
|
|
4063
|
+
async function loadMarkdownAgentDirectory(dirPath, options = {}) {
|
|
4064
|
+
const { recursive = false } = options;
|
|
4065
|
+
const definitions = [];
|
|
4066
|
+
const errors = [];
|
|
4067
|
+
async function processDirectory(dir) {
|
|
4068
|
+
const entries = await readdir(dir, {
|
|
4069
|
+
withFileTypes: true
|
|
4070
|
+
});
|
|
4071
|
+
for (const entry of entries) {
|
|
4072
|
+
const fullPath = join(dir, entry.name);
|
|
4073
|
+
if (entry.isDirectory() && recursive) {
|
|
4074
|
+
await processDirectory(fullPath);
|
|
4075
|
+
} else if (entry.isFile() && isMarkdownFile(entry.name)) {
|
|
4076
|
+
try {
|
|
4077
|
+
const definition = await loadMarkdownAgentFile(fullPath);
|
|
4078
|
+
definitions.push(definition);
|
|
4079
|
+
} catch (error) {
|
|
4080
|
+
errors.push({
|
|
4081
|
+
path: fullPath,
|
|
4082
|
+
error: error instanceof Error ? error.message : String(error)
|
|
4083
|
+
});
|
|
4084
|
+
}
|
|
4085
|
+
}
|
|
4086
|
+
}
|
|
4087
|
+
}
|
|
4088
|
+
await processDirectory(dirPath);
|
|
4089
|
+
return {
|
|
4090
|
+
definitions,
|
|
4091
|
+
errors
|
|
4092
|
+
};
|
|
4093
|
+
}
|
|
4094
|
+
async function isDirectory(path) {
|
|
4095
|
+
try {
|
|
4096
|
+
const stats = await stat(path);
|
|
4097
|
+
return stats.isDirectory();
|
|
4098
|
+
} catch {
|
|
4099
|
+
return false;
|
|
4100
|
+
}
|
|
4101
|
+
}
|
|
4043
4102
|
|
|
4044
4103
|
// __mcpc__plugin-markdown-loader_latest/node_modules/@mcpc/plugin-markdown-loader/mod.ts
|
|
4045
4104
|
function markdownLoaderPlugin() {
|
|
@@ -4059,7 +4118,9 @@ var mod_default = defaultPlugin;
|
|
|
4059
4118
|
export {
|
|
4060
4119
|
createPlugin,
|
|
4061
4120
|
mod_default as default,
|
|
4121
|
+
isDirectory,
|
|
4062
4122
|
isMarkdownFile as isMarkdownAgentFile,
|
|
4123
|
+
loadMarkdownAgentDirectory,
|
|
4063
4124
|
loadMarkdownAgentFile,
|
|
4064
4125
|
markdownAgentToComposeDefinition,
|
|
4065
4126
|
markdownLoaderPlugin,
|
package/package.json
CHANGED
package/types/mod.d.ts
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* @module
|
|
26
26
|
*/ import { type ToolPlugin } from "@jsr/mcpc__core";
|
|
27
27
|
export { setMarkdownAgentLoader } from "@jsr/mcpc__core";
|
|
28
|
-
export { isMarkdownAgentFile, loadMarkdownAgentFile, type MarkdownAgentFrontMatter, markdownAgentToComposeDefinition, type ParsedMarkdownAgent, parseMarkdownAgent } from "./src/markdown-loader.js";
|
|
28
|
+
export { isDirectory, isMarkdownAgentFile, type LoadDirectoryResult, loadMarkdownAgentDirectory, loadMarkdownAgentFile, type MarkdownAgentFrontMatter, markdownAgentToComposeDefinition, type ParsedMarkdownAgent, parseMarkdownAgent } from "./src/markdown-loader.js";
|
|
29
29
|
/**
|
|
30
30
|
* Create a Markdown loader plugin for mcpc().
|
|
31
31
|
*
|
package/types/mod.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sources":["../mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;CAyBC,GAED,SAAiC,KAAK,UAAU,0BAAiC;AAIjF,SAAS,sBAAsB,0BAAiC;AAEhE,SACE,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,wBAAwB,EAC7B,gCAAgC,EAChC,KAAK,mBAAmB,EACxB,kBAAkB,mCACc;AAElC;;;;;CAKC,GACD,OAAO,iBAAS,wBAAwB;AAWxC,qDAAqD,GACrD,OAAO,cAAM,kBAAoC;AAEjD,4DAA4D,GAC5D,cAAM,eAAe;AACrB,eAAe,cAAc"}
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sources":["../mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;CAyBC,GAED,SAAiC,KAAK,UAAU,0BAAiC;AAIjF,SAAS,sBAAsB,0BAAiC;AAEhE,SACE,WAAW,EACX,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,0BAA0B,EAC1B,qBAAqB,EACrB,KAAK,wBAAwB,EAC7B,gCAAgC,EAChC,KAAK,mBAAmB,EACxB,kBAAkB,mCACc;AAElC;;;;;CAKC,GACD,OAAO,iBAAS,wBAAwB;AAWxC,qDAAqD,GACrD,OAAO,cAAM,kBAAoC;AAEjD,4DAA4D,GAC5D,cAAM,eAAe;AACrB,eAAe,cAAc"}
|
|
@@ -31,6 +31,11 @@ export { isMarkdownFile as isMarkdownAgentFile };
|
|
|
31
31
|
* Front matter configuration for Markdown agent definitions
|
|
32
32
|
*/ export interface MarkdownAgentFrontMatter {
|
|
33
33
|
/** Agent name (required) */ name: string;
|
|
34
|
+
/**
|
|
35
|
+
* Short description for progressive disclosure.
|
|
36
|
+
* If provided, the Markdown body becomes the `manual` field.
|
|
37
|
+
* If not provided, the Markdown body becomes the `description` field.
|
|
38
|
+
*/ description?: string;
|
|
34
39
|
/** Execution mode */ mode?: "agentic" | "ai_sampling" | "ai_acp" | "code_execution";
|
|
35
40
|
/** Maximum execution steps */ maxSteps?: number;
|
|
36
41
|
/** Maximum tokens for sampling */ maxTokens?: number;
|
|
@@ -71,7 +76,7 @@ export { isMarkdownFile as isMarkdownAgentFile };
|
|
|
71
76
|
* Result of parsing a Markdown agent file
|
|
72
77
|
*/ export interface ParsedMarkdownAgent {
|
|
73
78
|
frontMatter: MarkdownAgentFrontMatter;
|
|
74
|
-
|
|
79
|
+
/** The Markdown body content */ body: string;
|
|
75
80
|
}
|
|
76
81
|
/**
|
|
77
82
|
* Parse YAML front matter and Markdown content from a string
|
|
@@ -82,4 +87,27 @@ export { isMarkdownFile as isMarkdownAgentFile };
|
|
|
82
87
|
/**
|
|
83
88
|
* Load a Markdown agent definition from a file path
|
|
84
89
|
*/ export declare function loadMarkdownAgentFile(filePath: string): Promise<ComposeDefinition>;
|
|
90
|
+
/**
|
|
91
|
+
* Result of loading agents from a directory
|
|
92
|
+
*/ export interface LoadDirectoryResult {
|
|
93
|
+
/** Successfully loaded agent definitions */ definitions: ComposeDefinition[];
|
|
94
|
+
/** Errors encountered during loading (file path and error message) */ errors: Array<{
|
|
95
|
+
path: string;
|
|
96
|
+
error: string;
|
|
97
|
+
}>;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Load all Markdown agent definitions from a directory.
|
|
101
|
+
* Only loads .md files in the directory (non-recursive by default).
|
|
102
|
+
*
|
|
103
|
+
* @param dirPath - Path to the directory containing Markdown agent files
|
|
104
|
+
* @param options - Options for loading
|
|
105
|
+
* @param options.recursive - If true, recursively search subdirectories (default: false)
|
|
106
|
+
* @returns Object containing definitions and any errors encountered
|
|
107
|
+
*/ export declare function loadMarkdownAgentDirectory(dirPath: string, options?: {
|
|
108
|
+
recursive?: boolean;
|
|
109
|
+
}): Promise<LoadDirectoryResult>;
|
|
110
|
+
/**
|
|
111
|
+
* Check if a path is a directory
|
|
112
|
+
*/ export declare function isDirectory(path: string): Promise<boolean>;
|
|
85
113
|
//# sourceMappingURL=markdown-loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-loader.d.ts","sources":["../../src/markdown-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BC,GAED,SACE,KAAK,iBAAiB,EACtB,cAAc,EACd,KAAK,eAAe,EAEpB,KAAK,cAAc,0BACW;
|
|
1
|
+
{"version":3,"file":"markdown-loader.d.ts","sources":["../../src/markdown-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BC,GAED,SACE,KAAK,iBAAiB,EACtB,cAAc,EACd,KAAK,eAAe,EAEpB,KAAK,cAAc,0BACW;AAOhC,SAAyB,kBAAkB,mBAAmB,GAAG;AA0CjE;;CAEC,GACD,iBAAiB;EACf,0BAA0B,GAC1B,MAAM,MAAM;EACZ;;;;GAIC,GACD,cAAc,MAAM;EACpB,mBAAmB,GACnB,OAAO,YAAY,gBAAgB,WAAW;EAC9C,4BAA4B,GAC5B,WAAW,MAAM;EACjB,gCAAgC,GAChC,YAAY,MAAM;EAClB,mBAAmB,GACnB,iBAAiB,OAAO;EACxB,4BAA4B,GAC5B;IACE,YAAY,OAAO,MAAM,EAAE;;EAE7B,sBAAsB,GACtB,UAAU,MAAM;EAChB,oBAAoB,GACpB,OAAO,MAAM;EACb,2BAA2B,GAC3B,iBAAiB;EACjB,8CAA8C,GAC9C;IACE;MACE,QAAQ;QAAQ,OAAO,MAAM;;MAC7B,eAAe,MAAM;MACrB,gBAAgB,MAAM;MACtB,uBAAuB,MAAM;;;EAGjC,qCAAqC,GACrC;IACE,SAAS,MAAM;IACf,OAAO,MAAM;IACb,MAAM,OAAO,MAAM,EAAE,MAAM;IAC3B;MACE,MAAM,MAAM;MACZ,aAAa;QACX,MAAM,MAAM;QACZ,SAAS,MAAM;QACf,OAAO,MAAM;QACb,MAAM,OAAO,MAAM,EAAE,MAAM;;;IAG/B,iBAAiB,OAAO;;;AAI5B;;CAEC,GACD,iBAAiB;EACf,aAAa;EACb,8BAA8B,GAC9B,MAAM,MAAM;;AAGd;;CAEC,GACD,OAAO,iBAAS,mBAAmB,SAAS,MAAM,GAAG;AA8CrD;;CAEC,GACD,OAAO,iBAAS,iCACd,QAAQ,mBAAmB,GAC1B;AA6BH;;CAEC,GACD,OAAO,iBAAe,sBACpB,UAAU,MAAM,GACf,QAAQ;AAMX;;CAEC,GACD,iBAAiB;EACf,0CAA0C,GAC1C,aAAa;EACb,oEAAoE,GACpE,QAAQ;IAAQ,MAAM,MAAM;IAAE,OAAO,MAAM;;;AAG7C;;;;;;;;CAQC,GACD,OAAO,iBAAe,2BACpB,SAAS,MAAM,EACf;EAAW,YAAY,OAAO;CAAO,GACpC,QAAQ;AAgCX;;CAEC,GACD,OAAO,iBAAe,YAAY,MAAM,MAAM,GAAG,QAAQ,OAAO"}
|