@highstate/backend 0.9.18 → 0.9.20

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-OU5OQBLB.js → chunk-I7BWSAN6.js} +3 -28
  2. package/dist/{chunk-OU5OQBLB.js.map → chunk-I7BWSAN6.js.map} +1 -1
  3. package/dist/chunk-RC6Q3XQQ.js +1547 -0
  4. package/dist/chunk-RC6Q3XQQ.js.map +1 -0
  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 +7590 -7289
  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 +32 -0
  32. package/prisma/project/artifact.prisma +52 -0
  33. package/prisma/project/custom-status.prisma +46 -0
  34. package/prisma/project/evaluation.prisma +45 -0
  35. package/prisma/project/instance.prisma +157 -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 +49 -0
  72. package/prisma/project/secret.prisma +54 -0
  73. package/prisma/project/service-account.prisma +42 -0
  74. package/prisma/project/terminal.prisma +107 -0
  75. package/prisma/project/trigger.prisma +37 -0
  76. package/prisma/project/unlock-method.prisma +46 -0
  77. package/prisma/project/worker.prisma +169 -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 +469 -130
  97. package/src/business/secret.ts +177 -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 +440 -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 +40 -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 +74 -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 +235 -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 +9 -2
  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,300 @@
1
+ -- CreateTable
2
+ CREATE TABLE "ApiKey" (
3
+ "id" TEXT NOT NULL PRIMARY KEY,
4
+ "meta" JSONB NOT NULL,
5
+ "scopes" JSONB NOT NULL,
6
+ "token" TEXT NOT NULL
7
+ );
8
+
9
+ -- CreateTable
10
+ CREATE TABLE "Artifact" (
11
+ "id" TEXT NOT NULL PRIMARY KEY,
12
+ "meta" JSONB NOT NULL,
13
+ "hash" TEXT NOT NULL,
14
+ "size" INTEGER NOT NULL,
15
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
16
+ "updatedAt" DATETIME NOT NULL
17
+ );
18
+
19
+ -- CreateTable
20
+ CREATE TABLE "InstanceCustomStatus" (
21
+ "instanceId" TEXT NOT NULL,
22
+ "name" TEXT NOT NULL,
23
+ "meta" JSONB NOT NULL,
24
+ "value" TEXT NOT NULL,
25
+ "message" TEXT,
26
+ "order" INTEGER NOT NULL DEFAULT 50,
27
+
28
+ PRIMARY KEY ("instanceId", "name"),
29
+ CONSTRAINT "InstanceCustomStatus_instanceId_fkey" FOREIGN KEY ("instanceId") REFERENCES "InstanceState" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
30
+ );
31
+
32
+ -- CreateTable
33
+ CREATE TABLE "InstanceEvaluationState" (
34
+ "instanceId" TEXT NOT NULL PRIMARY KEY,
35
+ "status" TEXT NOT NULL,
36
+ "message" TEXT,
37
+ "model" JSONB,
38
+ CONSTRAINT "InstanceEvaluationState_instanceId_fkey" FOREIGN KEY ("instanceId") REFERENCES "InstanceState" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
39
+ );
40
+
41
+ -- CreateTable
42
+ CREATE TABLE "InstanceState" (
43
+ "id" TEXT NOT NULL PRIMARY KEY,
44
+ "status" TEXT NOT NULL,
45
+ "kind" TEXT NOT NULL,
46
+ "inputHashNonce" INTEGER,
47
+ "lastOperationId" TEXT,
48
+ "statusFields" JSONB,
49
+ "inputHash" INTEGER,
50
+ "outputHash" INTEGER,
51
+ "dependencyOutputHash" INTEGER,
52
+ CONSTRAINT "InstanceState_lastOperationId_fkey" FOREIGN KEY ("lastOperationId") REFERENCES "Operation" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
53
+ CONSTRAINT "InstanceState_id_lastOperationId_fkey" FOREIGN KEY ("id", "lastOperationId") REFERENCES "InstanceOperationState" ("instanceId", "operationId") ON DELETE RESTRICT ON UPDATE CASCADE
54
+ );
55
+
56
+ -- CreateTable
57
+ CREATE TABLE "InstanceLock" (
58
+ "instanceId" TEXT NOT NULL PRIMARY KEY,
59
+ "meta" JSONB NOT NULL,
60
+ CONSTRAINT "InstanceLock_instanceId_fkey" FOREIGN KEY ("instanceId") REFERENCES "InstanceState" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
61
+ );
62
+
63
+ -- CreateTable
64
+ CREATE TABLE "Operation" (
65
+ "id" TEXT NOT NULL PRIMARY KEY,
66
+ "meta" JSONB NOT NULL,
67
+ "type" TEXT NOT NULL,
68
+ "options" JSONB NOT NULL,
69
+ "requestedInstanceIds" JSONB NOT NULL,
70
+ "startedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
71
+ "completedAt" DATETIME
72
+ );
73
+
74
+ -- CreateTable
75
+ CREATE TABLE "InstanceOperationState" (
76
+ "operationId" TEXT NOT NULL,
77
+ "instanceId" TEXT NOT NULL,
78
+ "parentId" TEXT,
79
+ "status" TEXT NOT NULL,
80
+ "message" TEXT,
81
+ "currentResourceCount" INTEGER,
82
+ "totalResourceCount" INTEGER,
83
+ "args" JSONB NOT NULL,
84
+ "resolvedInputs" JSONB NOT NULL,
85
+
86
+ PRIMARY KEY ("operationId", "instanceId"),
87
+ CONSTRAINT "InstanceOperationState_operationId_fkey" FOREIGN KEY ("operationId") REFERENCES "Operation" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
88
+ CONSTRAINT "InstanceOperationState_instanceId_fkey" FOREIGN KEY ("instanceId") REFERENCES "InstanceState" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
89
+ );
90
+
91
+ -- CreateTable
92
+ CREATE TABLE "OperationLog" (
93
+ "id" TEXT NOT NULL PRIMARY KEY,
94
+ "operationId" TEXT NOT NULL,
95
+ "instanceId" TEXT,
96
+ "content" TEXT NOT NULL,
97
+ CONSTRAINT "OperationLog_operationId_fkey" FOREIGN KEY ("operationId") REFERENCES "Operation" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
98
+ CONSTRAINT "OperationLog_instanceId_fkey" FOREIGN KEY ("instanceId") REFERENCES "InstanceState" ("id") ON DELETE SET NULL ON UPDATE CASCADE
99
+ );
100
+
101
+ -- CreateTable
102
+ CREATE TABLE "Page" (
103
+ "id" TEXT NOT NULL PRIMARY KEY,
104
+ "meta" JSONB NOT NULL,
105
+ "instanceId" TEXT,
106
+ "serviceAccountId" TEXT,
107
+ "content" JSONB NOT NULL,
108
+ CONSTRAINT "Page_instanceId_fkey" FOREIGN KEY ("instanceId") REFERENCES "InstanceState" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
109
+ CONSTRAINT "Page_serviceAccountId_fkey" FOREIGN KEY ("serviceAccountId") REFERENCES "ServiceAccount" ("id") ON DELETE SET NULL ON UPDATE CASCADE
110
+ );
111
+
112
+ -- CreateTable
113
+ CREATE TABLE "Secret" (
114
+ "id" TEXT NOT NULL PRIMARY KEY,
115
+ "meta" JSONB NOT NULL,
116
+ "instanceId" TEXT,
117
+ "name" TEXT,
118
+ "systemName" TEXT,
119
+ "serviceAccountId" TEXT,
120
+ "content" JSONB NOT NULL,
121
+ CONSTRAINT "Secret_instanceId_fkey" FOREIGN KEY ("instanceId") REFERENCES "InstanceState" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
122
+ CONSTRAINT "Secret_serviceAccountId_fkey" FOREIGN KEY ("serviceAccountId") REFERENCES "ServiceAccount" ("id") ON DELETE SET NULL ON UPDATE CASCADE
123
+ );
124
+
125
+ -- CreateTable
126
+ CREATE TABLE "ServiceAccount" (
127
+ "id" TEXT NOT NULL PRIMARY KEY,
128
+ "meta" JSONB NOT NULL
129
+ );
130
+
131
+ -- CreateTable
132
+ CREATE TABLE "Terminal" (
133
+ "id" TEXT NOT NULL PRIMARY KEY,
134
+ "meta" JSONB NOT NULL,
135
+ "spec" JSONB NOT NULL,
136
+ "instanceId" TEXT,
137
+ "name" TEXT,
138
+ "serviceAccountId" TEXT,
139
+ CONSTRAINT "Terminal_instanceId_fkey" FOREIGN KEY ("instanceId") REFERENCES "InstanceState" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
140
+ CONSTRAINT "Terminal_serviceAccountId_fkey" FOREIGN KEY ("serviceAccountId") REFERENCES "ServiceAccount" ("id") ON DELETE SET NULL ON UPDATE CASCADE
141
+ );
142
+
143
+ -- CreateTable
144
+ CREATE TABLE "TerminalSession" (
145
+ "id" TEXT NOT NULL PRIMARY KEY,
146
+ "meta" JSONB NOT NULL,
147
+ "terminalId" TEXT NOT NULL,
148
+ CONSTRAINT "TerminalSession_terminalId_fkey" FOREIGN KEY ("terminalId") REFERENCES "Terminal" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
149
+ );
150
+
151
+ -- CreateTable
152
+ CREATE TABLE "TerminalSessionLog" (
153
+ "id" TEXT NOT NULL PRIMARY KEY,
154
+ "sessionId" TEXT NOT NULL,
155
+ "content" TEXT NOT NULL,
156
+ CONSTRAINT "TerminalSessionLog_sessionId_fkey" FOREIGN KEY ("sessionId") REFERENCES "TerminalSession" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
157
+ );
158
+
159
+ -- CreateTable
160
+ CREATE TABLE "Trigger" (
161
+ "id" TEXT NOT NULL PRIMARY KEY,
162
+ "meta" JSONB NOT NULL,
163
+ "instanceId" TEXT NOT NULL,
164
+ "name" TEXT NOT NULL,
165
+ "spec" JSONB NOT NULL,
166
+ CONSTRAINT "Trigger_instanceId_fkey" FOREIGN KEY ("instanceId") REFERENCES "InstanceState" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
167
+ );
168
+
169
+ -- CreateTable
170
+ CREATE TABLE "UnlockMethod" (
171
+ "id" TEXT NOT NULL PRIMARY KEY,
172
+ "meta" JSONB NOT NULL,
173
+ "type" TEXT NOT NULL,
174
+ "encryptedIdentity" TEXT NOT NULL,
175
+ "recipient" TEXT NOT NULL
176
+ );
177
+
178
+ -- CreateTable
179
+ CREATE TABLE "Worker" (
180
+ "id" TEXT NOT NULL PRIMARY KEY,
181
+ "identity" TEXT NOT NULL,
182
+ "serviceAccountId" TEXT NOT NULL,
183
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
184
+ CONSTRAINT "Worker_serviceAccountId_fkey" FOREIGN KEY ("serviceAccountId") REFERENCES "ServiceAccount" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
185
+ );
186
+
187
+ -- CreateTable
188
+ CREATE TABLE "WorkerVersion" (
189
+ "id" TEXT NOT NULL PRIMARY KEY,
190
+ "workerId" TEXT NOT NULL,
191
+ "digest" TEXT NOT NULL,
192
+ "apiKeyId" TEXT NOT NULL,
193
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
194
+ CONSTRAINT "WorkerVersion_apiKeyId_fkey" FOREIGN KEY ("apiKeyId") REFERENCES "ApiKey" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
195
+ );
196
+
197
+ -- CreateTable
198
+ CREATE TABLE "WorkerUnitRegistration" (
199
+ "workerVersionId" TEXT NOT NULL,
200
+ "instanceId" TEXT NOT NULL,
201
+ "params" JSONB NOT NULL,
202
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
203
+ "updatedAt" DATETIME NOT NULL,
204
+
205
+ PRIMARY KEY ("workerVersionId", "instanceId"),
206
+ CONSTRAINT "WorkerUnitRegistration_workerVersionId_fkey" FOREIGN KEY ("workerVersionId") REFERENCES "WorkerVersion" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
207
+ CONSTRAINT "WorkerUnitRegistration_instanceId_fkey" FOREIGN KEY ("instanceId") REFERENCES "InstanceState" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
208
+ );
209
+
210
+ -- CreateTable
211
+ CREATE TABLE "_ArtifactToServiceAccount" (
212
+ "A" TEXT NOT NULL,
213
+ "B" TEXT NOT NULL,
214
+ CONSTRAINT "_ArtifactToServiceAccount_A_fkey" FOREIGN KEY ("A") REFERENCES "Artifact" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
215
+ CONSTRAINT "_ArtifactToServiceAccount_B_fkey" FOREIGN KEY ("B") REFERENCES "ServiceAccount" ("id") ON DELETE CASCADE ON UPDATE CASCADE
216
+ );
217
+
218
+ -- CreateTable
219
+ CREATE TABLE "_ArtifactToInstanceState" (
220
+ "A" TEXT NOT NULL,
221
+ "B" TEXT NOT NULL,
222
+ CONSTRAINT "_ArtifactToInstanceState_A_fkey" FOREIGN KEY ("A") REFERENCES "Artifact" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
223
+ CONSTRAINT "_ArtifactToInstanceState_B_fkey" FOREIGN KEY ("B") REFERENCES "InstanceState" ("id") ON DELETE CASCADE ON UPDATE CASCADE
224
+ );
225
+
226
+ -- CreateTable
227
+ CREATE TABLE "_ArtifactToTerminal" (
228
+ "A" TEXT NOT NULL,
229
+ "B" TEXT NOT NULL,
230
+ CONSTRAINT "_ArtifactToTerminal_A_fkey" FOREIGN KEY ("A") REFERENCES "Artifact" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
231
+ CONSTRAINT "_ArtifactToTerminal_B_fkey" FOREIGN KEY ("B") REFERENCES "Terminal" ("id") ON DELETE CASCADE ON UPDATE CASCADE
232
+ );
233
+
234
+ -- CreateTable
235
+ CREATE TABLE "_ArtifactToPage" (
236
+ "A" TEXT NOT NULL,
237
+ "B" TEXT NOT NULL,
238
+ CONSTRAINT "_ArtifactToPage_A_fkey" FOREIGN KEY ("A") REFERENCES "Artifact" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
239
+ CONSTRAINT "_ArtifactToPage_B_fkey" FOREIGN KEY ("B") REFERENCES "Page" ("id") ON DELETE CASCADE ON UPDATE CASCADE
240
+ );
241
+
242
+ -- CreateIndex
243
+ CREATE UNIQUE INDEX "ApiKey_token_key" ON "ApiKey"("token");
244
+
245
+ -- CreateIndex
246
+ CREATE UNIQUE INDEX "Artifact_hash_key" ON "Artifact"("hash");
247
+
248
+ -- CreateIndex
249
+ CREATE UNIQUE INDEX "InstanceState_id_lastOperationId_key" ON "InstanceState"("id", "lastOperationId");
250
+
251
+ -- CreateIndex
252
+ CREATE INDEX "Page_instanceId_idx" ON "Page"("instanceId");
253
+
254
+ -- CreateIndex
255
+ CREATE INDEX "Page_serviceAccountId_idx" ON "Page"("serviceAccountId");
256
+
257
+ -- CreateIndex
258
+ CREATE INDEX "Terminal_serviceAccountId_idx" ON "Terminal"("serviceAccountId");
259
+
260
+ -- CreateIndex
261
+ CREATE UNIQUE INDEX "Terminal_instanceId_name_key" ON "Terminal"("instanceId", "name");
262
+
263
+ -- CreateIndex
264
+ CREATE UNIQUE INDEX "Trigger_instanceId_name_key" ON "Trigger"("instanceId", "name");
265
+
266
+ -- CreateIndex
267
+ CREATE UNIQUE INDEX "Worker_identity_key" ON "Worker"("identity");
268
+
269
+ -- CreateIndex
270
+ CREATE UNIQUE INDEX "Worker_serviceAccountId_key" ON "Worker"("serviceAccountId");
271
+
272
+ -- CreateIndex
273
+ CREATE UNIQUE INDEX "WorkerVersion_digest_key" ON "WorkerVersion"("digest");
274
+
275
+ -- CreateIndex
276
+ CREATE UNIQUE INDEX "WorkerVersion_apiKeyId_key" ON "WorkerVersion"("apiKeyId");
277
+
278
+ -- CreateIndex
279
+ CREATE UNIQUE INDEX "_ArtifactToServiceAccount_AB_unique" ON "_ArtifactToServiceAccount"("A", "B");
280
+
281
+ -- CreateIndex
282
+ CREATE INDEX "_ArtifactToServiceAccount_B_index" ON "_ArtifactToServiceAccount"("B");
283
+
284
+ -- CreateIndex
285
+ CREATE UNIQUE INDEX "_ArtifactToInstanceState_AB_unique" ON "_ArtifactToInstanceState"("A", "B");
286
+
287
+ -- CreateIndex
288
+ CREATE INDEX "_ArtifactToInstanceState_B_index" ON "_ArtifactToInstanceState"("B");
289
+
290
+ -- CreateIndex
291
+ CREATE UNIQUE INDEX "_ArtifactToTerminal_AB_unique" ON "_ArtifactToTerminal"("A", "B");
292
+
293
+ -- CreateIndex
294
+ CREATE INDEX "_ArtifactToTerminal_B_index" ON "_ArtifactToTerminal"("B");
295
+
296
+ -- CreateIndex
297
+ CREATE UNIQUE INDEX "_ArtifactToPage_AB_unique" ON "_ArtifactToPage"("A", "B");
298
+
299
+ -- CreateIndex
300
+ CREATE INDEX "_ArtifactToPage_B_index" ON "_ArtifactToPage"("B");
@@ -0,0 +1,72 @@
1
+ /*
2
+ Warnings:
3
+
4
+ - The primary key for the `WorkerUnitRegistration` table will be changed. If it partially fails, the table could be left without primary key constraint.
5
+ - A unique constraint covering the columns `[instanceId,name]` on the table `Page` will be added. If there are existing duplicate values, this will fail.
6
+ - Added the required column `name` to the `WorkerUnitRegistration` table without a default value. This is not possible if the table is not empty.
7
+
8
+ */
9
+ -- DropIndex
10
+ DROP INDEX "Page_serviceAccountId_idx";
11
+
12
+ -- DropIndex
13
+ DROP INDEX "Page_instanceId_idx";
14
+
15
+ -- AlterTable
16
+ ALTER TABLE "Page" ADD COLUMN "name" TEXT;
17
+
18
+ -- RedefineTables
19
+ PRAGMA defer_foreign_keys=ON;
20
+ PRAGMA foreign_keys=OFF;
21
+ CREATE TABLE "new_Terminal" (
22
+ "id" TEXT NOT NULL PRIMARY KEY,
23
+ "meta" JSONB NOT NULL,
24
+ "spec" JSONB NOT NULL,
25
+ "instanceId" TEXT,
26
+ "name" TEXT,
27
+ "serviceAccountId" TEXT,
28
+ CONSTRAINT "Terminal_instanceId_fkey" FOREIGN KEY ("instanceId") REFERENCES "InstanceState" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
29
+ CONSTRAINT "Terminal_serviceAccountId_fkey" FOREIGN KEY ("serviceAccountId") REFERENCES "ServiceAccount" ("id") ON DELETE CASCADE ON UPDATE CASCADE
30
+ );
31
+ INSERT INTO "new_Terminal" ("id", "instanceId", "meta", "name", "serviceAccountId", "spec") SELECT "id", "instanceId", "meta", "name", "serviceAccountId", "spec" FROM "Terminal";
32
+ DROP TABLE "Terminal";
33
+ ALTER TABLE "new_Terminal" RENAME TO "Terminal";
34
+ CREATE UNIQUE INDEX "Terminal_instanceId_name_key" ON "Terminal"("instanceId", "name");
35
+ CREATE TABLE "new_TerminalSession" (
36
+ "id" TEXT NOT NULL PRIMARY KEY,
37
+ "meta" JSONB NOT NULL,
38
+ "terminalId" TEXT NOT NULL,
39
+ CONSTRAINT "TerminalSession_terminalId_fkey" FOREIGN KEY ("terminalId") REFERENCES "Terminal" ("id") ON DELETE CASCADE ON UPDATE CASCADE
40
+ );
41
+ INSERT INTO "new_TerminalSession" ("id", "meta", "terminalId") SELECT "id", "meta", "terminalId" FROM "TerminalSession";
42
+ DROP TABLE "TerminalSession";
43
+ ALTER TABLE "new_TerminalSession" RENAME TO "TerminalSession";
44
+ CREATE TABLE "new_TerminalSessionLog" (
45
+ "id" TEXT NOT NULL PRIMARY KEY,
46
+ "sessionId" TEXT NOT NULL,
47
+ "content" TEXT NOT NULL,
48
+ CONSTRAINT "TerminalSessionLog_sessionId_fkey" FOREIGN KEY ("sessionId") REFERENCES "TerminalSession" ("id") ON DELETE CASCADE ON UPDATE CASCADE
49
+ );
50
+ INSERT INTO "new_TerminalSessionLog" ("content", "id", "sessionId") SELECT "content", "id", "sessionId" FROM "TerminalSessionLog";
51
+ DROP TABLE "TerminalSessionLog";
52
+ ALTER TABLE "new_TerminalSessionLog" RENAME TO "TerminalSessionLog";
53
+ CREATE TABLE "new_WorkerUnitRegistration" (
54
+ "instanceId" TEXT NOT NULL,
55
+ "name" TEXT NOT NULL,
56
+ "params" JSONB NOT NULL,
57
+ "workerVersionId" TEXT NOT NULL,
58
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
59
+ "updatedAt" DATETIME NOT NULL,
60
+
61
+ PRIMARY KEY ("instanceId", "name"),
62
+ CONSTRAINT "WorkerUnitRegistration_instanceId_fkey" FOREIGN KEY ("instanceId") REFERENCES "InstanceState" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
63
+ CONSTRAINT "WorkerUnitRegistration_workerVersionId_fkey" FOREIGN KEY ("workerVersionId") REFERENCES "WorkerVersion" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
64
+ );
65
+ INSERT INTO "new_WorkerUnitRegistration" ("createdAt", "instanceId", "params", "updatedAt", "workerVersionId") SELECT "createdAt", "instanceId", "params", "updatedAt", "workerVersionId" FROM "WorkerUnitRegistration";
66
+ DROP TABLE "WorkerUnitRegistration";
67
+ ALTER TABLE "new_WorkerUnitRegistration" RENAME TO "WorkerUnitRegistration";
68
+ PRAGMA foreign_keys=ON;
69
+ PRAGMA defer_foreign_keys=OFF;
70
+
71
+ -- CreateIndex
72
+ CREATE UNIQUE INDEX "Page_instanceId_name_key" ON "Page"("instanceId", "name");
@@ -0,0 +1,42 @@
1
+ /*
2
+ Warnings:
3
+
4
+ - Added the required column `spec` to the `InstanceLock` table without a default value. This is not possible if the table is not empty.
5
+
6
+ */
7
+ -- CreateTable
8
+ CREATE TABLE "WorkerLog" (
9
+ "id" TEXT NOT NULL PRIMARY KEY,
10
+ "workerVersionId" TEXT NOT NULL,
11
+ "content" TEXT NOT NULL,
12
+ CONSTRAINT "WorkerLog_workerVersionId_fkey" FOREIGN KEY ("workerVersionId") REFERENCES "WorkerVersion" ("id") ON DELETE CASCADE ON UPDATE CASCADE
13
+ );
14
+
15
+ -- RedefineTables
16
+ PRAGMA defer_foreign_keys=ON;
17
+ PRAGMA foreign_keys=OFF;
18
+ CREATE TABLE "new_InstanceLock" (
19
+ "instanceId" TEXT NOT NULL PRIMARY KEY,
20
+ "meta" JSONB NOT NULL,
21
+ "spec" JSONB NOT NULL,
22
+ CONSTRAINT "InstanceLock_instanceId_fkey" FOREIGN KEY ("instanceId") REFERENCES "InstanceState" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
23
+ );
24
+ INSERT INTO "new_InstanceLock" ("instanceId", "meta") SELECT "instanceId", "meta" FROM "InstanceLock";
25
+ DROP TABLE "InstanceLock";
26
+ ALTER TABLE "new_InstanceLock" RENAME TO "InstanceLock";
27
+ CREATE TABLE "new_WorkerVersion" (
28
+ "id" TEXT NOT NULL PRIMARY KEY,
29
+ "workerId" TEXT NOT NULL,
30
+ "digest" TEXT NOT NULL,
31
+ "apiKeyId" TEXT NOT NULL,
32
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
33
+ CONSTRAINT "WorkerVersion_workerId_fkey" FOREIGN KEY ("workerId") REFERENCES "Worker" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
34
+ CONSTRAINT "WorkerVersion_apiKeyId_fkey" FOREIGN KEY ("apiKeyId") REFERENCES "ApiKey" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
35
+ );
36
+ INSERT INTO "new_WorkerVersion" ("apiKeyId", "createdAt", "digest", "id", "workerId") SELECT "apiKeyId", "createdAt", "digest", "id", "workerId" FROM "WorkerVersion";
37
+ DROP TABLE "WorkerVersion";
38
+ ALTER TABLE "new_WorkerVersion" RENAME TO "WorkerVersion";
39
+ CREATE UNIQUE INDEX "WorkerVersion_digest_key" ON "WorkerVersion"("digest");
40
+ CREATE UNIQUE INDEX "WorkerVersion_apiKeyId_key" ON "WorkerVersion"("apiKeyId");
41
+ PRAGMA foreign_keys=ON;
42
+ PRAGMA defer_foreign_keys=OFF;
@@ -0,0 +1,8 @@
1
+ /*
2
+ Warnings:
3
+
4
+ - A unique constraint covering the columns `[systemName]` on the table `Secret` will be added. If there are existing duplicate values, this will fail.
5
+
6
+ */
7
+ -- CreateIndex
8
+ CREATE UNIQUE INDEX "Secret_systemName_key" ON "Secret"("systemName");
@@ -0,0 +1,8 @@
1
+ /*
2
+ Warnings:
3
+
4
+ - A unique constraint covering the columns `[instanceId,name]` on the table `Secret` will be added. If there are existing duplicate values, this will fail.
5
+
6
+ */
7
+ -- CreateIndex
8
+ CREATE UNIQUE INDEX "Secret_instanceId_name_key" ON "Secret"("instanceId", "name");
@@ -0,0 +1,11 @@
1
+ -- CreateTable
2
+ CREATE TABLE "InstanceModel" (
3
+ "id" TEXT NOT NULL PRIMARY KEY,
4
+ "model" JSONB NOT NULL
5
+ );
6
+
7
+ -- CreateTable
8
+ CREATE TABLE "HubModel" (
9
+ "id" TEXT NOT NULL PRIMARY KEY,
10
+ "model" JSONB NOT NULL
11
+ );
@@ -0,0 +1,35 @@
1
+ /*
2
+ Warnings:
3
+
4
+ - You are about to drop the column `meta` on the `TerminalSession` table. All the data in the column will be lost.
5
+ - Added the required column `chunkSize` to the `Artifact` table without a default value. This is not possible if the table is not empty.
6
+
7
+ */
8
+ -- RedefineTables
9
+ PRAGMA defer_foreign_keys=ON;
10
+ PRAGMA foreign_keys=OFF;
11
+ CREATE TABLE "new_Artifact" (
12
+ "id" TEXT NOT NULL PRIMARY KEY,
13
+ "meta" JSONB NOT NULL,
14
+ "hash" TEXT NOT NULL,
15
+ "size" INTEGER NOT NULL,
16
+ "chunkSize" INTEGER NOT NULL,
17
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
18
+ "updatedAt" DATETIME NOT NULL
19
+ );
20
+ INSERT INTO "new_Artifact" ("createdAt", "hash", "id", "meta", "size", "updatedAt") SELECT "createdAt", "hash", "id", "meta", "size", "updatedAt" FROM "Artifact";
21
+ DROP TABLE "Artifact";
22
+ ALTER TABLE "new_Artifact" RENAME TO "Artifact";
23
+ CREATE UNIQUE INDEX "Artifact_hash_key" ON "Artifact"("hash");
24
+ CREATE TABLE "new_TerminalSession" (
25
+ "id" TEXT NOT NULL PRIMARY KEY,
26
+ "terminalId" TEXT NOT NULL,
27
+ "startedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
28
+ "finishedAt" DATETIME,
29
+ CONSTRAINT "TerminalSession_terminalId_fkey" FOREIGN KEY ("terminalId") REFERENCES "Terminal" ("id") ON DELETE CASCADE ON UPDATE CASCADE
30
+ );
31
+ INSERT INTO "new_TerminalSession" ("id", "terminalId") SELECT "id", "terminalId" FROM "TerminalSession";
32
+ DROP TABLE "TerminalSession";
33
+ ALTER TABLE "new_TerminalSession" RENAME TO "TerminalSession";
34
+ PRAGMA foreign_keys=ON;
35
+ PRAGMA defer_foreign_keys=OFF;
@@ -0,0 +1,14 @@
1
+ -- CreateTable
2
+ CREATE TABLE "UserProjectViewport" (
3
+ "userId" TEXT NOT NULL PRIMARY KEY,
4
+ "viewport" JSONB NOT NULL
5
+ );
6
+
7
+ -- CreateTable
8
+ CREATE TABLE "UserCompositeViewport" (
9
+ "userId" TEXT NOT NULL,
10
+ "instanceId" TEXT NOT NULL,
11
+ "viewport" JSONB NOT NULL,
12
+
13
+ PRIMARY KEY ("userId", "instanceId")
14
+ );