@lunora/codegen 1.0.0-alpha.4 → 1.0.0-alpha.41

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.
Files changed (39) hide show
  1. package/LICENSE.md +6 -0
  2. package/__assets__/package-og.svg +1 -1
  3. package/dist/index.d.mts +1175 -25
  4. package/dist/index.d.ts +1175 -25
  5. package/dist/index.mjs +30 -24
  6. package/dist/packem_shared/{CONTAINERS_FILENAME-0K-pjNb8.mjs → CONTAINERS_FILENAME-DjpXMqhp.mjs} +1 -1
  7. package/dist/packem_shared/{CodegenDiagnosticError-54jWDxA9.mjs → CodegenDiagnosticError-DyQ5FwkM.mjs} +7 -5
  8. package/dist/packem_shared/FLAGS_FILENAME-fEZtzWXi.mjs +139 -0
  9. package/dist/packem_shared/GENERATED_HEADER-cUyu5VOU.mjs +3 -0
  10. package/dist/packem_shared/{LUNORA_ERROR_CODES-CySpQPD3.mjs → LUNORA_ERROR_CODES-DvTLozCu.mjs} +8 -1
  11. package/dist/packem_shared/MUTATORS_FILENAME-BZOfUhlY.mjs +81 -0
  12. package/dist/packem_shared/{OPENRPC_VERSION-C7zKVeKi.mjs → OPENRPC_VERSION-DxbqafcJ.mjs} +2 -2
  13. package/dist/packem_shared/QUEUES_FILENAME-Xv6Vy-Ku.mjs +145 -0
  14. package/dist/packem_shared/SCHEMA_SNAPSHOT_FILENAME-C1yHg38Z.mjs +3438 -0
  15. package/dist/packem_shared/{SCHEMA_SNAPSHOT_VERSION-DzLDbWk3.mjs → SCHEMA_SNAPSHOT_VERSION-D0ARY6rL.mjs} +18 -2
  16. package/dist/packem_shared/SHAPES_FILENAME-DOhPGi-6.mjs +94 -0
  17. package/dist/packem_shared/{WORKFLOWS_FILENAME-DRDQdhfq.mjs → WORKFLOWS_FILENAME-B2By8S4s.mjs} +70 -2
  18. package/dist/packem_shared/{buildOpenApiDocument-Cns1EkCQ.mjs → buildOpenApiDocument-_mwWOc2N.mjs} +2 -2
  19. package/dist/packem_shared/{discoverAuthApiCalls-C35R6z0T.mjs → discoverAuthApiCalls-WMx8L2FG.mjs} +1 -1
  20. package/dist/packem_shared/{discoverCrons-BL6iGuJ3.mjs → discoverCrons-D-jrpm97.mjs} +22 -20
  21. package/dist/packem_shared/{discoverFunctions-DEgAcRuD.mjs → discoverFunctions-CZ91aenA.mjs} +72 -14
  22. package/dist/packem_shared/{discoverHttpRoutes-C978pBiG.mjs → discoverHttpRoutes-DNZLDCmm.mjs} +2 -2
  23. package/dist/packem_shared/{discoverInserts-CRQdXvHO.mjs → discoverInserts-DFRJhmCv.mjs} +24 -2
  24. package/dist/packem_shared/{discoverMaskProcedures-B64zA740.mjs → discoverMaskProcedures-B5iFnZ-X.mjs} +58 -2
  25. package/dist/packem_shared/{discoverMigrations-Doj_-BAA.mjs → discoverMigrations-CdKtMlBc.mjs} +10 -4
  26. package/dist/packem_shared/{discoverNondeterministicCalls-4KiPQxQU.mjs → discoverNondeterministicCalls-C_PrQPkA.mjs} +1 -1
  27. package/dist/packem_shared/{discoverQueries-BkIi0dBD.mjs → discoverQueries-B8W9UPrt.mjs} +1 -1
  28. package/dist/packem_shared/{discoverR2sqlCalls-BpDqvcUn.mjs → discoverR2sqlCalls-Bm7Rfnf4.mjs} +1 -1
  29. package/dist/packem_shared/{discoverRlsMetadata-DpRB1HMe.mjs → discoverRlsMetadata-B4GL4ZKm.mjs} +1 -1
  30. package/dist/packem_shared/{discoverSchema-BBulgGbH.mjs → discoverSchema-DFWVgU5o.mjs} +349 -17
  31. package/dist/packem_shared/{discoverStorageRulesMetadata-DAqJUxUv.mjs → discoverStorageRulesMetadata-nosjYcvN.mjs} +1 -1
  32. package/dist/packem_shared/{GENERATED_HEADER-DF1hQcix.mjs → emit-CFz-9dcD.mjs} +1100 -122
  33. package/dist/packem_shared/{emitApp-Ci_hcJNO.mjs → emitApp-D8rVuM__.mjs} +99 -30
  34. package/dist/packem_shared/formatAdvisories-DRhEiJUz.mjs +114 -0
  35. package/dist/packem_shared/{parse-validator-tuQtHrsr.mjs → parse-validator-BSJo1HGP.mjs} +18 -6
  36. package/dist/packem_shared/redact-oTmsol5A.mjs +33 -0
  37. package/package.json +9 -7
  38. package/dist/packem_shared/SCHEMA_SNAPSHOT_FILENAME-C5UlpWKF.mjs +0 -922
  39. package/dist/packem_shared/formatAdvisories-8NIv1k0I.mjs +0 -69
