@hot-updater/server 0.30.12 → 0.31.1

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,212 @@
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/chunk-ZOCGSAWS.js
2
+ async function checkForeignKeyOnInsert(orm, key, inserts) {
3
+ const ifMatchEntry = [];
4
+ function shouldSkipChecking(insert) {
5
+ for (const priorInsert of inserts) {
6
+ if (priorInsert === insert) break;
7
+ if (key.columns.every((col) => insert[col.ormName] === priorInsert[col.ormName])) return true;
8
+ if (key.table === key.referencedTable && key.columns.every((col, i) => insert[col.ormName] === priorInsert[key.referencedColumns[i].ormName])) return true;
9
+ }
10
+ return false;
11
+ }
12
+ for (const insert of inserts) {
13
+ if (shouldSkipChecking(insert)) continue;
14
+ const ifMatchColumn = [];
15
+ let containsNull = false;
16
+ for (let i = 0; i < key.columns.length; i++) {
17
+ const col = key.columns[i];
18
+ const referencedCol = key.referencedColumns[i];
19
+ if (insert[col.ormName] == null) {
20
+ containsNull = true;
21
+ break;
22
+ }
23
+ ifMatchColumn.push({
24
+ type: 2,
25
+ a: referencedCol,
26
+ operator: "=",
27
+ b: insert[col.ormName]
28
+ });
29
+ }
30
+ if (!containsNull) ifMatchEntry.push({
31
+ type: 0,
32
+ items: ifMatchColumn
33
+ });
34
+ }
35
+ if (ifMatchEntry.length === 0) return;
36
+ if (await orm.count(key.referencedTable, { where: {
37
+ type: 1,
38
+ items: ifMatchEntry
39
+ } }) < ifMatchEntry.length) errorForeignKey(key);
40
+ }
41
+ async function exists(orm, table, where) {
42
+ return await orm.findFirst(table, {
43
+ select: [table.getIdColumn().ormName],
44
+ where
45
+ }) !== null;
46
+ }
47
+ async function foreignKeyOnUpdate(orm, key, set, targets) {
48
+ const isAffected = {
49
+ type: 1,
50
+ items: []
51
+ };
52
+ if (!key.referencedColumns.some((col) => set[col.ormName] !== void 0)) return;
53
+ for (const target of targets) {
54
+ const condition = {
55
+ type: 0,
56
+ items: []
57
+ };
58
+ let containsNull = false;
59
+ for (let i = 0; i < key.columns.length; i++) {
60
+ const col = key.columns[i];
61
+ const referencedCol = key.referencedColumns[i];
62
+ if (target[referencedCol.ormName] === null) {
63
+ containsNull = true;
64
+ break;
65
+ }
66
+ condition.items.push({
67
+ type: 2,
68
+ a: col,
69
+ operator: "=",
70
+ b: target[referencedCol.ormName]
71
+ });
72
+ }
73
+ if (!containsNull) isAffected.items.push(condition);
74
+ }
75
+ if (isAffected.items.length === 0) return;
76
+ if (key.onUpdate === "RESTRICT") {
77
+ if (await exists(orm, key.table, isAffected)) errorForeignKey(key);
78
+ return;
79
+ }
80
+ const mappedSet = {};
81
+ for (let i = 0; i < key.columns.length; i++) {
82
+ const col = key.columns[i].ormName;
83
+ const referencedCol = key.referencedColumns[i].ormName;
84
+ mappedSet[col] = key.onUpdate === "CASCADE" ? set[referencedCol] : null;
85
+ }
86
+ await orm.updateMany(key.table, {
87
+ where: isAffected,
88
+ set: mappedSet
89
+ });
90
+ }
91
+ function createSoftForeignKey(schema, { generateInsertValuesDefault, ...orm }) {
92
+ const childForeignKeys = /* @__PURE__ */ new Map();
93
+ for (const table of Object.values(schema.tables)) for (const key of table.foreignKeys) {
94
+ const name = key.referencedTable.ormName;
95
+ const list = childForeignKeys.get(name) ?? [];
96
+ list.push(key);
97
+ childForeignKeys.set(name, list);
98
+ }
99
+ if (!orm.transaction) throw new Error("native `transaction` required for soft foreign key.");
100
+ return {
101
+ ...orm,
102
+ async updateMany(table, { set, where }) {
103
+ const foreignKeys = childForeignKeys.get(table.ormName);
104
+ if (!foreignKeys) return orm.updateMany(table, {
105
+ set,
106
+ where
107
+ });
108
+ const idColumnName = table.getIdColumn().ormName;
109
+ const targets = await orm.findMany(table, {
110
+ select: true,
111
+ where
112
+ });
113
+ await orm.transaction?.(async (tx) => {
114
+ for (const key of foreignKeys) await foreignKeyOnUpdate(tx.internal, key, set, targets);
115
+ await orm.updateMany(table, {
116
+ set,
117
+ where: {
118
+ type: 2,
119
+ a: table.columns[idColumnName],
120
+ operator: "in",
121
+ b: targets.map((target) => target[idColumnName])
122
+ }
123
+ });
124
+ });
125
+ },
126
+ async upsert(table, v) {
127
+ const target = await orm.findFirst(table, {
128
+ select: true,
129
+ where: v.where
130
+ });
131
+ if (target === null) await this.createMany(table, [v.create]);
132
+ else {
133
+ const idColumn = table.getIdColumn();
134
+ await this.updateMany(table, {
135
+ set: v.update,
136
+ where: {
137
+ type: 2,
138
+ a: table.columns[idColumn.ormName],
139
+ operator: "=",
140
+ b: target[idColumn.ormName]
141
+ }
142
+ });
143
+ }
144
+ },
145
+ async create(table, values) {
146
+ values = generateInsertValuesDefault(table, values);
147
+ await Promise.all(table.foreignKeys.map((key) => checkForeignKeyOnInsert(this, key, [values])));
148
+ return orm.create(table, values);
149
+ },
150
+ async createMany(table, values) {
151
+ values = values.map((value) => generateInsertValuesDefault(table, value));
152
+ await Promise.all(table.foreignKeys.map((key) => checkForeignKeyOnInsert(this, key, values)));
153
+ return orm.createMany(table, values);
154
+ },
155
+ async deleteMany(table, v) {
156
+ const foreignKeys = childForeignKeys.get(table.ormName);
157
+ if (!foreignKeys) return orm.deleteMany(table, v);
158
+ const targets = await orm.findMany(table, {
159
+ select: true,
160
+ where: v.where
161
+ });
162
+ for (const key of foreignKeys) {
163
+ const isAffected = {
164
+ type: 1,
165
+ items: []
166
+ };
167
+ for (const target of targets) {
168
+ const isReferencingTarget = {
169
+ type: 0,
170
+ items: []
171
+ };
172
+ let containsNull = false;
173
+ for (let i = 0; i < key.columns.length; i++) {
174
+ const targetValue = target[key.referencedColumns[i].ormName];
175
+ if (targetValue === null) {
176
+ containsNull = true;
177
+ break;
178
+ }
179
+ isReferencingTarget.items.push({
180
+ type: 2,
181
+ a: key.columns[i],
182
+ operator: "=",
183
+ b: targetValue
184
+ });
185
+ }
186
+ if (!containsNull) isAffected.items.push(isReferencingTarget);
187
+ }
188
+ if (key.onDelete === "CASCADE") await orm.deleteMany(key.table, { where: isAffected });
189
+ else if (key.onDelete === "SET NULL") {
190
+ const set = {};
191
+ for (const col of key.columns) set[col.ormName] = null;
192
+ await orm.updateMany(key.table, {
193
+ set,
194
+ where: isAffected
195
+ });
196
+ } else if (await exists(this, key.table, isAffected)) errorForeignKey(key);
197
+ }
198
+ const idColumnName = table.getIdColumn().ormName;
199
+ return orm.deleteMany(table, { where: {
200
+ type: 2,
201
+ a: table.columns[idColumnName],
202
+ operator: "in",
203
+ b: targets.map((target) => target[idColumnName])
204
+ } });
205
+ }
206
+ };
207
+ }
208
+ function errorForeignKey(key) {
209
+ throw new Error(`foreign constraint failed ${key.name}`);
210
+ }
211
+ //#endregion
212
+ export { checkForeignKeyOnInsert, createSoftForeignKey };
@@ -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 };