@manifesto-ai/compiler 1.4.1 → 1.6.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/README.md CHANGED
@@ -1,8 +1,5 @@
1
1
  # @manifesto-ai/compiler
2
2
 
3
- > **Status:** Deprecated (v2 focuses on Core/Host/World/App). This package is legacy and may be removed.
4
-
5
-
6
3
  > **Compiler** translates MEL (Manifesto Expression Language) into DomainSchema for Manifesto Core.
7
4
 
8
5
  ---
@@ -49,6 +46,46 @@ pnpm add -D @manifesto-ai/compiler
49
46
 
50
47
  ---
51
48
 
49
+ ## Bundler Integrations (Subpath Exports)
50
+
51
+ Use subpath exports to load `.mel` files directly.
52
+
53
+ ### Vite
54
+
55
+ ```typescript
56
+ import { defineConfig } from "vite";
57
+ import { melPlugin } from "@manifesto-ai/compiler/vite";
58
+
59
+ export default defineConfig({
60
+ plugins: [melPlugin()],
61
+ });
62
+ ```
63
+
64
+ ### Node / tsx Loader
65
+
66
+ ```bash
67
+ npx tsx --loader @manifesto-ai/compiler/loader main.ts
68
+ ```
69
+
70
+ ### Webpack
71
+
72
+ ```javascript
73
+ module.exports = {
74
+ module: {
75
+ rules: [
76
+ {
77
+ test: /\.mel$/,
78
+ use: "@manifesto-ai/compiler/loader",
79
+ },
80
+ ],
81
+ },
82
+ };
83
+ ```
84
+
85
+ `vite` and `webpack` are managed as optional peer dependencies for adapter compatibility.
86
+
87
+ ---
88
+
52
89
  ## CLI Usage
53
90
 
