bazilion 0.8.0 → 0.10.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 +47 -5
  2. package/dist/cli.js +1190 -640
  3. package/dist/cli.js.map +1 -1
  4. package/dist/daemon.js +5165 -1598
  5. package/dist/daemon.js.map +1 -1
  6. package/dist/migrations/0001_init.sql +318 -88
  7. package/dist/web/client/assets/AgentTabs-B3hq5a3e.js +1 -0
  8. package/dist/web/client/assets/ConfigPage-BCwfgyjD.js +1 -0
  9. package/dist/web/client/assets/FieldRow-avAFLgYW.js +1 -0
  10. package/dist/web/client/assets/Page-CwNuDhWz.js +1 -0
  11. package/dist/web/client/assets/ProductionTeamPolicyEditor-CiQ-VVDo.js +7 -0
  12. package/dist/web/client/assets/ProductionTeamPolicyEditor-DLioOiRN.css +1 -0
  13. package/dist/web/client/assets/ProfileCommunicationEditor-D84F5yfr.js +1 -0
  14. package/dist/web/client/assets/RecoveryState-QfMSuwy3.js +1 -0
  15. package/dist/web/client/assets/SectionTabs-DZzy01az.js +1 -0
  16. package/dist/web/client/assets/TeamTabs-Btoe_FAE.js +1 -0
  17. package/dist/web/client/assets/TemplatesTabs-CAYY03F5.js +1 -0
  18. package/dist/web/client/assets/_id-BeauECmk.js +1 -0
  19. package/dist/web/client/assets/_id-BqU2BodK.js +1 -0
  20. package/dist/web/client/assets/_id-CKtoio3t.js +1 -0
  21. package/dist/web/client/assets/_id-DGyKURCp.js +1 -0
  22. package/dist/web/client/assets/_id-Q98Of6k9.js +1 -0
  23. package/dist/web/client/assets/activity-DJuhhQCb.js +1 -0
  24. package/dist/web/client/assets/activity-DXN_N85w.js +1 -0
  25. package/dist/web/client/assets/agents-C5Xsdge1.js +1 -0
  26. package/dist/web/client/assets/agents-Cgxo4H5G.js +1 -0
  27. package/dist/web/client/assets/approvals-BnG7fbw-.js +1 -0
  28. package/dist/web/client/assets/approvals-DGi0PSx8.js +1 -0
  29. package/dist/web/client/assets/chevron-down-BhcBspw3.js +1 -0
  30. package/dist/web/client/assets/config-xw4NyrXF.js +3 -0
  31. package/dist/web/client/assets/context-D2V1Oi4z.js +1 -0
  32. package/dist/web/client/assets/inbox-DK6hWCMp.js +1 -0
  33. package/dist/web/client/assets/index-VdURSoM4.js +12 -0
  34. package/dist/web/client/assets/login-CvptUoMR.js +1 -0
  35. package/dist/web/client/assets/mcp-BDFM_sW-.js +1 -0
  36. package/dist/web/client/assets/members-BJvph_TR.js +1 -0
  37. package/dist/web/client/assets/memory-DRytqZCD.js +1 -0
  38. package/dist/web/client/assets/plus-C9ee3SIO.js +1 -0
  39. package/dist/web/client/assets/policy-CGP50OtQ.js +1 -0
  40. package/dist/web/client/assets/policy-K4hIbbIN.js +1 -0
  41. package/dist/web/client/assets/preload-helper-mNuBjNXU.js +1 -0
  42. package/dist/web/client/assets/react-3W8R1pOO.js +1 -0
  43. package/dist/web/client/assets/routes-DJnWYvC9.js +1 -0
  44. package/dist/web/client/assets/services-DHheiv7L.js +1 -0
  45. package/dist/web/client/assets/skills-DmsitluU.js +1 -0
  46. package/dist/web/client/assets/styles-B5eQAwLP.css +2 -0
  47. package/dist/web/client/assets/team-policy-D0jpnn2b.js +1 -0
  48. package/dist/web/client/assets/teams-BdC4gthq.js +1 -0
  49. package/dist/web/client/assets/teams-CSNyLz3l.js +1 -0
  50. package/dist/web/client/assets/teams-CbxSaorm.js +1 -0
  51. package/dist/web/client/assets/telegram-D61G_alO.js +1 -0
  52. package/dist/web/client/assets/tokens-CjRplDrJ.js +1 -0
  53. package/dist/web/client/assets/triggers-MLzTm_DM.js +1 -0
  54. package/dist/web/client/assets/welcome-wBfX9dAd.js +1 -0
  55. package/dist/web/client/assets/{ChatPane-DzEgOEqS.js → wire-constants-BxfyUMXB.js} +4 -4
  56. package/dist/web/server/assets/{AgentTabs-BOjTN7QF.js → AgentTabs-DoMDJBXH.js} +10 -7
  57. package/dist/web/server/assets/{ChatPane-BvpswYvF.js → ChatPane-eUY_dga3.js} +38 -20
  58. package/dist/web/server/assets/ConfigPage-BKlh5vOU.js +68 -0
  59. package/dist/web/server/assets/{FieldRow-DwyqycWI.js → FieldRow-B4eTegH9.js} +5 -5
  60. package/dist/web/server/assets/Page-LENulSXY.js +111 -0
  61. package/dist/web/server/assets/ProductionTeamPolicyEditor-Y4mzFFvR.js +1009 -0
  62. package/dist/web/server/assets/ProfileCommunicationEditor-C2RU-2QB.js +107 -0
  63. package/dist/web/server/assets/RecoveryState-B2SG-mrY.js +37 -0
  64. package/dist/web/server/assets/SectionTabs-BJTPr5nU.js +8 -0
  65. package/dist/web/server/assets/Sidebar-O_CH1-JD.js +964 -0
  66. package/dist/web/server/assets/TeamTabs-zZzbP1t_.js +51 -0
  67. package/dist/web/server/assets/{TemplatesTabs---7h5GYa.js → TemplatesTabs-CcRxZhJe.js} +9 -8
  68. package/dist/web/server/assets/_id-A8Xiv6Lc.js +11 -0
  69. package/dist/web/server/assets/{_id-Sjw0zhA6.js → _id-BhOB8Umi.js} +5 -5
  70. package/dist/web/server/assets/{_id-DDixKEud.js → _id-C3HY4lWg.js} +77 -20
  71. package/dist/web/server/assets/{_id-BdRiQb2H.js → _id-ClN9hY2x.js} +132 -39
  72. package/dist/web/server/assets/{_id-BqnDy_Ca.js → _id-CwyGjJeP.js} +7 -6
  73. package/dist/web/server/assets/{_id-D8duqgd5.js → _id-D27T85mU.js} +6 -5
  74. package/dist/web/server/assets/_id-D3Ap7zZA.js +377 -0
  75. package/dist/web/server/assets/_id-DinTp_7X.js +14 -0
  76. package/dist/web/server/assets/{_id-CnQflrRv.js → _id-Dj1yZ3zJ.js} +6 -6
  77. package/dist/web/server/assets/{_id-DUIrFV3G.js → _id-DkYodSkG.js} +10 -2
  78. package/dist/web/server/assets/{_id-D_Ew11ED.js → _id-IzadFZV9.js} +9 -9
  79. package/dist/web/server/assets/_id-LrvXU4Nr.js +45 -0
  80. package/dist/web/server/assets/_id-tB47Vsfp.js +42 -0
  81. package/dist/web/server/assets/_tanstack-start-manifest_v-D09Xu_6u.js +286 -0
  82. package/dist/web/server/assets/activity-BCI4mfNS.js +168 -0
  83. package/dist/web/server/assets/activity-CGCf8BQf.js +11 -0
  84. package/dist/web/server/assets/activity-D9SMqBhy.js +14 -0
  85. package/dist/web/server/assets/activity-DohitgwW.js +12 -0
  86. package/dist/web/server/assets/{agents-k5QURC4I.js → agents-BPKOshR5.js} +5 -5
  87. package/dist/web/server/assets/{profiles-C6a3RKgu.js → agents-BY74v7fM.js} +5 -5
  88. package/dist/web/server/assets/{profiles-CZ5NkmVw.js → agents-BvttypqB.js} +5 -5
  89. package/dist/web/server/assets/{agents-ChcAJUI5.js → agents-C9xlWK0Z.js} +2 -2
  90. package/dist/web/server/assets/agents-CgZMHj80.js +265 -0
  91. package/dist/web/server/assets/{profiles-LxcC_L6n.js → agents-DZuFEj0D.js} +87 -79
  92. package/dist/web/server/assets/approvals-BGU-XGIO.js +12 -0
  93. package/dist/web/server/assets/approvals-CWcFHlor.js +14 -0
  94. package/dist/web/server/assets/approvals-CbFXFvG8.js +11 -0
  95. package/dist/web/server/assets/approvals-DCaVw1Mz.js +280 -0
  96. package/dist/web/server/assets/{auth-DzRAMwVt.js → auth-byfSx6Ja.js} +6 -2
  97. package/dist/web/server/assets/{config-CHaCv89D.js → config-BDCJdtj2.js} +1 -1
  98. package/dist/web/server/assets/{config-CdVjqjin.js → config-D2LAsud2.js} +31 -52
  99. package/dist/web/server/assets/{config-Bq3o924J.js → config-TeIoyYYc.js} +2 -2
  100. package/dist/web/server/assets/context-B-XDf6Ym.js +12 -0
  101. package/dist/web/server/assets/context-BXGo5Vfi.js +12 -0
  102. package/dist/web/server/assets/context-DrkrIWun.js +47 -0
  103. package/dist/web/server/assets/{createServerRpc-CeKECg65.js → createServerRpc-pU-IQV2Y.js} +1 -1
  104. package/dist/web/server/assets/{createSsrRpc-ZBGxhl8t.js → createSsrRpc-DFsIAfFd.js} +1 -1
  105. package/dist/web/server/assets/{empty-plugin-adapters-DKUlnwwl.js → empty-plugin-adapters-Cq4--YW-.js} +1 -1
  106. package/dist/web/server/assets/{inbox-CkiSvD14.js → inbox-B3-TRsNI.js} +1 -1
  107. package/dist/web/server/assets/{inbox-Bxb3W04M.js → inbox-BardsGyy.js} +2 -2
  108. package/dist/web/server/assets/inbox-CUIyf9MT.js +131 -0
  109. package/dist/web/server/assets/login-Bx5LEyGP.js +118 -0
  110. package/dist/web/server/assets/login-CmWvxfTK.js +136 -0
  111. package/dist/web/server/assets/{mcp-BsFKEoXt.js → mcp-2pwT9HU8.js} +1 -1
  112. package/dist/web/server/assets/{mcp-BU_kKENi.js → mcp-BJjLIdP0.js} +105 -112
  113. package/dist/web/server/assets/{mcp-CKqwG4mt.js → mcp-DIWTogHM.js} +2 -2
  114. package/dist/web/server/assets/members-CCv17cjQ.js +46 -0
  115. package/dist/web/server/assets/members-CW5aBe81.js +12 -0
  116. package/dist/web/server/assets/members-VdPwD6CE.js +12 -0
  117. package/dist/web/server/assets/{memory-BaYnfm7K.js → memory-Dngc13Nw.js} +9 -9
  118. package/dist/web/server/assets/{memory-CQaqWnyM.js → memory-a8Kz57Kh.js} +22 -19
  119. package/dist/web/server/assets/{memory-Ns2-Z31p.js → memory-pZ4pZT7p.js} +6 -6
  120. package/dist/web/server/assets/policy-BYVXqsan.js +11 -0
  121. package/dist/web/server/assets/policy-Bb-vEgqg.js +40 -0
  122. package/dist/web/server/assets/policy-BcGELcc9.js +490 -0
  123. package/dist/web/server/assets/policy-C30AeFIb.js +21 -0
  124. package/dist/web/server/assets/router-DIdp8ZNt.js +504 -0
  125. package/dist/web/server/assets/{routes-C61gBiXa.js → routes-CXz4hTAr.js} +6 -6
  126. package/dist/web/server/assets/{routes-Ce2VWrU9.js → routes-Jb0zjKav.js} +16 -13
  127. package/dist/web/server/assets/{routes-V9URcp1v.js → routes-lIclH9Br.js} +2 -2
  128. package/dist/web/server/assets/services-B9yBWDX0.js +79 -0
  129. package/dist/web/server/assets/{services-Ccc5s2bS.js → services-C4szdhPx.js} +4 -4
  130. package/dist/web/server/assets/{services-DhRiNeq0.js → services-wG8I06oS.js} +1 -1
  131. package/dist/web/server/assets/skills-BZdqiDig.js +358 -0
  132. package/dist/web/server/assets/{skills-l2cyQ3zS.js → skills-C-UgkuCW.js} +2 -2
  133. package/dist/web/server/assets/{skills-CFIWVg32.js → skills-a9VSWHWq.js} +1 -1
  134. package/dist/web/server/assets/{start-CYDpZ6cb.js → start-WH8WzTL_.js} +1 -1
  135. package/dist/web/server/assets/team-policy-vPG01onj.js +180 -0
  136. package/dist/web/server/assets/teams-3im0oQnS.js +11 -0
  137. package/dist/web/server/assets/teams-CpQ0YgWf.js +112 -0
  138. package/dist/web/server/assets/teams-DEpQR2QA.js +14 -0
  139. package/dist/web/server/assets/teams-DqfrEoH6.js +36 -0
  140. package/dist/web/server/assets/teams-MjqgsmC3.js +12 -0
  141. package/dist/web/server/assets/teams-OIkHuxy1.js +12 -0
  142. package/dist/web/server/assets/teams-jBtvnk59.js +193 -0
  143. package/dist/web/server/assets/{telegram-DfAddLdv.js → telegram-7ub--6xz.js} +44 -56
  144. package/dist/web/server/assets/{telegram-T3l9KtiE.js → telegram-Bazhmpr4.js} +2 -2
  145. package/dist/web/server/assets/{telegram-BdaUIjvs.js → telegram-DNgCWebD.js} +1 -1
  146. package/dist/web/server/assets/{tokens-DdpnfV_Y.js → tokens-BnwFbV7T.js} +2 -2
  147. package/dist/web/server/assets/{tokens-BCz3PSoT.js → tokens-DPDMSN5O.js} +1 -1
  148. package/dist/web/server/assets/tokens-yyTSfBSN.js +186 -0
  149. package/dist/web/server/assets/{triggers-BzJG1nN5.js → triggers-BMpHsGIr.js} +5 -4
  150. package/dist/web/server/assets/{triggers-BcH_6PW1.js → triggers-C_0y6QV9.js} +1 -1
  151. package/dist/web/server/assets/{triggers-BcTTwMfy.js → triggers-Ca57_qym.js} +2 -2
  152. package/dist/web/server/assets/{welcome-CP4CZ9B6.js → welcome-IYHGurWx.js} +23 -15
  153. package/dist/web/server/assets/{wire-constants-Deb4NxBb.js → wire-constants-C8nBJcU3.js} +3 -3
  154. package/dist/web/server/server.js +126 -95
  155. package/dist/worker.js +185 -146
  156. package/dist/worker.js.map +1 -1
  157. package/package.json +8 -7
  158. package/dist/migrations/0002_profile_groups.sql +0 -38
  159. package/dist/migrations/0003_agent_telegram.sql +0 -40
  160. package/dist/migrations/0004_agent_mirror_mode.sql +0 -17
  161. package/dist/migrations/0005_group_topic_name_format.sql +0 -15
  162. package/dist/migrations/0006_telegram_acl.sql +0 -18
  163. package/dist/migrations/0007_mcp_servers.sql +0 -30
  164. package/dist/migrations/0008_seed_user_md.sql +0 -39
  165. package/dist/web/client/assets/AgentTabs-DioGqUVR.js +0 -1
  166. package/dist/web/client/assets/ConfigTabs-pY-V0Rie.js +0 -1
  167. package/dist/web/client/assets/FieldRow-CNKma5LE.js +0 -1
  168. package/dist/web/client/assets/MembersEditor-C6UpqDdV.js +0 -1
  169. package/dist/web/client/assets/SpawnTeamModal-BEkNCKXm.js +0 -1
  170. package/dist/web/client/assets/TemplatesTabs-UM04RMO9.js +0 -1
  171. package/dist/web/client/assets/_id-BNJapCT4.js +0 -1
  172. package/dist/web/client/assets/_id-CjGoV8Mr.js +0 -1
  173. package/dist/web/client/assets/_id-DehuCHUw.js +0 -1
  174. package/dist/web/client/assets/_id-Dz9fjcCM.js +0 -1
  175. package/dist/web/client/assets/agents-M6omAXcZ.js +0 -1
  176. package/dist/web/client/assets/config-DIuEc5bm.js +0 -3
  177. package/dist/web/client/assets/groups-DpE2d2zZ.js +0 -1
  178. package/dist/web/client/assets/inbox-BPnLsRNf.js +0 -1
  179. package/dist/web/client/assets/index-MAJuXnie.js +0 -12
  180. package/dist/web/client/assets/login-CawJX16E.js +0 -1
  181. package/dist/web/client/assets/mcp-DIrh9-v_.js +0 -1
  182. package/dist/web/client/assets/memory-BpHbdKsd.js +0 -1
  183. package/dist/web/client/assets/preload-helper-CvnapA2_.js +0 -1
  184. package/dist/web/client/assets/profile-groups-ByoKak0c.js +0 -1
  185. package/dist/web/client/assets/profiles-BEjv8LGo.js +0 -1
  186. package/dist/web/client/assets/routes-D2COHy7v.js +0 -1
  187. package/dist/web/client/assets/services-D212jSK_.js +0 -1
  188. package/dist/web/client/assets/skills-Da0MURjY.js +0 -1
  189. package/dist/web/client/assets/styles-BgE5bCHA.css +0 -2
  190. package/dist/web/client/assets/telegram-Czh2MdVm.js +0 -1
  191. package/dist/web/client/assets/tokens-E_JvO5JN.js +0 -1
  192. package/dist/web/client/assets/triggers-BBRZQOm7.js +0 -1
  193. package/dist/web/client/assets/welcome-Dn-zvmBE.js +0 -1
  194. package/dist/web/client/assets/wire-constants-BkT5-597.js +0 -1
  195. package/dist/web/server/assets/ConfigTabs-CyuxzesF.js +0 -41
  196. package/dist/web/server/assets/MembersEditor-BWQztvrX.js +0 -131
  197. package/dist/web/server/assets/Sidebar-DmEiewRN.js +0 -529
  198. package/dist/web/server/assets/SpawnTeamModal-dSN421k_.js +0 -107
  199. package/dist/web/server/assets/_id-BKev9H1p.js +0 -12
  200. package/dist/web/server/assets/_id-BNwlbWHP.js +0 -24
  201. package/dist/web/server/assets/_id-CRqqi8IE.js +0 -161
  202. package/dist/web/server/assets/_id-CXg-Blec.js +0 -367
  203. package/dist/web/server/assets/_tanstack-start-manifest_v-D9FLKShQ.js +0 -178
  204. package/dist/web/server/assets/agents-C7SBPN0M.js +0 -210
  205. package/dist/web/server/assets/groups-CbSwND2r.js +0 -12
  206. package/dist/web/server/assets/groups-CeRRlZaZ.js +0 -150
  207. package/dist/web/server/assets/groups-pk4CYSuf.js +0 -21
  208. package/dist/web/server/assets/inbox-DU27iHv_.js +0 -133
  209. package/dist/web/server/assets/login-CNznncgA.js +0 -58
  210. package/dist/web/server/assets/login-CQybKk7Y.js +0 -74
  211. package/dist/web/server/assets/profile-groups-CiU06yN1.js +0 -28
  212. package/dist/web/server/assets/profile-groups-D21MYoLM.js +0 -208
  213. package/dist/web/server/assets/profile-groups-aoJleXHP.js +0 -12
  214. package/dist/web/server/assets/router-BrDascdO.js +0 -460
  215. package/dist/web/server/assets/services-B91w2f-X.js +0 -94
  216. package/dist/web/server/assets/skills-D89ND2kR.js +0 -321
  217. package/dist/web/server/assets/tokens-CkKqrtk-.js +0 -193
