bazilion 0.12.2 → 0.14.0

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 (217) hide show
  1. package/README.md +2 -2
  2. package/dist/cli.js +795 -240
  3. package/dist/cli.js.map +1 -1
  4. package/dist/daemon.js +4555 -1280
  5. package/dist/daemon.js.map +1 -1
  6. package/dist/migrations/0001_init.sql +21 -0
  7. package/dist/web/client/assets/AgentTabs-BcmmwYJc.js +1 -0
  8. package/dist/web/client/assets/ConfigPage-BCLp-FUC.js +1 -0
  9. package/dist/web/client/assets/ConfirmDialog-CyL9A20V.js +1 -0
  10. package/dist/web/client/assets/FieldRow-D6REbYUa.js +1 -0
  11. package/dist/web/client/assets/Page-NV96O47A.js +1 -0
  12. package/dist/web/client/assets/ProductionTeamPolicyEditor-DBKnOezm.js +7 -0
  13. package/dist/web/client/assets/{ProfileCommunicationEditor-C43HvUe-.js → ProfileCommunicationEditor-4RK2laqO.js} +1 -1
  14. package/dist/web/client/assets/SectionTabs-4kCQXuFY.js +1 -0
  15. package/dist/web/client/assets/TeamTabs-CdtNEqt4.js +1 -0
  16. package/dist/web/client/assets/{TemplatesTabs-6Jd_xQj7.js → TemplatesTabs-CZyss2Y0.js} +1 -1
  17. package/dist/web/client/assets/UnsavedChangesGuard-CEoK-ZcN.js +1 -0
  18. package/dist/web/client/assets/_id-4ZS-w_Aj.js +1 -0
  19. package/dist/web/client/assets/{_id-AOAT0H_5.js → _id-DIqtdQij.js} +1 -1
  20. package/dist/web/client/assets/_id-DbcC2E7F.js +1 -0
  21. package/dist/web/client/assets/_id-f_r5M0p3.js +1 -0
  22. package/dist/web/client/assets/activity-CB9Ufth-.js +1 -0
  23. package/dist/web/client/assets/agents-D-JGXVg9.js +1 -0
  24. package/dist/web/client/assets/agents-DS2XafoA.js +1 -0
  25. package/dist/web/client/assets/approvals-Cke_mrJv.js +1 -0
  26. package/dist/web/client/assets/attention-PYwRM2wC.js +1 -0
  27. package/dist/web/client/assets/chevron-right-BG4OeFRQ.js +1 -0
  28. package/dist/web/client/assets/config-DF9Gqmfa.js +3 -0
  29. package/dist/web/client/assets/dm-sans-latin-400-normal-BwCSEQnW.woff +0 -0
  30. package/dist/web/client/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2 +0 -0
  31. package/dist/web/client/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2 +0 -0
  32. package/dist/web/client/assets/dm-sans-latin-500-normal-Dr3UlScf.woff +0 -0
  33. package/dist/web/client/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2 +0 -0
  34. package/dist/web/client/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff +0 -0
  35. package/dist/web/client/assets/dm-sans-latin-700-normal-CUSSCpQX.woff +0 -0
  36. package/dist/web/client/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2 +0 -0
  37. package/dist/web/client/assets/dm-serif-display-latin-400-normal-C5_t9oOD.woff2 +0 -0
  38. package/dist/web/client/assets/dm-serif-display-latin-400-normal-_kVFYEpx.woff +0 -0
  39. package/dist/web/client/assets/{inbox-Bn1GbUsJ.js → inbox-DC_HdOfI.js} +1 -1
  40. package/dist/web/client/assets/index-Cofc7zhl.css +1 -0
  41. package/dist/web/client/assets/index-Cp6UHWr2.js +52 -0
  42. package/dist/web/client/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
  43. package/dist/web/client/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  44. package/dist/web/client/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
  45. package/dist/web/client/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
  46. package/dist/web/client/assets/learning-BfrQ4YZY.js +1 -0
  47. package/dist/web/client/assets/login-D4n3AcBR.js +1 -0
  48. package/dist/web/client/assets/mcp-CnjQc_JJ.js +1 -0
  49. package/dist/web/client/assets/members-wxsVTJdW.js +1 -0
  50. package/dist/web/client/assets/memory-Du60O3pE.js +1 -0
  51. package/dist/web/client/assets/{policy-DaijITy7.js → policy-BOfnkJsL.js} +1 -1
  52. package/dist/web/client/assets/{preload-helper-mNuBjNXU.js → preload-helper-bztXdkDj.js} +1 -1
  53. package/dist/web/client/assets/routes-B9CuhzUW.js +1 -0
  54. package/dist/web/client/assets/services-DyvqJqM2.js +1 -0
  55. package/dist/web/client/assets/skills-DQo7ioW7.js +1 -0
  56. package/dist/web/client/assets/styles-B5vcgXln.css +2 -0
  57. package/dist/web/client/assets/{teams-D92R9Pb7.js → teams-DPggy97H.js} +1 -1
  58. package/dist/web/client/assets/teams-DdawcfNR.js +1 -0
  59. package/dist/web/client/assets/telegram-DcTeDpP5.js +1 -0
  60. package/dist/web/client/assets/tokens-CIEKwZXc.js +1 -0
  61. package/dist/web/client/assets/triggers-Bc2RrUPm.js +1 -0
  62. package/dist/web/client/assets/utils-B6KiDbIe.js +1 -0
  63. package/dist/web/client/assets/welcome-DlhNXUIa.js +1 -0
  64. package/dist/web/client/assets/wire-constants-BzdHSc6A.js +74 -0
  65. package/dist/web/client/assets/x-DAXGIe_Q.js +1 -0
  66. package/dist/web/server/assets/{AgentTabs-aXdsiiMp.js → AgentTabs-Dq8hDM2Q.js} +9 -2
  67. package/dist/web/server/assets/{ChatPane-Ba5wTsVk.js → ChatPane-CgSe7tsy.js} +81 -43
  68. package/dist/web/server/assets/{ConfigPage-BKlh5vOU.js → ConfigPage-CiQ-gxmJ.js} +3 -2
  69. package/dist/web/server/assets/ConfirmDialog-C-MPYYSU.js +99 -0
  70. package/dist/web/server/assets/FieldRow-DCOF07kl.js +160 -0
  71. package/dist/web/server/assets/{Page-LENulSXY.js → Page-Bz-ydB8j.js} +4 -10
  72. package/dist/web/server/assets/{ProductionTeamPolicyEditor-Y4mzFFvR.js → ProductionTeamPolicyEditor-DQSdP7Yx.js} +140 -123
  73. package/dist/web/server/assets/{SectionTabs-BJTPr5nU.js → SectionTabs-B2Yw81XN.js} +2 -2
  74. package/dist/web/server/assets/{Sidebar-DsRVCszF.js → Sidebar-DKyk7oIo.js} +563 -283
  75. package/dist/web/server/assets/{TeamTabs-zZzbP1t_.js → TeamTabs-Co3n2exj.js} +2 -6
  76. package/dist/web/server/assets/{TemplatesTabs-CcRxZhJe.js → TemplatesTabs-B0fA361R.js} +1 -1
  77. package/dist/web/server/assets/UnsavedChangesGuard-CiStXyBI.js +40 -0
  78. package/dist/web/server/assets/{_id-Dj1yZ3zJ.js → _id-BAA9KJBU.js} +4 -4
  79. package/dist/web/server/assets/{_id-LrvXU4Nr.js → _id-BM5m2FLT.js} +4 -4
  80. package/dist/web/server/assets/{_id-CwyGjJeP.js → _id-BYKpT2Tu.js} +4 -5
  81. package/dist/web/server/assets/{_id-BHYLL8M-.js → _id-BeKhPKw3.js} +350 -185
  82. package/dist/web/server/assets/{_id-C3HY4lWg.js → _id-BqWTB8Wl.js} +188 -86
  83. package/dist/web/server/assets/{_id-DinTp_7X.js → _id-BwvCtzlD.js} +3 -3
  84. package/dist/web/server/assets/{_id-D27T85mU.js → _id-DYU6uIBx.js} +4 -5
  85. package/dist/web/server/assets/{_id-IzadFZV9.js → _id-DvlDkk04.js} +4 -4
  86. package/dist/web/server/assets/{_id-BhOB8Umi.js → _id-DxCnEFpm.js} +4 -4
  87. package/dist/web/server/assets/{_id-tB47Vsfp.js → _id-HMy7jM3P.js} +3 -3
  88. package/dist/web/server/assets/{_id-D3Ap7zZA.js → _id-ndxFHx0t.js} +75 -71
  89. package/dist/web/server/assets/{_id-FcHdSocl.js → _id-sNu5aXZt.js} +5 -4
  90. package/dist/web/server/assets/{_tanstack-start-manifest_v-BGDBdnUs.js → _tanstack-start-manifest_v-C-OiOZeM.js} +118 -94
  91. package/dist/web/server/assets/{activity-DohitgwW.js → activity-9VP6QDTH.js} +3 -3
  92. package/dist/web/server/assets/{activity-BCI4mfNS.js → activity-BWv1goK6.js} +3 -3
  93. package/dist/web/server/assets/{activity-D9SMqBhy.js → activity-LjpblbDL.js} +3 -3
  94. package/dist/web/server/assets/{agents-C9xlWK0Z.js → agents-BDFGrU3o.js} +4 -4
  95. package/dist/web/server/assets/{agents-BY74v7fM.js → agents-BJAv919x.js} +3 -3
  96. package/dist/web/server/assets/{agents-BvttypqB.js → agents-CJk4pxKu.js} +3 -3
  97. package/dist/web/server/assets/{agents-CgZMHj80.js → agents-CYw1xHoY.js} +138 -16
  98. package/dist/web/server/assets/{agents-DZuFEj0D.js → agents-DfNKc_Q7.js} +52 -8
  99. package/dist/web/server/assets/{agents-BPKOshR5.js → agents-DjyQk94u.js} +4 -4
  100. package/dist/web/server/assets/{approvals-CWcFHlor.js → approvals-7JOoBchn.js} +3 -3
  101. package/dist/web/server/assets/{approvals-BGU-XGIO.js → approvals-BYi84gwl.js} +3 -3
  102. package/dist/web/server/assets/{approvals-DCaVw1Mz.js → approvals-Bz123liE.js} +59 -21
  103. package/dist/web/server/assets/{attention-BxkTf337.js → attention-B35JvhOL.js} +3 -3
  104. package/dist/web/server/assets/{attention-w21GQIGH.js → attention-C1pPWSXw.js} +3 -3
  105. package/dist/web/server/assets/{attention-CM-Ks1N9.js → attention-UhqPK_Ro.js} +3 -3
  106. package/dist/web/server/assets/{auth-byfSx6Ja.js → auth-7BHTH-KS.js} +5 -5
  107. package/dist/web/server/assets/{config-BDCJdtj2.js → config-BMiajTZP.js} +10 -5
  108. package/dist/web/server/assets/{config-1w2GiJUn.js → config-BlMkHStx.js} +3 -3
  109. package/dist/web/server/assets/config-ExacOzHX.js +958 -0
  110. package/dist/web/server/assets/{createServerRpc-pU-IQV2Y.js → createServerRpc-B7Yr1K8i.js} +1 -1
  111. package/dist/web/server/assets/{createSsrRpc-DFsIAfFd.js → createSsrRpc-6LHNEsSK.js} +1 -1
  112. package/dist/web/server/assets/{daemon-client-2NRMzlTr.js → daemon-client-CI5NHwNC.js} +16 -4
  113. package/dist/web/server/assets/{inbox-CzlKT9Wg.js → inbox-Dv55rGYq.js} +4 -4
  114. package/dist/web/server/assets/{inbox-BLUzA5sQ.js → inbox-RweGCV3D.js} +3 -3
  115. package/dist/web/server/assets/{inbox-ZvDNAjaM.js → inbox-cu3jLzNP.js} +4 -4
  116. package/dist/web/server/assets/{learning-B7PBkvER.js → learning-BaKM6qaw.js} +4 -4
  117. package/dist/web/server/assets/{learning-8zav4pIT.js → learning-C2upa1CE.js} +4 -4
  118. package/dist/web/server/assets/{learning-Cq7K2heb.js → learning-CbtNlqYo.js} +76 -23
  119. package/dist/web/server/assets/{login-CmWvxfTK.js → login-BNj3U6ok.js} +22 -12
  120. package/dist/web/server/assets/{login-Bx5LEyGP.js → login-Be8eP4Jp.js} +2 -2
  121. package/dist/web/server/assets/{mcp-DIWTogHM.js → mcp-B0goWO8Q.js} +3 -3
  122. package/dist/web/server/assets/{mcp-2pwT9HU8.js → mcp-BvnvlVFd.js} +3 -3
  123. package/dist/web/server/assets/mcp-CiBs8unU.js +332 -0
  124. package/dist/web/server/assets/members-BP3UTqu1.js +12 -0
  125. package/dist/web/server/assets/members-DHYTVgwb.js +100 -0
  126. package/dist/web/server/assets/members-DiYtr-zm.js +12 -0
  127. package/dist/web/server/assets/{memory-Dngc13Nw.js → memory-BqV-Afy1.js} +4 -4
  128. package/dist/web/server/assets/{memory-a8Kz57Kh.js → memory-CkXUgf5s.js} +150 -48
  129. package/dist/web/server/assets/{memory-pZ4pZT7p.js → memory-DTFEmfF3.js} +4 -4
  130. package/dist/web/server/assets/{policy-Bb-vEgqg.js → policy-18fdTFO4.js} +3 -3
  131. package/dist/web/server/assets/{policy-C30AeFIb.js → policy-BddK4xom.js} +3 -3
  132. package/dist/web/server/assets/{policy-BcGELcc9.js → policy-Bvvav8fh.js} +4 -4
  133. package/dist/web/server/assets/public-origin-xV0lm0Ty.js +25 -0
  134. package/dist/web/server/assets/router-pjH2t8Rl.js +813 -0
  135. package/dist/web/server/assets/{routes-B6cMLIPk.js → routes-BgHisAxH.js} +22 -5
  136. package/dist/web/server/assets/{routes-BrA-U_Hm.js → routes-COtkyZG1.js} +5 -5
  137. package/dist/web/server/assets/{routes-C19CMLZt.js → routes-DAU2g7Uz.js} +4 -4
  138. package/dist/web/server/assets/services-ClyGBU7W.js +83 -0
  139. package/dist/web/server/assets/{services-C4szdhPx.js → services-DgoU1udp.js} +3 -3
  140. package/dist/web/server/assets/{services-wG8I06oS.js → services-DozuJtzX.js} +3 -3
  141. package/dist/web/server/assets/{skills-BZdqiDig.js → skills-CYih9TJw.js} +47 -6
  142. package/dist/web/server/assets/{skills-a9VSWHWq.js → skills-DfGSJTCB.js} +3 -3
  143. package/dist/web/server/assets/{skills-C-UgkuCW.js → skills-Dw3cI3si.js} +3 -3
  144. package/dist/web/server/assets/start-D4Wq9iTa.js +70 -0
  145. package/dist/web/server/assets/{teams-OIkHuxy1.js → teams-BJuoNOTB.js} +3 -3
  146. package/dist/web/server/assets/{teams-CpQ0YgWf.js → teams-DF3RViAg.js} +3 -3
  147. package/dist/web/server/assets/{teams-DEpQR2QA.js → teams-DFnuc660.js} +3 -3
  148. package/dist/web/server/assets/{teams-DqfrEoH6.js → teams-DPnAX4wD.js} +4 -4
  149. package/dist/web/server/assets/{teams-jBtvnk59.js → teams-TV6nbEN_.js} +101 -10
  150. package/dist/web/server/assets/{teams-MjqgsmC3.js → teams-be05ci17.js} +3 -3
  151. package/dist/web/server/assets/{telegram-DNgCWebD.js → telegram-1AWL6lFw.js} +3 -3
  152. package/dist/web/server/assets/{telegram-XwyKSEtj.js → telegram-DbOFpTFm.js} +3 -3
  153. package/dist/web/server/assets/{telegram-CBF8SJzB.js → telegram-Dj4Wwhd6.js} +262 -43
  154. package/dist/web/server/assets/tokens-DDwtO15P.js +359 -0
  155. package/dist/web/server/assets/tokens-DjM8GsgS.js +19 -0
  156. package/dist/web/server/assets/{tokens-BnwFbV7T.js → tokens-_2hptHP6.js} +4 -4
  157. package/dist/web/server/assets/{triggers-BZPl5CHs.js → triggers-BvjYNmmY.js} +4 -4
  158. package/dist/web/server/assets/triggers-CHk9O3rU.js +367 -0
  159. package/dist/web/server/assets/{triggers-D79NoSXk.js → triggers-Nezfw-Bd.js} +4 -4
  160. package/dist/web/server/assets/utils-C_uf36nf.js +8 -0
  161. package/dist/web/server/assets/{welcome-DDB11L5j.js → welcome-B8nchXdF.js} +9 -8
  162. package/dist/web/server/server.js +29 -33
  163. package/dist/web-server.js +4 -0
  164. package/dist/web-server.js.map +1 -1
  165. package/dist/worker.js +1744 -362
  166. package/dist/worker.js.map +1 -1
  167. package/package.json +7 -6
  168. package/dist/web/client/assets/AgentTabs-R6gSjIj3.js +0 -1
  169. package/dist/web/client/assets/ConfigPage-BCwfgyjD.js +0 -1
  170. package/dist/web/client/assets/FieldRow-avAFLgYW.js +0 -1
  171. package/dist/web/client/assets/Page-CwNuDhWz.js +0 -1
  172. package/dist/web/client/assets/ProductionTeamPolicyEditor-CsWpTsy6.js +0 -7
  173. package/dist/web/client/assets/SectionTabs-DZzy01az.js +0 -1
  174. package/dist/web/client/assets/TeamTabs-DvqWieCq.js +0 -1
  175. package/dist/web/client/assets/_id-BUuz7Drv.js +0 -1
  176. package/dist/web/client/assets/_id-BegmVRmT.js +0 -1
  177. package/dist/web/client/assets/_id-BrA4Crh_.js +0 -1
  178. package/dist/web/client/assets/activity-n0Fw9_w3.js +0 -1
  179. package/dist/web/client/assets/agents-B33VQtbl.js +0 -1
  180. package/dist/web/client/assets/agents-C50pdxp7.js +0 -1
  181. package/dist/web/client/assets/approvals-DVW0hX8h.js +0 -1
  182. package/dist/web/client/assets/attention-B2490jcN.js +0 -1
  183. package/dist/web/client/assets/chevron-down-B0aNNOyn.js +0 -1
  184. package/dist/web/client/assets/config-CMMxxeX2.js +0 -3
  185. package/dist/web/client/assets/context-DcFzsfZ3.js +0 -1
  186. package/dist/web/client/assets/index-3nrK5iFr.js +0 -12
  187. package/dist/web/client/assets/learning-BUX1MFu2.js +0 -1
  188. package/dist/web/client/assets/login-CMWpGDKv.js +0 -1
  189. package/dist/web/client/assets/mcp-lZV08dqc.js +0 -1
  190. package/dist/web/client/assets/members-DAeaY2Cy.js +0 -1
  191. package/dist/web/client/assets/memory-HmMWxxdF.js +0 -1
  192. package/dist/web/client/assets/plus-CPzRJg1V.js +0 -1
  193. package/dist/web/client/assets/routes-BNk270AM.js +0 -1
  194. package/dist/web/client/assets/services-DtrpJrdo.js +0 -1
  195. package/dist/web/client/assets/skills-Cv93A3P3.js +0 -1
  196. package/dist/web/client/assets/styles-DMltY3su.css +0 -2
  197. package/dist/web/client/assets/teams-CCFnSNKi.js +0 -1
  198. package/dist/web/client/assets/telegram-BF1vdgDB.js +0 -1
  199. package/dist/web/client/assets/tokens-BXj6hWW-.js +0 -1
  200. package/dist/web/client/assets/triggers-NT24i4hZ.js +0 -1
  201. package/dist/web/client/assets/welcome-D0cy68eZ.js +0 -1
  202. package/dist/web/client/assets/wire-constants-BhVKOCQa.js +0 -74
  203. package/dist/web/server/assets/FieldRow-B4eTegH9.js +0 -94
  204. package/dist/web/server/assets/config-BmixCpz-.js +0 -372
  205. package/dist/web/server/assets/context-B-XDf6Ym.js +0 -12
  206. package/dist/web/server/assets/context-BXGo5Vfi.js +0 -12
  207. package/dist/web/server/assets/context-DrkrIWun.js +0 -47
  208. package/dist/web/server/assets/mcp-BJjLIdP0.js +0 -261
  209. package/dist/web/server/assets/members-CCv17cjQ.js +0 -46
  210. package/dist/web/server/assets/members-CW5aBe81.js +0 -12
  211. package/dist/web/server/assets/members-VdPwD6CE.js +0 -12
  212. package/dist/web/server/assets/router-CIVjTgNp.js +0 -537
  213. package/dist/web/server/assets/services-B9yBWDX0.js +0 -79
  214. package/dist/web/server/assets/start-WH8WzTL_.js +0 -4
  215. package/dist/web/server/assets/tokens-DPDMSN5O.js +0 -12
  216. package/dist/web/server/assets/tokens-yyTSfBSN.js +0 -186
  217. package/dist/web/server/assets/triggers-CSNNzRIi.js +0 -216