54
91
  ```bash
package/dist/index.d.ts CHANGED
@@ -13,4 +13,5 @@ export { renderTypeExpr, renderTypeField, renderValue, renderExprNode, renderPat
13
13
  export * from "./lowering/index.js";
14
14
  export * from "./evaluation/index.js";
15
15
  export * from "./api/index.js";
16
+ export type { DomainSchema as DomainModule } from "./generator/ir.js";
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,cAAc,kBAAkB,CAAC;AAMjC,cAAc,mBAAmB,CAAC;AAMlC,cAAc,qBAAqB,CAAC;AAMpC,cAAc,wBAAwB,CAAC;AAMvC,cAAc,sBAAsB,CAAC;AAOrC,OAAO,EACL,cAAc,EACd,eAAe,EACf,WAAW,EACX,cAAc,EACd,aAAa,EACb,eAAe,EACf,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,QAAQ,IAAI,gBAAgB,EACjC,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC;AAM7B,cAAc,qBAAqB,CAAC;AAMpC,cAAc,uBAAuB,CAAC;AAMtC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,cAAc,kBAAkB,CAAC;AAMjC,cAAc,mBAAmB,CAAC;AAMlC,cAAc,qBAAqB,CAAC;AAMpC,cAAc,wBAAwB,CAAC;AAMvC,cAAc,sBAAsB,CAAC;AAOrC,OAAO,EACL,cAAc,EACd,eAAe,EACf,WAAW,EACX,cAAc,EACd,aAAa,EACb,eAAe,EACf,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,QAAQ,IAAI,gBAAgB,EACjC,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC;AAM7B,cAAc,qBAAqB,CAAC;AAMpC,cAAc,uBAAuB,CAAC;AAMtC,cAAc,gBAAgB,CAAC;AAG/B,YAAY,EAAE,YAAY,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * MEL Loader
3
+ *
4
+ * This module intentionally supports two environments:
5
+ * 1) Node ESM loader hooks (`resolve`, `load`) for `node --loader` / `tsx --loader`
6
+ * 2) Webpack loader default export (`use: "@manifesto-ai/compiler/loader"`)
7
+ */
8
+ import type { LoadHook, ResolveHook } from "node:module";
9
+ import type { LoaderContext } from "webpack";
10
+ /**
11
+ * Node loader resolve hook.
12
+ */
13
+ export declare const resolve: ResolveHook;
14
+ /**
15
+ * Node loader load hook.
16
+ */
17
+ export declare const load: LoadHook;
18
+ /**
19
+ * Webpack loader default export.
20
+ */
21
+ export default function melWebpackLoader(this: LoaderContext<unknown>, source: string | Buffer): string;
22
+ export declare const raw = false;
23
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAqB7C;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,WAOrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,QAalB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAC5B,MAAM,EAAE,MAAM,GAAG,MAAM,GACtB,MAAM,CAKR;AAED,eAAO,MAAM,GAAG,QAAQ,CAAC"}
package/dist/loader.js ADDED
@@ -0,0 +1,62 @@
1
+ /**
2
+ * MEL Loader
3
+ *
4
+ * This module intentionally supports two environments:
5
+ * 1) Node ESM loader hooks (`resolve`, `load`) for `node --loader` / `tsx --loader`
6
+ * 2) Webpack loader default export (`use: "@manifesto-ai/compiler/loader"`)
7
+ */
8
+ import { readFile } from "node:fs/promises";
9
+ import { fileURLToPath } from "node:url";
10
+ import { compileMelToModuleCode } from "./mel-module.js";
11
+ function stripSearchAndHash(value) {
12
+ const [withoutSearch] = value.split("?", 1);
13
+ const [withoutHash] = withoutSearch.split("#", 1);
14
+ return withoutHash;
15
+ }
16
+ function isMelReference(value) {
17
+ return stripSearchAndHash(value).endsWith(".mel");
18
+ }
19
+ function toSourceId(urlOrPath) {
20
+ try {
21
+ return fileURLToPath(urlOrPath);
22
+ }
23
+ catch {
24
+ return urlOrPath;
25
+ }
26
+ }
27
+ /**
28
+ * Node loader resolve hook.
29
+ */
30
+ export const resolve = async (specifier, context, nextResolve) => {
31
+ if (!isMelReference(specifier)) {
32
+ return nextResolve(specifier, context);
33
+ }
34
+ const resolved = await nextResolve(specifier, context);
35
+ return { ...resolved, shortCircuit: true };
36
+ };
37
+ /**
38
+ * Node loader load hook.
39
+ */
40
+ export const load = async (url, context, nextLoad) => {
41
+ if (!isMelReference(url)) {
42
+ return nextLoad(url, context);
43
+ }
44
+ const melSource = await readFile(new URL(url), "utf8");
45
+ const source = compileMelToModuleCode(melSource, toSourceId(url));
46
+ return {
47
+ format: "module",
48
+ source,
49
+ shortCircuit: true,
50
+ };
51
+ };
52
+ /**
53
+ * Webpack loader default export.
54
+ */
55
+ export default function melWebpackLoader(source) {
56
+ this.cacheable?.(true);
57
+ const melSource = typeof source === "string" ? source : source.toString("utf8");
58
+ const sourceId = this.resourcePath ?? "<mel>";
59
+ return compileMelToModuleCode(melSource, sourceId);
60
+ }
61
+ export const raw = false;
62
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,UAAU,CAAC,SAAiB;IACnC,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAgB,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE;IAC5E,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACvD,OAAO,EAAE,GAAG,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AAC7C,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAa,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAC7D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAElE,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,MAAM;QACN,YAAY,EAAE,IAAI;KACnB,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAEtC,MAAuB;IAEvB,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC;IAC9C,OAAO,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * MEL Module Helpers
3
+ *
4
+ * Utilities for turning MEL source into JavaScript module code.
5
+ */
6
+ /**
7
+ * Compile MEL source and emit ESM source that exports the compiled schema.
8
+ *
9
+ * @param melSource - MEL domain source text
10
+ * @param sourceId - Human-readable source identifier for diagnostics
11
+ */
12
+ export declare function compileMelToModuleCode(melSource: string, sourceId: string): string;
13
+ //# sourceMappingURL=mel-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mel-module.d.ts","sourceRoot":"","sources":["../src/mel-module.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAclF"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * MEL Module Helpers
3
+ *
4
+ * Utilities for turning MEL source into JavaScript module code.
5
+ */
6
+ import { compileMelDomain } from "./api/index.js";
7
+ function formatDiagnostic(diagnostic) {
8
+ const location = diagnostic.location;
9
+ if (!location) {
10
+ return `[${diagnostic.code}] ${diagnostic.message}`;
11
+ }
12
+ const { line, column } = location.start;
13
+ return `[${diagnostic.code}] ${diagnostic.message} (${line}:${column})`;
14
+ }
15
+ /**
16
+ * Compile MEL source and emit ESM source that exports the compiled schema.
17
+ *
18
+ * @param melSource - MEL domain source text
19
+ * @param sourceId - Human-readable source identifier for diagnostics
20
+ */
21
+ export function compileMelToModuleCode(melSource, sourceId) {
22
+ const result = compileMelDomain(melSource, { mode: "domain" });
23
+ if (result.errors.length > 0) {
24
+ const details = result.errors.map(formatDiagnostic).join("\n");
25
+ throw new Error(`MEL compilation failed for ${sourceId}\n${details}`);
26
+ }
27
+ if (!result.schema) {
28
+ throw new Error(`MEL compilation produced no schema for ${sourceId}`);
29
+ }
30
+ const serializedSchema = JSON.stringify(result.schema, null, 2);
31
+ return `export default ${serializedSchema};\n`;
32
+ }
33
+ //# sourceMappingURL=mel-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mel-module.js","sourceRoot":"","sources":["../src/mel-module.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,SAAS,gBAAgB,CAAC,UAAsB;IAC9C,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IAErC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;IACtD,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;IACxC,OAAO,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,GAAG,CAAC;AAC1E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAAiB,EAAE,QAAgB;IACxE,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE/D,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,0CAA0C,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAChE,OAAO,kBAAkB,gBAAgB,KAAK,CAAC;AACjD,CAAC"}
package/dist/vite.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Vite plugin for MEL files.
3
+ */
4
+ import type { Plugin } from "vite";
5
+ export type MelPluginOptions = {
6
+ /**
7
+ * Optional include matcher for file paths.
8
+ * Defaults to `/\\.mel$/`.
9
+ */
10
+ readonly include?: RegExp;
11
+ };
12
+ /**
13
+ * Compile `.mel` files into ESM modules that export compiled DomainSchema.
14
+ */
15
+ export declare function melPlugin(options?: MelPluginOptions): Plugin;
16
+ export default melPlugin;
17
+ //# sourceMappingURL=vite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAYF;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAkBhE;AAED,eAAe,SAAS,CAAC"}
package/dist/vite.js ADDED
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Vite plugin for MEL files.
3
+ */
4
+ import { compileMelToModuleCode } from "./mel-module.js";
5
+ function normalizeId(id) {
6
+ const [withoutQuery] = id.split("?", 1);
7
+ return withoutQuery;
8
+ }
9
+ function testRegex(regex, value) {
10
+ regex.lastIndex = 0;
11
+ return regex.test(value);
12
+ }
13
+ /**
14
+ * Compile `.mel` files into ESM modules that export compiled DomainSchema.
15
+ */
16
+ export function melPlugin(options = {}) {
17
+ const include = options.include ?? /\.mel$/;
18
+ return {
19
+ name: "manifesto:mel",
20
+ enforce: "pre",
21
+ transform(source, id) {
22
+ const sourceId = normalizeId(id);
23
+ if (!testRegex(include, sourceId)) {
24
+ return null;
25
+ }
26
+ return {
27
+ code: compileMelToModuleCode(source, sourceId),
28
+ map: null,
29
+ };
30
+ },
31
+ };
32
+ }
33
+ export default melPlugin;
34
+ //# sourceMappingURL=vite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite.js","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAUzD,SAAS,WAAW,CAAC,EAAU;IAC7B,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACxC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,KAAa;IAC7C,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IACpB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,UAA4B,EAAE;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC;IAE5C,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,KAAK;QACd,SAAS,CAAC,MAAc,EAAE,EAAU;YAClC,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC;gBAC9C,GAAG,EAAE,IAAI;aACV,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,eAAe,SAAS,CAAC"}
package/loader.cjs ADDED
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * CommonJS wrapper for webpack loader compatibility.
5
+ *
6
+ * Webpack may load loaders via `require()`. The real implementation lives in
7
+ * ESM (`./dist/loader.js`), so we bridge using dynamic import.
8
+ */
9
+ module.exports = function manifestoMelLoader(source) {
10
+ const callback = this.async();
11
+ const context = this;
12
+
13
+ import("./dist/loader.js")
14
+ .then((mod) => {
15
+ const output = mod.default.call(context, source);
16
+ callback(null, output);
17
+ })
18
+ .catch((error) => callback(error));
19
+ };
20
+
21
+ module.exports.raw = false;
22
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@manifesto-ai/compiler",
3
- "version": "1.4.1",
3
+ "version": "1.6.0",
4
4
  "description": "Manifesto Compiler - MEL (Manifesto Expression Language) to DomainSchema compiler",
5
5
  "author": "eggplantiny <eggplantiny@gmail.com>",
6
6
  "license": "MIT",
@@ -16,10 +16,12 @@
16
16
  "keywords": [
17
17
  "manifesto",
18
18
  "compiler",
19
- "natural-language",
20
- "llm",
21
- "ai",
22
- "schema-generation"
19
+ "dsl",
20
+ "semantic",
21
+ "domain-schema",
22
+ "deterministic",
23
+ "schema-generation",
24
+ "ai"
23
25
  ],
24
26
  "type": "module",
25
27
  "main": "./dist/index.js",
@@ -28,14 +30,26 @@
28
30
  ".": {
29
31
  "types": "./dist/index.d.ts",
30
32
  "import": "./dist/index.js"
33
+ },
34
+ "./vite": {
35
+ "types": "./dist/vite.d.ts",
36
+ "import": "./dist/vite.js",
37
+ "default": "./dist/vite.js"
38
+ },
39
+ "./loader": {
40
+ "types": "./dist/loader.d.ts",
41
+ "import": "./dist/loader.js",
42
+ "require": "./loader.cjs",
43
+ "default": "./dist/loader.js"
31
44
  }
32
45
  },
33
46
  "peerDependencies": {
34
47
  "@anthropic-ai/sdk": "^0.26.0",
35
- "@manifesto-ai/builder": "^1.0.0",
36
48
  "@manifesto-ai/core": "^2.0.0",
37
49
  "@manifesto-ai/host": "^2.0.0",
38
50
  "openai": "^4.0.0",
51
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0",
52
+ "webpack": "^5.0.0",
39
53
  "zod": "^4.3.6"
40
54
  },
41
55
  "peerDependenciesMeta": {
@@ -44,6 +58,12 @@
44
58
  },
45
59
  "openai": {
46
60
  "optional": true
61
+ },
62
+ "vite": {
63
+ "optional": true
64
+ },
65
+ "webpack": {
66
+ "optional": true
47
67
  }
48
68
  },
49
69
  "dependencies": {
@@ -61,13 +81,15 @@
61
81
  "openai": "^6.17.0",
62
82
  "tsx": "^4.21.0",
63
83
  "typescript": "^5.9.3",
84
+ "vite": "^7.3.1",
64
85
  "vitest": "^4.0.18",
86
+ "webpack": "^5.102.0",
65
87
  "zod": "^4.3.6",
66
- "@manifesto-ai/core": "2.1.1",
67
- "@manifesto-ai/builder": "1.3.1"
88
+ "@manifesto-ai/core": "2.3.0"
68
89
  },
69
90
  "files": [
70
- "dist"
91
+ "dist",
92
+ "loader.cjs"
71
93
  ],
72
94
  "scripts": {
73
95
  "build": "tsc",