@hot-updater/server 0.30.11 → 0.31.0

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 (165) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +25 -0
  2. package/dist/_virtual/_rolldown/runtime.mjs +6 -0
  3. package/dist/adapters/drizzle.cjs +6 -9
  4. package/dist/adapters/drizzle.d.cts +8 -1
  5. package/dist/adapters/drizzle.d.mts +8 -1
  6. package/dist/adapters/drizzle.mjs +5 -2
  7. package/dist/adapters/kysely.cjs +7 -9
  8. package/dist/adapters/kysely.d.cts +14 -1
  9. package/dist/adapters/kysely.d.mts +14 -1
  10. package/dist/adapters/kysely.mjs +6 -2
  11. package/dist/adapters/mongodb.cjs +7 -9
  12. package/dist/adapters/mongodb.d.cts +9 -1
  13. package/dist/adapters/mongodb.d.mts +9 -1
  14. package/dist/adapters/mongodb.mjs +5 -2
  15. package/dist/adapters/prisma.cjs +6 -9
  16. package/dist/adapters/prisma.d.cts +8 -1
  17. package/dist/adapters/prisma.d.mts +8 -1
  18. package/dist/adapters/prisma.mjs +5 -2
  19. package/dist/db/createBundleDiff.cjs +166 -0
  20. package/dist/db/createBundleDiff.d.cts +20 -0
  21. package/dist/db/createBundleDiff.d.mts +20 -0
  22. package/dist/db/createBundleDiff.mjs +161 -0
  23. package/dist/db/index.cjs +15 -16
  24. package/dist/db/index.d.cts +5 -4
  25. package/dist/db/index.d.mts +5 -4
  26. package/dist/db/index.mjs +14 -16
  27. package/dist/db/ormCore.cjs +173 -65
  28. package/dist/db/ormCore.d.cts +100 -34
  29. package/dist/db/ormCore.d.mts +100 -34
  30. package/dist/db/ormCore.mjs +171 -64
  31. package/dist/db/pluginCore.cjs +37 -3
  32. package/dist/db/pluginCore.mjs +36 -3
  33. package/dist/db/schemaEnhancements.cjs +171 -0
  34. package/dist/db/schemaEnhancements.mjs +167 -0
  35. package/dist/db/types.cjs +6 -0
  36. package/dist/db/types.d.cts +19 -7
  37. package/dist/db/types.d.mts +22 -10
  38. package/dist/db/types.mjs +6 -1
  39. package/dist/db/updateArtifacts.cjs +127 -0
  40. package/dist/db/updateArtifacts.mjs +125 -0
  41. package/dist/handler.cjs +61 -5
  42. package/dist/handler.d.cts +2 -2
  43. package/dist/handler.d.mts +5 -5
  44. package/dist/handler.mjs +59 -5
  45. package/dist/index.cjs +2 -0
  46. package/dist/index.d.cts +3 -2
  47. package/dist/index.d.mts +3 -2
  48. package/dist/index.mjs +2 -1
  49. package/dist/node.d.cts +0 -1
  50. package/dist/node.d.mts +0 -1
  51. package/dist/node_modules/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/_u64.cjs +112 -0
  52. package/dist/node_modules/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/_u64.mjs +108 -0
  53. package/dist/node_modules/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/cryptoNode.cjs +22 -0
  54. package/dist/node_modules/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/cryptoNode.mjs +18 -0
  55. package/dist/node_modules/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/sha3.cjs +219 -0
  56. package/dist/node_modules/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/sha3.mjs +214 -0
  57. package/dist/node_modules/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/utils.cjs +275 -0
  58. package/dist/node_modules/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/utils.mjs +270 -0
  59. package/dist/node_modules/.pnpm/@paralleldrive_cuid2@2.3.1/node_modules/@paralleldrive/cuid2/index.cjs +17 -0
  60. package/dist/node_modules/.pnpm/@paralleldrive_cuid2@2.3.1/node_modules/@paralleldrive/cuid2/index.mjs +13 -0
  61. package/dist/node_modules/.pnpm/@paralleldrive_cuid2@2.3.1/node_modules/@paralleldrive/cuid2/src/index.cjs +69 -0
  62. package/dist/node_modules/.pnpm/@paralleldrive_cuid2@2.3.1/node_modules/@paralleldrive/cuid2/src/index.mjs +65 -0
  63. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/column.cjs +52 -0
  64. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/column.mjs +52 -0
  65. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/entity.cjs +16 -0
  66. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/entity.mjs +15 -0
  67. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/pg-core/columns/enum.cjs +7 -0
  68. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/pg-core/columns/enum.mjs +7 -0
  69. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/sql/expressions/conditions.cjs +92 -0
  70. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/sql/expressions/conditions.mjs +78 -0
  71. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/sql/expressions/select.cjs +11 -0
  72. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/sql/expressions/select.mjs +10 -0
  73. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/sql/sql.cjs +383 -0
  74. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/sql/sql.mjs +366 -0
  75. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/subquery.cjs +17 -0
  76. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/subquery.mjs +17 -0
  77. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/table.cjs +60 -0
  78. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/table.mjs +59 -0
  79. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/table.utils.cjs +4 -0
  80. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/table.utils.mjs +4 -0
  81. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/tracing.cjs +6 -0
  82. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/tracing.mjs +6 -0
  83. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/view-common.cjs +4 -0
  84. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pglite@0.2.17_@_31f44b782f9321d71f3ce9d35aa1edf7/node_modules/drizzle-orm/view-common.mjs +4 -0
  85. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/adapters/drizzle/index.cjs +383 -0
  86. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/adapters/drizzle/index.d.cts +12 -0
  87. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/adapters/drizzle/index.d.mts +12 -0
  88. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/adapters/drizzle/index.mjs +383 -0
  89. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/adapters/kysely/index.cjs +4 -0
  90. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/adapters/kysely/index.mjs +5 -0
  91. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/adapters/prisma/index.cjs +339 -0
  92. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/adapters/prisma/index.d.cts +70 -0
  93. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/adapters/prisma/index.d.mts +70 -0
  94. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/adapters/prisma/index.mjs +339 -0
  95. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/chunk-7PZK4ONR.cjs +57 -0
  96. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/chunk-7PZK4ONR.mjs +56 -0
  97. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/chunk-C6OTUURW.cjs +330 -0
  98. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/chunk-C6OTUURW.mjs +326 -0
  99. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/chunk-CHTIKPQU.cjs +166 -0
  100. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/chunk-CHTIKPQU.mjs +163 -0
  101. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/chunk-GUE4GMNC.cjs +14 -0
  102. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/chunk-GUE4GMNC.mjs +13 -0
  103. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/chunk-LHHP6UVP.cjs +24 -0
  104. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/chunk-LHHP6UVP.mjs +24 -0
  105. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/chunk-LVCPMTAT.cjs +1190 -0
  106. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/chunk-LVCPMTAT.mjs +1189 -0
  107. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/chunk-PK2W2SQ7.cjs +197 -0
  108. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/chunk-PK2W2SQ7.mjs +197 -0
  109. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/chunk-ZEQMAIFI.cjs +410 -0
  110. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/chunk-ZEQMAIFI.mjs +400 -0
  111. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/chunk-ZOCGSAWS.cjs +213 -0
  112. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/chunk-ZOCGSAWS.mjs +212 -0
  113. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/create-tg0451Y_.d.cts +285 -0
  114. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/create-tg0451Y_.d.mts +285 -0
  115. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/index-CMqePMTF.d.cts +45 -0
  116. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/index-CMqePMTF.d.mts +45 -0
  117. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/index.cjs +69 -0
  118. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/index.d.cts +49 -0
  119. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/index.d.mts +49 -0
  120. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/index.mjs +67 -0
  121. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/query/index.d.cts +156 -0
  122. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/query/index.d.mts +156 -0
  123. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/schema/index.cjs +1 -0
  124. package/dist/node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare_workers-types@4.20260313.1_@electric-sql_pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/schema/index.mjs +2 -0
  125. package/dist/{package.cjs → packages/server/package.cjs} +1 -1
  126. package/dist/{package.mjs → packages/server/package.mjs} +1 -1
  127. package/dist/runtime.cjs +13 -13
  128. package/dist/runtime.d.cts +4 -4
  129. package/dist/runtime.d.mts +4 -4
  130. package/dist/runtime.mjs +12 -13
  131. package/dist/schema/v0_21_0.cjs +16 -15
  132. package/dist/schema/v0_21_0.mjs +3 -2
  133. package/dist/schema/v0_29_0.cjs +18 -17
  134. package/dist/schema/v0_29_0.mjs +3 -2
  135. package/dist/schema/v0_31_0.cjs +48 -0
  136. package/dist/schema/v0_31_0.mjs +48 -0
  137. package/dist/storageAccess.cjs +44 -0
  138. package/dist/storageAccess.mjs +44 -0
  139. package/dist/version.cjs +1 -1
  140. package/dist/version.mjs +1 -1
  141. package/package.json +15 -7
  142. package/src/adapters/drizzle.ts +15 -1
  143. package/src/adapters/kysely.ts +24 -1
  144. package/src/adapters/mongodb.ts +19 -1
  145. package/src/adapters/prisma.ts +15 -1
  146. package/src/db/createBundleDiff.spec.ts +402 -0
  147. package/src/db/createBundleDiff.ts +375 -0
  148. package/src/db/index.spec.ts +528 -27
  149. package/src/db/index.ts +22 -36
  150. package/src/db/ormCore.ts +308 -75
  151. package/src/db/pluginCore.spec.ts +385 -0
  152. package/src/db/pluginCore.ts +45 -4
  153. package/src/db/schemaEnhancements.ts +460 -0
  154. package/src/db/types.ts +38 -7
  155. package/src/db/updateArtifacts.ts +388 -0
  156. package/src/handler-standalone.integration.spec.ts +1 -0
  157. package/src/handler.spec.ts +121 -0
  158. package/src/handler.ts +117 -5
  159. package/src/runtime.spec.ts +287 -55
  160. package/src/runtime.ts +21 -37
  161. package/src/schema/v0_21_0.ts +1 -1
  162. package/src/schema/v0_29_0.ts +1 -1
  163. package/src/schema/v0_31_0.ts +58 -0
  164. package/src/storageAccess.spec.ts +57 -0
  165. package/src/storageAccess.ts +90 -0
