@liquidmetal-ai/drizzle 0.17.0 → 0.19.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/CHANGELOG.md +12 -0
- package/dist/appify/build.d.ts +21 -1
- package/dist/appify/build.d.ts.map +1 -1
- package/dist/appify/build.js +121 -1
- package/dist/appify/build.test.js +325 -0
- package/dist/appify/validate.d.ts +3 -1
- package/dist/appify/validate.d.ts.map +1 -1
- package/dist/appify/validate.js +41 -0
- package/dist/codestore.d.ts +4 -3
- package/dist/codestore.d.ts.map +1 -1
- package/dist/codestore.js +13 -2
- package/dist/codestore.test.js +28 -0
- package/dist/liquidmetal/v1alpha1/catalog_pb.d.ts +111 -1
- package/dist/liquidmetal/v1alpha1/catalog_pb.d.ts.map +1 -1
- package/dist/liquidmetal/v1alpha1/catalog_pb.js +30 -2
- package/dist/liquidmetal/v1alpha1/riverjack_pb.d.ts +7 -0
- package/dist/liquidmetal/v1alpha1/riverjack_pb.d.ts.map +1 -1
- package/dist/liquidmetal/v1alpha1/riverjack_pb.js +1 -1
- package/dist/liquidmetal/v1alpha1/rowboat_pb.d.ts +647 -0
- package/dist/liquidmetal/v1alpha1/rowboat_pb.d.ts.map +1 -0
- package/dist/liquidmetal/v1alpha1/rowboat_pb.js +147 -0
- package/dist/liquidmetal/v1alpha1/search_agent_pb.d.ts +90 -1
- package/dist/liquidmetal/v1alpha1/search_agent_pb.d.ts.map +1 -1
- package/dist/liquidmetal/v1alpha1/search_agent_pb.js +44 -2
- package/dist/sql-migrations.d.ts +109 -0
- package/dist/sql-migrations.d.ts.map +1 -0
- package/dist/sql-migrations.js +185 -0
- package/dist/sql-migrations.test.d.ts +2 -0
- package/dist/sql-migrations.test.d.ts.map +1 -0
- package/dist/sql-migrations.test.js +260 -0
- package/dist/strict-client.d.ts +37 -0
- package/dist/strict-client.d.ts.map +1 -0
- package/dist/strict-client.js +10 -0
- package/package.json +4 -3
- package/src/appify/build.test.ts +374 -0
- package/src/appify/build.ts +130 -2
- package/src/appify/validate.ts +48 -0
- package/src/codestore.test.ts +35 -0
- package/src/codestore.ts +16 -3
- package/src/liquidmetal/v1alpha1/catalog_pb.ts +134 -2
- package/src/liquidmetal/v1alpha1/riverjack_pb.ts +9 -1
- package/src/liquidmetal/v1alpha1/rowboat_pb.ts +765 -0
- package/src/liquidmetal/v1alpha1/search_agent_pb.ts +106 -3
- package/src/sql-migrations.test.ts +317 -0
- package/src/sql-migrations.ts +307 -0
- package/src/strict-client.ts +46 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/.turbo/turbo-build.log +0 -22
- package/.turbo/turbo-lint.log +0 -4
- package/.turbo/turbo-test.log +0 -277
package/CHANGELOG.md
CHANGED
package/dist/appify/build.d.ts
CHANGED
|
@@ -38,10 +38,12 @@ export declare class Application {
|
|
|
38
38
|
smartSql: SmartSql[];
|
|
39
39
|
smartMemory: SmartMemory[];
|
|
40
40
|
payments: Payments[];
|
|
41
|
+
dataLake: DataLake[];
|
|
41
42
|
labels: Record<string, string>;
|
|
42
43
|
mcpService: McpService[];
|
|
44
|
+
site: Site[];
|
|
43
45
|
constructor(name: TokenString, obj: ConfigObject);
|
|
44
|
-
handlers(): (Service | Observer | Actor | Task)[];
|
|
46
|
+
handlers(): (Service | Observer | Actor | Task | McpService | Site)[];
|
|
45
47
|
}
|
|
46
48
|
export declare class Service {
|
|
47
49
|
obj: ConfigObject;
|
|
@@ -78,6 +80,18 @@ export declare class McpService {
|
|
|
78
80
|
labels: Record<string, string>;
|
|
79
81
|
constructor(name: TokenString, obj: ConfigObject);
|
|
80
82
|
}
|
|
83
|
+
export declare class Site {
|
|
84
|
+
obj: ConfigObject;
|
|
85
|
+
name: TokenString;
|
|
86
|
+
buildOutput?: TokenString;
|
|
87
|
+
buildCommand?: TokenString;
|
|
88
|
+
spa?: TokenBoolean;
|
|
89
|
+
visibility?: TokenString;
|
|
90
|
+
domains: Domain[];
|
|
91
|
+
routes: Route[];
|
|
92
|
+
env: Env[];
|
|
93
|
+
constructor(name: TokenString, obj: ConfigObject);
|
|
94
|
+
}
|
|
81
95
|
export declare class Task {
|
|
82
96
|
obj: ConfigObject;
|
|
83
97
|
name: TokenString;
|
|
@@ -202,6 +216,12 @@ export declare class Payments {
|
|
|
202
216
|
mode?: TokenString;
|
|
203
217
|
constructor(name: TokenString, obj: ConfigObject);
|
|
204
218
|
}
|
|
219
|
+
export declare class DataLake {
|
|
220
|
+
name: TokenString;
|
|
221
|
+
obj: ConfigObject;
|
|
222
|
+
compaction?: TokenString;
|
|
223
|
+
constructor(name: TokenString, obj: ConfigObject);
|
|
224
|
+
}
|
|
205
225
|
export declare const VISIBILITIES: readonly ["none", "public", "private", "protected", "paid", "application", "suite", "tenant"];
|
|
206
226
|
export type Visibility = (typeof VISIBILITIES)[number];
|
|
207
227
|
export declare const TASK_TYPES: readonly ["cron"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/appify/build.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,cAAc,EACd,SAAS,EAGT,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC;AACpD,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC;AACpD,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC;AAgBtD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AACD,eAAO,MAAM,mBAAmB,EAAE,YAKxB,CAAC;AAEX,qBAAa,WAAW;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;gBAEA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;CAO/C;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,CAAC,CAqB7E;AAyID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,WAAW,GAAG,SAAS,EAAE,WAAW,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/appify/build.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,cAAc,EACd,SAAS,EAGT,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC;AACpD,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC;AACpD,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC;AAgBtD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AACD,eAAO,MAAM,mBAAmB,EAAE,YAKxB,CAAC;AAEX,qBAAa,WAAW;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;gBAEA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;CAO/C;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,CAAC,CAqB7E;AAyID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,WAAW,GAAG,SAAS,EAAE,WAAW,EAAE,CAAC,CA0F3F;AA6uBD,qBAAa,WAAW;IACtB,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAElB,OAAO,EAAE,OAAO,EAAE,CAAM;IACxB,QAAQ,EAAE,QAAQ,EAAE,CAAM;IAC1B,KAAK,EAAE,KAAK,EAAE,CAAM;IACpB,IAAI,EAAE,IAAI,EAAE,CAAM;IAClB,MAAM,EAAE,MAAM,EAAE,CAAM;IACtB,KAAK,EAAE,KAAK,EAAE,CAAM;IACpB,GAAG,EAAE,GAAG,EAAE,CAAM;IAChB,WAAW,EAAE,WAAW,EAAE,CAAM;IAChC,WAAW,EAAE,WAAW,EAAE,CAAM;IAChC,OAAO,EAAE,OAAO,EAAE,CAAM;IAGxB,IAAI,OAAO,IAAI,OAAO,EAAE,CAEvB;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAE3B;IACD,WAAW,EAAE,WAAW,EAAE,CAAM;IAChC,QAAQ,EAAE,QAAQ,EAAE,CAAM;IAC1B,WAAW,EAAE,WAAW,EAAE,CAAM;IAChC,QAAQ,EAAE,QAAQ,EAAE,CAAM;IAC1B,QAAQ,EAAE,QAAQ,EAAE,CAAM;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IACpC,UAAU,EAAE,UAAU,EAAE,CAAM;IAC9B,IAAI,EAAE,IAAI,EAAE,CAAM;gBAEN,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;IAMhD,QAAQ,IAAI,CAAC,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC,EAAE;CAGtE;AAED,qBAAa,OAAO;IAClB,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,KAAK,EAAE,CAAM;IACrB,OAAO,EAAE,MAAM,EAAE,CAAM;IACvB,QAAQ,EAAE,OAAO,EAAE,CAAM;IACzB,GAAG,EAAE,GAAG,EAAE,CAAM;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;gBAExB,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,KAAK;IAChB,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,KAAK,EAAE,CAAM;IACrB,OAAO,EAAE,MAAM,EAAE,CAAM;IACvB,QAAQ,EAAE,OAAO,EAAE,CAAM;IACzB,GAAG,EAAE,GAAG,EAAE,CAAM;IAChB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;gBAExB,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,UAAU;IACrB,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,KAAK,EAAE,CAAM;IACrB,OAAO,EAAE,MAAM,EAAE,CAAM;IACvB,QAAQ,EAAE,OAAO,EAAE,CAAM;IACzB,GAAG,EAAE,GAAG,EAAE,CAAM;IAChB,mBAAmB,CAAC,EAAE,WAAW,CAAC;IAClC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;gBAExB,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,IAAI;IACf,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,MAAM,EAAE,CAAM;IACvB,MAAM,EAAE,KAAK,EAAE,CAAM;IACrB,GAAG,EAAE,GAAG,EAAE,CAAM;gBAEJ,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,IAAI;IACf,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAM;IACzB,GAAG,EAAE,GAAG,EAAE,CAAM;IAChB,UAAU,CAAC,EAAE,WAAW,CAAC;gBAEb,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,QAAQ;IACnB,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAM;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAM;IACzB,GAAG,EAAE,GAAG,EAAE,CAAM;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;gBAExB,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,MAAM;IACjB,GAAG,EAAE,YAAY,CAAC;IAElB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IAEd,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,UAAU,CAAC,EAAE,WAAW,CAAC;gBAEb,GAAG,EAAE,YAAY;CAG9B;AAED,qBAAa,IAAI;IACf,GAAG,EAAE,YAAY,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;gBAET,GAAG,EAAE,YAAY;CAG9B;AAED,qBAAa,KAAK;IAChB,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,WAAW,CAAC;gBAEP,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,WAAW;CAIlD;AAED,qBAAa,MAAM;IACjB,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,WAAW,CAAC;gBAEP,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,WAAW;CAIlD;AAED,qBAAa,OAAO;IAClB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,GAAG,EAAE,YAAY,CAAC;gBAEN,QAAQ,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE,YAAY;CAI1D;AAED,qBAAa,GAAG;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,GAAG,EAAE,YAAY,CAAC;gBAEN,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,MAAM;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,GAAG,EAAE,YAAY,CAAC;gBAEN,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,OAAO;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,GAAG,EAAE,YAAY,CAAC;gBAEN,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAGD,qBAAa,OAAQ,SAAQ,OAAO;CAAG;AAEvC,qBAAa,KAAK;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,GAAG,EAAE,YAAY,CAAC;gBAEN,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,WAAW;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,GAAG,EAAE,YAAY,CAAC;gBAEN,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,WAAW;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B,GAAG,EAAE,YAAY,CAAC;gBAEN,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,WAAW;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,GAAG,EAAE,YAAY,CAAC;gBAEN,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,QAAQ;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,GAAG,EAAE,YAAY,CAAC;gBAEN,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,WAAW;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,YAAY,CAAC;gBAEN,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,QAAQ;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC;gBAEP,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,QAAQ;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,YAAY,CAAC;IAClB,UAAU,CAAC,EAAE,WAAW,CAAC;gBAEb,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,eAAO,MAAM,YAAY,+FAAgG,CAAC;AAC1H,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,eAAO,MAAM,UAAU,mBAAoB,CAAC;AAC5C,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
package/dist/appify/build.js
CHANGED
|
@@ -233,6 +233,12 @@ export function buildApplication(node) {
|
|
|
233
233
|
case 'payments':
|
|
234
234
|
buildStanza(buildPayments, child, app.payments, errors);
|
|
235
235
|
break;
|
|
236
|
+
case 'datalake':
|
|
237
|
+
buildStanza(buildDataLake, child, app.dataLake, errors);
|
|
238
|
+
break;
|
|
239
|
+
case 'site':
|
|
240
|
+
buildStanza(buildSite, child, app.site, errors);
|
|
241
|
+
break;
|
|
236
242
|
default:
|
|
237
243
|
errors.push({ message: 'unexpected stanza', ...child });
|
|
238
244
|
}
|
|
@@ -604,6 +610,94 @@ function buildPayments(stanza) {
|
|
|
604
610
|
}
|
|
605
611
|
return [payments, errors];
|
|
606
612
|
}
|
|
613
|
+
function buildDataLake(stanza) {
|
|
614
|
+
const errors = [];
|
|
615
|
+
const [name, nameErrors] = buildName1(stanza);
|
|
616
|
+
errors.push(...nameErrors);
|
|
617
|
+
const dataLake = new DataLake(name, stanza);
|
|
618
|
+
for (const child of stanza.block?.children ?? []) {
|
|
619
|
+
switch (child.type) {
|
|
620
|
+
case 'assignment':
|
|
621
|
+
switch (child.key.value) {
|
|
622
|
+
case 'compaction':
|
|
623
|
+
buildAssignment(dataLake, 'compaction', 'string', child, errors);
|
|
624
|
+
// Validate that compaction is either "enabled" or "disabled"
|
|
625
|
+
if (dataLake.compaction && child.value.type === 'string') {
|
|
626
|
+
const compactionValue = valueOf(dataLake.compaction);
|
|
627
|
+
if (compactionValue !== 'enabled' && compactionValue !== 'disabled') {
|
|
628
|
+
errors.push({
|
|
629
|
+
message: `compaction must be either "enabled" or "disabled", got "${compactionValue}"`,
|
|
630
|
+
...child.value
|
|
631
|
+
});
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
break;
|
|
635
|
+
default:
|
|
636
|
+
errors.push({ message: 'unexpected assignment', ...child });
|
|
637
|
+
}
|
|
638
|
+
break;
|
|
639
|
+
case 'stanza':
|
|
640
|
+
errors.push({ message: 'unexpected stanza', ...child });
|
|
641
|
+
break;
|
|
642
|
+
case 'comment':
|
|
643
|
+
case 'newline':
|
|
644
|
+
break;
|
|
645
|
+
default:
|
|
646
|
+
errors.push({ message: `unexpected ${child.type}`, ...child });
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
return [dataLake, errors];
|
|
650
|
+
}
|
|
651
|
+
function buildSite(stanza) {
|
|
652
|
+
const errors = [];
|
|
653
|
+
const [name, nameErrors] = buildName1(stanza);
|
|
654
|
+
errors.push(...nameErrors);
|
|
655
|
+
const site = new Site(name, stanza);
|
|
656
|
+
const children = stanza.block ? stanza.block.children : [];
|
|
657
|
+
for (const child of children) {
|
|
658
|
+
switch (child.type) {
|
|
659
|
+
case 'stanza':
|
|
660
|
+
switch (child.name) {
|
|
661
|
+
case 'route':
|
|
662
|
+
buildStanza(buildRoute, child, site.routes, errors);
|
|
663
|
+
break;
|
|
664
|
+
case 'domain':
|
|
665
|
+
buildStanza(buildDomain, child, site.domains, errors);
|
|
666
|
+
break;
|
|
667
|
+
case 'env':
|
|
668
|
+
buildStanza(buildEnv, child, site.env, errors);
|
|
669
|
+
break;
|
|
670
|
+
default:
|
|
671
|
+
errors.push({ message: 'unexpected stanza', ...child });
|
|
672
|
+
}
|
|
673
|
+
break;
|
|
674
|
+
case 'assignment':
|
|
675
|
+
switch (child.key.value) {
|
|
676
|
+
case 'build_output':
|
|
677
|
+
buildAssignment(site, 'buildOutput', 'string', child, errors);
|
|
678
|
+
break;
|
|
679
|
+
case 'build_command':
|
|
680
|
+
buildAssignment(site, 'buildCommand', 'string', child, errors);
|
|
681
|
+
break;
|
|
682
|
+
case 'spa':
|
|
683
|
+
buildAssignment(site, 'spa', 'boolean', child, errors);
|
|
684
|
+
break;
|
|
685
|
+
case 'visibility':
|
|
686
|
+
buildAssignment(site, 'visibility', 'string', child, errors);
|
|
687
|
+
break;
|
|
688
|
+
default:
|
|
689
|
+
errors.push({ message: 'unexpected assignment', ...child });
|
|
690
|
+
}
|
|
691
|
+
break;
|
|
692
|
+
case 'comment':
|
|
693
|
+
case 'newline':
|
|
694
|
+
break;
|
|
695
|
+
default:
|
|
696
|
+
errors.push({ message: 'unexpected node', ...child });
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
return [site, errors];
|
|
700
|
+
}
|
|
607
701
|
function buildObserver(stanza) {
|
|
608
702
|
const errors = [];
|
|
609
703
|
const [name, nameErrors] = buildName1(stanza);
|
|
@@ -914,15 +1008,17 @@ export class Application {
|
|
|
914
1008
|
smartSql = [];
|
|
915
1009
|
smartMemory = [];
|
|
916
1010
|
payments = [];
|
|
1011
|
+
dataLake = [];
|
|
917
1012
|
labels = {};
|
|
918
1013
|
mcpService = [];
|
|
1014
|
+
site = [];
|
|
919
1015
|
constructor(name, obj) {
|
|
920
1016
|
this.name = name;
|
|
921
1017
|
this.obj = obj;
|
|
922
1018
|
}
|
|
923
1019
|
// Return all objects that require code handlers.
|
|
924
1020
|
handlers() {
|
|
925
|
-
return [...this.service, ...this.observer, ...this.actor, ...this.task, ...this.mcpService];
|
|
1021
|
+
return [...this.service, ...this.observer, ...this.actor, ...this.task, ...this.mcpService, ...this.site];
|
|
926
1022
|
}
|
|
927
1023
|
}
|
|
928
1024
|
export class Service {
|
|
@@ -969,6 +1065,21 @@ export class McpService {
|
|
|
969
1065
|
this.obj = obj;
|
|
970
1066
|
}
|
|
971
1067
|
}
|
|
1068
|
+
export class Site {
|
|
1069
|
+
obj;
|
|
1070
|
+
name;
|
|
1071
|
+
buildOutput;
|
|
1072
|
+
buildCommand;
|
|
1073
|
+
spa;
|
|
1074
|
+
visibility;
|
|
1075
|
+
domains = [];
|
|
1076
|
+
routes = [];
|
|
1077
|
+
env = [];
|
|
1078
|
+
constructor(name, obj) {
|
|
1079
|
+
this.name = name;
|
|
1080
|
+
this.obj = obj;
|
|
1081
|
+
}
|
|
1082
|
+
}
|
|
972
1083
|
export class Task {
|
|
973
1084
|
obj;
|
|
974
1085
|
name;
|
|
@@ -1143,5 +1254,14 @@ export class Payments {
|
|
|
1143
1254
|
this.obj = obj;
|
|
1144
1255
|
}
|
|
1145
1256
|
}
|
|
1257
|
+
export class DataLake {
|
|
1258
|
+
name;
|
|
1259
|
+
obj;
|
|
1260
|
+
compaction;
|
|
1261
|
+
constructor(name, obj) {
|
|
1262
|
+
this.name = name;
|
|
1263
|
+
this.obj = obj;
|
|
1264
|
+
}
|
|
1265
|
+
}
|
|
1146
1266
|
export const VISIBILITIES = ['none', 'public', 'private', 'protected', 'paid', 'application', 'suite', 'tenant'];
|
|
1147
1267
|
export const TASK_TYPES = ['cron'];
|
|
@@ -662,3 +662,328 @@ application "my-payment-app" {
|
|
|
662
662
|
expect(valueOf(app.service[0].name)).toBe('api');
|
|
663
663
|
expect(valueOf(app.actor[0].name)).toBe('processor');
|
|
664
664
|
});
|
|
665
|
+
test('datalake basic parsing', () => {
|
|
666
|
+
const CONFIG = `
|
|
667
|
+
application "my-app" {
|
|
668
|
+
datalake "analytics" {
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
`;
|
|
672
|
+
const tokenizer = new Tokenizer(CONFIG);
|
|
673
|
+
const parser = new Parser(tokenizer);
|
|
674
|
+
const ast = parser.parse();
|
|
675
|
+
expect(parser.errors).toEqual([]);
|
|
676
|
+
const [apps, errors] = buildManifest(ast);
|
|
677
|
+
expect(errors).toEqual([]);
|
|
678
|
+
// Check that we have exactly one application
|
|
679
|
+
expect(apps.length).toBe(1);
|
|
680
|
+
// Check that we have exactly one datalake
|
|
681
|
+
expect(apps[0].dataLake.length).toBe(1);
|
|
682
|
+
// Check the datalake properties
|
|
683
|
+
const dataLake = apps[0].dataLake[0];
|
|
684
|
+
expect(valueOf(dataLake.name)).toBe('analytics');
|
|
685
|
+
});
|
|
686
|
+
test('datalake with invalid properties', () => {
|
|
687
|
+
const CONFIG = `
|
|
688
|
+
application "my-app" {
|
|
689
|
+
datalake "analytics" {
|
|
690
|
+
invalid_property = "should fail"
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
`;
|
|
694
|
+
const tokenizer = new Tokenizer(CONFIG);
|
|
695
|
+
const parser = new Parser(tokenizer);
|
|
696
|
+
const ast = parser.parse();
|
|
697
|
+
expect(parser.errors).toEqual([]);
|
|
698
|
+
const [, errors] = buildManifest(ast);
|
|
699
|
+
// Should have one error for the invalid property
|
|
700
|
+
expect(errors.length).toBe(1);
|
|
701
|
+
expect(errors[0].message).toContain('unexpected');
|
|
702
|
+
});
|
|
703
|
+
test('datalake integration with other modules', () => {
|
|
704
|
+
const CONFIG = `
|
|
705
|
+
application "my-analytics-app" {
|
|
706
|
+
datalake "analytics" {
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
actor "processor" {
|
|
710
|
+
visibility = "protected"
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
service "api" {
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
bucket "raw-data" {
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
`;
|
|
720
|
+
const tokenizer = new Tokenizer(CONFIG);
|
|
721
|
+
const parser = new Parser(tokenizer);
|
|
722
|
+
const ast = parser.parse();
|
|
723
|
+
expect(parser.errors).toEqual([]);
|
|
724
|
+
const [apps, errors] = buildManifest(ast);
|
|
725
|
+
expect(errors).toEqual([]);
|
|
726
|
+
// Check that we have exactly one application
|
|
727
|
+
expect(apps.length).toBe(1);
|
|
728
|
+
const app = apps[0];
|
|
729
|
+
// Verify all module types are parsed correctly
|
|
730
|
+
expect(app.dataLake.length).toBe(1);
|
|
731
|
+
expect(app.actor.length).toBe(1);
|
|
732
|
+
expect(app.service.length).toBe(1);
|
|
733
|
+
expect(app.bucket.length).toBe(1);
|
|
734
|
+
// Verify datalake properties
|
|
735
|
+
expect(valueOf(app.dataLake[0].name)).toBe('analytics');
|
|
736
|
+
// Verify other modules still work correctly
|
|
737
|
+
expect(valueOf(app.actor[0].name)).toBe('processor');
|
|
738
|
+
expect(valueOf(app.service[0].name)).toBe('api');
|
|
739
|
+
expect(valueOf(app.bucket[0].name)).toBe('raw-data');
|
|
740
|
+
});
|
|
741
|
+
test('datalake with compaction enabled', () => {
|
|
742
|
+
const CONFIG = `
|
|
743
|
+
application "my-app" {
|
|
744
|
+
datalake "analytics" {
|
|
745
|
+
compaction = "enabled"
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
`;
|
|
749
|
+
const tokenizer = new Tokenizer(CONFIG);
|
|
750
|
+
const parser = new Parser(tokenizer);
|
|
751
|
+
const ast = parser.parse();
|
|
752
|
+
expect(parser.errors).toEqual([]);
|
|
753
|
+
const [apps, errors] = buildManifest(ast);
|
|
754
|
+
expect(errors).toEqual([]);
|
|
755
|
+
// Check the datalake properties
|
|
756
|
+
const dataLake = apps[0].dataLake[0];
|
|
757
|
+
expect(valueOf(dataLake.name)).toBe('analytics');
|
|
758
|
+
expect(dataLake.compaction).toBeDefined();
|
|
759
|
+
expect(valueOf(dataLake.compaction)).toBe('enabled');
|
|
760
|
+
});
|
|
761
|
+
test('datalake with compaction disabled', () => {
|
|
762
|
+
const CONFIG = `
|
|
763
|
+
application "my-app" {
|
|
764
|
+
datalake "analytics" {
|
|
765
|
+
compaction = "disabled"
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
`;
|
|
769
|
+
const tokenizer = new Tokenizer(CONFIG);
|
|
770
|
+
const parser = new Parser(tokenizer);
|
|
771
|
+
const ast = parser.parse();
|
|
772
|
+
expect(parser.errors).toEqual([]);
|
|
773
|
+
const [apps, errors] = buildManifest(ast);
|
|
774
|
+
expect(errors).toEqual([]);
|
|
775
|
+
// Check the datalake properties
|
|
776
|
+
const dataLake = apps[0].dataLake[0];
|
|
777
|
+
expect(valueOf(dataLake.name)).toBe('analytics');
|
|
778
|
+
expect(dataLake.compaction).toBeDefined();
|
|
779
|
+
expect(valueOf(dataLake.compaction)).toBe('disabled');
|
|
780
|
+
});
|
|
781
|
+
test('datalake with invalid compaction value', () => {
|
|
782
|
+
const CONFIG = `
|
|
783
|
+
application "my-app" {
|
|
784
|
+
datalake "analytics" {
|
|
785
|
+
compaction = "invalid"
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
`;
|
|
789
|
+
const tokenizer = new Tokenizer(CONFIG);
|
|
790
|
+
const parser = new Parser(tokenizer);
|
|
791
|
+
const ast = parser.parse();
|
|
792
|
+
expect(parser.errors).toEqual([]);
|
|
793
|
+
const [, errors] = buildManifest(ast);
|
|
794
|
+
// Should have one error for the invalid compaction value
|
|
795
|
+
expect(errors.length).toBe(1);
|
|
796
|
+
expect(errors[0].message).toContain('compaction must be either "enabled" or "disabled"');
|
|
797
|
+
});
|
|
798
|
+
test('site basic parsing', () => {
|
|
799
|
+
const CONFIG = `
|
|
800
|
+
application "my-app" {
|
|
801
|
+
site "dashboard" {
|
|
802
|
+
build_output = "dist"
|
|
803
|
+
}
|
|
804
|
+
}
|
|
805
|
+
`;
|
|
806
|
+
const tokenizer = new Tokenizer(CONFIG);
|
|
807
|
+
const parser = new Parser(tokenizer);
|
|
808
|
+
const ast = parser.parse();
|
|
809
|
+
expect(parser.errors).toEqual([]);
|
|
810
|
+
const [apps, errors] = buildManifest(ast);
|
|
811
|
+
expect(errors).toEqual([]);
|
|
812
|
+
expect(apps.length).toBe(1);
|
|
813
|
+
expect(apps[0].site.length).toBe(1);
|
|
814
|
+
const site = apps[0].site[0];
|
|
815
|
+
expect(valueOf(site.name)).toBe('dashboard');
|
|
816
|
+
expect(valueOf(site.buildOutput)).toBe('dist');
|
|
817
|
+
expect(site.buildCommand).toBeUndefined();
|
|
818
|
+
expect(site.spa).toBeUndefined();
|
|
819
|
+
expect(site.visibility).toBeUndefined();
|
|
820
|
+
});
|
|
821
|
+
test('site with all attributes', () => {
|
|
822
|
+
const CONFIG = `
|
|
823
|
+
application "my-app" {
|
|
824
|
+
site "dashboard" {
|
|
825
|
+
build_output = "dist"
|
|
826
|
+
build_command = "npm run build"
|
|
827
|
+
spa = true
|
|
828
|
+
visibility = "public"
|
|
829
|
+
}
|
|
830
|
+
}
|
|
831
|
+
`;
|
|
832
|
+
const tokenizer = new Tokenizer(CONFIG);
|
|
833
|
+
const parser = new Parser(tokenizer);
|
|
834
|
+
const ast = parser.parse();
|
|
835
|
+
expect(parser.errors).toEqual([]);
|
|
836
|
+
const [apps, errors] = buildManifest(ast);
|
|
837
|
+
expect(errors).toEqual([]);
|
|
838
|
+
const site = apps[0].site[0];
|
|
839
|
+
expect(valueOf(site.name)).toBe('dashboard');
|
|
840
|
+
expect(valueOf(site.buildOutput)).toBe('dist');
|
|
841
|
+
expect(valueOf(site.buildCommand)).toBe('npm run build');
|
|
842
|
+
expect(valueOf(site.spa)).toBe(true);
|
|
843
|
+
expect(valueOf(site.visibility)).toBe('public');
|
|
844
|
+
});
|
|
845
|
+
test('site with domain and route', () => {
|
|
846
|
+
const CONFIG = `
|
|
847
|
+
application "my-app" {
|
|
848
|
+
site "dashboard" {
|
|
849
|
+
build_output = "dist"
|
|
850
|
+
|
|
851
|
+
domain {
|
|
852
|
+
cname = "mysite"
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
route {
|
|
856
|
+
zone = "example.com"
|
|
857
|
+
domain = "example.com"
|
|
858
|
+
}
|
|
859
|
+
}
|
|
860
|
+
}
|
|
861
|
+
`;
|
|
862
|
+
const tokenizer = new Tokenizer(CONFIG);
|
|
863
|
+
const parser = new Parser(tokenizer);
|
|
864
|
+
const ast = parser.parse();
|
|
865
|
+
expect(parser.errors).toEqual([]);
|
|
866
|
+
const [apps, errors] = buildManifest(ast);
|
|
867
|
+
expect(errors).toEqual([]);
|
|
868
|
+
const site = apps[0].site[0];
|
|
869
|
+
expect(site.domains.length).toBe(1);
|
|
870
|
+
expect(valueOf(site.domains[0].cname)).toBe('mysite');
|
|
871
|
+
expect(site.routes.length).toBe(1);
|
|
872
|
+
expect(valueOf(site.routes[0].zone)).toBe('example.com');
|
|
873
|
+
});
|
|
874
|
+
test('site with env', () => {
|
|
875
|
+
const CONFIG = `
|
|
876
|
+
application "my-app" {
|
|
877
|
+
site "dashboard" {
|
|
878
|
+
build_output = "dist"
|
|
879
|
+
env "API_URL" {
|
|
880
|
+
default = "https://api.example.com"
|
|
881
|
+
}
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
`;
|
|
885
|
+
const tokenizer = new Tokenizer(CONFIG);
|
|
886
|
+
const parser = new Parser(tokenizer);
|
|
887
|
+
const ast = parser.parse();
|
|
888
|
+
expect(parser.errors).toEqual([]);
|
|
889
|
+
const [apps, errors] = buildManifest(ast);
|
|
890
|
+
expect(errors).toEqual([]);
|
|
891
|
+
const site = apps[0].site[0];
|
|
892
|
+
expect(site.env.length).toBe(1);
|
|
893
|
+
expect(valueOf(site.env[0].name)).toBe('API_URL');
|
|
894
|
+
});
|
|
895
|
+
test('site rejects binding stanza', () => {
|
|
896
|
+
const CONFIG = `
|
|
897
|
+
application "my-app" {
|
|
898
|
+
site "dashboard" {
|
|
899
|
+
build_output = "dist"
|
|
900
|
+
binding {
|
|
901
|
+
FOO = "bar"
|
|
902
|
+
}
|
|
903
|
+
}
|
|
904
|
+
}
|
|
905
|
+
`;
|
|
906
|
+
const tokenizer = new Tokenizer(CONFIG);
|
|
907
|
+
const parser = new Parser(tokenizer);
|
|
908
|
+
const ast = parser.parse();
|
|
909
|
+
expect(parser.errors).toEqual([]);
|
|
910
|
+
const [, errors] = buildManifest(ast);
|
|
911
|
+
expect(errors.length).toBe(1);
|
|
912
|
+
expect(errors[0].message).toContain('unexpected stanza');
|
|
913
|
+
});
|
|
914
|
+
test('multiple sites', () => {
|
|
915
|
+
const CONFIG = `
|
|
916
|
+
application "my-app" {
|
|
917
|
+
site "dashboard" {
|
|
918
|
+
build_output = "dashboard/dist"
|
|
919
|
+
}
|
|
920
|
+
site "marketing" {
|
|
921
|
+
build_output = "marketing/dist"
|
|
922
|
+
spa = true
|
|
923
|
+
}
|
|
924
|
+
}
|
|
925
|
+
`;
|
|
926
|
+
const tokenizer = new Tokenizer(CONFIG);
|
|
927
|
+
const parser = new Parser(tokenizer);
|
|
928
|
+
const ast = parser.parse();
|
|
929
|
+
expect(parser.errors).toEqual([]);
|
|
930
|
+
const [apps, errors] = buildManifest(ast);
|
|
931
|
+
expect(errors).toEqual([]);
|
|
932
|
+
expect(apps[0].site.length).toBe(2);
|
|
933
|
+
expect(valueOf(apps[0].site[0].name)).toBe('dashboard');
|
|
934
|
+
expect(valueOf(apps[0].site[1].name)).toBe('marketing');
|
|
935
|
+
});
|
|
936
|
+
test('site included in handlers', () => {
|
|
937
|
+
const CONFIG = `
|
|
938
|
+
application "my-app" {
|
|
939
|
+
service "api" {}
|
|
940
|
+
site "dashboard" {
|
|
941
|
+
build_output = "dist"
|
|
942
|
+
}
|
|
943
|
+
}
|
|
944
|
+
`;
|
|
945
|
+
const tokenizer = new Tokenizer(CONFIG);
|
|
946
|
+
const parser = new Parser(tokenizer);
|
|
947
|
+
const ast = parser.parse();
|
|
948
|
+
expect(parser.errors).toEqual([]);
|
|
949
|
+
const [apps, errors] = buildManifest(ast);
|
|
950
|
+
expect(errors).toEqual([]);
|
|
951
|
+
const handlers = apps[0].handlers();
|
|
952
|
+
expect(handlers.length).toBe(2);
|
|
953
|
+
expect(handlers.some(h => valueOf(h.name) === 'dashboard')).toBe(true);
|
|
954
|
+
expect(handlers.some(h => valueOf(h.name) === 'api')).toBe(true);
|
|
955
|
+
});
|
|
956
|
+
test('site with unexpected assignment', () => {
|
|
957
|
+
const CONFIG = `
|
|
958
|
+
application "my-app" {
|
|
959
|
+
site "dashboard" {
|
|
960
|
+
build_output = "dist"
|
|
961
|
+
invalid_field = "oops"
|
|
962
|
+
}
|
|
963
|
+
}
|
|
964
|
+
`;
|
|
965
|
+
const tokenizer = new Tokenizer(CONFIG);
|
|
966
|
+
const parser = new Parser(tokenizer);
|
|
967
|
+
const ast = parser.parse();
|
|
968
|
+
expect(parser.errors).toEqual([]);
|
|
969
|
+
const [, errors] = buildManifest(ast);
|
|
970
|
+
expect(errors.length).toBe(1);
|
|
971
|
+
expect(errors[0].message).toContain('unexpected assignment');
|
|
972
|
+
});
|
|
973
|
+
test('site with duplicate build_output', () => {
|
|
974
|
+
const CONFIG = `
|
|
975
|
+
application "my-app" {
|
|
976
|
+
site "dashboard" {
|
|
977
|
+
build_output = "dist"
|
|
978
|
+
build_output = "build"
|
|
979
|
+
}
|
|
980
|
+
}
|
|
981
|
+
`;
|
|
982
|
+
const tokenizer = new Tokenizer(CONFIG);
|
|
983
|
+
const parser = new Parser(tokenizer);
|
|
984
|
+
const ast = parser.parse();
|
|
985
|
+
expect(parser.errors).toEqual([]);
|
|
986
|
+
const [, errors] = buildManifest(ast);
|
|
987
|
+
expect(errors.length).toBe(1);
|
|
988
|
+
expect(errors[0].message).toContain('duplicate');
|
|
989
|
+
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Actor, Application, Binding, Bucket, ConfigObject, Domain, Env, Observer, Queue, Service, SqlDatabase, Task, VectorIndex } from './build.js';
|
|
1
|
+
import { Actor, Application, Binding, Bucket, ConfigObject, DataLake, Domain, Env, Observer, Queue, Service, Site, SqlDatabase, Task, VectorIndex } from './build.js';
|
|
2
2
|
export type ValidationError = ConfigObject & {
|
|
3
3
|
message: string;
|
|
4
4
|
severity: 'info' | 'error' | 'warning';
|
|
@@ -17,6 +17,8 @@ export type Validator = {
|
|
|
17
17
|
onDomain?: On<Domain>;
|
|
18
18
|
onSqlDatabase?: On<SqlDatabase>;
|
|
19
19
|
onVectorIndex?: On<VectorIndex>;
|
|
20
|
+
onDataLake?: On<DataLake>;
|
|
21
|
+
onSite?: On<Site>;
|
|
20
22
|
};
|
|
21
23
|
export declare function validate(apps: Application[], validators: Validator[]): Promise<ValidationError[]>;
|
|
22
24
|
export declare const VALIDATORS: Validator[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/appify/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,WAAW,EACX,OAAO,EACP,MAAM,EACN,YAAY,EACZ,MAAM,EACN,GAAG,EACH,QAAQ,EACR,KAAK,EACL,OAAO,EACP,WAAW,EACX,IAAI,EAIJ,WAAW,EAEZ,MAAM,YAAY,CAAC;AAOpB,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;AAE7E,MAAM,MAAM,SAAS,GAAG;IACtB,aAAa,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACxB,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACpB,UAAU,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC1B,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAClB,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACpB,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAChB,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACtB,aAAa,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/appify/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,WAAW,EACX,OAAO,EACP,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,GAAG,EACH,QAAQ,EACR,KAAK,EACL,OAAO,EACP,IAAI,EACJ,WAAW,EACX,IAAI,EAIJ,WAAW,EAEZ,MAAM,YAAY,CAAC;AAOpB,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;AAE7E,MAAM,MAAM,SAAS,GAAG;IACtB,aAAa,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACxB,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACpB,UAAU,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC1B,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAClB,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACpB,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAChB,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACtB,aAAa,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC1B,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;CACnB,CAAC;AAcF,wBAAsB,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAmBvG;AAoiBD,eAAO,MAAM,UAAU,EAAE,SAAS,EAejC,CAAC"}
|