@highstate/backend 0.9.18 → 0.9.19

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 (331) hide show
  1. package/dist/chunk-5WVU2AK4.js +1535 -0
  2. package/dist/chunk-5WVU2AK4.js.map +1 -0
  3. package/dist/{chunk-OU5OQBLB.js → chunk-I7BWSAN6.js} +3 -28
  4. package/dist/{chunk-OU5OQBLB.js.map → chunk-I7BWSAN6.js.map} +1 -1
  5. package/dist/chunk-VB4YL327.js +139 -0
  6. package/dist/chunk-VB4YL327.js.map +1 -0
  7. package/dist/database/local/prisma.config.js +26 -0
  8. package/dist/database/local/prisma.config.js.map +1 -0
  9. package/dist/highstate.manifest.json +2 -1
  10. package/dist/index.js +7587 -7291
  11. package/dist/index.js.map +1 -1
  12. package/dist/library/package-resolution-worker.js +1 -1
  13. package/dist/library/package-resolution-worker.js.map +1 -1
  14. package/dist/library/worker/main.js +35 -29
  15. package/dist/library/worker/main.js.map +1 -1
  16. package/dist/shared/index.js +2 -2
  17. package/package.json +18 -9
  18. package/prisma/backend/_schema/layout.prisma +7 -0
  19. package/prisma/backend/_schema/library.prisma +17 -0
  20. package/prisma/backend/_schema/project.prisma +101 -0
  21. package/prisma/backend/_schema/pulumi.prisma +17 -0
  22. package/prisma/backend/postgresql/main.prisma +17 -0
  23. package/prisma/backend/sqlite/main.prisma +17 -0
  24. package/prisma/backend/sqlite/migrations/20250817070609_initiial/migration.sql +34 -0
  25. package/prisma/backend/sqlite/migrations/20250817104948_add_fields/migration.sql +59 -0
  26. package/prisma/backend/sqlite/migrations/20250818082732_add_models/migration.sql +41 -0
  27. package/prisma/backend/sqlite/migrations/20250818083106_a/migration.sql +19 -0
  28. package/prisma/backend/sqlite/migrations/20250818101945_hi/migration.sql +1 -0
  29. package/prisma/backend/sqlite/migrations/20250819082315_a/migration.sql +5 -0
  30. package/prisma/backend/sqlite/migrations/migration_lock.toml +3 -0
  31. package/prisma/project/api-key.prisma +27 -0
  32. package/prisma/project/artifact.prisma +52 -0
  33. package/prisma/project/custom-status.prisma +46 -0
  34. package/prisma/project/evaluation.prisma +35 -0
  35. package/prisma/project/instance.prisma +160 -0
  36. package/prisma/project/layout.prisma +23 -0
  37. package/prisma/project/lock.prisma +18 -0
  38. package/prisma/project/main.prisma +17 -0
  39. package/prisma/project/migrations/20250816081310_initial/migration.sql +300 -0
  40. package/prisma/project/migrations/20250816082523_test/migration.sql +72 -0
  41. package/prisma/project/migrations/20250818065643_update/migration.sql +42 -0
  42. package/prisma/project/migrations/20250818070758_a/migration.sql +8 -0
  43. package/prisma/project/migrations/20250818070913_a/migration.sql +8 -0
  44. package/prisma/project/migrations/20250818082720_add_motels/migration.sql +11 -0
  45. package/prisma/project/migrations/20250818112523_hello/migration.sql +35 -0
  46. package/prisma/project/migrations/20250819082305_a/migration.sql +14 -0
  47. package/prisma/project/migrations/20250819165004_add_missing_fields/migration.sql +216 -0
  48. package/prisma/project/migrations/20250819171309_a/migration.sql +22 -0
  49. package/prisma/project/migrations/20250820113949_a/migration.sql +66 -0
  50. package/prisma/project/migrations/20250820144256_b/migration.sql +31 -0
  51. package/prisma/project/migrations/20250820145547_a/migration.sql +24 -0
  52. package/prisma/project/migrations/20250820182517_b/migration.sql +2 -0
  53. package/prisma/project/migrations/20250821172324_a/migration.sql +2 -0
  54. package/prisma/project/migrations/20250822081339_a/migration.sql +219 -0
  55. package/prisma/project/migrations/20250822083742_b/migration.sql +1 -0
  56. package/prisma/project/migrations/20250822105134_boom/migration.sql +1 -0
  57. package/prisma/project/migrations/20250822141028_b/migration.sql +1 -0
  58. package/prisma/project/migrations/20250822142342_b/migration.sql +16 -0
  59. package/prisma/project/migrations/20250824072720_a/migration.sql +1 -0
  60. package/prisma/project/migrations/20250824093656_b/migration.sql +21 -0
  61. package/prisma/project/migrations/20250825082518_a/migration.sql +1 -0
  62. package/prisma/project/migrations/20250825085343_b/migration.sql +1 -0
  63. package/prisma/project/migrations/20250825091312_a/migration.sql +1 -0
  64. package/prisma/project/migrations/20250903095431_hi/migration.sql +44 -0
  65. package/prisma/project/migrations/20250903174255_a/migration.sql +24 -0
  66. package/prisma/project/migrations/20250908095205_hi/migration.sql +18 -0
  67. package/prisma/project/migrations/20250909155857_hi/migration.sql +15 -0
  68. package/prisma/project/migrations/migration_lock.toml +3 -0
  69. package/prisma/project/model.prisma +37 -0
  70. package/prisma/project/operation.prisma +148 -0
  71. package/prisma/project/page.prisma +41 -0
  72. package/prisma/project/secret.prisma +42 -0
  73. package/prisma/project/service-account.prisma +36 -0
  74. package/prisma/project/terminal.prisma +90 -0
  75. package/prisma/project/trigger.prisma +31 -0
  76. package/prisma/project/unlock-method.prisma +32 -0
  77. package/prisma/project/worker.prisma +138 -0
  78. package/src/artifact/abstractions.ts +13 -13
  79. package/src/artifact/encryption.ts +30 -54
  80. package/src/artifact/factory.ts +6 -9
  81. package/src/artifact/local.ts +33 -46
  82. package/src/business/api-key.ts +24 -36
  83. package/src/business/artifact.test.ts +978 -0
  84. package/src/business/artifact.ts +136 -216
  85. package/src/business/evaluation.ts +328 -0
  86. package/src/business/index.ts +5 -2
  87. package/src/business/instance-lock.test.ts +1060 -0
  88. package/src/business/instance-lock.ts +387 -78
  89. package/src/business/instance-state.test.ts +735 -0
  90. package/src/business/instance-state.ts +582 -337
  91. package/src/business/operation.test.ts +439 -0
  92. package/src/business/operation.ts +174 -208
  93. package/src/business/project-model.ts +258 -0
  94. package/src/business/project-unlock.ts +168 -126
  95. package/src/business/project.ts +287 -179
  96. package/src/business/secret.test.ts +465 -130
  97. package/src/business/secret.ts +186 -217
  98. package/src/business/settings.test.ts +695 -0
  99. package/src/business/settings.ts +855 -0
  100. package/src/business/terminal-session.ts +90 -0
  101. package/src/business/unit-extra.test.ts +539 -0
  102. package/src/business/unit-extra.ts +160 -0
  103. package/src/business/worker.test.ts +356 -579
  104. package/src/business/worker.ts +238 -339
  105. package/src/common/codebase.ts +65 -0
  106. package/src/common/index.ts +3 -5
  107. package/src/common/logger.ts +5 -0
  108. package/src/common/utils.ts +4 -3
  109. package/src/config.ts +10 -11
  110. package/src/database/_generated/backend/postgresql/client.ts +72 -0
  111. package/src/database/_generated/backend/postgresql/commonInputTypes.ts +350 -0
  112. package/src/database/_generated/backend/postgresql/enums.ts +13 -0
  113. package/src/database/_generated/backend/postgresql/internal/class.ts +320 -0
  114. package/src/database/_generated/backend/postgresql/internal/prismaNamespace.ts +1238 -0
  115. package/src/database/_generated/backend/postgresql/models/Library.ts +1263 -0
  116. package/src/database/_generated/backend/postgresql/models/Project.ts +2175 -0
  117. package/src/database/_generated/backend/postgresql/models/ProjectModelStorage.ts +1263 -0
  118. package/src/database/_generated/backend/postgresql/models/ProjectSpace.ts +1602 -0
  119. package/src/database/_generated/backend/postgresql/models/PulumiBackend.ts +1263 -0
  120. package/src/database/_generated/backend/postgresql/models/UserWorkspaseLayout.ts +1065 -0
  121. package/src/database/_generated/backend/postgresql/models.ts +16 -0
  122. package/src/database/_generated/backend/postgresql/pjtg.ts +182 -0
  123. package/src/database/_generated/backend/sqlite/client.ts +72 -0
  124. package/src/database/_generated/backend/sqlite/commonInputTypes.ts +331 -0
  125. package/src/database/_generated/backend/sqlite/enums.ts +13 -0
  126. package/src/database/_generated/backend/sqlite/internal/class.ts +318 -0
  127. package/src/database/_generated/backend/sqlite/internal/prismaNamespace.ts +1207 -0
  128. package/src/database/_generated/backend/sqlite/models/Library.ts +1261 -0
  129. package/src/database/_generated/backend/sqlite/models/Project.ts +2169 -0
  130. package/src/database/_generated/backend/sqlite/models/ProjectModelStorage.ts +1261 -0
  131. package/src/database/_generated/backend/sqlite/models/ProjectSpace.ts +1599 -0
  132. package/src/database/_generated/backend/sqlite/models/PulumiBackend.ts +1261 -0
  133. package/src/database/_generated/backend/sqlite/models/UserWorkspaseLayout.ts +1063 -0
  134. package/src/database/_generated/backend/sqlite/models.ts +16 -0
  135. package/src/database/_generated/backend/sqlite/pjtg.ts +182 -0
  136. package/src/database/_generated/project/client.ts +204 -0
  137. package/src/database/_generated/project/commonInputTypes.ts +827 -0
  138. package/src/database/_generated/project/enums.ts +104 -0
  139. package/src/database/_generated/project/internal/class.ts +479 -0
  140. package/src/database/_generated/project/internal/prismaNamespace.ts +2974 -0
  141. package/src/database/_generated/project/models/ApiKey.ts +1506 -0
  142. package/src/database/_generated/project/models/Artifact.ts +2051 -0
  143. package/src/database/_generated/project/models/HubModel.ts +1125 -0
  144. package/src/database/_generated/project/models/InstanceCustomStatus.ts +1713 -0
  145. package/src/database/_generated/project/models/InstanceEvaluationState.ts +1312 -0
  146. package/src/database/_generated/project/models/InstanceLock.ts +1268 -0
  147. package/src/database/_generated/project/models/InstanceModel.ts +1125 -0
  148. package/src/database/_generated/project/models/InstanceOperationState.ts +1707 -0
  149. package/src/database/_generated/project/models/InstanceState.ts +4613 -0
  150. package/src/database/_generated/project/models/Operation.ts +1647 -0
  151. package/src/database/_generated/project/models/OperationLog.ts +1455 -0
  152. package/src/database/_generated/project/models/Page.ts +1838 -0
  153. package/src/database/_generated/project/models/Secret.ts +1692 -0
  154. package/src/database/_generated/project/models/ServiceAccount.ts +2165 -0
  155. package/src/database/_generated/project/models/Terminal.ts +2038 -0
  156. package/src/database/_generated/project/models/TerminalSession.ts +1454 -0
  157. package/src/database/_generated/project/models/TerminalSessionLog.ts +1280 -0
  158. package/src/database/_generated/project/models/Trigger.ts +1430 -0
  159. package/src/database/_generated/project/models/UnlockMethod.ts +1220 -0
  160. package/src/database/_generated/project/models/UserCompositeViewport.ts +1280 -0
  161. package/src/database/_generated/project/models/UserProjectViewport.ts +1059 -0
  162. package/src/database/_generated/project/models/Worker.ts +1459 -0
  163. package/src/database/_generated/project/models/WorkerUnitRegistration.ts +1524 -0
  164. package/src/database/_generated/project/models/WorkerVersion.ts +1974 -0
  165. package/src/database/_generated/project/models/WorkerVersionLog.ts +1318 -0
  166. package/src/database/_generated/project/models.ts +35 -0
  167. package/src/database/_generated/project/pjtg.ts +182 -0
  168. package/src/database/abstractions.ts +19 -0
  169. package/src/database/factory.ts +37 -0
  170. package/src/database/index.ts +6 -0
  171. package/src/database/local/backend.ts +134 -0
  172. package/src/database/local/index.ts +3 -0
  173. package/src/database/local/meta.ts +46 -0
  174. package/src/database/local/prisma.config.ts +25 -0
  175. package/src/database/local/project.ts +39 -0
  176. package/src/database/manager.ts +181 -0
  177. package/src/database/migrate.ts +35 -0
  178. package/src/database/prisma.ts +56 -0
  179. package/src/database/well-known.ts +38 -0
  180. package/src/index.ts +4 -4
  181. package/src/library/abstractions.ts +3 -5
  182. package/src/library/factory.ts +1 -1
  183. package/src/library/local.ts +81 -26
  184. package/src/library/package-resolution-worker.ts +1 -1
  185. package/src/library/worker/evaluator.ts +40 -23
  186. package/src/library/worker/loader.lite.ts +1 -1
  187. package/src/library/worker/main.ts +3 -10
  188. package/src/library/worker/protocol.ts +0 -1
  189. package/src/lock/index.ts +0 -1
  190. package/src/lock/manager.ts +0 -10
  191. package/src/orchestrator/manager.ts +190 -104
  192. package/src/orchestrator/operation-context.ts +357 -0
  193. package/src/orchestrator/operation-plan.destroy.test.md +357 -0
  194. package/src/orchestrator/operation-plan.destroy.test.ts +775 -0
  195. package/src/orchestrator/operation-plan.fixtures.ts +213 -0
  196. package/src/orchestrator/operation-plan.md +198 -0
  197. package/src/orchestrator/operation-plan.refresh.test.md +199 -0
  198. package/src/orchestrator/operation-plan.refresh.test.ts +367 -0
  199. package/src/orchestrator/operation-plan.ts +709 -0
  200. package/src/orchestrator/operation-plan.update.test.md +485 -0
  201. package/src/orchestrator/operation-plan.update.test.ts +1066 -0
  202. package/src/orchestrator/operation-workset.ts +233 -578
  203. package/src/orchestrator/operation.ts +435 -948
  204. package/src/orchestrator/plan-test-builder.ts +267 -0
  205. package/src/project-model/abstractions.ts +118 -0
  206. package/src/project-model/backends/codebase.ts +365 -0
  207. package/src/project-model/backends/database.ts +440 -0
  208. package/src/project-model/errors.ts +81 -0
  209. package/src/project-model/factory.ts +24 -0
  210. package/src/project-model/index.ts +4 -0
  211. package/src/project-model/utils.test.ts +544 -0
  212. package/src/project-model/utils.ts +242 -0
  213. package/src/pubsub/abstractions.ts +10 -1
  214. package/src/pubsub/factory.ts +4 -4
  215. package/src/pubsub/index.ts +1 -0
  216. package/src/pubsub/manager.ts +29 -13
  217. package/src/pubsub/memory.ts +31 -0
  218. package/src/runner/abstractions.ts +33 -41
  219. package/src/runner/artifact-env.ts +19 -8
  220. package/src/runner/factory.ts +6 -6
  221. package/src/runner/force-abort.ts +3 -6
  222. package/src/runner/local.ts +64 -67
  223. package/src/runner/pulumi.ts +23 -63
  224. package/src/services.ts +181 -123
  225. package/src/shared/models/backend/index.ts +3 -1
  226. package/src/shared/models/backend/library.ts +9 -1
  227. package/src/shared/models/backend/project.ts +43 -42
  228. package/src/shared/models/backend/pulumi.ts +14 -0
  229. package/src/shared/models/backend/unlock-method.ts +1 -1
  230. package/src/shared/models/backend/well-known.ts +58 -0
  231. package/src/shared/models/base.ts +40 -26
  232. package/src/shared/models/errors.ts +82 -1
  233. package/src/shared/models/index.ts +3 -2
  234. package/src/shared/models/prisma.ts +36 -0
  235. package/src/shared/models/project/api-key.ts +37 -59
  236. package/src/shared/models/project/artifact.ts +16 -76
  237. package/src/shared/models/project/custom-status.ts +12 -0
  238. package/src/shared/models/project/index.ts +8 -7
  239. package/src/shared/models/project/lock.ts +10 -78
  240. package/src/shared/models/project/model.ts +19 -1
  241. package/src/shared/models/project/operation.ts +222 -99
  242. package/src/shared/models/project/page.ts +37 -48
  243. package/src/shared/models/project/secret.ts +29 -89
  244. package/src/shared/models/project/service-account.ts +12 -17
  245. package/src/shared/models/project/state.ts +100 -407
  246. package/src/shared/models/project/terminal.ts +75 -88
  247. package/src/shared/models/project/trigger.ts +13 -49
  248. package/src/shared/models/project/unlock-method.ts +20 -26
  249. package/src/shared/models/project/worker.ts +89 -90
  250. package/src/shared/resolvers/graph-resolver.ts +21 -0
  251. package/src/shared/resolvers/index.ts +1 -1
  252. package/src/shared/resolvers/input-hash.ts +24 -14
  253. package/src/shared/resolvers/input.ts +1 -1
  254. package/src/shared/resolvers/registry.ts +5 -4
  255. package/src/shared/resolvers/state.ts +12 -1
  256. package/src/shared/resolvers/validation.ts +7 -3
  257. package/src/shared/utils/index.ts +1 -2
  258. package/src/shared/utils/promise-tracker.ts +30 -3
  259. package/src/terminal/abstractions.ts +1 -1
  260. package/src/terminal/docker.ts +3 -3
  261. package/src/terminal/manager.ts +102 -118
  262. package/src/test-utils/database.ts +119 -0
  263. package/src/test-utils/index.ts +2 -0
  264. package/src/test-utils/services.ts +134 -0
  265. package/src/unlock/abstractions.ts +5 -23
  266. package/src/unlock/memory.ts +9 -14
  267. package/src/worker/abstractions.ts +7 -4
  268. package/src/worker/docker.ts +14 -19
  269. package/src/worker/manager.ts +366 -97
  270. package/dist/chunk-NAAIDR4U.js +0 -8499
  271. package/dist/chunk-NAAIDR4U.js.map +0 -1
  272. package/dist/chunk-Y7DXREVO.js +0 -1745
  273. package/dist/chunk-Y7DXREVO.js.map +0 -1
  274. package/dist/magic-string.es-5ABAC4JN.js +0 -1292
  275. package/dist/magic-string.es-5ABAC4JN.js.map +0 -1
  276. package/src/business/__traces__/secret/update-instance-secrets/create-and-delete-secrets-simultaneously.md +0 -356
  277. package/src/business/__traces__/secret/update-instance-secrets/create-new-secrets-for-instance.md +0 -274
  278. package/src/business/__traces__/secret/update-instance-secrets/delete-existing-secrets.md +0 -223
  279. package/src/business/__traces__/secret/update-instance-secrets/no-op-when-no-changes.md +0 -147
  280. package/src/business/__traces__/secret/update-instance-secrets/update-existing-secrets.md +0 -280
  281. package/src/business/__traces__/worker/update-unit-registrations/add-new-unit-registration-when-other-exists.md +0 -360
  282. package/src/business/__traces__/worker/update-unit-registrations/add-new-unit-registration.md +0 -215
  283. package/src/business/__traces__/worker/update-unit-registrations/create-multiple-workers-with-different-identities.md +0 -427
  284. package/src/business/__traces__/worker/update-unit-registrations/handle-nonexistent-registration-id-gracefully.md +0 -217
  285. package/src/business/__traces__/worker/update-unit-registrations/no-op-when-no-changes.md +0 -132
  286. package/src/business/__traces__/worker/update-unit-registrations/recreate-worker-when-image-changes.md +0 -454
  287. package/src/business/__traces__/worker/update-unit-registrations/recreate-worker-when-image-version-changes.md +0 -426
  288. package/src/business/__traces__/worker/update-unit-registrations/recreate-worker-with-same-identity-reuses-service-account.md +0 -372
  289. package/src/business/__traces__/worker/update-unit-registrations/remove-one-of-multiple-unit-registrations.md +0 -383
  290. package/src/business/__traces__/worker/update-unit-registrations/remove-unit-registration.md +0 -245
  291. package/src/business/__traces__/worker/update-unit-registrations/update-existing-unit-registration-when-params-change.md +0 -174
  292. package/src/business/__traces__/worker/update-unit-registrations/update-params-and-image-simultaneously.md +0 -432
  293. package/src/business/__traces__/worker/update-unit-registrations/worker-with-multiple-registrations-not-deleted-when-one-removed.md +0 -220
  294. package/src/business/backend-unlock.ts +0 -10
  295. package/src/common/clock.ts +0 -18
  296. package/src/common/performance.ts +0 -44
  297. package/src/common/random.ts +0 -68
  298. package/src/common/test/index.ts +0 -2
  299. package/src/common/test/render.ts +0 -98
  300. package/src/common/test/tracer.ts +0 -359
  301. package/src/hotstate/abstractions.ts +0 -48
  302. package/src/hotstate/factory.ts +0 -17
  303. package/src/hotstate/index.ts +0 -3
  304. package/src/hotstate/manager.ts +0 -192
  305. package/src/hotstate/memory.ts +0 -100
  306. package/src/hotstate/validation.ts +0 -100
  307. package/src/lock/test.ts +0 -108
  308. package/src/project/abstractions.ts +0 -78
  309. package/src/project/evaluation.ts +0 -248
  310. package/src/project/factory.ts +0 -11
  311. package/src/project/index.ts +0 -3
  312. package/src/project/local.ts +0 -417
  313. package/src/pubsub/local.ts +0 -36
  314. package/src/pubsub/validation.ts +0 -33
  315. package/src/shared/utils/args.ts +0 -25
  316. package/src/state/abstractions.ts +0 -289
  317. package/src/state/encryption.ts +0 -98
  318. package/src/state/factory.ts +0 -20
  319. package/src/state/index.ts +0 -7
  320. package/src/state/local/backend.ts +0 -106
  321. package/src/state/local/collection.ts +0 -361
  322. package/src/state/local/index.ts +0 -2
  323. package/src/state/manager.ts +0 -890
  324. package/src/state/memory/backend.ts +0 -70
  325. package/src/state/memory/collection.ts +0 -270
  326. package/src/state/memory/index.ts +0 -2
  327. package/src/state/repository/index.ts +0 -2
  328. package/src/state/repository/repository.index.ts +0 -193
  329. package/src/state/repository/repository.ts +0 -507
  330. package/src/state/test.ts +0 -457
  331. /package/src/{state → database/local}/keyring.ts +0 -0
