@supacloud/compiler 0.26.0 → 0.27.2

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.
@@ -5,3 +5,4 @@ export interface BundledDeliveryTarget {
5
5
  runtimeImports: string[];
6
6
  }
7
7
  export declare function bundleDeliveryTarget(name: string, code: string, project: string, generatedDirectory: string, options: DeliveryOptions): Promise<BundledDeliveryTarget>;
8
+ export declare function bundleDeliveryTargetInProcess(name: string, code: string, project: string, generatedDirectory: string, options: DeliveryOptions): Promise<BundledDeliveryTarget>;
@@ -0,0 +1,15 @@
1
+ import { type ExecutionContextPack } from "./execution-context";
2
+ export declare class DeliveryContextError extends Error {
3
+ readonly code: "DELIVERY_CONTEXT_INVALID" | "DELIVERY_CONTEXT_IDENTITY_MISMATCH" | "DELIVERY_CONTEXT_INTEGRITY_FAILED";
4
+ constructor(code: "DELIVERY_CONTEXT_INVALID" | "DELIVERY_CONTEXT_IDENTITY_MISMATCH" | "DELIVERY_CONTEXT_INTEGRITY_FAILED");
5
+ }
6
+ export interface DeliveryExecutionContextPack extends Omit<ExecutionContextPack, "correlation"> {
7
+ correlation: "verified-build-snapshot";
8
+ delivery: {
9
+ target: string;
10
+ objectId: string;
11
+ artifactVerified: true;
12
+ };
13
+ }
14
+ /** Local artifact integrity only. Caller-supplied events do not attest execution or deployment. */
15
+ export declare function createDeliveryExecutionContextPack(manifestPath: string, target: string, subject: string, observations: unknown, requestId: string): Promise<DeliveryExecutionContextPack>;
@@ -1,17 +1 @@
1
- import type { DeliveryObject } from "./delivery-build-schema";
2
- export declare const digest: (value: string | Uint8Array) => string;
3
- export declare function canonical(value: unknown): string;
4
- export declare function inside(parent: string, path: string): boolean;
5
- export declare function exists(path: string): Promise<boolean>;
6
- /** The anchor must already be canonical; reject links in every descendant component. */
7
- export declare function noLinks(anchor: string, path: string): Promise<void>;
8
- export declare function readOwned(anchor: string, path: string): Promise<Uint8Array>;
9
- export declare function reserveOutput(project: string, requested: string): Promise<{
10
- path: string;
11
- release(): Promise<void>;
12
- }>;
13
- export declare function writeArtifact(root: string, path: string, content: string | Uint8Array): Promise<void>;
14
- export declare function artifactInventory(root: string): Promise<DeliveryObject["files"]>;
15
- /** Snapshot application sources before graph analysis, excluding generated output. */
16
- export declare function sourceInventory(root: string, output: string): Promise<Map<string, string>>;
17
- export declare function publishPointer(root: string, content: string): Promise<boolean>;
1
+ export * from "@supacloud/delivery/files";
@@ -0,0 +1,2 @@
1
+ /** Append a typed host boundary without changing the target's module ownership. */
2
+ export declare function renderDeliveryHttpEntry(generatedDirectory: string, hostPath: string): string;
@@ -0,0 +1,2 @@
1
+ /** Resolve private literal-only import wrappers without permitting an open dependency set. */
2
+ export declare function staticDeliveryImports(path: string, contents: Uint8Array): Uint8Array;
@@ -0,0 +1,2 @@
1
+ export { readDeliveryMigrationArchive } from "@supacloud/delivery";
2
+ export type { DeliveryMigrationArchive } from "@supacloud/delivery";
@@ -0,0 +1,16 @@
1
+ import type { DeliveryOptions } from "./delivery-schema";
2
+ type MigrationInput = NonNullable<NonNullable<DeliveryOptions["build"]>["migrations"]>[number];
3
+ /** Archive declared SQL, without interpreting compatibility or authorizing execution. */
4
+ export declare function prepareDeliveryMigrations(project: string, generatedRoot: string, declarations?: readonly MigrationInput[]): Promise<{
5
+ entries: {
6
+ version: string;
7
+ name: string;
8
+ executor: MigrationInput["executor"];
9
+ path: string;
10
+ sha256: string;
11
+ bytes: number;
12
+ }[];
13
+ files: Map<string, Uint8Array<ArrayBufferLike>>;
14
+ inputs: Map<string, string>;
15
+ }>;
16
+ export {};
@@ -0,0 +1,4 @@
1
+ import { APPLICATION_RUNTIME_PROBE_PATH } from "@supacloud/delivery";
2
+ export { APPLICATION_RUNTIME_PROBE_PATH };
3
+ /** Inline the small host contract so detached apps need no extra runtime package. */
4
+ export declare function renderDeliveryRuntimeIdentity(): string;
@@ -2,4 +2,12 @@ import type { ApplicationGraph } from "./types";
2
2
  import type { DeliveryTarget } from "./delivery-schema";
