@supacloud/compiler 0.47.3 → 0.49.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/DELIVERY.md +1 -1
- package/dist/application-development.d.ts +1 -0
- package/dist/cli.js +775 -65
- package/dist/contract-manifest.d.ts +56 -1
- package/dist/delivery-bundle-worker.js +3 -1
- package/dist/feature.d.ts +2 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +779 -69
- package/dist/migration-app-version.d.ts +1 -1
- package/dist/migration-assess.d.ts +2 -0
- package/dist/migration-elysia-version.d.ts +1 -1
- package/dist/types.d.ts +32 -0
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const MIGRATION_APP_VERSION = "0.
|
|
1
|
+
export declare const MIGRATION_APP_VERSION = "0.30.0";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const MIGRATION_ELYSIA_VERSION = "0.
|
|
1
|
+
export declare const MIGRATION_ELYSIA_VERSION = "0.35.0";
|
package/dist/types.d.ts
CHANGED
|
@@ -201,6 +201,10 @@ export interface EffectRouteNode {
|
|
|
201
201
|
timeoutMs?: number;
|
|
202
202
|
}
|
|
203
203
|
export interface RouteNode {
|
|
204
|
+
/** Transport-level idempotency contract, independent of route command binding. */
|
|
205
|
+
idempotency?: "required" | "none";
|
|
206
|
+
/** Explicit query cache tags exposed to generated clients. */
|
|
207
|
+
tags?: string[];
|
|
204
208
|
parse?: "none";
|
|
205
209
|
allowDeleteBody?: true;
|
|
206
210
|
contract?: {
|
|
@@ -288,12 +292,14 @@ export interface ControllerNode {
|
|
|
288
292
|
}
|
|
289
293
|
export interface CommandNode {
|
|
290
294
|
rpc?: string;
|
|
295
|
+
branches?: CommandBranchNode[];
|
|
291
296
|
className: string;
|
|
292
297
|
name: string;
|
|
293
298
|
permission?: string;
|
|
294
299
|
transaction: "required" | "none";
|
|
295
300
|
audit?: string;
|
|
296
301
|
idempotency: "required" | "none";
|
|
302
|
+
tenantScope?: "required" | "none";
|
|
297
303
|
/** Automatically registered without manual module declaration. */
|
|
298
304
|
standalone?: boolean;
|
|
299
305
|
/** Infrastructure resources this command uses, with the declared operations. */
|
|
@@ -301,6 +307,14 @@ export interface CommandNode {
|
|
|
301
307
|
/** Explicit aspects applied around this command. */
|
|
302
308
|
aspects?: AspectRefNode[];
|
|
303
309
|
}
|
|
310
|
+
export interface CommandBranchNode {
|
|
311
|
+
when: string;
|
|
312
|
+
rpc: string;
|
|
313
|
+
transaction: "required" | "none";
|
|
314
|
+
audit?: string;
|
|
315
|
+
idempotency: "required" | "none";
|
|
316
|
+
boundary?: "database" | "external";
|
|
317
|
+
}
|
|
304
318
|
export interface JobNode {
|
|
305
319
|
className: string;
|
|
306
320
|
name: string;
|
|
@@ -322,6 +336,7 @@ export interface JobNode {
|
|
|
322
336
|
maxAttempts?: number;
|
|
323
337
|
/** Adapter-owned idempotency requirement. */
|
|
324
338
|
idempotency?: JobIdempotency;
|
|
339
|
+
tenantScope?: "required" | "none";
|
|
325
340
|
/** Infrastructure resources this job uses, with the declared operations. */
|
|
326
341
|
uses?: InfraResourceUseRef[];
|
|
327
342
|
aspects?: AspectRefNode[];
|
|
@@ -329,6 +344,7 @@ export interface JobNode {
|
|
|
329
344
|
export interface QueryNode {
|
|
330
345
|
className: string;
|
|
331
346
|
name: string;
|
|
347
|
+
tenantScope?: "required" | "none";
|
|
332
348
|
}
|
|
333
349
|
export interface FeatureTransitionNode {
|
|
334
350
|
name: string;
|
|
@@ -337,13 +353,29 @@ export interface FeatureTransitionNode {
|
|
|
337
353
|
permission?: string;
|
|
338
354
|
command?: string;
|
|
339
355
|
route?: string;
|
|
356
|
+
routeBinding?: "command" | "controller";
|
|
340
357
|
transaction?: "required" | "none";
|
|
341
358
|
idempotency?: "required" | "none";
|
|
342
359
|
audit?: string;
|
|
360
|
+
/** Job that continues the transition after the durable write is committed. */
|
|
361
|
+
job?: string;
|
|
362
|
+
/** Explicit query tags invalidated after the transition succeeds. */
|
|
363
|
+
invalidateTags?: string[];
|
|
364
|
+
persistence?: FeaturePersistenceNode;
|
|
365
|
+
}
|
|
366
|
+
export interface FeaturePersistenceNode {
|
|
367
|
+
boundary: "database" | "external";
|
|
368
|
+
optimisticLock: "required" | "none";
|
|
369
|
+
versionField?: string;
|
|
370
|
+
tenantField?: string;
|
|
371
|
+
stateField?: string;
|
|
372
|
+
receipt: "required" | "none";
|
|
373
|
+
reconciliation: "required" | "none";
|
|
343
374
|
}
|
|
344
375
|
export interface FeatureSpecNode {
|
|
345
376
|
name: string;
|
|
346
377
|
states: string[];
|
|
378
|
+
tenantField?: string;
|
|
347
379
|
transitions: FeatureTransitionNode[];
|
|
348
380
|
file?: string;
|
|
349
381
|
line?: number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@supacloud/compiler",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.49.0",
|
|
4
4
|
"description": "Static compiler for @supacloud/app metadata: builds the application graph from AST, validates it, and generates reflection-free factory code",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
"directory": "packages/compiler"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@supacloud/db": "0.
|
|
61
|
-
"@supacloud/delivery": "0.
|
|
60
|
+
"@supacloud/db": "0.20.0",
|
|
61
|
+
"@supacloud/delivery": "0.21.0",
|
|
62
62
|
"typebox": "1.3.37",
|
|
63
63
|
"@graphql-codegen/core": "^6.2.2",
|
|
64
64
|
"@graphql-codegen/typed-document-node": "^7.2.0",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"graphql": "^16"
|
|
69
69
|
},
|
|
70
70
|
"overrides": {
|
|
71
|
-
"@supacloud/contracts": "0.
|
|
71
|
+
"@supacloud/contracts": "0.13.0",
|
|
72
72
|
"@graphql-tools/utils": "^12.0.4",
|
|
73
73
|
"@whatwg-node/promise-helpers": "2.0.0"
|
|
74
74
|
},
|