@uasyraf/helm 0.1.2 → 0.1.3

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 (223) hide show
  1. package/dashboard/build/client/_app/immutable/assets/0.C_U6EcGX.css +1 -0
  2. package/dashboard/build/client/_app/immutable/assets/0.C_U6EcGX.css.br +0 -0
  3. package/dashboard/build/client/_app/immutable/assets/0.C_U6EcGX.css.gz +0 -0
  4. package/dashboard/build/client/_app/immutable/chunks/9-QirXaE.js +1 -0
  5. package/dashboard/build/client/_app/immutable/chunks/9-QirXaE.js.br +0 -0
  6. package/dashboard/build/client/_app/immutable/chunks/9-QirXaE.js.gz +0 -0
  7. package/dashboard/build/client/_app/immutable/chunks/BO5y_GWf.js +1 -0
  8. package/dashboard/build/client/_app/immutable/chunks/BO5y_GWf.js.br +0 -0
  9. package/dashboard/build/client/_app/immutable/chunks/BO5y_GWf.js.gz +0 -0
  10. package/dashboard/build/client/_app/immutable/chunks/BPuAFY6p.js +1 -0
  11. package/dashboard/build/client/_app/immutable/chunks/BPuAFY6p.js.br +0 -0
  12. package/dashboard/build/client/_app/immutable/chunks/BPuAFY6p.js.gz +0 -0
  13. package/dashboard/build/client/_app/immutable/chunks/BVbhX7IV.js +2 -0
  14. package/dashboard/build/client/_app/immutable/chunks/BVbhX7IV.js.br +0 -0
  15. package/dashboard/build/client/_app/immutable/chunks/BVbhX7IV.js.gz +0 -0
  16. package/dashboard/build/client/_app/immutable/chunks/C2WLVwTD.js +3 -0
  17. package/dashboard/build/client/_app/immutable/chunks/C2WLVwTD.js.br +0 -0
  18. package/dashboard/build/client/_app/immutable/chunks/C2WLVwTD.js.gz +0 -0
  19. package/dashboard/build/client/_app/immutable/chunks/C7hYKz2M.js +1 -0
  20. package/dashboard/build/client/_app/immutable/chunks/C7hYKz2M.js.br +0 -0
  21. package/dashboard/build/client/_app/immutable/chunks/C7hYKz2M.js.gz +0 -0
  22. package/dashboard/build/client/_app/immutable/chunks/{DYkFpqG7.js → Crvlw6v6.js} +1 -1
  23. package/dashboard/build/client/_app/immutable/chunks/Crvlw6v6.js.br +0 -0
  24. package/dashboard/build/client/_app/immutable/chunks/Crvlw6v6.js.gz +0 -0
  25. package/dashboard/build/client/_app/immutable/chunks/Cw9Pdt2b.js +1 -0
  26. package/dashboard/build/client/_app/immutable/chunks/Cw9Pdt2b.js.br +0 -0
  27. package/dashboard/build/client/_app/immutable/chunks/Cw9Pdt2b.js.gz +0 -0
  28. package/dashboard/build/client/_app/immutable/chunks/DM7ZjyFs.js +1 -0
  29. package/dashboard/build/client/_app/immutable/chunks/DM7ZjyFs.js.br +0 -0
  30. package/dashboard/build/client/_app/immutable/chunks/DM7ZjyFs.js.gz +0 -0
  31. package/dashboard/build/client/_app/immutable/chunks/{bJX5vhEj.js → DXH1e0MC.js} +1 -1
  32. package/dashboard/build/client/_app/immutable/chunks/DXH1e0MC.js.br +0 -0
  33. package/dashboard/build/client/_app/immutable/chunks/DXH1e0MC.js.gz +0 -0
  34. package/dashboard/build/client/_app/immutable/chunks/i4nhiUnk.js +1 -0
  35. package/dashboard/build/client/_app/immutable/chunks/i4nhiUnk.js.br +0 -0
  36. package/dashboard/build/client/_app/immutable/chunks/i4nhiUnk.js.gz +0 -0
  37. package/dashboard/build/client/_app/immutable/entry/app.Dy41QFU8.js +2 -0
  38. package/dashboard/build/client/_app/immutable/entry/app.Dy41QFU8.js.br +0 -0
  39. package/dashboard/build/client/_app/immutable/entry/app.Dy41QFU8.js.gz +0 -0
  40. package/dashboard/build/client/_app/immutable/entry/start.BcPFfpW6.js +1 -0
  41. package/dashboard/build/client/_app/immutable/entry/start.BcPFfpW6.js.br +2 -0
  42. package/dashboard/build/client/_app/immutable/entry/start.BcPFfpW6.js.gz +0 -0
  43. package/dashboard/build/client/_app/immutable/nodes/0.gT1IrBAt.js +1 -0
  44. package/dashboard/build/client/_app/immutable/nodes/0.gT1IrBAt.js.br +0 -0
  45. package/dashboard/build/client/_app/immutable/nodes/0.gT1IrBAt.js.gz +0 -0
  46. package/dashboard/build/client/_app/immutable/nodes/1.C1pxwGz8.js +1 -0
  47. package/dashboard/build/client/_app/immutable/nodes/1.C1pxwGz8.js.br +0 -0
  48. package/dashboard/build/client/_app/immutable/nodes/1.C1pxwGz8.js.gz +0 -0
  49. package/dashboard/build/client/_app/immutable/nodes/2.PAkYASQF.js +1 -0
  50. package/dashboard/build/client/_app/immutable/nodes/2.PAkYASQF.js.br +0 -0
  51. package/dashboard/build/client/_app/immutable/nodes/2.PAkYASQF.js.gz +0 -0
  52. package/dashboard/build/client/_app/immutable/nodes/3.qPGHwS98.js +1 -0
  53. package/dashboard/build/client/_app/immutable/nodes/3.qPGHwS98.js.br +0 -0
  54. package/dashboard/build/client/_app/immutable/nodes/3.qPGHwS98.js.gz +0 -0
  55. package/dashboard/build/client/_app/immutable/nodes/4.BY3c2oP3.js +1 -0
  56. package/dashboard/build/client/_app/immutable/nodes/4.BY3c2oP3.js.br +0 -0
  57. package/dashboard/build/client/_app/immutable/nodes/4.BY3c2oP3.js.gz +0 -0
  58. package/dashboard/build/client/_app/immutable/nodes/5.BJmkMCzP.js +1 -0
  59. package/dashboard/build/client/_app/immutable/nodes/5.BJmkMCzP.js.br +0 -0
  60. package/dashboard/build/client/_app/immutable/nodes/5.BJmkMCzP.js.gz +0 -0
  61. package/dashboard/build/client/_app/immutable/nodes/6.BQBCuyRo.js +1 -0
  62. package/dashboard/build/client/_app/immutable/nodes/6.BQBCuyRo.js.br +0 -0
  63. package/dashboard/build/client/_app/immutable/nodes/6.BQBCuyRo.js.gz +0 -0
  64. package/dashboard/build/client/_app/immutable/nodes/7.CGn9hdJ7.js +1 -0
  65. package/dashboard/build/client/_app/immutable/nodes/7.CGn9hdJ7.js.br +0 -0
  66. package/dashboard/build/client/_app/immutable/nodes/7.CGn9hdJ7.js.gz +0 -0
  67. package/dashboard/build/client/_app/immutable/nodes/8.CbXx0M8r.js +1 -0
  68. package/dashboard/build/client/_app/immutable/nodes/8.CbXx0M8r.js.br +0 -0
  69. package/dashboard/build/client/_app/immutable/nodes/8.CbXx0M8r.js.gz +0 -0
  70. package/dashboard/build/client/_app/version.json +1 -1
  71. package/dashboard/build/client/_app/version.json.br +0 -0
  72. package/dashboard/build/client/_app/version.json.gz +0 -0
  73. package/dashboard/build/server/chunks/0-CuCI8vso.js +33 -0
  74. package/dashboard/build/server/chunks/0-CuCI8vso.js.map +1 -0
  75. package/dashboard/build/server/chunks/1-BRujd2KF.js +9 -0
  76. package/dashboard/build/server/chunks/{1-BDkdOGL6.js.map → 1-BRujd2KF.js.map} +1 -1
  77. package/dashboard/build/server/chunks/2-CdivLqAU.js +36 -0
  78. package/dashboard/build/server/chunks/2-CdivLqAU.js.map +1 -0
  79. package/dashboard/build/server/chunks/3-D2TMWb8-.js +41 -0
  80. package/dashboard/build/server/chunks/3-D2TMWb8-.js.map +1 -0
  81. package/dashboard/build/server/chunks/{2-BLt1vNET.js → 4-CATS6czN.js} +17 -13
  82. package/dashboard/build/server/chunks/4-CATS6czN.js.map +1 -0
  83. package/dashboard/build/server/chunks/5-DmUG37hB.js +45 -0
  84. package/dashboard/build/server/chunks/5-DmUG37hB.js.map +1 -0
  85. package/dashboard/build/server/chunks/6--04CRhxN.js +43 -0
  86. package/dashboard/build/server/chunks/6--04CRhxN.js.map +1 -0
  87. package/dashboard/build/server/chunks/7--ahyXjMz.js +34 -0
  88. package/dashboard/build/server/chunks/7--ahyXjMz.js.map +1 -0
  89. package/dashboard/build/server/chunks/8-B8pO7UFU.js +56 -0
  90. package/dashboard/build/server/chunks/8-B8pO7UFU.js.map +1 -0
  91. package/dashboard/build/server/chunks/_layout.svelte-gEHTl1KG.js +36 -0
  92. package/dashboard/build/server/chunks/_layout.svelte-gEHTl1KG.js.map +1 -0
  93. package/dashboard/build/server/chunks/_layout.svelte-vH4YFBaG.js +45 -0
  94. package/dashboard/build/server/chunks/_layout.svelte-vH4YFBaG.js.map +1 -0
  95. package/dashboard/build/server/chunks/_page.svelte-2co8EQvy.js +25 -0
  96. package/dashboard/build/server/chunks/_page.svelte-2co8EQvy.js.map +1 -0
  97. package/dashboard/build/server/chunks/{_page.svelte-C_NO0kPy.js → _page.svelte-BF5kOI2R.js} +2 -2
  98. package/dashboard/build/server/chunks/_page.svelte-BF5kOI2R.js.map +1 -0
  99. package/dashboard/build/server/chunks/_page.svelte-BGS-bwra.js.map +1 -1
  100. package/dashboard/build/server/chunks/_page.svelte-BiRjdIbl.js.map +1 -1
  101. package/dashboard/build/server/chunks/_page.svelte-DvSQBjcA.js.map +1 -1
  102. package/dashboard/build/server/chunks/_page.svelte-ZUq8J-ew.js.map +1 -1
  103. package/dashboard/build/server/chunks/db-GHaWnz-k.js +806 -0
  104. package/dashboard/build/server/chunks/db-GHaWnz-k.js.map +1 -0
  105. package/dashboard/build/server/chunks/{error.svelte-DJ3O9Tia.js → error.svelte-B8bxgmvK.js} +3 -3
  106. package/dashboard/build/server/chunks/{error.svelte-DJ3O9Tia.js.map → error.svelte-B8bxgmvK.js.map} +1 -1
  107. package/dashboard/build/server/chunks/{exports-BnaAAAnL.js → exports-CzH4-eZs.js} +41 -9
  108. package/dashboard/build/server/chunks/exports-CzH4-eZs.js.map +1 -0
  109. package/dashboard/build/server/chunks/{index-DwR_KaNY.js → index-CfWSWN1f.js} +8 -3
  110. package/dashboard/build/server/chunks/index-CfWSWN1f.js.map +1 -0
  111. package/dashboard/build/server/chunks/{index-lhTMmBNn.js → index-NcxaM188.js} +31 -2
  112. package/dashboard/build/server/chunks/{index-lhTMmBNn.js.map → index-NcxaM188.js.map} +1 -1
  113. package/dashboard/build/server/chunks/queries-OsSUm9xY.js +58 -0
  114. package/dashboard/build/server/chunks/queries-OsSUm9xY.js.map +1 -0
  115. package/dashboard/build/server/index.js +3 -3
  116. package/dashboard/build/server/index.js.map +1 -1
  117. package/dashboard/build/server/manifest.js +34 -25
  118. package/dashboard/build/server/manifest.js.map +1 -1
  119. package/dist/bin/helm.js +20 -1
  120. package/dist/bin/helm.js.map +1 -1
  121. package/dist/server/src/db/bootstrap.js +19 -0
  122. package/dist/server/src/db/bootstrap.js.map +1 -1
  123. package/dist/server/src/db/open-repo.js +2 -2
  124. package/dist/server/src/db/open-repo.js.map +1 -1
  125. package/dist/server/src/db/pg-bootstrap.js +14 -0
  126. package/dist/server/src/db/pg-bootstrap.js.map +1 -1
  127. package/dist/server/src/db/repo-pg.js +6 -2
  128. package/dist/server/src/db/repo-pg.js.map +1 -1
  129. package/dist/server/src/db/repo-sqlite.js +5 -2
  130. package/dist/server/src/db/repo-sqlite.js.map +1 -1
  131. package/dist/server/src/db/repo.d.ts +1 -0
  132. package/dist/server/src/db/schema-pg.d.ts +34 -0
  133. package/dist/server/src/db/schema-pg.js +1 -0
  134. package/dist/server/src/db/schema-pg.js.map +1 -1
  135. package/dist/server/src/db/schema.d.ts +34 -0
  136. package/dist/server/src/db/schema.js +1 -0
  137. package/dist/server/src/db/schema.js.map +1 -1
  138. package/dist/server/src/install.js +6 -7
  139. package/dist/server/src/install.js.map +1 -1
  140. package/dist/server/src/migrate.d.ts +13 -0
  141. package/dist/server/src/migrate.js +99 -0
  142. package/dist/server/src/migrate.js.map +1 -0
  143. package/dist/server/src/tools/story.js +1 -0
  144. package/dist/server/src/tools/story.js.map +1 -1
  145. package/dist/server/src/util/paths.d.ts +2 -1
  146. package/dist/server/src/util/paths.js +4 -1
  147. package/dist/server/src/util/paths.js.map +1 -1
  148. package/hooks/hooks.json +0 -5
  149. package/package.json +1 -1
  150. package/dashboard/build/client/_app/immutable/assets/0.DPthOi2j.css +0 -1
  151. package/dashboard/build/client/_app/immutable/assets/0.DPthOi2j.css.br +0 -0
  152. package/dashboard/build/client/_app/immutable/assets/0.DPthOi2j.css.gz +0 -0
  153. package/dashboard/build/client/_app/immutable/chunks/B3NJzl7g.js +0 -1
  154. package/dashboard/build/client/_app/immutable/chunks/B3NJzl7g.js.br +0 -0
  155. package/dashboard/build/client/_app/immutable/chunks/B3NJzl7g.js.gz +0 -0
  156. package/dashboard/build/client/_app/immutable/chunks/Bvgn0Gys.js +0 -1
  157. package/dashboard/build/client/_app/immutable/chunks/Bvgn0Gys.js.br +0 -0
  158. package/dashboard/build/client/_app/immutable/chunks/Bvgn0Gys.js.gz +0 -0
  159. package/dashboard/build/client/_app/immutable/chunks/C72aErMY.js +0 -3
  160. package/dashboard/build/client/_app/immutable/chunks/C72aErMY.js.br +0 -0
  161. package/dashboard/build/client/_app/immutable/chunks/C72aErMY.js.gz +0 -0
  162. package/dashboard/build/client/_app/immutable/chunks/CjpPs8iz.js +0 -1
  163. package/dashboard/build/client/_app/immutable/chunks/CjpPs8iz.js.br +0 -0
  164. package/dashboard/build/client/_app/immutable/chunks/CjpPs8iz.js.gz +0 -0
  165. package/dashboard/build/client/_app/immutable/chunks/DNLp8810.js +0 -1
  166. package/dashboard/build/client/_app/immutable/chunks/DNLp8810.js.br +0 -0
  167. package/dashboard/build/client/_app/immutable/chunks/DNLp8810.js.gz +0 -0
  168. package/dashboard/build/client/_app/immutable/chunks/DYkFpqG7.js.br +0 -0
  169. package/dashboard/build/client/_app/immutable/chunks/DYkFpqG7.js.gz +0 -0
  170. package/dashboard/build/client/_app/immutable/chunks/DsiL0ppy.js +0 -2
  171. package/dashboard/build/client/_app/immutable/chunks/DsiL0ppy.js.br +0 -0
  172. package/dashboard/build/client/_app/immutable/chunks/DsiL0ppy.js.gz +0 -0
  173. package/dashboard/build/client/_app/immutable/chunks/bJX5vhEj.js.br +0 -0
  174. package/dashboard/build/client/_app/immutable/chunks/bJX5vhEj.js.gz +0 -0
  175. package/dashboard/build/client/_app/immutable/chunks/gQDp4_Ul.js +0 -1
  176. package/dashboard/build/client/_app/immutable/chunks/gQDp4_Ul.js.br +0 -0
  177. package/dashboard/build/client/_app/immutable/chunks/gQDp4_Ul.js.gz +0 -0
  178. package/dashboard/build/client/_app/immutable/entry/app.D4j9hUjJ.js +0 -2
  179. package/dashboard/build/client/_app/immutable/entry/app.D4j9hUjJ.js.br +0 -0
  180. package/dashboard/build/client/_app/immutable/entry/app.D4j9hUjJ.js.gz +0 -0
  181. package/dashboard/build/client/_app/immutable/entry/start.D59wIHuS.js +0 -1
  182. package/dashboard/build/client/_app/immutable/entry/start.D59wIHuS.js.br +0 -2
  183. package/dashboard/build/client/_app/immutable/entry/start.D59wIHuS.js.gz +0 -0
  184. package/dashboard/build/client/_app/immutable/nodes/0.HocD0HAQ.js +0 -1
  185. package/dashboard/build/client/_app/immutable/nodes/0.HocD0HAQ.js.br +0 -0
  186. package/dashboard/build/client/_app/immutable/nodes/0.HocD0HAQ.js.gz +0 -0
  187. package/dashboard/build/client/_app/immutable/nodes/1.xo_a-jPh.js +0 -1
  188. package/dashboard/build/client/_app/immutable/nodes/1.xo_a-jPh.js.br +0 -0
  189. package/dashboard/build/client/_app/immutable/nodes/1.xo_a-jPh.js.gz +0 -0
  190. package/dashboard/build/client/_app/immutable/nodes/2.BwywD4n3.js +0 -1
  191. package/dashboard/build/client/_app/immutable/nodes/2.BwywD4n3.js.br +0 -0
  192. package/dashboard/build/client/_app/immutable/nodes/2.BwywD4n3.js.gz +0 -0
  193. package/dashboard/build/client/_app/immutable/nodes/3.BGY0bNfC.js +0 -1
  194. package/dashboard/build/client/_app/immutable/nodes/3.BGY0bNfC.js.br +0 -0
  195. package/dashboard/build/client/_app/immutable/nodes/3.BGY0bNfC.js.gz +0 -0
  196. package/dashboard/build/client/_app/immutable/nodes/4.C7uIivCS.js +0 -1
  197. package/dashboard/build/client/_app/immutable/nodes/4.C7uIivCS.js.br +0 -0
  198. package/dashboard/build/client/_app/immutable/nodes/4.C7uIivCS.js.gz +0 -0
  199. package/dashboard/build/client/_app/immutable/nodes/5.YszfczJW.js +0 -1
  200. package/dashboard/build/client/_app/immutable/nodes/5.YszfczJW.js.br +0 -0
  201. package/dashboard/build/client/_app/immutable/nodes/5.YszfczJW.js.gz +0 -0
  202. package/dashboard/build/client/_app/immutable/nodes/6.7fhKcbBK.js +0 -1
  203. package/dashboard/build/client/_app/immutable/nodes/6.7fhKcbBK.js.br +0 -0
  204. package/dashboard/build/client/_app/immutable/nodes/6.7fhKcbBK.js.gz +0 -0
  205. package/dashboard/build/server/chunks/0-DUUsxI66.js +0 -40
  206. package/dashboard/build/server/chunks/0-DUUsxI66.js.map +0 -1
  207. package/dashboard/build/server/chunks/1-BDkdOGL6.js +0 -9
  208. package/dashboard/build/server/chunks/2-BLt1vNET.js.map +0 -1
  209. package/dashboard/build/server/chunks/3-B-4sxMk4.js +0 -41
  210. package/dashboard/build/server/chunks/3-B-4sxMk4.js.map +0 -1
  211. package/dashboard/build/server/chunks/4-CRZIwHJO.js +0 -39
  212. package/dashboard/build/server/chunks/4-CRZIwHJO.js.map +0 -1
  213. package/dashboard/build/server/chunks/5-CwiVOtz6.js +0 -30
  214. package/dashboard/build/server/chunks/5-CwiVOtz6.js.map +0 -1
  215. package/dashboard/build/server/chunks/6-mID2_gX2.js +0 -53
  216. package/dashboard/build/server/chunks/6-mID2_gX2.js.map +0 -1
  217. package/dashboard/build/server/chunks/_layout.svelte-DeOKequ-.js +0 -31
  218. package/dashboard/build/server/chunks/_layout.svelte-DeOKequ-.js.map +0 -1
  219. package/dashboard/build/server/chunks/_page.svelte-C_NO0kPy.js.map +0 -1
  220. package/dashboard/build/server/chunks/exports-BnaAAAnL.js.map +0 -1
  221. package/dashboard/build/server/chunks/index-DwR_KaNY.js.map +0 -1
  222. package/dashboard/build/server/chunks/queries-DGWi-KlP.js +0 -198
  223. package/dashboard/build/server/chunks/queries-DGWi-KlP.js.map +0 -1