@@ -1,133 +0,0 @@
1
- import { t as Route } from "./inbox-Bxb3W04M.js";
2
- import { t as AgentTabs } from "./AgentTabs-BOjTN7QF.js";
3
- import { jsx, jsxs } from "react/jsx-runtime";
4
- //#region src/routes/agents/$id/inbox.tsx?tsr-split=component
5
- function decodeText(payload) {
6
- try {
7
- const obj = JSON.parse(payload);
8
- if (typeof obj.text === "string") return obj.text;
9
- } catch {}
10
- return payload;
11
- }
12
- function InboxPage() {
13
- const { resolved, messages, unreadCount, selected, agentNames } = Route.useLoaderData();
14
- const unreadOnly = Route.useSearch().unread === "1";
15
- const misaddressed = Boolean(selected && selected.toAgentId !== resolved.agent.id);
16
- function agentLabel(aid) {
17
- const name = agentNames[aid];
18
- return name ? `${name} (${aid.slice(0, 8)})` : aid.slice(0, 8);
19
- }
20
- return /* @__PURE__ */ jsxs("main", {
21
- className: "mx-auto max-w-5xl px-6 py-8",
22
- children: [
23
- /* @__PURE__ */ jsx("h1", {
24
- className: "font-serif text-3xl text-foreground mb-1",
25
- children: resolved.agent.name
26
- }),
27
- /* @__PURE__ */ jsxs("p", {
28
- className: "text-xs text-muted-foreground mb-6",
29
- children: [
30
- /* @__PURE__ */ jsxs("code", {
31
- className: "font-mono",
32
- children: [resolved.agent.id.slice(0, 8), "…"]
33
- }),
34
- " · unread: ",
35
- unreadCount
36
- ]
37
- }),
38
- /* @__PURE__ */ jsx(AgentTabs, {
39
- agentId: resolved.agent.id,
40
- active: "inbox",
41
- archived: resolved.agent.status === "archived"
42
- }),
43
- /* @__PURE__ */ jsxs("div", {
44
- className: "grid grid-cols-1 md:grid-cols-[360px_1fr] gap-6",
45
- children: [/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("div", {
46
- className: "flex gap-1 border-b mb-3",
47
- children: [/* @__PURE__ */ jsx("a", {
48
- href: `/agents/${resolved.agent.id}/inbox`,
49
- className: `px-3 py-1.5 text-sm border-b-2 -mb-px ${!unreadOnly ? "border-primary text-primary font-semibold" : "border-transparent text-muted-foreground"}`,
50
- children: "all"
51
- }), /* @__PURE__ */ jsx("a", {
52
- href: `/agents/${resolved.agent.id}/inbox?unread=1`,
53
- className: `px-3 py-1.5 text-sm border-b-2 -mb-px ${unreadOnly ? "border-primary text-primary font-semibold" : "border-transparent text-muted-foreground"}`,
54
- children: "unread"
55
- })]
56
- }), /* @__PURE__ */ jsx("div", {
57
- className: "rounded-lg border bg-card max-h-[640px] overflow-y-auto",
58
- children: messages.length === 0 ? /* @__PURE__ */ jsx("div", {
59
- className: "p-6 text-center text-muted-foreground italic",
60
- children: unreadOnly ? "no unread messages" : "inbox empty"
61
- }) : messages.map((m) => {
62
- const text = decodeText(m.payload);
63
- const preview = text.length > 80 ? `${text.slice(0, 80)}…` : text;
64
- const when = new Date(m.createdAt).toLocaleString();
65
- const isActive = selected?.id === m.id;
66
- const isUnread = m.readAt === null;
67
- const qs = unreadOnly ? `?unread=1&id=${m.id}` : `?id=${m.id}`;
68
- return /* @__PURE__ */ jsxs("a", {
69
- href: `/agents/${resolved.agent.id}/inbox${qs}`,
70
- className: `block border-b last:border-0 px-3 py-2 text-sm hover:bg-accent/30 ${isActive ? "bg-accent/40" : ""} ${isUnread ? "font-medium" : ""}`,
71
- children: [/* @__PURE__ */ jsxs("div", {
72
- className: "flex justify-between text-xs text-muted-foreground",
73
- children: [/* @__PURE__ */ jsxs("span", {
74
- className: "font-mono",
75
- children: [
76
- isUnread && /* @__PURE__ */ jsx("span", { className: "inline-block w-1.5 h-1.5 rounded-full bg-primary mr-1.5 align-middle" }),
77
- "from ",
78
- agentLabel(m.fromAgentId)
79
- ]
80
- }), /* @__PURE__ */ jsx("span", {
81
- className: "font-mono",
82
- children: when
83
- })]
84
- }), /* @__PURE__ */ jsx("div", {
85
- className: "text-foreground mt-0.5 truncate",
86
- children: preview
87
- })]
88
- }, m.id);
89
- })
90
- })] }), /* @__PURE__ */ jsxs("div", { children: [
91
- selected && !misaddressed && /* @__PURE__ */ jsxs("div", {
92
- className: "rounded-lg border bg-card p-5 mb-4",
93
- children: [/* @__PURE__ */ jsxs("div", {
94
- className: "font-mono text-xs text-muted-foreground mb-2 space-y-0.5",
95
- children: [
96
- /* @__PURE__ */ jsxs("div", { children: ["id: ", /* @__PURE__ */ jsx("code", { children: selected.id })] }),
97
- /* @__PURE__ */ jsxs("div", { children: ["from: ", /* @__PURE__ */ jsx("code", { children: agentLabel(selected.fromAgentId) })] }),
98
- /* @__PURE__ */ jsxs("div", { children: ["received: ", new Date(selected.createdAt).toLocaleString()] }),
99
- /* @__PURE__ */ jsxs("div", { children: [
100
- "read:",
101
- " ",
102
- selected.readAt ? new Date(selected.readAt).toLocaleString() : "(unread)"
103
- ] }),
104
- selected.replyTo && /* @__PURE__ */ jsxs("div", { children: ["reply to: ", /* @__PURE__ */ jsx("code", { children: selected.replyTo })] })
105
- ]
106
- }), /* @__PURE__ */ jsx("div", {
107
- className: "border-t pt-3 font-mono text-sm whitespace-pre-wrap break-words",
108
- children: decodeText(selected.payload)
109
- })]
110
- }),
111
- misaddressed && /* @__PURE__ */ jsx("div", {
112
- className: "rounded-lg border bg-card p-5 mb-4 text-muted-foreground",
113
- children: "message is not addressed to this agent"
114
- }),
115
- /* @__PURE__ */ jsxs("p", {
116
- className: "text-xs text-muted-foreground",
117
- children: [
118
- "Agents exchange messages automatically via their",
119
- " ",
120
- /* @__PURE__ */ jsx("code", {
121
- className: "font-mono",
122
- children: "send_message"
123
- }),
124
- " tool. An idle recipient's scheduler tick drains unread mail."
125
- ]
126
- })
127
- ] })]
128
- })
129
- ]
130
- });
131
- }
132
- //#endregion
133
- export { InboxPage as component };
@@ -1,58 +0,0 @@
1
- import { createFileRoute, lazyRouteComponent } from "@tanstack/react-router";
2
- import { jsx, jsxs } from "react/jsx-runtime";
3
- //#region src/components/PawIcon.tsx
4
- function PawIcon({ className }) {
5
- return /* @__PURE__ */ jsxs("svg", {
6
- viewBox: "0 0 24 24",
7
- fill: "currentColor",
8
- className,
9
- "aria-hidden": "true",
10
- children: [
11
- /* @__PURE__ */ jsx("ellipse", {
12
- cx: "7",
13
- cy: "5",
14
- rx: "2.2",
15
- ry: "2.8"
16
- }),
17
- /* @__PURE__ */ jsx("ellipse", {
18
- cx: "17",
19
- cy: "5",
20
- rx: "2.2",
21
- ry: "2.8"
22
- }),
23
- /* @__PURE__ */ jsx("ellipse", {
24
- cx: "3.5",
25
- cy: "11",
26
- rx: "2",
27
- ry: "2.5"
28
- }),
29
- /* @__PURE__ */ jsx("ellipse", {
30
- cx: "20.5",
31
- cy: "11",
32
- rx: "2",
33
- ry: "2.5"
34
- }),
35
- /* @__PURE__ */ jsx("path", { d: "M12 22c-4.5 0-7.5-3-7.5-6 0-3 2.5-5.5 4.5-7a4 4 0 0 1 6 0c2 1.5 4.5 4 4.5 7 0 3-3 6-7.5 6z" })
36
- ]
37
- });
38
- }
39
- //#endregion
40
- //#region src/components/BaziuLogo.tsx
41
- function BaziuLogo({ className }) {
42
- return /* @__PURE__ */ jsx("img", {
43
- src: "/baziu.svg",
44
- alt: "",
45
- "aria-hidden": "true",
46
- draggable: false,
47
- className
48
- });
49
- }
50
- //#endregion
51
- //#region src/routes/login.tsx
52
- var $$splitComponentImporter = () => import("./login-CQybKk7Y.js");
53
- var Route = createFileRoute("/login")({
54
- validateSearch: (search) => ({ error: search.error === "1" ? "1" : void 0 }),
55
- component: lazyRouteComponent($$splitComponentImporter, "component")
56
- });
57
- //#endregion
58
- export { BaziuLogo as n, PawIcon as r, Route as t };
@@ -1,74 +0,0 @@
1
- import { n as BaziuLogo, r as PawIcon, t as Route } from "./login-CNznncgA.js";
2
- import { jsx, jsxs } from "react/jsx-runtime";
3
- //#region src/routes/login.tsx?tsr-split=component
4
- function LoginPage() {
5
- const { error } = Route.useSearch();
6
- return /* @__PURE__ */ jsxs("main", {
7
- className: "relative flex min-h-dvh items-center justify-center bg-cream",
8
- children: [
9
- /* @__PURE__ */ jsx("div", {
10
- "aria-hidden": "true",
11
- className: "pointer-events-none absolute inset-0",
12
- style: { background: "radial-gradient(circle at 20% 15%, rgba(74,124,155,0.12), transparent 55%), radial-gradient(circle at 80% 85%, rgba(196,135,138,0.10), transparent 55%)" }
13
- }),
14
- /* @__PURE__ */ jsxs("div", {
15
- className: "relative w-full max-w-sm rounded-[16px] border border-frost bg-snow p-8 text-center shadow-baziu-md",
16
- children: [
17
- /* @__PURE__ */ jsx(BaziuLogo, { className: "mx-auto mb-3 h-16 w-16" }),
18
- /* @__PURE__ */ jsx("h1", {
19
- className: "font-display text-[2rem] tracking-tight text-charcoal",
20
- children: "bazilion"
21
- }),
22
- error && /* @__PURE__ */ jsx("div", {
23
- className: "err mt-4",
24
- children: "invalid token"
25
- }),
26
- /* @__PURE__ */ jsxs("form", {
27
- method: "POST",
28
- action: "/api/login",
29
- className: "mt-6 text-left",
30
- children: [
31
- /* @__PURE__ */ jsx("label", {
32
- htmlFor: "token",
33
- className: "block text-[0.85em] font-medium text-mocha",
34
- children: "Token"
35
- }),
36
- /* @__PURE__ */ jsx("input", {
37
- type: "password",
38
- id: "token",
39
- name: "token",
40
- autoFocus: true,
41
- required: true,
42
- placeholder: "paste from auth.json",
43
- className: "mb-5"
44
- }),
45
- /* @__PURE__ */ jsx("button", {
46
- type: "submit",
47
- className: "w-full",
48
- children: "log in"
49
- })
50
- ]
51
- }),
52
- /* @__PURE__ */ jsxs("p", {
53
- className: "mt-5 text-[0.78em] leading-relaxed text-mocha-light",
54
- children: [
55
- "Your token is in ",
56
- /* @__PURE__ */ jsx("code", { children: "~/.bazilion/auth.json" }),
57
- /* @__PURE__ */ jsx("br", {}),
58
- "created on first ",
59
- /* @__PURE__ */ jsx("code", { children: "bazilion dashboard" }),
60
- " or ",
61
- /* @__PURE__ */ jsx("code", { children: "bazilion serve" })
62
- ]
63
- })
64
- ]
65
- }),
66
- /* @__PURE__ */ jsxs("footer", {
67
- className: "absolute bottom-4 left-0 right-0 text-center text-[0.78em] text-fawn",
68
- children: ["dedicated to Baziu", /* @__PURE__ */ jsx(PawIcon, { className: "ml-1 inline-block h-3 w-3 align-[-1px] opacity-40" })]
69
- })
70
- ]
71
- });
72
- }
73
- //#endregion
74
- export { LoginPage as component };
@@ -1,28 +0,0 @@
1
- import { t as createServerFn } from "../server.js";
2
- import { t as createServerRpc } from "./createServerRpc-CeKECg65.js";
3
- import { n as daemonClient } from "./daemon-client-2NRMzlTr.js";
4
- //#region src/routes/profile-groups/index.tsx?tss-serverfn-split
5
- var fetchProfileGroupsData_createServerFn_handler = createServerRpc({
6
- id: "be2ab9d2d20bd46baa655e08a8f6f0c2161b01657d0362564a58edeaf2195a31",
7
- name: "fetchProfileGroupsData",
8
- filename: "src/routes/profile-groups/index.tsx"
9
- }, (opts) => fetchProfileGroupsData.__executeServer(opts));
10
- var fetchProfileGroupsData = createServerFn({ method: "GET" }).handler(fetchProfileGroupsData_createServerFn_handler, async () => {
11
- const c = daemonClient();
12
- const [profileGroups, groups, profiles, models, templates] = await Promise.all([
13
- c.get("/api/profile-groups"),
14
- c.get("/api/groups"),
15
- c.get("/api/profiles"),
16
- c.get("/api/config/available-models"),
17
- c.get("/api/profiles/_/templates")
18
- ]);
19
- return {
20
- profileGroups,
21
- groups,
22
- profiles,
23
- modelGroups: models.groups,
24
- userMdDefault: templates.userMd
25
- };
26
- });
27
- //#endregion
28
- export { fetchProfileGroupsData_createServerFn_handler };
@@ -1,208 +0,0 @@
1
- import { t as Route } from "./profile-groups-aoJleXHP.js";
2
- import { t as Button } from "./Button-Dsnw22OF.js";
3
- import { t as SpawnTeamModal } from "./SpawnTeamModal-dSN421k_.js";
4
- import { t as MembersEditor } from "./MembersEditor-BWQztvrX.js";
5
- import { t as TemplatesTabs } from "./TemplatesTabs---7h5GYa.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/profile-groups/index.tsx?tsr-split=component
10
- function ProfileGroupsPage() {
11
- const { profileGroups, groups, profiles, modelGroups, userMdDefault } = Route.useLoaderData();
12
- const router = useRouter();
13
- const [spawningId, setSpawningId] = useState(null);
14
- async function del(id) {
15
- if (!confirm("delete this profile group? (does not affect spawned agents)")) return;
16
- const res = await fetch(`/api/profile-groups/${id}`, { method: "DELETE" });
17
- if (!res.ok && res.status !== 204) {
18
- const e = await res.json().catch(() => null);
19
- alert(e?.error ?? res.statusText);
20
- return;
21
- }
22
- await router.invalidate();
23
- }
24
- return /* @__PURE__ */ jsxs("div", { children: [
25
- /* @__PURE__ */ jsx(TemplatesTabs, {}),
26
- /* @__PURE__ */ jsx("h1", { children: "profile groups" }),
27
- /* @__PURE__ */ jsx("p", {
28
- className: "muted",
29
- children: "A profile group is a reusable team template. Each one holds an ordered list of members — profile + agent-name + optional overrides — that get replayed as a single transactional spawn into a target group."
30
- }),
31
- /* @__PURE__ */ jsx(CreateProfileGroupForm, {
32
- profiles,
33
- modelGroups,
34
- userMdDefault,
35
- onCreated: () => router.invalidate()
36
- }),
37
- /* @__PURE__ */ jsxs("table", { children: [/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
38
- /* @__PURE__ */ jsx("th", { children: "id" }),
39
- /* @__PURE__ */ jsx("th", { children: "name" }),
40
- /* @__PURE__ */ jsx("th", { children: "members" }),
41
- /* @__PURE__ */ jsx("th", {})
42
- ] }) }), /* @__PURE__ */ jsxs("tbody", { children: [profileGroups.length === 0 && /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
43
- colSpan: 4,
44
- className: "muted",
45
- children: "no profile groups yet"
46
- }) }), profileGroups.map((g) => /* @__PURE__ */ jsxs("tr", { children: [
47
- /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx("a", {
48
- href: `/profile-groups/${g.id}`,
49
- children: /* @__PURE__ */ jsx("code", { children: g.id })
50
- }) }),
51
- /* @__PURE__ */ jsx("td", { children: g.name }),
52
- /* @__PURE__ */ jsx("td", { children: g.memberCount }),
53
- /* @__PURE__ */ jsxs("td", {
54
- className: "flex gap-2",
55
- children: [/* @__PURE__ */ jsx(Button, {
56
- variant: "primary",
57
- disabled: g.memberCount === 0,
58
- title: g.memberCount === 0 ? "add at least one member before spawning" : void 0,
59
- onClick: () => setSpawningId(g.id),
60
- children: "spawn team"
61
- }), /* @__PURE__ */ jsx(Button, {
62
- variant: "danger",
63
- onClick: () => del(g.id),
64
- children: "delete"
65
- })]
66
- })
67
- ] }, g.id))] })] }),
68
- spawningId && /* @__PURE__ */ jsx(SpawnTeamModal, {
69
- profileGroup: profileGroups.find((g) => g.id === spawningId),
70
- groups,
71
- onClose: () => setSpawningId(null),
72
- onSpawned: (slug) => {
73
- setSpawningId(null);
74
- router.navigate({
75
- to: "/groups/$id",
76
- params: { id: slug }
77
- });
78
- }
79
- })
80
- ] });
81
- }
82
- function CreateProfileGroupForm({ profiles, modelGroups, userMdDefault, onCreated }) {
83
- const [id, setId] = useState("");
84
- const [name, setName] = useState("");
85
- const [userMd, setUserMd] = useState(userMdDefault);
86
- const [members, setMembers] = useState([]);
87
- const [err, setErr] = useState(null);
88
- const [submitting, setSubmitting] = useState(false);
89
- async function submit(e) {
90
- e.preventDefault();
91
- setErr(null);
92
- if (!id.trim()) {
93
- setErr("id is required");
94
- return;
95
- }
96
- setSubmitting(true);
97
- try {
98
- const createBody = { id: id.trim() };
99
- if (name.trim()) createBody.name = name.trim();
100
- if (userMd) createBody.userMd = userMd;
101
- const createRes = await fetch("/api/profile-groups", {
102
- method: "POST",
103
- headers: { "content-type": "application/json" },
104
- body: JSON.stringify(createBody)
105
- });
106
- if (!createRes.ok) {
107
- const e2 = await createRes.json().catch(() => null);
108
- throw new Error(e2?.error ?? createRes.statusText);
109
- }
110
- if (members.length > 0) {
111
- const membersRes = await fetch(`/api/profile-groups/${id.trim()}/members`, {
112
- method: "PUT",
113
- headers: { "content-type": "application/json" },
114
- body: JSON.stringify({ members })
115
- });
116
- if (!membersRes.ok) {
117
- const e2 = await membersRes.json().catch(() => null);
118
- throw new Error(`group created, member save failed: ${e2?.error ?? membersRes.statusText}`);
119
- }
120
- }
121
- setId("");
122
- setName("");
123
- setUserMd(userMdDefault);
124
- setMembers([]);
125
- onCreated();
126
- } catch (e2) {
127
- setErr(e2.message);
128
- } finally {
129
- setSubmitting(false);
130
- }
131
- }
132
- return /* @__PURE__ */ jsxs("form", {
133
- className: "card",
134
- onSubmit: submit,
135
- children: [
136
- /* @__PURE__ */ jsx("h3", { children: "create profile group" }),
137
- err && /* @__PURE__ */ jsx("div", {
138
- className: "err",
139
- children: err
140
- }),
141
- /* @__PURE__ */ jsxs("div", {
142
- className: "flex gap-4",
143
- children: [/* @__PURE__ */ jsxs("label", {
144
- className: "flex-1",
145
- children: ["id (slug)", /* @__PURE__ */ jsx("input", {
146
- value: id,
147
- onChange: (e) => setId(e.target.value),
148
- required: true,
149
- placeholder: "platform-team"
150
- })]
151
- }), /* @__PURE__ */ jsxs("label", {
152
- className: "flex-1",
153
- children: ["name", /* @__PURE__ */ jsx("input", {
154
- value: name,
155
- onChange: (e) => setName(e.target.value),
156
- placeholder: "Platform Team"
157
- })]
158
- })]
159
- }),
160
- /* @__PURE__ */ jsxs("label", { children: ["starter USER.md (seeded into freshly-created target groups; prefilled with the built-in default — edit to customise)", /* @__PURE__ */ jsx("textarea", {
161
- rows: 3,
162
- value: userMd,
163
- onChange: (e) => setUserMd(e.target.value),
164
- className: "font-mono text-[0.88em] leading-[1.55]"
165
- })] }),
166
- /* @__PURE__ */ jsxs("div", {
167
- className: "mt-4",
168
- children: [
169
- /* @__PURE__ */ jsx("h4", {
170
- className: "mb-1 text-[0.95em] font-medium",
171
- children: "members"
172
- }),
173
- /* @__PURE__ */ jsxs("p", {
174
- className: "muted mb-2 text-[0.88em]",
175
- children: [
176
- "Each member becomes one agent when the team is spawned. You can also configure members later from the detail page.",
177
- " ",
178
- profiles.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
179
- "Available profiles:",
180
- " ",
181
- profiles.map((p, i) => /* @__PURE__ */ jsxs("span", { children: [i > 0 && ", ", /* @__PURE__ */ jsx("code", { children: p.id })] }, p.id)),
182
- "."
183
- ] })
184
- ]
185
- }),
186
- /* @__PURE__ */ jsx(MembersEditor, {
187
- members,
188
- onChange: setMembers,
189
- profiles,
190
- modelGroups,
191
- emptyHint: "No members configured yet — add one to pick a profile for each team member."
192
- })
193
- ]
194
- }),
195
- /* @__PURE__ */ jsx("div", {
196
- className: "mt-4",
197
- children: /* @__PURE__ */ jsx(Button, {
198
- variant: "primary",
199
- type: "submit",
200
- disabled: submitting,
201
- children: submitting ? "creating…" : "create"
202
- })
203
- })
204
- ]
205
- });
206
- }
207
- //#endregion
208
- export { ProfileGroupsPage as component };
@@ -1,12 +0,0 @@
1
- import { t as createServerFn } from "../server.js";
2
- import { t as createSsrRpc } from "./createSsrRpc-ZBGxhl8t.js";
3
- import { createFileRoute, lazyRouteComponent } from "@tanstack/react-router";
4
- //#region src/routes/profile-groups/index.tsx
5
- var $$splitComponentImporter = () => import("./profile-groups-D21MYoLM.js");
6
- var fetchProfileGroupsData = createServerFn({ method: "GET" }).handler(createSsrRpc("be2ab9d2d20bd46baa655e08a8f6f0c2161b01657d0362564a58edeaf2195a31"));
7
- var Route = createFileRoute("/profile-groups/")({
8
- loader: () => fetchProfileGroupsData(),
9
- component: lazyRouteComponent($$splitComponentImporter, "component")
10
- });
11
- //#endregion
12
- export { Route as t };