3
3
  import { type GenerateOptions } from "./generate";
4
4
  /** Keep conservative service factories while restricting exposed route/job descriptors. */
5
- export declare function renderDeliveryTarget(graph: ApplicationGraph, target: DeliveryTarget, options: GenerateOptions): import("./generate").RenderedArtifacts;
5
+ export declare function renderDeliveryTarget(graph: ApplicationGraph, target: DeliveryTarget, options: GenerateOptions): {
6
+ executionSnapshot: string;
7
+ applicationCode: string;
8
+ manifestJson: string;
9
+ contractsManifestJson: string;
10
+ clientCode?: string;
11
+ openApiCode?: string;
12
+ permissionsCode?: string;
13
+ };
@@ -1,186 +1 @@
1
- import { type Static } from "@sinclair/typebox";
2
- export declare const DeliveryFilePathSchema: import("@sinclair/typebox").TString;
3
- export declare const DeliveryOptionsSchema: import("@sinclair/typebox").TObject<{
4
- version: import("@sinclair/typebox").TLiteral<1>;
5
- targets: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
6
- name: import("@sinclair/typebox").TString;
7
- kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"api">, import("@sinclair/typebox").TLiteral<"jobs">, import("@sinclair/typebox").TLiteral<"webhook">]>;
8
- modules: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
9
- isolation: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"shared">, import("@sinclair/typebox").TLiteral<"process">]>>;
10
- capabilities: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
11
- }>>>;
12
- runtime: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
13
- processIsolation: import("@sinclair/typebox").TBoolean;
14
- durableQueue: import("@sinclair/typebox").TBoolean;
15
- capabilities: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
16
- }>>;
17
- build: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
18
- minify: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
19
- environmentContract: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
20
- assets: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
21
- target: import("@sinclair/typebox").TString;
22
- source: import("@sinclair/typebox").TString;
23
- path: import("@sinclair/typebox").TString;
24
- }>>>;
25
- }>>;
26
- }>;
27
- export type DeliveryOptions = Static<typeof DeliveryOptionsSchema>;
28
- export declare const DeliveryDiagnosticSchema: import("@sinclair/typebox").TObject<{
29
- severity: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"error">, import("@sinclair/typebox").TLiteral<"warn">]>;
30
- code: import("@sinclair/typebox").TString;
31
- message: import("@sinclair/typebox").TString;
32
- suggestion: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
33
- file: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
34
- line: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
35
- }>;
36
- export declare const DeliveryTargetSchema: import("@sinclair/typebox").TObject<{
37
- name: import("@sinclair/typebox").TString;
38
- kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"api">, import("@sinclair/typebox").TLiteral<"jobs">, import("@sinclair/typebox").TLiteral<"webhook">]>;
39
- isolation: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"shared">, import("@sinclair/typebox").TLiteral<"process">]>;
40
- roots: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
41
- modules: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
42
- name: import("@sinclair/typebox").TString;
43
- reason: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"owner">, import("@sinclair/typebox").TLiteral<"dependency">]>;
44
- importedBy: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
45
- }>>;
46
- routes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
47
- module: import("@sinclair/typebox").TString;
48
- controller: import("@sinclair/typebox").TString;
49
- handler: import("@sinclair/typebox").TString;
50
- method: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"GET">, import("@sinclair/typebox").TLiteral<"POST">, import("@sinclair/typebox").TLiteral<"PUT">, import("@sinclair/typebox").TLiteral<"PATCH">, import("@sinclair/typebox").TLiteral<"DELETE">, import("@sinclair/typebox").TLiteral<"HEAD">, import("@sinclair/typebox").TLiteral<"OPTIONS">]>;
51
- path: import("@sinclair/typebox").TString;
52
- command: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
53
- reason: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"default-http">, import("@sinclair/typebox").TLiteral<"explicit-module">]>;
54
- }>>;
55
- jobs: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
56
- module: import("@sinclair/typebox").TString;
57
- name: import("@sinclair/typebox").TString;
58
- className: import("@sinclair/typebox").TString;
59
- serviceKey: import("@sinclair/typebox").TString;
60
- reason: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"declared-job">, import("@sinclair/typebox").TLiteral<"explicit-module">]>;
61
- }>>;
62
- externalTokens: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
63
- requirements: import("@sinclair/typebox").TObject<{
64
- processIsolation: import("@sinclair/typebox").TBoolean;
65
- durableQueue: import("@sinclair/typebox").TBoolean;
66
- capabilities: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
67
- }>;
68
- runtimeStatus: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"unchecked">, import("@sinclair/typebox").TLiteral<"declared-compatible">]>;
69
- }>;
70
- export declare const DeliveryPlanSchema: import("@sinclair/typebox").TObject<{
71
- schemaVersion: import("@sinclair/typebox").TLiteral<1>;
72
- policyVersion: import("@sinclair/typebox").TLiteral<"module-workload-v1">;
73
- digestScope: import("@sinclair/typebox").TLiteral<"topology-only">;
74
- topologyDigest: import("@sinclair/typebox").TString;
75
- deploymentReady: import("@sinclair/typebox").TLiteral<false>;
76
- targets: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
77
- name: import("@sinclair/typebox").TString;
78
- kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"api">, import("@sinclair/typebox").TLiteral<"jobs">, import("@sinclair/typebox").TLiteral<"webhook">]>;
79
- isolation: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"shared">, import("@sinclair/typebox").TLiteral<"process">]>;
80
- roots: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
81
- modules: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
82
- name: import("@sinclair/typebox").TString;
83
- reason: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"owner">, import("@sinclair/typebox").TLiteral<"dependency">]>;
84
- importedBy: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
85
- }>>;
86
- routes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
87
- module: import("@sinclair/typebox").TString;
88
- controller: import("@sinclair/typebox").TString;
89
- handler: import("@sinclair/typebox").TString;
90
- method: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"GET">, import("@sinclair/typebox").TLiteral<"POST">, import("@sinclair/typebox").TLiteral<"PUT">, import("@sinclair/typebox").TLiteral<"PATCH">, import("@sinclair/typebox").TLiteral<"DELETE">, import("@sinclair/typebox").TLiteral<"HEAD">, import("@sinclair/typebox").TLiteral<"OPTIONS">]>;
91
- path: import("@sinclair/typebox").TString;
92
- command: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
93
- reason: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"default-http">, import("@sinclair/typebox").TLiteral<"explicit-module">]>;
94
- }>>;
95
- jobs: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
96
- module: import("@sinclair/typebox").TString;
97
- name: import("@sinclair/typebox").TString;
98
- className: import("@sinclair/typebox").TString;
99
- serviceKey: import("@sinclair/typebox").TString;
100
- reason: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"declared-job">, import("@sinclair/typebox").TLiteral<"explicit-module">]>;
101
- }>>;
102
- externalTokens: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
103
- requirements: import("@sinclair/typebox").TObject<{
104
- processIsolation: import("@sinclair/typebox").TBoolean;
105
- durableQueue: import("@sinclair/typebox").TBoolean;
106
- capabilities: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
107
- }>;
108
- runtimeStatus: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"unchecked">, import("@sinclair/typebox").TLiteral<"declared-compatible">]>;
109
- }>>;
110
- }>;
111
- export declare const DeliveryPlanResultSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
112
- ok: import("@sinclair/typebox").TLiteral<true>;
113
- plan: import("@sinclair/typebox").TObject<{
114
- schemaVersion: import("@sinclair/typebox").TLiteral<1>;
115
- policyVersion: import("@sinclair/typebox").TLiteral<"module-workload-v1">;
116
- digestScope: import("@sinclair/typebox").TLiteral<"topology-only">;
117
- topologyDigest: import("@sinclair/typebox").TString;
118
- deploymentReady: import("@sinclair/typebox").TLiteral<false>;
119
- targets: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
120
- name: import("@sinclair/typebox").TString;
121
- kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"api">, import("@sinclair/typebox").TLiteral<"jobs">, import("@sinclair/typebox").TLiteral<"webhook">]>;
122
- isolation: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"shared">, import("@sinclair/typebox").TLiteral<"process">]>;
123
- roots: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
124
- modules: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
125
- name: import("@sinclair/typebox").TString;
126
- reason: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"owner">, import("@sinclair/typebox").TLiteral<"dependency">]>;
127
- importedBy: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
128
- }>>;
129
- routes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
130
- module: import("@sinclair/typebox").TString;
131
- controller: import("@sinclair/typebox").TString;
132
- handler: import("@sinclair/typebox").TString;
133
- method: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"GET">, import("@sinclair/typebox").TLiteral<"POST">, import("@sinclair/typebox").TLiteral<"PUT">, import("@sinclair/typebox").TLiteral<"PATCH">, import("@sinclair/typebox").TLiteral<"DELETE">, import("@sinclair/typebox").TLiteral<"HEAD">, import("@sinclair/typebox").TLiteral<"OPTIONS">]>;
134
- path: import("@sinclair/typebox").TString;
135
- command: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
136
- reason: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"default-http">, import("@sinclair/typebox").TLiteral<"explicit-module">]>;
137
- }>>;
138
- jobs: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
139
- module: import("@sinclair/typebox").TString;
140
- name: import("@sinclair/typebox").TString;
141
- className: import("@sinclair/typebox").TString;
142
- serviceKey: import("@sinclair/typebox").TString;
143
- reason: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"declared-job">, import("@sinclair/typebox").TLiteral<"explicit-module">]>;
144
- }>>;
145
- externalTokens: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
146
- requirements: import("@sinclair/typebox").TObject<{
147
- processIsolation: import("@sinclair/typebox").TBoolean;
148
- durableQueue: import("@sinclair/typebox").TBoolean;
149
- capabilities: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
150
- }>;
151
- runtimeStatus: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"unchecked">, import("@sinclair/typebox").TLiteral<"declared-compatible">]>;
152
- }>>;
153
- }>;
154
- diagnostics: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
155
- severity: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"error">, import("@sinclair/typebox").TLiteral<"warn">]>;
156
- code: import("@sinclair/typebox").TString;
157
- message: import("@sinclair/typebox").TString;
158
- suggestion: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
159
- file: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
160
- line: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
161
- }>>;
162
- written: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
163
- }>, import("@sinclair/typebox").TObject<{
164
- ok: import("@sinclair/typebox").TLiteral<false>;
165
- plan: import("@sinclair/typebox").TNull;
166
- diagnostics: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
167
- severity: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"error">, import("@sinclair/typebox").TLiteral<"warn">]>;
168
- code: import("@sinclair/typebox").TString;
169
- message: import("@sinclair/typebox").TString;
170
- suggestion: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
171
- file: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
172
- line: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
173
- }>>;
174
- written: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
175
- }>]>;
176
- export type DeliveryTarget = Static<typeof DeliveryTargetSchema>;
177
- export type DeliveryPlan = Static<typeof DeliveryPlanSchema>;
178
- export type DeliveryDiagnostic = Static<typeof DeliveryDiagnosticSchema>;
179
- export type DeliveryPlanResult = Static<typeof DeliveryPlanResultSchema>;
180
- export declare class DeliveryConfigurationError extends Error {
181
- readonly code = "delivery-config-invalid";
182
- constructor();
183
- }
184
- export declare function parseDeliveryOptions(value: unknown): DeliveryOptions;
185
- /** Validate plans received from files/messages before using their typed contract. */
186
- export declare function parseDeliveryPlanResult(value: unknown): DeliveryPlanResult;
1
+ export * from "@supacloud/delivery/schema";
@@ -0,0 +1,2 @@
1
+ /** The host owns polling and receipts; this entry owns only process lifetime. */
2
+ export declare function renderDeliveryWorkerEntry(generatedDirectory: string, hostPath: string): string;
@@ -0,0 +1,68 @@
1
+ import type { ExecutionPlan } from "./inspect";
2
+ import { type ExecutionSnapshot } from "./execution-snapshot";
3
+ import type { ApplicationGraph } from "./types";
4
+ export declare const EXECUTION_CONTEXT_LIMITS: {
5
+ readonly inputBytes: number;
6
+ readonly inputEvents: number;
7
+ readonly outputBytes: number;
8
+ readonly events: number;
9
+ readonly modules: number;
10
+ readonly files: number;
11
+ readonly diagnostics: number;
12
+ readonly plans: number;
13
+ };
14
+ interface ExecutionMetadata {
15
+ kind: "route" | "command" | "job";
16
+ operation: string;
17
+ stage: string;
18
+ phase: "started" | "succeeded" | "failed";
19
+ requestId?: string;
20
+ durationMs?: number;
21
+ }
22
+ export declare class ExecutionContextError extends Error {
23
+ readonly code: "EXECUTION_METADATA_INVALID" | "EXECUTION_METADATA_UNREADABLE" | "EXECUTION_CONTEXT_NOT_FOUND" | "EXECUTION_CONTEXT_TOO_LARGE";
24
+ constructor(code: "EXECUTION_METADATA_INVALID" | "EXECUTION_METADATA_UNREADABLE" | "EXECUTION_CONTEXT_NOT_FOUND" | "EXECUTION_CONTEXT_TOO_LARGE");
25
+ }
26
+ export interface ExecutionContextPack {
27
+ version: 1;
28
+ subject: string;
29
+ requestId: string;
30
+ correlation: "current-graph-only";
31
+ deploymentVerified: false;
32
+ eventsTrusted: false;
33
+ modules: Array<{
34
+ name: string;
35
+ file?: string;
36
+ }>;
37
+ files: string[];
38
+ executionPlans: ExecutionPlan[];
39
+ events: Array<ExecutionMetadata & {
40
+ index: number;
41
+ module: string;
42
+ }>;
43
+ diagnostics: Array<{
44
+ code: string;
45
+ severity: "error" | "warn";
46
+ file?: string;
47
+ line?: number;
48
+ repair?: {
49
+ type: string;
50
+ readiness: "preview" | "input-required" | "manual";
51
+ };
52
+ }>;
53
+ omitted: {
54
+ events: number;
55
+ modules: number;
56
+ files: number;
57
+ diagnostics: number;
58
+ plans: number;
59
+ unmatchedEvents: number;
60
+ };
61
+ limits: typeof EXECUTION_CONTEXT_LIMITS;
62
+ }
63
+ /** Read only a bounded regular file; parse failures never echo file contents or paths. */
64
+ export declare function readExecutionMetadata(path: string): Promise<unknown>;
65
+ /** Structural correlation only. Observations are untrusted hints, not audit or deployment receipts. */
66
+ export declare function createExecutionContextPack(graph: ApplicationGraph, subject: string, observations: unknown, requestId: string): ExecutionContextPack;
67
+ export declare function executionContextFromSnapshot(snapshot: ExecutionSnapshot, subject: string, observations: unknown, requestId: string): ExecutionContextPack;
68
+ export {};
@@ -0,0 +1,44 @@
1
+ import { Type, type Static } from "typebox";
2
+ import type { ApplicationGraph } from "./types";
3
+ declare const SnapshotSchema: Type.TObject<{
4
+ version: Type.TLiteral<1>;
5
+ plans: Type.TArray<Type.TObject<{
6
+ module: Type.TString;
7
+ kind: Type.TUnion<[Type.TLiteral<"route">, Type.TLiteral<"command">, Type.TLiteral<"job">]>;
8
+ name: Type.TString;
9
+ command: Type.TOptional<Type.TString>;
10
+ stages: Type.TArray<Type.TString>;
11
+ }>>;
12
+ commandAliases: Type.TArray<Type.TObject<{
13
+ module: Type.TString;
14
+ name: Type.TString;
15
+ alias: Type.TString;
16
+ }>>;
17
+ contexts: Type.TArray<Type.TObject<{
18
+ subject: Type.TString;
19
+ aliases: Type.TArray<Type.TString>;
20
+ modules: Type.TArray<Type.TObject<{
21
+ name: Type.TString;
22
+ file: Type.TOptional<Type.TString>;
23
+ }>>;
24
+ files: Type.TArray<Type.TString>;
25
+ diagnostics: Type.TArray<Type.TObject<{
26
+ code: Type.TString;
27
+ severity: Type.TUnion<[Type.TLiteral<"error">, Type.TLiteral<"warn">]>;
28
+ file: Type.TOptional<Type.TString>;
29
+ line: Type.TOptional<Type.TInteger>;
30
+ repair: Type.TOptional<Type.TObject<{
31
+ type: Type.TString;
32
+ readiness: Type.TUnion<[Type.TLiteral<"preview">, Type.TLiteral<"input-required">, Type.TLiteral<"manual">]>;
33
+ }>>;
34
+ }>>;
35
+ }>>;
36
+ }>;
37
+ export type ExecutionSnapshot = Static<typeof SnapshotSchema>;
38
+ export declare const EXECUTION_SNAPSHOT_MAX_BYTES = 1048576;
39
+ export declare function executionSourceFile(file: string | undefined): string | undefined;
40
+ /** Persist structural metadata only, never expressions, request data or diagnostic messages. */
41
+ export declare function createExecutionSnapshot(graph: ApplicationGraph, subjects?: string[]): ExecutionSnapshot;
42
+ export declare function parseExecutionSnapshot(value: unknown): ExecutionSnapshot;
43
+ export declare function serializedExecutionSnapshot(graph: ApplicationGraph): string;
44
+ export {};
package/dist/index.d.ts CHANGED
@@ -1,12 +1,16 @@
1
1
  export { analyzeProject } from "./analyze";
