@lunora/codegen 1.0.0-alpha.323 → 1.0.0-alpha.325
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 +25 -11
- package/dist/index.d.ts +25 -11
- package/dist/index.mjs +1 -1
- package/dist/packem_shared/DEFAULT_TARGET-BbWiB-rs.mjs +1 -0
- package/dist/packem_shared/{NOTIFY_FILENAME-bAt7J3cs.mjs → NOTIFY_FILENAME-DiYZjYts.mjs} +1 -1
- package/dist/packem_shared/SCHEMA_SNAPSHOT_FILENAME-WbrlAts0.mjs +11 -0
- package/dist/packem_shared/capabilitiesUsedBy-CF7sUwa8.mjs +1 -0
- package/dist/packem_shared/chain-DYBhMcDK.mjs +1 -0
- package/dist/packem_shared/classify-procedure-call-DUBO9bqm.mjs +1 -0
- package/dist/packem_shared/{context-property-calls-Cn3upNgZ.mjs → context-property-calls-eO5eiVZG.mjs} +1 -1
- package/dist/packem_shared/{context-root-BdxINX-T.mjs → context-root-D-pTjHtx.mjs} +1 -1
- package/dist/packem_shared/{database-calls-BKozZUEW.mjs → database-calls-DJgmh0Kv.mjs} +1 -1
- package/dist/packem_shared/discoverFunctions-CIJja4zp.mjs +1 -0
- package/dist/packem_shared/discoverHyperdriveCalls-DVIQ0i_e.mjs +1 -0
- package/dist/packem_shared/{discoverInserts-BjxXCACZ.mjs → discoverInserts-CednbRCq.mjs} +1 -1
- package/dist/packem_shared/discoverMaskProcedures-B4k9BS0s.mjs +1 -0
- package/dist/packem_shared/{discoverNondeterministicCalls-DvhyKM-f.mjs → discoverNondeterministicCalls-B6FUSWes.mjs} +1 -1
- package/dist/packem_shared/{discoverQueries-C8E7TeRT.mjs → discoverQueries-BezURxvr.mjs} +1 -1
- package/dist/packem_shared/discoverR2sqlCalls-B9Q6xfi6.mjs +1 -0
- package/dist/packem_shared/{discoverRlsMetadata-QRsWRQbM.mjs → discoverRlsMetadata-DCgP2H39.mjs} +1 -1
- package/dist/packem_shared/{discoverRlsProcedures-Du7ITNTQ.mjs → discoverRlsProcedures-Os1lrVX_.mjs} +1 -1
- package/dist/packem_shared/{discoverStorageRulesMetadata-ClzKLdCV.mjs → discoverStorageRulesMetadata-BTD9Vs5X.mjs} +1 -1
- package/dist/packem_shared/{emitFunctions-CuZzKaU4.mjs → emitFunctions-Cg0JxGpk.mjs} +130 -76
- package/dist/packem_shared/{emitShard-BF--3qQv.mjs → emitShard-Ba8hJ_G8.mjs} +1 -1
- package/dist/packem_shared/{exported-procedure-chains-BNBUkXui.mjs → exported-procedure-chains-DOFtzPZn.mjs} +1 -1
- package/dist/packem_shared/{index-JnqBWRYO.mjs → index-iWQbulvu.mjs} +1 -1
- package/dist/packem_shared/{shard-ceGu_Fps.mjs → shard-BtImwCVL.mjs} +95 -92
- package/package.json +9 -9
- package/dist/packem_shared/DEFAULT_TARGET-DXhxbij-.mjs +0 -1
- package/dist/packem_shared/SCHEMA_SNAPSHOT_FILENAME-CU4krosg.mjs +0 -11
- package/dist/packem_shared/capabilitiesUsedBy-D3pvpeAt.mjs +0 -1
- package/dist/packem_shared/chain-Cm6BMT8g.mjs +0 -1
- package/dist/packem_shared/classify-procedure-call-DVxdUhZt.mjs +0 -1
- package/dist/packem_shared/discoverFunctions-CZgLhsMn.mjs +0 -1
- package/dist/packem_shared/discoverHyperdriveCalls-DV4IglLE.mjs +0 -1
- package/dist/packem_shared/discoverMaskProcedures-DE-8CDen.mjs +0 -1
- package/dist/packem_shared/discoverR2sqlCalls-DVcfMO6-.mjs +0 -1
package/dist/index.d.mts
CHANGED
|
@@ -1508,15 +1508,17 @@ interface FunctionIR {
|
|
|
1508
1508
|
kind: "action" | "mutation" | "query" | "stream";
|
|
1509
1509
|
/**
|
|
1510
1510
|
* Set on lifecycle hooks (`onConnect`/`onDisconnect`/`onShardInit`/
|
|
1511
|
-
* `onQueryChange`/`onWhisper`)
|
|
1512
|
-
* the hook fires on. Such a function is
|
|
1513
|
-
* lands in `LUNORA_FUNCTIONS` for path
|
|
1514
|
-
* except `whisper`, which is a
|
|
1515
|
-
*
|
|
1516
|
-
*
|
|
1517
|
-
*
|
|
1518
|
-
|
|
1519
|
-
|
|
1511
|
+
* `onQueryChange`/`onWhisper`), on a `defineRoom` registration, and on a
|
|
1512
|
+
* `defineWebSocket` route: the moment the hook fires on. Such a function is
|
|
1513
|
+
* also an internal registration (so it lands in `LUNORA_FUNCTIONS` for path
|
|
1514
|
+
* dispatch) — a mutation for every moment except `whisper`, which is a
|
|
1515
|
+
* query; emit additionally collects the socket moments into the
|
|
1516
|
+
* `LUNORA_LIFECYCLE_HOOKS` manifest keyed by this moment, a `room`
|
|
1517
|
+
* registration into the `LUNORA_ROOMS` topic→path map, and a `socket` route
|
|
1518
|
+
* into the `LUNORA_SOCKETS` path→registration map. Absent on ordinary
|
|
1519
|
+
* functions.
|
|
1520
|
+
*/
|
|
1521
|
+
lifecycle?: "connect" | "disconnect" | "init" | "reactor" | "socket" | "whisper";
|
|
1520
1522
|
/**
|
|
1521
1523
|
* The `.output(validator)` declaration, when the chain has one.
|
|
1522
1524
|
*
|
|
@@ -1533,6 +1535,16 @@ interface FunctionIR {
|
|
|
1533
1535
|
* project lacks a tsconfig that can reach `@lunora/server`).
|
|
1534
1536
|
*/
|
|
1535
1537
|
returnType: string;
|
|
1538
|
+
/**
|
|
1539
|
+
* A `defineWebSocket` route: the literal URL `path` it serves and whether it requires a session (`auth`). Read at
|
|
1540
|
+
* build time so the lazy `LUNORA_SOCKETS` map can be emitted without evaluating the route's module.
|
|
1541
|
+
* `origin` names the `defineWebSocket` call the route was read from: two export names of one call are one route.
|
|
1542
|
+
*/
|
|
1543
|
+
socket?: {
|
|
1544
|
+
auth: boolean;
|
|
1545
|
+
origin?: string;
|
|
1546
|
+
path: string;
|
|
1547
|
+
};
|
|
1536
1548
|
/**
|
|
1537
1549
|
* Call surface the function is exposed on. Absent (or `"public"`) means it
|
|
1538
1550
|
* lands in the generated `api`; `"internal"` routes it to the separate
|
|
@@ -3201,7 +3213,7 @@ interface PlatformDiagnostic {
|
|
|
3201
3213
|
/** Human-readable explanation of the gap. */
|
|
3202
3214
|
message: string;
|
|
3203
3215
|
/** The lint id: one of the `platform_*` names in the union below. */
|
|
3204
|
-
name: "platform_live_stream_delivery_authorization" | "platform_undeclared_feature" | "platform_unknown_target" | "platform_unreadable_target" | "platform_unsupported_feature" | "platform_vector_dimensions_out_of_range";
|
|
3216
|
+
name: "platform_live_stream_delivery_authorization" | "platform_socket_delivery_authorization" | "platform_undeclared_feature" | "platform_unknown_target" | "platform_unreadable_target" | "platform_unsupported_feature" | "platform_vector_dimensions_out_of_range";
|
|
3205
3217
|
/** How to resolve it. */
|
|
3206
3218
|
remediation: string;
|
|
3207
3219
|
/** The requested deploy target. */
|
|
@@ -4050,6 +4062,8 @@ interface EmitShardOptions {
|
|
|
4050
4062
|
hasNotify?: boolean;
|
|
4051
4063
|
/** The project declares at least one `defineRoom` — wires the `LUNORA_ROOMS` topic→path resolution in the `roomHandlerPath` override. */
|
|
4052
4064
|
hasRooms?: boolean;
|
|
4065
|
+
/** The project declares at least one `defineWebSocket` route — wires the `LUNORA_SOCKETS` path→registration resolution in the `socketRoute` override. */
|
|
4066
|
+
hasSockets?: boolean;
|
|
4053
4067
|
/**
|
|
4054
4068
|
* The target platform supports a vector store. `false` withholds the whole
|
|
4055
4069
|
* Vectorize wiring — the `@lunora/bindings/vectors` imports, the
|
|
@@ -4093,7 +4107,7 @@ interface EmitShardOptions {
|
|
|
4093
4107
|
useUmbrella?: boolean;
|
|
4094
4108
|
workflows?: ReadonlyArray<WorkflowIR>;
|
|
4095
4109
|
}
|
|
4096
|
-
declare const emitShard: ({ advisories, advisorProcedures, agents, capabilities, containers, env, flagKeys, hasFlags, hasNotify, hasRooms, lazyFunctions, hasVectors, liveStreams, maskMetadata, mutators, queues, rlsMetadata, schema, schemaSnapshot, shapes, storageRules, studioFeatures, services, topics, useUmbrella, workflows }: EmitShardOptions) => string;
|
|
4110
|
+
declare const emitShard: ({ advisories, advisorProcedures, agents, capabilities, containers, env, flagKeys, hasFlags, hasNotify, hasRooms, hasSockets, lazyFunctions, hasVectors, liveStreams, maskMetadata, mutators, queues, rlsMetadata, schema, schemaSnapshot, shapes, storageRules, studioFeatures, services, topics, useUmbrella, workflows }: EmitShardOptions) => string;
|
|
4097
4111
|
/**
|
|
4098
4112
|
* Emit `_generated/containers.ts` — one container-enabled Durable Object class
|
|
4099
4113
|
* per `defineContainer` export, each a thin subclass of `LunoraContainer`
|
package/dist/index.d.ts
CHANGED
|
@@ -1508,15 +1508,17 @@ interface FunctionIR {
|
|
|
1508
1508
|
kind: "action" | "mutation" | "query" | "stream";
|
|
1509
1509
|
/**
|
|
1510
1510
|
* Set on lifecycle hooks (`onConnect`/`onDisconnect`/`onShardInit`/
|
|
1511
|
-
* `onQueryChange`/`onWhisper`)
|
|
1512
|
-
* the hook fires on. Such a function is
|
|
1513
|
-
* lands in `LUNORA_FUNCTIONS` for path
|
|
1514
|
-
* except `whisper`, which is a
|
|
1515
|
-
*
|
|
1516
|
-
*
|
|
1517
|
-
*
|
|
1518
|
-
|
|
1519
|
-
|
|
1511
|
+
* `onQueryChange`/`onWhisper`), on a `defineRoom` registration, and on a
|
|
1512
|
+
* `defineWebSocket` route: the moment the hook fires on. Such a function is
|
|
1513
|
+
* also an internal registration (so it lands in `LUNORA_FUNCTIONS` for path
|
|
1514
|
+
* dispatch) — a mutation for every moment except `whisper`, which is a
|
|
1515
|
+
* query; emit additionally collects the socket moments into the
|
|
1516
|
+
* `LUNORA_LIFECYCLE_HOOKS` manifest keyed by this moment, a `room`
|
|
1517
|
+
* registration into the `LUNORA_ROOMS` topic→path map, and a `socket` route
|
|
1518
|
+
* into the `LUNORA_SOCKETS` path→registration map. Absent on ordinary
|
|
1519
|
+
* functions.
|
|
1520
|
+
*/
|
|
1521
|
+
lifecycle?: "connect" | "disconnect" | "init" | "reactor" | "socket" | "whisper";
|
|
1520
1522
|
/**
|
|
1521
1523
|
* The `.output(validator)` declaration, when the chain has one.
|
|
1522
1524
|
*
|
|
@@ -1533,6 +1535,16 @@ interface FunctionIR {
|
|
|
1533
1535
|
* project lacks a tsconfig that can reach `@lunora/server`).
|
|
1534
1536
|
*/
|
|
1535
1537
|
returnType: string;
|
|
1538
|
+
/**
|
|
1539
|
+
* A `defineWebSocket` route: the literal URL `path` it serves and whether it requires a session (`auth`). Read at
|
|
1540
|
+
* build time so the lazy `LUNORA_SOCKETS` map can be emitted without evaluating the route's module.
|
|
1541
|
+
* `origin` names the `defineWebSocket` call the route was read from: two export names of one call are one route.
|
|
1542
|
+
*/
|
|
1543
|
+
socket?: {
|
|
1544
|
+
auth: boolean;
|
|
1545
|
+
origin?: string;
|
|
1546
|
+
path: string;
|
|
1547
|
+
};
|
|
1536
1548
|
/**
|
|
1537
1549
|
* Call surface the function is exposed on. Absent (or `"public"`) means it
|
|
1538
1550
|
* lands in the generated `api`; `"internal"` routes it to the separate
|
|
@@ -3201,7 +3213,7 @@ interface PlatformDiagnostic {
|
|
|
3201
3213
|
/** Human-readable explanation of the gap. */
|
|
3202
3214
|
message: string;
|
|
3203
3215
|
/** The lint id: one of the `platform_*` names in the union below. */
|
|
3204
|
-
name: "platform_live_stream_delivery_authorization" | "platform_undeclared_feature" | "platform_unknown_target" | "platform_unreadable_target" | "platform_unsupported_feature" | "platform_vector_dimensions_out_of_range";
|
|
3216
|
+
name: "platform_live_stream_delivery_authorization" | "platform_socket_delivery_authorization" | "platform_undeclared_feature" | "platform_unknown_target" | "platform_unreadable_target" | "platform_unsupported_feature" | "platform_vector_dimensions_out_of_range";
|
|
3205
3217
|
/** How to resolve it. */
|
|
3206
3218
|
remediation: string;
|
|
3207
3219
|
/** The requested deploy target. */
|
|
@@ -4050,6 +4062,8 @@ interface EmitShardOptions {
|
|
|
4050
4062
|
hasNotify?: boolean;
|
|
4051
4063
|
/** The project declares at least one `defineRoom` — wires the `LUNORA_ROOMS` topic→path resolution in the `roomHandlerPath` override. */
|
|
4052
4064
|
hasRooms?: boolean;
|
|
4065
|
+
/** The project declares at least one `defineWebSocket` route — wires the `LUNORA_SOCKETS` path→registration resolution in the `socketRoute` override. */
|
|
4066
|
+
hasSockets?: boolean;
|
|
4053
4067
|
/**
|
|
4054
4068
|
* The target platform supports a vector store. `false` withholds the whole
|
|
4055
4069
|
* Vectorize wiring — the `@lunora/bindings/vectors` imports, the
|
|
@@ -4093,7 +4107,7 @@ interface EmitShardOptions {
|
|
|
4093
4107
|
useUmbrella?: boolean;
|
|
4094
4108
|
workflows?: ReadonlyArray<WorkflowIR>;
|
|
4095
4109
|
}
|
|
4096
|
-
declare const emitShard: ({ advisories, advisorProcedures, agents, capabilities, containers, env, flagKeys, hasFlags, hasNotify, hasRooms, lazyFunctions, hasVectors, liveStreams, maskMetadata, mutators, queues, rlsMetadata, schema, schemaSnapshot, shapes, storageRules, studioFeatures, services, topics, useUmbrella, workflows }: EmitShardOptions) => string;
|
|
4110
|
+
declare const emitShard: ({ advisories, advisorProcedures, agents, capabilities, containers, env, flagKeys, hasFlags, hasNotify, hasRooms, hasSockets, lazyFunctions, hasVectors, liveStreams, maskMetadata, mutators, queues, rlsMetadata, schema, schemaSnapshot, shapes, storageRules, studioFeatures, services, topics, useUmbrella, workflows }: EmitShardOptions) => string;
|
|
4097
4111
|
/**
|
|
4098
4112
|
* Emit `_generated/containers.ts` — one container-enabled Durable Object class
|
|
4099
4113
|
* per `defineContainer` export, each a thin subclass of `LunoraContainer`
|
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 p}from"./packem_shared/formatAdvisories-BCVASH7N.mjs";import{describeErrorLevelFindings as n,errorAdvisoryNames as l,errorPlatformDiagnosticNames as c,sortedUniqueNames as x}from"./packem_shared/describeErrorLevelFindings-vzaGS9KL.mjs";import{CAPABILITY_PROBES as E}from"./packem_shared/CAPABILITY_PROBES-brcmKenl.mjs";import{CodegenDiagnosticError as A,diagnosticAt as v}from"./packem_shared/CodegenDiagnosticError-BUXlG3P-.mjs";import{AGENTS_FILENAME as N,discoverAgents as g}from"./packem_shared/AGENTS_FILENAME-B6-kjzM3.mjs";import{isTestPath as R,listLunoraSourceFiles as T}from"./packem_shared/isTestPath-B81lOULB.mjs";import{default as I}from"./packem_shared/discoverAuthApiCalls-xs0ONfI-.mjs";import{CONTAINERS_FILENAME as L,discoverContainers as M}from"./packem_shared/CONTAINERS_FILENAME-dFRtAyIe.mjs";import{default as P}from"./packem_shared/discoverCrons-DBnCama4.mjs";import{capabilitiesUsedBy as b,foldCapabilitySignals as y,mayReadCapabilityContext as U,sourceCapabilitySignals as G}from"./packem_shared/capabilitiesUsedBy-
|
|
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 p}from"./packem_shared/formatAdvisories-BCVASH7N.mjs";import{describeErrorLevelFindings as n,errorAdvisoryNames as l,errorPlatformDiagnosticNames as c,sortedUniqueNames as x}from"./packem_shared/describeErrorLevelFindings-vzaGS9KL.mjs";import{CAPABILITY_PROBES as E}from"./packem_shared/CAPABILITY_PROBES-brcmKenl.mjs";import{CodegenDiagnosticError as A,diagnosticAt as v}from"./packem_shared/CodegenDiagnosticError-BUXlG3P-.mjs";import{AGENTS_FILENAME as N,discoverAgents as g}from"./packem_shared/AGENTS_FILENAME-B6-kjzM3.mjs";import{isTestPath as R,listLunoraSourceFiles as T}from"./packem_shared/isTestPath-B81lOULB.mjs";import{default as I}from"./packem_shared/discoverAuthApiCalls-xs0ONfI-.mjs";import{CONTAINERS_FILENAME as L,discoverContainers as M}from"./packem_shared/CONTAINERS_FILENAME-dFRtAyIe.mjs";import{default as P}from"./packem_shared/discoverCrons-DBnCama4.mjs";import{capabilitiesUsedBy as b,foldCapabilitySignals as y,mayReadCapabilityContext as U,sourceCapabilitySignals as G}from"./packem_shared/capabilitiesUsedBy-CF7sUwa8.mjs";import{FLAGS_FILENAME as j,discoverFlags as B}from"./packem_shared/FLAGS_FILENAME-Bf0MSlHH.mjs";import{default as W}from"./packem_shared/discoverFunctions-CIJja4zp.mjs";import{default as V}from"./packem_shared/discoverHttpRoutes-WBAqBcfK.mjs";import{default as Q}from"./packem_shared/discoverHyperdriveCalls-DVIQ0i_e.mjs";import{default as w}from"./packem_shared/discoverInserts-CednbRCq.mjs";import{d as Y}from"./packem_shared/index-iWQbulvu.mjs";import{default as Z}from"./packem_shared/discoverMigrations-C9mLIhGZ.mjs";import{MUTATORS_FILENAME as ee,discoverMutators as re}from"./packem_shared/MUTATORS_FILENAME-Jkk8Zgkb.mjs";import{default as te}from"./packem_shared/discoverNondeterministicCalls-B6FUSWes.mjs";import{NOTIFY_FILENAME as ae,discoverNotifyCalls as ie,discoverNotifyChannels as me,discoverNotifyConfig as fe}from"./packem_shared/NOTIFY_FILENAME-DiYZjYts.mjs";import{default as de}from"./packem_shared/readPackageDependencies-RHhGiz0k.mjs";import{default as le}from"./packem_shared/discoverQueries-BezURxvr.mjs";import{QUEUES_FILENAME as xe,discoverQueues as Se}from"./packem_shared/QUEUES_FILENAME-CsRy4VTF.mjs";import{default as ue}from"./packem_shared/discoverR2sqlCalls-B9Q6xfi6.mjs";import{default as ve}from"./packem_shared/discoverRlsProcedures-Os1lrVX_.mjs";import{default as Ne}from"./packem_shared/discoverRlsMetadata-DCgP2H39.mjs";import{discoverSandboxUsage as Oe}from"./packem_shared/discoverSandboxUsage-w6Q3RvxZ.mjs";import{default as Te}from"./packem_shared/discoverSchema-BtsX-CN9.mjs";import{readServiceBindings as Ie,resolveServiceBindings as _e}from"./packem_shared/readServiceBindings-DvqIThzd.mjs";import{SHAPES_FILENAME as Me,discoverShapes as Fe}from"./packem_shared/SHAPES_FILENAME-DkBUN9dK.mjs";import{default as De}from"./packem_shared/discoverStorageRulesMetadata-BTD9Vs5X.mjs";import{WORKFLOWS_FILENAME as ye,discoverWorkflows as Ue}from"./packem_shared/WORKFLOWS_FILENAME-CdeS224T.mjs";import{emitApp as He}from"./packem_shared/emitApp-DuJW6LKD.mjs";import{isD1GlobalTable as Be,isHyperdriveGlobalTable as ke}from"./packem_shared/isD1GlobalTable-udvHAAzD.mjs";import{buildOpenApiDocument as Ke,emitOpenApi as Ve,emitOpenApiModule as ze}from"./packem_shared/buildOpenApiDocument-DFv-RYZU.mjs";import{OPENRPC_VERSION as qe,buildOpenRpcDocument as we,emitOpenRpc as Je,emitOpenRpcModule as Ye}from"./packem_shared/OPENRPC_VERSION-CCY7xqSL.mjs";import{DEFAULT_TARGET as Ze,platformMatrixIds as $e,readProjectTarget as er,resolveCodegenTarget as rr}from"./packem_shared/DEFAULT_TARGET-BbWiB-rs.mjs";import{l as tr,r as sr}from"./packem_shared/project-config-file-BV7RR-l6.mjs";import{SCHEMA_SNAPSHOT_FILENAME as ir,runCodegen as mr}from"./packem_shared/SCHEMA_SNAPSHOT_FILENAME-WbrlAts0.mjs";import{SchemaSnapshotParseError as pr,buildSchemaSnapshot as dr,evaluateSchemaDrift as nr,parseSchemaSnapshot as lr}from"./packem_shared/SchemaSnapshotParseError-BRJT7c2k.mjs";import{default as xr}from"./packem_shared/fingerprintSchemaSources-eVG9aVt0.mjs";import{schemaFromIr as Er}from"./packem_shared/schemaFromIr-BWFnvCVg.mjs";import{LUNORA_ERROR_CODES as Ar,validatorIrToJsonSchema as vr}from"./packem_shared/LUNORA_ERROR_CODES-C2s0xWQD.mjs";import{SDK_LANGUAGES as Nr,SDK_TARGETS as gr,generateSdk as Or}from"./sdk/index.mjs";import{redact as Tr,secretKindOf as hr}from"./packem_shared/redact-Cy14LEnc.mjs";import{default as _r}from"./packem_shared/emitDrizzleSchema-DitcRZ1a.mjs";import{e as Mr}from"./packem_shared/server-DAvi_bv_.mjs";import{e as Pr}from"./packem_shared/shard-BtImwCVL.mjs";import{G as br}from"./packem_shared/shared-DnCokNcE.mjs";import{MESSAGE_SOLUTIONS as Ur,findSolutionByMessage as Gr}from"@lunora/errors";import{PROJECT_CONFIG_FILENAMES as jr,findProjectConfigFile as Br}from"./packem_shared/PROJECT_CONFIG_FILENAMES-DzOu-lSc.mjs";import{createCodegenProject as Wr,findTsconfig as Kr,refreshCodegenProject as Vr}from"./packem_shared/createCodegenProject-V51_yBw3.mjs";import{s as Qr,t as qr,u as wr}from"./packem_shared/shard-runtime-BpoCV-aM.mjs";import{emitApi as Yr,emitCollections as Xr,emitInternalApi as Zr}from"./packem_shared/emitApi-CDgIPAG2.mjs";import{emitCrons as eo,emitScheduler as ro,emitVectors as oo,emitWranglerCronTriggers as to}from"./packem_shared/emitCrons-BQW2lviZ.mjs";import{emitDataModel as ao}from"./packem_shared/emitDataModel-BskFt9Wv.mjs";import{emitFunctions as mo}from"./packem_shared/emitFunctions-Cg0JxGpk.mjs";import{isTypedSchema as po}from"./packem_shared/isTypedSchema-CKzc3ioR.mjs";const e="0.0.0";export{N as AGENTS_FILENAME,E as CAPABILITY_PROBES,L as CONTAINERS_FILENAME,A as CodegenDiagnosticError,Ze as DEFAULT_TARGET,j as FLAGS_FILENAME,br as GENERATED_HEADER,Ar as LUNORA_ERROR_CODES,Ur as LUNORA_SOLUTION_RULES,ee as MUTATORS_FILENAME,ae as NOTIFY_FILENAME,qe as OPENRPC_VERSION,jr as PROJECT_CONFIG_FILENAMES,xe as QUEUES_FILENAME,ir as SCHEMA_SNAPSHOT_FILENAME,t as SCHEMA_SNAPSHOT_VERSION,Nr as SDK_LANGUAGES,gr as SDK_TARGETS,Me as SHAPES_FILENAME,pr as SchemaSnapshotParseError,e as VERSION,ye as WORKFLOWS_FILENAME,Ke as buildOpenApiDocument,we as buildOpenRpcDocument,dr as buildSchemaSnapshot,b as capabilitiesUsedBy,Wr as createCodegenProject,n as describeErrorLevelFindings,v as diagnosticAt,s as diffSchemaSnapshots,g as discoverAgents,I as discoverAuthApiCalls,M as discoverContainers,P as discoverCrons,B as discoverFlags,W as discoverFunctions,V as discoverHttpRoutes,Q as discoverHyperdriveCalls,w as discoverInserts,Y as discoverMaskProcedures,Z as discoverMigrations,re as discoverMutators,te as discoverNondeterministicCalls,ie as discoverNotifyCalls,me as discoverNotifyChannels,fe as discoverNotifyConfig,le as discoverQueries,Se as discoverQueues,ue as discoverR2sqlCalls,Ne as discoverRlsMetadata,ve as discoverRlsProcedures,Oe as discoverSandboxUsage,Te as discoverSchema,Fe as discoverShapes,De as discoverStorageRulesMetadata,Ue as discoverWorkflows,Qr as emitAgents,Yr as emitApi,He as emitApp,Xr as emitCollections,qr as emitContainers,eo as emitCrons,ao as emitDataModel,_r as emitDrizzleSchema,mo as emitFunctions,Zr as emitInternalApi,Ve as emitOpenApi,ze as emitOpenApiModule,Je as emitOpenRpc,Ye as emitOpenRpcModule,ro as emitScheduler,Mr as emitServer,Pr as emitShard,oo as emitVectors,wr as emitWorkflows,to as emitWranglerCronTriggers,l as errorAdvisoryNames,c as errorPlatformDiagnosticNames,nr as evaluateSchemaDrift,Gr as findLunoraSolution,Br as findProjectConfigFile,Kr as findTsconfig,xr as fingerprintSchemaSources,y as foldCapabilitySignals,m as formatAdvisories,Or as generateSdk,Be as isD1GlobalTable,ke as isHyperdriveGlobalTable,R as isTestPath,po as isTypedSchema,f as lintSchema,T as listLunoraSourceFiles,tr as loadProjectConfig,U as mayReadCapabilityContext,lr as parseSchemaSnapshot,$e as platformMatrixIds,de as readPackageDependencies,sr as readProjectConfigLiterals,er as readProjectTarget,Ie as readServiceBindings,Tr as redact,Vr as refreshCodegenProject,rr as resolveCodegenTarget,_e as resolveServiceBindings,mr as runCodegen,Er as schemaFromIr,hr as secretKindOf,a as serializeSchemaSnapshot,x as sortedUniqueNames,G as sourceCapabilitySignals,p as toAdvisorContext,vr as validatorIrToJsonSchema};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{NODE_CAPABILITIES as g,CLOUDFLARE_CAPABILITIES as b,CELLD_CAPABILITIES as S}from"@lunora/platform";import{r as f}from"./project-config-file-BV7RR-l6.mjs";const m="cloudflare",y=t=>{const{target:e}=f(t);return e!==void 0&&e.length>0?e:void 0},z=(t,e)=>e??y(t)??m,I=(t,e)=>{if(e!==void 0)return[];const{target:a,unreadable:r}=f(t);return r!==!0||a!==void 0?[]:[{level:"warn",message:`lunora.config declares a \`target\` that codegen cannot read without evaluating it, so the "${m}" surface was emitted. \`runCodegen\` resolves the target synchronously, which means it reads literals only.`,name:"platform_unreadable_target",remediation:`Write \`target\` as a string literal on the config's default export (\`export default { target: "${m}" }\`), or pass \`--target\`.`,target:m}]},_={max:1536,min:32},E=(t,e)=>{if(t!=="cloudflare")return[];const{max:a,min:r}=_,i=`${String(r)}-${String(a)}`;return e.filter(({dimensions:o})=>o!==void 0&&(!Number.isInteger(o)||o<r||o>a)).map(({dimensions:o,name:s})=>({level:"warn",message:`Vector index "${s}" declares ${String(o)} dimensions; Cloudflare Vectorize accepts ${i}, so creating a Vectorize index for it fails at deploy.`,name:"platform_vector_dimensions_out_of_range",remediation:`If a Vectorize index backs "${s}", use ${i} dimensions (many embedding models can truncate output to fit). Ignore this if another store, such as pgvector, backs it.`,target:t}))},u={celld:S,cloudflare:b,node:g},D=(t,e)=>{const a=u[t];if(a===void 0)return!0;const r=a.features[e]?.level;return r==="native"||r==="emulated"},O=()=>Object.keys(u).toSorted((t,e)=>t.localeCompare(e)),w={access:null,ai:"ai",aiSearch:"aiSearch",analytics:"analytics",analyticsSql:"analyticsSql",artifacts:"artifacts",browser:"browser",container:"containers",flags:null,hyperdrive:"hyperdrive",images:"images",kv:"keyValueStore",mail:"mail",notify:null,payments:null,pipelines:"pipelines",r2sql:null,scheduler:"scheduler",storage:"objectStorage",vectors:"vectorStore",workflows:"workflows",x402:"secrets"},k=["agents","commitOrderedTables","containerEgressPolicy","containerRuntimeScheduling","containerSandboxTools","cronTriggers","crossShardFanout","deliveryAuthorization","durableStreams","globalTables","liveStreams","queues","relationGraph","secrets","services","topics","typedWebSockets","vectorStore","workerLoaders","workflowRollback","workflowSchedules"],h={agents:"durable agents (`defineAgent`)",commitOrderedTables:"commit-ordered tables (`.commitOrdered()`)",containerEgressPolicy:"container egress policies (`defineContainer({ allowedHosts | deniedHosts | interceptHttps })`)",containerRuntimeScheduling:'per-instance container images and snapshots (`defineContainer({ schedulingPolicy: "durable_object" })`)',containerSandboxTools:"container sandbox helpers — files, directory backups, bucket mounts (`defineContainer({ sandbox: true })`)",deliveryAuthorization:"delivery authorization (`.deliveryAuthorization(...)` on the app builder)",cronTriggers:"declared cron triggers (`cronJobs()`)",crossShardFanout:"cross-shard fan-out queries (a `.shardBy(...)` schema)",durableStreams:"durable streams (`.stream(handler, { durable: true })`)",globalTables:"global tables (`.global()`)",liveContext:"the live publisher (`ctx.live`)",liveStreams:"live topic streams (`defineLiveStream`)",queues:"queues (`defineQueue`)",relationGraph:"relation-graph traversal (`ctx.db.related`, derived from `v.id(...)` columns)",secrets:"the secrets store (`ctx.secrets`)",services:"service bindings to sibling Workers (`lunora.config` `services`)",topics:"pub/sub topics (`defineTopic` / `defineSubscription`)",typedWebSockets:"typed WebSocket routes and rooms (`defineWebSocket` / `defineRoom`)",vectorStore:"vector indexes (`.vectorize()`)",workerLoaders:"sandboxed agent scripts (`jsCodeTool`, on Worker Loaders)",workflowRollback:"workflow step rollback (`defineStep({ rollback })`)",workflowSchedules:"scheduled workflow instances (`defineWorkflow({ schedules })`)"},x=(t,e,a)=>({level:"error",message:`${e.name} does not support ${h[t]}, which this app declares.`,name:"platform_unsupported_feature",remediation:`Remove the declaration, or deploy to a target whose capability matrix marks "${t}" as native or emulated.`,target:a}),T=(t,e)=>({level:"error",message:`${t.name} withholds live streams, so ctx.live is not available on the "${e}" target, but this app reads ctx.live.`,name:"platform_unsupported_feature",remediation:'Remove the ctx.live usage, or deploy to a target whose capability matrix marks "liveStreams" as native or emulated.',target:e}),P=t=>({level:"error",message:"This app declares defineLiveStream topics and enables delivery authorization. With delivery authorization on, the shard answers every /_lunora/live/* request with 501, so the live streams cannot be served.",name:"platform_live_stream_delivery_authorization",remediation:"Remove the defineLiveStream declarations, or remove the .deliveryAuthorization(...) call. Live streams and delivery authorization cannot be combined.",target:t}),W=t=>({level:"error",message:"This app declares defineWebSocket routes and enables delivery authorization. With delivery authorization on, the shard answers every route upgrade with 501, so the routes cannot be served.",name:"platform_socket_delivery_authorization",remediation:"Remove the defineWebSocket declarations, or remove the .deliveryAuthorization(...) call. Socket routes and delivery authorization cannot be combined.",target:t}),$=(t,e,a)=>({level:"error",message:`${e.name}'s capability matrix does not declare a support level for ${h[t]}, which this app declares. Treated as unsupported.`,name:"platform_undeclared_feature",remediation:`Rate "${t}" in the ${e.name} capability matrix as "native", "emulated", or "unsupported" — an undeclared feature fails closed rather than letting the app deploy onto a primitive the host may not provide.`,target:a}),A=t=>{const{diagnostics:e,gatedSignals:a,matrix:r,reported:i,signals:o,target:s}=t;for(const n of k){if(o[n]!==!0)continue;const d=r.features[n]?.level;d!=="unsupported"&&d!==void 0||(a[n]=!1,!i.has(n)&&e.push(d==="unsupported"?x(n,r,s):$(n,r,s)))}},L=(t,e,a,r={})=>{const i={...t},o={...r},s=[],n=new Set;for(const[l,c]of Object.entries(w)){if(c===null||!t[l])continue;const v=e.features[c]?.level;v==="unsupported"?(i[l]=!1,n.add(c),s.push({feature:l,level:"error",message:`${e.name} does not support "${l}" (ctx.${l}).`,name:"platform_unsupported_feature",remediation:`Remove the ctx.${l} usage, or deploy to a target whose capability matrix marks "${c}" as native or emulated.`,target:a})):v===void 0&&(i[l]=!1,n.add(c),s.push({feature:l,level:"error",message:`${e.name}'s capability matrix does not declare a support level for "${l}" (ctx.${l}). Treated as unsupported.`,name:"platform_undeclared_feature",remediation:`Rate "${c}" in the ${e.name} capability matrix as "native", "emulated", or "unsupported" — an undeclared feature fails closed rather than shipping a surface the host may not provide.`,target:a}))}A({diagnostics:s,gatedSignals:o,matrix:e,reported:n,signals:r,target:a});const d=e.features.liveStreams?.level,p=d===void 0||d==="unsupported";return r.liveContext===!0&&p&&s.push(T(e,a)),{diagnostics:s,liveStreamsWithheld:p,signals:o,usage:i}},F=(t,e,a={})=>{const r=u[e];return r===void 0?{diagnostics:[{level:"error",message:`Unknown deploy target "${e}" — no capability matrix is registered for it. Codegen emitted the full Cloudflare surface un-gated.`,name:"platform_unknown_target",remediation:`Use a registered target (${Object.keys(u).join(", ")}) or install the target's @lunora/platform-${e} package.`,target:e}],liveStreamsWithheld:!1,signals:{...a},usage:{...t}}:L(t,r,e,a)},j=t=>{const e=u[t];if(e===void 0)return;const a=Object.entries(e.features).filter(([,r])=>r.level==="unsupported").map(([r])=>r).toSorted((r,i)=>r.localeCompare(i));return{id:e.id,name:e.name,unsupported:a}};export{w as CAPABILITY_TO_FEATURE,m as DEFAULT_TARGET,L as gateAgainstMatrix,F as gatePlatformFeatures,P as liveStreamsDeliveryAuthorizationDiagnostic,D as platformFeatureAvailable,O as platformMatrixIds,y as readProjectTarget,I as readTargetDiagnostics,z as resolveCodegenTarget,W as socketRoutesDeliveryAuthorizationDiagnostic,j as studioPlatformFor,E as vectorizeDimensionDiagnostics};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{existsSync as v}from"node:fs";import{join as N}from"node:path";import{SyntaxKind as u,Node as r,VariableDeclarationKind as F}from"ts-morph";import{listLunoraSourceFiles as m,lunoraRelativePath as O,findObjectProperty as g,defaultExportExpression as D,handlerOf as A}from"./isTestPath-B81lOULB.mjs";import{b as I,d as T}from"./attribution-hVBriwzy.mjs";import{i as l}from"./context-root-
|
|
1
|
+
import{existsSync as v}from"node:fs";import{join as N}from"node:path";import{SyntaxKind as u,Node as r,VariableDeclarationKind as F}from"ts-morph";import{listLunoraSourceFiles as m,lunoraRelativePath as O,findObjectProperty as g,defaultExportExpression as D,handlerOf as A}from"./isTestPath-B81lOULB.mjs";import{b as I,d as T}from"./attribution-hVBriwzy.mjs";import{i as l}from"./context-root-D-pTjHtx.mjs";import{c as C}from"./classify-procedure-call-DUBO9bqm.mjs";const k="notify.ts",L=new Set(["chat","inApp","send","webhook"]),h=new Set(["broadcast","send"]),M=e=>{const s=e.getInitializer();if(!s||!r.isCallExpression(s))return;const t=C(s);if(!t)return;const i=A(s,t.receiver);return i?{exportName:T(e)??e.getName(),handler:i,kind:t.kind}:void 0},x=e=>{const s=[];for(const t of I(e)){const i=M(t);i&&s.push(i)}return s},y=e=>l(e,["notify"])?"notify":l(e,["push"])||l(e,["notify","push"])?"push":void 0,w=e=>{if(!r.isPropertyAccessExpression(e))return;const s=e.getName(),t=y(e.getExpression());if(t==="notify"&&L.has(s))return`ctx.notify.${s}`;if(t==="push"&&h.has(s))return`ctx.push.${s}`},_=e=>r.isPropertyAccessExpression(e)?y(e.getExpression())==="push"&&h.has(e.getName()):!1,Z=(e,s)=>{const t=[];for(const i of m(s)){const n=e.getSourceFile(i)??e.addSourceFileAtPath(i),o=O(s,i);for(const c of x(n))if(!(c.kind!=="query"&&c.kind!=="mutation"))for(const a of c.handler.getDescendantsOfKind(u.PropertyAccessExpression)){const f=w(a);f!==void 0&&t.push({callee:f,exportName:c.exportName,file:o,kind:c.kind,line:a.getStartLineNumber()})}}return t},K=(e,s)=>{for(const t of m(s)){const i=e.getSourceFile(t)??e.addSourceFileAtPath(t);for(const n of x(i))for(const o of n.handler.getDescendantsOfKind(u.PropertyAccessExpression))if(_(o))return!0}return!1},R=new Set(["@lunora/notify"]),U=e=>{const s=e.getSymbol();if(!s)return e.getText()==="defineNotify";for(const t of s.getDeclarations())if(r.isImportSpecifier(t))return R.has(t.getImportDeclaration().getModuleSpecifierValue())?t.getNameNode().getText()==="defineNotify":!1;return!1},E=(e,s=new Set)=>{const t=D(e);if(!t)return;if(!r.isIdentifier(t))return t;const i=t.getSymbol();if(!i?.isAlias())return t;const n=i.getAliasedSymbol();if(!n)return t;const o=n.getDeclarations().find(a=>r.isExportAssignment(a));if(!o)return t;const c=o.getSourceFile();if(!s.has(c.getFilePath()))return E(c,s.add(c.getFilePath()))},V=new Set(["%=","&&=","&=","**=","+=","-=","/=","<<=","=",">>=",">>>=","??=","^=","|=","||="]),p=e=>{const s=e.getSymbol();return s?.getAliasedSymbol()?.getDeclarations()[0]??s?.getDeclarations()[0]},P=e=>{if(r.isIdentifier(e))return e;if(r.isPropertyAccessExpression(e)||r.isElementAccessExpression(e))return P(e.getExpression())},d=(e,s)=>{const t=P(e);return t!==void 0&&p(t)===s},j=(e,s)=>{const t=e.getExpression();if(!r.isPropertyAccessExpression(t))return!1;const i=t.getName(),n=t.getExpression(),o=r.isIdentifier(n)?n.getText():"";if(!((i==="assign"||i==="defineProperty"||i==="defineProperties")&&o==="Object"||i==="set"&&o==="Reflect"))return!1;const a=e.getArguments()[0];return a!==void 0&&r.isIdentifier(a)&&p(a)===s},z=(e,s)=>{if(r.isBinaryExpression(e))return V.has(e.getOperatorToken().getText())&&d(e.getLeft(),s);if(r.isDeleteExpression(e))return d(e.getExpression(),s);if(r.isPrefixUnaryExpression(e)||r.isPostfixUnaryExpression(e)){const t=e.getOperatorToken();return(t===u.PlusPlusToken||t===u.MinusMinusToken)&&d(e.getOperand(),s)}return r.isCallExpression(e)?j(e,s):!1},H=(e,s)=>{const t=p(e);return t===void 0?!0:s.some(i=>i.getDescendants().some(n=>z(n,t)))},W=e=>{if(r.isObjectLiteralExpression(e))return e;if(!r.isIdentifier(e))return;const s=e.getSymbol(),t=s?.getAliasedSymbol()?.getDeclarations()??s?.getDeclarations()??[];for(const i of t){if(!r.isVariableDeclaration(i))continue;const n=i.getInitializer();if(!n||!r.isObjectLiteralExpression(n))continue;const o=i.getParent();if(!r.isVariableDeclarationList(o)||o.getDeclarationKind()!==F.Const)continue;const c=[i.getSourceFile(),e.getSourceFile()].filter((a,f,S)=>S.findIndex(b=>b.getFilePath()===a.getFilePath())===f);if(!H(e,c))return n}},Y=(e,s)=>{const t=N(s,k);if(!v(t))return;const i=e.getSourceFile(t)??e.addSourceFileAtPath(t),n=E(i);if(!n||!r.isCallExpression(n))return{hasFcm:!0,hasWebPush:!0};const o=n.getExpression(),c=r.isIdentifier(o)&&U(o)?n.getArguments()[0]:void 0,a=c===void 0?void 0:W(c);return!a||a.getProperties().some(f=>r.isSpreadAssignment(f))?{hasFcm:!0,hasWebPush:!0}:{hasFcm:g(a,"fcm")!==void 0,hasWebPush:g(a,"webPush")!==void 0}},ee=(e,s)=>{const t=Y(e,s);return t===void 0?void 0:{...t,usesPush:K(e,s)}};export{k as NOTIFY_FILENAME,Z as discoverNotifyCalls,Y as discoverNotifyChannels,ee as discoverNotifyConfig};
|