@supacloud/compiler 0.55.0 → 0.56.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.
@@ -1 +1 @@
1
- export declare const MIGRATION_APP_VERSION = "0.36.0";
1
+ export declare const MIGRATION_APP_VERSION = "0.37.0";
@@ -1 +1 @@
1
- export declare const MIGRATION_ELYSIA_VERSION = "0.38.1";
1
+ export declare const MIGRATION_ELYSIA_VERSION = "0.39.0";
package/dist/types.d.ts CHANGED
@@ -355,6 +355,142 @@ export interface JobNode {
355
355
  uses?: InfraResourceUseRef[];
356
356
  aspects?: AspectRefNode[];
357
357
  }
358
+ /** Static provider information exposed to deployment and tooling consumers. */
359
+ export interface ExecutionPlanProvider {
360
+ token: string;
361
+ kind: ProviderKind;
362
+ scope: Scope;
363
+ deps: string[];
364
+ optionalDeps: string[];
365
+ selfDeps: string[];
366
+ skipSelfDeps: string[];
367
+ hostDeps: string[];
368
+ multi: boolean;
369
+ exported: boolean;
370
+ lifecycle: {
371
+ init: boolean;
372
+ destroy: boolean;
373
+ };
374
+ }
375
+ export interface ExecutionPlanProviderEdge {
376
+ from: string;
377
+ to: string;
378
+ relation: "local" | "imported" | "root" | "context" | "external" | "unresolved";
379
+ }
380
+ export interface ExecutionPlanRoute {
381
+ method: RouteNode["method"];
382
+ path: string;
383
+ controller: string;
384
+ handler: string;
385
+ scope: Scope;
386
+ executor: "route" | "command";
387
+ invoker: "direct" | "pipeline";
388
+ commandBoundary?: "route" | "handler";
389
+ effect?: EffectRouteNode;
390
+ stages: string[];
391
+ command?: string;
392
+ guards: string[];
393
+ canMatch: string[];
394
+ canDeactivate: string[];
395
+ resolvers: string[];
396
+ aspects: string[];
397
+ plugin: {
398
+ name: string;
399
+ registration: "registerRoutes";
400
+ lifecycle: string[];
401
+ macros: string[];
402
+ conditions: string;
403
+ };
404
+ }
405
+ export interface ExecutionPlanCommand {
406
+ name: string;
407
+ className: string;
408
+ executor: "commandExecutor";
409
+ adapter: string | null;
410
+ permission: string | null;
411
+ audit: string | null;
412
+ transaction: CommandNode["transaction"];
413
+ idempotency: CommandNode["idempotency"];
414
+ branches: CommandBranchNode[];
415
+ tenantScope?: CommandNode["tenantScope"];
416
+ requiredCapabilities: {
417
+ permission: boolean;
418
+ audit: boolean;
419
+ idempotency: boolean;
420
+ transaction: boolean;
421
+ };
422
+ aspects: string[];
423
+ }
424
+ export interface ExecutionPlanJob {
425
+ name: string;
426
+ className: string;
427
+ scope: Scope;
428
+ mode: JobMode;
429
+ timeoutSec: number | null;
430
+ maxAttempts: number | null;
431
+ idempotency: JobIdempotency | null;
432
+ aspects: string[];
433
+ }
434
+ export interface ExecutionPlanModule {
435
+ name: string;
436
+ className: string;
437
+ tags: string[];
438
+ imports: string[];
439
+ providers: ExecutionPlanProvider[];
440
+ providerEdges: ExecutionPlanProviderEdge[];
441
+ scopes: {
442
+ application: string[];
443
+ request: string[];
444
+ job: string[];
445
+ };
446
+ lifecycle: {
447
+ initialize: Array<{
448
+ key: string;
449
+ index?: number;
450
+ }>;
451
+ destroy: Array<{
452
+ key: string;
453
+ index?: number;
454
+ }>;
455
+ requestDestroy: Array<{
456
+ key: string;
457
+ index?: number;
458
+ }>;
459
+ jobDestroy: Array<{
460
+ key: string;
461
+ index?: number;
462
+ }>;
463
+ };
464
+ plugin: {
465
+ name: string;
466
+ lifecycle: string[];
467
+ macros: string[];
468
+ conditions: string;
469
+ routeCount: number;
470
+ };
471
+ routes: ExecutionPlanRoute[];
472
+ commands: ExecutionPlanCommand[];
473
+ jobs: ExecutionPlanJob[];
474
+ aspects: string[];
475
+ }
476
+ /** Versioned, transport-aware plan emitted alongside static application factories. */
477
+ export interface CompiledExecutionManifest {
478
+ version: 1;
479
+ compiler: "@supacloud/compiler";
480
+ host: {
481
+ adapter: "elysia";
482
+ api: "2.x";
483
+ reflection: false;
484
+ proxy: false;
485
+ };
486
+ di: {
487
+ runtime: "angular-compatible";
488
+ generation: "static";
489
+ scopes: Scope[];
490
+ };
491
+ boundaries: ModuleBoundaryRule[];
492
+ modules: ExecutionPlanModule[];
493
+ }
358
494
  export interface QueryNode {
359
495
  className: string;
360
496
  name: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@supacloud/compiler",
3
- "version": "0.55.0",
3
+ "version": "0.56.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",