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
@@ -1,4 +1,4 @@
1
- import { n as TSS_SERVER_FUNCTION } from "../server.js";
1
+ import { r as TSS_SERVER_FUNCTION } from "../server.js";
2
2
  //#region ../../node_modules/.pnpm/@tanstack+start-server-core@1.169.17/node_modules/@tanstack/start-server-core/dist/esm/createServerRpc.js
3
3
  var createServerRpc = (serverFnMeta, splitImportFn) => {
4
4
  const url = "/_serverFn/" + serverFnMeta.id;
@@ -1,4 +1,4 @@
1
- import { n as TSS_SERVER_FUNCTION, r as getServerFnById } from "../server.js";
1
+ import { i as getServerFnById, r as TSS_SERVER_FUNCTION } from "../server.js";
2
2
  //#region ../../node_modules/.pnpm/@tanstack+start-server-core@1.169.17/node_modules/@tanstack/start-server-core/dist/esm/createSsrRpc.js
3
3
  var createSsrRpc = (functionId) => {
4
4
  const url = "/_serverFn/" + functionId;
@@ -1,4 +1,5 @@
1
- import { i as getCookie } from "../server.js";
1
+ import { a as getCookie } from "../server.js";
2
+ import { t as webOriginConfig } from "./public-origin-xV0lm0Ty.js";
2
3
  //#region ../../packages/client/src/index.ts
3
4
  var ApiClientError = class extends Error {
4
5
  status;
@@ -14,9 +15,12 @@ async function resolveToken(src) {
14
15
  }
15
16
  function createClient(cfg) {
16
17
  async function authHeaders() {
18
+ const token = cfg.token === null ? null : await resolveToken(cfg.token);
19
+ const extra = typeof cfg.headers === "function" ? await cfg.headers() : cfg.headers ?? {};
17
20
  return {
18
- authorization: `Bearer ${await resolveToken(cfg.token)}`,
19
- origin: cfg.serverUrl
21
+ ...token ? { authorization: `Bearer ${token}` } : {},
22
+ origin: cfg.serverUrl,
23
+ ...extra
20
24
  };
21
25
  }
22
26
  async function request(method, path, body) {
@@ -86,9 +90,17 @@ function createClient(cfg) {
86
90
  //#region src/lib/daemon-client.ts
87
91
  var DAEMON_URL = process.env.BAZILION_DAEMON ?? "http://127.0.0.1:4321";
88
92
  function daemonClient() {
93
+ const origin = webOriginConfig();
94
+ const session = getCookie(origin.sessionCookie);
95
+ const csrf = getCookie(origin.csrfCookie);
96
+ const cookies = [session ? `${origin.sessionCookie}=${session}` : null, csrf ? `${origin.csrfCookie}=${csrf}` : null].filter((value) => value !== null).join("; ");
89
97
  return createClient({
90
98
  serverUrl: DAEMON_URL,
91
- token: getCookie("bz_token") ?? ""
99
+ token: null,
100
+ headers: {
101
+ ...cookies ? { cookie: cookies } : {},
102
+ ...csrf ? { "x-bazilion-csrf": csrf } : {}
103
+ }
92
104
  });
93
105
  }
94
106
  var DAEMON_BASE_URL = DAEMON_URL;
@@ -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/inbox.tsx?tss-serverfn-split
5
5
  var fetchInbox_createServerFn_handler = createServerRpc({
6
6
  id: "2cd8c6ec40e2e2d9518b5f127a518ecd83a2222d85665cc61d5144bcf59ed4fb",
7
7
  name: "fetchInbox",
8
8
  filename: "src/routes/agents/$id/inbox.tsx"
9
9
  }, (opts) => fetchInbox.__executeServer(opts));
10
- var fetchInbox = createServerFn({ method: "POST" }).inputValidator((d) => d).handler(fetchInbox_createServerFn_handler, async ({ data }) => {
10
+ var fetchInbox = createServerFn({ method: "POST" }).validator((d) => d).handler(fetchInbox_createServerFn_handler, async ({ data }) => {
11
11
  const c = daemonClient();
12
12
  let resolved;
13
13
  try {
@@ -1,6 +1,6 @@
1
- import { t as Route } from "./inbox-ZvDNAjaM.js";
2
- import { r as PageShell } from "./Page-LENulSXY.js";
3
- import { t as AgentTabs } from "./AgentTabs-aXdsiiMp.js";
1
+ import { t as Route } from "./inbox-cu3jLzNP.js";
2
+ import { r as PageShell } from "./Page-Bz-ydB8j.js";
3
+ import { t as AgentTabs } from "./AgentTabs-Dq8hDM2Q.js";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region src/routes/agents/$id/inbox.tsx?tsr-split=component
6
6
  function decodeText(payload) {
@@ -1,9 +1,9 @@
1
- import { t as createServerFn } from "../server.js";
2
- import { t as createSsrRpc } from "./createSsrRpc-DFsIAfFd.js";
1
+ import { n as createServerFn } from "../server.js";
2
+ import { t as createSsrRpc } from "./createSsrRpc-6LHNEsSK.js";
3
3
  import { createFileRoute, lazyRouteComponent, redirect } from "@tanstack/react-router";
4
4
  //#region src/routes/agents/$id/inbox.tsx
5
- var $$splitComponentImporter = () => import("./inbox-BLUzA5sQ.js");
6
- var fetchInbox = createServerFn({ method: "POST" }).inputValidator((d) => d).handler(createSsrRpc("2cd8c6ec40e2e2d9518b5f127a518ecd83a2222d85665cc61d5144bcf59ed4fb"));
5
+ var $$splitComponentImporter = () => import("./inbox-RweGCV3D.js");
6
+ var fetchInbox = createServerFn({ method: "POST" }).validator((d) => d).handler(createSsrRpc("2cd8c6ec40e2e2d9518b5f127a518ecd83a2222d85665cc61d5144bcf59ed4fb"));
7
7
  var Route = createFileRoute("/agents/$id/inbox")({
8
8
  validateSearch: (s) => ({
9
9
  unread: s.unread === "1" ? "1" : void 0,
@@ -1,9 +1,9 @@
1
- import { t as createServerFn } from "../server.js";
2
- import { t as createSsrRpc } from "./createSsrRpc-DFsIAfFd.js";
1
+ import { n as createServerFn } from "../server.js";
2
+ import { t as createSsrRpc } from "./createSsrRpc-6LHNEsSK.js";
3
3
  import { createFileRoute, lazyRouteComponent, redirect } from "@tanstack/react-router";
4
4
  //#region src/routes/agents/$id/learning.tsx
5
- var $$splitComponentImporter = () => import("./learning-Cq7K2heb.js");
6
- var fetchLearning = createServerFn({ method: "POST" }).inputValidator((data) => data).handler(createSsrRpc("fcdd0f08b635c7c501caa840d01d1376ace6683e26cc5ac7dead28d7870f98b9"));
5
+ var $$splitComponentImporter = () => import("./learning-CbtNlqYo.js");
6
+ var fetchLearning = createServerFn({ method: "POST" }).validator((data) => data).handler(createSsrRpc("fcdd0f08b635c7c501caa840d01d1376ace6683e26cc5ac7dead28d7870f98b9"));
7
7
  var Route = createFileRoute("/agents/$id/learning")({
8
8
  loader: async ({ params }) => {
9
9
  const data = await fetchLearning({ data: { id: params.id } });
@@ -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/learning.tsx?tss-serverfn-split
5
5
  var fetchLearning_createServerFn_handler = createServerRpc({
6
6
  id: "fcdd0f08b635c7c501caa840d01d1376ace6683e26cc5ac7dead28d7870f98b9",
7
7
  name: "fetchLearning",
8
8
  filename: "src/routes/agents/$id/learning.tsx"
9
9
  }, (opts) => fetchLearning.__executeServer(opts));
10
- var fetchLearning = createServerFn({ method: "POST" }).inputValidator((data) => data).handler(fetchLearning_createServerFn_handler, async ({ data }) => {
10
+ var fetchLearning = createServerFn({ method: "POST" }).validator((data) => data).handler(fetchLearning_createServerFn_handler, async ({ data }) => {
11
11
  const client = daemonClient();
12
12
  let resolved;
13
13
  try {
@@ -1,7 +1,8 @@
1
- import { t as Route } from "./learning-B7PBkvER.js";
2
- import { r as PageShell } from "./Page-LENulSXY.js";
3
- import { t as AgentTabs } from "./AgentTabs-aXdsiiMp.js";
1
+ import { t as Route } from "./learning-BaKM6qaw.js";
2
+ import { r as PageShell } from "./Page-Bz-ydB8j.js";
3
+ import { t as AgentTabs } from "./AgentTabs-Dq8hDM2Q.js";
4
4
  import { t as Button } from "./Button-Dsnw22OF.js";
5
+ import { t as ConfirmDialog } from "./ConfirmDialog-C-MPYYSU.js";
5
6
  import { useState } from "react";
6
7
  import { useRouter } from "@tanstack/react-router";
7
8
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -11,7 +12,7 @@ function LearningPage() {
11
12
  const router = useRouter();
12
13
  const [error, setError] = useState(null);
13
14
  const [busy, setBusy] = useState(false);
14
- async function request(path, method, body) {
15
+ async function request(path, method, body, throwOnError = false) {
15
16
  setError(null);
16
17
  setBusy(true);
17
18
  try {
@@ -26,7 +27,9 @@ function LearningPage() {
26
27
  }
27
28
  await router.invalidate();
28
29
  } catch (cause) {
29
- setError(cause instanceof Error ? cause.message : String(cause));
30
+ const failure = cause instanceof Error ? cause : new Error(String(cause));
31
+ setError(failure.message);
32
+ if (throwOnError) throw failure;
30
33
  } finally {
31
34
  setBusy(false);
32
35
  }
@@ -43,6 +46,7 @@ function LearningPage() {
43
46
  archived: resolved.agent.status === "archived"
44
47
  }),
45
48
  error && /* @__PURE__ */ jsxs("p", {
49
+ role: "alert",
46
50
  className: "mb-4 rounded border border-red-300 bg-red-50 p-3 text-sm text-red-800",
47
51
  children: [error, ". Refresh before retrying if another operator changed this proposal."]
48
52
  }),
@@ -56,7 +60,8 @@ function LearningPage() {
56
60
  /* @__PURE__ */ jsxs("p", {
57
61
  className: "mb-4 text-sm text-muted-foreground",
58
62
  children: [
59
- "Reviews inspect at most 8 successful user turns and 40,000 characters. They use ",
63
+ "Reviews inspect at most 8 successful user turns and 40,000 characters. They use",
64
+ " ",
60
65
  config.model ?? "the Agent model",
61
66
  " at ",
62
67
  config.reasoningLevel,
@@ -159,7 +164,7 @@ function ReviewConfigForm({ agentId, config, disabled, onError, onSaved }) {
159
164
  className: "text-sm",
160
165
  children: [
161
166
  /* @__PURE__ */ jsx("span", {
162
- className: "block mb-1",
167
+ className: "mb-1 block",
163
168
  children: "Periodic review"
164
169
  }),
165
170
  /* @__PURE__ */ jsx("input", {
@@ -167,13 +172,14 @@ function ReviewConfigForm({ agentId, config, disabled, onError, onSaved }) {
167
172
  checked: enabled,
168
173
  onChange: (event) => setEnabled(event.target.checked)
169
174
  }),
170
- " enabled"
175
+ " ",
176
+ "enabled"
171
177
  ]
172
178
  }),
173
179
  /* @__PURE__ */ jsxs("label", {
174
180
  className: "text-sm",
175
181
  children: [/* @__PURE__ */ jsx("span", {
176
- className: "block mb-1",
182
+ className: "mb-1 block",
177
183
  children: "Every turns"
178
184
  }), /* @__PURE__ */ jsx("input", {
179
185
  type: "number",
@@ -186,7 +192,7 @@ function ReviewConfigForm({ agentId, config, disabled, onError, onSaved }) {
186
192
  /* @__PURE__ */ jsxs("label", {
187
193
  className: "text-sm",
188
194
  children: [/* @__PURE__ */ jsx("span", {
189
- className: "block mb-1",
195
+ className: "mb-1 block",
190
196
  children: "Model override"
191
197
  }), /* @__PURE__ */ jsx("input", {
192
198
  value: model,
@@ -197,7 +203,7 @@ function ReviewConfigForm({ agentId, config, disabled, onError, onSaved }) {
197
203
  /* @__PURE__ */ jsxs("label", {
198
204
  className: "text-sm",
199
205
  children: [/* @__PURE__ */ jsx("span", {
200
- className: "block mb-1",
206
+ className: "mb-1 block",
201
207
  children: "Reasoning"
202
208
  }), /* @__PURE__ */ jsxs("select", {
203
209
  value: reasoning,
@@ -224,7 +230,29 @@ function ReviewConfigForm({ agentId, config, disabled, onError, onSaved }) {
224
230
  function ProposalCard({ proposal, agentId, busy, act }) {
225
231
  const [text, setText] = useState(proposal.text);
226
232
  const [scope, setScope] = useState(proposal.scope);
233
+ const [confirmAction, setConfirmAction] = useState(null);
227
234
  const base = `/api/agents/${encodeURIComponent(agentId)}/lesson-proposals/${encodeURIComponent(proposal.id)}`;
235
+ const textId = `lesson-proposal-${proposal.id}-text`;
236
+ const scopeId = `lesson-proposal-${proposal.id}-scope`;
237
+ const summary = proposal.text.length > 54 ? `${proposal.text.slice(0, 51)}…` : proposal.text;
238
+ const confirmation = confirmAction === "reject" ? {
239
+ title: `Reject “${summary}”?`,
240
+ confirmLabel: "Reject proposal",
241
+ description: /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("p", { children: "This permanently marks the saved proposal as rejected. It will never change the Agent’s prompts or Team memory, while its text and evidence remain in review history for audit." }), /* @__PURE__ */ jsx("p", {
242
+ className: "mt-2",
243
+ children: "Any edits not saved first will be discarded. A rejected proposal cannot be edited or approved later."
244
+ })] })
245
+ } : {
246
+ title: `Revoke “${summary}”?`,
247
+ confirmLabel: "Revoke lesson",
248
+ description: proposal.scope === "shared" ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("p", { children: "This removes the applied lesson note from Team memory, so it will no longer appear in Team-memory search." }), /* @__PURE__ */ jsx("p", {
249
+ className: "mt-2",
250
+ children: "The proposal and its original approval remain in review history for audit. This cannot be undone here."
251
+ })] }) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("p", { children: "This removes the approved lesson from the Agent’s future prompts. It does not rewrite past conversations." }), /* @__PURE__ */ jsx("p", {
252
+ className: "mt-2",
253
+ children: "The proposal and its original approval remain in review history for audit. This cannot be undone here."
254
+ })] })
255
+ };
228
256
  return /* @__PURE__ */ jsxs("article", {
229
257
  className: "rounded-lg border bg-card p-4",
230
258
  children: [
@@ -236,14 +264,25 @@ function ProposalCard({ proposal, agentId, busy, act }) {
236
264
  })]
237
265
  }),
238
266
  proposal.status === "pending" ? /* @__PURE__ */ jsxs(Fragment, { children: [
267
+ /* @__PURE__ */ jsx("label", {
268
+ htmlFor: textId,
269
+ className: "mb-1 block text-sm font-medium",
270
+ children: "Proposed lesson"
271
+ }),
239
272
  /* @__PURE__ */ jsx("textarea", {
273
+ id: textId,
240
274
  className: "w-full",
241
275
  rows: 3,
242
276
  value: text,
243
277
  onChange: (event) => setText(event.target.value)
244
278
  }),
279
+ /* @__PURE__ */ jsx("label", {
280
+ htmlFor: scopeId,
281
+ className: "mb-1 mt-3 block text-sm font-medium",
282
+ children: "Apply approved lesson to"
283
+ }),
245
284
  /* @__PURE__ */ jsxs("select", {
246
- className: "mt-2",
285
+ id: scopeId,
247
286
  value: scope,
248
287
  onChange: (event) => setScope(event.target.value),
249
288
  children: [/* @__PURE__ */ jsx("option", {
@@ -276,7 +315,7 @@ function ProposalCard({ proposal, agentId, busy, act }) {
276
315
  /* @__PURE__ */ jsx(Button, {
277
316
  variant: "danger",
278
317
  disabled: busy,
279
- onClick: () => act(`${base}/reject`, "POST", { version: proposal.version }),
318
+ onClick: () => setConfirmAction("reject"),
280
319
  children: "Reject"
281
320
  })
282
321
  ]
@@ -286,24 +325,38 @@ function ProposalCard({ proposal, agentId, busy, act }) {
286
325
  children: /* @__PURE__ */ jsx(Button, {
287
326
  variant: "danger",
288
327
  disabled: busy,
289
- onClick: () => act(`${base}/revoke`, "POST", { version: proposal.version }),
328
+ onClick: () => setConfirmAction("revoke"),
290
329
  children: "Revoke"
291
330
  })
292
331
  })] }),
293
332
  /* @__PURE__ */ jsxs("div", {
294
333
  className: "mt-3 text-xs text-muted-foreground",
295
- children: ["Evidence: ", proposal.evidence.length === 0 ? "none" : /* @__PURE__ */ jsx("ul", {
296
- className: "mt-1 list-disc pl-5",
297
- children: proposal.evidence.map((item) => /* @__PURE__ */ jsxs("li", { children: [/* @__PURE__ */ jsxs("code", { children: [
298
- item.sessionId,
299
- ":",
300
- item.entryOrdinal
301
- ] }), item.excerpt ? ` — ${item.excerpt}` : " — excerpt unavailable"] }, `${item.sessionId}:${item.entryOrdinal}`))
302
- })]
334
+ children: [
335
+ "Evidence:",
336
+ " ",
337
+ proposal.evidence.length === 0 ? "none" : /* @__PURE__ */ jsx("ul", {
338
+ className: "mt-1 list-disc pl-5",
339
+ children: proposal.evidence.map((item) => /* @__PURE__ */ jsxs("li", { children: [/* @__PURE__ */ jsxs("code", { children: [
340
+ item.sessionId,
341
+ ":",
342
+ item.entryOrdinal
343
+ ] }), item.excerpt ? ` — ${item.excerpt}` : " — excerpt unavailable"] }, `${item.sessionId}:${item.entryOrdinal}`))
344
+ })
345
+ ]
303
346
  }),
304
- scope === "shared" && /* @__PURE__ */ jsx("p", {
347
+ proposal.status === "pending" && scope === "shared" && /* @__PURE__ */ jsx("p", {
305
348
  className: "mt-1 text-xs text-muted-foreground",
306
349
  children: "Shared lessons become searchable Team memory. Stable facts about the human belong in Team USER.md instead."
350
+ }),
351
+ confirmAction && /* @__PURE__ */ jsx(ConfirmDialog, {
352
+ open: true,
353
+ title: confirmation.title,
354
+ description: confirmation.description,
355
+ confirmLabel: confirmation.confirmLabel,
356
+ onOpenChange: (open) => {
357
+ if (!open) setConfirmAction(null);
358
+ },
359
+ onConfirm: () => act(`${base}/${confirmAction}`, "POST", { version: proposal.version }, true)
307
360
  })
308
361
  ]
309
362
  });
@@ -1,4 +1,4 @@
1
- import { i as BaziuLogo, n as ThemeToggle, r as PawIcon, t as Route } from "./login-Bx5LEyGP.js";
1
+ import { i as BaziuLogo, n as ThemeToggle, r as PawIcon, t as Route } from "./login-Be8eP4Jp.js";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { KeyRound, MessageSquareText, UsersRound } from "lucide-react";
4
4
  //#region src/routes/login.tsx?tsr-split=component
@@ -66,15 +66,26 @@ function LoginPage() {
66
66
  }),
67
67
  /* @__PURE__ */ jsx("h2", {
68
68
  className: "font-display text-3xl text-charcoal",
69
- children: "Welcome back"
69
+ children: "Open Bazilion"
70
70
  }),
71
71
  /* @__PURE__ */ jsx("p", {
72
72
  className: "mt-2 text-sm leading-6 text-mocha-light",
73
- children: "Use the local access token created by your Bazilion daemon."
73
+ children: "Use the fresh-install credential once, then a named device token for future sign-ins."
74
74
  }),
75
- error && /* @__PURE__ */ jsx("div", {
75
+ error === "token" && /* @__PURE__ */ jsxs("div", {
76
76
  className: "err mt-5",
77
- children: "That token was not accepted."
77
+ role: "alert",
78
+ children: [
79
+ "That credential was not accepted. On first run, use the bootstrap token from",
80
+ " ",
81
+ /* @__PURE__ */ jsx("code", { children: "auth.json" }),
82
+ "; afterward, use a named device token."
83
+ ]
84
+ }),
85
+ error === "origin" && /* @__PURE__ */ jsx("div", {
86
+ className: "err mt-5",
87
+ role: "alert",
88
+ children: "Bazilion blocked the sign-in request because its browser origin was hidden. Reload this page and try again from the configured Bazilion address."
78
89
  }),
79
90
  /* @__PURE__ */ jsxs("form", {
80
91
  method: "POST",
@@ -105,19 +116,18 @@ function LoginPage() {
105
116
  /* @__PURE__ */ jsxs("p", {
106
117
  className: "mt-5 rounded-xl bg-ivory px-3 py-2.5 text-[0.78em] leading-relaxed text-mocha-light",
107
118
  children: [
108
- "Find it in ",
109
- /* @__PURE__ */ jsx("code", { children: "~/.bazilion/auth.json" }),
110
- ", created the first time you run",
111
- " ",
112
- /* @__PURE__ */ jsx("code", { children: "bazilion serve" }),
113
- "."
119
+ "Fresh install? Paste the bootstrap token from ",
120
+ /* @__PURE__ */ jsx("code", { children: "auth.json" }),
121
+ "; it is accepted only until provider setup is complete and is exchanged for a bounded session. For later sign-ins, run ",
122
+ /* @__PURE__ */ jsx("code", { children: "bazilion token create browser" }),
123
+ " on the server."
114
124
  ]
115
125
  })
116
126
  ]
117
127
  })]
118
128
  }),
119
129
  /* @__PURE__ */ jsxs("footer", {
120
- className: "absolute bottom-4 left-0 right-0 text-center text-[0.75em] text-fawn",
130
+ className: "absolute bottom-4 left-0 right-0 text-center text-xs text-mocha-light",
121
131
  children: ["dedicated to Baziu", /* @__PURE__ */ jsx(PawIcon, { className: "ml-1 inline-block h-3 w-3 align-[-1px] opacity-40" })]
122
132
  })
123
133
  ]
@@ -109,9 +109,9 @@ function ThemeToggle() {
109
109
  }
110
110
  //#endregion
111
111
  //#region src/routes/login.tsx
112
- var $$splitComponentImporter = () => import("./login-CmWvxfTK.js");
112
+ var $$splitComponentImporter = () => import("./login-BNj3U6ok.js");
113
113
  var Route = createFileRoute("/login")({
114
- validateSearch: (search) => ({ error: search.error === "1" ? "1" : void 0 }),
114
+ validateSearch: (search) => ({ error: search.error === "token" || search.error === "origin" ? search.error : void 0 }),
115
115
  component: lazyRouteComponent($$splitComponentImporter, "component")
116
116
  });
117
117
  //#endregion
@@ -1,8 +1,8 @@
1
- import { t as createServerFn } from "../server.js";
2
- import { t as createSsrRpc } from "./createSsrRpc-DFsIAfFd.js";
1
+ import { n as createServerFn } from "../server.js";
2
+ import { t as createSsrRpc } from "./createSsrRpc-6LHNEsSK.js";
3
3
  import { createFileRoute, lazyRouteComponent } from "@tanstack/react-router";
4
4
  //#region src/routes/config/mcp.tsx
5
- var $$splitComponentImporter = () => import("./mcp-BJjLIdP0.js");
5
+ var $$splitComponentImporter = () => import("./mcp-CiBs8unU.js");
6
6
  var fetchServers = createServerFn({ method: "GET" }).handler(createSsrRpc("278849457893891c3d22806d15e11a0a42cc3630b30e9e62b74cf2d3b982ded7"));
7
7
  var Route = createFileRoute("/config/mcp")({
8
8
  loader: () => fetchServers(),
@@ -1,6 +1,6 @@
1
- import { t as createServerFn } from "../server.js";
2
- import { t as createServerRpc } from "./createServerRpc-pU-IQV2Y.js";
3
- import { n as daemonClient } 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 } from "./daemon-client-CI5NHwNC.js";
4
4
  //#region src/routes/config/mcp.tsx?tss-serverfn-split
5
5
  var fetchServers_createServerFn_handler = createServerRpc({
6
6
  id: "278849457893891c3d22806d15e11a0a42cc3630b30e9e62b74cf2d3b982ded7",