@vertesia/build-tools 0.80.0 → 0.80.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/lib/build-tools.js +286 -8
  2. package/lib/build-tools.js.map +1 -1
  3. package/lib/cjs/index.js +6 -1
  4. package/lib/cjs/index.js.map +1 -1
  5. package/lib/cjs/plugin.js +14 -6
  6. package/lib/cjs/plugin.js.map +1 -1
  7. package/lib/cjs/presets/index.js +8 -1
  8. package/lib/cjs/presets/index.js.map +1 -1
  9. package/lib/cjs/presets/prompt.js +203 -0
  10. package/lib/cjs/presets/prompt.js.map +1 -0
  11. package/lib/cjs/presets/skill-collection.js +83 -0
  12. package/lib/cjs/presets/skill-collection.js.map +1 -0
  13. package/lib/esm/index.js +1 -1
  14. package/lib/esm/index.js.map +1 -1
  15. package/lib/esm/plugin.js +14 -6
  16. package/lib/esm/plugin.js.map +1 -1
  17. package/lib/esm/presets/index.js +2 -0
  18. package/lib/esm/presets/index.js.map +1 -1
  19. package/lib/esm/presets/prompt.js +197 -0
  20. package/lib/esm/presets/prompt.js.map +1 -0
  21. package/lib/esm/presets/skill-collection.js +77 -0
  22. package/lib/esm/presets/skill-collection.js.map +1 -0
  23. package/lib/types/index.d.ts +1 -1
  24. package/lib/types/index.d.ts.map +1 -1
  25. package/lib/types/plugin.d.ts.map +1 -1
  26. package/lib/types/presets/index.d.ts +2 -0
  27. package/lib/types/presets/index.d.ts.map +1 -1
  28. package/lib/types/presets/prompt.d.ts +77 -0
  29. package/lib/types/presets/prompt.d.ts.map +1 -0
  30. package/lib/types/presets/skill-collection.d.ts +26 -0
  31. package/lib/types/presets/skill-collection.d.ts.map +1 -0
  32. package/lib/types/types.d.ts +2 -0
  33. package/lib/types/types.d.ts.map +1 -1
  34. package/package.json +1 -1
  35. package/src/index.ts +8 -1
  36. package/src/plugin.ts +14 -6
  37. package/src/presets/index.ts +2 -0
  38. package/src/presets/prompt.ts +242 -0
  39. package/src/presets/skill-collection.ts +86 -0
  40. package/src/types.ts +3 -0
