@lunora/codegen 1.0.0-alpha.241 → 1.0.0-alpha.243
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/dist/index.d.mts +108 -58
- package/dist/index.d.ts +108 -58
- package/dist/index.mjs +1 -1
- package/dist/packem_shared/AGENTS_FILENAME-Bb2jxbOa.mjs +1 -0
- package/dist/packem_shared/CONTAINERS_FILENAME-CGB4bqUr.mjs +1 -0
- package/dist/packem_shared/DEFAULT_TARGET-wK6-Tado.mjs +1 -0
- package/dist/packem_shared/QUEUES_FILENAME-BzOl92QK.mjs +1 -0
- package/dist/packem_shared/SCHEMA_SNAPSHOT_FILENAME-DX6sZtLG.mjs +9 -0
- package/dist/packem_shared/WORKFLOWS_FILENAME-DNaUHGS8.mjs +1 -0
- package/dist/packem_shared/{discoverCrons-MfKw7IFf.mjs → discoverCrons-0lNudk0S.mjs} +1 -1
- package/dist/packem_shared/emitAgents-C3ygr0M8.mjs +1 -0
- package/dist/packem_shared/{emitApi-CJ9ziZnP.mjs → emitApi-DdW9RyGG.mjs} +22 -22
- package/dist/packem_shared/{emitApp-CgXCWBms.mjs → emitApp-D_9NVcvv.mjs} +2 -2
- package/dist/packem_shared/{emitCrons-BP2xBXDJ.mjs → emitCrons-BRKXFGFu.mjs} +11 -11
- package/dist/packem_shared/{emitFunctions-BqAz1ssY.mjs → emitFunctions-BgNeOZt_.mjs} +1 -1
- package/dist/packem_shared/{emitServer-BEo_fCY8.mjs → emitServer-pF_fhA82.mjs} +54 -52
- package/dist/packem_shared/emitShard-DID_s1FK.mjs +1 -0
- package/dist/packem_shared/ir-DBSvhNa-.mjs +1 -0
- package/dist/packem_shared/{shard-BaHiawkc.mjs → shard-BVzXMtWg.mjs} +67 -67
- package/dist/packem_shared/{shard-runtime-B5SUfdZB.mjs → shard-runtime-oIXHEMU7.mjs} +53 -44
- package/package.json +10 -10
- package/dist/packem_shared/AGENTS_FILENAME-DoPI92Wu.mjs +0 -1
- package/dist/packem_shared/CONTAINERS_FILENAME-B6TFs82W.mjs +0 -1
- package/dist/packem_shared/DEFAULT_TARGET-DCpDuuUM.mjs +0 -1
- package/dist/packem_shared/QUEUES_FILENAME-CxkPcMH1.mjs +0 -1
- package/dist/packem_shared/SCHEMA_SNAPSHOT_FILENAME-CtkD-vQu.mjs +0 -9
- package/dist/packem_shared/WORKFLOWS_FILENAME-B_ZJxRSx.mjs +0 -1
- package/dist/packem_shared/emitAgents-CoNw0AKK.mjs +0 -1
- package/dist/packem_shared/emitShard-DFgzghbs.mjs +0 -1
- package/dist/packem_shared/ir-BgM8A3XV.mjs +0 -1
package/dist/index.d.mts
CHANGED
|
@@ -693,28 +693,37 @@ interface CronJobIR {
|
|
|
693
693
|
name: string;
|
|
694
694
|
/**
|
|
695
695
|
* Set when the job targets a durable workflow (a `lunora/workflows.ts`
|
|
696
|
-
* export) instead of a function: the workflow's
|
|
697
|
-
* plus its export name. On each fire the worker starts a new workflow
|
|
696
|
+
* export) instead of a function: the workflow's class name (its
|
|
697
|
+
* `ctx.exports` key) plus its export name. On each fire the worker starts a new workflow
|
|
698
698
|
* INSTANCE (the {@link CronJobIR.args} become its `params`) rather than
|
|
699
699
|
* dispatching a one-shot function.
|
|
700
700
|
*/
|
|
701
701
|
workflow?: {
|
|
702
|
-
|
|
702
|
+
className: string;
|
|
703
703
|
exportName: string;
|
|
704
704
|
};
|
|
705
705
|
}
|
|
706
|
-
/**
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
706
|
+
/** A normalized container image source, as written into `wrangler.jsonc`. */
|
|
707
|
+
type ContainerImageIR = {
|
|
708
|
+
buildContext: string;
|
|
709
|
+
dockerfilePath: string;
|
|
710
|
+
kind: "dockerfile";
|
|
711
|
+
} | {
|
|
712
|
+
buildDir: string;
|
|
713
|
+
kind: "build";
|
|
714
|
+
} | {
|
|
715
|
+
kind: "registry";
|
|
716
|
+
reference: string;
|
|
717
|
+
};
|
|
718
|
+
/** A `durable_object` container's named image — a Dockerfile or a registry digest, never a Railpack build. */
|
|
719
|
+
type ContainerNamedImageIR = Exclude<ContainerImageIR, {
|
|
720
|
+
kind: "build";
|
|
721
|
+
}>;
|
|
722
|
+
/** The fields every container carries, whichever scheduling policy it uses. */
|
|
723
|
+
interface ContainerIRBase {
|
|
715
724
|
/** Durable Object binding name, e.g. `CONTAINER_TRANSCODER`. */
|
|
716
725
|
bindingName: string;
|
|
717
|
-
/** Static Dockerfile build args (wrangler `image_vars`), when declared as literals. */
|
|
726
|
+
/** Static Dockerfile build args (wrangler `image_vars` / named-image `build_vars`), when declared as literals. */
|
|
718
727
|
buildArgs?: Record<string, string>;
|
|
719
728
|
/** Generated DO class name, e.g. `TranscoderContainer`. */
|
|
720
729
|
className: string;
|
|
@@ -726,43 +735,58 @@ interface ContainerIR {
|
|
|
726
735
|
enableInternet?: boolean;
|
|
727
736
|
/** The `lunora/containers.ts` export name, e.g. `transcoder`. */
|
|
728
737
|
exportName: string;
|
|
729
|
-
/**
|
|
730
|
-
* Normalized image source: a local Dockerfile (`dockerfile`), a pre-built
|
|
731
|
-
* registry reference (`registry`), or a Railpack source directory (`build`)
|
|
732
|
-
* that the deploy step builds and pushes before wrangler runs.
|
|
733
|
-
*/
|
|
734
|
-
image: {
|
|
735
|
-
buildContext: string;
|
|
736
|
-
dockerfilePath: string;
|
|
737
|
-
kind: "dockerfile";
|
|
738
|
-
} | {
|
|
739
|
-
buildDir: string;
|
|
740
|
-
kind: "build";
|
|
741
|
-
} | {
|
|
742
|
-
kind: "registry";
|
|
743
|
-
reference: string;
|
|
744
|
-
};
|
|
745
|
-
/** Static `instanceType`, when declared. */
|
|
738
|
+
/** Static `instanceType`, when declared (the default size, under `durable_object`). */
|
|
746
739
|
instanceType?: string | {
|
|
747
740
|
diskMb?: number;
|
|
748
741
|
memoryMib?: number;
|
|
749
742
|
vcpu?: number;
|
|
750
743
|
};
|
|
751
|
-
/** Static `maxInstances`, when declared. */
|
|
752
|
-
maxInstances?: number;
|
|
753
744
|
/** Static wrangler `containers[].name` override, when declared. */
|
|
754
745
|
name?: string;
|
|
755
|
-
/** Static rolling-deploy tuning, when declared as literals. */
|
|
756
|
-
rollout?: {
|
|
757
|
-
gracePeriodSeconds?: number;
|
|
758
|
-
stepPercentage?: number;
|
|
759
|
-
};
|
|
760
746
|
/**
|
|
761
747
|
* The static `sleepAfter` value, when it was a literal. `undefined` means
|
|
762
748
|
* omitted (platform default `"10m"`) or non-literal. Lifted for the advisor.
|
|
763
749
|
*/
|
|
764
750
|
sleepAfter?: number | string;
|
|
765
751
|
}
|
|
752
|
+
/** A container under the default scheduling policy: one application image, a cap, and a rollout. */
|
|
753
|
+
interface DefaultScheduledContainerIR extends ContainerIRBase {
|
|
754
|
+
/**
|
|
755
|
+
* Normalized image source: a local Dockerfile (`dockerfile`), a pre-built
|
|
756
|
+
* registry reference (`registry`), or a Railpack source directory (`build`)
|
|
757
|
+
* that the deploy step builds and pushes before wrangler runs.
|
|
758
|
+
*/
|
|
759
|
+
image: ContainerImageIR;
|
|
760
|
+
/** Static `maxInstances`, when declared. */
|
|
761
|
+
maxInstances?: number;
|
|
762
|
+
/** Static rolling-deploy tuning, when declared as literals. */
|
|
763
|
+
rollout?: {
|
|
764
|
+
gracePeriodSeconds?: number;
|
|
765
|
+
stepPercentage?: number;
|
|
766
|
+
};
|
|
767
|
+
/** Absent under the default policy — the union's discriminant. */
|
|
768
|
+
schedulingPolicy?: never;
|
|
769
|
+
}
|
|
770
|
+
/**
|
|
771
|
+
* A container under the `durable_object` scheduling policy (wrangler
|
|
772
|
+
* `scheduling_policy`): each instance picks its image and size per start. Also
|
|
773
|
+
* the `containerRuntimeScheduling` platform signal.
|
|
774
|
+
*/
|
|
775
|
+
interface DurableObjectScheduledContainerIR extends ContainerIRBase {
|
|
776
|
+
/** The named images an instance can start from (wrangler `containers[].images`). */
|
|
777
|
+
images?: Record<string, ContainerNamedImageIR>;
|
|
778
|
+
schedulingPolicy: "durable_object";
|
|
779
|
+
}
|
|
780
|
+
/**
|
|
781
|
+
* A container lifted from a `defineContainer()` export in
|
|
782
|
+
* `lunora/containers.ts`, discriminated on its scheduling policy. Carries
|
|
783
|
+
* everything the emitters and the config layer need to wire wrangler
|
|
784
|
+
* (`containers[]` + the Durable Object binding + migration class) and the
|
|
785
|
+
* generated `_generated/containers.ts` DO class. Names are derived via
|
|
786
|
+
* `@lunora/container`'s shared helpers so codegen and the config layer can
|
|
787
|
+
* never disagree.
|
|
788
|
+
*/
|
|
789
|
+
type ContainerIR = DefaultScheduledContainerIR | DurableObjectScheduledContainerIR;
|
|
766
790
|
/**
|
|
767
791
|
* A workflow lifted from a `defineWorkflow()` export in `lunora/workflows.ts`.
|
|
768
792
|
* Carries what the emitters and the config layer need to wire the wrangler
|
|
@@ -773,18 +797,31 @@ interface ContainerIR {
|
|
|
773
797
|
* shared helpers so codegen and the config layer can never disagree.
|
|
774
798
|
*/
|
|
775
799
|
interface WorkflowIR {
|
|
776
|
-
/**
|
|
777
|
-
bindingName: string;
|
|
778
|
-
/** Generated `WorkflowEntrypoint` class name, e.g. `OrderPipelineWorkflow`. */
|
|
800
|
+
/** Generated `WorkflowEntrypoint` class name, e.g. `OrderPipelineWorkflow` — also its `exports` key and `ctx.exports` property. */
|
|
779
801
|
className: string;
|
|
802
|
+
/** Static `defaultRetention` literal → `exports.<Class>.default_retention`. */
|
|
803
|
+
defaultRetention?: {
|
|
804
|
+
errorRetention?: string;
|
|
805
|
+
successRetention?: string;
|
|
806
|
+
};
|
|
780
807
|
/** The `lunora/workflows.ts` export name, e.g. `orderPipeline`. */
|
|
781
808
|
exportName: string;
|
|
809
|
+
/** Static `limits` literal → `exports.<Class>.limits`. */
|
|
810
|
+
limits?: {
|
|
811
|
+
steps?: number;
|
|
812
|
+
};
|
|
782
813
|
/**
|
|
783
|
-
* The stable wrangler `
|
|
814
|
+
* The stable wrangler `exports.<Class>.name`. Defaults to the kebab-cased export
|
|
784
815
|
* name (`orderPipeline` → `order-pipeline`); a static `name:` literal in the
|
|
785
816
|
* definition overrides it.
|
|
786
817
|
*/
|
|
787
818
|
name: string;
|
|
819
|
+
/**
|
|
820
|
+
* Static `schedules` cron literals → `exports.<Class>.schedules`. Each one
|
|
821
|
+
* starts an instance on Cloudflare; gated by the `workflowSchedules`
|
|
822
|
+
* capability, since a host that ignores them would never run the workflow.
|
|
823
|
+
*/
|
|
824
|
+
schedules?: ReadonlyArray<string>;
|
|
788
825
|
/**
|
|
789
826
|
* Durable step labels lifted from the handler body — the first string-literal
|
|
790
827
|
* argument of every `ctx.step.do` / `.sleep` / `.sleepUntil` / `.waitForEvent`
|
|
@@ -807,14 +844,12 @@ interface WorkflowIR {
|
|
|
807
844
|
* the config layer can never disagree.
|
|
808
845
|
*/
|
|
809
846
|
interface AgentIR {
|
|
810
|
-
/**
|
|
811
|
-
bindingName: string;
|
|
812
|
-
/** Generated `WorkflowEntrypoint` class name, e.g. `SupportAgentWorkflow`. */
|
|
847
|
+
/** Generated `WorkflowEntrypoint` class name, e.g. `SupportAgentWorkflow` — also its `exports` key and `ctx.exports` property. */
|
|
813
848
|
className: string;
|
|
814
849
|
/** The `lunora/agents.ts` export name, e.g. `support`. */
|
|
815
850
|
exportName: string;
|
|
816
851
|
/**
|
|
817
|
-
* The stable wrangler `
|
|
852
|
+
* The stable wrangler `exports.<Class>.name`. Defaults to the kebab-cased export
|
|
818
853
|
* name (`support` → `agent-support`); a static `name:` literal in the
|
|
819
854
|
* definition overrides it.
|
|
820
855
|
*/
|
|
@@ -884,6 +919,12 @@ interface QueueIR {
|
|
|
884
919
|
* `name:` literal in the definition overrides it.
|
|
885
920
|
*/
|
|
886
921
|
name: string;
|
|
922
|
+
/**
|
|
923
|
+
* Set for a `defineSubscription(topic, …)` export: the `defineTopic` export it
|
|
924
|
+
* consumes. A subscription is an ordinary push queue everywhere except
|
|
925
|
+
* `ctx.*` — it is published to through `ctx.topics.<topic>`, never `ctx.queues`.
|
|
926
|
+
*/
|
|
927
|
+
topic?: string;
|
|
887
928
|
/** Push-consumer batch/retry tuning, mirrored onto the wrangler `queues.consumers[]` entry. */
|
|
888
929
|
tuning: {
|
|
889
930
|
deadLetterQueue?: string;
|
|
@@ -893,6 +934,15 @@ interface QueueIR {
|
|
|
893
934
|
retryDelay?: number;
|
|
894
935
|
};
|
|
895
936
|
}
|
|
937
|
+
/**
|
|
938
|
+
* A `defineTopic()` export in `lunora/queues.ts`. A topic deploys nothing of its
|
|
939
|
+
* own: each subscription is a {@link QueueIR} whose `topic` names this export, and
|
|
940
|
+
* that is the only record of the link (see {@link subscriptionsOf}).
|
|
941
|
+
*/
|
|
942
|
+
interface TopicIR {
|
|
943
|
+
/** The `lunora/queues.ts` export name, e.g. `signups`. */
|
|
944
|
+
exportName: string;
|
|
945
|
+
}
|
|
896
946
|
/**
|
|
897
947
|
* The feature-flag provider declared by the default export of `lunora/flags.ts`
|
|
898
948
|
* (`defineFlags({ provider, … })`). Discovery is **metadata-only** — codegen
|
|
@@ -2983,12 +3033,7 @@ declare const readPackageDependencies: (projectRoot: string) => Set<string> | un
|
|
|
2983
3033
|
declare const discoverQueries: (project: Project, lunoraDirectory: string) => QueryReadIR[];
|
|
2984
3034
|
/** The only file queues may be declared in — mirrors `lunora/workflows.ts`. */
|
|
2985
3035
|
declare const QUEUES_FILENAME = "queues.ts";
|
|
2986
|
-
/**
|
|
2987
|
-
* Discover every queue the project declares: exported `defineQueue()` calls in
|
|
2988
|
-
* `lunora/queues.ts`. Returns `[]` when the file doesn't exist. Only the
|
|
2989
|
-
* wrangler-relevant literals (`name`/`mode`/batch tuning) are read; the handler
|
|
2990
|
-
* body is runtime-only, so codegen never evaluates it.
|
|
2991
|
-
*/
|
|
3036
|
+
/** The queues half of {@link discoverQueueDeclarations} — what the config layer reconciles into wrangler. */
|
|
2992
3037
|
declare const discoverQueues: (project: Project, lunoraDirectory: string) => QueueIR[];
|
|
2993
3038
|
/**
|
|
2994
3039
|
* Discover `ctx.r2sql` accesses inside exported `query(...)` / `mutation(...)`
|
|
@@ -3067,8 +3112,9 @@ declare const WORKFLOWS_FILENAME = "workflows.ts";
|
|
|
3067
3112
|
/**
|
|
3068
3113
|
* Discover every workflow the project declares: exported `defineWorkflow()`
|
|
3069
3114
|
* calls in `lunora/workflows.ts`. Returns `[]` when the file doesn't exist. The
|
|
3070
|
-
*
|
|
3071
|
-
*
|
|
3115
|
+
* wrangler-relevant literals are the optional `name` override and the deploy
|
|
3116
|
+
* settings (`schedules`, `limits`, `defaultRetention`); the workflow body is
|
|
3117
|
+
* runtime-only, so codegen never evaluates it.
|
|
3072
3118
|
*/
|
|
3073
3119
|
declare const discoverWorkflows: (project: Project, lunoraDirectory: string) => WorkflowIR[];
|
|
3074
3120
|
/**
|
|
@@ -3269,11 +3315,13 @@ interface EmitServerOptions {
|
|
|
3269
3315
|
queues?: ReadonlyArray<QueueIR>;
|
|
3270
3316
|
schema?: SchemaIR;
|
|
3271
3317
|
storageRuleBuckets?: ReadonlyArray<string>;
|
|
3318
|
+
/** Topics declared via `defineTopic` exports — wires the typed `ctx.topics` publishers onto Mutation/Action contexts. */
|
|
3319
|
+
topics?: ReadonlyArray<TopicIR>;
|
|
3272
3320
|
/** The project depends on the `lunora` umbrella — import base packages via its subpaths. */
|
|
3273
3321
|
useUmbrella?: boolean;
|
|
3274
3322
|
workflows?: ReadonlyArray<WorkflowIR>;
|
|
3275
3323
|
}
|
|
3276
|
-
declare const emitServer: ({ agents, containers, env, hasAccessFacade, hasAi, hasAnalytics, hasBrowser, hasVectors, hasFlags, hasHyperdrive, hasImages, hasKv, hasNotify, hasPayments, hasPipelines, hasR2sql, hasX402, identity, queues, schema, storageRuleBuckets, useUmbrella, workflows }?: EmitServerOptions) => string;
|
|
3324
|
+
declare const emitServer: ({ agents, containers, env, hasAccessFacade, hasAi, hasAnalytics, hasBrowser, hasVectors, hasFlags, hasHyperdrive, hasImages, hasKv, hasNotify, hasPayments, hasPipelines, hasR2sql, hasX402, identity, queues, schema, storageRuleBuckets, topics, useUmbrella, workflows }?: EmitServerOptions) => string;
|
|
3277
3325
|
interface EmitShardOptions {
|
|
3278
3326
|
advisories?: ReadonlyArray<Finding>;
|
|
3279
3327
|
/** Every declared procedure — the health map's denominator, served via `getAdvisorProcedures`. */
|
|
@@ -3323,7 +3371,7 @@ interface EmitShardOptions {
|
|
|
3323
3371
|
maskMetadata?: MaskMetadataIR;
|
|
3324
3372
|
/** Custom mutators declared via `defineMutator` in `lunora/mutators.ts` — wires the `isCustomMutator` push-protocol override. */
|
|
3325
3373
|
mutators?: ReadonlyArray<MutatorIR>;
|
|
3326
|
-
/** Queues declared via `defineQueue` exports in `lunora/queues.ts` — wires the typed `ctx.queues` producers. */
|
|
3374
|
+
/** Queues declared via `defineQueue` / `defineSubscription` exports in `lunora/queues.ts` — wires the typed `ctx.queues` producers. */
|
|
3327
3375
|
queues?: ReadonlyArray<QueueIR>;
|
|
3328
3376
|
rlsMetadata?: RlsMetadataIR;
|
|
3329
3377
|
schema: SchemaIR;
|
|
@@ -3339,11 +3387,13 @@ interface EmitShardOptions {
|
|
|
3339
3387
|
shapes?: ReadonlyArray<ShapeIR>;
|
|
3340
3388
|
storageRules?: StorageRulesMetadataIR;
|
|
3341
3389
|
studioFeatures?: StudioFeaturesResult;
|
|
3390
|
+
/** Topics declared via `defineTopic` exports in `lunora/queues.ts` — wires `ctx.topics` to each subscription's queue binding. */
|
|
3391
|
+
topics?: ReadonlyArray<TopicIR>;
|
|
3342
3392
|
/** The project depends on the `lunora` umbrella — import base packages via its subpaths. */
|
|
3343
3393
|
useUmbrella?: boolean;
|
|
3344
3394
|
workflows?: ReadonlyArray<WorkflowIR>;
|
|
3345
3395
|
}
|
|
3346
|
-
declare const emitShard: ({ advisories, advisorProcedures, agents, containers, env, flagKeys, hasAccessFacade, hasAi, hasAnalytics, hasBrowser, hasFlags, hasHyperdrive, hasImages, hasKv, hasNotify, hasPayments, hasPipelines, hasR2sql, hasVectors, hasX402, maskMetadata, mutators, queues, rlsMetadata, schema, schemaSnapshot, shapes, storageRules, studioFeatures, useUmbrella, workflows }: EmitShardOptions) => string;
|
|
3396
|
+
declare const emitShard: ({ advisories, advisorProcedures, agents, containers, env, flagKeys, hasAccessFacade, hasAi, hasAnalytics, hasBrowser, hasFlags, hasHyperdrive, hasImages, hasKv, hasNotify, hasPayments, hasPipelines, hasR2sql, hasVectors, hasX402, maskMetadata, mutators, queues, rlsMetadata, schema, schemaSnapshot, shapes, storageRules, studioFeatures, topics, useUmbrella, workflows }: EmitShardOptions) => string;
|
|
3347
3397
|
/**
|
|
3348
3398
|
* Emit `_generated/containers.ts` — one container-enabled Durable Object class
|
|
3349
3399
|
* per `defineContainer` export, each a thin subclass of `LunoraContainer`
|
|
@@ -3382,7 +3432,7 @@ interface EmitAppOptions {
|
|
|
3382
3432
|
* ⇒ no wiring, byte-identical output for email-free (and agent-free) projects.
|
|
3383
3433
|
*/
|
|
3384
3434
|
emailAgents?: ReadonlyArray<{
|
|
3385
|
-
|
|
3435
|
+
className: string;
|
|
3386
3436
|
exportName: string;
|
|
3387
3437
|
}>;
|
|
3388
3438
|
/** App depends on `@lunora/cloudflare-access` → emit `.access()` (wire the Cloudflare Access `resolveIdentity`, composed ahead of `@lunora/auth` when both are present). */
|
|
@@ -4134,4 +4184,4 @@ declare const secretKindOf: (value: string) => string | undefined;
|
|
|
4134
4184
|
/** A redacted preview of a secret value — first 4 chars plus its length, never the full value. */
|
|
4135
4185
|
declare const redact: (value: string) => string;
|
|
4136
4186
|
declare const VERSION = "0.0.0";
|
|
4137
|
-
export { AGENTS_FILENAME, type AgentIR, type AuthApiCallIR, CONTAINERS_FILENAME, CodegenDiagnosticError, type CodegenOptions, type CodegenResult, type ContainerIR, type ContextPropertyCallIR, type CronJobIR, DEFAULT_TARGET, type DriftChange, type DriftRemediation, type DriftScope, type EmitAppOptions, FLAGS_FILENAME, type FieldSnapshot, type FlagsIR, type FunctionIR, GENERATED_HEADER, type HttpRouteIR, type IndexIR, type IndexSnapshot, type InsertWriteIR, LUNORA_ERROR_CODES, type LintSchemaOptions, type LoadedProjectConfig, type LunoraProjectConfig, MUTATORS_FILENAME, type MaskProcedureIR, type MigrationIR, type MutatorIR, NOTIFY_FILENAME, OPENRPC_VERSION, type OpenApiEmitInput, type OpenRpcDocument, type OpenRpcEmitInput, type OpenRpcMethod, PROJECT_CONFIG_FILENAMES, type PlatformDiagnostic, type ProjectConfigLiterals, type ProjectIR, QUEUES_FILENAME, type QueryReadIR, type QueueIR, type RelationSnapshot, type RlsMetadataIR, type RlsPolicyIR, type RlsProcedureIR, type RlsRoleIR, type RuntimeVerb, SCHEMA_SNAPSHOT_FILENAME, SCHEMA_SNAPSHOT_VERSION, SDK_LANGUAGES, SDK_TARGETS, SHAPES_FILENAME, type SandboxUsage, type SchemaDrift, type SchemaDriftDecision, type SchemaIR, type SchemaSnapshot, SchemaSnapshotParseError, type SdkFiles, type SdkMethod, type SdkNamespace, type SdkRenderInput, type SdkResult, type SdkTarget, type ShapeIR, type StorageRuleIR, type StorageRulesMetadataIR, type TableIR, type TableSnapshot, VERSION, type ValidatorIR, type VectorIndexIR, WORKFLOWS_FILENAME, type WorkflowIR, type WranglerVariableIR, buildOpenApiDocument, buildOpenRpcDocument, buildSchemaSnapshot, createCodegenProject, describeErrorLevelFindings, diagnosticAt, diffSchemaSnapshots, discoverAgents, discoverAuthApiCalls, discoverContainers, discoverCrons, discoverFlags, discoverFunctions, discoverHttpRoutes, discoverHyperdriveCalls, discoverInserts, discoverMaskProcedures, discoverMigrations, discoverMutators, discoverNondeterministicCalls, discoverNotifyCalls, discoverNotifyConfig, discoverQueries, discoverQueues, discoverR2sqlCalls, discoverRlsMetadata, discoverRlsProcedures, discoverSandboxUsage, discoverSchema, discoverShapes, discoverStorageRulesMetadata, discoverWorkflows, emitAgents, emitApi, emitApp, emitCollections, emitContainers, emitCrons, emitDataModel, emitDrizzleSchema, emitFunctions, emitOpenApi, emitOpenApiModule, emitOpenRpc, emitOpenRpcModule, emitScheduler, emitServer, emitShard, emitVectors, emitWorkflows, emitWranglerCronTriggers, errorAdvisoryNames, errorPlatformDiagnosticNames, evaluateSchemaDrift, findProjectConfigFile, findTsconfig, fingerprintSchemaSources, formatAdvisories, generateSdk, isD1GlobalTable, isHyperdriveGlobalTable, isTypedSchema, lintSchema, listLunoraSourceFiles, loadProjectConfig, parseSchemaSnapshot, platformMatrixIds, readPackageDependencies, readProjectConfigLiterals, readProjectTarget, redact, refreshCodegenProject, resolveCodegenTarget, runCodegen, schemaFromIr, secretKindOf, serializeSchemaSnapshot, sortedUniqueNames, toAdvisorContext, validatorIrToJsonSchema };
|
|
4187
|
+
export { AGENTS_FILENAME, type AgentIR, type AuthApiCallIR, CONTAINERS_FILENAME, CodegenDiagnosticError, type CodegenOptions, type CodegenResult, type ContainerIR, type ContainerImageIR, type ContainerNamedImageIR, type ContextPropertyCallIR, type CronJobIR, DEFAULT_TARGET, type DefaultScheduledContainerIR, type DriftChange, type DriftRemediation, type DriftScope, type DurableObjectScheduledContainerIR, type EmitAppOptions, FLAGS_FILENAME, type FieldSnapshot, type FlagsIR, type FunctionIR, GENERATED_HEADER, type HttpRouteIR, type IndexIR, type IndexSnapshot, type InsertWriteIR, LUNORA_ERROR_CODES, type LintSchemaOptions, type LoadedProjectConfig, type LunoraProjectConfig, MUTATORS_FILENAME, type MaskProcedureIR, type MigrationIR, type MutatorIR, NOTIFY_FILENAME, OPENRPC_VERSION, type OpenApiEmitInput, type OpenRpcDocument, type OpenRpcEmitInput, type OpenRpcMethod, PROJECT_CONFIG_FILENAMES, type PlatformDiagnostic, type ProjectConfigLiterals, type ProjectIR, QUEUES_FILENAME, type QueryReadIR, type QueueIR, type RelationSnapshot, type RlsMetadataIR, type RlsPolicyIR, type RlsProcedureIR, type RlsRoleIR, type RuntimeVerb, SCHEMA_SNAPSHOT_FILENAME, SCHEMA_SNAPSHOT_VERSION, SDK_LANGUAGES, SDK_TARGETS, SHAPES_FILENAME, type SandboxUsage, type SchemaDrift, type SchemaDriftDecision, type SchemaIR, type SchemaSnapshot, SchemaSnapshotParseError, type SdkFiles, type SdkMethod, type SdkNamespace, type SdkRenderInput, type SdkResult, type SdkTarget, type ShapeIR, type StorageRuleIR, type StorageRulesMetadataIR, type TableIR, type TableSnapshot, type TopicIR, VERSION, type ValidatorIR, type VectorIndexIR, WORKFLOWS_FILENAME, type WorkflowIR, type WranglerVariableIR, buildOpenApiDocument, buildOpenRpcDocument, buildSchemaSnapshot, createCodegenProject, describeErrorLevelFindings, diagnosticAt, diffSchemaSnapshots, discoverAgents, discoverAuthApiCalls, discoverContainers, discoverCrons, discoverFlags, discoverFunctions, discoverHttpRoutes, discoverHyperdriveCalls, discoverInserts, discoverMaskProcedures, discoverMigrations, discoverMutators, discoverNondeterministicCalls, discoverNotifyCalls, discoverNotifyConfig, discoverQueries, discoverQueues, discoverR2sqlCalls, discoverRlsMetadata, discoverRlsProcedures, discoverSandboxUsage, discoverSchema, discoverShapes, discoverStorageRulesMetadata, discoverWorkflows, emitAgents, emitApi, emitApp, emitCollections, emitContainers, emitCrons, emitDataModel, emitDrizzleSchema, emitFunctions, emitOpenApi, emitOpenApiModule, emitOpenRpc, emitOpenRpcModule, emitScheduler, emitServer, emitShard, emitVectors, emitWorkflows, emitWranglerCronTriggers, errorAdvisoryNames, errorPlatformDiagnosticNames, evaluateSchemaDrift, findProjectConfigFile, findTsconfig, fingerprintSchemaSources, formatAdvisories, generateSdk, isD1GlobalTable, isHyperdriveGlobalTable, isTypedSchema, lintSchema, listLunoraSourceFiles, loadProjectConfig, parseSchemaSnapshot, platformMatrixIds, readPackageDependencies, readProjectConfigLiterals, readProjectTarget, redact, refreshCodegenProject, resolveCodegenTarget, runCodegen, schemaFromIr, secretKindOf, serializeSchemaSnapshot, sortedUniqueNames, toAdvisorContext, validatorIrToJsonSchema };
|
package/dist/index.d.ts
CHANGED
|
@@ -693,28 +693,37 @@ interface CronJobIR {
|
|
|
693
693
|
name: string;
|
|
694
694
|
/**
|
|
695
695
|
* Set when the job targets a durable workflow (a `lunora/workflows.ts`
|
|
696
|
-
* export) instead of a function: the workflow's
|
|
697
|
-
* plus its export name. On each fire the worker starts a new workflow
|
|
696
|
+
* export) instead of a function: the workflow's class name (its
|
|
697
|
+
* `ctx.exports` key) plus its export name. On each fire the worker starts a new workflow
|
|
698
698
|
* INSTANCE (the {@link CronJobIR.args} become its `params`) rather than
|
|
699
699
|
* dispatching a one-shot function.
|
|
700
700
|
*/
|
|
701
701
|
workflow?: {
|
|
702
|
-
|
|
702
|
+
className: string;
|
|
703
703
|
exportName: string;
|
|
704
704
|
};
|
|
705
705
|
}
|
|
706
|
-
/**
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
706
|
+
/** A normalized container image source, as written into `wrangler.jsonc`. */
|
|
707
|
+
type ContainerImageIR = {
|
|
708
|
+
buildContext: string;
|
|
709
|
+
dockerfilePath: string;
|
|
710
|
+
kind: "dockerfile";
|
|
711
|
+
} | {
|
|
712
|
+
buildDir: string;
|
|
713
|
+
kind: "build";
|
|
714
|
+
} | {
|
|
715
|
+
kind: "registry";
|
|
716
|
+
reference: string;
|
|
717
|
+
};
|
|
718
|
+
/** A `durable_object` container's named image — a Dockerfile or a registry digest, never a Railpack build. */
|
|
719
|
+
type ContainerNamedImageIR = Exclude<ContainerImageIR, {
|
|
720
|
+
kind: "build";
|
|
721
|
+
}>;
|
|
722
|
+
/** The fields every container carries, whichever scheduling policy it uses. */
|
|
723
|
+
interface ContainerIRBase {
|
|
715
724
|
/** Durable Object binding name, e.g. `CONTAINER_TRANSCODER`. */
|
|
716
725
|
bindingName: string;
|
|
717
|
-
/** Static Dockerfile build args (wrangler `image_vars`), when declared as literals. */
|
|
726
|
+
/** Static Dockerfile build args (wrangler `image_vars` / named-image `build_vars`), when declared as literals. */
|
|
718
727
|
buildArgs?: Record<string, string>;
|
|
719
728
|
/** Generated DO class name, e.g. `TranscoderContainer`. */
|
|
720
729
|
className: string;
|
|
@@ -726,43 +735,58 @@ interface ContainerIR {
|
|
|
726
735
|
enableInternet?: boolean;
|
|
727
736
|
/** The `lunora/containers.ts` export name, e.g. `transcoder`. */
|
|
728
737
|
exportName: string;
|
|
729
|
-
/**
|
|
730
|
-
* Normalized image source: a local Dockerfile (`dockerfile`), a pre-built
|
|
731
|
-
* registry reference (`registry`), or a Railpack source directory (`build`)
|
|
732
|
-
* that the deploy step builds and pushes before wrangler runs.
|
|
733
|
-
*/
|
|
734
|
-
image: {
|
|
735
|
-
buildContext: string;
|
|
736
|
-
dockerfilePath: string;
|
|
737
|
-
kind: "dockerfile";
|
|
738
|
-
} | {
|
|
739
|
-
buildDir: string;
|
|
740
|
-
kind: "build";
|
|
741
|
-
} | {
|
|
742
|
-
kind: "registry";
|
|
743
|
-
reference: string;
|
|
744
|
-
};
|
|
745
|
-
/** Static `instanceType`, when declared. */
|
|
738
|
+
/** Static `instanceType`, when declared (the default size, under `durable_object`). */
|
|
746
739
|
instanceType?: string | {
|
|
747
740
|
diskMb?: number;
|
|
748
741
|
memoryMib?: number;
|
|
749
742
|
vcpu?: number;
|
|
750
743
|
};
|
|
751
|
-
/** Static `maxInstances`, when declared. */
|
|
752
|
-
maxInstances?: number;
|
|
753
744
|
/** Static wrangler `containers[].name` override, when declared. */
|
|
754
745
|
name?: string;
|
|
755
|
-
/** Static rolling-deploy tuning, when declared as literals. */
|
|
756
|
-
rollout?: {
|
|
757
|
-
gracePeriodSeconds?: number;
|
|
758
|
-
stepPercentage?: number;
|
|
759
|
-
};
|
|
760
746
|
/**
|
|
761
747
|
* The static `sleepAfter` value, when it was a literal. `undefined` means
|
|
762
748
|
* omitted (platform default `"10m"`) or non-literal. Lifted for the advisor.
|
|
763
749
|
*/
|
|
764
750
|
sleepAfter?: number | string;
|
|
765
751
|
}
|
|
752
|
+
/** A container under the default scheduling policy: one application image, a cap, and a rollout. */
|
|
753
|
+
interface DefaultScheduledContainerIR extends ContainerIRBase {
|
|
754
|
+
/**
|
|
755
|
+
* Normalized image source: a local Dockerfile (`dockerfile`), a pre-built
|
|
756
|
+
* registry reference (`registry`), or a Railpack source directory (`build`)
|
|
757
|
+
* that the deploy step builds and pushes before wrangler runs.
|
|
758
|
+
*/
|
|
759
|
+
image: ContainerImageIR;
|
|
760
|
+
/** Static `maxInstances`, when declared. */
|
|
761
|
+
maxInstances?: number;
|
|
762
|
+
/** Static rolling-deploy tuning, when declared as literals. */
|
|
763
|
+
rollout?: {
|
|
764
|
+
gracePeriodSeconds?: number;
|
|
765
|
+
stepPercentage?: number;
|
|
766
|
+
};
|
|
767
|
+
/** Absent under the default policy — the union's discriminant. */
|
|
768
|
+
schedulingPolicy?: never;
|
|
769
|
+
}
|
|
770
|
+
/**
|
|
771
|
+
* A container under the `durable_object` scheduling policy (wrangler
|
|
772
|
+
* `scheduling_policy`): each instance picks its image and size per start. Also
|
|
773
|
+
* the `containerRuntimeScheduling` platform signal.
|
|
774
|
+
*/
|
|
775
|
+
interface DurableObjectScheduledContainerIR extends ContainerIRBase {
|
|
776
|
+
/** The named images an instance can start from (wrangler `containers[].images`). */
|
|
777
|
+
images?: Record<string, ContainerNamedImageIR>;
|
|
778
|
+
schedulingPolicy: "durable_object";
|
|
779
|
+
}
|
|
780
|
+
/**
|
|
781
|
+
* A container lifted from a `defineContainer()` export in
|
|
782
|
+
* `lunora/containers.ts`, discriminated on its scheduling policy. Carries
|
|
783
|
+
* everything the emitters and the config layer need to wire wrangler
|
|
784
|
+
* (`containers[]` + the Durable Object binding + migration class) and the
|
|
785
|
+
* generated `_generated/containers.ts` DO class. Names are derived via
|
|
786
|
+
* `@lunora/container`'s shared helpers so codegen and the config layer can
|
|
787
|
+
* never disagree.
|
|
788
|
+
*/
|
|
789
|
+
type ContainerIR = DefaultScheduledContainerIR | DurableObjectScheduledContainerIR;
|
|
766
790
|
/**
|
|
767
791
|
* A workflow lifted from a `defineWorkflow()` export in `lunora/workflows.ts`.
|
|
768
792
|
* Carries what the emitters and the config layer need to wire the wrangler
|
|
@@ -773,18 +797,31 @@ interface ContainerIR {
|
|
|
773
797
|
* shared helpers so codegen and the config layer can never disagree.
|
|
774
798
|
*/
|
|
775
799
|
interface WorkflowIR {
|
|
776
|
-
/**
|
|
777
|
-
bindingName: string;
|
|
778
|
-
/** Generated `WorkflowEntrypoint` class name, e.g. `OrderPipelineWorkflow`. */
|
|
800
|
+
/** Generated `WorkflowEntrypoint` class name, e.g. `OrderPipelineWorkflow` — also its `exports` key and `ctx.exports` property. */
|
|
779
801
|
className: string;
|
|
802
|
+
/** Static `defaultRetention` literal → `exports.<Class>.default_retention`. */
|
|
803
|
+
defaultRetention?: {
|
|
804
|
+
errorRetention?: string;
|
|
805
|
+
successRetention?: string;
|
|
806
|
+
};
|
|
780
807
|
/** The `lunora/workflows.ts` export name, e.g. `orderPipeline`. */
|
|
781
808
|
exportName: string;
|
|
809
|
+
/** Static `limits` literal → `exports.<Class>.limits`. */
|
|
810
|
+
limits?: {
|
|
811
|
+
steps?: number;
|
|
812
|
+
};
|
|
782
813
|
/**
|
|
783
|
-
* The stable wrangler `
|
|
814
|
+
* The stable wrangler `exports.<Class>.name`. Defaults to the kebab-cased export
|
|
784
815
|
* name (`orderPipeline` → `order-pipeline`); a static `name:` literal in the
|
|
785
816
|
* definition overrides it.
|
|
786
817
|
*/
|
|
787
818
|
name: string;
|
|
819
|
+
/**
|
|
820
|
+
* Static `schedules` cron literals → `exports.<Class>.schedules`. Each one
|
|
821
|
+
* starts an instance on Cloudflare; gated by the `workflowSchedules`
|
|
822
|
+
* capability, since a host that ignores them would never run the workflow.
|
|
823
|
+
*/
|
|
824
|
+
schedules?: ReadonlyArray<string>;
|
|
788
825
|
/**
|
|
789
826
|
* Durable step labels lifted from the handler body — the first string-literal
|
|
790
827
|
* argument of every `ctx.step.do` / `.sleep` / `.sleepUntil` / `.waitForEvent`
|
|
@@ -807,14 +844,12 @@ interface WorkflowIR {
|
|
|
807
844
|
* the config layer can never disagree.
|
|
808
845
|
*/
|
|
809
846
|
interface AgentIR {
|
|
810
|
-
/**
|
|
811
|
-
bindingName: string;
|
|
812
|
-
/** Generated `WorkflowEntrypoint` class name, e.g. `SupportAgentWorkflow`. */
|
|
847
|
+
/** Generated `WorkflowEntrypoint` class name, e.g. `SupportAgentWorkflow` — also its `exports` key and `ctx.exports` property. */
|
|
813
848
|
className: string;
|
|
814
849
|
/** The `lunora/agents.ts` export name, e.g. `support`. */
|
|
815
850
|
exportName: string;
|
|
816
851
|
/**
|
|
817
|
-
* The stable wrangler `
|
|
852
|
+
* The stable wrangler `exports.<Class>.name`. Defaults to the kebab-cased export
|
|
818
853
|
* name (`support` → `agent-support`); a static `name:` literal in the
|
|
819
854
|
* definition overrides it.
|
|
820
855
|
*/
|
|
@@ -884,6 +919,12 @@ interface QueueIR {
|
|
|
884
919
|
* `name:` literal in the definition overrides it.
|
|
885
920
|
*/
|
|
886
921
|
name: string;
|
|
922
|
+
/**
|
|
923
|
+
* Set for a `defineSubscription(topic, …)` export: the `defineTopic` export it
|
|
924
|
+
* consumes. A subscription is an ordinary push queue everywhere except
|
|
925
|
+
* `ctx.*` — it is published to through `ctx.topics.<topic>`, never `ctx.queues`.
|
|
926
|
+
*/
|
|
927
|
+
topic?: string;
|
|
887
928
|
/** Push-consumer batch/retry tuning, mirrored onto the wrangler `queues.consumers[]` entry. */
|
|
888
929
|
tuning: {
|
|
889
930
|
deadLetterQueue?: string;
|
|
@@ -893,6 +934,15 @@ interface QueueIR {
|
|
|
893
934
|
retryDelay?: number;
|
|
894
935
|
};
|
|
895
936
|
}
|
|
937
|
+
/**
|
|
938
|
+
* A `defineTopic()` export in `lunora/queues.ts`. A topic deploys nothing of its
|
|
939
|
+
* own: each subscription is a {@link QueueIR} whose `topic` names this export, and
|
|
940
|
+
* that is the only record of the link (see {@link subscriptionsOf}).
|
|
941
|
+
*/
|
|
942
|
+
interface TopicIR {
|
|
943
|
+
/** The `lunora/queues.ts` export name, e.g. `signups`. */
|
|
944
|
+
exportName: string;
|
|
945
|
+
}
|
|
896
946
|
/**
|
|
897
947
|
* The feature-flag provider declared by the default export of `lunora/flags.ts`
|
|
898
948
|
* (`defineFlags({ provider, … })`). Discovery is **metadata-only** — codegen
|
|
@@ -2983,12 +3033,7 @@ declare const readPackageDependencies: (projectRoot: string) => Set<string> | un
|
|
|
2983
3033
|
declare const discoverQueries: (project: Project, lunoraDirectory: string) => QueryReadIR[];
|
|
2984
3034
|
/** The only file queues may be declared in — mirrors `lunora/workflows.ts`. */
|
|
2985
3035
|
declare const QUEUES_FILENAME = "queues.ts";
|
|
2986
|
-
/**
|
|
2987
|
-
* Discover every queue the project declares: exported `defineQueue()` calls in
|
|
2988
|
-
* `lunora/queues.ts`. Returns `[]` when the file doesn't exist. Only the
|
|
2989
|
-
* wrangler-relevant literals (`name`/`mode`/batch tuning) are read; the handler
|
|
2990
|
-
* body is runtime-only, so codegen never evaluates it.
|
|
2991
|
-
*/
|
|
3036
|
+
/** The queues half of {@link discoverQueueDeclarations} — what the config layer reconciles into wrangler. */
|
|
2992
3037
|
declare const discoverQueues: (project: Project, lunoraDirectory: string) => QueueIR[];
|
|
2993
3038
|
/**
|
|
2994
3039
|
* Discover `ctx.r2sql` accesses inside exported `query(...)` / `mutation(...)`
|
|
@@ -3067,8 +3112,9 @@ declare const WORKFLOWS_FILENAME = "workflows.ts";
|
|
|
3067
3112
|
/**
|
|
3068
3113
|
* Discover every workflow the project declares: exported `defineWorkflow()`
|
|
3069
3114
|
* calls in `lunora/workflows.ts`. Returns `[]` when the file doesn't exist. The
|
|
3070
|
-
*
|
|
3071
|
-
*
|
|
3115
|
+
* wrangler-relevant literals are the optional `name` override and the deploy
|
|
3116
|
+
* settings (`schedules`, `limits`, `defaultRetention`); the workflow body is
|
|
3117
|
+
* runtime-only, so codegen never evaluates it.
|
|
3072
3118
|
*/
|
|
3073
3119
|
declare const discoverWorkflows: (project: Project, lunoraDirectory: string) => WorkflowIR[];
|
|
3074
3120
|
/**
|
|
@@ -3269,11 +3315,13 @@ interface EmitServerOptions {
|
|
|
3269
3315
|
queues?: ReadonlyArray<QueueIR>;
|
|
3270
3316
|
schema?: SchemaIR;
|
|
3271
3317
|
storageRuleBuckets?: ReadonlyArray<string>;
|
|
3318
|
+
/** Topics declared via `defineTopic` exports — wires the typed `ctx.topics` publishers onto Mutation/Action contexts. */
|
|
3319
|
+
topics?: ReadonlyArray<TopicIR>;
|
|
3272
3320
|
/** The project depends on the `lunora` umbrella — import base packages via its subpaths. */
|
|
3273
3321
|
useUmbrella?: boolean;
|
|
3274
3322
|
workflows?: ReadonlyArray<WorkflowIR>;
|
|
3275
3323
|
}
|
|
3276
|
-
declare const emitServer: ({ agents, containers, env, hasAccessFacade, hasAi, hasAnalytics, hasBrowser, hasVectors, hasFlags, hasHyperdrive, hasImages, hasKv, hasNotify, hasPayments, hasPipelines, hasR2sql, hasX402, identity, queues, schema, storageRuleBuckets, useUmbrella, workflows }?: EmitServerOptions) => string;
|
|
3324
|
+
declare const emitServer: ({ agents, containers, env, hasAccessFacade, hasAi, hasAnalytics, hasBrowser, hasVectors, hasFlags, hasHyperdrive, hasImages, hasKv, hasNotify, hasPayments, hasPipelines, hasR2sql, hasX402, identity, queues, schema, storageRuleBuckets, topics, useUmbrella, workflows }?: EmitServerOptions) => string;
|
|
3277
3325
|
interface EmitShardOptions {
|
|
3278
3326
|
advisories?: ReadonlyArray<Finding>;
|
|
3279
3327
|
/** Every declared procedure — the health map's denominator, served via `getAdvisorProcedures`. */
|
|
@@ -3323,7 +3371,7 @@ interface EmitShardOptions {
|
|
|
3323
3371
|
maskMetadata?: MaskMetadataIR;
|
|
3324
3372
|
/** Custom mutators declared via `defineMutator` in `lunora/mutators.ts` — wires the `isCustomMutator` push-protocol override. */
|
|
3325
3373
|
mutators?: ReadonlyArray<MutatorIR>;
|
|
3326
|
-
/** Queues declared via `defineQueue` exports in `lunora/queues.ts` — wires the typed `ctx.queues` producers. */
|
|
3374
|
+
/** Queues declared via `defineQueue` / `defineSubscription` exports in `lunora/queues.ts` — wires the typed `ctx.queues` producers. */
|
|
3327
3375
|
queues?: ReadonlyArray<QueueIR>;
|
|
3328
3376
|
rlsMetadata?: RlsMetadataIR;
|
|
3329
3377
|
schema: SchemaIR;
|
|
@@ -3339,11 +3387,13 @@ interface EmitShardOptions {
|
|
|
3339
3387
|
shapes?: ReadonlyArray<ShapeIR>;
|
|
3340
3388
|
storageRules?: StorageRulesMetadataIR;
|
|
3341
3389
|
studioFeatures?: StudioFeaturesResult;
|
|
3390
|
+
/** Topics declared via `defineTopic` exports in `lunora/queues.ts` — wires `ctx.topics` to each subscription's queue binding. */
|
|
3391
|
+
topics?: ReadonlyArray<TopicIR>;
|
|
3342
3392
|
/** The project depends on the `lunora` umbrella — import base packages via its subpaths. */
|
|
3343
3393
|
useUmbrella?: boolean;
|
|
3344
3394
|
workflows?: ReadonlyArray<WorkflowIR>;
|
|
3345
3395
|
}
|
|
3346
|
-
declare const emitShard: ({ advisories, advisorProcedures, agents, containers, env, flagKeys, hasAccessFacade, hasAi, hasAnalytics, hasBrowser, hasFlags, hasHyperdrive, hasImages, hasKv, hasNotify, hasPayments, hasPipelines, hasR2sql, hasVectors, hasX402, maskMetadata, mutators, queues, rlsMetadata, schema, schemaSnapshot, shapes, storageRules, studioFeatures, useUmbrella, workflows }: EmitShardOptions) => string;
|
|
3396
|
+
declare const emitShard: ({ advisories, advisorProcedures, agents, containers, env, flagKeys, hasAccessFacade, hasAi, hasAnalytics, hasBrowser, hasFlags, hasHyperdrive, hasImages, hasKv, hasNotify, hasPayments, hasPipelines, hasR2sql, hasVectors, hasX402, maskMetadata, mutators, queues, rlsMetadata, schema, schemaSnapshot, shapes, storageRules, studioFeatures, topics, useUmbrella, workflows }: EmitShardOptions) => string;
|
|
3347
3397
|
/**
|
|
3348
3398
|
* Emit `_generated/containers.ts` — one container-enabled Durable Object class
|
|
3349
3399
|
* per `defineContainer` export, each a thin subclass of `LunoraContainer`
|
|
@@ -3382,7 +3432,7 @@ interface EmitAppOptions {
|
|
|
3382
3432
|
* ⇒ no wiring, byte-identical output for email-free (and agent-free) projects.
|
|
3383
3433
|
*/
|
|
3384
3434
|
emailAgents?: ReadonlyArray<{
|
|
3385
|
-
|
|
3435
|
+
className: string;
|
|
3386
3436
|
exportName: string;
|
|
3387
3437
|
}>;
|
|
3388
3438
|
/** App depends on `@lunora/cloudflare-access` → emit `.access()` (wire the Cloudflare Access `resolveIdentity`, composed ahead of `@lunora/auth` when both are present). */
|
|
@@ -4134,4 +4184,4 @@ declare const secretKindOf: (value: string) => string | undefined;
|
|
|
4134
4184
|
/** A redacted preview of a secret value — first 4 chars plus its length, never the full value. */
|
|
4135
4185
|
declare const redact: (value: string) => string;
|
|
4136
4186
|
declare const VERSION = "0.0.0";
|
|
4137
|
-
export { AGENTS_FILENAME, type AgentIR, type AuthApiCallIR, CONTAINERS_FILENAME, CodegenDiagnosticError, type CodegenOptions, type CodegenResult, type ContainerIR, type ContextPropertyCallIR, type CronJobIR, DEFAULT_TARGET, type DriftChange, type DriftRemediation, type DriftScope, type EmitAppOptions, FLAGS_FILENAME, type FieldSnapshot, type FlagsIR, type FunctionIR, GENERATED_HEADER, type HttpRouteIR, type IndexIR, type IndexSnapshot, type InsertWriteIR, LUNORA_ERROR_CODES, type LintSchemaOptions, type LoadedProjectConfig, type LunoraProjectConfig, MUTATORS_FILENAME, type MaskProcedureIR, type MigrationIR, type MutatorIR, NOTIFY_FILENAME, OPENRPC_VERSION, type OpenApiEmitInput, type OpenRpcDocument, type OpenRpcEmitInput, type OpenRpcMethod, PROJECT_CONFIG_FILENAMES, type PlatformDiagnostic, type ProjectConfigLiterals, type ProjectIR, QUEUES_FILENAME, type QueryReadIR, type QueueIR, type RelationSnapshot, type RlsMetadataIR, type RlsPolicyIR, type RlsProcedureIR, type RlsRoleIR, type RuntimeVerb, SCHEMA_SNAPSHOT_FILENAME, SCHEMA_SNAPSHOT_VERSION, SDK_LANGUAGES, SDK_TARGETS, SHAPES_FILENAME, type SandboxUsage, type SchemaDrift, type SchemaDriftDecision, type SchemaIR, type SchemaSnapshot, SchemaSnapshotParseError, type SdkFiles, type SdkMethod, type SdkNamespace, type SdkRenderInput, type SdkResult, type SdkTarget, type ShapeIR, type StorageRuleIR, type StorageRulesMetadataIR, type TableIR, type TableSnapshot, VERSION, type ValidatorIR, type VectorIndexIR, WORKFLOWS_FILENAME, type WorkflowIR, type WranglerVariableIR, buildOpenApiDocument, buildOpenRpcDocument, buildSchemaSnapshot, createCodegenProject, describeErrorLevelFindings, diagnosticAt, diffSchemaSnapshots, discoverAgents, discoverAuthApiCalls, discoverContainers, discoverCrons, discoverFlags, discoverFunctions, discoverHttpRoutes, discoverHyperdriveCalls, discoverInserts, discoverMaskProcedures, discoverMigrations, discoverMutators, discoverNondeterministicCalls, discoverNotifyCalls, discoverNotifyConfig, discoverQueries, discoverQueues, discoverR2sqlCalls, discoverRlsMetadata, discoverRlsProcedures, discoverSandboxUsage, discoverSchema, discoverShapes, discoverStorageRulesMetadata, discoverWorkflows, emitAgents, emitApi, emitApp, emitCollections, emitContainers, emitCrons, emitDataModel, emitDrizzleSchema, emitFunctions, emitOpenApi, emitOpenApiModule, emitOpenRpc, emitOpenRpcModule, emitScheduler, emitServer, emitShard, emitVectors, emitWorkflows, emitWranglerCronTriggers, errorAdvisoryNames, errorPlatformDiagnosticNames, evaluateSchemaDrift, findProjectConfigFile, findTsconfig, fingerprintSchemaSources, formatAdvisories, generateSdk, isD1GlobalTable, isHyperdriveGlobalTable, isTypedSchema, lintSchema, listLunoraSourceFiles, loadProjectConfig, parseSchemaSnapshot, platformMatrixIds, readPackageDependencies, readProjectConfigLiterals, readProjectTarget, redact, refreshCodegenProject, resolveCodegenTarget, runCodegen, schemaFromIr, secretKindOf, serializeSchemaSnapshot, sortedUniqueNames, toAdvisorContext, validatorIrToJsonSchema };
|
|
4187
|
+
export { AGENTS_FILENAME, type AgentIR, type AuthApiCallIR, CONTAINERS_FILENAME, CodegenDiagnosticError, type CodegenOptions, type CodegenResult, type ContainerIR, type ContainerImageIR, type ContainerNamedImageIR, type ContextPropertyCallIR, type CronJobIR, DEFAULT_TARGET, type DefaultScheduledContainerIR, type DriftChange, type DriftRemediation, type DriftScope, type DurableObjectScheduledContainerIR, type EmitAppOptions, FLAGS_FILENAME, type FieldSnapshot, type FlagsIR, type FunctionIR, GENERATED_HEADER, type HttpRouteIR, type IndexIR, type IndexSnapshot, type InsertWriteIR, LUNORA_ERROR_CODES, type LintSchemaOptions, type LoadedProjectConfig, type LunoraProjectConfig, MUTATORS_FILENAME, type MaskProcedureIR, type MigrationIR, type MutatorIR, NOTIFY_FILENAME, OPENRPC_VERSION, type OpenApiEmitInput, type OpenRpcDocument, type OpenRpcEmitInput, type OpenRpcMethod, PROJECT_CONFIG_FILENAMES, type PlatformDiagnostic, type ProjectConfigLiterals, type ProjectIR, QUEUES_FILENAME, type QueryReadIR, type QueueIR, type RelationSnapshot, type RlsMetadataIR, type RlsPolicyIR, type RlsProcedureIR, type RlsRoleIR, type RuntimeVerb, SCHEMA_SNAPSHOT_FILENAME, SCHEMA_SNAPSHOT_VERSION, SDK_LANGUAGES, SDK_TARGETS, SHAPES_FILENAME, type SandboxUsage, type SchemaDrift, type SchemaDriftDecision, type SchemaIR, type SchemaSnapshot, SchemaSnapshotParseError, type SdkFiles, type SdkMethod, type SdkNamespace, type SdkRenderInput, type SdkResult, type SdkTarget, type ShapeIR, type StorageRuleIR, type StorageRulesMetadataIR, type TableIR, type TableSnapshot, type TopicIR, VERSION, type ValidatorIR, type VectorIndexIR, WORKFLOWS_FILENAME, type WorkflowIR, type WranglerVariableIR, buildOpenApiDocument, buildOpenRpcDocument, buildSchemaSnapshot, createCodegenProject, describeErrorLevelFindings, diagnosticAt, diffSchemaSnapshots, discoverAgents, discoverAuthApiCalls, discoverContainers, discoverCrons, discoverFlags, discoverFunctions, discoverHttpRoutes, discoverHyperdriveCalls, discoverInserts, discoverMaskProcedures, discoverMigrations, discoverMutators, discoverNondeterministicCalls, discoverNotifyCalls, discoverNotifyConfig, discoverQueries, discoverQueues, discoverR2sqlCalls, discoverRlsMetadata, discoverRlsProcedures, discoverSandboxUsage, discoverSchema, discoverShapes, discoverStorageRulesMetadata, discoverWorkflows, emitAgents, emitApi, emitApp, emitCollections, emitContainers, emitCrons, emitDataModel, emitDrizzleSchema, emitFunctions, emitOpenApi, emitOpenApiModule, emitOpenRpc, emitOpenRpcModule, emitScheduler, emitServer, emitShard, emitVectors, emitWorkflows, emitWranglerCronTriggers, errorAdvisoryNames, errorPlatformDiagnosticNames, evaluateSchemaDrift, findProjectConfigFile, findTsconfig, fingerprintSchemaSources, formatAdvisories, generateSdk, isD1GlobalTable, isHyperdriveGlobalTable, isTypedSchema, lintSchema, listLunoraSourceFiles, loadProjectConfig, parseSchemaSnapshot, platformMatrixIds, readPackageDependencies, readProjectConfigLiterals, readProjectTarget, redact, refreshCodegenProject, resolveCodegenTarget, runCodegen, schemaFromIr, secretKindOf, serializeSchemaSnapshot, sortedUniqueNames, toAdvisorContext, validatorIrToJsonSchema };
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SCHEMA_SNAPSHOT_VERSION as t,diffSchemaSnapshots as s,serializeSchemaSnapshot as a}from"./packem_shared/SCHEMA_SNAPSHOT_VERSION-C0oHwiJZ.mjs";import{formatAdvisories as m,lintSchema as f,toAdvisorContext as d}from"./packem_shared/formatAdvisories-DwmUKYuc.mjs";import{describeErrorLevelFindings as c,errorAdvisoryNames as n,errorPlatformDiagnosticNames as l,sortedUniqueNames as x}from"./packem_shared/describeErrorLevelFindings-vzaGS9KL.mjs";import{CodegenDiagnosticError as E,diagnosticAt as u}from"./packem_shared/CodegenDiagnosticError-BUXlG3P-.mjs";import{AGENTS_FILENAME as v,discoverAgents as N}from"./packem_shared/AGENTS_FILENAME-
|
|
1
|
+
import{SCHEMA_SNAPSHOT_VERSION as t,diffSchemaSnapshots as s,serializeSchemaSnapshot as a}from"./packem_shared/SCHEMA_SNAPSHOT_VERSION-C0oHwiJZ.mjs";import{formatAdvisories as m,lintSchema as f,toAdvisorContext as d}from"./packem_shared/formatAdvisories-DwmUKYuc.mjs";import{describeErrorLevelFindings as c,errorAdvisoryNames as n,errorPlatformDiagnosticNames as l,sortedUniqueNames as x}from"./packem_shared/describeErrorLevelFindings-vzaGS9KL.mjs";import{CodegenDiagnosticError as E,diagnosticAt as u}from"./packem_shared/CodegenDiagnosticError-BUXlG3P-.mjs";import{AGENTS_FILENAME as v,discoverAgents as N}from"./packem_shared/AGENTS_FILENAME-Bb2jxbOa.mjs";import{listLunoraSourceFiles as C}from"./packem_shared/listLunoraSourceFiles-DP-5e-RE.mjs";import{default as R}from"./packem_shared/discoverAuthApiCalls-FxrdBeVt.mjs";import{CONTAINERS_FILENAME as T,discoverContainers as _}from"./packem_shared/CONTAINERS_FILENAME-CGB4bqUr.mjs";import{default as L}from"./packem_shared/discoverCrons-0lNudk0S.mjs";import{FLAGS_FILENAME as I,discoverFlags as P}from"./packem_shared/FLAGS_FILENAME-BedPDCsR.mjs";import{default as G}from"./packem_shared/discoverFunctions-BsmX-sEq.mjs";import{default as b}from"./packem_shared/discoverHttpRoutes-BcXI9CNt.mjs";import{default as y}from"./packem_shared/discoverHyperdriveCalls-D9qXqTq3.mjs";import{default as k}from"./packem_shared/discoverInserts-CFJ3IVeI.mjs";import{d as K}from"./packem_shared/index-BoaHhVtM.mjs";import{default as z}from"./packem_shared/discoverMigrations-DbrHwcGE.mjs";import{MUTATORS_FILENAME as q,discoverMutators as w}from"./packem_shared/MUTATORS_FILENAME-B6cKrN_m.mjs";import{default as J}from"./packem_shared/discoverNondeterministicCalls-CSQ_GDcA.mjs";import{NOTIFY_FILENAME as X,discoverNotifyCalls as Z,discoverNotifyConfig as $}from"./packem_shared/NOTIFY_FILENAME-Cri3NT5U.mjs";import{default as re}from"./packem_shared/readPackageDependencies-C6h6FZuP.mjs";import{d as te}from"./packem_shared/queries-B-f4jO-x.mjs";import{QUEUES_FILENAME as ae,discoverQueues as ie}from"./packem_shared/QUEUES_FILENAME-BzOl92QK.mjs";import{default as fe}from"./packem_shared/discoverR2sqlCalls-fu7fC0i_.mjs";import{default as pe}from"./packem_shared/discoverRlsProcedures-BO4qC77y.mjs";import{default as ne}from"./packem_shared/discoverRlsMetadata-CPmAGL0W.mjs";import{discoverSandboxUsage as xe}from"./packem_shared/discoverSandboxUsage-CrjZ6yNg.mjs";import{default as Ee}from"./packem_shared/discoverSchema-D8DBDHEg.mjs";import{SHAPES_FILENAME as Ae,discoverShapes as ve}from"./packem_shared/SHAPES_FILENAME-zJgzynXR.mjs";import{default as ge}from"./packem_shared/discoverStorageRulesMetadata-D8VYflWt.mjs";import{WORKFLOWS_FILENAME as Oe,discoverWorkflows as Re}from"./packem_shared/WORKFLOWS_FILENAME-DNaUHGS8.mjs";import{emitApp as Te}from"./packem_shared/emitApp-D_9NVcvv.mjs";import{isD1GlobalTable as he,isHyperdriveGlobalTable as Le}from"./packem_shared/isD1GlobalTable-udvHAAzD.mjs";import{buildOpenApiDocument as Ie,emitOpenApi as Pe,emitOpenApiModule as De}from"./packem_shared/buildOpenApiDocument-nYvBhjxu.mjs";import{OPENRPC_VERSION as Ue,buildOpenRpcDocument as be,emitOpenRpc as He,emitOpenRpcModule as ye}from"./packem_shared/OPENRPC_VERSION-Cl6P9WGv.mjs";import{DEFAULT_TARGET as ke,platformMatrixIds as We,readProjectTarget as Ke,resolveCodegenTarget as Ve}from"./packem_shared/DEFAULT_TARGET-wK6-Tado.mjs";import{loadProjectConfig as Qe,readProjectConfigLiterals as qe}from"./packem_shared/loadProjectConfig-CKsFNgn3.mjs";import{SCHEMA_SNAPSHOT_FILENAME as Be,createCodegenProject as Je,findTsconfig as Ye,refreshCodegenProject as Xe,runCodegen as Ze}from"./packem_shared/SCHEMA_SNAPSHOT_FILENAME-DX6sZtLG.mjs";import{SchemaSnapshotParseError as er,buildSchemaSnapshot as rr,evaluateSchemaDrift as or,parseSchemaSnapshot as tr}from"./packem_shared/SchemaSnapshotParseError-CPOXlFhI.mjs";import{default as ar}from"./packem_shared/fingerprintSchemaSources-L3nGKDQt.mjs";import{schemaFromIr as mr}from"./packem_shared/schemaFromIr-BWFnvCVg.mjs";import{LUNORA_ERROR_CODES as dr,validatorIrToJsonSchema as pr}from"./packem_shared/LUNORA_ERROR_CODES-C2s0xWQD.mjs";import{SDK_LANGUAGES as nr,SDK_TARGETS as lr,generateSdk as xr}from"./packem_shared/SDK_LANGUAGES-Df_CnJx5.mjs";import{redact as Er,secretKindOf as ur}from"./packem_shared/redact-Cy14LEnc.mjs";import{default as vr}from"./packem_shared/emitDrizzleSchema-Cv0HtLR3.mjs";import{default as gr}from"./packem_shared/emitFunctions-BgNeOZt_.mjs";import{default as Or}from"./packem_shared/emitServer-pF_fhA82.mjs";import{e as Mr}from"./packem_shared/shard-BVzXMtWg.mjs";import{G as _r}from"./packem_shared/shared-DjUziztz.mjs";import{MESSAGE_SOLUTIONS as Lr,findSolutionByMessage as Fr}from"@lunora/errors";import{PROJECT_CONFIG_FILENAMES as Pr,findProjectConfigFile as Dr}from"./packem_shared/PROJECT_CONFIG_FILENAMES-DzOu-lSc.mjs";import{A as Ur,B as br,C as Hr}from"./packem_shared/shard-runtime-oIXHEMU7.mjs";import{emitApi as jr,emitCollections as kr}from"./packem_shared/emitApi-DdW9RyGG.mjs";import{emitCrons as Kr,emitScheduler as Vr,emitVectors as zr,emitWranglerCronTriggers as Qr}from"./packem_shared/emitCrons-BRKXFGFu.mjs";import{emitDataModel as wr}from"./packem_shared/emitDataModel-D3WuEZ4b.mjs";import{isTypedSchema as Jr}from"./packem_shared/isTypedSchema-CKzc3ioR.mjs";const e="0.0.0";export{v as AGENTS_FILENAME,T as CONTAINERS_FILENAME,E as CodegenDiagnosticError,ke as DEFAULT_TARGET,I as FLAGS_FILENAME,_r as GENERATED_HEADER,dr as LUNORA_ERROR_CODES,Lr as LUNORA_SOLUTION_RULES,q as MUTATORS_FILENAME,X as NOTIFY_FILENAME,Ue as OPENRPC_VERSION,Pr as PROJECT_CONFIG_FILENAMES,ae as QUEUES_FILENAME,Be as SCHEMA_SNAPSHOT_FILENAME,t as SCHEMA_SNAPSHOT_VERSION,nr as SDK_LANGUAGES,lr as SDK_TARGETS,Ae as SHAPES_FILENAME,er as SchemaSnapshotParseError,e as VERSION,Oe as WORKFLOWS_FILENAME,Ie as buildOpenApiDocument,be as buildOpenRpcDocument,rr as buildSchemaSnapshot,Je as createCodegenProject,c as describeErrorLevelFindings,u as diagnosticAt,s as diffSchemaSnapshots,N as discoverAgents,R as discoverAuthApiCalls,_ as discoverContainers,L as discoverCrons,P as discoverFlags,G as discoverFunctions,b as discoverHttpRoutes,y as discoverHyperdriveCalls,k as discoverInserts,K as discoverMaskProcedures,z as discoverMigrations,w as discoverMutators,J as discoverNondeterministicCalls,Z as discoverNotifyCalls,$ as discoverNotifyConfig,te as discoverQueries,ie as discoverQueues,fe as discoverR2sqlCalls,ne as discoverRlsMetadata,pe as discoverRlsProcedures,xe as discoverSandboxUsage,Ee as discoverSchema,ve as discoverShapes,ge as discoverStorageRulesMetadata,Re as discoverWorkflows,Ur as emitAgents,jr as emitApi,Te as emitApp,kr as emitCollections,br as emitContainers,Kr as emitCrons,wr as emitDataModel,vr as emitDrizzleSchema,gr as emitFunctions,Pe as emitOpenApi,De as emitOpenApiModule,He as emitOpenRpc,ye as emitOpenRpcModule,Vr as emitScheduler,Or as emitServer,Mr as emitShard,zr as emitVectors,Hr as emitWorkflows,Qr as emitWranglerCronTriggers,n as errorAdvisoryNames,l as errorPlatformDiagnosticNames,or as evaluateSchemaDrift,Fr as findLunoraSolution,Dr as findProjectConfigFile,Ye as findTsconfig,ar as fingerprintSchemaSources,m as formatAdvisories,xr as generateSdk,he as isD1GlobalTable,Le as isHyperdriveGlobalTable,Jr as isTypedSchema,f as lintSchema,C as listLunoraSourceFiles,Qe as loadProjectConfig,tr as parseSchemaSnapshot,We as platformMatrixIds,re as readPackageDependencies,qe as readProjectConfigLiterals,Ke as readProjectTarget,Er as redact,Xe as refreshCodegenProject,Ve as resolveCodegenTarget,Ze as runCodegen,mr as schemaFromIr,ur as secretKindOf,a as serializeSchemaSnapshot,x as sortedUniqueNames,d as toAdvisorContext,pr as validatorIrToJsonSchema};
|