@@ -1,69 +0,0 @@
1
- import { runAdvisor } from '@lunora/advisor';
2
-
3
- const flattenIndexes = (table) => [
4
- ...table.indexes.map((index) => {
5
- return { fields: index.fields, kind: "index", name: index.name, unique: index.unique };
6
- }),
7
- ...table.searchIndexes.map((index) => {
8
- return { fields: [index.field, ...index.filterFields ?? []], kind: "search", name: index.name };
9
- }),
10
- ...table.rankIndexes.map((index) => {
11
- return { fields: [...index.sortBy.map((key) => key.field), ...index.partitionBy ?? []], kind: "rank", name: index.name };
12
- }),
13
- ...table.vectorIndexes.filter((index) => index.field !== void 0).map((index) => {
14
- return { fields: [index.field], kind: "vector", name: index.name };
15
- })
16
- ];
17
- const toAdvisorSchema = (schema) => {
18
- return {
19
- tables: schema.tables.map((table) => {
20
- return {
21
- externallyManaged: table.externallyManaged ?? false,
22
- fields: Object.keys(table.shape),
23
- indexes: flattenIndexes(table),
24
- name: table.name,
25
- relations: table.relations.map((relation) => {
26
- return {
27
- field: relation.field,
28
- kind: relation.kind,
29
- name: relation.name,
30
- onDelete: relation.onDelete,
31
- references: relation.references,
32
- table: relation.table
33
- };
34
- })
35
- };
36
- })
37
- };
38
- };
39
- const lintSchema = (schema, queries = [], inserts, authApiCalls, rlsProcedures, containers, workflows, workflowCalls, maskProcedures, nondeterministicCalls, procedureProtections, argumentValidators, secretLiterals, sqlInterpolations, adminRoutes, r2sqlCalls) => runAdvisor(
40
- {
41
- adminRoutes,
42
- argValidators: argumentValidators,
43
- authApiCalls,
44
- containers,
45
- inserts,
46
- maskProcedures,
47
- nondeterministicCalls,
48
- procedureProtections,
49
- queries,
50
- r2sqlCalls,
51
- rlsProcedures,
52
- schema: toAdvisorSchema(schema),
53
- secretLiterals,
54
- sqlInterpolations,
55
- workflowCalls,
56
- workflows
57
- },
58
- { source: "static" }
59
- );
60
- const formatAdvisories = (findings) => {
61
- if (findings.length === 0) {
62
- return "";
63
- }
64
- const header = `@lunora/codegen: ${String(findings.length)} schema advisor finding${findings.length === 1 ? "" : "s"}`;
65
- const lines = findings.map((finding) => ` [${finding.level}] ${finding.name}: ${finding.detail}`);
66
- return [header, ...lines].join("\n");
67
- };
68
-
69
- export { formatAdvisories, lintSchema };