@@ -0,0 +1,285 @@
1
+ //#region ../../node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare+workers-types@4.20260313.1_@electric-sql+pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/create-tg0451Y_.d.ts
2
+ type AnySchema = Schema<string, Record<string, AnyTable>>;
3
+ type AnyRelation = Relation;
4
+ type AnyTable = Table;
5
+ type AnyColumn = Column<keyof TypeMap, unknown, unknown> | IdColumn<IdColumnType, unknown, unknown>;
6
+ type ForeignKeyAction = "RESTRICT" | "CASCADE" | "SET NULL";
7
+ interface NameVariants {
8
+ sql: string;
9
+ drizzle: string;
10
+ prisma: string;
11
+ convex: string;
12
+ mongodb: string;
13
+ }
14
+ interface ForeignKey {
15
+ name: string;
16
+ table: AnyTable;
17
+ columns: AnyColumn[];
18
+ referencedTable: AnyTable;
19
+ referencedColumns: AnyColumn[];
20
+ onUpdate: ForeignKeyAction;
21
+ onDelete: ForeignKeyAction;
22
+ }
23
+ interface UniqueConstraint {
24
+ name: string;
25
+ columns: AnyColumn[];
26
+ }
27
+ interface BaseRelation<Type extends RelationType = RelationType, T extends AnyTable = AnyTable> {
28
+ /**
29
+ * The relation id shared between implied/implying relation
30
+ */
31
+ id: string;
32
+ name: string;
33
+ type: Type;
34
+ table: T;
35
+ referencer: AnyTable;
36
+ on: [string, string][];
37
+ }
38
+ interface ImplicitRelation<Type extends RelationType = RelationType, T extends AnyTable = AnyTable> extends BaseRelation<Type, T> {
39
+ implied: true;
40
+ readonly impliedBy: ExplicitRelation;
41
+ }
42
+ interface ExplicitRelation<Type extends RelationType = RelationType, T extends AnyTable = AnyTable> extends BaseRelation<Type, T> {
43
+ implied: false;
44
+ implying: ImplicitRelation | undefined;
45
+ foreignKey?: ForeignKey;
46
+ }
47
+ type Relation<Type extends RelationType = RelationType, T extends AnyTable = AnyTable> = ImplicitRelation<Type, T> | ExplicitRelation<Type, T>;
48
+ interface Table<Columns extends Record<string, AnyColumn> = Record<string, AnyColumn>, Relations extends Record<string, AnyRelation> = Record<string, AnyRelation>> {
49
+ names: NameVariants;
50
+ ormName: string;
51
+ columns: Columns;
52
+ relations: Relations;
53
+ foreignKeys: ForeignKey[];
54
+ /**
55
+ * @param level default to 'all'
56
+ */
57
+ getUniqueConstraints: (level?: "table" | "column" | "all") => UniqueConstraint[];
58
+ /**
59
+ * @param name - name
60
+ * @param type - default to "sql"
61
+ */
62
+ getColumnByName: (name: string, type?: keyof NameVariants) => AnyColumn | undefined;
63
+ getIdColumn: () => AnyColumn;
64
+ /**
65
+ * Add unique constraint to the fields, for consistency, duplicated null values are allowed.
66
+ */
67
+ unique: (name: string, columns: (keyof Columns)[]) => Table<Columns, Relations>;
68
+ clone: () => Table<Columns, Relations>;
69
+ }
70
+ type DefaultFunctionMap = {
71
+ date: "now";
72
+ timestamp: "now";
73
+ string: "auto";
74
+ } & Record<`varchar(${number})`, "auto">;
75
+ type DefaultFunction<Type extends keyof TypeMap> = (Type extends keyof DefaultFunctionMap ? DefaultFunctionMap[Type] : never) | (() => TypeMap[Type]);
76
+ type IdColumnType = `varchar(${number})` | "uuid";
77
+ type TypeMap = {
78
+ string: string;
79
+ bigint: bigint;
80
+ integer: number;
81
+ decimal: number;
82
+ bool: boolean;
83
+ json: unknown;
84
+ /**
85
+ * this follows the same specs as Prisma `Bytes` for consistency.
86
+ */
87
+ binary: Uint8Array;
88
+ date: Date;
89
+ timestamp: Date;
90
+ uuid: string;
91
+ } & Record<`varchar(${number})`, string>;
92
+ declare class Column<Type extends keyof TypeMap, In = unknown, Out = unknown> {
93
+ type: Type;
94
+ ormName: string;
95
+ isNullable: boolean;
96
+ isUnique: boolean;
97
+ default?: {
98
+ value: TypeMap[Type];
99
+ } | {
100
+ runtime: DefaultFunction<Type>;
101
+ };
102
+ table: AnyTable;
103
+ private initNames;
104
+ get names(): NameVariants;
105
+ set names(v: NameVariants);
106
+ constructor(type: Type, onInitNames: (ormName: string) => NameVariants);
107
+ nullable<T extends boolean = true>(nullable?: T): Column<Type, T extends true ? In | null : Exclude<In, null>, T extends true ? Out | null : Exclude<Out, null>>;
108
+ /**
109
+ * Add unique constraint to the field, for consistency, duplicated null values are allowed.
110
+ */
111
+ unique(unique?: boolean): this;
112
+ /**
113
+ * Generate default value on runtime
114
+ */
115
+ defaultTo$(fn: DefaultFunction<Type>): Column<Type, In | null, Out>;
116
+ /**
117
+ * Set a database-level default value
118
+ *
119
+ * For schemaless database, it's still generated on runtime
120
+ */
121
+ defaultTo(value: TypeMap[Type]): Column<Type, In | null, Out>;
122
+ clone(): Column<Type, unknown, unknown>;
123
+ getUniqueConstraintName(): string;
124
+ /**
125
+ * Generate default value for the column on runtime.
126
+ */
127
+ generateDefaultValue(): TypeMap[Type] | undefined;
128
+ get $in(): In;
129
+ get $out(): Out;
130
+ }
131
+ declare class IdColumn<Type extends IdColumnType = IdColumnType, In = unknown, Out = unknown> extends Column<Type, In, Out> {
132
+ id: boolean;
133
+ constructor(type: Type, onInitNames: (ormName: string) => NameVariants);
134
+ clone(): IdColumn<Type, unknown, unknown>;
135
+ defaultTo$(fn: DefaultFunction<Type>): IdColumn<Type, In | null, Out>;
136
+ defaultTo(value: TypeMap[Type]): IdColumn<Type, In | null, Out>;
137
+ }
138
+ type RelationType = "many" | "one";
139
+ interface Schema<Version extends string = string, Tables extends Record<string, AnyTable> = Record<string, AnyTable>> {
140
+ /**
141
+ * @description The version of the schema, it should be a semantic version string.
142
+ */
143
+ version: Version;
144
+ tables: Tables;
145
+ up?: CustomMigrationFn;
146
+ down?: CustomMigrationFn;
147
+ clone: () => Schema<Version, Tables>;
148
+ }
149
+ type NameVariantsConfig = Record<string, Partial<NameVariants>>;
150
+ type BuildNameVariants<Tables extends Record<string, AnyTable>> = { [K in keyof Tables as K extends string ? keyof Tables[K]["columns"] extends string ? `${K}.${keyof Tables[K]["columns"]}` : never : never]?: Partial<NameVariants> } & { [k in keyof Tables]?: Partial<NameVariants> };
151
+ type NameVariantsBuilder<Schemas extends AnySchema[], Out> = {
152
+ (variants: BuildNameVariants<Schemas[number]["tables"]>): Out;
153
+ <Version extends Schemas[number]["version"]>(versions: Version[], variants: BuildNameVariants<Extract<Schemas[number], {
154
+ version: Version;
155
+ }>["tables"]>): Out;
156
+ /**
157
+ * Add prefix to table names.
158
+ *
159
+ * If true, use package's `namespace` as prefix.
160
+ */
161
+ prefix: (prefix: true | string) => Out;
162
+ };
163
+ interface ForeignKeyInfo {
164
+ name: string;
165
+ columns: string[];
166
+ referencedTable: string;
167
+ referencedColumns: string[];
168
+ onUpdate: "RESTRICT" | "CASCADE" | "SET NULL";
169
+ onDelete: "RESTRICT" | "CASCADE" | "SET NULL";
170
+ }
171
+ type MigrationOperation = TableOperation | {
172
+ type: "add-foreign-key";
173
+ table: string;
174
+ value: ForeignKeyInfo;
175
+ } | {
176
+ type: "drop-foreign-key";
177
+ table: string;
178
+ name: string;
179
+ } | {
180
+ type: "drop-unique-constraint";
181
+ table: string;
182
+ name: string;
183
+ } | {
184
+ type: "add-unique-constraint";
185
+ table: string;
186
+ columns: string[];
187
+ name: string;
188
+ } | CustomOperation;
189
+ type CustomOperation = {
190
+ type: "custom";
191
+ } & Record<string, unknown>;
192
+ type TableOperation = {
193
+ type: "create-table";
194
+ value: AnyTable;
195
+ } | {
196
+ type: "drop-table";
197
+ name: string;
198
+ } | {
199
+ /**
200
+ * Not supported by FumaDB
201
+ * - update table's primary key
202
+ */
203
+ type: "update-table";
204
+ name: string;
205
+ value: ColumnOperation[];
206
+ } | {
207
+ type: "rename-table";
208
+ from: string;
209
+ to: string;
210
+ };
211
+ type ColumnOperation = {
212
+ type: "rename-column";
213
+ from: string;
214
+ to: string;
215
+ } | {
216
+ type: "drop-column";
217
+ name: string;
218
+ } | {
219
+ /**
220
+ * Note: unique constraints are not created, please use dedicated operations like `add-unique-constraint` instead
221
+ */
222
+ type: "create-column";
223
+ value: AnyColumn;
224
+ } | {
225
+ /**
226
+ * warning: Not supported by SQLite
227
+ */
228
+ type: "update-column";
229
+ name: string;
230
+ /**
231
+ * For databases like MySQL, it requires the full definition for any modify column statement.
232
+ * Hence, you need to specify the full information of your column here.
233
+ *
234
+ * Then, opt-in for in-detail modification for other databases that supports changing data type/nullable/default separately, such as PostgreSQL.
235
+ *
236
+ * Note: unique constraints are not updated, please use dedicated operations like `add-unique-constraint` instead
237
+ */
238
+ value: AnyColumn;
239
+ updateNullable: boolean;
240
+ updateDefault: boolean;
241
+ updateDataType: boolean;
242
+ };
243
+ type Awaitable<T> = T | Promise<T>;
244
+ interface MigrationContext {
245
+ auto: () => Promise<MigrationOperation[]>;
246
+ }
247
+ type CustomMigrationFn = (context: MigrationContext) => Awaitable<MigrationOperation[]>;
248
+ interface MigrateOptions {
249
+ /**
250
+ * Manage how migrations are generated.
251
+ *
252
+ * - `from-schema` (default): compare fumadb schemas
253
+ * - `from-database`: introspect & compare the database with schema
254
+ */
255
+ mode?: "from-schema" | "from-database";
256
+ /**
257
+ * Update internal settings, it's true by default.
258
+ * We don't recommend to disable it other than testing purposes.
259
+ */
260
+ updateSettings?: boolean;
261
+ /**
262
+ * Enable unsafe operations when auto-generating migration.
263
+ */
264
+ unsafe?: boolean;
265
+ }
266
+ interface MigrationResult {
267
+ operations: MigrationOperation[];
268
+ getSQL?: () => string;
269
+ execute: () => Promise<void>;
270
+ }
271
+ interface Migrator {
272
+ /**
273
+ * Get current version, undefined if not initialized
274
+ */
275
+ getVersion: () => Promise<string | undefined>;
276
+ getNameVariants: () => Promise<NameVariantsConfig | undefined>;
277
+ next: () => Promise<AnySchema | undefined>;
278
+ previous: () => Promise<AnySchema | undefined>;
279
+ up: (options?: MigrateOptions) => Promise<MigrationResult>;
280
+ down: (options?: MigrateOptions) => Promise<MigrationResult>;
281
+ migrateTo: (version: string, options?: MigrateOptions) => Promise<MigrationResult>;
282
+ migrateToLatest: (options?: MigrateOptions) => Promise<MigrationResult>;
283
+ }
284
+ //#endregion
285
+ export { AnyColumn, AnyRelation, AnySchema, AnyTable, Column, ExplicitRelation, IdColumn, Migrator, NameVariantsBuilder, Relation, Schema, Table };
@@ -0,0 +1,45 @@
1
+ import { AnySchema, Migrator } from "./create-tg0451Y_.cjs";
2
+ import { AbstractQuery } from "./query/index.cjs";
3
+ //#region ../../node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare+workers-types@4.20260313.1_@electric-sql+pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/index-CMqePMTF.d.ts
4
+ declare const sqlProviders: readonly ["sqlite", "cockroachdb", "mysql", "postgresql", "mssql"];
5
+ declare const providers: readonly ["sqlite", "cockroachdb", "mysql", "postgresql", "mssql", "mongodb"];
6
+ type Provider = (typeof providers)[number];
7
+ type SQLProvider = (typeof sqlProviders)[number];
8
+ interface LibraryConfig<Schemas extends AnySchema[] = AnySchema[]> {
9
+ namespace: string;
10
+ /**
11
+ * different versions of schemas (sorted in ascending order)
12
+ */
13
+ schemas: Schemas;
14
+ /**
15
+ * The initial version, it refers to the version of database **before** being initialized.
16
+ *
17
+ * You should not use this version number in your schemas.
18
+ *
19
+ * @defaultValue '0.0.0'
20
+ */
21
+ initialVersion?: string;
22
+ }
23
+ type RelationMode = "foreign-keys" | "fumadb";
24
+ interface FumaDBAdapterContext extends LibraryConfig {}
25
+ interface FumaDBAdapter {
26
+ /**
27
+ * Name of the adapter
28
+ */
29
+ name: string;
30
+ /**
31
+ * Generate ORM schema based on FumaDB Schema
32
+ */
33
+ generateSchema?: (this: FumaDBAdapterContext, schema: AnySchema, schemaName: string) => {
34
+ code: string;
35
+ path: string;
36
+ };
37
+ createORM(this: FumaDBAdapterContext, schema: AnySchema): AbstractQuery<AnySchema>;
38
+ /**
39
+ * Get current schema version, undefined if not initialized.
40
+ */
41
+ getSchemaVersion(this: FumaDBAdapterContext): Promise<string | undefined>;
42
+ createMigrationEngine?: (this: FumaDBAdapterContext) => Migrator;
43
+ }
44
+ //#endregion
45
+ export { FumaDBAdapter, LibraryConfig, Provider, RelationMode, SQLProvider, providers, sqlProviders };
@@ -0,0 +1,45 @@
1
+ import { AnySchema, Migrator } from "./create-tg0451Y_.mjs";
2
+ import { AbstractQuery } from "./query/index.mjs";
3
+ //#region ../../node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare+workers-types@4.20260313.1_@electric-sql+pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/index-CMqePMTF.d.ts
4
+ declare const sqlProviders: readonly ["sqlite", "cockroachdb", "mysql", "postgresql", "mssql"];
5
+ declare const providers: readonly ["sqlite", "cockroachdb", "mysql", "postgresql", "mssql", "mongodb"];
6
+ type Provider = (typeof providers)[number];
7
+ type SQLProvider = (typeof sqlProviders)[number];
8
+ interface LibraryConfig<Schemas extends AnySchema[] = AnySchema[]> {
9
+ namespace: string;
10
+ /**
11
+ * different versions of schemas (sorted in ascending order)
12
+ */
13
+ schemas: Schemas;
14
+ /**
15
+ * The initial version, it refers to the version of database **before** being initialized.
16
+ *
17
+ * You should not use this version number in your schemas.
18
+ *
19
+ * @defaultValue '0.0.0'
20
+ */
21
+ initialVersion?: string;
22
+ }
23
+ type RelationMode = "foreign-keys" | "fumadb";
24
+ interface FumaDBAdapterContext extends LibraryConfig {}
25
+ interface FumaDBAdapter {
26
+ /**
27
+ * Name of the adapter
28
+ */
29
+ name: string;
30
+ /**
31
+ * Generate ORM schema based on FumaDB Schema
32
+ */
33
+ generateSchema?: (this: FumaDBAdapterContext, schema: AnySchema, schemaName: string) => {
34
+ code: string;
35
+ path: string;
36
+ };
37
+ createORM(this: FumaDBAdapterContext, schema: AnySchema): AbstractQuery<AnySchema>;
38
+ /**
39
+ * Get current schema version, undefined if not initialized.
40
+ */
41
+ getSchemaVersion(this: FumaDBAdapterContext): Promise<string | undefined>;
42
+ createMigrationEngine?: (this: FumaDBAdapterContext) => Migrator;
43
+ }
44
+ //#endregion
45
+ export { FumaDBAdapter, LibraryConfig, Provider, RelationMode, SQLProvider, providers, sqlProviders };
@@ -0,0 +1,69 @@
1
+ require("../../../../../../_virtual/_rolldown/runtime.cjs");
2
+ const require_chunk_7PZK4ONR = require("./chunk-7PZK4ONR.cjs");
3
+ let semver = require("semver");
4
+ //#region ../../node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare+workers-types@4.20260313.1_@electric-sql+pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/index.js
5
+ var sqlProviders = [
6
+ "sqlite",
7
+ "cockroachdb",
8
+ "mysql",
9
+ "postgresql",
10
+ "mssql"
11
+ ];
12
+ var noSqlProviders = ["mongodb"];
13
+ [...sqlProviders, ...noSqlProviders];
14
+ function fumadb(config) {
15
+ const schemas = config.schemas.sort((a, b) => (0, semver.compare)(a.version, b.version));
16
+ return {
17
+ names: require_chunk_7PZK4ONR.createNameVariantsBuilder(config.namespace, schemas, (schemas2) => {
18
+ return fumadb({
19
+ ...config,
20
+ schemas: schemas2
21
+ });
22
+ }),
23
+ version(targetVersion) {
24
+ return targetVersion;
25
+ },
26
+ client(adapter) {
27
+ const orms = /* @__PURE__ */ new Map();
28
+ const adapterContext = { ...config };
29
+ return {
30
+ adapter,
31
+ schemas,
32
+ orm(version) {
33
+ let orm = orms.get(version);
34
+ if (orm) return orm;
35
+ const schema = schemas.find((schema2) => schema2.version === version);
36
+ if (!schema) throw new Error(`unknown schema version ${version}`);
37
+ orm = adapter.createORM.call(adapterContext, schema);
38
+ orms.set(version, orm);
39
+ return orm;
40
+ },
41
+ async version() {
42
+ const version = await adapter.getSchemaVersion.call(adapterContext);
43
+ if (!version) throw new Error(`FumaDB ${config.namespace} is not initialized.`);
44
+ return version;
45
+ },
46
+ generateSchema(version, name = config.namespace) {
47
+ if (!adapter.generateSchema) throw new Error("The adapter doesn't support schema API.");
48
+ let schema;
49
+ if (version === "latest") schema = schemas.at(-1);
50
+ else {
51
+ schema = schemas.find((schema2) => schema2.version === version);
52
+ if (!schema) throw new Error(`Invalid version: ${version}`);
53
+ }
54
+ return adapter.generateSchema.call(adapterContext, schema, name);
55
+ },
56
+ createMigrator() {
57
+ if (!adapter.createMigrationEngine) throw new Error("The adapter doesn't support migration engine.");
58
+ return adapter.createMigrationEngine.call(adapterContext);
59
+ },
60
+ get abstract() {
61
+ return this.orm(schemas.at(-1).version);
62
+ }
63
+ };
64
+ }
65
+ };
66
+ }
67
+ //#endregion
68
+ exports.fumadb = fumadb;
69
+ exports.sqlProviders = sqlProviders;
@@ -0,0 +1,49 @@
1
+ import { AnySchema, Migrator, NameVariantsBuilder } from "./create-tg0451Y_.cjs";
2
+ import { AbstractQuery } from "./query/index.cjs";
3
+ import { FumaDBAdapter, LibraryConfig, Provider, RelationMode, SQLProvider, providers, sqlProviders } from "./index-CMqePMTF.cjs";
4
+ //#region ../../node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare+workers-types@4.20260313.1_@electric-sql+pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/index.d.ts
5
+ type Last<T extends unknown[]> = T extends [...infer _, infer L] ? L : T[number];
6
+ interface FumaDB<Schemas extends AnySchema[] = AnySchema[]> {
7
+ schemas: Schemas;
8
+ adapter: FumaDBAdapter;
9
+ /**
10
+ * Shorthand for `orm()` latest schema version
11
+ * @deprecated use `orm()` directly
12
+ */
13
+ readonly abstract: AbstractQuery<Last<Schemas>>;
14
+ /**
15
+ * Get current schema version
16
+ */
17
+ version: () => Promise<Schemas[number]["version"]>;
18
+ orm: <V extends Schemas[number]["version"]>(version: V) => AbstractQuery<Extract<Schemas[number], {
19
+ version: V;
20
+ }>>;
21
+ /**
22
+ * Kysely & MongoDB only
23
+ */
24
+ createMigrator: () => Migrator;
25
+ /**
26
+ * ORM only
27
+ */
28
+ generateSchema: (version: Schemas[number]["version"] | "latest", name?: string) => {
29
+ code: string;
30
+ path: string;
31
+ };
32
+ }
33
+ interface FumaDBFactory<Schemas extends AnySchema[]> {
34
+ /**
35
+ * A static type-checker
36
+ */
37
+ version: <T extends Schemas[number]["version"]>(target: T) => T;
38
+ /**
39
+ * Configure consumer-side integration
40
+ */
41
+ client: (adapter: FumaDBAdapter) => FumaDB<Schemas>;
42
+ /**
43
+ * Set name variants
44
+ */
45
+ names: NameVariantsBuilder<Schemas, FumaDBFactory<Schemas>>;
46
+ }
47
+ type InferFumaDB<Factory extends FumaDBFactory<any>> = Factory extends FumaDBFactory<infer Schemas> ? FumaDB<Schemas> : never;
48
+ //#endregion
49
+ export { type FumaDBFactory, type InferFumaDB };
@@ -0,0 +1,49 @@
1
+ import { AnySchema, Migrator, NameVariantsBuilder } from "./create-tg0451Y_.mjs";
2
+ import { AbstractQuery } from "./query/index.mjs";
3
+ import { FumaDBAdapter, LibraryConfig, Provider, RelationMode, SQLProvider, providers, sqlProviders } from "./index-CMqePMTF.mjs";
4
+ //#region ../../node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare+workers-types@4.20260313.1_@electric-sql+pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/index.d.ts
5
+ type Last<T extends unknown[]> = T extends [...infer _, infer L] ? L : T[number];
6
+ interface FumaDB<Schemas extends AnySchema[] = AnySchema[]> {
7
+ schemas: Schemas;
8
+ adapter: FumaDBAdapter;
9
+ /**
10
+ * Shorthand for `orm()` latest schema version
11
+ * @deprecated use `orm()` directly
12
+ */
13
+ readonly abstract: AbstractQuery<Last<Schemas>>;
14
+ /**
15
+ * Get current schema version
16
+ */
17
+ version: () => Promise<Schemas[number]["version"]>;
18
+ orm: <V extends Schemas[number]["version"]>(version: V) => AbstractQuery<Extract<Schemas[number], {
19
+ version: V;
20
+ }>>;
21
+ /**
22
+ * Kysely & MongoDB only
23
+ */
24
+ createMigrator: () => Migrator;
25
+ /**
26
+ * ORM only
27
+ */
28
+ generateSchema: (version: Schemas[number]["version"] | "latest", name?: string) => {
29
+ code: string;
30
+ path: string;
31
+ };
32
+ }
33
+ interface FumaDBFactory<Schemas extends AnySchema[]> {
34
+ /**
35
+ * A static type-checker
36
+ */
37
+ version: <T extends Schemas[number]["version"]>(target: T) => T;
38
+ /**
39
+ * Configure consumer-side integration
40
+ */
41
+ client: (adapter: FumaDBAdapter) => FumaDB<Schemas>;
42
+ /**
43
+ * Set name variants
44
+ */
45
+ names: NameVariantsBuilder<Schemas, FumaDBFactory<Schemas>>;
46
+ }
47
+ type InferFumaDB<Factory extends FumaDBFactory<any>> = Factory extends FumaDBFactory<infer Schemas> ? FumaDB<Schemas> : never;
48
+ //#endregion
49
+ export { type FumaDBFactory, type InferFumaDB };
@@ -0,0 +1,67 @@
1
+ import { createNameVariantsBuilder } from "./chunk-7PZK4ONR.mjs";
2
+ import { compare } from "semver";
3
+ //#region ../../node_modules/.pnpm/fumadb@0.2.2_drizzle-orm@0.44.7_@cloudflare+workers-types@4.20260313.1_@electric-sql+pg_c72c8c754becd21f6d6662e8fbd28e7f/node_modules/fumadb/dist/index.js
4
+ var sqlProviders = [
5
+ "sqlite",
6
+ "cockroachdb",
7
+ "mysql",
8
+ "postgresql",
9
+ "mssql"
10
+ ];
11
+ var noSqlProviders = ["mongodb"];
12
+ [...sqlProviders, ...noSqlProviders];
13
+ function fumadb(config) {
14
+ const schemas = config.schemas.sort((a, b) => compare(a.version, b.version));
15
+ return {
16
+ names: createNameVariantsBuilder(config.namespace, schemas, (schemas2) => {
17
+ return fumadb({
18
+ ...config,
19
+ schemas: schemas2
20
+ });
21
+ }),
22
+ version(targetVersion) {
23
+ return targetVersion;
24
+ },
25
+ client(adapter) {
26
+ const orms = /* @__PURE__ */ new Map();
27
+ const adapterContext = { ...config };
28
+ return {
29
+ adapter,
30
+ schemas,
31
+ orm(version) {
32
+ let orm = orms.get(version);
33
+ if (orm) return orm;
34
+ const schema = schemas.find((schema2) => schema2.version === version);
35
+ if (!schema) throw new Error(`unknown schema version ${version}`);
36
+ orm = adapter.createORM.call(adapterContext, schema);
37
+ orms.set(version, orm);
38
+ return orm;
39
+ },
40
+ async version() {
41
+ const version = await adapter.getSchemaVersion.call(adapterContext);
42
+ if (!version) throw new Error(`FumaDB ${config.namespace} is not initialized.`);
43
+ return version;
44
+ },
45
+ generateSchema(version, name = config.namespace) {
46
+ if (!adapter.generateSchema) throw new Error("The adapter doesn't support schema API.");
47
+ let schema;
48
+ if (version === "latest") schema = schemas.at(-1);
49
+ else {
50
+ schema = schemas.find((schema2) => schema2.version === version);
51
+ if (!schema) throw new Error(`Invalid version: ${version}`);
52
+ }
53
+ return adapter.generateSchema.call(adapterContext, schema, name);
54
+ },
55
+ createMigrator() {
56
+ if (!adapter.createMigrationEngine) throw new Error("The adapter doesn't support migration engine.");
57
+ return adapter.createMigrationEngine.call(adapterContext);
58
+ },
59
+ get abstract() {
60
+ return this.orm(schemas.at(-1).version);
61
+ }
62
+ };
63
+ }
64
+ };
65
+ }
66
+ //#endregion
67
+ export { fumadb, sqlProviders };