@@ -0,0 +1,367 @@
1
+ import { t as Route } from "./triggers-BvjYNmmY.js";
2
+ import { r as PageShell } from "./Page-Bz-ydB8j.js";
3
+ import { t as AgentTabs } from "./AgentTabs-Dq8hDM2Q.js";
4
+ import { t as Button } from "./Button-Dsnw22OF.js";
5
+ import { t as ConfirmDialog } from "./ConfirmDialog-C-MPYYSU.js";
6
+ import { useState } from "react";
7
+ import { useRouter } from "@tanstack/react-router";
8
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
+ //#region src/routes/agents/$id/triggers.tsx?tsr-split=component
10
+ function TriggersPage() {
11
+ const { resolved, triggers, dispatches } = Route.useLoaderData();
12
+ const router = useRouter();
13
+ const [deleteTarget, setDeleteTarget] = useState(null);
14
+ const [mutationError, setMutationError] = useState(null);
15
+ const [busyId, setBusyId] = useState(null);
16
+ async function toggle(t) {
17
+ setBusyId(t.id);
18
+ setMutationError(null);
19
+ try {
20
+ const response = await fetch(`/api/triggers/${encodeURIComponent(t.id)}`, {
21
+ method: "PATCH",
22
+ headers: { "content-type": "application/json" },
23
+ body: JSON.stringify({ enabled: !t.enabled })
24
+ });
25
+ if (!response.ok) {
26
+ const body = await response.json().catch(() => null);
27
+ throw new Error(body?.error ?? `Could not ${t.enabled ? "disable" : "enable"} trigger`);
28
+ }
29
+ await router.invalidate();
30
+ } catch (error) {
31
+ setMutationError(error instanceof Error ? error.message : String(error));
32
+ } finally {
33
+ setBusyId(null);
34
+ }
35
+ }
36
+ async function del(id) {
37
+ const response = await fetch(`/api/triggers/${encodeURIComponent(id)}`, { method: "DELETE" });
38
+ if (!response.ok && response.status !== 204) {
39
+ const body = await response.json().catch(() => null);
40
+ throw new Error(body?.error ?? "Could not delete trigger");
41
+ }
42
+ await router.invalidate();
43
+ }
44
+ return /* @__PURE__ */ jsxs(PageShell, { children: [
45
+ /* @__PURE__ */ jsx("header", {
46
+ className: "mb-6",
47
+ children: /* @__PURE__ */ jsx("h1", { children: resolved.agent.name })
48
+ }),
49
+ /* @__PURE__ */ jsx(AgentTabs, {
50
+ agentId: resolved.agent.id,
51
+ active: "triggers",
52
+ archived: resolved.agent.status === "archived"
53
+ }),
54
+ /* @__PURE__ */ jsx(AddTriggerForm, {
55
+ agentId: resolved.agent.id,
56
+ onAdded: () => router.invalidate()
57
+ }),
58
+ mutationError && /* @__PURE__ */ jsx("p", {
59
+ role: "alert",
60
+ className: "err mt-4",
61
+ children: mutationError
62
+ }),
63
+ /* @__PURE__ */ jsx("h3", {
64
+ className: "mb-3 mt-6 font-body text-[0.85em] font-semibold uppercase tracking-wider text-mocha-light",
65
+ children: "Active triggers"
66
+ }),
67
+ triggers.length === 0 ? /* @__PURE__ */ jsx("p", {
68
+ className: "muted",
69
+ children: "no triggers yet — add one above."
70
+ }) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("div", {
71
+ className: "grid gap-3 md:hidden",
72
+ children: triggers.map((t) => {
73
+ const spec = t.kind === "interval" ? `every ${t.intervalSec}s` : t.cronExpr;
74
+ const last = t.lastFiredAt ? new Date(t.lastFiredAt).toLocaleString() : "Never";
75
+ return /* @__PURE__ */ jsxs("article", {
76
+ className: `card min-w-0 ${t.enabled ? "" : "opacity-60"}`,
77
+ children: [
78
+ /* @__PURE__ */ jsxs("div", {
79
+ className: "flex min-w-0 items-start justify-between gap-3",
80
+ children: [/* @__PURE__ */ jsxs("div", {
81
+ className: "min-w-0",
82
+ children: [/* @__PURE__ */ jsx("p", {
83
+ className: "m-0 break-all font-mono text-xs text-muted-foreground",
84
+ children: t.id
85
+ }), /* @__PURE__ */ jsx("p", {
86
+ className: "mb-0 mt-1 font-medium text-foreground",
87
+ children: spec
88
+ })]
89
+ }), /* @__PURE__ */ jsx("span", {
90
+ className: "shrink-0 rounded-sm border border-frost bg-ivory px-2 py-0.5 font-mono text-xs text-mocha",
91
+ children: t.kind
92
+ })]
93
+ }),
94
+ /* @__PURE__ */ jsx("p", {
95
+ className: "my-3 break-words text-sm text-foreground",
96
+ children: t.message
97
+ }),
98
+ /* @__PURE__ */ jsxs("p", {
99
+ className: "mb-3 text-xs text-muted-foreground",
100
+ children: ["Last fired: ", last]
101
+ }),
102
+ /* @__PURE__ */ jsxs("div", {
103
+ className: "flex flex-wrap gap-2",
104
+ children: [/* @__PURE__ */ jsx(Button, {
105
+ variant: "ghost",
106
+ disabled: busyId === t.id,
107
+ onClick: () => void toggle(t),
108
+ children: busyId === t.id ? "Working…" : t.enabled ? "Disable" : "Enable"
109
+ }), /* @__PURE__ */ jsx(Button, {
110
+ variant: "danger",
111
+ disabled: busyId === t.id,
112
+ onClick: () => {
113
+ setMutationError(null);
114
+ setDeleteTarget(t);
115
+ },
116
+ children: "Delete"
117
+ })]
118
+ })
119
+ ]
120
+ }, t.id);
121
+ })
122
+ }), /* @__PURE__ */ jsx("div", {
123
+ className: "hidden overflow-x-auto md:block",
124
+ children: /* @__PURE__ */ jsxs("table", {
125
+ className: "min-w-full",
126
+ children: [/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
127
+ /* @__PURE__ */ jsx("th", { children: "id" }),
128
+ /* @__PURE__ */ jsx("th", { children: "kind" }),
129
+ /* @__PURE__ */ jsx("th", { children: "spec" }),
130
+ /* @__PURE__ */ jsx("th", { children: "message" }),
131
+ /* @__PURE__ */ jsx("th", { children: "last fired" }),
132
+ /* @__PURE__ */ jsx("th", {})
133
+ ] }) }), /* @__PURE__ */ jsx("tbody", { children: triggers.map((t) => {
134
+ const spec = t.kind === "interval" ? `every ${t.intervalSec}s` : t.cronExpr;
135
+ const last = t.lastFiredAt ? new Date(t.lastFiredAt).toLocaleString() : "(never)";
136
+ return /* @__PURE__ */ jsxs("tr", {
137
+ className: t.enabled ? "" : "opacity-60",
138
+ children: [
139
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsxs("code", { children: [t.id.slice(0, 8), "…"] }) }),
140
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx("span", {
141
+ className: "inline-block rounded-sm border border-frost bg-ivory px-2 py-0.5 font-mono text-[0.8em] text-mocha",
142
+ children: t.kind
143
+ }) }),
144
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx("code", { children: spec }) }),
145
+ /* @__PURE__ */ jsx("td", { children: t.message.length > 60 ? `${t.message.slice(0, 60)}…` : t.message }),
146
+ /* @__PURE__ */ jsx("td", {
147
+ className: "text-[0.82em] text-mocha-light",
148
+ children: last
149
+ }),
150
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsxs("div", {
151
+ className: "flex gap-1.5",
152
+ children: [/* @__PURE__ */ jsx(Button, {
153
+ variant: "ghost",
154
+ disabled: busyId === t.id,
155
+ onClick: () => void toggle(t),
156
+ children: busyId === t.id ? "working…" : t.enabled ? "disable" : "enable"
157
+ }), /* @__PURE__ */ jsx(Button, {
158
+ variant: "danger",
159
+ disabled: busyId === t.id,
160
+ onClick: () => {
161
+ setMutationError(null);
162
+ setDeleteTarget(t);
163
+ },
164
+ children: "delete"
165
+ })]
166
+ }) })
167
+ ]
168
+ }, t.id);
169
+ }) })]
170
+ })
171
+ })] }),
172
+ /* @__PURE__ */ jsx("h3", {
173
+ className: "mb-3 mt-8 font-body text-[0.85em] font-semibold uppercase tracking-wider text-mocha-light",
174
+ children: "Recent dispatches"
175
+ }),
176
+ dispatches.length === 0 ? /* @__PURE__ */ jsx("p", {
177
+ className: "muted",
178
+ children: "no scheduled occurrences yet."
179
+ }) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("div", {
180
+ className: "grid gap-3 md:hidden",
181
+ children: dispatches.map((dispatch) => /* @__PURE__ */ jsxs("article", {
182
+ className: "card min-w-0",
183
+ children: [
184
+ /* @__PURE__ */ jsxs("div", {
185
+ className: "flex items-start justify-between gap-3",
186
+ children: [/* @__PURE__ */ jsx("time", {
187
+ className: "text-sm text-foreground",
188
+ children: new Date(dispatch.scheduledAt).toLocaleString()
189
+ }), /* @__PURE__ */ jsx("code", {
190
+ className: "shrink-0",
191
+ children: dispatch.status
192
+ })]
193
+ }),
194
+ /* @__PURE__ */ jsxs("p", {
195
+ className: "mb-0 mt-2 text-xs text-muted-foreground",
196
+ children: [
197
+ dispatch.attemptCount,
198
+ " attempt",
199
+ dispatch.attemptCount === 1 ? "" : "s"
200
+ ]
201
+ }),
202
+ dispatch.lastError && /* @__PURE__ */ jsx("p", {
203
+ className: "mb-0 mt-2 break-words text-sm text-danger",
204
+ children: dispatch.lastError
205
+ })
206
+ ]
207
+ }, dispatch.id))
208
+ }), /* @__PURE__ */ jsx("div", {
209
+ className: "hidden overflow-x-auto md:block",
210
+ children: /* @__PURE__ */ jsxs("table", {
211
+ className: "min-w-full",
212
+ children: [/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
213
+ /* @__PURE__ */ jsx("th", { children: "scheduled" }),
214
+ /* @__PURE__ */ jsx("th", { children: "status" }),
215
+ /* @__PURE__ */ jsx("th", { children: "attempts" }),
216
+ /* @__PURE__ */ jsx("th", { children: "error" })
217
+ ] }) }), /* @__PURE__ */ jsx("tbody", { children: dispatches.map((dispatch) => /* @__PURE__ */ jsxs("tr", { children: [
218
+ /* @__PURE__ */ jsx("td", {
219
+ className: "text-[0.82em]",
220
+ children: new Date(dispatch.scheduledAt).toLocaleString()
221
+ }),
222
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx("code", { children: dispatch.status }) }),
223
+ /* @__PURE__ */ jsx("td", { children: dispatch.attemptCount }),
224
+ /* @__PURE__ */ jsx("td", {
225
+ className: "text-[0.82em] text-mocha-light",
226
+ children: dispatch.lastError ?? "—"
227
+ })
228
+ ] }, dispatch.id)) })]
229
+ })
230
+ })] }),
231
+ /* @__PURE__ */ jsx(ConfirmDialog, {
232
+ open: deleteTarget !== null,
233
+ title: `Delete ${deleteTarget?.kind ?? ""} trigger?`,
234
+ description: /* @__PURE__ */ jsxs("p", { children: [
235
+ "This permanently removes trigger",
236
+ " ",
237
+ /* @__PURE__ */ jsx("code", {
238
+ className: "font-mono",
239
+ children: deleteTarget?.id
240
+ }),
241
+ ", its recorded dispatch history, and every future scheduled occurrence for ",
242
+ resolved.agent.name,
243
+ ". The Agent itself is not deleted."
244
+ ] }),
245
+ confirmLabel: "delete trigger and history",
246
+ onConfirm: async () => {
247
+ if (!deleteTarget) return;
248
+ try {
249
+ await del(deleteTarget.id);
250
+ } catch (error) {
251
+ setMutationError(error instanceof Error ? error.message : String(error));
252
+ throw error;
253
+ }
254
+ },
255
+ onOpenChange: (open) => {
256
+ if (!open) setDeleteTarget(null);
257
+ }
258
+ })
259
+ ] });
260
+ }
261
+ function AddTriggerForm({ agentId, onAdded }) {
262
+ const [kind, setKind] = useState("interval");
263
+ const [intervalSec, setIntervalSec] = useState(300);
264
+ const [cronExpr, setCronExpr] = useState("");
265
+ const [message, setMessage] = useState("");
266
+ const [err, setErr] = useState(null);
267
+ const [submitting, setSubmitting] = useState(false);
268
+ async function submit(e) {
269
+ e.preventDefault();
270
+ setErr(null);
271
+ if (!message.trim()) {
272
+ setErr("message is required");
273
+ return;
274
+ }
275
+ if (kind === "interval" && (!Number.isFinite(intervalSec) || intervalSec <= 0)) {
276
+ setErr("interval must be a positive number");
277
+ return;
278
+ }
279
+ if (kind === "cron" && !cronExpr.trim()) {
280
+ setErr("cron expression is required");
281
+ return;
282
+ }
283
+ setSubmitting(true);
284
+ try {
285
+ const body = {
286
+ kind,
287
+ message: message.trim()
288
+ };
289
+ if (kind === "interval") body.intervalSec = intervalSec;
290
+ else body.cronExpr = cronExpr.trim();
291
+ const res = await fetch(`/api/agents/${encodeURIComponent(agentId)}/triggers`, {
292
+ method: "POST",
293
+ headers: { "content-type": "application/json" },
294
+ body: JSON.stringify(body)
295
+ });
296
+ if (!res.ok) {
297
+ const e2 = await res.json().catch(() => null);
298
+ throw new Error(e2?.error ?? res.statusText);
299
+ }
300
+ setMessage("");
301
+ setCronExpr("");
302
+ setIntervalSec(300);
303
+ onAdded();
304
+ } catch (e2) {
305
+ setErr(e2.message);
306
+ } finally {
307
+ setSubmitting(false);
308
+ }
309
+ }
310
+ return /* @__PURE__ */ jsxs("form", {
311
+ className: "card",
312
+ onSubmit: submit,
313
+ children: [
314
+ /* @__PURE__ */ jsx("h3", { children: "Add trigger" }),
315
+ /* @__PURE__ */ jsxs("div", {
316
+ className: "mb-3 flex gap-3",
317
+ children: [/* @__PURE__ */ jsxs("label", {
318
+ className: "m-0 inline-flex cursor-pointer items-center gap-1",
319
+ children: [/* @__PURE__ */ jsx("input", {
320
+ type: "radio",
321
+ checked: kind === "interval",
322
+ onChange: () => setKind("interval")
323
+ }), "interval (every N seconds)"]
324
+ }), /* @__PURE__ */ jsxs("label", {
325
+ className: "m-0 inline-flex cursor-pointer items-center gap-1",
326
+ children: [/* @__PURE__ */ jsx("input", {
327
+ type: "radio",
328
+ checked: kind === "cron",
329
+ onChange: () => setKind("cron")
330
+ }), "cron (5-field)"]
331
+ })]
332
+ }),
333
+ kind === "interval" ? /* @__PURE__ */ jsxs("label", { children: ["interval (seconds)", /* @__PURE__ */ jsx("input", {
334
+ type: "number",
335
+ min: 1,
336
+ value: intervalSec,
337
+ onChange: (e) => setIntervalSec(Number(e.target.value))
338
+ })] }) : /* @__PURE__ */ jsxs("label", { children: ["cron expression (minute hour dom month dow)", /* @__PURE__ */ jsx("input", {
339
+ type: "text",
340
+ placeholder: "*/15 * * * *",
341
+ value: cronExpr,
342
+ onChange: (e) => setCronExpr(e.target.value)
343
+ })] }),
344
+ /* @__PURE__ */ jsxs("label", { children: ["message", /* @__PURE__ */ jsx("textarea", {
345
+ placeholder: "e.g. check your inbox and act on anything new",
346
+ value: message,
347
+ onChange: (e) => setMessage(e.target.value),
348
+ className: "font-mono text-[0.9em] min-h-[80px]"
349
+ })] }),
350
+ /* @__PURE__ */ jsxs("div", {
351
+ className: "mt-3 flex items-center gap-3",
352
+ children: [/* @__PURE__ */ jsx(Button, {
353
+ variant: "primary",
354
+ type: "submit",
355
+ disabled: submitting,
356
+ children: submitting ? "adding…" : "add"
357
+ }), err && /* @__PURE__ */ jsx("span", {
358
+ role: "alert",
359
+ className: "text-[0.85em] text-danger",
360
+ children: err
361
+ })]
362
+ })
363
+ ]
364
+ });
365
+ }
366
+ //#endregion
367
+ export { TriggersPage as component };
@@ -1,13 +1,13 @@
1
- import { t as createServerFn } from "../server.js";
2
- import { t as createServerRpc } from "./createServerRpc-pU-IQV2Y.js";
3
- import { n as daemonClient, r as ApiClientError } from "./daemon-client-2NRMzlTr.js";
1
+ import { n as createServerFn } from "../server.js";
2
+ import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
3
+ import { n as daemonClient, r as ApiClientError } from "./daemon-client-CI5NHwNC.js";
4
4
  //#region src/routes/agents/$id/triggers.tsx?tss-serverfn-split
