@ekairos/dataset 1.8.3
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/dist/clearDataset.tool.d.ts +22 -0
- package/dist/clearDataset.tool.d.ts.map +1 -0
- package/dist/clearDataset.tool.js +58 -0
- package/dist/clearDataset.tool.js.map +1 -0
- package/dist/completeDataset.tool.d.ts +27 -0
- package/dist/completeDataset.tool.d.ts.map +1 -0
- package/dist/completeDataset.tool.js +258 -0
- package/dist/completeDataset.tool.js.map +1 -0
- package/dist/datasetFiles.d.ts +4 -0
- package/dist/datasetFiles.d.ts.map +1 -0
- package/dist/datasetFiles.js +13 -0
- package/dist/datasetFiles.js.map +1 -0
- package/dist/domain.d.ts +2 -0
- package/dist/domain.d.ts.map +1 -0
- package/dist/domain.js +6 -0
- package/dist/domain.js.map +1 -0
- package/dist/executeCommand.tool.d.ts +37 -0
- package/dist/executeCommand.tool.d.ts.map +1 -0
- package/dist/executeCommand.tool.js +123 -0
- package/dist/executeCommand.tool.js.map +1 -0
- package/dist/file/file-dataset.agent.d.ts +51 -0
- package/dist/file/file-dataset.agent.d.ts.map +1 -0
- package/dist/file/file-dataset.agent.js +272 -0
- package/dist/file/file-dataset.agent.js.map +1 -0
- package/dist/file/filepreview.d.ts +41 -0
- package/dist/file/filepreview.d.ts.map +1 -0
- package/dist/file/filepreview.js +188 -0
- package/dist/file/filepreview.js.map +1 -0
- package/dist/file/generateSchema.tool.d.ts +31 -0
- package/dist/file/generateSchema.tool.d.ts.map +1 -0
- package/dist/file/generateSchema.tool.js +108 -0
- package/dist/file/generateSchema.tool.js.map +1 -0
- package/dist/file/index.d.ts +2 -0
- package/dist/file/index.d.ts.map +1 -0
- package/dist/file/index.js +18 -0
- package/dist/file/index.js.map +1 -0
- package/dist/file/prompts.d.ts +3 -0
- package/dist/file/prompts.d.ts.map +1 -0
- package/dist/file/prompts.js +194 -0
- package/dist/file/prompts.js.map +1 -0
- package/dist/file/scripts/file_metadata.py +71 -0
- package/dist/file/scripts/preview_head_csv.py +24 -0
- package/dist/file/scripts/preview_head_excel.py +30 -0
- package/dist/file/scripts/preview_mid_csv.py +36 -0
- package/dist/file/scripts/preview_mid_excel.py +39 -0
- package/dist/file/scripts/preview_tail_csv.py +27 -0
- package/dist/file/scripts/preview_tail_excel.py +29 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/schema.d.ts +62 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +46 -0
- package/dist/schema.js.map +1 -0
- package/dist/service.d.ts +73 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +423 -0
- package/dist/service.js.map +1 -0
- package/dist/transform/filepreview.d.ts +24 -0
- package/dist/transform/filepreview.d.ts.map +1 -0
- package/dist/transform/filepreview.js +92 -0
- package/dist/transform/filepreview.js.map +1 -0
- package/dist/transform/index.d.ts +2 -0
- package/dist/transform/index.d.ts.map +1 -0
- package/dist/transform/index.js +18 -0
- package/dist/transform/index.js.map +1 -0
- package/dist/transform/prompts.d.ts +35 -0
- package/dist/transform/prompts.d.ts.map +1 -0
- package/dist/transform/prompts.js +137 -0
- package/dist/transform/prompts.js.map +1 -0
- package/dist/transform/transform-dataset.agent.d.ts +58 -0
- package/dist/transform/transform-dataset.agent.d.ts.map +1 -0
- package/dist/transform/transform-dataset.agent.js +283 -0
- package/dist/transform/transform-dataset.agent.js.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createGenerateSchemaTool = createGenerateSchemaTool;
|
|
4
|
+
const ai_1 = require("ai");
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
function createGenerateSchemaTool({ service, datasetId, sandbox, isNested, fileId }) {
|
|
7
|
+
return (0, ai_1.tool)({
|
|
8
|
+
description: `Generate a formal JSON schema for a SINGLE RECORD (row) from the file. This schema describes the structure of ONE record, not the entire dataset or array of records. Requirements:
|
|
9
|
+
1. Schema describes ONE RECORD structure only (no array wrappers)
|
|
10
|
+
2. All property names MUST use lowercaseCamelCase convention (e.g., 'productName', 'unitPrice')
|
|
11
|
+
3. Each property MUST have a description field
|
|
12
|
+
4. The schema description must explain what one record represents and field mappings from original file`,
|
|
13
|
+
inputSchema: zod_1.z.object({
|
|
14
|
+
schemaTitle: zod_1.z.string().describe("Title for the RECORD schema in PascalCase (e.g., 'ProductRecord', 'TransactionRecord')"),
|
|
15
|
+
schemaDescription: zod_1.z.string().describe("Comprehensive description that includes: 1) what ONE record represents, 2) its purpose, 3) complete field mapping from original file fields to schema fields with explanations (e.g., 'ARTÍCULO' -> 'articleCode': normalized to camelCase)"),
|
|
16
|
+
schemaJson: zod_1.z.string().describe("Complete JSON schema as string describing ONE RECORD. Must be type 'object' with properties. All properties must be in lowercaseCamelCase and have descriptions. Do NOT use type 'array' at root level."),
|
|
17
|
+
}),
|
|
18
|
+
execute: async ({ schemaTitle, schemaDescription, schemaJson }) => {
|
|
19
|
+
console.log(`[Dataset ${datasetId}] ========================================`);
|
|
20
|
+
console.log(`[Dataset ${datasetId}] Tool: generateSchema`);
|
|
21
|
+
console.log(`[Dataset ${datasetId}] Title: ${schemaTitle}`);
|
|
22
|
+
console.log(`[Dataset ${datasetId}] ========================================`);
|
|
23
|
+
try {
|
|
24
|
+
const parsedSchema = JSON.parse(schemaJson);
|
|
25
|
+
// Validate root schema is an object, not array
|
|
26
|
+
if (parsedSchema.type === "array") {
|
|
27
|
+
console.error(`[Dataset ${datasetId}] Schema validation failed: Root type must be 'object', not 'array'`);
|
|
28
|
+
console.error(`[Dataset ${datasetId}] ========================================`);
|
|
29
|
+
return {
|
|
30
|
+
success: false,
|
|
31
|
+
error: "Schema must describe a SINGLE RECORD (type: 'object'), not an array. Remove array wrapper and describe just one record structure.",
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
// Validate schema conventions
|
|
35
|
+
const validateSchema = (obj, path = "") => {
|
|
36
|
+
const errors = [];
|
|
37
|
+
if (obj.properties) {
|
|
38
|
+
for (const [key, value] of Object.entries(obj.properties)) {
|
|
39
|
+
// Check lowercaseCamelCase
|
|
40
|
+
if (!/^[a-z][a-zA-Z0-9]*$/.test(key)) {
|
|
41
|
+
errors.push(`Property "${key}" at ${path} does not follow lowercaseCamelCase convention`);
|
|
42
|
+
}
|
|
43
|
+
// Check description exists
|
|
44
|
+
const prop = value;
|
|
45
|
+
if (!prop.description || prop.description.trim() === "") {
|
|
46
|
+
errors.push(`Property "${key}" at ${path} is missing description`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (obj.items && obj.items.properties) {
|
|
51
|
+
errors.push(...validateSchema(obj.items, `${path}.items`));
|
|
52
|
+
}
|
|
53
|
+
return errors;
|
|
54
|
+
};
|
|
55
|
+
const validationErrors = validateSchema(parsedSchema);
|
|
56
|
+
if (validationErrors.length > 0) {
|
|
57
|
+
console.error(`[Dataset ${datasetId}] Schema validation failed:`);
|
|
58
|
+
validationErrors.forEach(err => console.error(` - ${err}`));
|
|
59
|
+
console.error(`[Dataset ${datasetId}] ========================================`);
|
|
60
|
+
return {
|
|
61
|
+
success: false,
|
|
62
|
+
error: `Schema validation failed: ${validationErrors.join("; ")}`,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
const schemaData = {
|
|
66
|
+
title: schemaTitle,
|
|
67
|
+
description: schemaDescription,
|
|
68
|
+
schema: parsedSchema,
|
|
69
|
+
generatedAt: new Date().toISOString(),
|
|
70
|
+
};
|
|
71
|
+
console.log(`[Dataset ${datasetId}] ✅ Schema generated successfully`);
|
|
72
|
+
console.log(`[Dataset ${datasetId}] Title: ${schemaTitle}`);
|
|
73
|
+
console.log(`[Dataset ${datasetId}] Description: ${schemaDescription}`);
|
|
74
|
+
console.log(`[Dataset ${datasetId}] Schema JSON:`);
|
|
75
|
+
console.log(JSON.stringify(parsedSchema, null, 2));
|
|
76
|
+
const updateResult = await service.updateDatasetSchema({
|
|
77
|
+
datasetId,
|
|
78
|
+
schema: schemaData,
|
|
79
|
+
status: "schema_complete",
|
|
80
|
+
});
|
|
81
|
+
if (!updateResult.ok) {
|
|
82
|
+
console.error(`[Dataset ${datasetId}] Failed to update schema: ${updateResult.error}`);
|
|
83
|
+
console.error(`[Dataset ${datasetId}] ========================================`);
|
|
84
|
+
return {
|
|
85
|
+
success: false,
|
|
86
|
+
error: updateResult.error,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
console.log(`[Dataset ${datasetId}] ========================================`);
|
|
90
|
+
return {
|
|
91
|
+
success: true,
|
|
92
|
+
schema: schemaData,
|
|
93
|
+
message: "Schema generated successfully",
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
98
|
+
console.error(`[Dataset ${datasetId}] generateSchema failed:`, errorMessage);
|
|
99
|
+
console.error(`[Dataset ${datasetId}] ========================================`);
|
|
100
|
+
return {
|
|
101
|
+
success: false,
|
|
102
|
+
error: errorMessage,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=generateSchema.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateSchema.tool.js","sourceRoot":"","sources":["../../src/file/generateSchema.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/file/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./file-dataset.agent"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/file/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAoC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/file/prompts.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAkOzD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAY1E"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Plain build API using template literals and XML
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.buildFileDatasetPrompt = buildFileDatasetPrompt;
|
|
5
|
+
const xmlbuilder2_1 = require("xmlbuilder2");
|
|
6
|
+
const datasetFiles_1 = require("../datasetFiles");
|
|
7
|
+
function buildRole() {
|
|
8
|
+
let xml = (0, xmlbuilder2_1.create)()
|
|
9
|
+
.ele("Role")
|
|
10
|
+
.txt("You are a dataset creator for a SINGLE file. Your goal is to convert the file content into a validated JSONL dataset where each line represents one record.")
|
|
11
|
+
.up();
|
|
12
|
+
return xml.end({ prettyPrint: true, headless: true });
|
|
13
|
+
}
|
|
14
|
+
function buildGoal() {
|
|
15
|
+
let xml = (0, xmlbuilder2_1.create)()
|
|
16
|
+
.ele("Goal")
|
|
17
|
+
.txt("Convert the source file into a validated JSONL dataset (output.jsonl) where each line is a JSON object conforming to a generated schema. The schema describes ONE data record structure. Extract ONLY data records; exclude any header sections, metadata, or summary information from the file.")
|
|
18
|
+
.up();
|
|
19
|
+
return xml.end({ prettyPrint: true, headless: true });
|
|
20
|
+
}
|
|
21
|
+
function buildSourceInfo(context) {
|
|
22
|
+
let xml = (0, xmlbuilder2_1.create)()
|
|
23
|
+
.ele("Source")
|
|
24
|
+
.ele("Type").txt("file").up()
|
|
25
|
+
.ele("FileId").txt(context.fileId).up()
|
|
26
|
+
.ele("DatasetId").txt(context.datasetId).up()
|
|
27
|
+
.ele("FilePath").txt(context.sandboxConfig.filePath).up()
|
|
28
|
+
.up();
|
|
29
|
+
return xml;
|
|
30
|
+
}
|
|
31
|
+
function buildFilePreviewSection(preview) {
|
|
32
|
+
let xml = (0, xmlbuilder2_1.create)()
|
|
33
|
+
.ele("FilePreview")
|
|
34
|
+
.ele("TotalRows").txt(String(preview.totalRows)).up();
|
|
35
|
+
if (preview.metadata) {
|
|
36
|
+
xml = xml.ele("Metadata")
|
|
37
|
+
.ele("Description").txt(preview.metadata.description).up();
|
|
38
|
+
if (preview.metadata.script) {
|
|
39
|
+
xml = xml.ele("Script").txt(preview.metadata.script).up();
|
|
40
|
+
}
|
|
41
|
+
xml = xml.ele("Command").txt(preview.metadata.command).up()
|
|
42
|
+
.ele("Stdout").txt(preview.metadata.stdout).up();
|
|
43
|
+
if (preview.metadata.stderr && preview.metadata.stderr.trim().length > 0) {
|
|
44
|
+
xml = xml.ele("Stderr").txt(preview.metadata.stderr).up();
|
|
45
|
+
}
|
|
46
|
+
xml = xml.up();
|
|
47
|
+
}
|
|
48
|
+
if (preview.head) {
|
|
49
|
+
xml = xml.ele("Head")
|
|
50
|
+
.ele("Description").txt(preview.head.description).up();
|
|
51
|
+
if (preview.head.script) {
|
|
52
|
+
xml = xml.ele("Script").txt(preview.head.script).up();
|
|
53
|
+
}
|
|
54
|
+
xml = xml.ele("Command").txt(preview.head.command).up()
|
|
55
|
+
.ele("Stdout").txt(preview.head.stdout).up();
|
|
56
|
+
if (preview.head.stderr && preview.head.stderr.trim().length > 0) {
|
|
57
|
+
xml = xml.ele("Stderr").txt(preview.head.stderr).up();
|
|
58
|
+
}
|
|
59
|
+
xml = xml.up();
|
|
60
|
+
}
|
|
61
|
+
if (preview.tail) {
|
|
62
|
+
xml = xml.ele("Tail")
|
|
63
|
+
.ele("Description").txt(preview.tail.description).up();
|
|
64
|
+
if (preview.tail.script) {
|
|
65
|
+
xml = xml.ele("Script").txt(preview.tail.script).up();
|
|
66
|
+
}
|
|
67
|
+
xml = xml.ele("Command").txt(preview.tail.command).up()
|
|
68
|
+
.ele("Stdout").txt(preview.tail.stdout).up();
|
|
69
|
+
if (preview.tail.stderr && preview.tail.stderr.trim().length > 0) {
|
|
70
|
+
xml = xml.ele("Stderr").txt(preview.tail.stderr).up();
|
|
71
|
+
}
|
|
72
|
+
xml = xml.up();
|
|
73
|
+
}
|
|
74
|
+
if (preview.mid) {
|
|
75
|
+
xml = xml.ele("Mid")
|
|
76
|
+
.ele("Description").txt(preview.mid.description).up();
|
|
77
|
+
if (preview.mid.script) {
|
|
78
|
+
xml = xml.ele("Script").txt(preview.mid.script).up();
|
|
79
|
+
}
|
|
80
|
+
xml = xml.ele("Command").txt(preview.mid.command).up()
|
|
81
|
+
.ele("Stdout").txt(preview.mid.stdout).up();
|
|
82
|
+
if (preview.mid.stderr && preview.mid.stderr.trim().length > 0) {
|
|
83
|
+
xml = xml.ele("Stderr").txt(preview.mid.stderr).up();
|
|
84
|
+
}
|
|
85
|
+
xml = xml.up();
|
|
86
|
+
}
|
|
87
|
+
xml = xml.up();
|
|
88
|
+
return xml;
|
|
89
|
+
}
|
|
90
|
+
function buildErrorsSection(errors) {
|
|
91
|
+
if (errors.length === 0) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
let xml = (0, xmlbuilder2_1.create)()
|
|
95
|
+
.ele("PreviousErrors");
|
|
96
|
+
for (const error of errors) {
|
|
97
|
+
xml = xml.ele("Error").txt(error).up();
|
|
98
|
+
}
|
|
99
|
+
xml = xml.up();
|
|
100
|
+
return xml;
|
|
101
|
+
}
|
|
102
|
+
function buildContextSection(context) {
|
|
103
|
+
let xml = (0, xmlbuilder2_1.create)()
|
|
104
|
+
.ele("Context");
|
|
105
|
+
const sourceXml = buildSourceInfo(context);
|
|
106
|
+
xml = xml.import(sourceXml.first());
|
|
107
|
+
if (context.filePreview) {
|
|
108
|
+
const previewXml = buildFilePreviewSection(context.filePreview);
|
|
109
|
+
xml = xml.import(previewXml.first());
|
|
110
|
+
}
|
|
111
|
+
if (context.errors.length > 0) {
|
|
112
|
+
const errorsXml = buildErrorsSection(context.errors);
|
|
113
|
+
if (errorsXml) {
|
|
114
|
+
xml = xml.import(errorsXml.first());
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
xml = xml.up();
|
|
118
|
+
return xml.end({ prettyPrint: true, headless: true });
|
|
119
|
+
}
|
|
120
|
+
function buildSchemaSection(context) {
|
|
121
|
+
if (!context.schema) {
|
|
122
|
+
return "";
|
|
123
|
+
}
|
|
124
|
+
let xml = (0, xmlbuilder2_1.create)()
|
|
125
|
+
.com("Schema section: This defines the structure of ONE RECORD (row). Each line in the JSONL output must conform to this schema.")
|
|
126
|
+
.ele("Schema")
|
|
127
|
+
.ele("Title").txt(context.schema.title || "").up()
|
|
128
|
+
.ele("Description").txt(context.schema.description || "").up()
|
|
129
|
+
.ele("JsonSchema").txt(JSON.stringify(context.schema.schema, null, 2)).up()
|
|
130
|
+
.up();
|
|
131
|
+
return xml.end({ prettyPrint: true, headless: true });
|
|
132
|
+
}
|
|
133
|
+
function buildInstructions(context) {
|
|
134
|
+
const datasetWorkstation = (0, datasetFiles_1.getDatasetWorkstation)(context.datasetId);
|
|
135
|
+
const outputPath = (0, datasetFiles_1.getDatasetOutputPath)(context.datasetId);
|
|
136
|
+
const currentTask = "Review FilePreview section to understand file structure, then generate JSON Schema for a SINGLE RECORD, then parse the file and generate the dataset";
|
|
137
|
+
let xml = (0, xmlbuilder2_1.create)()
|
|
138
|
+
.ele("Instructions")
|
|
139
|
+
.ele("Workflow")
|
|
140
|
+
.ele("Step", { number: "1", name: "Inspect File" })
|
|
141
|
+
.ele("Action").txt("Review the FilePreview section in Context to understand the file structure").up()
|
|
142
|
+
.ele("Note").txt("FilePreview contains: TotalRows (total data rows), Metadata (file properties with JSON output), Head (first N raw file lines), Tail (last N lines if present), Mid (middle sample for large files). Each section shows Description, Script (full Python code), Command, Stdout (raw content), Stderr. This allows you to understand the exact file format.").up()
|
|
143
|
+
.up()
|
|
144
|
+
.ele("Step", { number: "2", name: "Generate JSON Schema" })
|
|
145
|
+
.ele("Action").txt("Call generateSchema to create a JSON Schema for a SINGLE DATA RECORD (one row of data)").up()
|
|
146
|
+
.ele("Requirements")
|
|
147
|
+
.ele("Requirement").txt("Schema describes ONE DATA RECORD structure only (type: object, not array)").up()
|
|
148
|
+
.ele("Requirement").txt("Schema represents data records ONLY, not header sections or metadata").up()
|
|
149
|
+
.ele("Requirement").txt("All property names must be lowercaseCamelCase").up()
|
|
150
|
+
.ele("Requirement").txt("Include all data columns/fields from records, exclude header fields").up()
|
|
151
|
+
.ele("Requirement").txt("Define correct data types for each field").up()
|
|
152
|
+
.up()
|
|
153
|
+
.up()
|
|
154
|
+
.ele("Step", { number: "3", name: "Generate Dataset JSONL" })
|
|
155
|
+
.ele("Action").txt(`Use executeCommand to parse the file and generate output.jsonl in the dataset workstation`).up()
|
|
156
|
+
.ele("Requirements")
|
|
157
|
+
.ele("Requirement").txt("Parse ALL data rows/records from the file (exclude header sections and metadata)").up()
|
|
158
|
+
.ele("Requirement").txt("Output JSONL format: each line is {\"type\": \"row\", \"data\": {...record...}}").up()
|
|
159
|
+
.ele("Requirement").txt("Extract ONLY data records; skip any header lines, summary sections, or file metadata").up()
|
|
160
|
+
.ele("Requirement").txt(`Save output to: ${outputPath}`).up()
|
|
161
|
+
.ele("Requirement").txt("Use descriptive scriptName in snake_case (e.g., 'parse_csv_to_jsonl')").up()
|
|
162
|
+
.up()
|
|
163
|
+
.up()
|
|
164
|
+
.ele("Step", { number: "4", name: "Complete and Validate" })
|
|
165
|
+
.ele("Action").txt("Call completeDataset to validate the dataset").up()
|
|
166
|
+
.ele("Behavior").txt("Validates that output.jsonl exists and all records conform to the schema stored in database. Returns error details if validation fails.").up()
|
|
167
|
+
.up()
|
|
168
|
+
.up()
|
|
169
|
+
.ele("Rules")
|
|
170
|
+
.ele("Rule").txt("Schema defines ONE DATA RECORD structure (not array, not header)").up()
|
|
171
|
+
.ele("Rule").txt("Datasets contain ONLY data records; exclude all header sections and file metadata").up()
|
|
172
|
+
.ele("Rule").txt("JSONL format: each line = separate JSON object representing one data record").up()
|
|
173
|
+
.ele("Rule").txt("FilePreview shows raw file content - use Script to understand data extraction").up()
|
|
174
|
+
.ele("Rule").txt("Use executeCommand for parsing and file generation").up()
|
|
175
|
+
.ele("Rule").txt(`Each dataset has its own isolated workstation: ${datasetWorkstation}`).up()
|
|
176
|
+
.ele("Rule").txt(`Required output: ${outputPath}`).up()
|
|
177
|
+
.ele("Rule").txt("Schema is stored in database (dataset_datasets table), not in files").up()
|
|
178
|
+
.up()
|
|
179
|
+
.ele("CurrentTask").txt(currentTask).up()
|
|
180
|
+
.up();
|
|
181
|
+
return xml.end({ prettyPrint: true, headless: true });
|
|
182
|
+
}
|
|
183
|
+
function buildFileDatasetPrompt(context) {
|
|
184
|
+
const sections = [];
|
|
185
|
+
sections.push(buildRole());
|
|
186
|
+
sections.push("");
|
|
187
|
+
sections.push(buildGoal());
|
|
188
|
+
sections.push("");
|
|
189
|
+
sections.push(buildContextSection(context));
|
|
190
|
+
sections.push("");
|
|
191
|
+
sections.push(buildInstructions(context));
|
|
192
|
+
return sections.join("\n");
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/file/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
import os
|
|
3
|
+
import json
|
|
4
|
+
import csv
|
|
5
|
+
|
|
6
|
+
file_path = sys.argv[1]
|
|
7
|
+
|
|
8
|
+
info = {
|
|
9
|
+
"file_name": os.path.basename(file_path),
|
|
10
|
+
"extension": os.path.splitext(file_path)[1].lower(),
|
|
11
|
+
"size_bytes": os.path.getsize(file_path) if os.path.exists(file_path) else None
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
if info["size_bytes"] is not None:
|
|
15
|
+
units = ["B", "KB", "MB", "GB", "TB", "PB"]
|
|
16
|
+
size = float(info["size_bytes"])
|
|
17
|
+
idx = 0
|
|
18
|
+
while size >= 1024 and idx < len(units) - 1:
|
|
19
|
+
size /= 1024
|
|
20
|
+
idx += 1
|
|
21
|
+
info["size_human"] = f"{size:.2f} {units[idx]}"
|
|
22
|
+
|
|
23
|
+
row_estimate = None
|
|
24
|
+
column_estimate = None
|
|
25
|
+
header_preview = None
|
|
26
|
+
|
|
27
|
+
try:
|
|
28
|
+
if info["extension"] in [".xlsx", ".xls"]:
|
|
29
|
+
import openpyxl
|
|
30
|
+
wb = openpyxl.load_workbook(file_path, read_only=True, data_only=False)
|
|
31
|
+
sheets = []
|
|
32
|
+
first_sheet_rows = 0
|
|
33
|
+
first_sheet_columns = 0
|
|
34
|
+
for idx, ws in enumerate(wb.worksheets):
|
|
35
|
+
rows = ws.max_row or 0
|
|
36
|
+
cols = ws.max_column or 0
|
|
37
|
+
if idx == 0:
|
|
38
|
+
first_sheet_rows = rows
|
|
39
|
+
first_sheet_columns = cols
|
|
40
|
+
sheet_info = {"name": ws.title, "rows": rows, "columns": cols}
|
|
41
|
+
sheets.append(sheet_info)
|
|
42
|
+
info["sheet_stats"] = sheets
|
|
43
|
+
row_estimate = first_sheet_rows
|
|
44
|
+
column_estimate = first_sheet_columns if first_sheet_columns > 0 else None
|
|
45
|
+
try:
|
|
46
|
+
first_sheet = wb.worksheets[0]
|
|
47
|
+
header_preview = [str(cell.value) if cell.value is not None else "" for cell in next(first_sheet.iter_rows(min_row=1, max_row=1))]
|
|
48
|
+
except Exception:
|
|
49
|
+
header_preview = None
|
|
50
|
+
else:
|
|
51
|
+
row_count = 0
|
|
52
|
+
with open(file_path, "rb") as fh:
|
|
53
|
+
for _ in fh:
|
|
54
|
+
row_count += 1
|
|
55
|
+
row_estimate = row_count - 1 if row_count > 0 else 0
|
|
56
|
+
with open(file_path, "r", encoding="utf-8", errors="ignore") as fh:
|
|
57
|
+
reader = csv.reader(fh)
|
|
58
|
+
header_preview = next(reader, [])
|
|
59
|
+
column_estimate = len(header_preview) if header_preview else None
|
|
60
|
+
except Exception as error:
|
|
61
|
+
info["metadata_error"] = str(error)
|
|
62
|
+
|
|
63
|
+
if row_estimate is not None:
|
|
64
|
+
info["row_count_estimate"] = row_estimate
|
|
65
|
+
if column_estimate is not None:
|
|
66
|
+
info["column_count_estimate"] = column_estimate
|
|
67
|
+
if header_preview is not None:
|
|
68
|
+
info["header_preview"] = header_preview
|
|
69
|
+
|
|
70
|
+
print(json.dumps(info, ensure_ascii=False))
|
|
71
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
import csv
|
|
3
|
+
import xml.etree.ElementTree as ET
|
|
4
|
+
|
|
5
|
+
file_path = sys.argv[1]
|
|
6
|
+
n_rows = int(sys.argv[2]) if len(sys.argv) > 2 else 10
|
|
7
|
+
|
|
8
|
+
root = ET.Element("rows")
|
|
9
|
+
|
|
10
|
+
with open(file_path, "r", encoding="utf-8", errors="ignore") as fh:
|
|
11
|
+
reader = csv.reader(fh)
|
|
12
|
+
for row_idx, row_data in enumerate(reader):
|
|
13
|
+
if row_idx >= n_rows:
|
|
14
|
+
break
|
|
15
|
+
row_elem = ET.SubElement(root, "row", index=str(row_idx))
|
|
16
|
+
for col_idx, cell_value in enumerate(row_data):
|
|
17
|
+
cell_elem = ET.SubElement(row_elem, "cell", column=str(col_idx))
|
|
18
|
+
cell_elem.text = cell_value if cell_value else ""
|
|
19
|
+
|
|
20
|
+
tree = ET.ElementTree(root)
|
|
21
|
+
ET.indent(tree, space=" ")
|
|
22
|
+
print('<?xml version="1.0" encoding="UTF-8"?>')
|
|
23
|
+
print(ET.tostring(root, encoding="unicode"))
|
|
24
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
import openpyxl
|
|
3
|
+
import xml.etree.ElementTree as ET
|
|
4
|
+
|
|
5
|
+
file_path = sys.argv[1]
|
|
6
|
+
n_rows = int(sys.argv[2]) if len(sys.argv) > 2 else 10
|
|
7
|
+
|
|
8
|
+
wb = openpyxl.load_workbook(file_path, read_only=True, data_only=True)
|
|
9
|
+
ws = wb.worksheets[0]
|
|
10
|
+
|
|
11
|
+
root = ET.Element("rows")
|
|
12
|
+
|
|
13
|
+
rows_printed = 0
|
|
14
|
+
for row_idx, row in enumerate(ws.iter_rows()):
|
|
15
|
+
if rows_printed >= n_rows:
|
|
16
|
+
break
|
|
17
|
+
row_elem = ET.SubElement(root, "row", index=str(row_idx))
|
|
18
|
+
|
|
19
|
+
for col_idx, cell in enumerate(row):
|
|
20
|
+
cell_elem = ET.SubElement(row_elem, "cell", column=str(col_idx))
|
|
21
|
+
cell_value = cell.value
|
|
22
|
+
cell_elem.text = str(cell_value) if cell_value is not None else ""
|
|
23
|
+
|
|
24
|
+
rows_printed += 1
|
|
25
|
+
|
|
26
|
+
tree = ET.ElementTree(root)
|
|
27
|
+
ET.indent(tree, space=" ")
|
|
28
|
+
print('<?xml version="1.0" encoding="UTF-8"?>')
|
|
29
|
+
print(ET.tostring(root, encoding="unicode"))
|
|
30
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
import csv
|
|
3
|
+
import random
|
|
4
|
+
import xml.etree.ElementTree as ET
|
|
5
|
+
|
|
6
|
+
file_path = sys.argv[1]
|
|
7
|
+
start_row = int(sys.argv[2])
|
|
8
|
+
end_row = int(sys.argv[3])
|
|
9
|
+
n_samples = int(sys.argv[4]) if len(sys.argv) > 4 else 10
|
|
10
|
+
|
|
11
|
+
root = ET.Element("rows")
|
|
12
|
+
|
|
13
|
+
with open(file_path, "r", encoding="utf-8", errors="ignore") as fh:
|
|
14
|
+
reader = csv.reader(fh)
|
|
15
|
+
all_rows = list(reader)
|
|
16
|
+
|
|
17
|
+
mid_section = all_rows[start_row:end_row]
|
|
18
|
+
|
|
19
|
+
if len(mid_section) <= n_samples:
|
|
20
|
+
sampled_with_idx = [(i, row) for i, row in enumerate(mid_section)]
|
|
21
|
+
else:
|
|
22
|
+
random.seed(42)
|
|
23
|
+
sampled_with_idx = sorted(random.sample(list(enumerate(mid_section)), n_samples), key=lambda x: x[0])
|
|
24
|
+
|
|
25
|
+
for relative_idx, row_data in sampled_with_idx:
|
|
26
|
+
actual_idx = start_row + relative_idx
|
|
27
|
+
row_elem = ET.SubElement(root, "row", index=str(actual_idx))
|
|
28
|
+
for col_idx, cell_value in enumerate(row_data):
|
|
29
|
+
cell_elem = ET.SubElement(row_elem, "cell", column=str(col_idx))
|
|
30
|
+
cell_elem.text = cell_value if cell_value else ""
|
|
31
|
+
|
|
32
|
+
tree = ET.ElementTree(root)
|
|
33
|
+
ET.indent(tree, space=" ")
|
|
34
|
+
print('<?xml version="1.0" encoding="UTF-8"?>')
|
|
35
|
+
print(ET.tostring(root, encoding="unicode"))
|
|
36
|
+
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
import random
|
|
3
|
+
import openpyxl
|
|
4
|
+
import xml.etree.ElementTree as ET
|
|
5
|
+
|
|
6
|
+
file_path = sys.argv[1]
|
|
7
|
+
start_row = int(sys.argv[2])
|
|
8
|
+
end_row = int(sys.argv[3])
|
|
9
|
+
n_samples = int(sys.argv[4]) if len(sys.argv) > 4 else 10
|
|
10
|
+
|
|
11
|
+
wb = openpyxl.load_workbook(file_path, read_only=True, data_only=True)
|
|
12
|
+
ws = wb.worksheets[0]
|
|
13
|
+
|
|
14
|
+
root = ET.Element("rows")
|
|
15
|
+
|
|
16
|
+
all_rows = list(ws.iter_rows())
|
|
17
|
+
mid_section = all_rows[start_row:end_row]
|
|
18
|
+
|
|
19
|
+
if len(mid_section) <= n_samples:
|
|
20
|
+
sampled_with_idx = [(i, row) for i, row in enumerate(mid_section)]
|
|
21
|
+
else:
|
|
22
|
+
random.seed(42)
|
|
23
|
+
indices = sorted(random.sample(range(len(mid_section)), n_samples))
|
|
24
|
+
sampled_with_idx = [(i, mid_section[i]) for i in indices]
|
|
25
|
+
|
|
26
|
+
for relative_idx, row in sampled_with_idx:
|
|
27
|
+
actual_idx = start_row + relative_idx
|
|
28
|
+
row_elem = ET.SubElement(root, "row", index=str(actual_idx))
|
|
29
|
+
|
|
30
|
+
for col_idx, cell in enumerate(row):
|
|
31
|
+
cell_elem = ET.SubElement(row_elem, "cell", column=str(col_idx))
|
|
32
|
+
cell_value = cell.value
|
|
33
|
+
cell_elem.text = str(cell_value) if cell_value is not None else ""
|
|
34
|
+
|
|
35
|
+
tree = ET.ElementTree(root)
|
|
36
|
+
ET.indent(tree, space=" ")
|
|
37
|
+
print('<?xml version="1.0" encoding="UTF-8"?>')
|
|
38
|
+
print(ET.tostring(root, encoding="unicode"))
|
|
39
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
import csv
|
|
3
|
+
import xml.etree.ElementTree as ET
|
|
4
|
+
from collections import deque
|
|
5
|
+
|
|
6
|
+
file_path = sys.argv[1]
|
|
7
|
+
n_rows = int(sys.argv[2]) if len(sys.argv) > 2 else 10
|
|
8
|
+
|
|
9
|
+
root = ET.Element("rows")
|
|
10
|
+
|
|
11
|
+
with open(file_path, "r", encoding="utf-8", errors="ignore") as fh:
|
|
12
|
+
reader = csv.reader(fh)
|
|
13
|
+
all_rows = list(reader)
|
|
14
|
+
tail_rows = all_rows[-n_rows:] if len(all_rows) > n_rows else all_rows
|
|
15
|
+
start_index = len(all_rows) - len(tail_rows)
|
|
16
|
+
|
|
17
|
+
for idx, row_data in enumerate(tail_rows):
|
|
18
|
+
row_elem = ET.SubElement(root, "row", index=str(start_index + idx))
|
|
19
|
+
for col_idx, cell_value in enumerate(row_data):
|
|
20
|
+
cell_elem = ET.SubElement(row_elem, "cell", column=str(col_idx))
|
|
21
|
+
cell_elem.text = cell_value if cell_value else ""
|
|
22
|
+
|
|
23
|
+
tree = ET.ElementTree(root)
|
|
24
|
+
ET.indent(tree, space=" ")
|
|
25
|
+
print('<?xml version="1.0" encoding="UTF-8"?>')
|
|
26
|
+
print(ET.tostring(root, encoding="unicode"))
|
|
27
|
+
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
import openpyxl
|
|
3
|
+
import xml.etree.ElementTree as ET
|
|
4
|
+
|
|
5
|
+
file_path = sys.argv[1]
|
|
6
|
+
n_rows = int(sys.argv[2]) if len(sys.argv) > 2 else 10
|
|
7
|
+
|
|
8
|
+
wb = openpyxl.load_workbook(file_path, read_only=True, data_only=True)
|
|
9
|
+
ws = wb.worksheets[0]
|
|
10
|
+
|
|
11
|
+
root = ET.Element("rows")
|
|
12
|
+
|
|
13
|
+
all_rows = list(ws.iter_rows())
|
|
14
|
+
tail_rows = all_rows[-n_rows:] if len(all_rows) > n_rows else all_rows
|
|
15
|
+
start_index = len(all_rows) - len(tail_rows)
|
|
16
|
+
|
|
17
|
+
for idx, row in enumerate(tail_rows):
|
|
18
|
+
row_elem = ET.SubElement(root, "row", index=str(start_index + idx))
|
|
19
|
+
|
|
20
|
+
for col_idx, cell in enumerate(row):
|
|
21
|
+
cell_elem = ET.SubElement(row_elem, "cell", column=str(col_idx))
|
|
22
|
+
cell_value = cell.value
|
|
23
|
+
cell_elem.text = str(cell_value) if cell_value is not None else ""
|
|
24
|
+
|
|
25
|
+
tree = ET.ElementTree(root)
|
|
26
|
+
ET.indent(tree, space=" ")
|
|
27
|
+
print('<?xml version="1.0" encoding="UTF-8"?>')
|
|
28
|
+
print(ET.tostring(root, encoding="unicode"))
|
|
29
|
+
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./domain";
|
|
2
|
+
export * from "./schema";
|
|
3
|
+
export * from "./service";
|
|
4
|
+
export * from "./clearDataset.tool";
|
|
5
|
+
export * from "./completeDataset.tool";
|
|
6
|
+
export * from "./executeCommand.tool";
|
|
7
|
+
export * from "./datasetFiles";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA"}
|