@vertesia/build-tools 1.5.0-dev.20260714.072725Z → 1.5.0-dev.20260722.120446Z
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/core/transformers/prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,KAAK,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/core/transformers/prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,KAAK,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAoB7C;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;iBAOjC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAiHtE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBA6D/B,CAAC"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import path from 'node:path';
|
|
6
6
|
import { PromptRole } from '@llumiverse/common';
|
|
7
7
|
import { TemplateType } from '@vertesia/common';
|
|
8
|
+
import { executeHandlebars } from '@vertesia/studio-utils';
|
|
8
9
|
import { z } from 'zod';
|
|
9
10
|
import { parseFrontmatter } from '../parsers/frontmatter.js';
|
|
10
11
|
/**
|
|
@@ -117,6 +118,17 @@ function buildPromptDefinition(frontmatter, content, filePath) {
|
|
|
117
118
|
}
|
|
118
119
|
return { prompt, imports, schemaImportName };
|
|
119
120
|
}
|
|
121
|
+
function validatePromptContent(content, contentType, filePath) {
|
|
122
|
+
if (contentType !== TemplateType.handlebars) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const result = executeHandlebars(content, {}, {});
|
|
126
|
+
if (!result.success) {
|
|
127
|
+
throw new Error(`Invalid Handlebars prompt in ${filePath}: ${result.error}\n\n` +
|
|
128
|
+
'Supported helpers are: _now, stringify, and standard block helpers if/each/with/unless. ' +
|
|
129
|
+
'For array formatting, use {{#each items}}...{{/each}} rather than an unregistered helper such as {{join items ", "}}.');
|
|
130
|
+
}
|
|
131
|
+
}
|
|
120
132
|
/**
|
|
121
133
|
* Prompt transformer preset
|
|
122
134
|
* Transforms template files with ?prompt suffix into prompt definition objects
|
|
@@ -151,6 +163,7 @@ export const promptTransformer = {
|
|
|
151
163
|
const validatedFrontmatter = frontmatterValidation.data;
|
|
152
164
|
// Build prompt definition
|
|
153
165
|
const { prompt, imports, schemaImportName } = buildPromptDefinition(validatedFrontmatter, promptContent, filePath);
|
|
166
|
+
validatePromptContent(prompt.content, prompt.content_type, filePath);
|
|
154
167
|
// If schema is specified, generate custom code with schema reference
|
|
155
168
|
if (schemaImportName) {
|
|
156
169
|
// Build the code manually to avoid JSON.stringify issues with schema reference
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/core/transformers/prompt.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/core/transformers/prompt.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vertesia/build-tools",
|
|
3
|
-
"version": "1.5.0-dev.
|
|
3
|
+
"version": "1.5.0-dev.20260722.120446Z",
|
|
4
4
|
"description": "Build tools for Vertesia projects - import transformers (skill / template / prompt / raw), esbuild widget bundler, vertesia-build CLI, and a Vite dev plugin",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -24,24 +24,30 @@
|
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@hono/node-server": "^2.0.
|
|
27
|
+
"@hono/node-server": "^2.0.9",
|
|
28
28
|
"@types/js-yaml": "^4.0.9",
|
|
29
|
-
"@types/node": "^24.13.
|
|
29
|
+
"@types/node": "^24.13.3",
|
|
30
30
|
"typescript": "^6.0.3",
|
|
31
|
-
"vite": "8.1.
|
|
32
|
-
"vitest": "^4.1.
|
|
31
|
+
"vite": "8.1.4",
|
|
32
|
+
"vitest": "^4.1.10",
|
|
33
33
|
"@vertesia/tsconfig": "0.1.0"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
+
"@rollup/plugin-commonjs": "^28.0.3",
|
|
37
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
38
|
+
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
39
|
+
"@rollup/plugin-terser": "^0.4.4",
|
|
40
|
+
"@rollup/plugin-typescript": "^12.1.2",
|
|
36
41
|
"esbuild": "^0.28.1",
|
|
37
|
-
"js-yaml": "^5.2.
|
|
42
|
+
"js-yaml": "^5.2.1",
|
|
38
43
|
"zod": "^4.4.3",
|
|
39
|
-
"@llumiverse/common": "1.5.0-dev.
|
|
40
|
-
"@vertesia/common": "1.5.0-dev.
|
|
44
|
+
"@llumiverse/common": "1.5.0-dev.20260722.112223Z",
|
|
45
|
+
"@vertesia/common": "1.5.0-dev.20260722.120446Z",
|
|
46
|
+
"@vertesia/studio-utils": "1.5.0-dev.20260722.120446Z"
|
|
41
47
|
},
|
|
42
48
|
"peerDependencies": {
|
|
43
|
-
"@hono/node-server": "^2.0.
|
|
44
|
-
"vite": "^8.1.
|
|
49
|
+
"@hono/node-server": "^2.0.9",
|
|
50
|
+
"vite": "^8.1.4"
|
|
45
51
|
},
|
|
46
52
|
"peerDependenciesMeta": {
|
|
47
53
|
"@hono/node-server": {
|
|
@@ -72,6 +78,7 @@
|
|
|
72
78
|
"zod",
|
|
73
79
|
"validation"
|
|
74
80
|
],
|
|
81
|
+
"gitHead": "203c30e5a8ddc583ac9f1acce0f5445eb38a9551",
|
|
75
82
|
"scripts": {
|
|
76
83
|
"lint": "biome lint src",
|
|
77
84
|
"test": "vitest run",
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import path from 'node:path';
|
|
7
7
|
import { PromptRole } from '@llumiverse/common';
|
|
8
8
|
import { type JSONSchema, TemplateType } from '@vertesia/common';
|
|
9
|
+
import { executeHandlebars } from '@vertesia/studio-utils';
|
|
9
10
|
import { z } from 'zod';
|
|
10
11
|
import { parseFrontmatter } from '../parsers/frontmatter.js';
|
|
11
12
|
import type { TransformerPreset } from '../types.js';
|
|
@@ -152,6 +153,21 @@ function buildPromptDefinition(
|
|
|
152
153
|
return { prompt, imports, schemaImportName };
|
|
153
154
|
}
|
|
154
155
|
|
|
156
|
+
function validatePromptContent(content: string, contentType: TemplateType, filePath: string): void {
|
|
157
|
+
if (contentType !== TemplateType.handlebars) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
const result = executeHandlebars(content, {}, {});
|
|
162
|
+
if (!result.success) {
|
|
163
|
+
throw new Error(
|
|
164
|
+
`Invalid Handlebars prompt in ${filePath}: ${result.error}\n\n` +
|
|
165
|
+
'Supported helpers are: _now, stringify, and standard block helpers if/each/with/unless. ' +
|
|
166
|
+
'For array formatting, use {{#each items}}...{{/each}} rather than an unregistered helper such as {{join items ", "}}.',
|
|
167
|
+
);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
155
171
|
/**
|
|
156
172
|
* Prompt transformer preset
|
|
157
173
|
* Transforms template files with ?prompt suffix into prompt definition objects
|
|
@@ -193,6 +209,7 @@ export const promptTransformer: TransformerPreset = {
|
|
|
193
209
|
promptContent,
|
|
194
210
|
filePath,
|
|
195
211
|
);
|
|
212
|
+
validatePromptContent(prompt.content, prompt.content_type, filePath);
|
|
196
213
|
|
|
197
214
|
// If schema is specified, generate custom code with schema reference
|
|
198
215
|
if (schemaImportName) {
|