@maudecode/kanvil 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/apps/server/.env.example +2 -0
  2. package/apps/server/dist/{auth-JcS53IcO.mjs → auth-DAqfvUJm.mjs} +120 -4773
  3. package/apps/server/dist/client.mjs +884 -0
  4. package/apps/server/dist/{config-D3cAABi7.mjs → config-BFzcAs8u.mjs} +3 -132
  5. package/apps/server/dist/index.mjs +6 -4
  6. package/apps/server/dist/instance-CCeXRJ6m.mjs +133 -0
  7. package/apps/server/dist/migrate.mjs +1 -1
  8. package/apps/server/dist/recover.mjs +3 -2
  9. package/apps/server/dist/src-tQ82UI8k.mjs +4818 -0
  10. package/apps/server/drizzle/0038_time_entries.sql +19 -0
  11. package/apps/server/drizzle/meta/0038_snapshot.json +6998 -0
  12. package/apps/server/drizzle/meta/_journal.json +7 -0
  13. package/apps/web/dist/assets/{CompositeItem-BbuEp99X.js → CompositeItem-DgnfVvrF.js} +1 -1
  14. package/apps/web/dist/assets/{Trans-DJGH63s1.js → Trans-f2VYVS9z.js} +1 -1
  15. package/apps/web/dist/assets/admin-settings-DBZL4siY.js +1 -0
  16. package/apps/web/dist/assets/{archive-restore-B6_SsOIP.js → archive-restore-CGuLxoHC.js} +1 -1
  17. package/apps/web/dist/assets/az-AZ-DesqXNg5.js +1 -0
  18. package/apps/web/dist/assets/{az-DqY__MpS.js → az-BE5iqNIE.js} +1 -1
  19. package/apps/web/dist/assets/{corner-left-up-DA7MG5uX.js → corner-left-up-BCro--Gl.js} +1 -1
  20. package/apps/web/dist/assets/de-DE-BIGY9SNm.js +1 -0
  21. package/apps/web/dist/assets/{de-UHreLwyV.js → de-DLGjUGf_.js} +1 -1
  22. package/apps/web/dist/assets/{default-D5TdIZQS.js → default-BgvtI7HK.js} +1 -1
  23. package/apps/web/dist/assets/delivery-settings-CZOtb4X8.js +1 -0
  24. package/apps/web/dist/assets/{el-EJnrsyVr.js → el-CG6Xy42v.js} +1 -1
  25. package/apps/web/dist/assets/el-GR-D2TjImt0.js +1 -0
  26. package/apps/web/dist/assets/{ellipsis-D6154JKs.js → ellipsis-ZJM26JNS.js} +1 -1
  27. package/apps/web/dist/assets/{es-D2ScuV-5.js → es-Bbj5WuMM.js} +1 -1
  28. package/apps/web/dist/assets/es-ES-C_fRqLGU.js +1 -0
  29. package/apps/web/dist/assets/{forms-BcD6Wwyv.js → forms-C3pNy-qY.js} +1 -1
  30. package/apps/web/dist/assets/{fr-C_VpS8u6.js → fr-CjuIKc1o.js} +1 -1
  31. package/apps/web/dist/assets/fr-FR-_tnQsn4j.js +1 -0
  32. package/apps/web/dist/assets/{hi-CW4rdp_m.js → hi-BVVrZ-zZ.js} +1 -1
  33. package/apps/web/dist/assets/hi-IN-CcmFsZYy.js +1 -0
  34. package/apps/web/dist/assets/{highlight-CMydIf9M.js → highlight-CKyEM4jx.js} +1 -1
  35. package/apps/web/dist/assets/{id-CvL3yBVr.js → id-BhNWOQnp.js} +1 -1
  36. package/apps/web/dist/assets/id-ID-C59tC61D.js +1 -0
  37. package/apps/web/dist/assets/index-BIuqxnJn.js +17 -0
  38. package/apps/web/dist/assets/{invitations-BmpelTJu.js → invitations-D5unaga2.js} +1 -1
  39. package/apps/web/dist/assets/{it-DOLotXOj.js → it-Cav3_-xd.js} +1 -1
  40. package/apps/web/dist/assets/it-IT-BAP5O3gK.js +1 -0
  41. package/apps/web/dist/assets/{item-Cq_ZbivE.js → item-Cj8xpMLk.js} +1 -1
  42. package/apps/web/dist/assets/{ja-B1iJt9qB.js → ja-DTmZE0Qe.js} +1 -1
  43. package/apps/web/dist/assets/ja-JP-vQa7mEdh.js +1 -0
  44. package/apps/web/dist/assets/{ko-fmUq1-8W.js → ko-BuYCMOUj.js} +1 -1
  45. package/apps/web/dist/assets/ko-KR-CXlpmX0-.js +1 -0
  46. package/apps/web/dist/assets/{label-settings-B3LsJxhk.js → label-settings-B89Ehf78.js} +1 -1
  47. package/apps/web/dist/assets/{markdown-blocks-Bw26pRKB.js → markdown-blocks-DSEA68s5.js} +1 -1
  48. package/apps/web/dist/assets/{member-directory-CHKUw0u4.js → member-directory-48yD01yN.js} +1 -1
  49. package/apps/web/dist/assets/{mk-LWVrR-T-.js → mk-BZ2Rg2sU.js} +1 -1
  50. package/apps/web/dist/assets/mk-MK-BU5BLpXM.js +1 -0
  51. package/apps/web/dist/assets/{nl-ro6hbqo5.js → nl-BtnPzRih.js} +1 -1
  52. package/apps/web/dist/assets/nl-NL-2aSpdZkg.js +1 -0
  53. package/apps/web/dist/assets/{pl-Bx_fYLKY.js → pl-Beg8hEdK.js} +1 -1
  54. package/apps/web/dist/assets/pl-PL-C5Wvnv7f.js +1 -0
  55. package/apps/web/dist/assets/project-lifecycle-CIAMJ-SX.js +1 -0
  56. package/apps/web/dist/assets/project-settings-C7lolDSl.js +1 -0
  57. package/apps/web/dist/assets/{pt-BR-D-a7F5zJ.js → pt-BR-B4VZ35N_.js} +1 -1
  58. package/apps/web/dist/assets/pt-BR-CVvI-ZB7.js +1 -0
  59. package/apps/web/dist/assets/public-project-DvvfaUd2.js +1 -0
  60. package/apps/web/dist/assets/{rotate-ccw-Bm0ESNH_.js → rotate-ccw-GjVJPDML.js} +1 -1
  61. package/apps/web/dist/assets/{ru-D-WIMI5_.js → ru-DjVJVHzv.js} +1 -1
  62. package/apps/web/dist/assets/ru-RU-C7UUdGIh.js +1 -0
  63. package/apps/web/dist/assets/search-ZaQmVnj1.js +85 -0
  64. package/apps/web/dist/assets/{send-D9TETK3s.js → send-Dr9bXHhf.js} +1 -1
  65. package/apps/web/dist/assets/settings-DXvrVvyS.js +1 -0
  66. package/apps/web/dist/assets/{sliders-horizontal-CiZZFL1o.js → sliders-horizontal-C1t_zA7D.js} +1 -1
  67. package/apps/web/dist/assets/{switch-B_u8n1o6.js → switch-D-WTDajm.js} +1 -1
  68. package/apps/web/dist/assets/{table-DcCLC7fi.js → table-BaRMFP84.js} +1 -1
  69. package/apps/web/dist/assets/ticket-detail-CFJI4qoK.js +2 -0
  70. package/apps/web/dist/assets/ticket-editor-DL3nHG_q.js +2 -0
  71. package/apps/web/dist/assets/ticket-list-CDkweYGS.js +5 -0
  72. package/apps/web/dist/assets/ticket-list-controls-CmTgFQQ-.js +1 -0
  73. package/apps/web/dist/assets/{tr-BZEJyY-F.js → tr-Ckc4TA71.js} +1 -1
  74. package/apps/web/dist/assets/tr-TR-VVsL3uMp.js +1 -0
  75. package/apps/web/dist/assets/{uk-f8X5q5C_.js → uk-B4ZvJ8xG.js} +1 -1
  76. package/apps/web/dist/assets/uk-UA-DRpCbOps.js +1 -0
  77. package/apps/web/dist/assets/{upload-CGpna3R2.js → upload-BwGa8shS.js} +1 -1
  78. package/apps/web/dist/assets/{useQueries-BihXYrAP.js → useQueries-sQEHjB0a.js} +1 -1
  79. package/apps/web/dist/assets/{vi-CSGaJFlR.js → vi-Dq2krfY8.js} +1 -1
  80. package/apps/web/dist/assets/vi-VN-C0YFqq9j.js +1 -0
  81. package/apps/web/dist/assets/{visual-editor-B6HiiLMg.js → visual-editor-CBhwqTDu.js} +1 -1
  82. package/apps/web/dist/assets/workspace-settings-DgLyieJN.js +1 -0
  83. package/apps/web/dist/assets/{zh-CN-BdRcimyZ.js → zh-CN-B7Rxc3Mp.js} +1 -1
  84. package/apps/web/dist/assets/zh-CN-pcgTdR8c.js +1 -0
  85. package/apps/web/dist/assets/zh-TW-DymSXkFg.js +1 -0
  86. package/apps/web/dist/assets/{zh-TW-BH1L9tOt.js → zh-TW-awiwHjeM.js} +1 -1
  87. package/apps/web/dist/index.html +7 -7
  88. package/bin/kanvil.mjs +3 -1
  89. package/compose.yml +1 -0
  90. package/docs/api.md +28 -2
  91. package/docs/cli.md +74 -0
  92. package/docs/plan.md +6 -1
  93. package/docs/self-hosting.md +3 -1
  94. package/docs/workspaces.md +1 -1
  95. package/package.json +1 -1
  96. package/apps/web/dist/assets/admin-settings-CJG9PMKR.js +0 -1
  97. package/apps/web/dist/assets/az-AZ-BtrlbgjS.js +0 -1
  98. package/apps/web/dist/assets/de-DE-Bu_Ko2QA.js +0 -1
  99. package/apps/web/dist/assets/delivery-settings-BE5MW8U0.js +0 -1
  100. package/apps/web/dist/assets/el-GR-CpKEps47.js +0 -1
  101. package/apps/web/dist/assets/es-ES-DVkfi7H-.js +0 -1
  102. package/apps/web/dist/assets/fr-FR-DkHaEHqi.js +0 -1
  103. package/apps/web/dist/assets/hi-IN-CbUDNSTK.js +0 -1
  104. package/apps/web/dist/assets/id-ID-DLTkxt2j.js +0 -1
  105. package/apps/web/dist/assets/index-DoqlyejP.js +0 -17
  106. package/apps/web/dist/assets/it-IT-CIzq0YwC.js +0 -1
  107. package/apps/web/dist/assets/ja-JP-CIE4-D-v.js +0 -1
  108. package/apps/web/dist/assets/ko-KR-DYP5Zae6.js +0 -1
  109. package/apps/web/dist/assets/mk-MK-CpOo5Bd8.js +0 -1
  110. package/apps/web/dist/assets/nl-NL-Mu8G8RON.js +0 -1
  111. package/apps/web/dist/assets/pl-PL-DGuxe2Aq.js +0 -1
  112. package/apps/web/dist/assets/project-lifecycle-Ba7iRF3u.js +0 -1
  113. package/apps/web/dist/assets/project-settings-CtOWgEam.js +0 -1
  114. package/apps/web/dist/assets/pt-BR-DwkMPgq1.js +0 -1
  115. package/apps/web/dist/assets/public-project-CHRjhFIn.js +0 -1
  116. package/apps/web/dist/assets/ru-RU-DrXnqZbV.js +0 -1
  117. package/apps/web/dist/assets/search-D94SZwrC.js +0 -85
  118. package/apps/web/dist/assets/settings-Dd9EVxua.js +0 -1
  119. package/apps/web/dist/assets/ticket-detail-C9egaVSf.js +0 -2
  120. package/apps/web/dist/assets/ticket-editor-UlSZgpWF.js +0 -2
  121. package/apps/web/dist/assets/ticket-list-controls-BidzkMOD.js +0 -1
  122. package/apps/web/dist/assets/ticket-list-vNBO8mkk.js +0 -5
  123. package/apps/web/dist/assets/tr-TR-B92YeFW5.js +0 -1
  124. package/apps/web/dist/assets/uk-UA-DmcDs-MU.js +0 -1
  125. package/apps/web/dist/assets/vi-VN-DM5JYNuP.js +0 -1
  126. package/apps/web/dist/assets/workspace-settings-CSvVqaL6.js +0 -1
  127. package/apps/web/dist/assets/zh-CN-CiUOkQXe.js +0 -1
  128. package/apps/web/dist/assets/zh-TW-Co4UBSfi.js +0 -1