5
5
  var fetchTriggers_createServerFn_handler = createServerRpc({
6
6
  id: "57ebf437fdb3fcfc63b176e796a55f04bdfec0b230059673196e98d413d15c4d",
7
7
  name: "fetchTriggers",
8
8
  filename: "src/routes/agents/$id/triggers.tsx"
9
9
  }, (opts) => fetchTriggers.__executeServer(opts));
10
- var fetchTriggers = createServerFn({ method: "POST" }).inputValidator((d) => d).handler(fetchTriggers_createServerFn_handler, async ({ data }) => {
10
+ var fetchTriggers = createServerFn({ method: "POST" }).validator((d) => d).handler(fetchTriggers_createServerFn_handler, async ({ data }) => {
11
11
  const c = daemonClient();
12
12
  let resolved;
13
13
  try {
@@ -0,0 +1,8 @@
1
+ import { clsx } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+ //#region src/lib/utils.ts
4
+ function cn(...inputs) {
5
+ return twMerge(clsx(inputs));
6
+ }
7
+ //#endregion
8
+ export { cn as t };
@@ -1,4 +1,4 @@
1
- import { i as SectionCard, n as PageHeader, r as PageShell } from "./Page-LENulSXY.js";
1
+ import { i as SectionCard, n as PageHeader, r as PageShell } from "./Page-Bz-ydB8j.js";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { ArrowRight } from "lucide-react";
4
4
  //#region src/routes/welcome.tsx?tsr-split=component
@@ -8,18 +8,18 @@ function WelcomePage() {
8
8
  children: [/* @__PURE__ */ jsx(PageHeader, {
9
9
  eyebrow: "First run",
10
10
  title: "Welcome to bazilion",
11
- description: "Connect one model provider, then Bazilion will prepare your default Agent template and Team."
11
+ description: "Configure one model provider to prepare your defaults, then test it before the first conversation."
12
12
  }), /* @__PURE__ */ jsxs(SectionCard, {
13
13
  title: "Three steps to your first conversation",
14
14
  children: [
15
15
  /* @__PURE__ */ jsxs("p", {
16
16
  className: "text-sm leading-6 text-muted-foreground",
17
17
  children: [
18
- "Before you can spawn agents, enable a provider and save at least one concrete model id. Once you do, a ",
18
+ "Before you can spawn agents, enable a provider and save at least one concrete model id. Bazilion then creates a ",
19
19
  /* @__PURE__ */ jsx("code", { children: "default" }),
20
- " Agent template (and a ",
20
+ " Agent template and ",
21
21
  /* @__PURE__ */ jsx("code", { children: "default" }),
22
- " team directory) are created automatically and the rest of the app unlocks."
22
+ " Team. Send the small connection test before relying on that model."
23
23
  ]
24
24
  }),
25
25
  /* @__PURE__ */ jsxs("ol", {
@@ -57,10 +57,11 @@ function WelcomePage() {
57
57
  /* @__PURE__ */ jsxs(Step, {
58
58
  n: 3,
59
59
  children: [
60
- /* @__PURE__ */ jsx("strong", { children: "Start chatting." }),
61
- " You'll be redirected to the home page automatically, where the ",
60
+ /* @__PURE__ */ jsx("strong", { children: "Verify and spawn." }),
61
+ " Send the short real-model test. When setup is configured, the page gives you a direct action to spawn the first agent from the",
62
+ " ",
62
63
  /* @__PURE__ */ jsx("code", { children: "default" }),
63
- " Agent template is ready for your first spawn."
64
+ " template."
64
65
  ]
65
66
  })
66
67
  ]
@@ -3558,7 +3558,7 @@ var defaultSerovalPlugins = [
3558
3558
  * the dev styles URL for route-scoped CSS collection.
3559
3559
  */
3560
3560
  async function getStartManifest(matchedRoutes) {
3561
- const { tsrStartManifest } = await import("./assets/_tanstack-start-manifest_v-BGDBdnUs.js");
3561
+ const { tsrStartManifest } = await import("./assets/_tanstack-start-manifest_v-C-OiOZeM.js");
3562
3562
  const startManifest = tsrStartManifest();
3563
3563
  let routes = startManifest.routes;
3564
3564
  routes[rootRouteId];
@@ -3582,107 +3582,103 @@ async function getStartManifest(matchedRoutes) {
3582
3582
  var manifest = {
3583
3583
  "00a157dd07824e1f126f06646effd1d876f280f6fc64c144d2f6429414a4e58a": {
3584
3584
  functionName: "fetchTelegramConfig_createServerFn_handler",
3585
- importer: () => import("./assets/telegram-DNgCWebD.js")
3585
+ importer: () => import("./assets/telegram-1AWL6lFw.js")
3586
3586
  },
3587
3587
  "032d74b7d41c718191dbdde6b06ba44993340ce1154af1fa6723a6d4f7a7236e": {
3588
3588
  functionName: "fetchProfile_createServerFn_handler",
3589
- importer: () => import("./assets/_id-D27T85mU.js")
3589
+ importer: () => import("./assets/_id-DYU6uIBx.js")
3590
3590
  },
3591
3591
  "0a6e766d2b4ea526da34cefed5342a6ecc5ff35ad1ce38fba4129b8c24d8e6e5": {
3592
3592
  functionName: "fetchMembers_createServerFn_handler",
3593
- importer: () => import("./assets/members-CW5aBe81.js")
3593
+ importer: () => import("./assets/members-BP3UTqu1.js")
3594
3594
  },
3595
3595
  "1ab05a58944792f34ad279deeaa56f70e9360687856b18327f335b022e8d21a5": {
3596
3596
  functionName: "fetchTeamsData_createServerFn_handler",
3597
- importer: () => import("./assets/teams-DqfrEoH6.js")
3597
+ importer: () => import("./assets/teams-DPnAX4wD.js")
3598
3598
  },
3599
3599
  "1bb12262aaa902fa208aafaa70b69c63da34c1fe523ab0322fe766903fc6b4c1": {
3600
3600
  functionName: "fetchTeams_createServerFn_handler",
3601
- importer: () => import("./assets/teams-MjqgsmC3.js")
3601
+ importer: () => import("./assets/teams-be05ci17.js")
3602
3602
  },
3603
3603
  "26dbbcbe40063e8aedfd343cf1dfd4dfe5589f24591c0ba35e80c611d7c57c7c": {
3604
3604
  functionName: "fetchHomeData_createServerFn_handler",
3605
- importer: () => import("./assets/routes-BrA-U_Hm.js")
3605
+ importer: () => import("./assets/routes-COtkyZG1.js")
3606
3606
  },
3607
3607
  "278849457893891c3d22806d15e11a0a42cc3630b30e9e62b74cf2d3b982ded7": {
3608
3608
  functionName: "fetchServers_createServerFn_handler",
3609
- importer: () => import("./assets/mcp-2pwT9HU8.js")
3609
+ importer: () => import("./assets/mcp-BvnvlVFd.js")
3610
3610
  },
3611
3611
  "2cd8c6ec40e2e2d9518b5f127a518ecd83a2222d85665cc61d5144bcf59ed4fb": {
3612
3612
  functionName: "fetchInbox_createServerFn_handler",
3613
- importer: () => import("./assets/inbox-CzlKT9Wg.js")
3613
+ importer: () => import("./assets/inbox-Dv55rGYq.js")
3614
3614
  },
3615
3615
  "46e35c9f1afc79423cb49703b454ef684344db08ec19775efd70a8768c7837f1": {
3616
3616
  functionName: "fetchTokens_createServerFn_handler",
3617
- importer: () => import("./assets/tokens-DPDMSN5O.js")
3617
+ importer: () => import("./assets/tokens-DjM8GsgS.js")
3618
3618
  },
3619
3619
  "4773184b3ddd3656fb80ec74375a6d304e25acb56b79f1d349dcabf9f0914359": {
3620
3620
  functionName: "fetchGroup_createServerFn_handler",
3621
- importer: () => import("./assets/_id-IzadFZV9.js")
3621
+ importer: () => import("./assets/_id-DvlDkk04.js")
3622
3622
  },
3623
3623
  "57ebf437fdb3fcfc63b176e796a55f04bdfec0b230059673196e98d413d15c4d": {
3624
3624
  functionName: "fetchTriggers_createServerFn_handler",
3625
- importer: () => import("./assets/triggers-D79NoSXk.js")
3625
+ importer: () => import("./assets/triggers-Nezfw-Bd.js")
3626
3626
  },
3627
3627
  "5cdb81f2b930818ee9ab1d626ac99828ea652ff447fcbfc21b24dea415f8b39e": {
3628
3628
  functionName: "fetchActivity_createServerFn_handler",
3629
- importer: () => import("./assets/activity-DohitgwW.js")
3629
+ importer: () => import("./assets/activity-9VP6QDTH.js")
3630
3630
  },
3631
3631
  "6afd81bef0ee381d6e3641cd8e269968429c874e2f9d56c8f818cc9d180ee477": {
3632
3632
  functionName: "fetchServices_createServerFn_handler",
3633
- importer: () => import("./assets/services-wG8I06oS.js")
3633
+ importer: () => import("./assets/services-DozuJtzX.js")
3634
3634
  },
3635
3635
  "816fcbc7b3c7f2952660d3a2c8f49bb0c91084627a284c185b333b1d418fadf8": {
3636
3636
  functionName: "loadApprovals_createServerFn_handler",
3637
- importer: () => import("./assets/approvals-BGU-XGIO.js")
3637
+ importer: () => import("./assets/approvals-BYi84gwl.js")
3638
3638
  },
3639
3639
  "846c9081aed17057351730985f133b0aab67a5dabfca9562552829a90ff30849": {
3640
3640
  functionName: "fetchAgent_createServerFn_handler",
3641
- importer: () => import("./assets/_id-BhOB8Umi.js")
3641
+ importer: () => import("./assets/_id-DxCnEFpm.js")
3642
3642
  },
3643
3643
  "883b401299422096ee31ee824f9a24b49d06bdcedce398789778c4c549a92f3a": {
3644
3644
  functionName: "loadAttention_createServerFn_handler",
3645
- importer: () => import("./assets/attention-CM-Ks1N9.js")
3645
+ importer: () => import("./assets/attention-UhqPK_Ro.js")
3646
3646
  },
3647
3647
  "a0bbbee5d0c1240a05e35c04d56a0e95ec78f05265e4e937eec48c8ac2041e58": {
3648
3648
  functionName: "fetchTeam_createServerFn_handler",
3649
- importer: () => import("./assets/_id-tB47Vsfp.js")
3649
+ importer: () => import("./assets/_id-HMy7jM3P.js")
3650
3650
  },
3651
3651
  "a5d3825fc69573bb55bab6df578c750ebb0240dd394c3acee3adea02918a5dc2": {
3652
3652
  functionName: "fetchAuthState_createServerFn_handler",
3653
- importer: () => import("./assets/auth-byfSx6Ja.js")
3653
+ importer: () => import("./assets/auth-7BHTH-KS.js")
3654
3654
  },
3655
3655
  "ae1d30575b229c1e2622fbaf2252800a9a7acc84afdd68cba025ca890b8d52c5": {
3656
3656
  functionName: "fetchSkills_createServerFn_handler",
3657
- importer: () => import("./assets/skills-a9VSWHWq.js")
3657
+ importer: () => import("./assets/skills-DfGSJTCB.js")
3658
3658
  },
3659
3659
  "b18a227687dba45b99ea5a2ac7a5bf8efcd9bc54387bc279cd87510fd2f83f7e": {
3660
3660
  functionName: "fetchProvidersData_createServerFn_handler",
3661
- importer: () => import("./assets/config-BDCJdtj2.js")
3662
- },
3663
- "b859e1340a80871c50b0d3e60bd3f3b48fe3c66b083f8ff9d5b2981720d36a81": {
3664
- functionName: "fetchContext_createServerFn_handler",
3665
- importer: () => import("./assets/context-B-XDf6Ym.js")
3661
+ importer: () => import("./assets/config-BMiajTZP.js")
3666
3662
  },
3667
3663
  "b96a98e3ed6c8a3ab5f6a4ed8458e93da753ffd74e2912ef1724bb6e58030cb5": {
3668
3664
  functionName: "fetchMemory_createServerFn_handler",
3669
- importer: () => import("./assets/memory-Dngc13Nw.js")
3665
+ importer: () => import("./assets/memory-BqV-Afy1.js")
3670
3666
  },
3671
3667
  "bc31355f2be9889a616d03c35062d483ea77c3f967af9432d721626a81078ef3": {
3672
3668
  functionName: "fetchProfiles_createServerFn_handler",
3673
- importer: () => import("./assets/agents-BY74v7fM.js")
3669
+ importer: () => import("./assets/agents-BJAv919x.js")
3674
3670
  },
3675
3671
  "f715bab0037380aa3db7e237e7cf1e74168c363f48a960bb1ddfa5560de3a74e": {
3676
3672
  functionName: "fetchAgents_createServerFn_handler",
3677
- importer: () => import("./assets/agents-BPKOshR5.js")
3673
+ importer: () => import("./assets/agents-DjyQk94u.js")
3678
3674
  },
3679
3675
  "fc940d6dec5305aa64bdb9b9f5f7d4f925b2ba0608cb6d39af854a94872fc867": {
3680
3676
  functionName: "fetchPolicy_createServerFn_handler",
3681
- importer: () => import("./assets/policy-Bb-vEgqg.js")
3677
+ importer: () => import("./assets/policy-18fdTFO4.js")
3682
3678
  },
3683
3679
  "fcdd0f08b635c7c501caa840d01d1376ace6683e26cc5ac7dead28d7870f98b9": {
3684
3680
  functionName: "fetchLearning_createServerFn_handler",
3685
- importer: () => import("./assets/learning-8zav4pIT.js")
3681
+ importer: () => import("./assets/learning-C2upa1CE.js")
3686
3682
  }
3687
3683
  };
3688
3684
  async function getServerFnById(id, access) {
@@ -5560,8 +5556,8 @@ var getBaseManifest = getProdBaseManifest;
5560
5556
  var createEarlyHintsForRequest = createEarlyHintsCollector;
5561
5557
  async function loadEntries() {
5562
5558
  const [routerEntry, startEntry, pluginAdapters] = await Promise.all([
5563
- import("./assets/router-CIVjTgNp.js"),
5564
- import("./assets/start-WH8WzTL_.js"),
5559
+ import("./assets/router-pjH2t8Rl.js"),
5560
+ import("./assets/start-D4Wq9iTa.js"),
5565
5561
  import("./assets/empty-plugin-adapters-Cq4--YW-.js")
5566
5562
  ]);
5567
5563
  return {
@@ -5947,4 +5943,4 @@ function createServerEntry(entry) {
5947
5943
  }
5948
5944
  var server_default = createServerEntry({ fetch: fetch$1 });
5949
5945
  //#endregion
5950
- export { createServerEntry, server_default as default, getCookie as i, TSS_SERVER_FUNCTION as n, getServerFnById as r, createServerFn as t };
5946
+ export { getCookie as a, createServerEntry, server_default as default, getServerFnById as i, createServerFn as n, TSS_SERVER_FUNCTION as r, createMiddleware as t };
@@ -12,6 +12,10 @@ var port = Number.parseInt(process.env.WEB_PORT ?? "4322", 10);
12
12
  var webDist = process.env.BAZILION_WEB_DIST ?? join(import.meta.dirname, "web");
13
13
  var clientDir = join(webDist, "client");
14
14
  var serverEntry = join(webDist, "server", "server.js");
15
+ if (process.env.BAZILION_PUBLIC_ORIGIN && !["127.0.0.1", "localhost", "::1"].includes(host)) {
16
+ console.error("BAZILION_PUBLIC_ORIGIN requires the web server to bind loopback only");
17
+ process.exit(1);
18
+ }
15
19
  if (!existsSync(clientDir) || !existsSync(serverEntry)) {
16
20
  console.error("error: bundled bazilion web UI not found");
17
21
  console.error(` expected client assets at ${clientDir}`);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/web-server.ts"],"sourcesContent":["import { existsSync } from 'node:fs'\nimport { join } from 'node:path'\nimport { pathToFileURL } from 'node:url'\nimport { serve } from '@hono/node-server'\nimport { serveStatic } from '@hono/node-server/serve-static'\nimport { Hono } from 'hono'\n\nconst host = process.env.WEB_HOST ?? '127.0.0.1'\nconst port = Number.parseInt(process.env.WEB_PORT ?? '4322', 10)\nconst webDist = process.env.BAZILION_WEB_DIST ?? join(import.meta.dirname, 'web')\nconst clientDir = join(webDist, 'client')\nconst serverEntry = join(webDist, 'server', 'server.js')\n\nif (!existsSync(clientDir) || !existsSync(serverEntry)) {\n console.error('error: bundled bazilion web UI not found')\n console.error(` expected client assets at ${clientDir}`)\n console.error(` expected server entry at ${serverEntry}`)\n process.exit(1)\n}\n\nconst serverModule = (await import(pathToFileURL(serverEntry).href)) as {\n default: { fetch: (request: Request) => Promise<Response> }\n}\n\nconst app = new Hono()\n\n// TanStack Start emits browser assets under dist/client. Serve those directly,\n// then hand every app/API route to the bundled Start fetch handler.\napp.use('/assets/*', serveStatic({ root: clientDir }))\napp.use('/baziu.svg', serveStatic({ root: clientDir }))\napp.all('*', (c) => serverModule.default.fetch(c.req.raw))\n\nconst server = serve({ fetch: app.fetch, hostname: host, port }, (info) => {\n console.log(`bazilion web UI listening at http://${info.address}:${info.port}`)\n})\n\nconst shutdown = (signal: NodeJS.Signals): void => {\n console.log(`\\nbazilion web UI caught ${signal}, shutting down...`)\n server.close((err) => {\n if (err) {\n console.error('web UI shutdown error:', err)\n process.exit(1)\n }\n process.exit(0)\n })\n}\n\nprocess.on('SIGINT', () => shutdown('SIGINT'))\nprocess.on('SIGTERM', () => shutdown('SIGTERM'))\n"],"mappings":";;;AAAA,SAAS,kBAAkB;AAC3B,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAC9B,SAAS,aAAa;AACtB,SAAS,mBAAmB;AAC5B,SAAS,YAAY;AAErB,IAAM,OAAO,QAAQ,IAAI,YAAY;AACrC,IAAM,OAAO,OAAO,SAAS,QAAQ,IAAI,YAAY,QAAQ,EAAE;AAC/D,IAAM,UAAU,QAAQ,IAAI,qBAAqB,KAAK,YAAY,SAAS,KAAK;AAChF,IAAM,YAAY,KAAK,SAAS,QAAQ;AACxC,IAAM,cAAc,KAAK,SAAS,UAAU,WAAW;AAEvD,IAAI,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,WAAW,GAAG;AACtD,UAAQ,MAAM,0CAA0C;AACxD,UAAQ,MAAM,+BAA+B,SAAS,EAAE;AACxD,UAAQ,MAAM,8BAA8B,WAAW,EAAE;AACzD,UAAQ,KAAK,CAAC;AAChB;AAEA,IAAM,eAAgB,MAAM,OAAO,cAAc,WAAW,EAAE;AAI9D,IAAM,MAAM,IAAI,KAAK;AAIrB,IAAI,IAAI,aAAa,YAAY,EAAE,MAAM,UAAU,CAAC,CAAC;AACrD,IAAI,IAAI,cAAc,YAAY,EAAE,MAAM,UAAU,CAAC,CAAC;AACtD,IAAI,IAAI,KAAK,CAAC,MAAM,aAAa,QAAQ,MAAM,EAAE,IAAI,GAAG,CAAC;AAEzD,IAAM,SAAS,MAAM,EAAE,OAAO,IAAI,OAAO,UAAU,MAAM,KAAK,GAAG,CAAC,SAAS;AACzE,UAAQ,IAAI,uCAAuC,KAAK,OAAO,IAAI,KAAK,IAAI,EAAE;AAChF,CAAC;AAED,IAAM,WAAW,CAAC,WAAiC;AACjD,UAAQ,IAAI;AAAA,yBAA4B,MAAM,oBAAoB;AAClE,SAAO,MAAM,CAAC,QAAQ;AACpB,QAAI,KAAK;AACP,cAAQ,MAAM,0BAA0B,GAAG;AAC3C,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB,CAAC;AACH;AAEA,QAAQ,GAAG,UAAU,MAAM,SAAS,QAAQ,CAAC;AAC7C,QAAQ,GAAG,WAAW,MAAM,SAAS,SAAS,CAAC;","names":[]}
1
+ {"version":3,"sources":["../src/web-server.ts"],"sourcesContent":["import { existsSync } from 'node:fs'\nimport { join } from 'node:path'\nimport { pathToFileURL } from 'node:url'\nimport { serve } from '@hono/node-server'\nimport { serveStatic } from '@hono/node-server/serve-static'\nimport { Hono } from 'hono'\n\nconst host = process.env.WEB_HOST ?? '127.0.0.1'\nconst port = Number.parseInt(process.env.WEB_PORT ?? '4322', 10)\nconst webDist = process.env.BAZILION_WEB_DIST ?? join(import.meta.dirname, 'web')\nconst clientDir = join(webDist, 'client')\nconst serverEntry = join(webDist, 'server', 'server.js')\n\nif (process.env.BAZILION_PUBLIC_ORIGIN && !['127.0.0.1', 'localhost', '::1'].includes(host)) {\n console.error('BAZILION_PUBLIC_ORIGIN requires the web server to bind loopback only')\n process.exit(1)\n}\n\nif (!existsSync(clientDir) || !existsSync(serverEntry)) {\n console.error('error: bundled bazilion web UI not found')\n console.error(` expected client assets at ${clientDir}`)\n console.error(` expected server entry at ${serverEntry}`)\n process.exit(1)\n}\n\nconst serverModule = (await import(pathToFileURL(serverEntry).href)) as {\n default: { fetch: (request: Request) => Promise<Response> }\n}\n\nconst app = new Hono()\n\n// TanStack Start emits browser assets under dist/client. Serve those directly,\n// then hand every app/API route to the bundled Start fetch handler.\napp.use('/assets/*', serveStatic({ root: clientDir }))\napp.use('/baziu.svg', serveStatic({ root: clientDir }))\napp.all('*', (c) => serverModule.default.fetch(c.req.raw))\n\nconst server = serve({ fetch: app.fetch, hostname: host, port }, (info) => {\n console.log(`bazilion web UI listening at http://${info.address}:${info.port}`)\n})\n\nconst shutdown = (signal: NodeJS.Signals): void => {\n console.log(`\\nbazilion web UI caught ${signal}, shutting down...`)\n server.close((err) => {\n if (err) {\n console.error('web UI shutdown error:', err)\n process.exit(1)\n }\n process.exit(0)\n })\n}\n\nprocess.on('SIGINT', () => shutdown('SIGINT'))\nprocess.on('SIGTERM', () => shutdown('SIGTERM'))\n"],"mappings":";;;AAAA,SAAS,kBAAkB;AAC3B,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAC9B,SAAS,aAAa;AACtB,SAAS,mBAAmB;AAC5B,SAAS,YAAY;AAErB,IAAM,OAAO,QAAQ,IAAI,YAAY;AACrC,IAAM,OAAO,OAAO,SAAS,QAAQ,IAAI,YAAY,QAAQ,EAAE;AAC/D,IAAM,UAAU,QAAQ,IAAI,qBAAqB,KAAK,YAAY,SAAS,KAAK;AAChF,IAAM,YAAY,KAAK,SAAS,QAAQ;AACxC,IAAM,cAAc,KAAK,SAAS,UAAU,WAAW;AAEvD,IAAI,QAAQ,IAAI,0BAA0B,CAAC,CAAC,aAAa,aAAa,KAAK,EAAE,SAAS,IAAI,GAAG;AAC3F,UAAQ,MAAM,sEAAsE;AACpF,UAAQ,KAAK,CAAC;AAChB;AAEA,IAAI,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,WAAW,GAAG;AACtD,UAAQ,MAAM,0CAA0C;AACxD,UAAQ,MAAM,+BAA+B,SAAS,EAAE;AACxD,UAAQ,MAAM,8BAA8B,WAAW,EAAE;AACzD,UAAQ,KAAK,CAAC;AAChB;AAEA,IAAM,eAAgB,MAAM,OAAO,cAAc,WAAW,EAAE;AAI9D,IAAM,MAAM,IAAI,KAAK;AAIrB,IAAI,IAAI,aAAa,YAAY,EAAE,MAAM,UAAU,CAAC,CAAC;AACrD,IAAI,IAAI,cAAc,YAAY,EAAE,MAAM,UAAU,CAAC,CAAC;AACtD,IAAI,IAAI,KAAK,CAAC,MAAM,aAAa,QAAQ,MAAM,EAAE,IAAI,GAAG,CAAC;AAEzD,IAAM,SAAS,MAAM,EAAE,OAAO,IAAI,OAAO,UAAU,MAAM,KAAK,GAAG,CAAC,SAAS;AACzE,UAAQ,IAAI,uCAAuC,KAAK,OAAO,IAAI,KAAK,IAAI,EAAE;AAChF,CAAC;AAED,IAAM,WAAW,CAAC,WAAiC;AACjD,UAAQ,IAAI;AAAA,yBAA4B,MAAM,oBAAoB;AAClE,SAAO,MAAM,CAAC,QAAQ;AACpB,QAAI,KAAK;AACP,cAAQ,MAAM,0BAA0B,GAAG;AAC3C,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB,CAAC;AACH;AAEA,QAAQ,GAAG,UAAU,MAAM,SAAS,QAAQ,CAAC;AAC7C,QAAQ,GAAG,WAAW,MAAM,SAAS,SAAS,CAAC;","names":[]}