@lunora/codegen 1.0.0-alpha.3 → 1.0.0-alpha.300
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/LICENSE.md +6 -0
- package/README.md +1 -1
- package/__assets__/package-og.svg +1 -1
- package/dist/index.d.mts +4477 -1093
- package/dist/index.d.ts +4477 -1093
- package/dist/index.mjs +1 -29
- package/dist/packem_shared/AGENTS_FILENAME-B6-kjzM3.mjs +1 -0
- package/dist/packem_shared/CAPABILITY_PROBES-brcmKenl.mjs +25 -0
- package/dist/packem_shared/CONTAINERS_FILENAME-dFRtAyIe.mjs +1 -0
- package/dist/packem_shared/CodegenDiagnosticError-BUXlG3P-.mjs +1 -0
- package/dist/packem_shared/DEFAULT_TARGET-BnQiNNKu.mjs +1 -0
- package/dist/packem_shared/FLAGS_FILENAME-Bf0MSlHH.mjs +1 -0
- package/dist/packem_shared/GENERATED_HEADER-Ck_WOHzE.mjs +1 -0
- package/dist/packem_shared/LUNORA_ERROR_CODES-C2s0xWQD.mjs +1 -0
- package/dist/packem_shared/MUTATORS_FILENAME-Bw0YtaO8.mjs +1 -0
- package/dist/packem_shared/NOTIFY_FILENAME-CPjbiHQl.mjs +1 -0
- package/dist/packem_shared/OPENRPC_VERSION-CCY7xqSL.mjs +3 -0
- package/dist/packem_shared/PROJECT_CONFIG_FILENAMES-DzOu-lSc.mjs +1 -0
- package/dist/packem_shared/QUEUES_FILENAME-CsRy4VTF.mjs +1 -0
- package/dist/packem_shared/SCHEMA_SNAPSHOT_FILENAME-BfK-dKlK.mjs +11 -0
- package/dist/packem_shared/SCHEMA_SNAPSHOT_VERSION-C0oHwiJZ.mjs +2 -0
- package/dist/packem_shared/SDK_LANGUAGES-Df_CnJx5.mjs +372 -0
- package/dist/packem_shared/SHAPES_FILENAME-DkBUN9dK.mjs +1 -0
- package/dist/packem_shared/SchemaSnapshotParseError-BRJT7c2k.mjs +18 -0
- package/dist/packem_shared/WORKFLOWS_FILENAME-CQR8fE9B.mjs +1 -0
- package/dist/packem_shared/attribution-hVBriwzy.mjs +1 -0
- package/dist/packem_shared/buildOpenApiDocument-DFv-RYZU.mjs +3 -0
- package/dist/packem_shared/capabilitiesUsedBy-QgSZyE0T.mjs +1 -0
- package/dist/packem_shared/chain-CRDaTj2c.mjs +1 -0
- package/dist/packem_shared/classify-procedure-call-BAj0D1u2.mjs +1 -0
- package/dist/packem_shared/context-property-calls-DJ_A1R5i.mjs +1 -0
- package/dist/packem_shared/context-root-wBahDTzk.mjs +1 -0
- package/dist/packem_shared/createCodegenProject-V51_yBw3.mjs +1 -0
- package/dist/packem_shared/database-calls-CHZbBUCZ.mjs +1 -0
- package/dist/packem_shared/declared-output-Iaar469J.mjs +1 -0
- package/dist/packem_shared/describeErrorLevelFindings-vzaGS9KL.mjs +1 -0
- package/dist/packem_shared/discoverAuthApiCalls-xs0ONfI-.mjs +1 -0
- package/dist/packem_shared/discoverCrons-DF7dOP9x.mjs +1 -0
- package/dist/packem_shared/discoverFunctions-DaEZl3uE.mjs +1 -0
- package/dist/packem_shared/discoverHttpRoutes-C_u9YiFb.mjs +1 -0
- package/dist/packem_shared/discoverHyperdriveCalls-BUrA_96X.mjs +1 -0
- package/dist/packem_shared/discoverInserts-OT_fiEGq.mjs +1 -0
- package/dist/packem_shared/discoverMaskProcedures-CcB18tzB.mjs +1 -0
- package/dist/packem_shared/discoverMigrations-C9mLIhGZ.mjs +1 -0
- package/dist/packem_shared/discoverNondeterministicCalls-9ZDpRptb.mjs +1 -0
- package/dist/packem_shared/discoverQueries-C8V4cMIP.mjs +1 -0
- package/dist/packem_shared/discoverR2sqlCalls-COKmDnih.mjs +1 -0
- package/dist/packem_shared/discoverRlsMetadata-Cb8JR1b4.mjs +1 -0
- package/dist/packem_shared/discoverRlsProcedures-BlUd32bU.mjs +1 -0
- package/dist/packem_shared/discoverSandboxUsage-w6Q3RvxZ.mjs +1 -0
- package/dist/packem_shared/discoverSchema-CRBUNY3s.mjs +1 -0
- package/dist/packem_shared/discoverStorageRulesMetadata-BPJplDfz.mjs +1 -0
- package/dist/packem_shared/dispatch-namespace-DwTjD7BU.mjs +1 -0
- package/dist/packem_shared/emitAgents-D_UUdNe1.mjs +1 -0
- package/dist/packem_shared/emitApi-Zx6VPN-7.mjs +135 -0
- package/dist/packem_shared/emitApp-DAZCUDbr.mjs +864 -0
- package/dist/packem_shared/emitCrons-BQW2lviZ.mjs +96 -0
- package/dist/packem_shared/emitDataModel-BskFt9Wv.mjs +114 -0
- package/dist/packem_shared/emitDrizzleSchema-DitcRZ1a.mjs +15 -0
- package/dist/packem_shared/emitFunctions-BeKgL3dl.mjs +241 -0
- package/dist/packem_shared/emitServer-D1vA5_X1.mjs +1 -0
- package/dist/packem_shared/emitShard-C8I2zw1K.mjs +1 -0
- package/dist/packem_shared/exported-procedure-chains-DKK5HoK3.mjs +1 -0
- package/dist/packem_shared/fingerprintSchemaSources-eVG9aVt0.mjs +1 -0
- package/dist/packem_shared/formatAdvisories-BCVASH7N.mjs +2 -0
- package/dist/packem_shared/handler-reference-vIeqkhV_.mjs +1 -0
- package/dist/packem_shared/index-DZZpHXMv.mjs +1 -0
- package/dist/packem_shared/isD1GlobalTable-udvHAAzD.mjs +1 -0
- package/dist/packem_shared/isTestPath-B81lOULB.mjs +1 -0
- package/dist/packem_shared/isTypedSchema-CKzc3ioR.mjs +4 -0
- package/dist/packem_shared/json-data-Chfs2Cz5.mjs +1 -0
- package/dist/packem_shared/loadProjectConfig-NO0dVJSl.mjs +1 -0
- package/dist/packem_shared/module-specifiers-WF8iAydP.mjs +1 -0
- package/dist/packem_shared/modules-CjOcuQnK.mjs +1 -0
- package/dist/packem_shared/parse-validator-IDBKIT7M.mjs +1 -0
- package/dist/packem_shared/platform-8oj7iXQy.mjs +1 -0
- package/dist/packem_shared/project-config-file-BV7RR-l6.mjs +1 -0
- package/dist/packem_shared/qualifiers-DEdXn5wP.mjs +1 -0
- package/dist/packem_shared/readPackageDependencies-RHhGiz0k.mjs +1 -0
- package/dist/packem_shared/readServiceBindings-DvqIThzd.mjs +1 -0
- package/dist/packem_shared/redact-Cy14LEnc.mjs +1 -0
- package/dist/packem_shared/reserved-words-CW1QFbTd.mjs +1 -0
- package/dist/packem_shared/schema-BgM8A3XV.mjs +1 -0
- package/dist/packem_shared/schemaFromIr-BWFnvCVg.mjs +1 -0
- package/dist/packem_shared/server-DAvi_bv_.mjs +368 -0
- package/dist/packem_shared/shard-BTj5Z44S.mjs +1446 -0
- package/dist/packem_shared/shard-runtime-BX0xmo0P.mjs +326 -0
- package/dist/packem_shared/shared-DnCokNcE.mjs +13 -0
- package/dist/packem_shared/unwrap-handler-return-B-jQde6M.mjs +1 -0
- package/package.json +18 -7
- package/dist/packem_shared/CONTAINERS_FILENAME-0K-pjNb8.mjs +0 -224
- package/dist/packem_shared/CodegenDiagnosticError-54jWDxA9.mjs +0 -22
- package/dist/packem_shared/GENERATED_HEADER-CuLyj0WQ.mjs +0 -2486
- package/dist/packem_shared/LUNORA_ERROR_CODES-CySpQPD3.mjs +0 -61
- package/dist/packem_shared/OPENRPC_VERSION-BGUrsrt_.mjs +0 -60
- package/dist/packem_shared/SCHEMA_SNAPSHOT_FILENAME-BQ_kCZ81.mjs +0 -903
- package/dist/packem_shared/SCHEMA_SNAPSHOT_VERSION-DzLDbWk3.mjs +0 -233
- package/dist/packem_shared/WORKFLOWS_FILENAME-DRDQdhfq.mjs +0 -84
- package/dist/packem_shared/buildOpenApiDocument-CXwnbp4b.mjs +0 -183
- package/dist/packem_shared/discover-ast-CT6BgBr4.mjs +0 -13
- package/dist/packem_shared/discoverAuthApiCalls-C35R6z0T.mjs +0 -62
- package/dist/packem_shared/discoverCrons-BL6iGuJ3.mjs +0 -254
- package/dist/packem_shared/discoverFunctions-DEgAcRuD.mjs +0 -460
- package/dist/packem_shared/discoverHttpRoutes-C978pBiG.mjs +0 -131
- package/dist/packem_shared/discoverInserts-CRQdXvHO.mjs +0 -39
- package/dist/packem_shared/discoverMaskProcedures-B64zA740.mjs +0 -217
- package/dist/packem_shared/discoverMigrations-Doj_-BAA.mjs +0 -91
- package/dist/packem_shared/discoverNondeterministicCalls-4KiPQxQU.mjs +0 -122
- package/dist/packem_shared/discoverQueries-BkIi0dBD.mjs +0 -62
- package/dist/packem_shared/discoverR2sqlCalls-BpDqvcUn.mjs +0 -80
- package/dist/packem_shared/discoverRlsMetadata-DpRB1HMe.mjs +0 -280
- package/dist/packem_shared/discoverSchema-BBulgGbH.mjs +0 -542
- package/dist/packem_shared/discoverStorageRulesMetadata-DAqJUxUv.mjs +0 -97
- package/dist/packem_shared/emitApp-CzSxVDaG.mjs +0 -599
- package/dist/packem_shared/formatAdvisories-8NIv1k0I.mjs +0 -69
- package/dist/packem_shared/parse-validator-tuQtHrsr.mjs +0 -132
- package/dist/packem_shared/paths-BRd6JHuF.mjs +0 -11
- package/dist/packem_shared/schemaFromIr-DTYsLBaA.mjs +0 -57
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { jsonSchemaFromNode, objectSchemaFromNodes } from '@lunora/values';
|
|
2
|
-
|
|
3
|
-
const literalConst = (literalValue) => {
|
|
4
|
-
if (literalValue === void 0) {
|
|
5
|
-
return {};
|
|
6
|
-
}
|
|
7
|
-
const trimmed = literalValue.trim();
|
|
8
|
-
if (trimmed === "true") {
|
|
9
|
-
return { const: true };
|
|
10
|
-
}
|
|
11
|
-
if (trimmed === "false") {
|
|
12
|
-
return { const: false };
|
|
13
|
-
}
|
|
14
|
-
if (trimmed === "null") {
|
|
15
|
-
return { const: null, type: "null" };
|
|
16
|
-
}
|
|
17
|
-
if (trimmed.startsWith('"') && trimmed.endsWith('"') || trimmed.startsWith("'") && trimmed.endsWith("'")) {
|
|
18
|
-
return { const: trimmed.slice(1, -1), type: "string" };
|
|
19
|
-
}
|
|
20
|
-
const asNumber = Number(trimmed);
|
|
21
|
-
if (!Number.isNaN(asNumber)) {
|
|
22
|
-
return { const: asNumber };
|
|
23
|
-
}
|
|
24
|
-
return { const: trimmed };
|
|
25
|
-
};
|
|
26
|
-
const irReader = {
|
|
27
|
-
constraints: () => void 0,
|
|
28
|
-
inner: (validator) => validator.inner,
|
|
29
|
-
isNullable: (validator) => validator.column?.notNull === false,
|
|
30
|
-
// `ValidatorIR.kind` is a loose `string` (build-time AST); narrow it to the
|
|
31
|
-
// shared reader's `ValidatorKind`. Unknown kinds fall through the mapper's
|
|
32
|
-
// `default` branch to an empty schema, exactly as before.
|
|
33
|
-
kind: (validator) => validator.kind,
|
|
34
|
-
literalSchema: (validator) => literalConst(validator.literalValue),
|
|
35
|
-
members: (validator) => validator.members ?? [],
|
|
36
|
-
shape: (validator) => validator.shape ?? {},
|
|
37
|
-
tableName: (validator) => validator.tableName,
|
|
38
|
-
valueChild: (validator) => validator.valueType
|
|
39
|
-
};
|
|
40
|
-
const validatorIrToJsonSchema = (validator) => jsonSchemaFromNode(validator, irReader);
|
|
41
|
-
const objectSchema = (shape) => objectSchemaFromNodes(shape, irReader);
|
|
42
|
-
const argsObjectSchema = (args) => objectSchema(args);
|
|
43
|
-
const LUNORA_ERROR_CODES = [
|
|
44
|
-
"BAD_REQUEST",
|
|
45
|
-
"CONFLICT",
|
|
46
|
-
"COUNT_RLS_UNSUPPORTED",
|
|
47
|
-
"FORBIDDEN",
|
|
48
|
-
"FUNCTION_NOT_FOUND",
|
|
49
|
-
"INTERNAL",
|
|
50
|
-
"INTERNAL_SERVER_ERROR",
|
|
51
|
-
"METHOD_NOT_ALLOWED",
|
|
52
|
-
"NOT_FOUND",
|
|
53
|
-
"NOT_IMPLEMENTED",
|
|
54
|
-
"PAYLOAD_TOO_LARGE",
|
|
55
|
-
"TOO_MANY_REQUESTS",
|
|
56
|
-
"UNAUTHORIZED",
|
|
57
|
-
"UNPROCESSABLE",
|
|
58
|
-
"VALIDATION_ERROR"
|
|
59
|
-
];
|
|
60
|
-
|
|
61
|
-
export { LUNORA_ERROR_CODES, argsObjectSchema, literalConst, objectSchema, validatorIrToJsonSchema };
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { GENERATED_HEADER } from './GENERATED_HEADER-CuLyj0WQ.mjs';
|
|
2
|
-
import { s as sanitizeNamespace } from './paths-BRd6JHuF.mjs';
|
|
3
|
-
import { argsObjectSchema, LUNORA_ERROR_CODES } from './LUNORA_ERROR_CODES-CySpQPD3.mjs';
|
|
4
|
-
|
|
5
|
-
const OPENRPC_VERSION = "1.3.2";
|
|
6
|
-
const inferredResultSchema = () => {
|
|
7
|
-
return { description: "Result is TS-inferred from the function's return type (no `.output()` declared); best-effort — any JSON." };
|
|
8
|
-
};
|
|
9
|
-
const rpcMethod = (definition) => {
|
|
10
|
-
const namespace = sanitizeNamespace(definition.filePath);
|
|
11
|
-
const functionPath = `${namespace}:${definition.exportName}`;
|
|
12
|
-
return {
|
|
13
|
-
description: `Invoke the \`${definition.kind}\` \`${functionPath}\` over the Lunora RPC envelope (POST /_lunora/rpc, body \`{ "functionPath": "${functionPath}", "args": { … } }\`).`,
|
|
14
|
-
errors: LUNORA_ERROR_CODES.map((code, index) => {
|
|
15
|
-
return { code: -32e3 - index, data: { code }, message: code };
|
|
16
|
-
}),
|
|
17
|
-
name: functionPath,
|
|
18
|
-
params: [
|
|
19
|
-
{
|
|
20
|
-
description: "The function's argument object (the RPC envelope's `args`).",
|
|
21
|
-
name: "args",
|
|
22
|
-
// A function with no declared args still takes an (empty) args
|
|
23
|
-
// object; `required` reflects whether the function declares any
|
|
24
|
-
// arguments at all.
|
|
25
|
-
required: Object.keys(definition.args).length > 0,
|
|
26
|
-
schema: argsObjectSchema(definition.args)
|
|
27
|
-
}
|
|
28
|
-
],
|
|
29
|
-
result: {
|
|
30
|
-
name: "result",
|
|
31
|
-
schema: inferredResultSchema()
|
|
32
|
-
},
|
|
33
|
-
summary: `${definition.kind}: ${functionPath}`,
|
|
34
|
-
"x-lunora-function-kind": definition.kind,
|
|
35
|
-
// OpenRPC has no first-class tag grouping; surface the file namespace as
|
|
36
|
-
// an `x-tags` extension so tooling can group methods by source file.
|
|
37
|
-
"x-tags": [{ name: namespace }]
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
const buildOpenRpcDocument = (input) => {
|
|
41
|
-
const version = input.version ?? "0.0.0";
|
|
42
|
-
const rpcFunctions = input.functions.filter((definition) => definition.visibility !== "internal" && definition.kind !== "stream");
|
|
43
|
-
const methods = rpcFunctions.map((definition) => rpcMethod(definition)).toSorted((a, b) => a.name.localeCompare(b.name));
|
|
44
|
-
const document = {
|
|
45
|
-
info: {
|
|
46
|
-
description: "Auto-generated from @lunora/values-typed functions by @lunora/codegen. Do not edit — run `lunora codegen` to regenerate.",
|
|
47
|
-
title: "Lunora RPC",
|
|
48
|
-
version
|
|
49
|
-
},
|
|
50
|
-
methods,
|
|
51
|
-
openrpc: OPENRPC_VERSION
|
|
52
|
-
};
|
|
53
|
-
return document;
|
|
54
|
-
};
|
|
55
|
-
const emitOpenRpc = (input) => `${JSON.stringify(buildOpenRpcDocument(input), void 0, 2)}
|
|
56
|
-
`;
|
|
57
|
-
const emitOpenRpcModule = (document_) => `${GENERATED_HEADER}export const openRpcSpec: Record<string, unknown> = ${JSON.stringify(document_, void 0, 4)};
|
|
58
|
-
`;
|
|
59
|
-
|
|
60
|
-
export { OPENRPC_VERSION, buildOpenRpcDocument, emitOpenRpc, emitOpenRpcModule };
|