2
2
  export { createDeliveryPlan, planDeliveryProject, formatDeliveryPlan } from "./delivery-plan";
3
3
  export { buildDeliveryProject } from "./delivery-build";
4
+ export { readDeliveryMigrationArchive } from "./delivery-migration-archive";
5
+ export type { DeliveryMigrationArchive } from "./delivery-migration-archive";
4
6
  export { DeliveryBuildManifestSchema, DeliveryBuildResultSchema, parseDeliveryBuildManifest, parseDeliveryBuildResult } from "./delivery-build-schema";
5
7
  export type { DeliveryBuildManifest, DeliveryBuildResult, DeliveryObject } from "./delivery-build-schema";
6
8
  export { DeliveryOptionsSchema, DeliveryPlanSchema, DeliveryPlanResultSchema, DeliveryTargetSchema, DeliveryConfigurationError, parseDeliveryOptions, parseDeliveryPlanResult, } from "./delivery-schema";
7
9
  export type { DeliveryOptions, DeliveryPlan, DeliveryPlanResult, DeliveryTarget, DeliveryDiagnostic } from "./delivery-schema";
8
10
  export { generateFeatureSource, validateFeatureSpec } from "./feature";
9
11
  export { applyDiagnosticFix } from "./fixes";
12
+ export { createExecutionContextPack, readExecutionMetadata, EXECUTION_CONTEXT_LIMITS, ExecutionContextError } from "./execution-context";
13
+ export type { ExecutionContextPack } from "./execution-context";
10
14
  export type { AppliedDiagnosticFix, ApplyDiagnosticFixOptions } from "./fixes";
11
15
  export { createDiagnosticRepairPlan } from "./repair-plan";
12
16
  export type { DiagnosticRepair } from "./repair-plan";