@@ -0,0 +1,65 @@
1
+ import type { Logger } from "pino"
2
+ import { mkdir } from "node:fs/promises"
3
+ import { dirname, relative } from "node:path"
4
+ import { resolvePackageJSON } from "pkg-types"
5
+ import z from "zod"
6
+
7
+ export const codebaseConfig = z.object({
8
+ HIGHSTATE_CODEBASE_PATH: z.string().optional(),
9
+ })
10
+
11
+ let codebasePath: Promise<string> | undefined
12
+ let codebaseHighstatePath: Promise<string> | undefined
13
+
14
+ async function _getCodebasePath(
15
+ config: z.infer<typeof codebaseConfig>,
16
+ logger: Logger,
17
+ ): Promise<string> {
18
+ if (config.HIGHSTATE_CODEBASE_PATH) {
19
+ return config.HIGHSTATE_CODEBASE_PATH
20
+ }
21
+
22
+ const packageJson = await resolvePackageJSON()
23
+ const path = dirname(packageJson)
24
+
25
+ if (path !== process.cwd()) {
26
+ const relativePath = relative(process.cwd(), path)
27
+ logger.info(`detected "%s" as codebase path`, relativePath)
28
+ }
29
+
30
+ return path
31
+ }
32
+
33
+ export async function getCodebasePath(
34
+ config: z.infer<typeof codebaseConfig>,
35
+ logger: Logger,
36
+ ): Promise<string> {
37
+ if (!codebasePath) {
38
+ codebasePath = _getCodebasePath(config, logger)
39
+ }
40
+
41
+ return codebasePath
42
+ }
43
+
44
+ async function _getCodebaseHighstatePath(
45
+ config: z.infer<typeof codebaseConfig>,
46
+ logger: Logger,
47
+ ): Promise<string> {
48
+ const path = await getCodebasePath(config, logger)
49
+
50
+ const highstatePath = `${path}/.highstate`
51
+ await mkdir(highstatePath, { recursive: true })
52
+
53
+ return highstatePath
54
+ }
55
+
56
+ export async function getCodebaseHighstatePath(
57
+ config: z.infer<typeof codebaseConfig>,
58
+ logger: Logger,
59
+ ): Promise<string> {
60
+ if (!codebaseHighstatePath) {
61
+ codebaseHighstatePath = _getCodebaseHighstatePath(config, logger)
62
+ }
63
+
64
+ return codebaseHighstatePath
65
+ }
@@ -1,7 +1,5 @@
1
- export * from "./utils"
1
+ export * from "./codebase"
2
2
  export * from "./local"
