constellai 0.3.7 → 0.3.8

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 (440) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +6 -6
  3. package/.next/next-minimal-server.js.nft.json +1 -1
  4. package/.next/next-server.js.nft.json +1 -1
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/react-loadable-manifest.json +6 -6
  7. package/.next/server/app/(app)/activity/page.js +2 -2
  8. package/.next/server/app/(app)/activity/page.js.nft.json +1 -1
  9. package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/(app)/agents/[handle]/page.js +3 -3
  11. package/.next/server/app/(app)/agents/[handle]/page.js.nft.json +1 -1
  12. package/.next/server/app/(app)/agents/[handle]/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/(app)/code/page.js +2 -2
  14. package/.next/server/app/(app)/code/page.js.nft.json +1 -1
  15. package/.next/server/app/(app)/code/page_client-reference-manifest.js +1 -1
  16. package/.next/server/app/(app)/config/page.js +2 -2
  17. package/.next/server/app/(app)/config/page.js.nft.json +1 -1
  18. package/.next/server/app/(app)/config/page_client-reference-manifest.js +1 -1
  19. package/.next/server/app/(app)/costs/page.js +2 -2
  20. package/.next/server/app/(app)/costs/page.js.nft.json +1 -1
  21. package/.next/server/app/(app)/costs/page_client-reference-manifest.js +1 -1
  22. package/.next/server/app/(app)/cron/page.js +2 -2
  23. package/.next/server/app/(app)/cron/page.js.nft.json +1 -1
  24. package/.next/server/app/(app)/cron/page_client-reference-manifest.js +1 -1
  25. package/.next/server/app/(app)/dashboard/page.js +2 -2
  26. package/.next/server/app/(app)/dashboard/page.js.nft.json +1 -1
  27. package/.next/server/app/(app)/dashboard/page_client-reference-manifest.js +1 -1
  28. package/.next/server/app/(app)/design/page.js +14 -14
  29. package/.next/server/app/(app)/design/page.js.nft.json +1 -1
  30. package/.next/server/app/(app)/design/page_client-reference-manifest.js +1 -1
  31. package/.next/server/app/(app)/docs/[id]/page.js +2 -2
  32. package/.next/server/app/(app)/docs/[id]/page.js.nft.json +1 -1
  33. package/.next/server/app/(app)/docs/[id]/page_client-reference-manifest.js +1 -1
  34. package/.next/server/app/(app)/docs/page.js +2 -2
  35. package/.next/server/app/(app)/docs/page.js.nft.json +1 -1
  36. package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
  37. package/.next/server/app/(app)/github/page.js +2 -2
  38. package/.next/server/app/(app)/github/page.js.nft.json +1 -1
  39. package/.next/server/app/(app)/github/page_client-reference-manifest.js +1 -1
  40. package/.next/server/app/(app)/goals/page.js +2 -2
  41. package/.next/server/app/(app)/goals/page.js.nft.json +1 -1
  42. package/.next/server/app/(app)/goals/page_client-reference-manifest.js +1 -1
  43. package/.next/server/app/(app)/inbox/page.js +2 -2
  44. package/.next/server/app/(app)/inbox/page.js.nft.json +1 -1
  45. package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -1
  46. package/.next/server/app/(app)/knowledge/page.js +3 -3
  47. package/.next/server/app/(app)/knowledge/page.js.nft.json +1 -1
  48. package/.next/server/app/(app)/knowledge/page_client-reference-manifest.js +1 -1
  49. package/.next/server/app/(app)/models/page.js +2 -2
  50. package/.next/server/app/(app)/models/page.js.nft.json +1 -1
  51. package/.next/server/app/(app)/models/page_client-reference-manifest.js +1 -1
  52. package/.next/server/app/(app)/notifications/page.js +2 -2
  53. package/.next/server/app/(app)/notifications/page.js.nft.json +1 -1
  54. package/.next/server/app/(app)/notifications/page_client-reference-manifest.js +1 -1
  55. package/.next/server/app/(app)/org/page.js +4 -4
  56. package/.next/server/app/(app)/org/page.js.nft.json +1 -1
  57. package/.next/server/app/(app)/org/page_client-reference-manifest.js +1 -1
  58. package/.next/server/app/(app)/organizations/page.js +2 -2
  59. package/.next/server/app/(app)/organizations/page.js.nft.json +1 -1
  60. package/.next/server/app/(app)/organizations/page_client-reference-manifest.js +1 -1
  61. package/.next/server/app/(app)/page.js +3 -3
  62. package/.next/server/app/(app)/page.js.nft.json +1 -1
  63. package/.next/server/app/(app)/page_client-reference-manifest.js +1 -1
  64. package/.next/server/app/(app)/planner/page.js +3 -3
  65. package/.next/server/app/(app)/planner/page.js.nft.json +1 -1
  66. package/.next/server/app/(app)/planner/page_client-reference-manifest.js +1 -1
  67. package/.next/server/app/(app)/plugins/page.js +2 -2
  68. package/.next/server/app/(app)/plugins/page.js.nft.json +1 -1
  69. package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -1
  70. package/.next/server/app/(app)/pm/page.js +2 -2
  71. package/.next/server/app/(app)/pm/page.js.nft.json +1 -1
  72. package/.next/server/app/(app)/pm/page_client-reference-manifest.js +1 -1
  73. package/.next/server/app/(app)/prepare-deploy/page.js +3 -3
  74. package/.next/server/app/(app)/prepare-deploy/page.js.nft.json +1 -1
  75. package/.next/server/app/(app)/prepare-deploy/page_client-reference-manifest.js +1 -1
  76. package/.next/server/app/(app)/profile/page.js +2 -2
  77. package/.next/server/app/(app)/profile/page.js.nft.json +1 -1
  78. package/.next/server/app/(app)/profile/page_client-reference-manifest.js +1 -1
  79. package/.next/server/app/(app)/pulse/page.js +2 -2
  80. package/.next/server/app/(app)/pulse/page.js.nft.json +1 -1
  81. package/.next/server/app/(app)/pulse/page_client-reference-manifest.js +1 -1
  82. package/.next/server/app/(app)/reports/[id]/page.js +3 -3
  83. package/.next/server/app/(app)/reports/[id]/page.js.nft.json +1 -1
  84. package/.next/server/app/(app)/reports/[id]/page_client-reference-manifest.js +1 -1
  85. package/.next/server/app/(app)/reports/page.js +3 -3
  86. package/.next/server/app/(app)/reports/page.js.nft.json +1 -1
  87. package/.next/server/app/(app)/reports/page_client-reference-manifest.js +1 -1
  88. package/.next/server/app/(app)/routines/page.js +2 -2
  89. package/.next/server/app/(app)/routines/page.js.nft.json +1 -1
  90. package/.next/server/app/(app)/routines/page_client-reference-manifest.js +1 -1
  91. package/.next/server/app/(app)/search/page.js +2 -2
  92. package/.next/server/app/(app)/search/page.js.nft.json +1 -1
  93. package/.next/server/app/(app)/search/page_client-reference-manifest.js +1 -1
  94. package/.next/server/app/(app)/security/page.js +2 -2
  95. package/.next/server/app/(app)/security/page.js.nft.json +1 -1
  96. package/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -1
  97. package/.next/server/app/(app)/skills/page.js +3 -3
  98. package/.next/server/app/(app)/skills/page.js.nft.json +1 -1
  99. package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -1
  100. package/.next/server/app/(app)/tasks/page.js +2 -2
  101. package/.next/server/app/(app)/tasks/page.js.nft.json +1 -1
  102. package/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -1
  103. package/.next/server/app/(app)/test-dev/page.js +2 -2
  104. package/.next/server/app/(app)/test-dev/page.js.nft.json +1 -1
  105. package/.next/server/app/(app)/test-dev/page_client-reference-manifest.js +1 -1
  106. package/.next/server/app/(app)/update/page.js +3 -3
  107. package/.next/server/app/(app)/update/page.js.nft.json +1 -1
  108. package/.next/server/app/(app)/update/page_client-reference-manifest.js +1 -1
  109. package/.next/server/app/(auth)/login/page.js +2 -2
  110. package/.next/server/app/(auth)/login/page.js.nft.json +1 -1
  111. package/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -1
  112. package/.next/server/app/(auth)/onboarding/page.js +2 -2
  113. package/.next/server/app/(auth)/onboarding/page.js.nft.json +1 -1
  114. package/.next/server/app/(auth)/onboarding/page_client-reference-manifest.js +1 -1
  115. package/.next/server/app/_global-error/page.js +3 -3
  116. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  117. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  118. package/.next/server/app/_global-error.html +1 -1
  119. package/.next/server/app/_global-error.rsc +8 -8
  120. package/.next/server/app/_global-error.segments/_full.segment.rsc +8 -8
  121. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +2 -2
  122. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +3 -3
  123. package/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  124. package/.next/server/app/_global-error.segments/_index.segment.rsc +4 -4
  125. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  126. package/.next/server/app/_not-found/page.js +2 -2
  127. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  128. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/auth/[...all]/route.js +1 -1
  130. package/.next/server/app/api/auth/[...all]/route.js.nft.json +1 -1
  131. package/.next/server/app/api/cron/tick/route.js +5 -5
  132. package/.next/server/app/api/cron/tick/route.js.nft.json +1 -1
  133. package/.next/server/app/api/health/route.js +1 -1
  134. package/.next/server/app/api/health/route.js.nft.json +1 -1
  135. package/.next/server/app/api/locks/acquire/route.js +1 -1
  136. package/.next/server/app/api/locks/acquire/route.js.nft.json +1 -1
  137. package/.next/server/app/api/models/progress/route.js +1 -1
  138. package/.next/server/app/api/models/progress/route.js.nft.json +1 -1
  139. package/.next/server/app/api/passkey/authenticate/options/route.js +1 -1
  140. package/.next/server/app/api/passkey/authenticate/options/route.js.nft.json +1 -1
  141. package/.next/server/app/api/passkey/authenticate/verify/route.js +1 -1
  142. package/.next/server/app/api/passkey/authenticate/verify/route.js.nft.json +1 -1
  143. package/.next/server/app/api/passkey/register/options/route.js +1 -1
  144. package/.next/server/app/api/passkey/register/options/route.js.nft.json +1 -1
  145. package/.next/server/app/api/passkey/register/verify/route.js +1 -1
  146. package/.next/server/app/api/passkey/register/verify/route.js.nft.json +1 -1
  147. package/.next/server/app/api/stream/route.js +2 -2
  148. package/.next/server/app/api/stream/route.js.nft.json +1 -1
  149. package/.next/server/app/api/sync/file/route.js +2 -2
  150. package/.next/server/app/api/sync/file/route.js.nft.json +1 -1
  151. package/.next/server/app/api/telegram/poll/route.js +19 -19
  152. package/.next/server/app/api/telegram/poll/route.js.nft.json +1 -1
  153. package/.next/server/app/api/upload/route.js +1 -1
  154. package/.next/server/app/api/upload/route.js.nft.json +1 -1
  155. package/.next/server/app/api/v1/[[...path]]/route.js +1 -1
  156. package/.next/server/app/api/v1/[[...path]]/route.js.nft.json +1 -1
  157. package/.next/server/chunks/1033.js +14 -0
  158. package/.next/server/chunks/1243.js +1 -0
  159. package/.next/server/chunks/{6719.js → 1304.js} +1 -1
  160. package/.next/server/chunks/1678.js +417 -0
  161. package/.next/server/chunks/1952.js +1 -0
  162. package/.next/server/chunks/{8561.js → 1986.js} +2 -2
  163. package/.next/server/chunks/2118.js +869 -0
  164. package/.next/server/chunks/2323.js +1 -0
  165. package/.next/server/chunks/{7336.js → 2392.js} +1 -1
  166. package/.next/server/chunks/2559.js +479 -0
  167. package/.next/server/chunks/26.js +1 -0
  168. package/.next/server/chunks/{5278.js → 3140.js} +1 -1
  169. package/.next/server/chunks/{6479.js → 3172.js} +1 -1
  170. package/.next/server/chunks/3205.js +1 -0
  171. package/.next/server/chunks/3392.js +1 -0
  172. package/.next/server/chunks/{4979.js → 3987.js} +4 -4
  173. package/.next/server/chunks/404.js +1 -0
  174. package/.next/server/chunks/415.js +1 -0
  175. package/.next/server/chunks/4288.js +1 -0
  176. package/.next/server/chunks/{2599.js → 4411.js} +1 -1
  177. package/.next/server/chunks/{7912.js → 4561.js} +1 -1
  178. package/.next/server/chunks/4587.js +1 -0
  179. package/.next/server/chunks/4679.js +462 -1
  180. package/.next/server/chunks/4769.js +1 -0
  181. package/.next/server/chunks/4882.js +2 -0
  182. package/.next/server/chunks/4897.js +15 -0
  183. package/.next/server/chunks/5015.js +15 -0
  184. package/.next/server/chunks/{658.js → 5361.js} +3 -3
  185. package/.next/server/chunks/5557.js +1 -0
  186. package/.next/server/chunks/{2517.js → 5593.js} +1 -1
  187. package/.next/server/chunks/5661.js +1 -0
  188. package/.next/server/chunks/5802.js +1 -0
  189. package/.next/server/chunks/5878.js +1 -0
  190. package/.next/server/chunks/5911.js +18 -0
  191. package/.next/server/chunks/6083.js +1 -0
  192. package/.next/server/chunks/{4302.js → 6121.js} +13 -13
  193. package/.next/server/chunks/6309.js +1 -0
  194. package/.next/server/chunks/6538.js +4 -0
  195. package/.next/server/chunks/6585.js +1 -0
  196. package/.next/server/chunks/{3243.js → 6778.js} +2 -2
  197. package/.next/server/chunks/6807.js +1 -0
  198. package/.next/server/chunks/{1388.js → 6948.js} +1 -1
  199. package/.next/server/chunks/{1591.js → 699.js} +2 -2
  200. package/.next/server/chunks/7109.js +1 -0
  201. package/.next/server/chunks/714.js +1 -0
  202. package/.next/server/chunks/7474.js +1 -0
  203. package/.next/server/chunks/{7037.js → 7677.js} +1 -1
  204. package/.next/server/chunks/77.js +3 -0
  205. package/.next/server/chunks/7727.js +1 -0
  206. package/.next/server/chunks/7867.js +22 -0
  207. package/.next/server/chunks/{259.js → 7905.js} +5 -5
  208. package/.next/server/chunks/{3609.js → 7911.js} +1 -1
  209. package/.next/server/chunks/{2867.js → 8134.js} +2 -2
  210. package/.next/server/chunks/{9783.js → 8211.js} +2 -2
  211. package/.next/server/chunks/8224.js +1 -0
  212. package/.next/server/chunks/8237.js +12 -0
  213. package/.next/server/chunks/8498.js +1 -0
  214. package/.next/server/chunks/{8823.js → 907.js} +10 -10
  215. package/.next/server/chunks/{7778.js → 9099.js} +1 -1
  216. package/.next/server/chunks/912.js +1 -0
  217. package/.next/server/chunks/9180.js +1 -0
  218. package/.next/server/chunks/9344.js +910 -0
  219. package/.next/server/chunks/9374.js +1 -0
  220. package/.next/server/chunks/939.js +1 -0
  221. package/.next/server/chunks/9419.js +1 -0
  222. package/.next/server/chunks/9426.js +188 -0
  223. package/.next/server/chunks/9677.js +17 -0
  224. package/.next/server/chunks/978.js +1 -0
  225. package/.next/server/chunks/9795.js +21 -0
  226. package/.next/server/instrumentation.js +1 -1
  227. package/.next/server/instrumentation.js.nft.json +1 -1
  228. package/.next/server/middleware-build-manifest.js +1 -1
  229. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  230. package/.next/server/middleware.js +6 -6
  231. package/.next/server/middleware.js.nft.json +1 -1
  232. package/.next/server/pages/500.html +1 -1
  233. package/.next/server/server-reference-manifest.js +1 -1
  234. package/.next/server/server-reference-manifest.json +1 -1
  235. package/.next/static/chunks/171-2a8b8f61f7ab0828.js +1 -0
  236. package/.next/static/chunks/{23550918-ff694f70f4b0648c.js → 1ceccf25-731706dbe95504b9.js} +1 -1
  237. package/.next/static/chunks/3556-dbb9200143640484.js +1 -0
  238. package/.next/static/chunks/{2320-fc8b39380e69d465.js → 3703-b09be945970ea475.js} +1 -1
  239. package/.next/static/chunks/5452-d0ce3b51601a5815.js +1 -0
  240. package/.next/static/chunks/5523-9c369c915ee6d9c9.js +1 -0
  241. package/.next/static/chunks/7066-c10959874b2315bf.js +32 -0
  242. package/.next/static/chunks/717-1d1163010e3b541d.js +1 -0
  243. package/.next/static/chunks/7218-21f40f9caef5d658.js +12 -0
  244. package/.next/static/chunks/7363-b9ebe28fed23b997.js +1 -0
  245. package/.next/static/chunks/7621-87d8d0d0568de3ca.js +4 -0
  246. package/.next/static/chunks/{5920.6451a68b63918988.js → 7790.b648690cf25f29eb.js} +1 -1
  247. package/.next/static/chunks/{7509.721cd47a931c5518.js → 8251.6fedb7dc4d720bab.js} +1 -1
  248. package/.next/static/chunks/9279-467412113ad55642.js +1 -0
  249. package/.next/static/chunks/928-6dec8198101bc3e6.js +1 -0
  250. package/.next/static/chunks/9874-dc2fbf114916382b.js +1 -0
  251. package/.next/static/chunks/app/(app)/activity/page-ce3fc6003368f592.js +1 -0
  252. package/.next/static/chunks/app/(app)/agents/[handle]/page-236e13b8edadd480.js +1 -0
  253. package/.next/static/chunks/app/(app)/code/page-18ae765c81a2c709.js +1 -0
  254. package/.next/static/chunks/app/(app)/config/page-8a6fcf6c04337210.js +1 -0
  255. package/.next/static/chunks/app/(app)/costs/page-230b0ef03a2024b0.js +1 -0
  256. package/.next/static/chunks/app/(app)/cron/page-ca89769e2522191d.js +1 -0
  257. package/.next/static/chunks/app/(app)/dashboard/page-6237c3a35cce55ce.js +1 -0
  258. package/.next/static/chunks/app/(app)/design/{page-11b9cc40f32fe34f.js → page-5997054187e59e74.js} +3 -3
  259. package/.next/static/chunks/app/(app)/docs/[id]/page-3362d323e0f4dada.js +1 -0
  260. package/.next/static/chunks/app/(app)/docs/page-d7d8018a7884a4b4.js +1 -0
  261. package/.next/static/chunks/app/(app)/error-f9a3caa63e064a7e.js +1 -0
  262. package/.next/static/chunks/app/(app)/github/page-f5c1cae725d080fb.js +1 -0
  263. package/.next/static/chunks/app/(app)/goals/page-95e85ce115ed9ff3.js +1 -0
  264. package/.next/static/chunks/app/(app)/inbox/page-474c3f0a181bbbd3.js +12 -0
  265. package/.next/static/chunks/app/(app)/knowledge/page-08596428ca34b620.js +1 -0
  266. package/.next/static/chunks/app/(app)/layout-720a1171f7152d86.js +1 -0
  267. package/.next/static/chunks/app/(app)/models/page-fa1eb257e6911c9a.js +1 -0
  268. package/.next/static/chunks/app/(app)/notifications/page-31f2a041bdb497b9.js +12 -0
  269. package/.next/static/chunks/app/(app)/org/page-666438930ddc4639.js +12 -0
  270. package/.next/static/chunks/app/(app)/organizations/page-0de7da829c9b2249.js +1 -0
  271. package/.next/static/chunks/app/(app)/page-bfcf3d25f468240f.js +1 -0
  272. package/.next/static/chunks/app/(app)/planner/page-0fc0ebe2d338769a.js +1 -0
  273. package/.next/static/chunks/app/(app)/plugins/page-ad369fbfec6f3d1c.js +1 -0
  274. package/.next/static/chunks/app/(app)/pm/page-bb39c9d9a4f0d597.js +1 -0
  275. package/.next/static/chunks/app/(app)/prepare-deploy/page-f182991e68b159c1.js +1 -0
  276. package/.next/static/chunks/app/(app)/profile/page-cf5fe16bfad2a7ba.js +1 -0
  277. package/.next/static/chunks/app/(app)/pulse/page-03877c467c491e8a.js +1 -0
  278. package/.next/static/chunks/app/(app)/reports/[id]/page-ca89769e2522191d.js +1 -0
  279. package/.next/static/chunks/app/(app)/reports/page-7741b6a25e582791.js +1 -0
  280. package/.next/static/chunks/app/(app)/routines/page-ea83e6337e7502c2.js +1 -0
  281. package/.next/static/chunks/app/(app)/search/page-5e7f7cf0cc51b76f.js +1 -0
  282. package/.next/static/chunks/app/(app)/security/page-410144cdc35e19cc.js +1 -0
  283. package/.next/static/chunks/app/(app)/skills/page-90e5d8a24920c275.js +1 -0
  284. package/.next/static/chunks/app/(app)/tasks/page-4d535f34ae9c44ca.js +1 -0
  285. package/.next/static/chunks/app/(app)/test-dev/page-782c8cadd8a10feb.js +1 -0
  286. package/.next/static/chunks/app/(app)/update/page-decdb0ece526b50f.js +1 -0
  287. package/.next/static/chunks/app/(auth)/login/page-147a9be880c44d42.js +1 -0
  288. package/.next/static/chunks/app/(auth)/onboarding/page-8548be7e3ab3659e.js +1 -0
  289. package/.next/static/chunks/app/_global-error/{page-eacef2b697bd0982.js → page-ffc45e65538b6024.js} +1 -1
  290. package/.next/static/chunks/app/_not-found/page-405e53afca481eab.js +1 -0
  291. package/.next/static/chunks/app/api/auth/[...all]/{route-eacef2b697bd0982.js → route-ffc45e65538b6024.js} +1 -1
  292. package/.next/static/chunks/app/api/cron/tick/{route-eacef2b697bd0982.js → route-ffc45e65538b6024.js} +1 -1
  293. package/.next/static/chunks/app/api/health/{route-eacef2b697bd0982.js → route-ffc45e65538b6024.js} +1 -1
  294. package/.next/static/chunks/app/api/locks/acquire/route-ffc45e65538b6024.js +1 -0
  295. package/.next/static/chunks/app/api/models/progress/route-ffc45e65538b6024.js +1 -0
  296. package/.next/static/chunks/app/api/passkey/authenticate/options/route-ffc45e65538b6024.js +1 -0
  297. package/.next/static/chunks/app/api/passkey/authenticate/verify/route-ffc45e65538b6024.js +1 -0
  298. package/.next/static/chunks/app/api/passkey/register/options/route-ffc45e65538b6024.js +1 -0
  299. package/.next/static/chunks/app/api/passkey/register/verify/route-ffc45e65538b6024.js +1 -0
  300. package/.next/static/chunks/app/api/stream/route-ffc45e65538b6024.js +1 -0
  301. package/.next/static/chunks/app/api/sync/file/route-ffc45e65538b6024.js +1 -0
  302. package/.next/static/chunks/app/api/telegram/poll/route-ffc45e65538b6024.js +1 -0
  303. package/.next/static/chunks/app/api/upload/route-ffc45e65538b6024.js +1 -0
  304. package/.next/static/chunks/app/api/v1/[[...path]]/route-ffc45e65538b6024.js +1 -0
  305. package/.next/static/chunks/app/error-e128df085a794b38.js +1 -0
  306. package/.next/static/chunks/app/global-error-339c61c4184d384a.js +1 -0
  307. package/.next/static/chunks/app/layout-c717657a60a7f62c.js +1 -0
  308. package/.next/static/chunks/main-143b6dbf9c5dc129.js +5 -0
  309. package/.next/static/chunks/main-app-8ce4eaae11d4f233.js +1 -0
  310. package/.next/static/chunks/next/dist/client/components/builtin/app-error-ffc45e65538b6024.js +1 -0
  311. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-ffc45e65538b6024.js +1 -0
  312. package/.next/static/chunks/next/dist/client/components/builtin/not-found-ffc45e65538b6024.js +1 -0
  313. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-ffc45e65538b6024.js +1 -0
  314. package/.next/static/chunks/webpack-0e63b9ea83aeb0a2.js +1 -0
  315. package/.next/trace-build +1 -1
  316. package/CHANGELOG.md +19 -0
  317. package/README.md +1 -1
  318. package/README.pt-BR.md +1 -1
  319. package/docs/UPDATE.md +10 -3
  320. package/package.json +9 -9
  321. package/.next/server/chunks/1249.js +0 -910
  322. package/.next/server/chunks/1572.js +0 -1
  323. package/.next/server/chunks/1619.js +0 -188
  324. package/.next/server/chunks/162.js +0 -1
  325. package/.next/server/chunks/1845.js +0 -462
  326. package/.next/server/chunks/2341.js +0 -1
  327. package/.next/server/chunks/260.js +0 -1
  328. package/.next/server/chunks/288.js +0 -1
  329. package/.next/server/chunks/2960.js +0 -14
  330. package/.next/server/chunks/3050.js +0 -18
  331. package/.next/server/chunks/3056.js +0 -1
  332. package/.next/server/chunks/3131.js +0 -1
  333. package/.next/server/chunks/3234.js +0 -869
  334. package/.next/server/chunks/3266.js +0 -15
  335. package/.next/server/chunks/3550.js +0 -1
  336. package/.next/server/chunks/4574.js +0 -1
  337. package/.next/server/chunks/4616.js +0 -479
  338. package/.next/server/chunks/4619.js +0 -1
  339. package/.next/server/chunks/4804.js +0 -1
  340. package/.next/server/chunks/4832.js +0 -2
  341. package/.next/server/chunks/5060.js +0 -1
  342. package/.next/server/chunks/5614.js +0 -1
  343. package/.next/server/chunks/6431.js +0 -1
  344. package/.next/server/chunks/6658.js +0 -1
  345. package/.next/server/chunks/6706.js +0 -1
  346. package/.next/server/chunks/6753.js +0 -1
  347. package/.next/server/chunks/683.js +0 -1
  348. package/.next/server/chunks/6873.js +0 -1
  349. package/.next/server/chunks/7236.js +0 -4
  350. package/.next/server/chunks/73.js +0 -17
  351. package/.next/server/chunks/7514.js +0 -1
  352. package/.next/server/chunks/7589.js +0 -22
  353. package/.next/server/chunks/7621.js +0 -12
  354. package/.next/server/chunks/7622.js +0 -1
  355. package/.next/server/chunks/7949.js +0 -1
  356. package/.next/server/chunks/7971.js +0 -1
  357. package/.next/server/chunks/7989.js +0 -1
  358. package/.next/server/chunks/7993.js +0 -21
  359. package/.next/server/chunks/8497.js +0 -1
  360. package/.next/server/chunks/850.js +0 -1
  361. package/.next/server/chunks/8623.js +0 -1
  362. package/.next/server/chunks/8762.js +0 -15
  363. package/.next/server/chunks/8846.js +0 -1
  364. package/.next/server/chunks/9160.js +0 -417
  365. package/.next/server/chunks/9676.js +0 -1
  366. package/.next/server/chunks/9680.js +0 -1
  367. package/.next/server/chunks/9969.js +0 -3
  368. package/.next/static/chunks/215-18ea748d2ff2caff.js +0 -1
  369. package/.next/static/chunks/27-b49ec46cfcce75b7.js +0 -1
  370. package/.next/static/chunks/2989-2dd9a66d007a96e8.js +0 -4
  371. package/.next/static/chunks/3219-92e75397858f3f1f.js +0 -1
  372. package/.next/static/chunks/4263-adecb5b466380b6e.js +0 -1
  373. package/.next/static/chunks/4643-d0ab4088e129651f.js +0 -1
  374. package/.next/static/chunks/6834-4759af1ce7d95fb6.js +0 -32
  375. package/.next/static/chunks/7555-d2209e697b0a798e.js +0 -1
  376. package/.next/static/chunks/8370-e88907d9c72435e7.js +0 -12
  377. package/.next/static/chunks/9219-4a39a98b5502d9d1.js +0 -1
  378. package/.next/static/chunks/9562-4b50b4e408bc0a42.js +0 -1
  379. package/.next/static/chunks/9690-53d5222618cbeddb.js +0 -1
  380. package/.next/static/chunks/app/(app)/activity/page-93d4012627ea70d5.js +0 -1
  381. package/.next/static/chunks/app/(app)/agents/[handle]/page-bfe740784bdf239c.js +0 -1
  382. package/.next/static/chunks/app/(app)/code/page-5e24874f11857823.js +0 -1
  383. package/.next/static/chunks/app/(app)/config/page-12c5487a8d55c2c2.js +0 -1
  384. package/.next/static/chunks/app/(app)/costs/page-6edcec363617f5ef.js +0 -1
  385. package/.next/static/chunks/app/(app)/cron/page-f9167770757921f7.js +0 -1
  386. package/.next/static/chunks/app/(app)/dashboard/page-103f172e762911d1.js +0 -1
  387. package/.next/static/chunks/app/(app)/docs/[id]/page-eaae80c3d47e1ba7.js +0 -1
  388. package/.next/static/chunks/app/(app)/docs/page-87457e514ea7de32.js +0 -1
  389. package/.next/static/chunks/app/(app)/error-988cd28480809861.js +0 -1
  390. package/.next/static/chunks/app/(app)/github/page-ff62b7618c594632.js +0 -1
  391. package/.next/static/chunks/app/(app)/goals/page-d4d854c091020a92.js +0 -1
  392. package/.next/static/chunks/app/(app)/inbox/page-1bcfc50e9df5ed6f.js +0 -12
  393. package/.next/static/chunks/app/(app)/knowledge/page-0a55ce74e274817c.js +0 -1
  394. package/.next/static/chunks/app/(app)/layout-825ba765e8034dfb.js +0 -1
  395. package/.next/static/chunks/app/(app)/models/page-cd077c548916b8cb.js +0 -1
  396. package/.next/static/chunks/app/(app)/notifications/page-c5c7945f6f6f18d6.js +0 -12
  397. package/.next/static/chunks/app/(app)/org/page-a83804854bd0d44a.js +0 -12
  398. package/.next/static/chunks/app/(app)/organizations/page-b38db8e364e3a108.js +0 -1
  399. package/.next/static/chunks/app/(app)/page-733340fec4cd0173.js +0 -1
  400. package/.next/static/chunks/app/(app)/planner/page-06b2841d0438d92d.js +0 -1
  401. package/.next/static/chunks/app/(app)/plugins/page-535ed062643077fc.js +0 -1
  402. package/.next/static/chunks/app/(app)/pm/page-dc0296761e1af17c.js +0 -1
  403. package/.next/static/chunks/app/(app)/prepare-deploy/page-6f0c5081caf1d013.js +0 -1
  404. package/.next/static/chunks/app/(app)/profile/page-cef1aa72ffc02e9c.js +0 -1
  405. package/.next/static/chunks/app/(app)/pulse/page-d4bdec1709913581.js +0 -1
  406. package/.next/static/chunks/app/(app)/reports/[id]/page-f9167770757921f7.js +0 -1
  407. package/.next/static/chunks/app/(app)/reports/page-5c37a53bbd4fd1c3.js +0 -1
  408. package/.next/static/chunks/app/(app)/routines/page-e274160cfbb3c594.js +0 -1
  409. package/.next/static/chunks/app/(app)/search/page-f0e082b9b0402981.js +0 -1
  410. package/.next/static/chunks/app/(app)/security/page-a12f04656bde8aad.js +0 -1
  411. package/.next/static/chunks/app/(app)/skills/page-583f9780fa981aa8.js +0 -1
  412. package/.next/static/chunks/app/(app)/tasks/page-7bb09650b84e0755.js +0 -1
  413. package/.next/static/chunks/app/(app)/test-dev/page-ce66efbb83b2ed21.js +0 -1
  414. package/.next/static/chunks/app/(app)/update/page-6a8082f1c1b3b762.js +0 -1
  415. package/.next/static/chunks/app/(auth)/login/page-b512c906a1566d8c.js +0 -1
  416. package/.next/static/chunks/app/(auth)/onboarding/page-8f6bf1259bb5aab5.js +0 -1
  417. package/.next/static/chunks/app/_not-found/page-dc38b02aebeab535.js +0 -1
  418. package/.next/static/chunks/app/api/locks/acquire/route-eacef2b697bd0982.js +0 -1
  419. package/.next/static/chunks/app/api/models/progress/route-eacef2b697bd0982.js +0 -1
  420. package/.next/static/chunks/app/api/passkey/authenticate/options/route-eacef2b697bd0982.js +0 -1
  421. package/.next/static/chunks/app/api/passkey/authenticate/verify/route-eacef2b697bd0982.js +0 -1
  422. package/.next/static/chunks/app/api/passkey/register/options/route-eacef2b697bd0982.js +0 -1
  423. package/.next/static/chunks/app/api/passkey/register/verify/route-eacef2b697bd0982.js +0 -1
  424. package/.next/static/chunks/app/api/stream/route-eacef2b697bd0982.js +0 -1
  425. package/.next/static/chunks/app/api/sync/file/route-eacef2b697bd0982.js +0 -1
  426. package/.next/static/chunks/app/api/telegram/poll/route-eacef2b697bd0982.js +0 -1
  427. package/.next/static/chunks/app/api/upload/route-eacef2b697bd0982.js +0 -1
  428. package/.next/static/chunks/app/api/v1/[[...path]]/route-eacef2b697bd0982.js +0 -1
  429. package/.next/static/chunks/app/error-09899a13c38b6e89.js +0 -1
  430. package/.next/static/chunks/app/global-error-c2ea8fef715f226d.js +0 -1
  431. package/.next/static/chunks/app/layout-e6008e66aea1a849.js +0 -1
  432. package/.next/static/chunks/main-722e16032e7764d1.js +0 -5
  433. package/.next/static/chunks/main-app-761880af2b6f1962.js +0 -1
  434. package/.next/static/chunks/next/dist/client/components/builtin/app-error-eacef2b697bd0982.js +0 -1
  435. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-eacef2b697bd0982.js +0 -1
  436. package/.next/static/chunks/next/dist/client/components/builtin/not-found-eacef2b697bd0982.js +0 -1
  437. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-eacef2b697bd0982.js +0 -1
  438. package/.next/static/chunks/webpack-222e3894b78c67db.js +0 -1
  439. /package/.next/static/{Mx3bcAGWI83SQ6PqC4kYX → ehoxBsPzAtE_FyZ2VpMF0}/_buildManifest.js +0 -0
  440. /package/.next/static/{Mx3bcAGWI83SQ6PqC4kYX → ehoxBsPzAtE_FyZ2VpMF0}/_ssgManifest.js +0 -0