@@ -1,198 +0,0 @@
1
- import { createClient } from '@libsql/client';
2
- import { drizzle } from 'drizzle-orm/libsql';
3
- import { join } from 'node:path';
4
- import { homedir } from 'node:os';
5
- import { eq, and, sql, isNull, desc } from 'drizzle-orm';
6
- import { sqliteTable, text, integer } from 'drizzle-orm/sqlite-core';
7
-
8
- const project = sqliteTable("project", {
9
- id: text("id").primaryKey(),
10
- slug: text("slug").notNull().unique(),
11
- name: text("name").notNull(),
12
- gitRemote: text("git_remote"),
13
- dod: text("dod"),
14
- sprintLengthDays: integer("sprint_length_days").notNull().default(14),
15
- wipEnabled: integer("wip_enabled", { mode: "boolean" }).notNull().default(false),
16
- estimationEnabled: integer("estimation_enabled", { mode: "boolean" }).notNull().default(true),
17
- createdAt: text("created_at").notNull()
18
- });
19
- const developer = sqliteTable("developer", {
20
- id: text("id").primaryKey(),
21
- projectId: text("project_id").notNull().references(() => project.id),
22
- handle: text("handle").notNull(),
23
- email: text("email"),
24
- lastSeenAt: text("last_seen_at").notNull()
25
- });
26
- const sprint = sqliteTable("sprint", {
27
- id: text("id").primaryKey(),
28
- projectId: text("project_id").notNull().references(() => project.id),
29
- name: text("name").notNull(),
30
- goal: text("goal"),
31
- startedAt: text("started_at").notNull(),
32
- endedAt: text("ended_at"),
33
- status: text("status").notNull(),
34
- wipLimit: integer("wip_limit")
35
- });
36
- const epic = sqliteTable("epic", {
37
- id: text("id").primaryKey(),
38
- projectId: text("project_id").notNull().references(() => project.id),
39
- title: text("title").notNull(),
40
- description: text("description"),
41
- status: text("status").notNull().default("open"),
42
- priority: integer("priority").notNull().default(3),
43
- targetSprintId: text("target_sprint_id").references(() => sprint.id),
44
- createdAt: text("created_at").notNull()
45
- });
46
- const story = sqliteTable("story", {
47
- id: text("id").primaryKey(),
48
- epicId: text("epic_id").references(() => epic.id),
49
- sprintId: text("sprint_id").references(() => sprint.id),
50
- title: text("title").notNull(),
51
- description: text("description"),
52
- acceptance: text("acceptance"),
53
- status: text("status").notNull().default("backlog"),
54
- size: text("size"),
55
- assigneeId: text("assignee_id").references(() => developer.id),
56
- priority: integer("priority").notNull().default(3),
57
- startedAt: text("started_at"),
58
- completedAt: text("completed_at"),
59
- createdAt: text("created_at").notNull()
60
- });
61
- const task = sqliteTable("task", {
62
- id: text("id").primaryKey(),
63
- storyId: text("story_id").notNull().references(() => story.id),
64
- assigneeId: text("assignee_id").references(() => developer.id),
65
- title: text("title").notNull(),
66
- status: text("status").notNull().default("todo"),
67
- blockedBy: text("blocked_by"),
68
- createdAt: text("created_at").notNull()
69
- });
70
- const techDebt = sqliteTable("tech_debt", {
71
- id: text("id").primaryKey(),
72
- projectId: text("project_id").notNull().references(() => project.id),
73
- title: text("title").notNull(),
74
- description: text("description"),
75
- severity: text("severity").notNull().default("med"),
76
- location: text("location"),
77
- ownerId: text("owner_id").references(() => developer.id),
78
- expiresAt: text("expires_at"),
79
- openedAt: text("opened_at").notNull(),
80
- closedAt: text("closed_at"),
81
- linkedStoryId: text("linked_story_id").references(() => story.id)
82
- });
83
- const decision = sqliteTable("decision", {
84
- id: text("id").primaryKey(),
85
- projectId: text("project_id").notNull().references(() => project.id),
86
- title: text("title").notNull(),
87
- context: text("context"),
88
- decision: text("decision").notNull(),
89
- status: text("status").notNull().default("accepted"),
90
- decidedAt: text("decided_at").notNull()
91
- });
92
- const progressEvent = sqliteTable("progress_event", {
93
- id: text("id").primaryKey(),
94
- projectId: text("project_id").notNull().references(() => project.id),
95
- developerId: text("developer_id").references(() => developer.id),
96
- sprintId: text("sprint_id").references(() => sprint.id),
97
- kind: text("kind").notNull(),
98
- refId: text("ref_id"),
99
- summary: text("summary").notNull(),
100
- ts: text("ts").notNull()
101
- });
102
- const schema = {
103
- project,
104
- developer,
105
- sprint,
106
- epic,
107
- story,
108
- task,
109
- techDebt,
110
- decision,
111
- progressEvent
112
- };
113
- let cached = null;
114
- function helmHome() {
115
- return process.env.HELM_HOME ?? join(homedir(), ".helm");
116
- }
117
- function activeSlug() {
118
- const slug = process.env.HELM_PROJECT_SLUG;
119
- if (!slug) {
120
- throw new Error("HELM_PROJECT_SLUG not set — start the dashboard via `helm dashboard`.");
121
- }
122
- return slug;
123
- }
124
- function db() {
125
- if (cached) return cached;
126
- const slug = activeSlug();
127
- const path = join(helmHome(), `${slug}.db`);
128
- const syncUrl = process.env.HELM_SYNC_URL;
129
- const syncToken = process.env.HELM_SYNC_TOKEN;
130
- const syncIntervalSec = Number(process.env.HELM_SYNC_INTERVAL_MS ?? "5000") / 1e3;
131
- const client = syncUrl ? createClient({ url: `file:${path}`, syncUrl, authToken: syncToken, syncInterval: syncIntervalSec }) : createClient({ url: `file:${path}` });
132
- cached = drizzle(client, { schema });
133
- return cached;
134
- }
135
- async function loadProject(db2, slug) {
136
- const rows = await db2.select().from(project).where(eq(project.slug, slug)).limit(1);
137
- return rows[0] ?? null;
138
- }
139
- async function loadActiveSprint(db2, projectId) {
140
- const rows = await db2.select().from(sprint).where(and(eq(sprint.projectId, projectId), eq(sprint.status, "active"))).limit(1);
141
- return rows[0] ?? null;
142
- }
143
- async function loadAllSprints(db2, projectId) {
144
- return db2.select().from(sprint).where(eq(sprint.projectId, projectId)).orderBy(desc(sprint.startedAt));
145
- }
146
- async function loadSprintById(db2, sprintId) {
147
- const rows = await db2.select().from(sprint).where(eq(sprint.id, sprintId)).limit(1);
148
- return rows[0] ?? null;
149
- }
150
- async function loadStoriesInSprint(db2, sprintId) {
151
- return db2.select().from(story).where(eq(story.sprintId, sprintId)).orderBy(story.priority);
152
- }
153
- async function loadOpenDebt(db2, projectId, limit = 100) {
154
- return db2.select().from(techDebt).where(and(eq(techDebt.projectId, projectId), isNull(techDebt.closedAt))).orderBy(sql`severity desc, opened_at desc`).limit(limit);
155
- }
156
- async function loadAllDebt(db2, projectId, limit = 500) {
157
- return db2.select().from(techDebt).where(eq(techDebt.projectId, projectId)).orderBy(sql`closed_at is null desc, severity desc, opened_at desc`).limit(limit);
158
- }
159
- async function loadRecentEvents(db2, projectId, limit = 30) {
160
- return db2.select().from(progressEvent).where(eq(progressEvent.projectId, projectId)).orderBy(desc(progressEvent.ts)).limit(limit);
161
- }
162
- async function loadSprintMetrics(db2, projectId) {
163
- const sprints = await loadAllSprints(db2, projectId);
164
- const out = [];
165
- for (const s of sprints) {
166
- out.push(await computeSprintMetric(db2, s));
167
- }
168
- return out;
169
- }
170
- async function computeSprintMetric(db2, s) {
171
- const total = await db2.select({ c: sql`count(*)` }).from(story).where(eq(story.sprintId, s.id));
172
- const done = await db2.select({ c: sql`count(*)` }).from(story).where(and(eq(story.sprintId, s.id), eq(story.status, "done")));
173
- const opened = await db2.select({ c: sql`count(*)` }).from(progressEvent).where(and(eq(progressEvent.sprintId, s.id), eq(progressEvent.kind, "debt.opened")));
174
- const closed = await db2.select({ c: sql`count(*)` }).from(progressEvent).where(and(eq(progressEvent.sprintId, s.id), eq(progressEvent.kind, "debt.closed")));
175
- const o = opened[0]?.c ?? 0;
176
- const c = closed[0]?.c ?? 0;
177
- return {
178
- sprintId: s.id,
179
- name: s.name,
180
- status: s.status,
181
- startedAt: s.startedAt,
182
- endedAt: s.endedAt,
183
- storiesTotal: total[0]?.c ?? 0,
184
- storiesDone: done[0]?.c ?? 0,
185
- debtOpened: o,
186
- debtClosed: c,
187
- debtDelta: o - c
188
- };
189
- }
190
- async function loadEventsForSprint(db2, sprintId, limit = 100) {
191
- return db2.select().from(progressEvent).where(eq(progressEvent.sprintId, sprintId)).orderBy(desc(progressEvent.ts)).limit(limit);
192
- }
193
- async function loadDecisions(db2, projectId, limit = 50) {
194
- return db2.select().from(decision).where(eq(decision.projectId, projectId)).orderBy(desc(decision.decidedAt)).limit(limit);
195
- }
196
-
197
- export { activeSlug as a, loadAllDebt as b, computeSprintMetric as c, db as d, loadDecisions as e, loadEventsForSprint as f, loadOpenDebt as g, loadProject as h, loadRecentEvents as i, loadSprintById as j, loadSprintMetrics as k, loadActiveSprint as l, loadStoriesInSprint as m };
198
- //# sourceMappingURL=queries-DGWi-KlP.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queries-DGWi-KlP.js","sources":["../../../.svelte-kit/adapter-node/chunks/queries.js"],"sourcesContent":["import { createClient } from \"@libsql/client\";\nimport { drizzle } from \"drizzle-orm/libsql\";\nimport { join } from \"node:path\";\nimport { homedir } from \"node:os\";\nimport { eq, and, sql, isNull, desc } from \"drizzle-orm\";\nimport { sqliteTable, text, integer } from \"drizzle-orm/sqlite-core\";\nconst project = sqliteTable(\"project\", {\n id: text(\"id\").primaryKey(),\n slug: text(\"slug\").notNull().unique(),\n name: text(\"name\").notNull(),\n gitRemote: text(\"git_remote\"),\n dod: text(\"dod\"),\n sprintLengthDays: integer(\"sprint_length_days\").notNull().default(14),\n wipEnabled: integer(\"wip_enabled\", { mode: \"boolean\" }).notNull().default(false),\n estimationEnabled: integer(\"estimation_enabled\", { mode: \"boolean\" }).notNull().default(true),\n createdAt: text(\"created_at\").notNull()\n});\nconst developer = sqliteTable(\"developer\", {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\").notNull().references(() => project.id),\n handle: text(\"handle\").notNull(),\n email: text(\"email\"),\n lastSeenAt: text(\"last_seen_at\").notNull()\n});\nconst sprint = sqliteTable(\"sprint\", {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\").notNull().references(() => project.id),\n name: text(\"name\").notNull(),\n goal: text(\"goal\"),\n startedAt: text(\"started_at\").notNull(),\n endedAt: text(\"ended_at\"),\n status: text(\"status\").notNull(),\n wipLimit: integer(\"wip_limit\")\n});\nconst epic = sqliteTable(\"epic\", {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\").notNull().references(() => project.id),\n title: text(\"title\").notNull(),\n description: text(\"description\"),\n status: text(\"status\").notNull().default(\"open\"),\n priority: integer(\"priority\").notNull().default(3),\n targetSprintId: text(\"target_sprint_id\").references(() => sprint.id),\n createdAt: text(\"created_at\").notNull()\n});\nconst story = sqliteTable(\"story\", {\n id: text(\"id\").primaryKey(),\n epicId: text(\"epic_id\").references(() => epic.id),\n sprintId: text(\"sprint_id\").references(() => sprint.id),\n title: text(\"title\").notNull(),\n description: text(\"description\"),\n acceptance: text(\"acceptance\"),\n status: text(\"status\").notNull().default(\"backlog\"),\n size: text(\"size\"),\n assigneeId: text(\"assignee_id\").references(() => developer.id),\n priority: integer(\"priority\").notNull().default(3),\n startedAt: text(\"started_at\"),\n completedAt: text(\"completed_at\"),\n createdAt: text(\"created_at\").notNull()\n});\nconst task = sqliteTable(\"task\", {\n id: text(\"id\").primaryKey(),\n storyId: text(\"story_id\").notNull().references(() => story.id),\n assigneeId: text(\"assignee_id\").references(() => developer.id),\n title: text(\"title\").notNull(),\n status: text(\"status\").notNull().default(\"todo\"),\n blockedBy: text(\"blocked_by\"),\n createdAt: text(\"created_at\").notNull()\n});\nconst techDebt = sqliteTable(\"tech_debt\", {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\").notNull().references(() => project.id),\n title: text(\"title\").notNull(),\n description: text(\"description\"),\n severity: text(\"severity\").notNull().default(\"med\"),\n location: text(\"location\"),\n ownerId: text(\"owner_id\").references(() => developer.id),\n expiresAt: text(\"expires_at\"),\n openedAt: text(\"opened_at\").notNull(),\n closedAt: text(\"closed_at\"),\n linkedStoryId: text(\"linked_story_id\").references(() => story.id)\n});\nconst decision = sqliteTable(\"decision\", {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\").notNull().references(() => project.id),\n title: text(\"title\").notNull(),\n context: text(\"context\"),\n decision: text(\"decision\").notNull(),\n status: text(\"status\").notNull().default(\"accepted\"),\n decidedAt: text(\"decided_at\").notNull()\n});\nconst progressEvent = sqliteTable(\"progress_event\", {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\").notNull().references(() => project.id),\n developerId: text(\"developer_id\").references(() => developer.id),\n sprintId: text(\"sprint_id\").references(() => sprint.id),\n kind: text(\"kind\").notNull(),\n refId: text(\"ref_id\"),\n summary: text(\"summary\").notNull(),\n ts: text(\"ts\").notNull()\n});\nconst schema = {\n project,\n developer,\n sprint,\n epic,\n story,\n task,\n techDebt,\n decision,\n progressEvent\n};\nlet cached = null;\nfunction helmHome() {\n return process.env.HELM_HOME ?? join(homedir(), \".helm\");\n}\nfunction activeSlug() {\n const slug = process.env.HELM_PROJECT_SLUG;\n if (!slug) {\n throw new Error(\"HELM_PROJECT_SLUG not set — start the dashboard via `helm dashboard`.\");\n }\n return slug;\n}\nfunction db() {\n if (cached) return cached;\n const slug = activeSlug();\n const path = join(helmHome(), `${slug}.db`);\n const syncUrl = process.env.HELM_SYNC_URL;\n const syncToken = process.env.HELM_SYNC_TOKEN;\n const syncIntervalSec = Number(process.env.HELM_SYNC_INTERVAL_MS ?? \"5000\") / 1e3;\n const client = syncUrl ? createClient({ url: `file:${path}`, syncUrl, authToken: syncToken, syncInterval: syncIntervalSec }) : createClient({ url: `file:${path}` });\n cached = drizzle(client, { schema });\n return cached;\n}\nasync function loadProject(db2, slug) {\n const rows = await db2.select().from(project).where(eq(project.slug, slug)).limit(1);\n return rows[0] ?? null;\n}\nasync function loadActiveSprint(db2, projectId) {\n const rows = await db2.select().from(sprint).where(and(eq(sprint.projectId, projectId), eq(sprint.status, \"active\"))).limit(1);\n return rows[0] ?? null;\n}\nasync function loadAllSprints(db2, projectId) {\n return db2.select().from(sprint).where(eq(sprint.projectId, projectId)).orderBy(desc(sprint.startedAt));\n}\nasync function loadSprintById(db2, sprintId) {\n const rows = await db2.select().from(sprint).where(eq(sprint.id, sprintId)).limit(1);\n return rows[0] ?? null;\n}\nasync function loadStoriesInSprint(db2, sprintId) {\n return db2.select().from(story).where(eq(story.sprintId, sprintId)).orderBy(story.priority);\n}\nasync function loadOpenDebt(db2, projectId, limit = 100) {\n return db2.select().from(techDebt).where(and(eq(techDebt.projectId, projectId), isNull(techDebt.closedAt))).orderBy(sql`severity desc, opened_at desc`).limit(limit);\n}\nasync function loadAllDebt(db2, projectId, limit = 500) {\n return db2.select().from(techDebt).where(eq(techDebt.projectId, projectId)).orderBy(sql`closed_at is null desc, severity desc, opened_at desc`).limit(limit);\n}\nasync function loadRecentEvents(db2, projectId, limit = 30) {\n return db2.select().from(progressEvent).where(eq(progressEvent.projectId, projectId)).orderBy(desc(progressEvent.ts)).limit(limit);\n}\nasync function loadSprintMetrics(db2, projectId) {\n const sprints = await loadAllSprints(db2, projectId);\n const out = [];\n for (const s of sprints) {\n out.push(await computeSprintMetric(db2, s));\n }\n return out;\n}\nasync function computeSprintMetric(db2, s) {\n const total = await db2.select({ c: sql`count(*)` }).from(story).where(eq(story.sprintId, s.id));\n const done = await db2.select({ c: sql`count(*)` }).from(story).where(and(eq(story.sprintId, s.id), eq(story.status, \"done\")));\n const opened = await db2.select({ c: sql`count(*)` }).from(progressEvent).where(and(eq(progressEvent.sprintId, s.id), eq(progressEvent.kind, \"debt.opened\")));\n const closed = await db2.select({ c: sql`count(*)` }).from(progressEvent).where(and(eq(progressEvent.sprintId, s.id), eq(progressEvent.kind, \"debt.closed\")));\n const o = opened[0]?.c ?? 0;\n const c = closed[0]?.c ?? 0;\n return {\n sprintId: s.id,\n name: s.name,\n status: s.status,\n startedAt: s.startedAt,\n endedAt: s.endedAt,\n storiesTotal: total[0]?.c ?? 0,\n storiesDone: done[0]?.c ?? 0,\n debtOpened: o,\n debtClosed: c,\n debtDelta: o - c\n };\n}\nasync function loadEventsForSprint(db2, sprintId, limit = 100) {\n return db2.select().from(progressEvent).where(eq(progressEvent.sprintId, sprintId)).orderBy(desc(progressEvent.ts)).limit(limit);\n}\nasync function loadDecisions(db2, projectId, limit = 50) {\n return db2.select().from(decision).where(eq(decision.projectId, projectId)).orderBy(desc(decision.decidedAt)).limit(limit);\n}\nexport {\n activeSlug as a,\n loadAllDebt as b,\n computeSprintMetric as c,\n db as d,\n loadDecisions as e,\n loadEventsForSprint as f,\n loadOpenDebt as g,\n loadProject as h,\n loadRecentEvents as i,\n loadSprintById as j,\n loadSprintMetrics as k,\n loadActiveSprint as l,\n loadStoriesInSprint as m\n};\n"],"names":[],"mappings":"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"}