@@ -0,0 +1,19 @@
1
+ CREATE TABLE "time_entries" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "project_id" uuid NOT NULL,
4
+ "ticket_id" uuid NOT NULL,
5
+ "actor_id" text NOT NULL,
6
+ "start_at" timestamp with time zone NOT NULL,
7
+ "end_at" timestamp with time zone,
8
+ "note" text DEFAULT '' NOT NULL,
9
+ "version" integer DEFAULT 1 NOT NULL,
10
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
11
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
12
+ CONSTRAINT "time_entry_range" CHECK ("time_entries"."end_at" IS NULL OR "time_entries"."end_at" >= "time_entries"."start_at")
13
+ );
14
+ --> statement-breakpoint
15
+ ALTER TABLE "time_entries" ADD CONSTRAINT "time_entries_project_id_projects_id_fk" FOREIGN KEY ("project_id") REFERENCES "public"."projects"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
16
+ ALTER TABLE "time_entries" ADD CONSTRAINT "time_entries_ticket_id_tickets_id_fk" FOREIGN KEY ("ticket_id") REFERENCES "public"."tickets"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
17
+ ALTER TABLE "time_entries" ADD CONSTRAINT "time_entries_actor_id_user_id_fk" FOREIGN KEY ("actor_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
18
+ CREATE INDEX "time_entry_ticket" ON "time_entries" USING btree ("ticket_id","created_at","id");--> statement-breakpoint
19
+ CREATE UNIQUE INDEX "time_entry_running" ON "time_entries" USING btree ("ticket_id","actor_id") WHERE "time_entries"."end_at" IS NULL;