3
+ export * from "./logger"
3
4
  export * from "./tree"
4
- export * from "./performance"
5
- export * from "./test"
6
- export * from "./clock"
7
- export * from "./random"
5
+ export * from "./utils"
@@ -0,0 +1,5 @@
1
+ import type { Logger } from "pino"
2
+
3
+ export function createProjectLogger(logger: Logger, projectId: string): Logger {
4
+ return logger.child({ projectId }, { msgPrefix: `[project:${projectId}] ` })
5
+ }
@@ -25,8 +25,9 @@ export async function runWithRetryOnError<T>(
25
25
  }
26
26
 
27
27
  export class AbortError extends Error {
28
- constructor(options?: ErrorOptions) {
29
- super("Operation aborted", options)
28
+ constructor(message: string, options?: ErrorOptions) {
29
+ super(message, options)
30
+ this.name = "AbortError"
30
31
  }
31
32
  }
32
33
 
@@ -58,7 +59,7 @@ export function isAbortErrorLike(error: unknown): boolean {
58
59
 
59
60
  export function tryWrapAbortErrorLike(error: unknown): unknown {
60
61
  if (isAbortErrorLike(error)) {
61
- return new AbortError({ cause: error })
62
+ return new AbortError("Operation aborted", { cause: error })
62
63
  }
63
64
 
64
65
  return error
package/src/config.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  import { z } from "zod"
2
- import { libraryBackendConfig } from "./library"
3
- import { projectBackendConfig } from "./project"
4
- import { terminalBackendConfig } from "./terminal"
5
- import { runnerBackendConfig } from "./runner"
6
- import { stateBackendConfig, stateManagerConfig } from "./state"
7
2
  import { artifactBackendConfig } from "./artifact"
8
- import { pubSubBackendConfig } from "./pubsub"
3
+ import { projectUnlockServiceConfig } from "./business"
4
+ import { codebaseConfig } from "./common"
5
+ import { databaseConfig } from "./database"
6
+ import { libraryBackendConfig } from "./library"
9
7
  import { lockBackendConfig } from "./lock"
10
- import { hotStateBackendConfig } from "./hotstate"
8
+ import { pubSubBackendConfig } from "./pubsub"
9
+ import { runnerBackendConfig } from "./runner"
10
+ import { terminalBackendConfig } from "./terminal"
11
11
  import { workerBackendConfig, workerManagerConfig } from "./worker"
12
12
 
13
13
  const loggerConfig = z.object({
@@ -15,13 +15,12 @@ const loggerConfig = z.object({
15
15
  })
16
16
 
17
17
  const configSchema = z.object({
18
- ...hotStateBackendConfig.shape,
18
+ ...codebaseConfig.shape,
19
+ ...databaseConfig.shape,
19
20
  ...pubSubBackendConfig.shape,
20
21
  ...lockBackendConfig.shape,
21
22
  ...libraryBackendConfig.shape,
22
- ...projectBackendConfig.shape,
23
- ...stateBackendConfig.shape,
24
- ...stateManagerConfig.shape,
23
+ ...projectUnlockServiceConfig.shape,
25
24
  ...runnerBackendConfig.shape,
26
25
  ...terminalBackendConfig.shape,
27
26
  ...workerBackendConfig.shape,
@@ -0,0 +1,72 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!! */
3
+ /* eslint-disable */
4
+ // @ts-nocheck
5
+ /**
6
+ * This file should be your main import to use Prisma. Through it you get access to all the models, enums, and input types.
7
+ *
8
+ * 🟢 You can import this file directly.
9
+ */
10
+
11
+ import * as process from 'node:process'
12
+ import * as path from 'node:path'
13
+ import { fileURLToPath } from 'node:url'
14
+ const __dirname = path.dirname(fileURLToPath(import.meta.url))
15
+
16
+ import * as runtime from "@prisma/client/runtime/client"
17
+ import * as $Enums from "./enums.ts"
18
+ import * as $Class from "./internal/class.ts"
19
+ import * as Prisma from "./internal/prismaNamespace.ts"
20
+
21
+ export * as $Enums from './enums.ts'
22
+ /**
23
+ * ## Prisma Client
24
+ *
25
+ * Type-safe database client for TypeScript
26
+ * @example
27
+ * ```
28
+ * const prisma = new PrismaClient()
29
+ * // Fetch zero or more UserWorkspaseLayouts
30
+ * const userWorkspaseLayouts = await prisma.userWorkspaseLayout.findMany()
31
+ * ```
32
+ *
33
+ * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client).
34
+ */
35
+ export const PrismaClient = $Class.getPrismaClientClass(__dirname)
36
+ export type PrismaClient<LogOpts extends Prisma.LogLevel = never, OmitOpts extends Prisma.PrismaClientOptions["omit"] = Prisma.PrismaClientOptions["omit"], ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = $Class.PrismaClient<LogOpts, OmitOpts, ExtArgs>
37
+ export { Prisma }
38
+
39
+
40
+
41
+ /**
42
+ * Model UserWorkspaseLayout
43
+ *
44
+ */
45
+ export type UserWorkspaseLayout = Prisma.UserWorkspaseLayoutModel
46
+ /**
47
+ * Model Library
48
+ *
49
+ */
50
+ export type Library = Prisma.LibraryModel
51
+ /**
52
+ * Model Project
53
+ *
54
+ */
55
+ export type Project = Prisma.ProjectModel
56
+ /**
57
+ * Model ProjectSpace
58
+ *
59
+ */
60
+ export type ProjectSpace = Prisma.ProjectSpaceModel
61
+ /**
62
+ * Model ProjectModelStorage
63
+ *
64
+ */
65
+ export type ProjectModelStorage = Prisma.ProjectModelStorageModel
66
+ /**
67
+ * Model PulumiBackend
68
+ *
69
+ */
70
+ export type PulumiBackend = Prisma.PulumiBackendModel
71
+
72
+
@@ -0,0 +1,350 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!! */
3
+ /* eslint-disable */
4
+ // @ts-nocheck
5
+ /**
6
+ * This file exports various common sort, input & filter types that are not directly linked to a particular model.
7
+ *
8
+ * 🟢 You can import this file directly.
9
+ */
10
+
11
+ import * as runtime from "@prisma/client/runtime/client"
12
+ import * as $Enums from "./enums.ts"
13
+ import type * as Prisma from "./internal/prismaNamespace.ts"
14
+
15
+
16
+ export type StringFilter<$PrismaModel = never> = {
17
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
18
+ in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
19
+ notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
20
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
21
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
22
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
23
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>
24
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
25
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
26
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
27
+ mode?: Prisma.QueryMode
28
+ not?: Prisma.NestedStringFilter<$PrismaModel> | string
29
+ }
30
+
31
+ export type JsonFilter<$PrismaModel = never> =
32
+ | Prisma.PatchUndefined<
33
+ Prisma.Either<Required<JsonFilterBase<$PrismaModel>>, Exclude<keyof Required<JsonFilterBase<$PrismaModel>>, 'path'>>,
34
+ Required<JsonFilterBase<$PrismaModel>>
35
+ >
36
+ | Prisma.OptionalFlat<Omit<Required<JsonFilterBase<$PrismaModel>>, 'path'>>
37
+
38
+ export type JsonFilterBase<$PrismaModel = never> = {
39
+ equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
40
+ path?: string[]
41
+ mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel>
42
+ string_contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
43
+ string_starts_with?: string | Prisma.StringFieldRefInput<$PrismaModel>
44
+ string_ends_with?: string | Prisma.StringFieldRefInput<$PrismaModel>
45
+ array_starts_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
46
+ array_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
47
+ array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
48
+ lt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
49
+ lte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
50
+ gt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
51
+ gte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
52
+ not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
53
+ }
54
+
55
+ export type StringWithAggregatesFilter<$PrismaModel = never> = {
56
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
57
+ in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
58
+ notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
59
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
60
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
61
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
62
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>
63
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
64
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
65
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
66
+ mode?: Prisma.QueryMode
67
+ not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string
68
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
69
+ _min?: Prisma.NestedStringFilter<$PrismaModel>
70
+ _max?: Prisma.NestedStringFilter<$PrismaModel>
71
+ }
72
+
73
+ export type JsonWithAggregatesFilter<$PrismaModel = never> =
74
+ | Prisma.PatchUndefined<
75
+ Prisma.Either<Required<JsonWithAggregatesFilterBase<$PrismaModel>>, Exclude<keyof Required<JsonWithAggregatesFilterBase<$PrismaModel>>, 'path'>>,
76
+ Required<JsonWithAggregatesFilterBase<$PrismaModel>>
77
+ >
78
+ | Prisma.OptionalFlat<Omit<Required<JsonWithAggregatesFilterBase<$PrismaModel>>, 'path'>>
79
+
80
+ export type JsonWithAggregatesFilterBase<$PrismaModel = never> = {
81
+ equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
82
+ path?: string[]
83
+ mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel>
84
+ string_contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
85
+ string_starts_with?: string | Prisma.StringFieldRefInput<$PrismaModel>
86
+ string_ends_with?: string | Prisma.StringFieldRefInput<$PrismaModel>
87
+ array_starts_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
88
+ array_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
89
+ array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
90
+ lt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
91
+ lte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
92
+ gt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
93
+ gte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
94
+ not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
95
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
96
+ _min?: Prisma.NestedJsonFilter<$PrismaModel>
97
+ _max?: Prisma.NestedJsonFilter<$PrismaModel>
98
+ }
99
+
100
+ export type IntFilter<$PrismaModel = never> = {
101
+ equals?: number | Prisma.IntFieldRefInput<$PrismaModel>
102
+ in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>
103
+ notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>
104
+ lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
105
+ lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
106
+ gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
107
+ gte?: number | Prisma.IntFieldRefInput<$PrismaModel>
108
+ not?: Prisma.NestedIntFilter<$PrismaModel> | number
109
+ }
110
+
111
+ export type DateTimeFilter<$PrismaModel = never> = {
112
+ equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
113
+ in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
114
+ notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
115
+ lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
116
+ lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
117
+ gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
118
+ gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
119
+ not?: Prisma.NestedDateTimeFilter<$PrismaModel> | Date | string
120
+ }
121
+
122
+ export type IntWithAggregatesFilter<$PrismaModel = never> = {
123
+ equals?: number | Prisma.IntFieldRefInput<$PrismaModel>
124
+ in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>
125
+ notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>
126
+ lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
127
+ lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
128
+ gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
129
+ gte?: number | Prisma.IntFieldRefInput<$PrismaModel>
130
+ not?: Prisma.NestedIntWithAggregatesFilter<$PrismaModel> | number
131
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
132
+ _avg?: Prisma.NestedFloatFilter<$PrismaModel>
133
+ _sum?: Prisma.NestedIntFilter<$PrismaModel>
134
+ _min?: Prisma.NestedIntFilter<$PrismaModel>
135
+ _max?: Prisma.NestedIntFilter<$PrismaModel>
136
+ }
137
+
138
+ export type DateTimeWithAggregatesFilter<$PrismaModel = never> = {
139
+ equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
140
+ in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
141
+ notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
142
+ lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
143
+ lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
144
+ gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
145
+ gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
146
+ not?: Prisma.NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string
147
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
148
+ _min?: Prisma.NestedDateTimeFilter<$PrismaModel>
149
+ _max?: Prisma.NestedDateTimeFilter<$PrismaModel>
150
+ }
151
+
152
+ export type StringNullableFilter<$PrismaModel = never> = {
153
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null
154
+ in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null
155
+ notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null
156
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
157
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
158
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
159
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>
160
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
161
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
162
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
163
+ mode?: Prisma.QueryMode
164
+ not?: Prisma.NestedStringNullableFilter<$PrismaModel> | string | null
165
+ }
166
+
167
+ export type SortOrderInput = {
168
+ sort: Prisma.SortOrder
169
+ nulls?: Prisma.NullsOrder
170
+ }
171
+
172
+ export type StringNullableWithAggregatesFilter<$PrismaModel = never> = {
173
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null
174
+ in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null
175
+ notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null
176
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
177
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
178
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
179
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>
180
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
181
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
182
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
183
+ mode?: Prisma.QueryMode
184
+ not?: Prisma.NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null
185
+ _count?: Prisma.NestedIntNullableFilter<$PrismaModel>
186
+ _min?: Prisma.NestedStringNullableFilter<$PrismaModel>
187
+ _max?: Prisma.NestedStringNullableFilter<$PrismaModel>
188
+ }
189
+
190
+ export type NestedStringFilter<$PrismaModel = never> = {
191
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
192
+ in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
193
+ notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
194
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
195
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
196
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
197
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>
198
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
199
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
200
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
201
+ not?: Prisma.NestedStringFilter<$PrismaModel> | string
202
+ }
203
+
204
+ export type NestedStringWithAggregatesFilter<$PrismaModel = never> = {
205
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
206
+ in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
207
+ notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
208
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
209
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
210
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
211
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>
212
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
213
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
214
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
215
+ not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string
216
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
217
+ _min?: Prisma.NestedStringFilter<$PrismaModel>
218
+ _max?: Prisma.NestedStringFilter<$PrismaModel>
219
+ }
220
+
221
+ export type NestedIntFilter<$PrismaModel = never> = {
222
+ equals?: number | Prisma.IntFieldRefInput<$PrismaModel>
223
+ in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>
224
+ notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>
225
+ lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
226
+ lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
227
+ gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
228
+ gte?: number | Prisma.IntFieldRefInput<$PrismaModel>
229
+ not?: Prisma.NestedIntFilter<$PrismaModel> | number
230
+ }
231
+
232
+ export type NestedJsonFilter<$PrismaModel = never> =
233
+ | Prisma.PatchUndefined<
234
+ Prisma.Either<Required<NestedJsonFilterBase<$PrismaModel>>, Exclude<keyof Required<NestedJsonFilterBase<$PrismaModel>>, 'path'>>,
235
+ Required<NestedJsonFilterBase<$PrismaModel>>
236
+ >
237
+ | Prisma.OptionalFlat<Omit<Required<NestedJsonFilterBase<$PrismaModel>>, 'path'>>
238
+
239
+ export type NestedJsonFilterBase<$PrismaModel = never> = {
240
+ equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
241
+ path?: string[]
242
+ mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel>
243
+ string_contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
244
+ string_starts_with?: string | Prisma.StringFieldRefInput<$PrismaModel>
245
+ string_ends_with?: string | Prisma.StringFieldRefInput<$PrismaModel>
246
+ array_starts_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
247
+ array_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
248
+ array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
249
+ lt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
250
+ lte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
251
+ gt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
252
+ gte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
253
+ not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
254
+ }
255
+
256
+ export type NestedDateTimeFilter<$PrismaModel = never> = {
257
+ equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
258
+ in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
259
+ notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
260
+ lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
261
+ lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
262
+ gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
263
+ gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
264
+ not?: Prisma.NestedDateTimeFilter<$PrismaModel> | Date | string
265
+ }
266
+
267
+ export type NestedIntWithAggregatesFilter<$PrismaModel = never> = {
268
+ equals?: number | Prisma.IntFieldRefInput<$PrismaModel>
269
+ in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>
270
+ notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>
271
+ lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
272
+ lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
273
+ gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
274
+ gte?: number | Prisma.IntFieldRefInput<$PrismaModel>
275
+ not?: Prisma.NestedIntWithAggregatesFilter<$PrismaModel> | number
276
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
277
+ _avg?: Prisma.NestedFloatFilter<$PrismaModel>
278
+ _sum?: Prisma.NestedIntFilter<$PrismaModel>
279
+ _min?: Prisma.NestedIntFilter<$PrismaModel>
280
+ _max?: Prisma.NestedIntFilter<$PrismaModel>
281
+ }
282
+
283
+ export type NestedFloatFilter<$PrismaModel = never> = {
284
+ equals?: number | Prisma.FloatFieldRefInput<$PrismaModel>
285
+ in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel>
286
+ notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel>
287
+ lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
288
+ lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
289
+ gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
290
+ gte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
291
+ not?: Prisma.NestedFloatFilter<$PrismaModel> | number
292
+ }
293
+
294
+ export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = {
295
+ equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
296
+ in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
297
+ notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
298
+ lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
299
+ lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
300
+ gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
301
+ gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
302
+ not?: Prisma.NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string
303
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
304
+ _min?: Prisma.NestedDateTimeFilter<$PrismaModel>
305
+ _max?: Prisma.NestedDateTimeFilter<$PrismaModel>
306
+ }
307
+
308
+ export type NestedStringNullableFilter<$PrismaModel = never> = {
309
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null
310
+ in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null
311
+ notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null
312
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
313
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
314
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
315
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>
316
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
317
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
318
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
319
+ not?: Prisma.NestedStringNullableFilter<$PrismaModel> | string | null
320
+ }
321
+
322
+ export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = {
323
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null
324
+ in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null
325
+ notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null
326
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
327
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
328
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
329
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>
330
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
331
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
332
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
333
+ not?: Prisma.NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null
334
+ _count?: Prisma.NestedIntNullableFilter<$PrismaModel>
335
+ _min?: Prisma.NestedStringNullableFilter<$PrismaModel>
336
+ _max?: Prisma.NestedStringNullableFilter<$PrismaModel>
337
+ }
338
+
339
+ export type NestedIntNullableFilter<$PrismaModel = never> = {
340
+ equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null
341
+ in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null
342
+ notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null
343
+ lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
344
+ lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
345
+ gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
346
+ gte?: number | Prisma.IntFieldRefInput<$PrismaModel>
347
+ not?: Prisma.NestedIntNullableFilter<$PrismaModel> | number | null
348
+ }
349
+
350
+
@@ -0,0 +1,13 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!! */
3
+ /* eslint-disable */
4
+ // @ts-nocheck
5
+ /**
6
+ * This file exports all enum related types from the schema.
7
+ *
8
+ * 🟢 You can import this file directly.
9
+ */
10
+
11
+
12
+ // This file is empty because there are no enums in the schema.
13
+ export {}