@@ -1,10 +1,4 @@
1
- "use strict";exports.id=8823,exports.ids=[8823],exports.modules={18661:(a,b,c)=>{c.d(b,{NF:()=>t,PT:()=>u});var d=c(73024),e=c(76760),f=c(54679),g=c.n(f),h=c(1782),i=c(80280),j=c(25533),k=c(18612),l=c(3188),m=c(6404),n=c(99546),o=c(54033),p=c(90860);async function q(a,b){let[c]=await i.db.select().from(j.goal).where((0,h.Uo)((0,h.eq)(j.goal.id,b),(0,h.eq)(j.goal.workspaceId,a)));return c}async function r(a,b){for(let c of(await i.db.select().from(j.task).where((0,h.Uo)((0,h.eq)(j.task.workspaceId,a),(0,h.eq)(j.task.goalId,b)))))(0,l.KD)(c.id),("todo"===c.col||"doing"===c.col)&&(await i.db.update(j.task).set({col:"blocked"}).where((0,h.eq)(j.task.id,c.id)),c.issueId&&await i.db.update(j.issue).set({col:"blocked"}).where((0,h.eq)(j.issue.id,c.issueId))),c.assigneeId&&await i.db.update(j.agent).set({status:"idle"}).where((0,h.eq)(j.agent.id,c.assigneeId))}async function s(a,b,c){await i.db.update(j.spec).set({status:c}).where((0,h.Uo)((0,h.eq)(j.spec.workspaceId,a),(0,h.eq)(j.spec.goalId,b))),await i.db.update(j.issue).set({status:c}).where((0,h.Uo)((0,h.eq)(j.issue.workspaceId,a),(0,h.eq)(j.issue.goalId,b)))}async function t(a,b){let c=await q(a,b);return c?(await i.db.update(j.goal).set({status:"cancelled",cancelledAt:new Date}).where((0,h.eq)(j.goal.id,b)),await s(a,b,"cancelled"),await (0,o.TC)(a,b),await r(a,b),await (0,n.j)(a,{text:`Cancelled goal: ${c.title}`,by:"operator",source:"operator-instruction",goalId:b}),await (0,p.I)(a,{kind:"info",text:`Goal cancelled — ${c.title}`,detail:"Execution stopped; state preserved. Reopen to resume."}),{ok:!0,title:c.title}):{ok:!1}}async function u(a,b,c){let f=await q(b,c);if(!f)return{ok:!1};let l=(0,k.HZ)(a),[t,u,v,w,x]=await Promise.all([i.db.select().from(j.spec).where((0,h.Uo)((0,h.eq)(j.spec.workspaceId,b),(0,h.eq)(j.spec.goalId,c))),i.db.select().from(j.issue).where((0,h.Uo)((0,h.eq)(j.issue.workspaceId,b),(0,h.eq)(j.issue.goalId,c))),i.db.select().from(j.task).where((0,h.Uo)((0,h.eq)(j.task.workspaceId,b),(0,h.eq)(j.task.goalId,c))),i.db.select().from(j.decision).where((0,h.Uo)((0,h.eq)(j.decision.workspaceId,b),(0,h.eq)(j.decision.goalId,c))),i.db.select().from(j.report).where((0,h.Uo)((0,h.eq)(j.report.workspaceId,b),(0,h.eq)(j.report.goalId,c)))]),y=v.map(a=>a.id),z=y.length?await i.db.select().from(j.taskStep).where((0,h.RV)(j.taskStep.taskId,y)):[],A=await (0,m.Y)(b,c),B=new(g()),C=0;for(let a of A){let b=(0,e.join)(l,a);if((0,d.existsSync)(b))try{B.addFile("files/"+a,(0,d.readFileSync)(b)),C++}catch{}}let D={goal:f,specs:t,issues:u,tasks:v,taskSteps:z,decisions:w,reports:x,fileCount:C,archivedAt:new Date().toISOString()},E=[`# Archived work — ${f.title}`,"",`Status at archive: ${f.status} \xb7 progress ${f.progress}%`,"",`## Specs (${t.length})`,...t.map(a=>`- ${a.key} ${a.title}`),"",`## Issues (${u.length})`,...u.map(a=>`- ${a.key} [${a.col}] ${a.title}`),"",`## Decisions (${w.length})`,...w.map(a=>`- ${a.text} (${a.by})`),"",`## Source files (${C})`,...A.map(a=>`- ${a}`),""].join("\n");B.addFile("MANIFEST.json",Buffer.from(JSON.stringify(D,null,2))),B.addFile("MANIFEST.md",Buffer.from(E));let F=(0,e.join)(l,"archives");(0,d.mkdirSync)(F,{recursive:!0});let G=`archives/${(f.title||"work").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,40)||"work"}-${new Date().toISOString().slice(0,10)}-${c.slice(0,6)}.zip`;try{B.writeZip((0,e.join)(l,G))}catch(a){return console.error("[archiveGoalFor] zip failed:",a),{ok:!1}}return await i.db.update(j.goal).set({status:"archived",archivePath:G,archivedAt:new Date}).where((0,h.eq)(j.goal.id,c)),await s(b,c,"archived"),await (0,o.TC)(b,c),await r(b,c),await (0,n.j)(b,{text:`Archived goal: ${f.title} → ${G}`,by:"operator",source:"operator-instruction",goalId:c}),await (0,p.I)(b,{kind:"info",text:`Goal archived ${f.title}`,detail:`${C} files + manifest zipped to ${G}.`}),{ok:!0,path:G,title:f.title}}},55479:(a,b,c)=>{c.d(b,{PO:()=>p,TR:()=>o,mL:()=>n,mt:()=>q,wz:()=>m,yk:()=>r});var d=c(77598),e=c(1782),f=c(80280),g=c(25533),h=c(90860),i=c(99546),j=c(54033),k=c(863),l=c(26288);async function m(a,b){await f.db.update(g.plan).set({approved:!0,stage:6}).where((0,e.eq)(g.plan.workspaceId,b.id)),await f.db.update(g.issue).set({approved:!0}).where((0,e.eq)(g.issue.workspaceId,b.id)),await f.db.update(g.spec).set({approved:!0}).where((0,e.Uo)((0,e.eq)(g.spec.workspaceId,b.id),(0,e.eq)(g.spec.status,"active")));let m=await (0,l.s$)(a,b.id),n=await f.db.select().from(g.issue).where((0,e.eq)(g.issue.workspaceId,b.id));for(let a of(await f.db.delete(g.backlogItem).where((0,e.eq)(g.backlogItem.workspaceId,b.id)),n))await f.db.insert(g.backlogItem).values({id:(0,d.randomUUID)(),workspaceId:b.id,title:a.title,moscow:a.moscow??"Should",points:a.points});let o=`# Product backlog — ${b.name}
2
-
3
- _Groomed from the approved plan._
4
-
5
- ${n.map(a=>`- [ ] (${a.prio}) ${a.key} — ${a.title}`).join("\n")}
6
- `;try{await (0,k.g)(a,"PO/backlog.md",o)}catch(a){console.error("[approvePlanFor] backlog write failed:",a)}let[p]=await f.db.select().from(g.agent).where((0,e.Uo)((0,e.eq)(g.agent.workspaceId,b.id),(0,e.eq)(g.agent.handle,"ada"))),q=p??(await f.db.select().from(g.agent).where((0,e.eq)(g.agent.workspaceId,b.id)))[0];return q&&await f.db.insert(g.message).values({id:(0,d.randomUUID)(),workspaceId:b.id,channel:"room",fromKind:"agent",fromHandle:q.handle,text:`Plan approved — starting execution. ${m} task${1===m?"":"s"} queued; the team will work the board top to bottom. Turn on Run 24/7 to begin.`,createdAt:new Date}),await (0,h.I)(b.id,{kind:"done",text:"Plan approved — agents may start coding",detail:`${m} task${1===m?"":"s"} created from the plan.`}),await (0,i.j)(b.id,{text:`Plan approved — ${n.length} issues, ${m} tasks queued for execution`,by:"operator",source:"plan-approve"}),await (0,j.W_)(b.id,"plan",b.id),await (0,j.vG)(b.id,["spec","issue"]),Promise.resolve().then(c.bind(c,56053)).then(c=>c.groomBacklogFor(a,b)).catch(a=>console.error("[approvePlanFor] auto-groom failed:",a)),{made:m,issues:n.length}}async function n(a,b){await f.db.update(g.plan).set({auto247:b}).where((0,e.eq)(g.plan.workspaceId,a))}async function o(a,b){await f.db.update(g.plan).set({approved:!1,auto247:!1,stage:1}).where((0,e.eq)(g.plan.workspaceId,a)),await (0,j.W_)(a,"plan",a),await f.db.insert(g.notification).values({id:(0,d.randomUUID)(),workspaceId:a,kind:"info",text:"Plan sent back to Ada for revision",detail:b?.trim()?`Operator requested changes: ${b.trim().slice(0,280)}`:"The operator requested changes before any code is written."})}async function p(a){let[b,c,d,[h]]=await Promise.all([f.db.select({status:g.goal.status}).from(g.goal).where((0,e.eq)(g.goal.workspaceId,a.id)),f.db.select({col:g.issue.col}).from(g.issue).where((0,e.eq)(g.issue.workspaceId,a.id)),f.db.select({id:g.task.id}).from(g.task).where((0,e.Uo)((0,e.eq)(g.task.workspaceId,a.id),(0,e.eq)(g.task.col,"doing"))),f.db.select().from(g.plan).where((0,e.eq)(g.plan.workspaceId,a.id))]),i=b.filter(a=>"active"===a.status).length,j=c.filter(a=>"done"!==a.col).length,k=h?h.approved?"approved":"draft":"none";return`📊 ${a.name} — ${i} active goal(s) \xb7 ${j} open issue(s) \xb7 ${d.length} task(s) in flight \xb7 24/7 ${h?.auto247?"ON":"off"} \xb7 plan ${k}.`}async function q(a){let[b,c,d,h,[i]]=await Promise.all([f.db.select({title:g.goal.title,status:g.goal.status}).from(g.goal).where((0,e.eq)(g.goal.workspaceId,a.id)),f.db.select({status:g.spec.status}).from(g.spec).where((0,e.eq)(g.spec.workspaceId,a.id)),f.db.select({key:g.issue.key,title:g.issue.title,col:g.issue.col,prio:g.issue.prio}).from(g.issue).where((0,e.eq)(g.issue.workspaceId,a.id)),f.db.select({col:g.task.col}).from(g.task).where((0,e.eq)(g.task.workspaceId,a.id)),f.db.select().from(g.plan).where((0,e.eq)(g.plan.workspaceId,a.id))]),j=b.filter(a=>"active"===a.status),k=a=>d.filter(b=>b.col===a).length,l=h.filter(a=>"doing"===a.col).length,m=i?i.approved?"✅ approved":`📝 draft (stage ${i.stage})`:"none",n={high:3,med:2,low:1},o=d.filter(a=>"done"!==a.col).sort((a,b)=>n[b.prio]-n[a.prio]||a.key.localeCompare(b.key)).slice(0,5),p=[`📊 ${a.name} — review`,`Plan: ${m} \xb7 24/7 ${i?.auto247?"ON":"off"}`,`Goals: ${j.length} active / ${b.length} total`,`Specs: ${c.filter(a=>"active"===a.status).length} active`,`Issues: todo ${k("todo")} \xb7 doing ${k("doing")} \xb7 review ${k("review")} \xb7 blocked ${k("blocked")} \xb7 done ${k("done")} (of ${d.length})`,`Tasks in flight: ${l}`];return j[0]&&p.push(`Active goal: “${j[0].title}”`),o.length&&p.push(`Next up:
7
- ${o.map(a=>` • (${a.prio}) ${a.key} — ${a.title}`).join("\n")}`),p.join("\n").slice(0,3500)}async function r(a){let b=await f.db.select({key:g.task.key,title:g.task.title,col:g.task.col,prio:g.task.prio}).from(g.task).where((0,e.eq)(g.task.workspaceId,a.id)),c=b.filter(a=>"doing"===a.col),d=b.filter(a=>"todo"===a.col||"triage"===a.col),h=b.filter(a=>"review"===a.col),i=a=>` • ${a.key} — ${a.title}`,j=[`🗂️ ${a.name} — tasks`];return j.push(`Doing (${c.length}):${c.length?"\n"+c.slice(0,10).map(i).join("\n"):" —"}`),j.push(`In review (${h.length}):${h.length?"\n"+h.slice(0,8).map(i).join("\n"):" —"}`),j.push(`Queued (${d.length}):${d.length?"\n"+d.slice(0,10).map(i).join("\n"):" —"}`),j.join("\n").slice(0,3500)}},56053:(a,b,c)=>{c.r(b),c.d(b,{advanceIssue:()=>C,approveIssue:()=>z,approvePlan:()=>t,approveSpec:()=>x,generatePlan:()=>D,groomBacklog:()=>v,groomBacklogFor:()=>u,planFromConversation:()=>F,rejectIssue:()=>A,rejectSpec:()=>y,requestPlanChanges:()=>w,setAuto247:()=>B,startNewWork:()=>E});var d=c(52813),e=c(77598),f=c(1782),g=c(7852),h=c(83550),i=c(80280),j=c(25533),k=c(95896),l=c(3188),m=c(90860),n=c(99546),o=c(54033),p=c(18612),q=c(55479),r=c(96930),s=c(12867);async function t(){let{org:a,workspace:b}=await (0,k.nP)();await (0,q.wz)(a.id,b),(0,h.revalidatePath)("/planner"),(0,h.revalidatePath)("/pm"),(0,h.revalidatePath)("/tasks"),(0,h.revalidatePath)("/inbox"),(0,h.revalidatePath)("/","layout")}async function u(a,b){let c,d=await i.db.select().from(j.agent).where((0,f.eq)(j.agent.workspaceId,b.id)),h=d.find(a=>"donald"===a.handle)??d.find(a=>/product owner|\bpo\b|product manager/i.test(a.role));if(!h)return{ok:!1,error:"No Product Owner agent in this workspace."};let k=(await i.db.select().from(j.issue).where((0,f.Uo)((0,f.eq)(j.issue.workspaceId,b.id),(0,f.eq)(j.issue.status,"active")))).filter(a=>"done"!==a.col);if(!k.length)return{ok:!1,error:"No active issues to groom."};let m=(0,l.hW)(h.adapter,h.model),p="claude"===m?h.model.includes("opus")?"opus":h.model.includes("haiku")?"haiku":"sonnet":void 0,q=Object.fromEntries((await i.db.select({id:j.spec.id,summary:j.spec.summary}).from(j.spec).where((0,f.eq)(j.spec.workspaceId,b.id))).map(a=>[a.id,a.summary])),r=k.map(a=>`- ${a.key}: ${a.title}${a.specId&&q[a.specId]?` — spec: ${String(q[a.specId]).slice(0,120)}`:""} (current priority: ${a.prio})`).join("\n"),t=await (0,s.yY)(a,`product objectives, existing features and code, prior decisions, duplicate or overlapping requirements for: ${k.map(a=>a.title).slice(0,12).join("; ")}`,{agentHandle:h.handle,k:8}),u=t.context?`
1
+ "use strict";exports.id=907,exports.ids=[907],exports.modules={12529:(a,b,c)=>{c.r(b),c.d(b,{advanceIssue:()=>C,approveIssue:()=>z,approvePlan:()=>t,approveSpec:()=>x,generatePlan:()=>D,groomBacklog:()=>v,groomBacklogFor:()=>u,planFromConversation:()=>F,rejectIssue:()=>A,rejectSpec:()=>y,requestPlanChanges:()=>w,setAuto247:()=>B,startNewWork:()=>E});var d=c(36548),e=c(77598),f=c(50730),g=c(23888),h=c(5557),i=c(12940),j=c(76561),k=c(2148),l=c(55104),m=c(44440),n=c(21046),o=c(76381),p=c(66408),q=c(87355),r=c(15563),s=c(28134);async function t(){let{org:a,workspace:b}=await (0,k.nP)();await (0,q.wz)(a.id,b),(0,h.revalidatePath)("/planner"),(0,h.revalidatePath)("/pm"),(0,h.revalidatePath)("/tasks"),(0,h.revalidatePath)("/inbox"),(0,h.revalidatePath)("/","layout")}async function u(a,b){let c,d=await i.db.select().from(j.agent).where((0,f.eq)(j.agent.workspaceId,b.id)),h=d.find(a=>"donald"===a.handle)??d.find(a=>/product owner|\bpo\b|product manager/i.test(a.role));if(!h)return{ok:!1,error:"No Product Owner agent in this workspace."};let k=(await i.db.select().from(j.issue).where((0,f.Uo)((0,f.eq)(j.issue.workspaceId,b.id),(0,f.eq)(j.issue.status,"active")))).filter(a=>"done"!==a.col);if(!k.length)return{ok:!1,error:"No active issues to groom."};let m=(0,l.hW)(h.adapter,h.model),p="claude"===m?h.model.includes("opus")?"opus":h.model.includes("haiku")?"haiku":"sonnet":void 0,q=Object.fromEntries((await i.db.select({id:j.spec.id,summary:j.spec.summary}).from(j.spec).where((0,f.eq)(j.spec.workspaceId,b.id))).map(a=>[a.id,a.summary])),r=k.map(a=>`- ${a.key}: ${a.title}${a.specId&&q[a.specId]?` spec: ${String(q[a.specId]).slice(0,120)}`:""} (current priority: ${a.prio})`).join("\n"),t=await (0,s.yY)(a,`product objectives, existing features and code, prior decisions, duplicate or overlapping requirements for: ${k.map(a=>a.title).slice(0,12).join("; ")}`,{agentHandle:h.handle,k:8}),u=t.context?`
8
2
  Project knowledge (objectives, existing work, prior decisions — use it to avoid duplicates and spot gaps; do not contradict):
9
3
  ${t.context}`:"",v=await i.db.select({text:j.decision.text,by:j.decision.by}).from(j.decision).where((0,f.eq)(j.decision.workspaceId,b.id)).orderBy((0,g.i)(j.decision.createdAt)).limit(12),w=v.length?`
10
4
  Recent decisions:
@@ -14,7 +8,7 @@ ${r}`,`
14
8
  Output ONLY a JSON object (no prose, no markdown fences): {"estimates":[{"key":"1","points":5,"moscow":"Must","duplicateOf":"3"}],"gaps":["a missing issue the objectives need"]} — one estimate per issue above, "points" one of 1,2,3,5,8,13, "duplicateOf" optional, "gaps" optional.`].filter(Boolean).join("\n");await i.db.update(j.agent).set({status:"working"}).where((0,f.eq)(j.agent.id,h.id));try{c=await (0,l.p1)(x,{orgId:a,binary:m,model:p,timeoutMs:12e4},()=>{})}finally{try{await i.db.update(j.agent).set({status:"idle"}).where((0,f.eq)(j.agent.id,h.id))}catch{}}(c.usd>0||c.inputTokens+c.outputTokens>0)&&await i.db.insert(j.costEntry).values({id:(0,e.randomUUID)(),workspaceId:b.id,agentId:h.id,provider:c.binary,model:c.model??h.model,usd:c.usd,tokens:c.inputTokens+c.outputTokens,at:new Date});let y=[],z=[],A=c.text.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(A)try{let a=JSON.parse(A[0]);Array.isArray(a)?y=a:(y=Array.isArray(a.estimates)?a.estimates:[],z=Array.isArray(a.gaps)?a.gaps.map(String).slice(0,8):[])}catch{y=[]}if(!Array.isArray(y)||!y.length)return{ok:!1,error:"The PO returned no parseable estimates — try again."};let B=new Set([1,2,3,5,8,13]),C=new Set(["Must","Should","Could","Won't"]),D=Object.fromEntries(k.map(a=>[String(a.key),a.id])),E=0;for(let a of y){let b=D[String(a.key)];if(!b)continue;let c="number"==typeof a.points?Math.round(a.points):NaN,d=B.has(c)?c:void 0,e="string"==typeof a.moscow&&C.has(a.moscow)?a.moscow:void 0;(void 0!==d||e)&&(await i.db.update(j.issue).set({...void 0!==d?{points:d}:{},...e?{moscow:e}:{}}).where((0,f.eq)(j.issue.id,b)),E++)}if(E){for(let a of(await i.db.select().from(j.issue).where((0,f.Uo)((0,f.eq)(j.issue.workspaceId,b.id),(0,f.eq)(j.issue.status,"active")))))await i.db.update(j.backlogItem).set({points:a.points,moscow:a.moscow??"Should"}).where((0,f.Uo)((0,f.eq)(j.backlogItem.workspaceId,b.id),(0,f.eq)(j.backlogItem.title,a.title)));await i.db.insert(j.message).values({id:(0,e.randomUUID)(),workspaceId:b.id,channel:"room",fromKind:"agent",fromHandle:h.handle,text:`Backlog groomed — estimated story points + MoSCoW for ${E} issue${1===E?"":"s"}. Open the Product Manager to review.`,createdAt:new Date}),await (0,n.j)(b.id,{text:`Backlog groomed by ${h.name} — sized ${E} issue(s)`,by:h.handle,source:"po-grooming"})}let F=y.filter(a=>null!=a.duplicateOf&&D[String(a.duplicateOf)]&&D[String(a.key)]&&String(a.duplicateOf)!==String(a.key)).map(a=>`${a.key} ↔ ${a.duplicateOf}`);if(F.length||z.length){let a=[];F.length&&a.push(`Possible duplicate / overlapping issues: ${F.join(", ")}.`),z.length&&a.push(`Gaps the objectives need:
15
9
  ${z.map(a=>`- ${a}`).join("\n")}`);let c=a.join("\n\n");await i.db.insert(j.message).values({id:(0,e.randomUUID)(),workspaceId:b.id,channel:"room",fromKind:"agent",fromHandle:h.handle,text:`Backlog review — ${c}`.slice(0,4e3),createdAt:new Date}),await (0,o.vE)(b.id,{kind:"review",fromAgentId:h.id,title:`PO backlog review — ${F.length} duplicate, ${z.length} gap`,detail:c.slice(0,500)}),await (0,n.j)(b.id,{text:`PO flagged ${F.length} duplicate + ${z.length} gap during grooming`,by:h.handle,source:"po-grooming"})}return{ok:!0,groomed:E}}async function v(){let{org:a,workspace:b}=await (0,k.nP)(),c=await u(a.id,b);return(0,h.revalidatePath)("/pm"),(0,h.revalidatePath)("/planner"),(0,h.revalidatePath)("/","layout"),c}async function w(){let{workspace:a}=await (0,k.nP)();await (0,q.TR)(a.id),(0,h.revalidatePath)("/planner"),(0,h.revalidatePath)("/inbox")}async function x(a){let{workspace:b}=await (0,k.nP)();await i.db.update(j.spec).set({approved:!0}).where((0,f.Uo)((0,f.eq)(j.spec.id,a),(0,f.eq)(j.spec.workspaceId,b.id))),await (0,o.W_)(b.id,"spec",a),(0,h.revalidatePath)("/planner"),(0,h.revalidatePath)("/inbox")}async function y(a){let{workspace:b}=await (0,k.nP)(),[c]=await i.db.select().from(j.spec).where((0,f.Uo)((0,f.eq)(j.spec.id,a),(0,f.eq)(j.spec.workspaceId,b.id)));await i.db.update(j.spec).set({approved:!1}).where((0,f.eq)(j.spec.id,a));let d="ada",e=null;if(c?.authorId){let[a]=await i.db.select().from(j.agent).where((0,f.eq)(j.agent.id,c.authorId));a&&(d=a.handle,e=a.id)}return await (0,m.I)(b.id,{kind:"review",text:`Spec ${c?.key??""} sent back for revision`,detail:"The operator rejected this spec."}),await (0,o.vE)(b.id,{kind:"review",refType:"spec",refId:a,goalId:c?.goalId??null,fromAgentId:e,title:`Revise spec ${c?.key??""}`,detail:`Rejected — @${d} should revise “${c?.title??""}”.`}),(0,h.revalidatePath)("/planner"),(0,h.revalidatePath)("/inbox"),{handle:d,key:c?.key??"spec"}}async function z(a){let{org:b,workspace:c}=await (0,k.nP)(),[d]=await i.db.update(j.issue).set({approved:!0}).where((0,f.Uo)((0,f.eq)(j.issue.id,a),(0,f.eq)(j.issue.workspaceId,c.id))).returning();if(d?.key){let a=(0,p.sL)(b.id,`issues/${d.key}.md`);a&&(0,p.dx)(b.id,`issues/${d.key}.md`,a.replace(/\*\*Status:\*\* .*/m,"**Status:** approved"))}await (0,o.W_)(c.id,"issue",a),(0,h.revalidatePath)("/pm"),(0,h.revalidatePath)("/planner"),(0,h.revalidatePath)("/inbox")}async function A(a){let{workspace:b}=await (0,k.nP)(),[c]=await i.db.select().from(j.issue).where((0,f.Uo)((0,f.eq)(j.issue.id,a),(0,f.eq)(j.issue.workspaceId,b.id)));await i.db.update(j.issue).set({approved:!1}).where((0,f.eq)(j.issue.id,a));let d="donald",e=null;if(c?.assigneeId){let[a]=await i.db.select().from(j.agent).where((0,f.eq)(j.agent.id,c.assigneeId));a&&(d=a.handle,e=a.id)}return await (0,m.I)(b.id,{kind:"review",text:`Issue ${c?.key??""} sent back for revision`,detail:"The operator rejected this issue."}),await (0,o.vE)(b.id,{kind:"review",refType:"issue",refId:a,goalId:c?.goalId??null,fromAgentId:e,title:`Revise issue ${c?.key??""}`,detail:`Rejected — @${d} should revise “${c?.title??""}”.`}),(0,h.revalidatePath)("/pm"),(0,h.revalidatePath)("/planner"),(0,h.revalidatePath)("/inbox"),{handle:d,key:c?.key??"issue"}}async function B(a){let{workspace:b}=await (0,k.nP)();await (0,q.mL)(b.id,a),(0,h.revalidatePath)("/planner")}async function C(a){let{workspace:b}=await (0,k.nP)(),c=["todo","doing","review","done"],[d]=await i.db.select().from(j.issue).where((0,f.Uo)((0,f.eq)(j.issue.id,a),(0,f.eq)(j.issue.workspaceId,b.id)));if(!d||"done"===d.col||"blocked"===d.col)return;let e=c[c.indexOf(d.col)+1]??"done";await i.db.update(j.issue).set({col:e}).where((0,f.eq)(j.issue.id,a)),"done"===e&&await (0,m.I)(b.id,{kind:"test",text:`${d.key} merged — ${d.title}`,detail:"QA passed and the issue was merged.",tg:!0}),(0,h.revalidatePath)("/planner")}async function D(a){let{org:b,workspace:c}=await (0,k.nP)();return(0,r.generatePlanFor)(b.id,c,a)}async function E(a){let b=a.brief?.trim();return b?D({brief:b,goalTitle:a.title?.trim()||void 0}):{ok:!1,error:"Describe what you want to implement, fix or change."}}async function F(a){let{workspace:b}=await (0,k.nP)(),c=(await i.db.select().from(j.message).where((0,f.Uo)((0,f.eq)(j.message.workspaceId,b.id),(0,f.eq)(j.message.channel,a))).orderBy((0,g.Y)(j.message.createdAt))).slice(-30).map(a=>("operator"===a.fromKind?"Operator":"@"+(a.fromHandle??"agent"))+": "+a.text).join("\n");return c.trim()?D({brief:`Turn the operator's request from this chat into a delivery plan. Conversation:
16
10
 
17
- ${c}`}):{ok:!1,error:"No conversation to plan from yet."}}(0,c(29635).D)([t,u,v,w,x,y,z,A,B,C,D,E,F]),(0,d.A)(t,"002187847445622978bc55b9008235c0fa546c1928",null),(0,d.A)(u,"60d5f34d685b2d10fa8899cf3859270d2abcaea17b",null),(0,d.A)(v,"009c38f877a21345917addab2c8bef95bc47e1e56b",null),(0,d.A)(w,"00e4e634074e109e51ede5ae51e150337216174c81",null),(0,d.A)(x,"408f2adaf50869e2202aa5684ad55b7e739765297b",null),(0,d.A)(y,"40911ea817fb8869817712ed68abca3202362f67a7",null),(0,d.A)(z,"4077cdda445a2dc4096786e1b55bbe9c2aa5a764f8",null),(0,d.A)(A,"4060c1bd339b97979ac6672046624b24053d14da09",null),(0,d.A)(B,"40f66d6d6c5aacdeed470d1cc25d6929dd35ff7dee",null),(0,d.A)(C,"40850ff30c18f6278de972d397071e1806a4d04552",null),(0,d.A)(D,"404354d696dbc7dac4784ba3b3ab014333e0ad954f",null),(0,d.A)(E,"40c03a5064033cbc8a20dac06972590ead87aba54b",null),(0,d.A)(F,"40c0c6f23bb99450ea7a789d5b2ec5ce7eaba385e9",null)},96930:(a,b,c)=>{c.d(b,{generatePlanFor:()=>v,G:()=>u,startNewWorkFor:()=>w});var d=c(77598),e=c(1782),f=c(7852),g=c(83550),h=c(80280),i=c(25533),j=c(3188),k=c(20850),l=c(78848),m=c(18612);let n="specs/SUPER-SPEC.md";async function o(a){let b,{orgId:c,wsId:e,ada:f,binary:g,model:k}=a,o=`You are ${f.name}, analyzing an EXISTING project that is ALREADY present in this workspace (the current directory). Do NOT write any product code, do NOT scaffold anything — your ONLY job is to UNDERSTAND the project and write a thorough "super spec".
11
+ ${c}`}):{ok:!1,error:"No conversation to plan from yet."}}(0,c(99688).D)([t,u,v,w,x,y,z,A,B,C,D,E,F]),(0,d.A)(t,"0078eee6c6a712c6aea28f9bd404d07bd6c8f06300",null),(0,d.A)(u,"603c9b63894b12bccde4b46ffa96519c81bca136a3",null),(0,d.A)(v,"0096ea98aaf52e1293c52c7b4d3da81953f9f42a40",null),(0,d.A)(w,"00e67cf87dadcbcbdf45049da9523da454401958c9",null),(0,d.A)(x,"405ed4651f47318a4181b8770112f7bc71df0e57a2",null),(0,d.A)(y,"40612bb48c7b9899000f07b3256b6a217f9f14c163",null),(0,d.A)(z,"40ac43be66059aad8695fa35343af7a907394ec850",null),(0,d.A)(A,"40f88afb175b09ac00d2f0cc2bb7fffb401c667a94",null),(0,d.A)(B,"40197202b1575054bdc6f788583699228c62e9b638",null),(0,d.A)(C,"40e795413ad61f4779ccdba157080b914a9c8adcd4",null),(0,d.A)(D,"40d94739ab3473c06b3faaae4456ea491b787f8ad2",null),(0,d.A)(E,"40204beb18ac2a6dd649bd6bac3cd3824475e9bf62",null),(0,d.A)(F,"40d83b0317effac5a2687de461e5308315108cb910",null)},15563:(a,b,c)=>{c.d(b,{generatePlanFor:()=>v,G:()=>u,startNewWorkFor:()=>w});var d=c(77598),e=c(50730),f=c(23888),g=c(5557),h=c(12940),i=c(76561),j=c(55104),k=c(62323),l=c(87980),m=c(66408);let n="specs/SUPER-SPEC.md";async function o(a){let b,{orgId:c,wsId:e,ada:f,binary:g,model:k}=a,o=`You are ${f.name}, analyzing an EXISTING project that is ALREADY present in this workspace (the current directory). Do NOT write any product code, do NOT scaffold anything — your ONLY job is to UNDERSTAND the project and write a thorough "super spec".
18
12
 
19
13
  Read in THIS order, then go deeper:
20
14
  1. Docs first: README*, CHANGELOG*, docs/**, any install/setup/usage guides, CONTRIBUTING.
@@ -30,7 +24,7 @@ If the repo is large, prioritize breadth: read every manifest + entry point and
30
24
  When done, reply with a 2-3 sentence summary of the system.`,p=(0,d.randomUUID)();await (0,l.I)(e,{runId:p,channel:"planner",agentId:f.id,kind:"thinking",target:`${f.name} is reading the existing project…`});try{b=await (0,j.p1)(o,{orgId:c,binary:g,model:k,timeoutMs:6e5},a=>{(0,l.I)(e,{runId:p,channel:"planner",agentId:f.id,kind:a.kind,target:a.target,detail:a.detail})})}catch(a){return{ok:!1,bytes:0,error:String(a instanceof Error?a.message:a)}}(b.usd>0||b.inputTokens+b.outputTokens>0)&&await h.db.insert(i.costEntry).values({id:(0,d.randomUUID)(),workspaceId:e,agentId:f.id,provider:b.binary,model:b.model??k??"",usd:b.usd,tokens:b.inputTokens+b.outputTokens,at:new Date});let q=(0,m.sL)(c,n);(!q||q.trim().length<80)&&b.text.trim()&&((0,m.dx)(c,n,`# Super Spec — existing system analysis
31
25
 
32
26
  ${b.text.trim()}
33
- `),q=(0,m.sL)(c,n));let r=q?.length??0;return{ok:r>0,bytes:r}}var p=c(90860),q=c(54033),r=c(6873),s=c(78874),t=c(88639);async function u(a,b,c){let d=(await h.db.select().from(i.message).where((0,e.Uo)((0,e.eq)(i.message.workspaceId,b.id),(0,e.eq)(i.message.channel,c))).orderBy((0,f.i)(i.message.createdAt)).limit(30)).reverse().map(a=>("operator"===a.fromKind?"Operator":"@"+(a.fromHandle??"agent"))+": "+a.text).join("\n");return d.trim()?v(a,b,{brief:`Turn the operator's request from this chat into a delivery plan. Conversation:
27
+ `),q=(0,m.sL)(c,n));let r=q?.length??0;return{ok:r>0,bytes:r}}var p=c(44440),q=c(76381),r=c(96807),s=c(84534),t=c(13171);async function u(a,b,c){let d=(await h.db.select().from(i.message).where((0,e.Uo)((0,e.eq)(i.message.workspaceId,b.id),(0,e.eq)(i.message.channel,c))).orderBy((0,f.i)(i.message.createdAt)).limit(30)).reverse().map(a=>("operator"===a.fromKind?"Operator":"@"+(a.fromHandle??"agent"))+": "+a.text).join("\n");return d.trim()?v(a,b,{brief:`Turn the operator's request from this chat into a delivery plan. Conversation:
34
28
 
35
29
  ${d}`}):{ok:!1,error:"No conversation to plan from yet."}}async function v(a,b,c){let j=await h.db.select().from(i.agent).where((0,e.eq)(i.agent.workspaceId,b.id)),k=j.find(a=>"ada"===a.handle)??j.find(a=>/ceo|chief exec/i.test(a.role))??j[0];if(!k)return{ok:!1,error:"no CEO agent"};let m=b.settings??{};if(m.source?.analyzing&&Date.now()-(m.source?.analyzingAt??0)<72e4)return{ok:!0,started:!1};if("working"===k.status){let[a]=await h.db.select({seq:i.event.seq,kind:i.event.kind}).from(i.event).where((0,e.Uo)((0,e.eq)(i.event.workspaceId,b.id),(0,e.eq)(i.event.channel,"planner"))).orderBy((0,f.i)(i.event.seq)).limit(1);if(a&&"done"!==a.kind&&"error"!==a.kind&&Date.now()-a.seq<36e4)return{ok:!0,started:!1};console.warn("[planner] Ada was stuck 'working' with no live run — recovering (a prior plan job died before it reset her).")}let n=(0,d.randomUUID)();await h.db.update(i.agent).set({status:"working"}).where((0,e.eq)(i.agent.id,k.id)),await (0,l.I)(b.id,{runId:n,channel:"planner",agentId:k.id,kind:"thinking",target:`${k.name} is analyzing the brief…`});try{(0,g.revalidatePath)("/planner")}catch{}return x({orgId:a,workspace:b,ada:k,agents:j,runId:n,opts:c}).catch(a=>console.error("[planner] background plan job crashed:",a)),{ok:!0,started:!0}}async function w(a,b,c){let d=c.brief?.trim();return d?v(a,b,{brief:d,goalTitle:c.title?.trim()||void 0}):{ok:!1,error:"Describe what you want to implement, fix or change."}}async function x(a){let{orgId:b,workspace:c,ada:f,agents:n,runId:u,opts:v}=a;try{let a=a=>a?n.find(b=>b.role.toLowerCase()===a.toLowerCase())?.id??null:null,w=(0,j.hW)(f.adapter,f.model),x="claude"===w?f.model.includes("opus")?"opus":f.model.includes("haiku")?"haiku":"sonnet":void 0;(0,j.UC)(c.settings?.agents?.webResearch??null);let y=Array.from(new Set(n.map(a=>a.role))),z=!!v?.brief?.trim(),A=v?.brief?.trim()||(0,m.sL)(b,".claude/BRIEF.md")||"",B=(0,m.CS)(b).filter(a=>a.startsWith("mock/")&&"mock/README.md"!==a),C=c.stack??{},D=Object.entries(C).map(([a,b])=>`${a}: ${b}`).filter(a=>!a.endsWith(": None")).join(", "),E=!!C.frontend&&"None"!==C.frontend,F=(0,r.Cg)(),G=[...new Set([...(0,r.AQ)(C),...(0,r.IT)(C,"Frontend"),...(0,r.IT)(C,"Backend"),...(0,r.IT)(C,"CyberSec"),...(0,r.IT)(C,"CTO")])].filter(a=>F.has(a)).map(a=>`- ${a}: ${F.get(a).description}`).join("\n"),H=c.settings??{},I=H.source?.type??"new",J="new"!==I||B.length>0||!!(0,k.pp)(b),K=!!H.source?.analyzing&&Date.now()-(H.source?.analyzingAt??0)<72e4;if(!z&&J&&!H.source?.analyzed&&!K){await h.db.update(i.workspace).set({settings:{...H,source:{...H.source??{},type:I,analyzing:!0,analyzingAt:Date.now()}}}).where((0,e.eq)(i.workspace.id,c.id));try{await o({orgId:b,wsId:c.id,ada:{id:f.id,name:f.name},binary:w,model:x}),await h.db.update(i.workspace).set({settings:{...H,source:{...H.source??{},type:I,analyzed:!0,analyzing:!1}}}).where((0,e.eq)(i.workspace.id,c.id))}catch(a){console.error("[planner] project analysis failed:",a);try{await h.db.update(i.workspace).set({settings:{...H,source:{...H.source??{},type:I,analyzing:!1}}}).where((0,e.eq)(i.workspace.id,c.id))}catch{}}}let L=z?null:(0,m.sL)(b,"specs/SUPER-SPEC.md"),M=(0,m.sL)(b,"design-mock/APPROVED.md"),N=(0,t.hp)(b),O=M?N.at&&N.served?`
36
30
  APPROVED DESIGN — ALREADY PROMOTED INTO THE SOURCE. The operator approved the UI in the Design module and it was promoted into the project's REAL served frontend (\`${N.target}/\` — see design-mock/PROMOTED.md; the dev server already renders these exact screens). Read design-mock/APPROVED.md + design-mock/handoff.md IN FULL. The UI is DONE and is the source of truth — engineers must NOT rebuild, recreate or restyle it. Every frontend issue EXTENDS the promoted screens: wire real data + backend + interactivity + states ON TOP, preserving the markup/CSS exactly (zero drift). Do NOT plan any "build the UI / recreate the screens" issue. Summary:
@@ -82,4 +76,10 @@ How this organization operates. Agents follow this order; code starts only after
82
76
  `),z||await h.db.update(i.plan).set({stage:4,approved:!1}).where((0,e.eq)(i.plan.workspaceId,c.id)),await (0,l.I)(c.id,{runId:u,channel:"planner",agentId:f.id,kind:"done",target:`${Object.keys(U).length} specs \xb7 ${ab} issues drafted`}),await h.db.insert(i.message).values({id:(0,d.randomUUID)(),workspaceId:c.id,channel:"room",fromKind:"agent",fromHandle:f.handle,text:`Plan ready for review: ${Object.keys(U).length} specs and ${ab} issues drafted from the brief. Open the CEO Planner and approve to start execution.`,createdAt:new Date}),await (0,p.I)(c.id,{kind:"done",text:`${f.name} drafted ${z?"a new work plan":"the delivery plan"}`,detail:`${Object.keys(U).length} specs \xb7 ${ab} issues.`,agentId:f.id,tg:!1}),await (0,q.vE)(c.id,{kind:"approval",refType:"plan",refId:c.id,goalId:W,fromAgentId:f.id,channel:"room",title:`Approve plan — ${c.name}`,detail:`${Object.keys(U).length} spec(s) \xb7 ${ab} issue(s) drafted from the brief. Approve to start execution.`});try{let a=await (0,s._9)(c.id);a&&await (0,s.bT)(a.botToken,a.chatId,`📋 Plan ready — ${c.name}
83
77
  ${Object.keys(U).length} spec(s) \xb7 ${ab} issue(s) drafted from the brief.
84
78
 
85
- Approve to queue tasks, or Start execution to also run 24/7.`,[[{text:"✅ Approve",data:"approve_plan"},{text:"▶️ Start execution",data:"start_exec"}],[{text:"\uD83D\uDCDD Review",data:"review"},{text:"↩️ Reject",data:"reject_plan"}]])}catch(a){console.error("[planner] telegram plan-ready push failed:",a)}try{(0,g.revalidatePath)("/planner"),(0,g.revalidatePath)("/inbox"),(0,g.revalidatePath)("/pm"),(0,g.revalidatePath)("/goals")}catch{}}catch(a){console.error("[planner] plan job failed:",a);try{await (0,l.I)(c.id,{runId:u,channel:"planner",agentId:f.id,kind:"error",target:(a?.message??"Planning failed.").slice(0,200)})}catch{}try{await (0,p.I)(c.id,{kind:"info",text:"Planning run failed",detail:(a?.message??"").slice(0,300),agentId:f.id})}catch{}}finally{try{await h.db.update(i.agent).set({status:"idle"}).where((0,e.eq)(i.agent.id,f.id))}catch{}}}}};
79
+ Approve to queue tasks, or Start execution to also run 24/7.`,[[{text:"✅ Approve",data:"approve_plan"},{text:"▶️ Start execution",data:"start_exec"}],[{text:"\uD83D\uDCDD Review",data:"review"},{text:"↩️ Reject",data:"reject_plan"}]])}catch(a){console.error("[planner] telegram plan-ready push failed:",a)}try{(0,g.revalidatePath)("/planner"),(0,g.revalidatePath)("/inbox"),(0,g.revalidatePath)("/pm"),(0,g.revalidatePath)("/goals")}catch{}}catch(a){console.error("[planner] plan job failed:",a);try{await (0,l.I)(c.id,{runId:u,channel:"planner",agentId:f.id,kind:"error",target:(a?.message??"Planning failed.").slice(0,200)})}catch{}try{await (0,p.I)(c.id,{kind:"info",text:"Planning run failed",detail:(a?.message??"").slice(0,300),agentId:f.id})}catch{}}finally{try{await h.db.update(i.agent).set({status:"idle"}).where((0,e.eq)(i.agent.id,f.id))}catch{}}}},56425:(a,b,c)=>{c.d(b,{NF:()=>t,PT:()=>u});var d=c(73024),e=c(76760),f=c(91243),g=c.n(f),h=c(50730),i=c(12940),j=c(76561),k=c(66408),l=c(55104),m=c(77680),n=c(21046),o=c(76381),p=c(44440);async function q(a,b){let[c]=await i.db.select().from(j.goal).where((0,h.Uo)((0,h.eq)(j.goal.id,b),(0,h.eq)(j.goal.workspaceId,a)));return c}async function r(a,b){for(let c of(await i.db.select().from(j.task).where((0,h.Uo)((0,h.eq)(j.task.workspaceId,a),(0,h.eq)(j.task.goalId,b)))))(0,l.KD)(c.id),("todo"===c.col||"doing"===c.col)&&(await i.db.update(j.task).set({col:"blocked"}).where((0,h.eq)(j.task.id,c.id)),c.issueId&&await i.db.update(j.issue).set({col:"blocked"}).where((0,h.eq)(j.issue.id,c.issueId))),c.assigneeId&&await i.db.update(j.agent).set({status:"idle"}).where((0,h.eq)(j.agent.id,c.assigneeId))}async function s(a,b,c){await i.db.update(j.spec).set({status:c}).where((0,h.Uo)((0,h.eq)(j.spec.workspaceId,a),(0,h.eq)(j.spec.goalId,b))),await i.db.update(j.issue).set({status:c}).where((0,h.Uo)((0,h.eq)(j.issue.workspaceId,a),(0,h.eq)(j.issue.goalId,b)))}async function t(a,b){let c=await q(a,b);return c?(await i.db.update(j.goal).set({status:"cancelled",cancelledAt:new Date}).where((0,h.eq)(j.goal.id,b)),await s(a,b,"cancelled"),await (0,o.TC)(a,b),await r(a,b),await (0,n.j)(a,{text:`Cancelled goal: ${c.title}`,by:"operator",source:"operator-instruction",goalId:b}),await (0,p.I)(a,{kind:"info",text:`Goal cancelled — ${c.title}`,detail:"Execution stopped; state preserved. Reopen to resume."}),{ok:!0,title:c.title}):{ok:!1}}async function u(a,b,c){let f=await q(b,c);if(!f)return{ok:!1};let l=(0,k.HZ)(a),[t,u,v,w,x]=await Promise.all([i.db.select().from(j.spec).where((0,h.Uo)((0,h.eq)(j.spec.workspaceId,b),(0,h.eq)(j.spec.goalId,c))),i.db.select().from(j.issue).where((0,h.Uo)((0,h.eq)(j.issue.workspaceId,b),(0,h.eq)(j.issue.goalId,c))),i.db.select().from(j.task).where((0,h.Uo)((0,h.eq)(j.task.workspaceId,b),(0,h.eq)(j.task.goalId,c))),i.db.select().from(j.decision).where((0,h.Uo)((0,h.eq)(j.decision.workspaceId,b),(0,h.eq)(j.decision.goalId,c))),i.db.select().from(j.report).where((0,h.Uo)((0,h.eq)(j.report.workspaceId,b),(0,h.eq)(j.report.goalId,c)))]),y=v.map(a=>a.id),z=y.length?await i.db.select().from(j.taskStep).where((0,h.RV)(j.taskStep.taskId,y)):[],A=await (0,m.Y)(b,c),B=new(g()),C=0;for(let a of A){let b=(0,e.join)(l,a);if((0,d.existsSync)(b))try{B.addFile("files/"+a,(0,d.readFileSync)(b)),C++}catch{}}let D={goal:f,specs:t,issues:u,tasks:v,taskSteps:z,decisions:w,reports:x,fileCount:C,archivedAt:new Date().toISOString()},E=[`# Archived work — ${f.title}`,"",`Status at archive: ${f.status} \xb7 progress ${f.progress}%`,"",`## Specs (${t.length})`,...t.map(a=>`- ${a.key} ${a.title}`),"",`## Issues (${u.length})`,...u.map(a=>`- ${a.key} [${a.col}] ${a.title}`),"",`## Decisions (${w.length})`,...w.map(a=>`- ${a.text} (${a.by})`),"",`## Source files (${C})`,...A.map(a=>`- ${a}`),""].join("\n");B.addFile("MANIFEST.json",Buffer.from(JSON.stringify(D,null,2))),B.addFile("MANIFEST.md",Buffer.from(E));let F=(0,e.join)(l,"archives");(0,d.mkdirSync)(F,{recursive:!0});let G=`archives/${(f.title||"work").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,40)||"work"}-${new Date().toISOString().slice(0,10)}-${c.slice(0,6)}.zip`;try{B.writeZip((0,e.join)(l,G))}catch(a){return console.error("[archiveGoalFor] zip failed:",a),{ok:!1}}return await i.db.update(j.goal).set({status:"archived",archivePath:G,archivedAt:new Date}).where((0,h.eq)(j.goal.id,c)),await s(b,c,"archived"),await (0,o.TC)(b,c),await r(b,c),await (0,n.j)(b,{text:`Archived goal: ${f.title} → ${G}`,by:"operator",source:"operator-instruction",goalId:c}),await (0,p.I)(b,{kind:"info",text:`Goal archived — ${f.title}`,detail:`${C} files + manifest zipped to ${G}.`}),{ok:!0,path:G,title:f.title}}},87355:(a,b,c)=>{c.d(b,{PO:()=>p,TR:()=>o,mL:()=>n,mt:()=>q,wz:()=>m,yk:()=>r});var d=c(77598),e=c(50730),f=c(12940),g=c(76561),h=c(44440),i=c(21046),j=c(76381),k=c(30515),l=c(52052);async function m(a,b){await f.db.update(g.plan).set({approved:!0,stage:6}).where((0,e.eq)(g.plan.workspaceId,b.id)),await f.db.update(g.issue).set({approved:!0}).where((0,e.eq)(g.issue.workspaceId,b.id)),await f.db.update(g.spec).set({approved:!0}).where((0,e.Uo)((0,e.eq)(g.spec.workspaceId,b.id),(0,e.eq)(g.spec.status,"active")));let m=await (0,l.s$)(a,b.id),n=await f.db.select().from(g.issue).where((0,e.eq)(g.issue.workspaceId,b.id));for(let a of(await f.db.delete(g.backlogItem).where((0,e.eq)(g.backlogItem.workspaceId,b.id)),n))await f.db.insert(g.backlogItem).values({id:(0,d.randomUUID)(),workspaceId:b.id,title:a.title,moscow:a.moscow??"Should",points:a.points});let o=`# Product backlog — ${b.name}
80
+
81
+ _Groomed from the approved plan._
82
+
83
+ ${n.map(a=>`- [ ] (${a.prio}) ${a.key} — ${a.title}`).join("\n")}
84
+ `;try{await (0,k.g)(a,"PO/backlog.md",o)}catch(a){console.error("[approvePlanFor] backlog write failed:",a)}let[p]=await f.db.select().from(g.agent).where((0,e.Uo)((0,e.eq)(g.agent.workspaceId,b.id),(0,e.eq)(g.agent.handle,"ada"))),q=p??(await f.db.select().from(g.agent).where((0,e.eq)(g.agent.workspaceId,b.id)))[0];return q&&await f.db.insert(g.message).values({id:(0,d.randomUUID)(),workspaceId:b.id,channel:"room",fromKind:"agent",fromHandle:q.handle,text:`Plan approved — starting execution. ${m} task${1===m?"":"s"} queued; the team will work the board top to bottom. Turn on Run 24/7 to begin.`,createdAt:new Date}),await (0,h.I)(b.id,{kind:"done",text:"Plan approved — agents may start coding",detail:`${m} task${1===m?"":"s"} created from the plan.`}),await (0,i.j)(b.id,{text:`Plan approved — ${n.length} issues, ${m} tasks queued for execution`,by:"operator",source:"plan-approve"}),await (0,j.W_)(b.id,"plan",b.id),await (0,j.vG)(b.id,["spec","issue"]),Promise.resolve().then(c.bind(c,12529)).then(c=>c.groomBacklogFor(a,b)).catch(a=>console.error("[approvePlanFor] auto-groom failed:",a)),{made:m,issues:n.length}}async function n(a,b){await f.db.update(g.plan).set({auto247:b}).where((0,e.eq)(g.plan.workspaceId,a))}async function o(a,b){await f.db.update(g.plan).set({approved:!1,auto247:!1,stage:1}).where((0,e.eq)(g.plan.workspaceId,a)),await (0,j.W_)(a,"plan",a),await f.db.insert(g.notification).values({id:(0,d.randomUUID)(),workspaceId:a,kind:"info",text:"Plan sent back to Ada for revision",detail:b?.trim()?`Operator requested changes: ${b.trim().slice(0,280)}`:"The operator requested changes before any code is written."})}async function p(a){let[b,c,d,[h]]=await Promise.all([f.db.select({status:g.goal.status}).from(g.goal).where((0,e.eq)(g.goal.workspaceId,a.id)),f.db.select({col:g.issue.col}).from(g.issue).where((0,e.eq)(g.issue.workspaceId,a.id)),f.db.select({id:g.task.id}).from(g.task).where((0,e.Uo)((0,e.eq)(g.task.workspaceId,a.id),(0,e.eq)(g.task.col,"doing"))),f.db.select().from(g.plan).where((0,e.eq)(g.plan.workspaceId,a.id))]),i=b.filter(a=>"active"===a.status).length,j=c.filter(a=>"done"!==a.col).length,k=h?h.approved?"approved":"draft":"none";return`📊 ${a.name} — ${i} active goal(s) \xb7 ${j} open issue(s) \xb7 ${d.length} task(s) in flight \xb7 24/7 ${h?.auto247?"ON":"off"} \xb7 plan ${k}.`}async function q(a){let[b,c,d,h,[i]]=await Promise.all([f.db.select({title:g.goal.title,status:g.goal.status}).from(g.goal).where((0,e.eq)(g.goal.workspaceId,a.id)),f.db.select({status:g.spec.status}).from(g.spec).where((0,e.eq)(g.spec.workspaceId,a.id)),f.db.select({key:g.issue.key,title:g.issue.title,col:g.issue.col,prio:g.issue.prio}).from(g.issue).where((0,e.eq)(g.issue.workspaceId,a.id)),f.db.select({col:g.task.col}).from(g.task).where((0,e.eq)(g.task.workspaceId,a.id)),f.db.select().from(g.plan).where((0,e.eq)(g.plan.workspaceId,a.id))]),j=b.filter(a=>"active"===a.status),k=a=>d.filter(b=>b.col===a).length,l=h.filter(a=>"doing"===a.col).length,m=i?i.approved?"✅ approved":`📝 draft (stage ${i.stage})`:"none",n={high:3,med:2,low:1},o=d.filter(a=>"done"!==a.col).sort((a,b)=>n[b.prio]-n[a.prio]||a.key.localeCompare(b.key)).slice(0,5),p=[`📊 ${a.name} — review`,`Plan: ${m} \xb7 24/7 ${i?.auto247?"ON":"off"}`,`Goals: ${j.length} active / ${b.length} total`,`Specs: ${c.filter(a=>"active"===a.status).length} active`,`Issues: todo ${k("todo")} \xb7 doing ${k("doing")} \xb7 review ${k("review")} \xb7 blocked ${k("blocked")} \xb7 done ${k("done")} (of ${d.length})`,`Tasks in flight: ${l}`];return j[0]&&p.push(`Active goal: “${j[0].title}”`),o.length&&p.push(`Next up:
85
+ ${o.map(a=>` • (${a.prio}) ${a.key} — ${a.title}`).join("\n")}`),p.join("\n").slice(0,3500)}async function r(a){let b=await f.db.select({key:g.task.key,title:g.task.title,col:g.task.col,prio:g.task.prio}).from(g.task).where((0,e.eq)(g.task.workspaceId,a.id)),c=b.filter(a=>"doing"===a.col),d=b.filter(a=>"todo"===a.col||"triage"===a.col),h=b.filter(a=>"review"===a.col),i=a=>` • ${a.key} — ${a.title}`,j=[`🗂️ ${a.name} — tasks`];return j.push(`Doing (${c.length}):${c.length?"\n"+c.slice(0,10).map(i).join("\n"):" —"}`),j.push(`In review (${h.length}):${h.length?"\n"+h.slice(0,8).map(i).join("\n"):" —"}`),j.push(`Queued (${d.length}):${d.length?"\n"+d.slice(0,10).map(i).join("\n"):" —"}`),j.join("\n").slice(0,3500)}}};
@@ -1 +1 @@
1
- "use strict";exports.id=7778,exports.ids=[7778],exports.modules={22362:(a,b,c)=>{c.d(b,{n:()=>d,t:()=>e});let d="kysely_migration",e="kysely_migration_lock"},27778:(a,b,c)=>{c.d(b,{BunSqliteDialect:()=>n});var d=c(22362),e=c(89207),f=c(55830),g=c(33262),h=class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsMultipleConnections(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(){}async releaseMigrationLock(){}get supportsOutput(){return!0}},i=class{#a;#b=new k;#c;#d;constructor(a){this.#a={...a}}async init(){this.#c=this.#a.database,this.#d=new j(this.#c),this.#a.onCreateConnection&&await this.#a.onCreateConnection(this.#d)}async acquireConnection(){return await this.#b.lock(),this.#d}async beginTransaction(a){await a.executeQuery(e.E.raw("begin"))}async commitTransaction(a){await a.executeQuery(e.E.raw("commit"))}async rollbackTransaction(a){await a.executeQuery(e.E.raw("rollback"))}async releaseConnection(){this.#b.unlock()}async destroy(){this.#c?.close()}},j=class{#c;constructor(a){this.#c=a}executeQuery(a){let{sql:b,parameters:c}=a,d=this.#c.prepare(b);if(d.columnNames.length>0)return Promise.resolve({rows:d.all(...c)});let{changes:e,lastInsertRowid:f}=d.run(...c);return Promise.resolve({rows:[],numAffectedRows:BigInt(e),insertId:"bigint"==typeof f?f:BigInt(f)})}async *streamQuery(){throw Error("Streaming query is not supported by SQLite driver.")}},k=class{#e;#f;async lock(){for(;void 0!==this.#e;)await this.#e;this.#e=new Promise(a=>{this.#f=a})}unlock(){let a=this.#f;this.#e=void 0,this.#f=void 0,a?.()}},l=class{#c;constructor(a){this.#c=a}async getSchemas(){return[]}async getTables(a={withInternalKyselyTables:!1}){let b=this.#c.selectFrom("sqlite_schema").where("type","=","table").where("name","not like","sqlite_%").select("name").$castTo();return a.withInternalKyselyTables||(b=b.where("name","!=",d.n).where("name","!=",d.t)),Promise.all((await b.execute()).map(({name:a})=>this.#g(a)))}async #g(a){let b=this.#c,c=(await b.selectFrom("sqlite_master").where("name","=",a).select("sql").$castTo().execute())[0]?.sql?.split(/[\(\),]/)?.find(a=>a.toLowerCase().includes("autoincrement"))?.split(/\s+/)?.[0]?.replace(/["`]/g,"");return{name:a,columns:(await b.selectFrom((0,f.l)`pragma_table_info(${a})`.as("table_info")).select(["name","type","notnull","dflt_value"]).execute()).map(a=>({name:a.name,dataType:a.type,isNullable:!a.notnull,isAutoIncrementing:a.name===c,hasDefaultValue:null!=a.dflt_value})),isView:!1,isForeign:!1}}},m=class extends g.n{getCurrentParameterPlaceholder(){return"?"}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getAutoIncrement(){return"autoincrement"}},n=class{#a;constructor(a){this.#a={...a}}createDriver(){return new i(this.#a)}createQueryCompiler(){return new m}createAdapter(){return new h}createIntrospector(a){return new l(a)}}}};
1
+ "use strict";exports.id=9099,exports.ids=[9099],exports.modules={68705:(a,b,c)=>{c.d(b,{n:()=>d,t:()=>e});let d="kysely_migration",e="kysely_migration_lock"},99099:(a,b,c)=>{c.d(b,{BunSqliteDialect:()=>n});var d=c(68705),e=c(80595),f=c(41513),g=c(40892),h=class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsMultipleConnections(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(){}async releaseMigrationLock(){}get supportsOutput(){return!0}},i=class{#a;#b=new k;#c;#d;constructor(a){this.#a={...a}}async init(){this.#c=this.#a.database,this.#d=new j(this.#c),this.#a.onCreateConnection&&await this.#a.onCreateConnection(this.#d)}async acquireConnection(){return await this.#b.lock(),this.#d}async beginTransaction(a){await a.executeQuery(e.E.raw("begin"))}async commitTransaction(a){await a.executeQuery(e.E.raw("commit"))}async rollbackTransaction(a){await a.executeQuery(e.E.raw("rollback"))}async releaseConnection(){this.#b.unlock()}async destroy(){this.#c?.close()}},j=class{#c;constructor(a){this.#c=a}executeQuery(a){let{sql:b,parameters:c}=a,d=this.#c.prepare(b);if(d.columnNames.length>0)return Promise.resolve({rows:d.all(...c)});let{changes:e,lastInsertRowid:f}=d.run(...c);return Promise.resolve({rows:[],numAffectedRows:BigInt(e),insertId:"bigint"==typeof f?f:BigInt(f)})}async *streamQuery(){throw Error("Streaming query is not supported by SQLite driver.")}},k=class{#e;#f;async lock(){for(;void 0!==this.#e;)await this.#e;this.#e=new Promise(a=>{this.#f=a})}unlock(){let a=this.#f;this.#e=void 0,this.#f=void 0,a?.()}},l=class{#c;constructor(a){this.#c=a}async getSchemas(){return[]}async getTables(a={withInternalKyselyTables:!1}){let b=this.#c.selectFrom("sqlite_schema").where("type","=","table").where("name","not like","sqlite_%").select("name").$castTo();return a.withInternalKyselyTables||(b=b.where("name","!=",d.n).where("name","!=",d.t)),Promise.all((await b.execute()).map(({name:a})=>this.#g(a)))}async #g(a){let b=this.#c,c=(await b.selectFrom("sqlite_master").where("name","=",a).select("sql").$castTo().execute())[0]?.sql?.split(/[\(\),]/)?.find(a=>a.toLowerCase().includes("autoincrement"))?.split(/\s+/)?.[0]?.replace(/["`]/g,"");return{name:a,columns:(await b.selectFrom((0,f.l)`pragma_table_info(${a})`.as("table_info")).select(["name","type","notnull","dflt_value"]).execute()).map(a=>({name:a.name,dataType:a.type,isNullable:!a.notnull,isAutoIncrementing:a.name===c,hasDefaultValue:null!=a.dflt_value})),isView:!1,isForeign:!1}}},m=class extends g.n{getCurrentParameterPlaceholder(){return"?"}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getAutoIncrement(){return"autoincrement"}},n=class{#a;constructor(a){this.#a={...a}}createDriver(){return new i(this.#a)}createQueryCompiler(){return new m}createAdapter(){return new h}createIntrospector(a){return new l(a)}}}};
@@ -0,0 +1 @@
1
+ exports.id=912,exports.ids=[912],exports.modules={1639:()=>{},12940:(a,b,c)=>{"use strict";c.d(b,{F:()=>k,db:()=>l});var d=c(62770),e=c(87550),f=c.n(e),g=c(73024),h=c(76760),i=c(76561);let j=(0,c(45570).Y)((process.env.DATABASE_URL??"file:./.constella/constella.db").replace(/^file:/,""));(0,g.mkdirSync)((0,h.dirname)(j),{recursive:!0});let k=new(f())(j);k.pragma("journal_mode = WAL"),k.pragma("foreign_keys = ON");let l=(0,d.f)(k,{schema:i})},40959:()=>{},45570:(a,b,c)=>{"use strict";c.d(b,{Y:()=>g,v:()=>f});var d=c(76760);let e=!1;function f(){let a=process.cwd();return!process.env.INIT_CWD&&!e&&/[\\/]\.next[\\/]standalone/.test(a)&&(e=!0,console.warn("[runtime-root] INIT_CWD unset and cwd is inside .next/standalone — relative DATABASE_URL/CONSTELLA_HOME will resolve UNDER the standalone dir (separate DB!). Set absolute paths or launch via `pnpm start` (which sets INIT_CWD).")),process.env.INIT_CWD||a}function g(a){return(0,d.isAbsolute)(a)?a:(0,d.resolve)(f(),a)}},76561:(a,b,c)=>{"use strict";c.r(b),c.d(b,{account:()=>m,activity:()=>Z,agent:()=>r,agentSkill:()=>u,backlogItem:()=>$,blockProposal:()=>af,budget:()=>J,channelRead:()=>I,chatSession:()=>M,costEntry:()=>K,cronJob:()=>T,cronRun:()=>U,decision:()=>Q,deployRun:()=>O,designComment:()=>an,designPage:()=>al,designSession:()=>ak,designVersion:()=>am,docIndex:()=>aa,event:()=>N,file:()=>R,fileLock:()=>ac,finding:()=>V,goal:()=>z,goalFile:()=>A,inboxItem:()=>W,issue:()=>E,kbEntry:()=>ab,kbQueryLog:()=>ad,localModel:()=>y,member:()=>p,message:()=>L,messageSummary:()=>P,notification:()=>H,notificationPref:()=>ag,organization:()=>o,passkey:()=>aj,personalAccessToken:()=>ah,plan:()=>F,plugin:()=>X,provider:()=>v,providerModel:()=>x,pulse:()=>s,ragChunk:()=>_,report:()=>G,routine:()=>S,session:()=>l,skill:()=>t,spec:()=>D,syncedBlock:()=>ae,task:()=>B,taskStep:()=>C,testRun:()=>Y,twoFactor:()=>ai,user:()=>k,vault:()=>w,verification:()=>n,workspace:()=>q});var d=c(61278),e=c(63907),f=c(76084),g=c(56864),h=c(34270),i=c(15765),j=c(95424);let k=(0,d.D)("user",{id:(0,e.Qq)("id").primaryKey(),name:(0,e.Qq)("name").notNull(),email:(0,e.Qq)("email").notNull().unique(),emailVerified:(0,f.nd)("email_verified",{mode:"boolean"}).notNull().default(!1),image:(0,e.Qq)("image"),twoFactorEnabled:(0,f.nd)("two_factor_enabled",{mode:"boolean"}).notNull().default(!1),addressAs:(0,e.Qq)("address_as").notNull().default(""),lang:(0,e.Qq)("lang").notNull().default("English (US)"),tz:(0,e.Qq)("tz").notNull().default("UTC"),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`),updatedAt:(0,f.nd)("updated_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)}),l=(0,d.D)("session",{id:(0,e.Qq)("id").primaryKey(),userId:(0,e.Qq)("user_id").notNull().references(()=>k.id,{onDelete:"cascade"}),token:(0,e.Qq)("token").notNull().unique(),expiresAt:(0,f.nd)("expires_at",{mode:"timestamp"}).notNull(),ipAddress:(0,e.Qq)("ip_address"),userAgent:(0,e.Qq)("user_agent"),activeOrgId:(0,e.Qq)("active_org_id"),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`),updatedAt:(0,f.nd)("updated_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)}),m=(0,d.D)("account",{id:(0,e.Qq)("id").primaryKey(),userId:(0,e.Qq)("user_id").notNull().references(()=>k.id,{onDelete:"cascade"}),accountId:(0,e.Qq)("account_id").notNull(),providerId:(0,e.Qq)("provider_id").notNull(),accessToken:(0,e.Qq)("access_token"),refreshToken:(0,e.Qq)("refresh_token"),password:(0,e.Qq)("password"),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`),updatedAt:(0,f.nd)("updated_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)}),n=(0,d.D)("verification",{id:(0,e.Qq)("id").primaryKey(),identifier:(0,e.Qq)("identifier").notNull(),value:(0,e.Qq)("value").notNull(),expiresAt:(0,f.nd)("expires_at",{mode:"timestamp"}).notNull(),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`),updatedAt:(0,f.nd)("updated_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)}),o=(0,d.D)("organization",{id:(0,e.Qq)("id").primaryKey(),name:(0,e.Qq)("name").notNull(),ownerId:(0,e.Qq)("owner_id").notNull().references(()=>k.id,{onDelete:"cascade"}),runMode:(0,e.Qq)("run_mode",{enum:["start","auth","vps","portable"]}).notNull().default("start"),archived:(0,f.nd)("archived",{mode:"boolean"}).notNull().default(!1),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)}),p=(0,d.D)("member",{id:(0,e.Qq)("id").primaryKey(),orgId:(0,e.Qq)("org_id").notNull().references(()=>o.id,{onDelete:"cascade"}),userId:(0,e.Qq)("user_id").notNull().references(()=>k.id,{onDelete:"cascade"}),role:(0,e.Qq)("role",{enum:["owner","admin","member"]}).notNull().default("owner")}),q=(0,d.D)("workspace",{id:(0,e.Qq)("id").primaryKey(),orgId:(0,e.Qq)("org_id").notNull().references(()=>o.id,{onDelete:"cascade"}),slug:(0,e.Qq)("slug").notNull().unique(),name:(0,e.Qq)("name").notNull(),mission:(0,e.Qq)("mission").notNull().default(""),objective:(0,e.Qq)("objective").notNull().default(""),stack:(0,e.Qq)("stack",{mode:"json"}).$type().notNull().default({}),runMode:(0,e.Qq)("run_mode",{enum:["off","start","auth","vps","portable"]}).notNull().default("start"),bootstrap:(0,e.Qq)("bootstrap",{enum:["pending","template-only","enriching","done"]}).notNull().default("template-only"),settings:(0,e.Qq)("settings",{mode:"json"}).$type(),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)}),r=(0,d.D)("agent",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),handle:(0,e.Qq)("handle").notNull(),name:(0,e.Qq)("name").notNull(),role:(0,e.Qq)("role").notNull(),color:(0,e.Qq)("color").notNull().default("#e0a44e"),image:(0,e.Qq)("image"),adapter:(0,e.Qq)("adapter").notNull().default("cli_claude_code"),model:(0,e.Qq)("model").notNull().default("sonnet"),temperature:(0,g.x)("temperature").notNull().default(.4),dailyCapUsd:(0,g.x)("daily_cap_usd").notNull().default(25),tierFloor:(0,e.Qq)("tier_floor",{enum:["light","heavy","critical"]}).notNull().default("heavy"),reportsTo:(0,e.Qq)("reports_to"),status:(0,e.Qq)("status",{enum:["idle","working","review","blocked"]}).notNull().default("idle"),health:(0,e.Qq)("health",{enum:["alive","stale","down"]}).notNull().default("alive"),lastPulse:(0,f.nd)("last_pulse",{mode:"timestamp"}),persona:(0,e.Qq)("persona",{mode:"json"}).$type(),rag:(0,e.Qq)("rag",{mode:"json"}).$type(),orgX:(0,g.x)("org_x"),orgY:(0,g.x)("org_y")},a=>({wsIdx:(0,h.Pe)("agent_ws_idx").on(a.workspaceId)})),s=(0,d.D)("pulse",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),agentId:(0,e.Qq)("agent_id").notNull().references(()=>r.id,{onDelete:"cascade"}),at:(0,f.nd)("at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`),ok:(0,f.nd)("ok",{mode:"boolean"}).notNull().default(!0),latencyMs:(0,f.nd)("latency_ms").notNull().default(0),note:(0,e.Qq)("note").notNull().default("")},a=>({agentIdx:(0,h.Pe)("pulse_agent_idx").on(a.agentId)})),t=(0,d.D)("skill",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),name:(0,e.Qq)("name").notNull(),summary:(0,e.Qq)("summary").notNull().default(""),instructions:(0,e.Qq)("instructions").notNull().default(""),trigger:(0,e.Qq)("trigger").notNull().default(""),native:(0,f.nd)("native",{mode:"boolean"}).notNull().default(!1),provisional:(0,f.nd)("provisional",{mode:"boolean"}).notNull().default(!1),indexed:(0,e.Qq)("indexed",{enum:["pending","indexed"]}).notNull().default("pending"),proposedRole:(0,e.Qq)("proposed_role")},a=>({wsIdx:(0,h.Pe)("skill_ws_idx").on(a.workspaceId)})),u=(0,d.D)("agent_skill",{agentId:(0,e.Qq)("agent_id").notNull().references(()=>r.id,{onDelete:"cascade"}),skillId:(0,e.Qq)("skill_id").notNull().references(()=>t.id,{onDelete:"cascade"}),auto:(0,f.nd)("auto",{mode:"boolean"}).notNull().default(!0)},a=>({pk:(0,i.ie)({columns:[a.agentId,a.skillId]})})),v=(0,d.D)("provider",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),catalogId:(0,e.Qq)("catalog_id").notNull(),adapter:(0,e.Qq)("adapter").notNull(),kind:(0,e.Qq)("kind",{enum:["cloud","cli","local"]}).notNull().default("cloud"),auth:(0,e.Qq)("auth",{enum:["api_key","oauth","cli","local","none"]}).notNull().default("api_key"),status:(0,e.Qq)("status",{enum:["connected","needs_sync","error"]}).notNull().default("needs_sync"),syncStatus:(0,e.Qq)("sync_status",{enum:["implemented","manual","not_implemented"]}).notNull().default("not_implemented"),modelCount:(0,f.nd)("model_count").notNull().default(0),lastSync:(0,f.nd)("last_sync",{mode:"timestamp"}),cliVersion:(0,e.Qq)("cli_version"),defaultModel:(0,e.Qq)("default_model"),authState:(0,e.Qq)("auth_state")},a=>({wsIdx:(0,h.Pe)("provider_ws_idx").on(a.workspaceId)})),w=(0,d.D)("vault",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),providerId:(0,e.Qq)("provider_id").references(()=>v.id,{onDelete:"cascade"}),ref:(0,e.Qq)("ref").notNull(),ciphertext:(0,e.Qq)("ciphertext").notNull(),iv:(0,e.Qq)("iv").notNull()}),x=(0,d.D)("provider_model",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),providerId:(0,e.Qq)("provider_id").notNull().references(()=>v.id,{onDelete:"cascade"}),catalogId:(0,e.Qq)("catalog_id").notNull(),modelId:(0,e.Qq)("model_id").notNull(),name:(0,e.Qq)("name").notNull().default(""),context:(0,f.nd)("context").notNull().default(0),outputLimit:(0,f.nd)("output_limit").notNull().default(0),inputCost:(0,g.x)("input_cost").notNull().default(0),outputCost:(0,g.x)("output_cost").notNull().default(0),caps:(0,e.Qq)("caps",{mode:"json"}).$type(),released:(0,e.Qq)("released").notNull().default(""),isDefault:(0,f.nd)("is_default",{mode:"boolean"}).notNull().default(!1),lastSeen:(0,f.nd)("last_seen",{mode:"timestamp"}).$defaultFn(()=>new Date)},a=>({provIdx:(0,h.Pe)("provider_model_prov_idx").on(a.providerId)})),y=(0,d.D)("local_model",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),name:(0,e.Qq)("name").notNull(),file:(0,e.Qq)("file").notNull(),quant:(0,e.Qq)("quant").notNull().default("Q4_K_M"),params:(0,e.Qq)("params").notNull().default(""),sizeBytes:(0,f.nd)("size_bytes").notNull().default(0),sha256:(0,e.Qq)("sha256").notNull().default(""),bind:(0,e.Qq)("bind").notNull().default("127.0.0.1:8080"),loaded:(0,f.nd)("loaded",{mode:"boolean"}).notNull().default(!1)}),z=(0,d.D)("goal",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),title:(0,e.Qq)("title").notNull(),description:(0,e.Qq)("description").notNull().default(""),ownerId:(0,e.Qq)("owner_id").references(()=>r.id),progress:(0,f.nd)("progress").notNull().default(0),parentId:(0,e.Qq)("parent_id"),status:(0,e.Qq)("status",{enum:["active","cancelled","archived","done"]}).notNull().default("active"),specId:(0,e.Qq)("spec_id"),archivePath:(0,e.Qq)("archive_path").notNull().default(""),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).$defaultFn(()=>new Date),updatedAt:(0,f.nd)("updated_at",{mode:"timestamp"}).$defaultFn(()=>new Date).$onUpdateFn(()=>new Date),doneAt:(0,f.nd)("done_at",{mode:"timestamp"}),cancelledAt:(0,f.nd)("cancelled_at",{mode:"timestamp"}),archivedAt:(0,f.nd)("archived_at",{mode:"timestamp"}),reopenedAt:(0,f.nd)("reopened_at",{mode:"timestamp"})},a=>({wsIdx:(0,h.Pe)("goal_ws_idx").on(a.workspaceId)})),A=(0,d.D)("goal_file",{workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),goalId:(0,e.Qq)("goal_id").notNull(),path:(0,e.Qq)("path").notNull(),op:(0,e.Qq)("op").notNull().default("edit"),at:(0,f.nd)("at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({pk:(0,i.ie)({columns:[a.goalId,a.path]})})),B=(0,d.D)("task",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),key:(0,e.Qq)("key").notNull(),title:(0,e.Qq)("title").notNull(),description:(0,e.Qq)("description").notNull().default(""),col:(0,e.Qq)("col",{enum:["triage","todo","doing","blocked","review","done"]}).notNull().default("triage"),prio:(0,e.Qq)("prio",{enum:["low","med","high"]}).notNull().default("med"),assigneeId:(0,e.Qq)("assignee_id").references(()=>r.id),goalId:(0,e.Qq)("goal_id").references(()=>z.id),issueId:(0,e.Qq)("issue_id").references(()=>E.id),createdBy:(0,e.Qq)("created_by",{enum:["operator","agent"]}).notNull().default("operator"),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).$defaultFn(()=>new Date),updatedAt:(0,f.nd)("updated_at",{mode:"timestamp"}).$defaultFn(()=>new Date).$onUpdateFn(()=>new Date)},a=>({wsIdx:(0,h.Pe)("task_ws_idx").on(a.workspaceId)})),C=(0,d.D)("task_step",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),taskId:(0,e.Qq)("task_id").notNull().references(()=>B.id,{onDelete:"cascade"}),text:(0,e.Qq)("text").notNull(),done:(0,f.nd)("done",{mode:"boolean"}).notNull().default(!1),active:(0,f.nd)("active",{mode:"boolean"}).notNull().default(!1),ord:(0,f.nd)("ord").notNull().default(0),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).$defaultFn(()=>new Date),updatedAt:(0,f.nd)("updated_at",{mode:"timestamp"}).$defaultFn(()=>new Date).$onUpdateFn(()=>new Date)},a=>({taskIdx:(0,h.Pe)("task_step_idx").on(a.taskId)})),D=(0,d.D)("spec",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),key:(0,e.Qq)("key").notNull(),title:(0,e.Qq)("title").notNull(),summary:(0,e.Qq)("summary").notNull().default(""),authorId:(0,e.Qq)("author_id").references(()=>r.id),body:(0,e.Qq)("body").notNull().default(""),approved:(0,f.nd)("approved",{mode:"boolean"}).notNull().default(!1),goalId:(0,e.Qq)("goal_id"),status:(0,e.Qq)("status",{enum:["active","cancelled","archived"]}).notNull().default("active"),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).$defaultFn(()=>new Date),updatedAt:(0,f.nd)("updated_at",{mode:"timestamp"}).$defaultFn(()=>new Date).$onUpdateFn(()=>new Date)}),E=(0,d.D)("issue",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),specId:(0,e.Qq)("spec_id").references(()=>D.id,{onDelete:"cascade"}),goalId:(0,e.Qq)("goal_id"),key:(0,e.Qq)("key").notNull(),title:(0,e.Qq)("title").notNull(),prio:(0,e.Qq)("prio",{enum:["low","med","high"]}).notNull().default("med"),col:(0,e.Qq)("col",{enum:["todo","doing","blocked","review","done"]}).notNull().default("todo"),moscow:(0,e.Qq)("moscow",{enum:["Must","Should","Could","Won't"]}),points:(0,f.nd)("points").notNull().default(0),assigneeId:(0,e.Qq)("assignee_id").references(()=>r.id),approved:(0,f.nd)("approved",{mode:"boolean"}).notNull().default(!1),status:(0,e.Qq)("status",{enum:["active","cancelled","archived"]}).notNull().default("active"),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).$defaultFn(()=>new Date),updatedAt:(0,f.nd)("updated_at",{mode:"timestamp"}).$defaultFn(()=>new Date).$onUpdateFn(()=>new Date)}),F=(0,d.D)("plan",{workspaceId:(0,e.Qq)("workspace_id").primaryKey().references(()=>q.id,{onDelete:"cascade"}),approved:(0,f.nd)("approved",{mode:"boolean"}).notNull().default(!1),auto247:(0,f.nd)("auto_247",{mode:"boolean"}).notNull().default(!1),stage:(0,f.nd)("stage").notNull().default(4),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).$defaultFn(()=>new Date),updatedAt:(0,f.nd)("updated_at",{mode:"timestamp"}).$defaultFn(()=>new Date).$onUpdateFn(()=>new Date)}),G=(0,d.D)("report",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),title:(0,e.Qq)("title").notNull(),type:(0,e.Qq)("type").notNull().default("Report"),authorId:(0,e.Qq)("author_id").references(()=>r.id),body:(0,e.Qq)("body").notNull().default(""),goalId:(0,e.Qq)("goal_id"),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)}),H=(0,d.D)("notification",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),kind:(0,e.Qq)("kind").notNull().default("info"),text:(0,e.Qq)("text").notNull(),detail:(0,e.Qq)("detail").notNull().default(""),agentId:(0,e.Qq)("agent_id").references(()=>r.id),messageId:(0,e.Qq)("message_id"),channel:(0,e.Qq)("channel").notNull().default(""),read:(0,f.nd)("read",{mode:"boolean"}).notNull().default(!1),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({wsIdx:(0,h.Pe)("notif_ws_idx").on(a.workspaceId)})),I=(0,d.D)("channel_read",{workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),channel:(0,e.Qq)("channel").notNull(),lastReadAt:(0,f.nd)("last_read_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({pk:(0,i.ie)({columns:[a.workspaceId,a.channel]})})),J=(0,d.D)("budget",{workspaceId:(0,e.Qq)("workspace_id").primaryKey().references(()=>q.id,{onDelete:"cascade"}),monthlyCapUsd:(0,g.x)("monthly_cap_usd").notNull().default(400),monthlySpentUsd:(0,g.x)("monthly_spent_usd").notNull().default(0)}),K=(0,d.D)("cost_entry",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),agentId:(0,e.Qq)("agent_id").references(()=>r.id),provider:(0,e.Qq)("provider"),model:(0,e.Qq)("model"),channel:(0,e.Qq)("channel"),usd:(0,g.x)("usd").notNull().default(0),tokens:(0,f.nd)("tokens").notNull().default(0),at:(0,f.nd)("at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({wsIdx:(0,h.Pe)("cost_ws_idx").on(a.workspaceId)})),L=(0,d.D)("message",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),channel:(0,e.Qq)("channel").notNull().default("room"),fromKind:(0,e.Qq)("from_kind",{enum:["operator","agent"]}).notNull(),fromHandle:(0,e.Qq)("from_handle"),text:(0,e.Qq)("text").notNull(),sources:(0,e.Qq)("sources",{mode:"json"}).$type(),attachments:(0,e.Qq)("attachments",{mode:"json"}).$type(),sessionId:(0,e.Qq)("session_id"),taskId:(0,e.Qq)("task_id"),kind:(0,e.Qq)("kind"),blocks:(0,e.Qq)("blocks",{mode:"json"}).$type(),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({wsChanIdx:(0,h.Pe)("msg_ws_chan_idx").on(a.workspaceId,a.channel)})),M=(0,d.D)("chat_session",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),channel:(0,e.Qq)("channel").notNull(),title:(0,e.Qq)("title").notNull().default("Session"),active:(0,f.nd)("active",{mode:"boolean"}).notNull().default(!1),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).$defaultFn(()=>new Date)},a=>({wsChanIdx:(0,h.Pe)("chat_session_ws_chan_idx").on(a.workspaceId,a.channel)})),N=(0,d.D)("event",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),runId:(0,e.Qq)("run_id").notNull(),channel:(0,e.Qq)("channel").notNull().default("room"),agentId:(0,e.Qq)("agent_id").references(()=>r.id),seq:(0,f.nd)("seq").notNull(),kind:(0,e.Qq)("kind").notNull(),target:(0,e.Qq)("target").notNull().default(""),detail:(0,e.Qq)("detail").notNull().default(""),at:(0,f.nd)("at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({chanIdx:(0,h.Pe)("event_chan_seq_idx").on(a.workspaceId,a.channel,a.seq),runIdx:(0,h.Pe)("event_run_idx").on(a.runId)})),O=(0,d.D)("deploy_run",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),status:(0,e.Qq)("status").notNull().default("idle"),runId:(0,e.Qq)("run_id").notNull().default(""),steps:(0,e.Qq)("steps").notNull().default("[]"),summary:(0,e.Qq)("summary").notNull().default(""),buildLog:(0,e.Qq)("build_log").notNull().default(""),checklist:(0,e.Qq)("checklist").notNull().default("[]"),lastExport:(0,e.Qq)("last_export"),startedAt:(0,f.nd)("started_at",{mode:"timestamp"}),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`),updatedAt:(0,f.nd)("updated_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({wsIdx:(0,h.Pe)("deploy_run_ws_idx").on(a.workspaceId)})),P=(0,d.D)("message_summary",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),channel:(0,e.Qq)("channel").notNull(),sessionId:(0,e.Qq)("session_id"),summary:(0,e.Qq)("summary").notNull().default(""),throughId:(0,e.Qq)("through_id").notNull().default(""),msgCount:(0,f.nd)("msg_count").notNull().default(0),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({wsChanIdx:(0,h.Pe)("msgsum_ws_chan_idx").on(a.workspaceId,a.channel)})),Q=(0,d.D)("decision",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),goalId:(0,e.Qq)("goal_id"),text:(0,e.Qq)("text").notNull(),rationale:(0,e.Qq)("rationale").notNull().default(""),by:(0,e.Qq)("by").notNull().default(""),source:(0,e.Qq)("source").notNull().default(""),refKey:(0,e.Qq)("ref_key").notNull().default(""),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({wsIdx:(0,h.Pe)("decision_ws_idx").on(a.workspaceId,a.createdAt)})),R=(0,d.D)("file",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),path:(0,e.Qq)("path").notNull(),lang:(0,e.Qq)("lang").notNull().default("ts"),content:(0,e.Qq)("content").notNull().default(""),gitStatus:(0,e.Qq)("git_status",{enum:["","M","A","U","D"]}).notNull().default("")},a=>({wsPathIdx:(0,h.Pe)("file_ws_path_idx").on(a.workspaceId,a.path)})),S=(0,d.D)("routine",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),name:(0,e.Qq)("name").notNull(),agentId:(0,e.Qq)("agent_id").references(()=>r.id),cmd:(0,e.Qq)("cmd").notNull().default(""),freq:(0,e.Qq)("freq").notNull().default("Daily"),enabled:(0,f.nd)("enabled",{mode:"boolean"}).notNull().default(!0)}),T=(0,d.D)("cron_job",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),task:(0,e.Qq)("task").notNull(),agentId:(0,e.Qq)("agent_id").references(()=>r.id),at:(0,e.Qq)("at").notNull().default("00:00")}),U=(0,d.D)("cron_run",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),task:(0,e.Qq)("task").notNull(),agentId:(0,e.Qq)("agent_id").references(()=>r.id),at:(0,f.nd)("at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`),ok:(0,f.nd)("ok",{mode:"boolean"}).notNull().default(!0)}),V=(0,d.D)("finding",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),sev:(0,e.Qq)("sev",{enum:["high","med","low"]}).notNull().default("med"),title:(0,e.Qq)("title").notNull(),file:(0,e.Qq)("file").notNull().default(""),suggestion:(0,e.Qq)("suggestion").notNull().default(""),status:(0,e.Qq)("status",{enum:["open","fixed"]}).notNull().default("open")}),W=(0,d.D)("inbox_item",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),kind:(0,e.Qq)("kind",{enum:["approval","budget","question","review","block","validation"]}).notNull().default("approval"),title:(0,e.Qq)("title").notNull(),detail:(0,e.Qq)("detail").notNull().default(""),fromAgentId:(0,e.Qq)("from_agent_id").references(()=>r.id),resolved:(0,f.nd)("resolved",{mode:"boolean"}).notNull().default(!1),refType:(0,e.Qq)("ref_type"),refId:(0,e.Qq)("ref_id"),goalId:(0,e.Qq)("goal_id"),channel:(0,e.Qq)("channel"),messageId:(0,e.Qq)("message_id"),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).$defaultFn(()=>new Date)}),X=(0,d.D)("plugin",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),name:(0,e.Qq)("name").notNull(),description:(0,e.Qq)("description").notNull().default(""),enabled:(0,f.nd)("enabled",{mode:"boolean"}).notNull().default(!1),native:(0,f.nd)("native",{mode:"boolean"}).notNull().default(!1)}),Y=(0,d.D)("test_run",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),goalId:(0,e.Qq)("goal_id"),issueId:(0,e.Qq)("issue_id"),status:(0,e.Qq)("status",{enum:["running","pass","fail","inconclusive"]}).notNull().default("running"),summary:(0,e.Qq)("summary").notNull().default(""),findings:(0,e.Qq)("findings").notNull().default("[]"),by:(0,e.Qq)("by",{enum:["operator","agent"]}).notNull().default("operator"),startedAt:(0,f.nd)("started_at",{mode:"timestamp"}).$defaultFn(()=>new Date),finishedAt:(0,f.nd)("finished_at",{mode:"timestamp"})},a=>({wsIdx:(0,h.Pe)("test_run_ws_idx").on(a.workspaceId)})),Z=(0,d.D)("activity",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),agentId:(0,e.Qq)("agent_id").references(()=>r.id),action:(0,e.Qq)("action").notNull(),target:(0,e.Qq)("target").notNull().default(""),at:(0,f.nd)("at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({wsIdx:(0,h.Pe)("activity_ws_idx").on(a.workspaceId)})),$=(0,d.D)("backlog_item",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),title:(0,e.Qq)("title").notNull(),moscow:(0,e.Qq)("moscow",{enum:["Must","Should","Could","Won't"]}).notNull().default("Should"),points:(0,f.nd)("points").notNull().default(0),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({wsIdx:(0,h.Pe)("backlog_ws_idx").on(a.workspaceId)})),_=(0,d.D)("rag_chunk",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),path:(0,e.Qq)("path").notNull(),chunk:(0,e.Qq)("chunk").notNull(),vector:(0,e.Qq)("vector"),kbEntryId:(0,e.Qq)("kb_entry_id"),obsolete:(0,f.nd)("obsolete",{mode:"boolean"}).notNull().default(!1),updatedAt:(0,f.nd)("updated_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({wsIdx:(0,h.Pe)("rag_ws_idx").on(a.workspaceId,a.path)})),aa=(0,d.D)("doc_index",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),kind:(0,e.Qq)("kind",{enum:["docs","po"]}).notNull(),path:(0,e.Qq)("path").notNull(),title:(0,e.Qq)("title").notNull().default(""),summary:(0,e.Qq)("summary").notNull().default(""),updatedAt:(0,f.nd)("updated_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({wsIdx:(0,h.Pe)("docidx_ws_path_idx").on(a.workspaceId,a.path)})),ab=(0,d.D)("kb_entry",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),type:(0,e.Qq)("type").notNull().default("note"),title:(0,e.Qq)("title").notNull(),summary:(0,e.Qq)("summary").notNull().default(""),body:(0,e.Qq)("body").notNull().default(""),status:(0,e.Qq)("status",{enum:["active","superseded","obsolete","archived"]}).notNull().default("active"),goalId:(0,e.Qq)("goal_id"),specId:(0,e.Qq)("spec_id"),issueId:(0,e.Qq)("issue_id"),taskId:(0,e.Qq)("task_id"),module:(0,e.Qq)("module").notNull().default(""),paths:(0,e.Qq)("paths",{mode:"json"}).$type(),agentHandle:(0,e.Qq)("agent_handle").notNull().default(""),sourceKind:(0,e.Qq)("source_kind").notNull().default(""),sourceRef:(0,e.Qq)("source_ref").notNull().default(""),supersedesId:(0,e.Qq)("supersedes_id"),hash:(0,e.Qq)("hash").notNull().default(""),confidence:(0,f.nd)("confidence").notNull().default(70),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`),updatedAt:(0,f.nd)("updated_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({wsTypeIdx:(0,h.Pe)("kb_ws_type_idx").on(a.workspaceId,a.type),wsGoalIdx:(0,h.Pe)("kb_ws_goal_idx").on(a.workspaceId,a.goalId)})),ac=(0,d.D)("file_lock",{workspaceId:(0,e.Qq)("workspace_id").notNull(),path:(0,e.Qq)("path").notNull(),taskId:(0,e.Qq)("task_id").notNull().default(""),agentId:(0,e.Qq)("agent_id").notNull().default(""),agentHandle:(0,e.Qq)("agent_handle").notNull().default(""),acquiredAt:(0,f.nd)("acquired_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`),heartbeatAt:(0,f.nd)("heartbeat_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({pk:(0,i.ie)({columns:[a.workspaceId,a.path]})})),ad=(0,d.D)("kb_query_log",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),agentHandle:(0,e.Qq)("agent_handle").notNull().default(""),query:(0,e.Qq)("query").notNull().default(""),hits:(0,f.nd)("hits").notNull().default(0),mode:(0,e.Qq)("mode").notNull().default(""),refs:(0,e.Qq)("refs",{mode:"json"}).$type(),answeredAt:(0,f.nd)("answered_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({wsIdx:(0,h.Pe)("kb_query_ws_idx").on(a.workspaceId,a.answeredAt)})),ae=(0,d.D)("synced_block",{workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),slug:(0,e.Qq)("slug").notNull(),kind:(0,e.Qq)("kind").notNull().default("note"),title:(0,e.Qq)("title").notNull().default(""),body:(0,e.Qq)("body").notNull().default(""),version:(0,f.nd)("version").notNull().default(1),updatedBy:(0,e.Qq)("updated_by").notNull().default(""),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`),updatedAt:(0,f.nd)("updated_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({pk:(0,i.ie)({columns:[a.workspaceId,a.slug]})})),af=(0,d.D)("block_proposal",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),slug:(0,e.Qq)("slug").notNull(),kind:(0,e.Qq)("kind").notNull().default("note"),title:(0,e.Qq)("title").notNull().default(""),body:(0,e.Qq)("body").notNull().default(""),byAgentHandle:(0,e.Qq)("by_agent_handle").notNull().default(""),status:(0,e.Qq)("status",{enum:["pending","merged","rejected"]}).notNull().default("pending"),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`),decidedAt:(0,f.nd)("decided_at",{mode:"timestamp"}),decidedBy:(0,e.Qq)("decided_by").notNull().default("")},a=>({wsIdx:(0,h.Pe)("block_prop_ws_idx").on(a.workspaceId,a.status)})),ag=(0,d.D)("notification_pref",{userId:(0,e.Qq)("user_id").primaryKey().references(()=>k.id,{onDelete:"cascade"}),email:(0,f.nd)("email",{mode:"boolean"}).notNull().default(!0),telegram:(0,f.nd)("telegram",{mode:"boolean"}).notNull().default(!0),inapp:(0,f.nd)("inapp",{mode:"boolean"}).notNull().default(!0),weekly:(0,f.nd)("weekly",{mode:"boolean"}).notNull().default(!1),reducedMotion:(0,f.nd)("reduced_motion",{mode:"boolean"}).notNull().default(!1)}),ah=(0,d.D)("personal_access_token",{id:(0,e.Qq)("id").primaryKey(),userId:(0,e.Qq)("user_id").notNull().references(()=>k.id,{onDelete:"cascade"}),name:(0,e.Qq)("name").notNull(),scope:(0,e.Qq)("scope").notNull().default("read"),tokenHash:(0,e.Qq)("token_hash").notNull(),prefix:(0,e.Qq)("prefix").notNull(),lastUsedAt:(0,f.nd)("last_used_at",{mode:"timestamp"}),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({userIdx:(0,h.Pe)("pat_user_idx").on(a.userId)})),ai=(0,d.D)("two_factor",{id:(0,e.Qq)("id").primaryKey(),secret:(0,e.Qq)("secret").notNull(),backupCodes:(0,e.Qq)("backup_codes").notNull(),userId:(0,e.Qq)("user_id").notNull().references(()=>k.id,{onDelete:"cascade"})},a=>({userIdx:(0,h.Pe)("twofactor_user_idx").on(a.userId)})),aj=(0,d.D)("passkey",{id:(0,e.Qq)("id").primaryKey(),userId:(0,e.Qq)("user_id").notNull().references(()=>k.id,{onDelete:"cascade"}),name:(0,e.Qq)("name").notNull().default("Passkey"),credentialId:(0,e.Qq)("credential_id").notNull().unique(),publicKey:(0,e.Qq)("public_key").notNull(),counter:(0,f.nd)("counter").notNull().default(0),deviceType:(0,e.Qq)("device_type").notNull().default(""),backedUp:(0,f.nd)("backed_up",{mode:"boolean"}).notNull().default(!1),transports:(0,e.Qq)("transports").notNull().default(""),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({userIdx:(0,h.Pe)("passkey_user_idx").on(a.userId)})),ak=(0,d.D)("design_session",{id:(0,e.Qq)("id").primaryKey(),workspaceId:(0,e.Qq)("workspace_id").notNull().references(()=>q.id,{onDelete:"cascade"}),title:(0,e.Qq)("title").notNull().default("Design session"),status:(0,e.Qq)("status",{enum:["building","approved"]}).notNull().default("building"),tokens:(0,e.Qq)("tokens",{mode:"json"}).$type().notNull().default({}),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`),updatedAt:(0,f.nd)("updated_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({wsIdx:(0,h.Pe)("design_session_ws_idx").on(a.workspaceId,a.createdAt)})),al=(0,d.D)("design_page",{id:(0,e.Qq)("id").primaryKey(),sessionId:(0,e.Qq)("session_id").notNull().references(()=>ak.id,{onDelete:"cascade"}),key:(0,e.Qq)("key").notNull(),name:(0,e.Qq)("name").notNull(),tree:(0,e.Qq)("tree",{mode:"json"})},a=>({sessIdx:(0,h.Pe)("design_page_sess_idx").on(a.sessionId)})),am=(0,d.D)("design_version",{id:(0,e.Qq)("id").primaryKey(),sessionId:(0,e.Qq)("session_id").notNull().references(()=>ak.id,{onDelete:"cascade"}),label:(0,e.Qq)("label").notNull(),note:(0,e.Qq)("note").notNull().default(""),patch:(0,e.Qq)("patch",{mode:"json"}),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({sessIdx:(0,h.Pe)("design_version_sess_idx").on(a.sessionId,a.createdAt)})),an=(0,d.D)("design_comment",{id:(0,e.Qq)("id").primaryKey(),sessionId:(0,e.Qq)("session_id").notNull().references(()=>ak.id,{onDelete:"cascade"}),pageKey:(0,e.Qq)("page_key").notNull(),xp:(0,g.x)("xp").notNull(),yp:(0,g.x)("yp").notNull(),body:(0,e.Qq)("body").notNull(),reply:(0,e.Qq)("reply").notNull().default(""),selection:(0,e.Qq)("selection",{mode:"json"}),createdAt:(0,f.nd)("created_at",{mode:"timestamp"}).notNull().default((0,j.ll)`(unixepoch())`)},a=>({sessIdx:(0,h.Pe)("design_comment_sess_idx").on(a.sessionId)}))}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=9180,exports.ids=[9180],exports.modules={50086:(a,b,c)=>{c.d(b,{n:()=>d,t:()=>e});let d="kysely_migration",e="kysely_migration_lock"},69180:(a,b,c)=>{c.d(b,{D1SqliteDialect:()=>l});var d=c(50086),e=c(86785),f=c(7002),g=class extends e.U{},h=class{#a;#b;constructor(a){this.#a={...a}}async init(){this.#b=new i(this.#a.database),this.#a.onCreateConnection&&await this.#a.onCreateConnection(this.#b)}async acquireConnection(){return this.#b}async beginTransaction(){throw Error("D1 does not support interactive transactions. Use the D1 batch() API instead.")}async commitTransaction(){throw Error("D1 does not support interactive transactions. Use the D1 batch() API instead.")}async rollbackTransaction(){throw Error("D1 does not support interactive transactions. Use the D1 batch() API instead.")}async releaseConnection(){}async destroy(){}},i=class{#c;constructor(a){this.#c=a}async executeQuery(a){let b=await this.#c.prepare(a.sql).bind(...a.parameters).all(),c=null!=b.meta.changes?BigInt(b.meta.changes):void 0;return{insertId:void 0===b.meta.last_row_id||null===b.meta.last_row_id?void 0:BigInt(b.meta.last_row_id),rows:b?.results||[],numAffectedRows:c}}async *streamQuery(){throw Error("D1 does not support streaming queries.")}},j=class{#c;#d;constructor(a,b){this.#c=a,this.#d=b}async getSchemas(){return[]}async getTables(a={withInternalKyselyTables:!1}){let b=this.#c.selectFrom("sqlite_master").where("type","in",["table","view"]).where("name","not like","sqlite_%").where("name","not like","_cf_%").select(["name","type","sql"]).$castTo();a.withInternalKyselyTables||(b=b.where("name","!=",d.n).where("name","!=",d.t));let c=await b.execute();if(0===c.length)return[];let e=c.map(a=>this.#d.prepare("SELECT * FROM pragma_table_info(?)").bind(a.name)),f=await this.#d.batch(e);return c.map((a,b)=>{let c=f[b]?.results??[],d=a.sql?.split(/[(),]/)?.find(a=>a.toLowerCase().includes("autoincrement"))?.split(/\s+/)?.filter(Boolean)?.[0]?.replace(/["`]/g,"");if(!d){let a=c.filter(a=>a.pk>0),b=1===a.length?a[0]:void 0;b&&"integer"===b.type.toLowerCase()&&(d=b.name)}return{name:a.name,isView:"view"===a.type,isForeign:!1,columns:c.map(a=>({name:a.name,dataType:a.type,isNullable:!a.notnull,isAutoIncrementing:a.name===d,hasDefaultValue:null!=a.dflt_value}))}})}},k=class extends f.s{},l=class{#a;constructor(a){this.#a={...a}}createDriver(){return new h(this.#a)}createQueryCompiler(){return new k}createAdapter(){return new g}createIntrospector(a){return new j(a,this.#a.database)}}}};