package/lib/cjs/plugin.js CHANGED
@@ -36,7 +36,13 @@ function vertesiaImportPlugin(config) {
36
36
  // Handle relative imports
37
37
  if (source.startsWith('.') && importer) {
38
38
  const cleanSource = source.replace(transformer.pattern, '');
39
- const resolved = node_path_1.default.resolve(node_path_1.default.dirname(importer), cleanSource);
39
+ // Strip query parameters from importer to get the file path
40
+ const cleanImporter = importer.indexOf('?') >= 0
41
+ ? importer.substring(0, importer.indexOf('?'))
42
+ : importer;
43
+ // Always use dirname to get the directory containing the importer
44
+ const baseDir = node_path_1.default.dirname(cleanImporter);
45
+ const resolved = node_path_1.default.resolve(baseDir, cleanSource);
40
46
  // Return with the pattern suffix to identify it in load
41
47
  const suffix = source.match(transformer.pattern)?.[0] || '';
42
48
  return resolved + suffix;
@@ -68,8 +74,10 @@ function vertesiaImportPlugin(config) {
68
74
  return null; // Not for us
69
75
  }
70
76
  try {
71
- // Read file content
72
- const content = (0, node_fs_1.readFileSync)(cleanId, 'utf-8');
77
+ // Read file content (skip for virtual transforms)
78
+ const content = matchedTransformer.virtual
79
+ ? ''
80
+ : (0, node_fs_1.readFileSync)(cleanId, 'utf-8');
73
81
  // Transform the content
74
82
  const result = await matchedTransformer.transform(content, cleanId);
75
83
  // Collect assets if any
@@ -91,13 +99,13 @@ function vertesiaImportPlugin(config) {
91
99
  }
92
100
  }
93
101
  // Generate code
102
+ const imports = result.imports ? result.imports.join('\n') + '\n\n' : '';
94
103
  if (result.code) {
95
- // Custom code provided
96
- return result.code;
104
+ // Custom code provided - prepend imports
105
+ return imports + result.code;
97
106
  }
98
107
  else {
99
108
  // Default: export data (escape if string, otherwise stringify as JSON)
100
- const imports = result.imports ? result.imports.join('\n') + '\n\n' : '';
101
109
  const dataJson = JSON.stringify(result.data, null, 2);
102
110
  return `${imports}export default ${dataJson};`;
103
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,17 @@
3
3
  * Preset transformers for common use cases
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.rawTransformer = exports.SkillDefinitionSchema = exports.skillTransformer = void 0;
6
+ exports.TemplateType = exports.PromptRole = exports.PromptDefinitionSchema = exports.promptTransformer = exports.rawTransformer = exports.skillCollectionTransformer = exports.SkillDefinitionSchema = exports.skillTransformer = void 0;
7
7
  var skill_js_1 = require("./skill.js");
8
8
  Object.defineProperty(exports, "skillTransformer", { enumerable: true, get: function () { return skill_js_1.skillTransformer; } });
9
9
  Object.defineProperty(exports, "SkillDefinitionSchema", { enumerable: true, get: function () { return skill_js_1.SkillDefinitionSchema; } });
10
+ var skill_collection_js_1 = require("./skill-collection.js");
11
+ Object.defineProperty(exports, "skillCollectionTransformer", { enumerable: true, get: function () { return skill_collection_js_1.skillCollectionTransformer; } });
10
12
  var raw_js_1 = require("./raw.js");
11
13
  Object.defineProperty(exports, "rawTransformer", { enumerable: true, get: function () { return raw_js_1.rawTransformer; } });
14
+ var prompt_js_1 = require("./prompt.js");
15
+ Object.defineProperty(exports, "promptTransformer", { enumerable: true, get: function () { return prompt_js_1.promptTransformer; } });
16
+ Object.defineProperty(exports, "PromptDefinitionSchema", { enumerable: true, get: function () { return prompt_js_1.PromptDefinitionSchema; } });
17
+ Object.defineProperty(exports, "PromptRole", { enumerable: true, get: function () { return prompt_js_1.PromptRole; } });
18
+ Object.defineProperty(exports, "TemplateType", { enumerable: true, get: function () { return prompt_js_1.TemplateType; } });
12
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/presets/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uCAAkH;AAAzG,4GAAA,gBAAgB,OAAA;AAAE,iHAAA,qBAAqB,OAAA;AAChD,mCAA0C;AAAjC,wGAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/presets/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uCAAkH;AAAzG,4GAAA,gBAAgB,OAAA;AAAE,iHAAA,qBAAqB,OAAA;AAChD,6DAAmE;AAA1D,iIAAA,0BAA0B,OAAA;AACnC,mCAA0C;AAAjC,wGAAA,cAAc,OAAA;AACvB,yCAAiJ;AAAxI,8GAAA,iBAAiB,OAAA;AAAE,mHAAA,sBAAsB,OAAA;AAAiD,uGAAA,UAAU,OAAA;AAAE,yGAAA,YAAY,OAAA"}
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+ /**
3
+ * Prompt transformer preset for template files with frontmatter
4
+ * Supports .jst, .hbs, and plain text files
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.promptTransformer = exports.PromptDefinitionSchema = exports.PromptRole = exports.TemplateType = void 0;
11
+ const zod_1 = require("zod");
12
+ const frontmatter_js_1 = require("../parsers/frontmatter.js");
13
+ const path_1 = __importDefault(require("path"));
14
+ /**
15
+ * Template type for prompt content
16
+ * MUST match TemplateType from @vertesia/common
17
+ */
18
+ var TemplateType;
19
+ (function (TemplateType) {
20
+ TemplateType["jst"] = "jst";
21
+ TemplateType["handlebars"] = "handlebars";
22
+ TemplateType["text"] = "text";
23
+ })(TemplateType || (exports.TemplateType = TemplateType = {}));
24
+ /**
25
+ * Prompt role enum
26
+ * MUST match PromptRole from @llumiverse/common
27
+ */
28
+ var PromptRole;
29
+ (function (PromptRole) {
30
+ PromptRole["safety"] = "safety";
31
+ PromptRole["system"] = "system";
32
+ PromptRole["user"] = "user";
33
+ PromptRole["assistant"] = "assistant";
34
+ PromptRole["negative"] = "negative";
35
+ })(PromptRole || (exports.PromptRole = PromptRole = {}));
36
+ /**
37
+ * Zod schema for prompt frontmatter validation
38
+ */
39
+ const PromptFrontmatterSchema = zod_1.z.object({
40
+ // Required fields
41
+ role: zod_1.z.nativeEnum(PromptRole, {
42
+ errorMap: () => ({ message: 'Role must be one of: safety, system, user, assistant, negative' })
43
+ }),
44
+ // Optional fields
45
+ content_type: zod_1.z.nativeEnum(TemplateType).optional(),
46
+ schema: zod_1.z.string().optional(),
47
+ name: zod_1.z.string().optional(),
48
+ externalId: zod_1.z.string().optional(),
49
+ }).strict();
50
+ /**
51
+ * MUST be kept in sync with @vertesia/common InCodePrompt
52
+ * Zod schema for prompt definition
53
+ */
54
+ exports.PromptDefinitionSchema = zod_1.z.object({
55
+ role: zod_1.z.nativeEnum(PromptRole),
56
+ content: zod_1.z.string(),
57
+ content_type: zod_1.z.nativeEnum(TemplateType),
58
+ schema: zod_1.z.any().optional(),
59
+ name: zod_1.z.string().optional(),
60
+ externalId: zod_1.z.string().optional(),
61
+ });
62
+ /**
63
+ * Normalize schema path for import
64
+ * - Adds './' prefix if not a relative path
65
+ * - Replaces .ts with .js
66
+ * - Adds .js if no extension
67
+ *
68
+ * @param schemaPath - Original schema path from frontmatter
69
+ * @returns Normalized path for ES module import
70
+ */
71
+ function normalizeSchemaPath(schemaPath) {
72
+ let normalized = schemaPath.trim();
73
+ // Add './' prefix if not already a relative path
74
+ if (!normalized.startsWith('.')) {
75
+ normalized = './' + normalized;
76
+ }
77
+ // Get the extension
78
+ const ext = path_1.default.extname(normalized);
79
+ if (ext === '.ts') {
80
+ // Replace .ts with .js
81
+ normalized = normalized.slice(0, -3) + '.js';
82
+ }
83
+ else if (!ext) {
84
+ // No extension, add .js
85
+ normalized = normalized + '.js';
86
+ }
87
+ // If extension is already .js or something else, leave as is
88
+ return normalized;
89
+ }
90
+ /**
91
+ * Infer content type from file extension
92
+ *
93
+ * @param filePath - Path to the prompt file
94
+ * @returns Inferred content type
95
+ */
96
+ function inferContentType(filePath) {
97
+ const ext = path_1.default.extname(filePath).toLowerCase();
98
+ switch (ext) {
99
+ case '.jst':
100
+ return TemplateType.jst;
101
+ case '.hbs':
102
+ return TemplateType.handlebars;
103
+ default:
104
+ return TemplateType.text;
105
+ }
106
+ }
107
+ /**
108
+ * Build a PromptDefinition from frontmatter and content
109
+ *
110
+ * @param frontmatter - Parsed frontmatter object
111
+ * @param content - Prompt content (body of the file)
112
+ * @param filePath - Path to the prompt file (for content type inference)
113
+ * @returns Prompt definition object and optional imports
114
+ */
115
+ function buildPromptDefinition(frontmatter, content, filePath) {
116
+ // Determine content type from frontmatter or file extension
117
+ const content_type = frontmatter.content_type || inferContentType(filePath);
118
+ const prompt = {
119
+ role: frontmatter.role,
120
+ content,
121
+ content_type,
122
+ };
123
+ // Add optional fields
124
+ if (frontmatter.name) {
125
+ prompt.name = frontmatter.name;
126
+ }
127
+ if (frontmatter.externalId) {
128
+ prompt.externalId = frontmatter.externalId;
129
+ }
130
+ // Handle schema import if specified
131
+ let imports;
132
+ let schemaImportName;
133
+ if (frontmatter.schema) {
134
+ const normalizedPath = normalizeSchemaPath(frontmatter.schema);
135
+ schemaImportName = '__promptSchema';
136
+ imports = [`import ${schemaImportName} from '${normalizedPath}';`];
137
+ }
138
+ return { prompt, imports, schemaImportName };
139
+ }
140
+ /**
141
+ * Prompt transformer preset
142
+ * Transforms template files with ?prompt suffix into prompt definition objects
143
+ *
144
+ * Supported file types:
145
+ * - .jst (JavaScript template literals) → content_type: 'jst'
146
+ * - .hbs (Handlebars templates) → content_type: 'handlebars'
147
+ * - .txt or other → content_type: 'text'
148
+ *
149
+ * @example
150
+ * ```typescript
151
+ * import PROMPT from './prompt.hbs?prompt';
152
+ * // PROMPT is an InCodePrompt object
153
+ * ```
154
+ */
155
+ exports.promptTransformer = {
156
+ pattern: /\?prompt$/,
157
+ schema: exports.PromptDefinitionSchema,
158
+ transform: (content, filePath) => {
159
+ const { frontmatter, content: promptContent } = (0, frontmatter_js_1.parseFrontmatter)(content);
160
+ // Validate frontmatter
161
+ const frontmatterValidation = PromptFrontmatterSchema.safeParse(frontmatter);
162
+ if (!frontmatterValidation.success) {
163
+ const errors = frontmatterValidation.error.errors
164
+ .map((err) => {
165
+ const path = err.path.length > 0 ? err.path.join('.') : 'frontmatter';
166
+ return ` - ${path}: ${err.message}`;
167
+ })
168
+ .join('\n');
169
+ throw new Error(`Invalid frontmatter in ${filePath}:\n${errors}`);
170
+ }
171
+ // Build prompt definition
172
+ const { prompt, imports, schemaImportName } = buildPromptDefinition(frontmatter, promptContent, filePath);
173
+ // If schema is specified, generate custom code with schema reference
174
+ if (schemaImportName) {
175
+ // Build the code manually to avoid JSON.stringify issues with schema reference
176
+ const lines = [
177
+ 'export default {',
178
+ ` role: "${prompt.role}",`,
179
+ ` content: ${JSON.stringify(prompt.content)},`,
180
+ ` content_type: "${prompt.content_type}",`,
181
+ ` schema: ${schemaImportName}`,
182
+ ];
183
+ if (prompt.name) {
184
+ lines.splice(4, 0, ` name: ${JSON.stringify(prompt.name)},`);
185
+ }
186
+ if (prompt.externalId) {
187
+ lines.splice(4, 0, ` externalId: ${JSON.stringify(prompt.externalId)},`);
188
+ }
189
+ lines.push('};');
190
+ const code = lines.join('\n');
191
+ return {
192
+ data: prompt,
193
+ imports,
194
+ code,
195
+ };
196
+ }
197
+ // Standard case without schema
198
+ return {
199
+ data: prompt,
200
+ };
201
+ }
202
+ };
203
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/presets/prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ /**
3
+ * Skill collection transformer for directory-based skill imports
4
+ * Scans a directory for subdirectories containing SKILL.md files
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.skillCollectionTransformer = void 0;
11
+ const node_fs_1 = require("node:fs");
12
+ const node_path_1 = __importDefault(require("node:path"));
13
+ /**
14
+ * Skill collection transformer preset
15
+ * Transforms directory imports with ?skills suffix into an array of skill imports
16
+ *
17
+ * Matches:
18
+ * - ./all?skills (recommended - generates all.js in the directory)
19
+ * - ./_skills?skills (generates _skills.js in the directory)
20
+ * - Any path ending with a filename and ?skills
21
+ *
22
+ * NOTE: A filename before ?skills is REQUIRED to avoid naming conflicts.
23
+ * The filename becomes the output module name.
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * import skills from './all?skills';
28
+ * // Scans current directory for subdirectories with SKILL.md
29
+ * // Generates all.js containing array of all skills
30
+ * ```
31
+ */
32
+ exports.skillCollectionTransformer = {
33
+ pattern: /\/[^/?]+\?skills$/,
34
+ virtual: true, // Indicates this doesn't transform a real file
35
+ transform: (_content, filePath) => {
36
+ // Remove ?skills suffix and the filename to get directory path
37
+ // Example: /path/code/all?skills -> /path/code/all -> /path/code/
38
+ const pathWithoutQuery = filePath.replace(/\?skills$/, '');
39
+ const dirPath = node_path_1.default.dirname(pathWithoutQuery);
40
+ if (!(0, node_fs_1.existsSync)(dirPath)) {
41
+ throw new Error(`Directory not found: ${dirPath}`);
42
+ }
43
+ if (!(0, node_fs_1.statSync)(dirPath).isDirectory()) {
44
+ throw new Error(`Not a directory: ${dirPath}`);
45
+ }
46
+ // Scan for subdirectories containing SKILL.md
47
+ const entries = (0, node_fs_1.readdirSync)(dirPath);
48
+ const imports = [];
49
+ const names = [];
50
+ for (const entry of entries) {
51
+ const entryPath = node_path_1.default.join(dirPath, entry);
52
+ try {
53
+ if ((0, node_fs_1.statSync)(entryPath).isDirectory()) {
54
+ const skillFile = node_path_1.default.join(entryPath, 'SKILL.md');
55
+ if ((0, node_fs_1.existsSync)(skillFile)) {
56
+ // Generate unique identifier from directory name
57
+ const identifier = `Skill_${entry.replace(/[^a-zA-Z0-9_]/g, '_')}`;
58
+ imports.push(`import ${identifier} from './${entry}/SKILL.md';`);
59
+ names.push(identifier);
60
+ }
61
+ }
62
+ }
63
+ catch (err) {
64
+ // Skip entries that can't be read
65
+ continue;
66
+ }
67
+ }
68
+ if (names.length === 0) {
69
+ console.warn(`No SKILL.md files found in subdirectories of ${dirPath}`);
70
+ }
71
+ // Generate code that imports all skills and exports as array
72
+ const code = [
73
+ ...imports,
74
+ '',
75
+ `export default [${names.join(', ')}];`
76
+ ].join('\n');
77
+ return {
78
+ data: null, // Not used when custom code is provided
79
+ code
80
+ };
81
+ }
82
+ };
83
+ //# sourceMappingURL=skill-collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-collection.js","sourceRoot":"","sources":["../../../src/presets/skill-collection.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAEH,qCAA4D;AAC5D,0DAA6B;AAG7B;;;;;;;;;;;;;;;;;;GAkBG;AACU,QAAA,0BAA0B,GAAsB;IACzD,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,IAAI,EAAE,+CAA+C;IAC9D,SAAS,EAAE,CAAC,QAAgB,EAAE,QAAgB,EAAE,EAAE;QAC9C,+DAA+D;QAC/D,kEAAkE;QAClE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,mBAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAE/C,IAAI,CAAC,IAAA,oBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,IAAA,kBAAQ,EAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,8CAA8C;QAC9C,MAAM,OAAO,GAAG,IAAA,qBAAW,EAAC,OAAO,CAAC,CAAC;QACrC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAE5C,IAAI,CAAC;gBACD,IAAI,IAAA,kBAAQ,EAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;oBACpC,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBACnD,IAAI,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;wBACxB,iDAAiD;wBACjD,MAAM,UAAU,GAAG,SAAS,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC;wBACnE,OAAO,CAAC,IAAI,CAAC,UAAU,UAAU,YAAY,KAAK,aAAa,CAAC,CAAC;wBACjE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC3B,CAAC;gBACL,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,kCAAkC;gBAClC,SAAS;YACb,CAAC;QACL,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,gDAAgD,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,6DAA6D;QAC7D,MAAM,IAAI,GAAG;YACT,GAAG,OAAO;YACV,EAAE;YACF,mBAAmB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;SAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO;YACH,IAAI,EAAE,IAAI,EAAE,wCAAwC;YACpD,IAAI;SACP,CAAC;IACN,CAAC;CACJ,CAAC"}
package/lib/esm/index.js CHANGED
@@ -20,7 +20,7 @@
20
20
  // Core plugin
21
21
  export { vertesiaImportPlugin } from './plugin.js';
22
22
  // Presets
23
- export { skillTransformer, rawTransformer, SkillDefinitionSchema } from './presets/index.js';
23
+ export { skillTransformer, rawTransformer, skillCollectionTransformer, promptTransformer, SkillDefinitionSchema, PromptDefinitionSchema, PromptRole, TemplateType } from './presets/index.js';
24
24
  // Utilities
25
25
  export { parseFrontmatter } from './parsers/frontmatter.js';
26
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,cAAc;AACd,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAanD,UAAU;AACV,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EAGxB,MAAM,oBAAoB,CAAC;AAE5B,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAA0B,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,cAAc;AACd,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAanD,UAAU;AACV,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,0BAA0B,EAC1B,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EAKtB,UAAU,EACV,YAAY,EACf,MAAM,oBAAoB,CAAC;AAE5B,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAA0B,MAAM,0BAA0B,CAAC"}
package/lib/esm/plugin.js CHANGED
@@ -30,7 +30,13 @@ export function vertesiaImportPlugin(config) {
30
30
  // Handle relative imports
31
31
  if (source.startsWith('.') && importer) {
32
32
  const cleanSource = source.replace(transformer.pattern, '');
33
- const resolved = path.resolve(path.dirname(importer), cleanSource);
33
+ // Strip query parameters from importer to get the file path
34
+ const cleanImporter = importer.indexOf('?') >= 0
35
+ ? importer.substring(0, importer.indexOf('?'))
36
+ : importer;
37
+ // Always use dirname to get the directory containing the importer
38
+ const baseDir = path.dirname(cleanImporter);
39
+ const resolved = path.resolve(baseDir, cleanSource);
34
40
  // Return with the pattern suffix to identify it in load
35
41
  const suffix = source.match(transformer.pattern)?.[0] || '';
36
42
  return resolved + suffix;
@@ -62,8 +68,10 @@ export function vertesiaImportPlugin(config) {
62
68
  return null; // Not for us
63
69
  }
64
70
  try {
65
- // Read file content
66
- const content = readFileSync(cleanId, 'utf-8');
71
+ // Read file content (skip for virtual transforms)
72
+ const content = matchedTransformer.virtual
73
+ ? ''
74
+ : readFileSync(cleanId, 'utf-8');
67
75
  // Transform the content
68
76
  const result = await matchedTransformer.transform(content, cleanId);
69
77
  // Collect assets if any
@@ -85,13 +93,13 @@ export function vertesiaImportPlugin(config) {
85
93
  }
86
94
  }
87
95
  // Generate code
96
+ const imports = result.imports ? result.imports.join('\n') + '\n\n' : '';
88
97
  if (result.code) {
89
- // Custom code provided
90
- return result.code;
98
+ // Custom code provided - prepend imports
99
+ return imports + result.code;
91
100
  }
92
101
  else {
93
102
  // Default: export data (escape if string, otherwise stringify as JSON)
94
- const imports = result.imports ? result.imports.join('\n') + '\n\n' : '';
95
103
  const dataJson = JSON.stringify(result.data, null, 2);
96
104
  return `${imports}export default ${dataJson};`;
97
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,7 @@
2
2
  * Preset transformers for common use cases
3
3
  */
4
4
  export { skillTransformer, SkillDefinitionSchema } from './skill.js';
5
+ export { skillCollectionTransformer } from './skill-collection.js';
5
6
  export { rawTransformer } from './raw.js';
7
+ export { promptTransformer, PromptDefinitionSchema, PromptRole, TemplateType } from './prompt.js';
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/presets/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAA+C,MAAM,YAAY,CAAC;AAClH,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/presets/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAA+C,MAAM,YAAY,CAAC;AAClH,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAiD,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}