@framers/agentos-ext-cli-executor 1.1.1 → 1.3.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.
- package/LICENSE +98 -0
- package/README.md +130 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -1
- package/dist/index.js.map +1 -1
- package/dist/services/shellService.d.ts +19 -0
- package/dist/services/shellService.d.ts.map +1 -1
- package/dist/services/shellService.js +47 -0
- package/dist/services/shellService.js.map +1 -1
- package/dist/tools/createDocument.d.ts +35 -0
- package/dist/tools/createDocument.d.ts.map +1 -0
- package/dist/tools/createDocument.js +201 -0
- package/dist/tools/createDocument.js.map +1 -0
- package/dist/tools/createSpreadsheet.d.ts +35 -0
- package/dist/tools/createSpreadsheet.d.ts.map +1 -0
- package/dist/tools/createSpreadsheet.js +185 -0
- package/dist/tools/createSpreadsheet.js.map +1 -0
- package/dist/tools/execute.d.ts.map +1 -1
- package/dist/tools/execute.js +1 -0
- package/dist/tools/execute.js.map +1 -1
- package/dist/tools/fileRead.d.ts.map +1 -1
- package/dist/tools/fileRead.js +25 -0
- package/dist/tools/fileRead.js.map +1 -1
- package/dist/tools/fileWrite.d.ts.map +1 -1
- package/dist/tools/fileWrite.js +20 -0
- package/dist/tools/fileWrite.js.map +1 -1
- package/dist/tools/listDir.d.ts.map +1 -1
- package/dist/tools/listDir.js +1 -0
- package/dist/tools/listDir.js.map +1 -1
- package/dist/types.d.ts +25 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/manifest.json +31 -3
- package/package.json +22 -11
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
/**
|
|
3
|
+
* Create Document Tool
|
|
4
|
+
* Generate DOCX files from text or markdown content.
|
|
5
|
+
*
|
|
6
|
+
* Uses the 'docx' npm package (MIT) for full .docx generation with
|
|
7
|
+
* headings, paragraphs, bold/italic, bullet lists, and tables.
|
|
8
|
+
*
|
|
9
|
+
* @module @framers/agentos-ext-cli-executor
|
|
10
|
+
*/
|
|
11
|
+
import { mkdir, writeFile } from 'node:fs/promises';
|
|
12
|
+
import { dirname, resolve } from 'node:path';
|
|
13
|
+
/**
|
|
14
|
+
* Parse a subset of Markdown into a flat list of paragraphs.
|
|
15
|
+
*
|
|
16
|
+
* Supported:
|
|
17
|
+
* - # H1 through ###### H6
|
|
18
|
+
* - **bold** and *italic*
|
|
19
|
+
* - Unordered lists: - item / * item
|
|
20
|
+
* - Blank lines become paragraph breaks
|
|
21
|
+
* - Everything else is a normal paragraph
|
|
22
|
+
*/
|
|
23
|
+
function parseMarkdown(md) {
|
|
24
|
+
const lines = md.split('\n');
|
|
25
|
+
const result = [];
|
|
26
|
+
for (const raw of lines) {
|
|
27
|
+
const line = raw.trimEnd();
|
|
28
|
+
// Blank line — skip (paragraph separation is implicit)
|
|
29
|
+
if (line.trim() === '')
|
|
30
|
+
continue;
|
|
31
|
+
// Heading
|
|
32
|
+
const headingMatch = line.match(/^(#{1,6})\s+(.+)$/);
|
|
33
|
+
if (headingMatch) {
|
|
34
|
+
result.push({
|
|
35
|
+
type: 'heading',
|
|
36
|
+
level: headingMatch[1].length,
|
|
37
|
+
runs: parseInlineFormatting(headingMatch[2]),
|
|
38
|
+
});
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
// Bullet list
|
|
42
|
+
const bulletMatch = line.match(/^\s*[-*+]\s+(.+)$/);
|
|
43
|
+
if (bulletMatch) {
|
|
44
|
+
result.push({
|
|
45
|
+
type: 'bullet',
|
|
46
|
+
runs: parseInlineFormatting(bulletMatch[1]),
|
|
47
|
+
});
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
// Normal paragraph
|
|
51
|
+
result.push({
|
|
52
|
+
type: 'paragraph',
|
|
53
|
+
runs: parseInlineFormatting(line),
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Parse **bold** and *italic* markers into runs.
|
|
60
|
+
*/
|
|
61
|
+
function parseInlineFormatting(text) {
|
|
62
|
+
const runs = [];
|
|
63
|
+
// Regex: **bold**, *italic*, or plain text
|
|
64
|
+
const pattern = /(\*\*(.+?)\*\*|\*(.+?)\*|([^*]+))/g;
|
|
65
|
+
let match;
|
|
66
|
+
while ((match = pattern.exec(text)) !== null) {
|
|
67
|
+
if (match[2]) {
|
|
68
|
+
runs.push({ text: match[2], bold: true });
|
|
69
|
+
}
|
|
70
|
+
else if (match[3]) {
|
|
71
|
+
runs.push({ text: match[3], italic: true });
|
|
72
|
+
}
|
|
73
|
+
else if (match[4]) {
|
|
74
|
+
runs.push({ text: match[4] });
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (runs.length === 0) {
|
|
78
|
+
runs.push({ text });
|
|
79
|
+
}
|
|
80
|
+
return runs;
|
|
81
|
+
}
|
|
82
|
+
// ── Tool ─────────────────────────────────────────────────────────────────────
|
|
83
|
+
export class CreateDocumentTool {
|
|
84
|
+
id = 'cli-create-document-v1';
|
|
85
|
+
name = 'create_document';
|
|
86
|
+
displayName = 'Create Document';
|
|
87
|
+
description = 'Create a Word document (.docx) from text or markdown content. ' +
|
|
88
|
+
'Supports headings, bold, italic, bullet lists, and metadata. ' +
|
|
89
|
+
'Use this instead of file_write when the user asks for a .docx file.';
|
|
90
|
+
category = 'system';
|
|
91
|
+
hasSideEffects = true;
|
|
92
|
+
inputSchema = {
|
|
93
|
+
type: 'object',
|
|
94
|
+
required: ['path', 'content'],
|
|
95
|
+
properties: {
|
|
96
|
+
path: {
|
|
97
|
+
type: 'string',
|
|
98
|
+
description: 'Output file path (should end in .docx)',
|
|
99
|
+
},
|
|
100
|
+
content: {
|
|
101
|
+
type: 'string',
|
|
102
|
+
description: 'Document content. Supports a subset of Markdown: # headings, **bold**, *italic*, - bullet lists.',
|
|
103
|
+
},
|
|
104
|
+
title: {
|
|
105
|
+
type: 'string',
|
|
106
|
+
description: 'Document title (metadata)',
|
|
107
|
+
},
|
|
108
|
+
author: {
|
|
109
|
+
type: 'string',
|
|
110
|
+
description: 'Document author (metadata)',
|
|
111
|
+
},
|
|
112
|
+
subject: {
|
|
113
|
+
type: 'string',
|
|
114
|
+
description: 'Document subject (metadata)',
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
additionalProperties: false,
|
|
118
|
+
};
|
|
119
|
+
async execute(input, _context) {
|
|
120
|
+
try {
|
|
121
|
+
const outPath = resolve(input.path);
|
|
122
|
+
const paragraphs = parseMarkdown(input.content);
|
|
123
|
+
// Dynamic import — docx is a peer/optional dep
|
|
124
|
+
const docx = await import('docx');
|
|
125
|
+
const children = [];
|
|
126
|
+
for (const para of paragraphs) {
|
|
127
|
+
const textRuns = para.runs.map((r) => new docx.TextRun({
|
|
128
|
+
text: r.text,
|
|
129
|
+
bold: r.bold,
|
|
130
|
+
italics: r.italic,
|
|
131
|
+
}));
|
|
132
|
+
if (para.type === 'heading') {
|
|
133
|
+
const headingLevel = {
|
|
134
|
+
1: docx.HeadingLevel.HEADING_1,
|
|
135
|
+
2: docx.HeadingLevel.HEADING_2,
|
|
136
|
+
3: docx.HeadingLevel.HEADING_3,
|
|
137
|
+
4: docx.HeadingLevel.HEADING_4,
|
|
138
|
+
5: docx.HeadingLevel.HEADING_5,
|
|
139
|
+
6: docx.HeadingLevel.HEADING_6,
|
|
140
|
+
};
|
|
141
|
+
children.push(new docx.Paragraph({
|
|
142
|
+
children: textRuns,
|
|
143
|
+
heading: headingLevel[para.level ?? 1] ?? docx.HeadingLevel.HEADING_1,
|
|
144
|
+
}));
|
|
145
|
+
}
|
|
146
|
+
else if (para.type === 'bullet') {
|
|
147
|
+
children.push(new docx.Paragraph({
|
|
148
|
+
children: textRuns,
|
|
149
|
+
bullet: { level: 0 },
|
|
150
|
+
}));
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
children.push(new docx.Paragraph({
|
|
154
|
+
children: textRuns,
|
|
155
|
+
}));
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
// If content had no parseable paragraphs, add as single paragraph
|
|
159
|
+
if (children.length === 0) {
|
|
160
|
+
children.push(new docx.Paragraph({
|
|
161
|
+
children: [new docx.TextRun(input.content)],
|
|
162
|
+
}));
|
|
163
|
+
}
|
|
164
|
+
const doc = new docx.Document({
|
|
165
|
+
creator: input.author ?? 'Wunderland AgentOS',
|
|
166
|
+
title: input.title,
|
|
167
|
+
subject: input.subject,
|
|
168
|
+
sections: [{ children }],
|
|
169
|
+
});
|
|
170
|
+
const buffer = await docx.Packer.toBuffer(doc);
|
|
171
|
+
await mkdir(dirname(outPath), { recursive: true });
|
|
172
|
+
await writeFile(outPath, buffer);
|
|
173
|
+
return {
|
|
174
|
+
success: true,
|
|
175
|
+
output: {
|
|
176
|
+
path: outPath,
|
|
177
|
+
paragraphs: children.length,
|
|
178
|
+
bytes: buffer.length,
|
|
179
|
+
},
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
if (error.code === 'MODULE_NOT_FOUND' || error.message?.includes("Cannot find module 'docx'")) {
|
|
184
|
+
return {
|
|
185
|
+
success: false,
|
|
186
|
+
error: 'The "docx" package is required to create Word documents. Install it with: npm install docx',
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
return { success: false, error: error.message };
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
validateArgs(input) {
|
|
193
|
+
const errors = [];
|
|
194
|
+
if (!input.path || typeof input.path !== 'string')
|
|
195
|
+
errors.push('path is required (string)');
|
|
196
|
+
if (input.content === undefined || input.content === null)
|
|
197
|
+
errors.push('content is required');
|
|
198
|
+
return errors.length === 0 ? { isValid: true } : { isValid: false, errors };
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=createDocument.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDocument.js","sourceRoot":"","sources":["../../src/tools/createDocument.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create Spreadsheet Tool
|
|
3
|
+
* Generate XLSX or CSV files from structured data.
|
|
4
|
+
*
|
|
5
|
+
* @module @framers/agentos-ext-cli-executor
|
|
6
|
+
*/
|
|
7
|
+
import type { ITool, JSONSchemaObject, ToolExecutionContext, ToolExecutionResult } from '@framers/agentos';
|
|
8
|
+
export declare class CreateSpreadsheetTool implements ITool {
|
|
9
|
+
readonly id = "cli-create-spreadsheet-v1";
|
|
10
|
+
readonly name = "create_spreadsheet";
|
|
11
|
+
readonly displayName = "Create Spreadsheet";
|
|
12
|
+
readonly description: string;
|
|
13
|
+
readonly category = "system";
|
|
14
|
+
readonly hasSideEffects = true;
|
|
15
|
+
readonly inputSchema: JSONSchemaObject;
|
|
16
|
+
execute(input: {
|
|
17
|
+
path: string;
|
|
18
|
+
headers?: string[];
|
|
19
|
+
rows?: any[][];
|
|
20
|
+
data?: Record<string, any>[];
|
|
21
|
+
markdown?: string;
|
|
22
|
+
sheetName?: string;
|
|
23
|
+
format?: string;
|
|
24
|
+
}, _context: ToolExecutionContext): Promise<ToolExecutionResult<{
|
|
25
|
+
path: string;
|
|
26
|
+
format: string;
|
|
27
|
+
rows: number;
|
|
28
|
+
bytes: number;
|
|
29
|
+
}>>;
|
|
30
|
+
validateArgs(input: Record<string, any>): {
|
|
31
|
+
isValid: boolean;
|
|
32
|
+
errors?: any[];
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=createSpreadsheet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSpreadsheet.d.ts","sourceRoot":"","sources":["../../src/tools/createSpreadsheet.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAoC3G,qBAAa,qBAAsB,YAAW,KAAK;IACjD,SAAgB,EAAE,+BAA+B;IACjD,SAAgB,IAAI,wBAAwB;IAC5C,SAAgB,WAAW,wBAAwB;IACnD,SAAgB,WAAW,SAGqD;IAChF,SAAgB,QAAQ,YAAY;IACpC,SAAgB,cAAc,QAAQ;IAEtC,SAAgB,WAAW,EAAE,gBAAgB,CAiD3C;IAEI,OAAO,CACX,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;QAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EACD,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAoF9F,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE;CAW/E"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
/**
|
|
3
|
+
* Create Spreadsheet Tool
|
|
4
|
+
* Generate XLSX or CSV files from structured data.
|
|
5
|
+
*
|
|
6
|
+
* @module @framers/agentos-ext-cli-executor
|
|
7
|
+
*/
|
|
8
|
+
import { mkdir, writeFile } from 'node:fs/promises';
|
|
9
|
+
import { dirname, extname, resolve } from 'node:path';
|
|
10
|
+
/**
|
|
11
|
+
* Parse a markdown-style table into headers + rows.
|
|
12
|
+
*
|
|
13
|
+
* Accepts tables like:
|
|
14
|
+
* | Name | Age |
|
|
15
|
+
* | --- | --- |
|
|
16
|
+
* | Alice | 30 |
|
|
17
|
+
* | Bob | 25 |
|
|
18
|
+
*/
|
|
19
|
+
function parseMarkdownTable(markdown) {
|
|
20
|
+
const lines = markdown
|
|
21
|
+
.split('\n')
|
|
22
|
+
.map((l) => l.trim())
|
|
23
|
+
.filter((l) => l.startsWith('|') && l.endsWith('|'));
|
|
24
|
+
if (lines.length < 2)
|
|
25
|
+
return null;
|
|
26
|
+
const parseRow = (line) => line
|
|
27
|
+
.slice(1, -1) // strip leading/trailing |
|
|
28
|
+
.split('|')
|
|
29
|
+
.map((cell) => cell.trim());
|
|
30
|
+
const headers = parseRow(lines[0]);
|
|
31
|
+
// Skip separator row (| --- | --- |)
|
|
32
|
+
const startIdx = /^[\s|:-]+$/.test(lines[1].replace(/\|/g, '').trim()) ? 2 : 1;
|
|
33
|
+
const rows = lines.slice(startIdx).map(parseRow);
|
|
34
|
+
return { headers, rows };
|
|
35
|
+
}
|
|
36
|
+
export class CreateSpreadsheetTool {
|
|
37
|
+
id = 'cli-create-spreadsheet-v1';
|
|
38
|
+
name = 'create_spreadsheet';
|
|
39
|
+
displayName = 'Create Spreadsheet';
|
|
40
|
+
description = 'Create an Excel (.xlsx) or CSV (.csv) file from structured data. ' +
|
|
41
|
+
'Accepts data as a JSON array of rows (with headers), or as a markdown table string. ' +
|
|
42
|
+
'Use this instead of file_write when the user asks for a spreadsheet or CSV.';
|
|
43
|
+
category = 'system';
|
|
44
|
+
hasSideEffects = true;
|
|
45
|
+
inputSchema = {
|
|
46
|
+
type: 'object',
|
|
47
|
+
required: ['path'],
|
|
48
|
+
properties: {
|
|
49
|
+
path: {
|
|
50
|
+
type: 'string',
|
|
51
|
+
description: 'Output file path (should end in .xlsx or .csv)',
|
|
52
|
+
},
|
|
53
|
+
headers: {
|
|
54
|
+
type: 'array',
|
|
55
|
+
items: { type: 'string' },
|
|
56
|
+
description: 'Column headers. Required when using the rows parameter.',
|
|
57
|
+
},
|
|
58
|
+
rows: {
|
|
59
|
+
type: 'array',
|
|
60
|
+
items: {
|
|
61
|
+
type: 'array',
|
|
62
|
+
items: {},
|
|
63
|
+
},
|
|
64
|
+
description: 'Data rows as a 2D array: [[val, val, ...], ...]. ' +
|
|
65
|
+
'Each inner array is one row. Values can be strings, numbers, or booleans.',
|
|
66
|
+
},
|
|
67
|
+
data: {
|
|
68
|
+
type: 'array',
|
|
69
|
+
items: {
|
|
70
|
+
type: 'object',
|
|
71
|
+
},
|
|
72
|
+
description: 'Alternative: array of objects. Keys become column headers. ' +
|
|
73
|
+
'Example: [{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]',
|
|
74
|
+
},
|
|
75
|
+
markdown: {
|
|
76
|
+
type: 'string',
|
|
77
|
+
description: 'Alternative: a markdown table string. Parsed into headers and rows automatically.',
|
|
78
|
+
},
|
|
79
|
+
sheetName: {
|
|
80
|
+
type: 'string',
|
|
81
|
+
description: 'Sheet name for xlsx files (default: "Sheet1")',
|
|
82
|
+
},
|
|
83
|
+
format: {
|
|
84
|
+
type: 'string',
|
|
85
|
+
enum: ['xlsx', 'csv', 'auto'],
|
|
86
|
+
default: 'auto',
|
|
87
|
+
description: 'Output format. Auto-detected from file extension if not specified.',
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
additionalProperties: false,
|
|
91
|
+
};
|
|
92
|
+
async execute(input, _context) {
|
|
93
|
+
try {
|
|
94
|
+
const outPath = resolve(input.path);
|
|
95
|
+
// Detect format
|
|
96
|
+
let format;
|
|
97
|
+
if (input.format && input.format !== 'auto') {
|
|
98
|
+
format = input.format;
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
const ext = extname(outPath).toLowerCase();
|
|
102
|
+
format = ext === '.csv' ? 'csv' : 'xlsx';
|
|
103
|
+
}
|
|
104
|
+
// Resolve headers + rows from one of the three input forms
|
|
105
|
+
let headers;
|
|
106
|
+
let rows;
|
|
107
|
+
if (input.markdown) {
|
|
108
|
+
const parsed = parseMarkdownTable(input.markdown);
|
|
109
|
+
if (!parsed) {
|
|
110
|
+
return { success: false, error: 'Could not parse markdown table. Ensure it has | header | rows.' };
|
|
111
|
+
}
|
|
112
|
+
headers = parsed.headers;
|
|
113
|
+
rows = parsed.rows;
|
|
114
|
+
}
|
|
115
|
+
else if (input.data && input.data.length > 0) {
|
|
116
|
+
// Object array → extract keys as headers
|
|
117
|
+
const keySet = new Set();
|
|
118
|
+
for (const obj of input.data) {
|
|
119
|
+
for (const k of Object.keys(obj))
|
|
120
|
+
keySet.add(k);
|
|
121
|
+
}
|
|
122
|
+
headers = [...keySet];
|
|
123
|
+
rows = input.data.map((obj) => headers.map((h) => obj[h] ?? ''));
|
|
124
|
+
}
|
|
125
|
+
else if (input.headers && input.rows) {
|
|
126
|
+
headers = input.headers;
|
|
127
|
+
rows = input.rows;
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
return {
|
|
131
|
+
success: false,
|
|
132
|
+
error: 'Provide data in one of three forms: (1) headers + rows, (2) data (array of objects), or (3) markdown table string.',
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
await mkdir(dirname(outPath), { recursive: true });
|
|
136
|
+
if (format === 'csv') {
|
|
137
|
+
// Generate CSV without pulling in xlsx
|
|
138
|
+
const escapeCSV = (val) => {
|
|
139
|
+
const s = val === null || val === undefined ? '' : String(val);
|
|
140
|
+
return s.includes(',') || s.includes('"') || s.includes('\n')
|
|
141
|
+
? `"${s.replace(/"/g, '""')}"`
|
|
142
|
+
: s;
|
|
143
|
+
};
|
|
144
|
+
const lines = [
|
|
145
|
+
headers.map(escapeCSV).join(','),
|
|
146
|
+
...rows.map((row) => row.map(escapeCSV).join(',')),
|
|
147
|
+
];
|
|
148
|
+
const csvContent = lines.join('\n') + '\n';
|
|
149
|
+
await writeFile(outPath, csvContent, 'utf-8');
|
|
150
|
+
return {
|
|
151
|
+
success: true,
|
|
152
|
+
output: { path: outPath, format: 'csv', rows: rows.length, bytes: Buffer.byteLength(csvContent) },
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
// XLSX
|
|
156
|
+
const XLSX = await import('xlsx');
|
|
157
|
+
const wsData = [headers, ...rows];
|
|
158
|
+
const ws = XLSX.utils.aoa_to_sheet(wsData);
|
|
159
|
+
const wb = XLSX.utils.book_new();
|
|
160
|
+
XLSX.utils.book_append_sheet(wb, ws, input.sheetName || 'Sheet1');
|
|
161
|
+
const xlsxBuffer = XLSX.write(wb, { type: 'buffer', bookType: 'xlsx' });
|
|
162
|
+
await writeFile(outPath, xlsxBuffer);
|
|
163
|
+
return {
|
|
164
|
+
success: true,
|
|
165
|
+
output: { path: outPath, format: 'xlsx', rows: rows.length, bytes: xlsxBuffer.length },
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
return { success: false, error: error.message };
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
validateArgs(input) {
|
|
173
|
+
const errors = [];
|
|
174
|
+
if (!input.path || typeof input.path !== 'string')
|
|
175
|
+
errors.push('path is required (string)');
|
|
176
|
+
const hasData = !!(input.data && Array.isArray(input.data) && input.data.length > 0);
|
|
177
|
+
const hasRowsPair = !!(input.headers && input.rows);
|
|
178
|
+
const hasMarkdown = !!(input.markdown && typeof input.markdown === 'string');
|
|
179
|
+
if (!hasData && !hasRowsPair && !hasMarkdown) {
|
|
180
|
+
errors.push('Provide one of: headers+rows, data (array of objects), or markdown (table string)');
|
|
181
|
+
}
|
|
182
|
+
return errors.length === 0 ? { isValid: true } : { isValid: false, errors };
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=createSpreadsheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSpreadsheet.js","sourceRoot":"","sources":["../../src/tools/createSpreadsheet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/tools/execute.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/tools/execute.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC3G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,qBAAa,WAAY,YAAW,KAAK;IAmC3B,OAAO,CAAC,YAAY;IAlChC,SAAgB,EAAE,0BAA0B;IAC5C,qDAAqD;IACrD,SAAgB,IAAI,mBAAmB;IACvC,SAAgB,WAAW,2BAA2B;IACtD,SAAgB,WAAW,iEAAiE;IAC5F,SAAgB,QAAQ,YAAY;IACpC,SAAgB,cAAc,QAAQ;IAEtC,SAAgB,WAAW,EAAE,gBAAgB,CAwB3C;gBAEkB,YAAY,EAAE,YAAY;IAE9C;;OAEG;IACG,OAAO,CACX,KAAK,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;KAChB,EACD,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;IA2BhD;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE;CAiB/E"}
|
package/dist/tools/execute.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/tools/execute.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/tools/execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileRead.d.ts","sourceRoot":"","sources":["../../src/tools/fileRead.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fileRead.d.ts","sourceRoot":"","sources":["../../src/tools/fileRead.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC3G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;GAEG;AACH,qBAAa,YAAa,YAAW,KAAK;IAuC5B,OAAO,CAAC,YAAY;IAtChC,SAAgB,EAAE,sBAAsB;IACxC,qDAAqD;IACrD,SAAgB,IAAI,eAAe;IACnC,SAAgB,WAAW,eAAe;IAC1C,SAAgB,WAAW,4CAA4C;IACvE,SAAgB,QAAQ,YAAY;IACpC,SAAgB,cAAc,SAAS;IAEvC,SAAgB,WAAW,EAAE,gBAAgB,CA4B3C;gBAEkB,YAAY,EAAE,YAAY;IAE9C;;OAEG;IACG,OAAO,CACX,KAAK,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,OAAO,CAAC;KACjB,EACD,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAsC/C;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE;CAW/E"}
|
package/dist/tools/fileRead.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
1
2
|
/**
|
|
2
3
|
* File Read Tool
|
|
3
4
|
* Read file contents.
|
|
4
5
|
*
|
|
5
6
|
* @module @framers/agentos-ext-cli-executor
|
|
6
7
|
*/
|
|
8
|
+
import { stat } from 'node:fs/promises';
|
|
9
|
+
import { resolve } from 'node:path';
|
|
7
10
|
/**
|
|
8
11
|
* Tool for reading files
|
|
9
12
|
*/
|
|
@@ -53,6 +56,28 @@ export class FileReadTool {
|
|
|
53
56
|
*/
|
|
54
57
|
async execute(input, _context) {
|
|
55
58
|
try {
|
|
59
|
+
// Redirect binary document formats to read_document tool
|
|
60
|
+
if (input.path && /\.(xlsx?|docx|pdf)$/i.test(input.path)) {
|
|
61
|
+
const ext = input.path.match(/\.[^.]+$/)?.[0] || '';
|
|
62
|
+
return {
|
|
63
|
+
success: false,
|
|
64
|
+
error: `Cannot read binary document "${input.path}" with file_read — this will return garbled content. Use the read_document tool instead to parse ${ext} files and extract their text content.`,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
// Fail-fast: detect directories before requesting any permissions or doing I/O
|
|
68
|
+
try {
|
|
69
|
+
const resolved = resolve(input.path);
|
|
70
|
+
const stats = await stat(resolved);
|
|
71
|
+
if (stats.isDirectory()) {
|
|
72
|
+
return {
|
|
73
|
+
success: false,
|
|
74
|
+
error: `"${input.path}" is a directory, not a file. Use list_directory to view directory contents.`,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
// Path doesn't exist or can't be stat'd — let readFile handle it
|
|
80
|
+
}
|
|
56
81
|
const result = await this.shellService.readFile(input.path, {
|
|
57
82
|
encoding: input.encoding,
|
|
58
83
|
maxBytes: input.maxBytes,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileRead.js","sourceRoot":"","sources":["../../src/tools/fileRead.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"fileRead.js","sourceRoot":"","sources":["../../src/tools/fileRead.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileWrite.d.ts","sourceRoot":"","sources":["../../src/tools/fileWrite.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fileWrite.d.ts","sourceRoot":"","sources":["../../src/tools/fileWrite.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC3G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,qBAAa,aAAc,YAAW,KAAK;IAwC7B,OAAO,CAAC,YAAY;IAvChC,SAAgB,EAAE,uBAAuB;IACzC,qDAAqD;IACrD,SAAgB,IAAI,gBAAgB;IACpC,SAAgB,WAAW,gBAAgB;IAC3C,SAAgB,WAAW,gDAAgD;IAC3E,SAAgB,QAAQ,YAAY;IACpC,SAAgB,cAAc,QAAQ;IAEtC,SAAgB,WAAW,EAAE,gBAAgB,CA6B3C;gBAEkB,YAAY,EAAE,YAAY;IAE9C;;OAEG;IACG,OAAO,CACX,KAAK,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;KACpB,EACD,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAkChD;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE;CAe/E"}
|
package/dist/tools/fileWrite.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
1
2
|
/**
|
|
2
3
|
* File Write Tool
|
|
3
4
|
* Write content to files.
|
|
@@ -54,6 +55,25 @@ export class FileWriteTool {
|
|
|
54
55
|
*/
|
|
55
56
|
async execute(input, _context) {
|
|
56
57
|
try {
|
|
58
|
+
// Redirect binary document writes to dedicated tools
|
|
59
|
+
if (input.path && /\.pdf$/i.test(input.path)) {
|
|
60
|
+
return {
|
|
61
|
+
success: false,
|
|
62
|
+
error: 'Cannot write PDF files with file_write — this produces a plain text file with a .pdf extension. Use the create_pdf tool instead to generate a real PDF document.',
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
if (input.path && /\.xlsx?$/i.test(input.path)) {
|
|
66
|
+
return {
|
|
67
|
+
success: false,
|
|
68
|
+
error: 'Cannot write spreadsheet files with file_write — this produces a plain text file with an Excel extension. Use the create_spreadsheet tool instead to generate a real .xlsx file.',
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
if (input.path && /\.docx$/i.test(input.path)) {
|
|
72
|
+
return {
|
|
73
|
+
success: false,
|
|
74
|
+
error: 'Cannot write Word documents with file_write — this produces a plain text file with a .docx extension. Use the create_document tool instead to generate a real .docx file.',
|
|
75
|
+
};
|
|
76
|
+
}
|
|
57
77
|
const result = await this.shellService.writeFile(input.path, input.content, {
|
|
58
78
|
encoding: input.encoding,
|
|
59
79
|
append: input.append,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileWrite.js","sourceRoot":"","sources":["../../src/tools/fileWrite.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,OAAO,aAAa;IAwCJ;IAvCJ,EAAE,GAAG,mBAAmB,CAAC;IACzC,qDAAqD;IACrC,IAAI,GAAG,YAAY,CAAC;IACpB,WAAW,GAAG,YAAY,CAAC;IAC3B,WAAW,GAAG,4CAA4C,CAAC;IAC3D,QAAQ,GAAG,QAAQ,CAAC;IACpB,cAAc,GAAG,IAAI,CAAC;IAEtB,WAAW,GAAqB;QAC9C,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;QAC7B,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oBAAoB;aAClC;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kBAAkB;aAChC;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,eAAe;aAC7B;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,uCAAuC;aACrD;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,qCAAqC;aACnD;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B,CAAC;IAEF,YAAoB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAElD;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,KAMC,EACD,QAA8B;QAE9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE;gBAC1E,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,CAAC,CAAC;YAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,KAA0B;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC9E,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"fileWrite.js","sourceRoot":"","sources":["../../src/tools/fileWrite.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listDir.d.ts","sourceRoot":"","sources":["../../src/tools/listDir.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"listDir.d.ts","sourceRoot":"","sources":["../../src/tools/listDir.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC3G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,KAAK;IA6CjC,OAAO,CAAC,YAAY;IA5ChC,SAAgB,EAAE,2BAA2B;IAC7C,qDAAqD;IACrD,SAAgB,IAAI,oBAAoB;IACxC,SAAgB,WAAW,oBAAoB;IAC/C,SAAgB,WAAW,+CAA+C;IAC1E,SAAgB,QAAQ,YAAY;IACpC,SAAgB,cAAc,SAAS;IAEvC,SAAgB,WAAW,EAAE,gBAAgB,CAkC3C;gBAEkB,YAAY,EAAE,YAAY;IAE9C;;OAEG;IACG,OAAO,CACX,KAAK,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,OAAO,CAAC;KACtB,EACD,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IAgBpD;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE;CAW/E"}
|
package/dist/tools/listDir.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listDir.js","sourceRoot":"","sources":["../../src/tools/listDir.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,OAAO,iBAAiB;IA6CR;IA5CJ,EAAE,GAAG,uBAAuB,CAAC;IAC7C,qDAAqD;IACrC,IAAI,GAAG,gBAAgB,CAAC;IACxB,WAAW,GAAG,gBAAgB,CAAC;IAC/B,WAAW,GAAG,2CAA2C,CAAC;IAC1D,QAAQ,GAAG,QAAQ,CAAC;IACpB,cAAc,GAAG,KAAK,CAAC;IAEvB,WAAW,GAAqB;QAC9C,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wBAAwB;aACtC;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,sBAAsB;aACpC;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,mBAAmB;aACjC;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,qCAAqC;aACnD;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uBAAuB;aACrC;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,kCAAkC;aAChD;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B,CAAC;IAEF,YAAoB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAElD;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,KAOC,EACD,QAA8B;QAE9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE;gBAC/D,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,YAAY,EAAE,KAAK,CAAC,YAAY;aACjC,CAAC,CAAC;YAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,KAA0B;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC9E,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"listDir.js","sourceRoot":"","sources":["../../src/tools/listDir.ts"],"names":[],"mappings":"AAAA,cAAc;AACd;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,OAAO,iBAAiB;IA6CR;IA5CJ,EAAE,GAAG,uBAAuB,CAAC;IAC7C,qDAAqD;IACrC,IAAI,GAAG,gBAAgB,CAAC;IACxB,WAAW,GAAG,gBAAgB,CAAC;IAC/B,WAAW,GAAG,2CAA2C,CAAC;IAC1D,QAAQ,GAAG,QAAQ,CAAC;IACpB,cAAc,GAAG,KAAK,CAAC;IAEvB,WAAW,GAAqB;QAC9C,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wBAAwB;aACtC;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,sBAAsB;aACpC;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,mBAAmB;aACjC;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,qCAAqC;aACnD;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uBAAuB;aACrC;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,kCAAkC;aAChD;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B,CAAC;IAEF,YAAoB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAElD;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,KAOC,EACD,QAA8B;QAE9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE;gBAC/D,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,YAAY,EAAE,KAAK,CAAC,YAAY;aACjC,CAAC,CAAC;YAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,KAA0B;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC9E,CAAC;CACF"}
|