bazilion 0.8.0 → 0.9.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 (163) hide show
  1. package/README.md +47 -5
  2. package/dist/cli.js +1184 -628
  3. package/dist/cli.js.map +1 -1
  4. package/dist/daemon.js +5194 -1574
  5. package/dist/daemon.js.map +1 -1
  6. package/dist/migrations/0001_init.sql +318 -88
  7. package/dist/web/client/assets/{FieldRow-CNKma5LE.js → FieldRow-DmwAFfbF.js} +1 -1
  8. package/dist/web/client/assets/ProductionTeamPolicyEditor-1a5jQqUB.js +7 -0
  9. package/dist/web/client/assets/ProductionTeamPolicyEditor-DLioOiRN.css +1 -0
  10. package/dist/web/client/assets/ProfileCommunicationEditor-D1OZ8WE5.js +1 -0
  11. package/dist/web/client/assets/RecoveryState-QfMSuwy3.js +1 -0
  12. package/dist/web/client/assets/TeamTabs-BViZ4sti.js +1 -0
  13. package/dist/web/client/assets/TemplatesTabs-DVcY9pMD.js +1 -0
  14. package/dist/web/client/assets/_id-8P7brhGy.js +1 -0
  15. package/dist/web/client/assets/_id-C3o3MHq8.js +1 -0
  16. package/dist/web/client/assets/_id-DGRrSF1e.js +1 -0
  17. package/dist/web/client/assets/_id-DGyKURCp.js +1 -0
  18. package/dist/web/client/assets/_id-KnJe-aW9.js +1 -0
  19. package/dist/web/client/assets/activity-DJuhhQCb.js +1 -0
  20. package/dist/web/client/assets/activity-WWvJSo4t.js +1 -0
  21. package/dist/web/client/assets/agents-C32T1voV.js +1 -0
  22. package/dist/web/client/assets/agents-nH4m4gZ1.js +1 -0
  23. package/dist/web/client/assets/approvals-DGi0PSx8.js +1 -0
  24. package/dist/web/client/assets/approvals-l8jIZjqz.js +1 -0
  25. package/dist/web/client/assets/{config-DIuEc5bm.js → config-C7wvi1nR.js} +2 -2
  26. package/dist/web/client/assets/context-BEGWE3RC.js +1 -0
  27. package/dist/web/client/assets/inbox--4aBaAgG.js +1 -0
  28. package/dist/web/client/assets/index-BCXoh1c8.js +12 -0
  29. package/dist/web/client/assets/{login-CawJX16E.js → login-Bk2wwIHQ.js} +1 -1
  30. package/dist/web/client/assets/{mcp-DIrh9-v_.js → mcp-vM7xgh9e.js} +1 -1
  31. package/dist/web/client/assets/members-cPKfnrSL.js +1 -0
  32. package/dist/web/client/assets/memory-BOcsaemD.js +1 -0
  33. package/dist/web/client/assets/policy-BGLCJYvS.js +1 -0
  34. package/dist/web/client/assets/policy-K4hIbbIN.js +1 -0
  35. package/dist/web/client/assets/{preload-helper-CvnapA2_.js → preload-helper-eOOCz1Fu.js} +1 -1
  36. package/dist/web/client/assets/routes-DnrP3dwv.js +1 -0
  37. package/dist/web/client/assets/services-C2_O3ifw.js +1 -0
  38. package/dist/web/client/assets/{skills-Da0MURjY.js → skills-B__fLZjx.js} +1 -1
  39. package/dist/web/client/assets/styles-Dn24-ZvP.css +2 -0
  40. package/dist/web/client/assets/team-policy-BdX340m4.js +1 -0
  41. package/dist/web/client/assets/teams-CSNyLz3l.js +1 -0
  42. package/dist/web/client/assets/teams-DZMB4_iw.js +1 -0
  43. package/dist/web/client/assets/teams-rpaYKNIb.js +1 -0
  44. package/dist/web/client/assets/telegram-B1O4Ko0V.js +1 -0
  45. package/dist/web/client/assets/{tokens-E_JvO5JN.js → tokens-D7FH9VgA.js} +1 -1
  46. package/dist/web/client/assets/triggers-3PLy2_Fo.js +1 -0
  47. package/dist/web/client/assets/welcome-B-QQobzq.js +1 -0
  48. package/dist/web/client/assets/{ChatPane-DzEgOEqS.js → wire-constants-BY9Q9Z7d.js} +4 -4
  49. package/dist/web/server/assets/{ChatPane-BvpswYvF.js → ChatPane-Dh3qxzdb.js} +23 -12
  50. package/dist/web/server/assets/ProductionTeamPolicyEditor-Bke5doyl.js +1009 -0
  51. package/dist/web/server/assets/ProfileCommunicationEditor-C2RU-2QB.js +107 -0
  52. package/dist/web/server/assets/RecoveryState-B2SG-mrY.js +37 -0
  53. package/dist/web/server/assets/{Sidebar-DmEiewRN.js → Sidebar-CGmtCnYU.js} +372 -48
  54. package/dist/web/server/assets/TeamTabs-BPxDBfqy.js +50 -0
  55. package/dist/web/server/assets/{TemplatesTabs---7h5GYa.js → TemplatesTabs-zf4YhStd.js} +6 -6
  56. package/dist/web/server/assets/{_id-CXg-Blec.js → _id-5lLzLwcv.js} +52 -40
  57. package/dist/web/server/assets/_id-A8Xiv6Lc.js +11 -0
  58. package/dist/web/server/assets/{_id-BqnDy_Ca.js → _id-B04VaQlh.js} +6 -5
  59. package/dist/web/server/assets/{_id-BdRiQb2H.js → _id-B6g9wmPR.js} +126 -27
  60. package/dist/web/server/assets/_id-ButXHnRH.js +14 -0
  61. package/dist/web/server/assets/_id-C4AOhstq.js +44 -0
  62. package/dist/web/server/assets/{_id-DDixKEud.js → _id-CCHA0gdR.js} +72 -12
  63. package/dist/web/server/assets/{_id-D_Ew11ED.js → _id-CUWgTqMS.js} +8 -8
  64. package/dist/web/server/assets/_id-DJkzwHjM.js +42 -0
  65. package/dist/web/server/assets/{_id-CnQflrRv.js → _id-DdC9wpNN.js} +5 -5
  66. package/dist/web/server/assets/{_id-DUIrFV3G.js → _id-DkFgCIb-.js} +9 -1
  67. package/dist/web/server/assets/{_id-D8duqgd5.js → _id-_nFwi9gD.js} +5 -4
  68. package/dist/web/server/assets/{_id-Sjw0zhA6.js → _id-fpFQ9_Ya.js} +4 -4
  69. package/dist/web/server/assets/_tanstack-start-manifest_v-Div-TukY.js +241 -0
  70. package/dist/web/server/assets/activity-C2ZKg1Q9.js +170 -0
  71. package/dist/web/server/assets/activity-CGCf8BQf.js +11 -0
  72. package/dist/web/server/assets/activity-DedraoFj.js +14 -0
  73. package/dist/web/server/assets/activity-GPx8NCeB.js +12 -0
  74. package/dist/web/server/assets/{profiles-CZ5NkmVw.js → agents-B8kinIPW.js} +4 -4
  75. package/dist/web/server/assets/{agents-k5QURC4I.js → agents-BR2qXlXF.js} +4 -4
  76. package/dist/web/server/assets/{agents-ChcAJUI5.js → agents-Bp1nsVs2.js} +1 -1
  77. package/dist/web/server/assets/{profiles-LxcC_L6n.js → agents-CUQmWhTp.js} +36 -10
  78. package/dist/web/server/assets/{agents-C7SBPN0M.js → agents-DU9Hqs58.js} +51 -12
  79. package/dist/web/server/assets/{profiles-C6a3RKgu.js → agents-LHowEI6S.js} +4 -4
  80. package/dist/web/server/assets/approvals-CbFXFvG8.js +11 -0
  81. package/dist/web/server/assets/approvals-DHgARzd8.js +242 -0
  82. package/dist/web/server/assets/approvals-Dw2LJoSA.js +14 -0
  83. package/dist/web/server/assets/approvals-VPc0YpLN.js +12 -0
  84. package/dist/web/server/assets/{auth-DzRAMwVt.js → auth-l-Vf8wlu.js} +5 -1
  85. package/dist/web/server/assets/{config-CdVjqjin.js → config-BvKctDOX.js} +4 -4
  86. package/dist/web/server/assets/{config-Bq3o924J.js → config-QvHaxGlP.js} +1 -1
  87. package/dist/web/server/assets/context-5lrf2ame.js +12 -0
  88. package/dist/web/server/assets/context-CEr4-xiA.js +49 -0
  89. package/dist/web/server/assets/context-D3Egm-vY.js +12 -0
  90. package/dist/web/server/assets/members-40DxRdVj.js +48 -0
  91. package/dist/web/server/assets/members-DlGBKZNl.js +12 -0
  92. package/dist/web/server/assets/members-ksELRsyk.js +12 -0
  93. package/dist/web/server/assets/{memory-Ns2-Z31p.js → memory-B5moRnnp.js} +5 -5
  94. package/dist/web/server/assets/{memory-BaYnfm7K.js → memory-CO0jKGzJ.js} +8 -8
  95. package/dist/web/server/assets/memory-CiTl4cN9.js +289 -0
  96. package/dist/web/server/assets/policy-BYVXqsan.js +11 -0
  97. package/dist/web/server/assets/policy-DNcGZLOB.js +21 -0
  98. package/dist/web/server/assets/policy-Dr55y-Mh.js +496 -0
  99. package/dist/web/server/assets/policy-Dxs78_GO.js +40 -0
  100. package/dist/web/server/assets/{router-BrDascdO.js → router-_izWQUeG.js} +156 -101
  101. package/dist/web/server/assets/{routes-Ce2VWrU9.js → routes-BSSKp3Rv.js} +4 -4
  102. package/dist/web/server/assets/{routes-C61gBiXa.js → routes-BrTOoeth.js} +5 -5
  103. package/dist/web/server/assets/{routes-V9URcp1v.js → routes-DOj6ljcm.js} +1 -1
  104. package/dist/web/server/assets/{services-B91w2f-X.js → services-CHe4ihJk.js} +11 -11
  105. package/dist/web/server/assets/{services-Ccc5s2bS.js → services-Pv_V88VA.js} +3 -3
  106. package/dist/web/server/assets/{start-CYDpZ6cb.js → start-DlHq0RaQ.js} +1 -1
  107. package/dist/web/server/assets/team-policy-Csvc5EDd.js +180 -0
  108. package/dist/web/server/assets/teams-35Oprf6e.js +14 -0
  109. package/dist/web/server/assets/teams-3im0oQnS.js +11 -0
  110. package/dist/web/server/assets/teams-B5IF65p2.js +12 -0
  111. package/dist/web/server/assets/teams-B9O-WDH5.js +108 -0
  112. package/dist/web/server/assets/teams-DFkN7ic7.js +36 -0
  113. package/dist/web/server/assets/teams-DH1CvWmT.js +12 -0
  114. package/dist/web/server/assets/teams-zcm9XaQU.js +174 -0
  115. package/dist/web/server/assets/{telegram-DfAddLdv.js → telegram-C9sQFwWj.js} +7 -7
  116. package/dist/web/server/assets/{telegram-T3l9KtiE.js → telegram-mTnJCOmn.js} +1 -1
  117. package/dist/web/server/assets/{welcome-CP4CZ9B6.js → welcome-CDGE2Sdk.js} +2 -2
  118. package/dist/web/server/assets/{wire-constants-Deb4NxBb.js → wire-constants-C8nBJcU3.js} +3 -3
  119. package/dist/web/server/server.js +64 -42
  120. package/dist/worker.js +180 -128
  121. package/dist/worker.js.map +1 -1
  122. package/package.json +7 -7
  123. package/dist/migrations/0002_profile_groups.sql +0 -38
  124. package/dist/migrations/0003_agent_telegram.sql +0 -40
  125. package/dist/migrations/0004_agent_mirror_mode.sql +0 -17
  126. package/dist/migrations/0005_group_topic_name_format.sql +0 -15
  127. package/dist/migrations/0006_telegram_acl.sql +0 -18
  128. package/dist/migrations/0007_mcp_servers.sql +0 -30
  129. package/dist/migrations/0008_seed_user_md.sql +0 -39
  130. package/dist/web/client/assets/MembersEditor-C6UpqDdV.js +0 -1
  131. package/dist/web/client/assets/SpawnTeamModal-BEkNCKXm.js +0 -1
  132. package/dist/web/client/assets/TemplatesTabs-UM04RMO9.js +0 -1
  133. package/dist/web/client/assets/_id-BNJapCT4.js +0 -1
  134. package/dist/web/client/assets/_id-CjGoV8Mr.js +0 -1
  135. package/dist/web/client/assets/_id-DehuCHUw.js +0 -1
  136. package/dist/web/client/assets/_id-Dz9fjcCM.js +0 -1
  137. package/dist/web/client/assets/agents-M6omAXcZ.js +0 -1
  138. package/dist/web/client/assets/groups-DpE2d2zZ.js +0 -1
  139. package/dist/web/client/assets/inbox-BPnLsRNf.js +0 -1
  140. package/dist/web/client/assets/index-MAJuXnie.js +0 -12
  141. package/dist/web/client/assets/memory-BpHbdKsd.js +0 -1
  142. package/dist/web/client/assets/profile-groups-ByoKak0c.js +0 -1
  143. package/dist/web/client/assets/profiles-BEjv8LGo.js +0 -1
  144. package/dist/web/client/assets/routes-D2COHy7v.js +0 -1
  145. package/dist/web/client/assets/services-D212jSK_.js +0 -1
  146. package/dist/web/client/assets/styles-BgE5bCHA.css +0 -2
  147. package/dist/web/client/assets/telegram-Czh2MdVm.js +0 -1
  148. package/dist/web/client/assets/triggers-BBRZQOm7.js +0 -1
  149. package/dist/web/client/assets/welcome-Dn-zvmBE.js +0 -1
  150. package/dist/web/client/assets/wire-constants-BkT5-597.js +0 -1
  151. package/dist/web/server/assets/MembersEditor-BWQztvrX.js +0 -131
  152. package/dist/web/server/assets/SpawnTeamModal-dSN421k_.js +0 -107
  153. package/dist/web/server/assets/_id-BKev9H1p.js +0 -12
  154. package/dist/web/server/assets/_id-BNwlbWHP.js +0 -24
  155. package/dist/web/server/assets/_id-CRqqi8IE.js +0 -161
  156. package/dist/web/server/assets/_tanstack-start-manifest_v-D9FLKShQ.js +0 -178
  157. package/dist/web/server/assets/groups-CbSwND2r.js +0 -12
  158. package/dist/web/server/assets/groups-CeRRlZaZ.js +0 -150
  159. package/dist/web/server/assets/groups-pk4CYSuf.js +0 -21
  160. package/dist/web/server/assets/memory-CQaqWnyM.js +0 -284
  161. package/dist/web/server/assets/profile-groups-CiU06yN1.js +0 -28
  162. package/dist/web/server/assets/profile-groups-D21MYoLM.js +0 -208
  163. package/dist/web/server/assets/profile-groups-aoJleXHP.js +0 -12
@@ -0,0 +1,44 @@
1
+ import { t as Route } from "./_id-ButXHnRH.js";
2
+ import { t as RecoveryState } from "./RecoveryState-B2SG-mrY.js";
3
+ import { t as ProductionTeamPolicyEditor } from "./ProductionTeamPolicyEditor-Bke5doyl.js";
4
+ import { t as TemplatesTabs } from "./TemplatesTabs-zf4YhStd.js";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ //#region src/routes/templates/teams/$id/index.tsx?tsr-split=component
7
+ function TeamDetailPage() {
8
+ const result = Route.useLoaderData();
9
+ if (!result.ok) return /* @__PURE__ */ jsx(RecoveryState, {
10
+ title: "Team template unavailable",
11
+ error: new Error(result.error),
12
+ reset: () => window.location.reload(),
13
+ fallbackHref: "/templates/teams"
14
+ });
15
+ const { detail, profiles } = result.value;
16
+ return /* @__PURE__ */ jsxs("div", {
17
+ className: "space-y-5",
18
+ children: [
19
+ /* @__PURE__ */ jsx(TemplatesTabs, {}),
20
+ /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx("a", {
21
+ href: "/templates/teams",
22
+ children: "← team templates"
23
+ }) }),
24
+ detail.template.deletedAt && /* @__PURE__ */ jsx("div", {
25
+ role: "alert",
26
+ className: "err rounded-md border p-3",
27
+ children: "Source deleted — lineage is read-only and cannot be edited or spawned."
28
+ }),
29
+ /* @__PURE__ */ jsx(ProductionTeamPolicyEditor, {
30
+ source: {
31
+ kind: "template",
32
+ detail
33
+ },
34
+ profiles
35
+ }),
36
+ /* @__PURE__ */ jsx("p", {
37
+ className: "muted text-xs",
38
+ children: "Stable slot IDs remain distinct from live Agent IDs. Every successful save creates a new immutable revision; the reconciled editor badge is authoritative."
39
+ })
40
+ ]
41
+ });
42
+ }
43
+ //#endregion
44
+ export { TeamDetailPage as component };
@@ -1,8 +1,10 @@
1
- import { t as Route } from "./_id-BqnDy_Ca.js";
1
+ import { t as Route } from "./_id-B04VaQlh.js";
2
+ import { t as DEFAULT_PROFILE_COMMUNICATION } from "./team-policy-Csvc5EDd.js";
3
+ import { t as ProfileCommunicationEditor } from "./ProfileCommunicationEditor-C2RU-2QB.js";
2
4
  import { useState } from "react";
3
5
  import { useRouter } from "@tanstack/react-router";
4
6
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
- //#region src/routes/profiles/$id.tsx?tsr-split=component
7
+ //#region src/routes/templates/agents/$id/index.tsx?tsr-split=component
6
8
  function ProfileDetailPage() {
7
9
  const { loaded, modelGroups, skills } = Route.useLoaderData();
8
10
  const [tab, setTab] = useState("basics");
@@ -11,9 +13,9 @@ function ProfileDetailPage() {
11
13
  className: "mb-1",
12
14
  children: [
13
15
  /* @__PURE__ */ jsx("a", {
14
- href: "/profiles",
16
+ href: "/templates/agents",
15
17
  className: "mb-1 inline-block text-[0.85em] text-mocha-light hover:text-sapphire",
16
- children: "← profiles"
18
+ children: "← agent templates"
17
19
  }),
18
20
  /* @__PURE__ */ jsx("h1", { children: loaded.profile.name }),
19
21
  /* @__PURE__ */ jsxs("div", {
@@ -29,20 +31,27 @@ function ProfileDetailPage() {
29
31
  /* @__PURE__ */ jsxs("p", {
30
32
  className: "muted my-6",
31
33
  children: [
32
- "These settings and files seed every agent spawned from this profile going forward.",
34
+ "These settings and files seed every agent spawned from this Agent template going forward.",
33
35
  " ",
34
36
  /* @__PURE__ */ jsx("strong", { children: "Existing agents keep their own copies" }),
35
37
  " — edits here don't propagate to already-spawned agents."
36
38
  ]
37
39
  }),
38
40
  /* @__PURE__ */ jsx(Tabs, {
39
- items: [{
40
- id: "basics",
41
- label: "1. basics"
42
- }, {
43
- id: "skills",
44
- label: "2. skills"
45
- }],
41
+ items: [
42
+ {
43
+ id: "basics",
44
+ label: "1. basics"
45
+ },
46
+ {
47
+ id: "skills",
48
+ label: "2. skills"
49
+ },
50
+ {
51
+ id: "communication",
52
+ label: "3. communication"
53
+ }
54
+ ],
46
55
  active: tab,
47
56
  onChange: (t) => setTab(t)
48
57
  }),
@@ -104,9 +113,60 @@ function ProfileDetailPage() {
104
113
  initialMode: loaded.profile.skillsMode,
105
114
  initialPicked: new Set(loaded.defaultSkills),
106
115
  skills
116
+ }),
117
+ tab === "communication" && /* @__PURE__ */ jsx(ProfileCommunicationCard, {
118
+ profileId: loaded.profile.id,
119
+ initial: loaded.profile.communicationDefaults ?? DEFAULT_PROFILE_COMMUNICATION
107
120
  })
108
121
  ] });
109
122
  }
123
+ function ProfileCommunicationCard({ profileId, initial }) {
124
+ const [value, setValue] = useState(initial);
125
+ const [savedAt, setSavedAt] = useState(null);
126
+ const dirty = JSON.stringify(value) !== JSON.stringify(initial);
127
+ const save = async () => {
128
+ const response = await fetch(`/api/profiles/${encodeURIComponent(profileId)}`, {
129
+ method: "PATCH",
130
+ headers: { "content-type": "application/json" },
131
+ body: JSON.stringify({ communicationDefaults: value })
132
+ });
133
+ if (!response.ok) throw new Error((await response.json().catch(() => null))?.error ?? response.statusText);
134
+ setSavedAt(Date.now());
135
+ };
136
+ return /* @__PURE__ */ jsxs("section", {
137
+ className: "rounded-md border border-frost bg-snow p-5 shadow-baziu-sm",
138
+ children: [
139
+ /* @__PURE__ */ jsx("div", {
140
+ className: "mb-2 flex flex-wrap items-center gap-2",
141
+ children: /* @__PURE__ */ jsx("h3", {
142
+ className: "m-0 font-body text-[0.95rem] font-semibold normal-case text-chocolate",
143
+ children: "Communication defaults"
144
+ })
145
+ }),
146
+ /* @__PURE__ */ jsx("p", {
147
+ className: "muted mb-4",
148
+ children: "Materialized into new Team and Team policy snapshots after preset resolution. Existing snapshots never inherit later changes. Stored by the daemon."
149
+ }),
150
+ /* @__PURE__ */ jsx(ProfileCommunicationEditor, {
151
+ value,
152
+ onChange: setValue
153
+ }),
154
+ /* @__PURE__ */ jsxs("div", {
155
+ className: "mt-4 flex items-center gap-3",
156
+ children: [/* @__PURE__ */ jsx("button", {
157
+ type: "button",
158
+ className: "btn-primary",
159
+ disabled: !dirty,
160
+ onClick: save,
161
+ children: "save communication defaults"
162
+ }), savedAt && /* @__PURE__ */ jsx("span", {
163
+ className: "text-xs text-sapphire",
164
+ children: "saved to daemon"
165
+ })]
166
+ })
167
+ ]
168
+ });
169
+ }
110
170
  function Tabs({ items, active, onChange }) {
111
171
  return /* @__PURE__ */ jsx("nav", {
112
172
  role: "tablist",
@@ -1,25 +1,25 @@
1
1
  import { t as createServerFn } from "../server.js";
2
2
  import { t as createServerRpc } from "./createServerRpc-CeKECg65.js";
3
3
  import { n as daemonClient, r as ApiClientError } from "./daemon-client-2NRMzlTr.js";
4
- //#region src/routes/groups/$id/index.tsx?tss-serverfn-split
4
+ //#region src/routes/teams/$id/index.tsx?tss-serverfn-split
5
5
  var fetchGroup_createServerFn_handler = createServerRpc({
6
- id: "c64d52cbb25600424729185370431bf1182e1058dad2eacd250820ca1d62dae0",
6
+ id: "4773184b3ddd3656fb80ec74375a6d304e25acb56b79f1d349dcabf9f0914359",
7
7
  name: "fetchGroup",
8
- filename: "src/routes/groups/$id/index.tsx"
8
+ filename: "src/routes/teams/$id/index.tsx"
9
9
  }, (opts) => fetchGroup.__executeServer(opts));
10
10
  var fetchGroup = createServerFn({ method: "POST" }).inputValidator((d) => d).handler(fetchGroup_createServerFn_handler, async ({ data }) => {
11
11
  const c = daemonClient();
12
- let group;
12
+ let team;
13
13
  try {
14
- group = await c.get(`/api/groups/${encodeURIComponent(data.id)}`);
14
+ team = await c.get(`/api/teams/${encodeURIComponent(data.id)}`);
15
15
  } catch (err) {
16
16
  if (err instanceof ApiClientError && err.status === 404) return null;
17
17
  throw err;
18
18
  }
19
- const [all, profileGroups] = await Promise.all([c.get("/api/agents?includeArchived=true"), c.get("/api/profile-groups")]);
20
- const members = all.filter((a) => a.groupId === group.id);
19
+ const [all, profileGroups] = await Promise.all([c.get("/api/agents?includeArchived=true"), c.get("/api/team-templates")]);
20
+ const members = all.filter((a) => a.teamId === team.id);
21
21
  return {
22
- group,
22
+ team,
23
23
  members,
24
24
  profileGroups
25
25
  };
@@ -0,0 +1,42 @@
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/templates/teams/$id/index.tsx?tss-serverfn-split
5
+ var fetchTeam_createServerFn_handler = createServerRpc({
6
+ id: "a0bbbee5d0c1240a05e35c04d56a0e95ec78f05265e4e937eec48c8ac2041e58",
7
+ name: "fetchTeam",
8
+ filename: "src/routes/templates/teams/$id/index.tsx"
9
+ }, (opts) => fetchTeam.__executeServer(opts));
10
+ var fetchTeam = createServerFn({ method: "POST" }).validator((data) => data).handler(fetchTeam_createServerFn_handler, async ({ data }) => {
11
+ try {
12
+ const client = daemonClient();
13
+ const [detail, profiles] = await Promise.all([client.get(`/api/team-templates/${encodeURIComponent(data.id)}`), client.get("/api/profiles")]);
14
+ return {
15
+ ok: true,
16
+ value: {
17
+ detail: {
18
+ ...detail,
19
+ slots: detail.slots.map((slot) => ({
20
+ ...slot,
21
+ display: null
22
+ })),
23
+ currentSnapshot: {
24
+ ...detail.currentSnapshot,
25
+ slots: detail.currentSnapshot.slots.map((slot) => ({
26
+ ...slot,
27
+ display: null
28
+ }))
29
+ }
30
+ },
31
+ profiles
32
+ }
33
+ };
34
+ } catch (error) {
35
+ return {
36
+ ok: false,
37
+ error: error instanceof Error ? error.message : String(error)
38
+ };
39
+ }
40
+ });
41
+ //#endregion
42
+ export { fetchTeam_createServerFn_handler };
@@ -1,13 +1,13 @@
1
1
  import { t as createServerFn } from "../server.js";
2
2
  import { t as createSsrRpc } from "./createSsrRpc-ZBGxhl8t.js";
3
3
  import { createFileRoute, lazyRouteComponent, redirect } from "@tanstack/react-router";
4
- //#region src/routes/groups/$id/index.tsx
5
- var $$splitComponentImporter = () => import("./_id-CXg-Blec.js");
6
- var fetchGroup = createServerFn({ method: "POST" }).inputValidator((d) => d).handler(createSsrRpc("c64d52cbb25600424729185370431bf1182e1058dad2eacd250820ca1d62dae0"));
7
- var Route = createFileRoute("/groups/$id/")({
4
+ //#region src/routes/teams/$id/index.tsx
5
+ var $$splitComponentImporter = () => import("./_id-5lLzLwcv.js");
6
+ var fetchGroup = createServerFn({ method: "POST" }).inputValidator((d) => d).handler(createSsrRpc("4773184b3ddd3656fb80ec74375a6d304e25acb56b79f1d349dcabf9f0914359"));
7
+ var Route = createFileRoute("/teams/$id/")({
8
8
  loader: async ({ params }) => {
9
9
  const data = await fetchGroup({ data: { id: params.id } });
10
- if (!data) throw redirect({ to: "/groups" });
10
+ if (!data) throw redirect({ to: "/teams" });
11
11
  return data;
12
12
  },
13
13
  component: lazyRouteComponent($$splitComponentImporter, "component")
@@ -2,9 +2,17 @@ import { t as createServerFn } from "../server.js";
2
2
  import { t as createSsrRpc } from "./createSsrRpc-ZBGxhl8t.js";
3
3
  import { createFileRoute, lazyRouteComponent, redirect } from "@tanstack/react-router";
4
4
  //#region src/routes/agents/$id/index.tsx
5
- var $$splitComponentImporter = () => import("./_id-BdRiQb2H.js");
5
+ var $$splitComponentImporter = () => import("./_id-B6g9wmPR.js");
6
6
  var fetchAgent = createServerFn({ method: "POST" }).inputValidator((d) => d).handler(createSsrRpc("846c9081aed17057351730985f133b0aab67a5dabfca9562552829a90ff30849"));
7
7
  var Route = createFileRoute("/agents/$id/")({
8
+ validateSearch: (search) => ({
9
+ ...typeof search.teamPolicy === "string" && search.teamPolicy ? { teamPolicy: search.teamPolicy } : {},
10
+ ...search.view === "matrix" || search.view === "flow" ? { view: search.view } : {},
11
+ ...typeof search.selected === "string" ? { selected: search.selected } : {},
12
+ ...Number.isFinite(Number(search.vx)) ? { vx: Number(search.vx) } : {},
13
+ ...Number.isFinite(Number(search.vy)) ? { vy: Number(search.vy) } : {},
14
+ ...Number.isFinite(Number(search.vz)) ? { vz: Number(search.vz) } : {}
15
+ }),
8
16
  loader: async ({ params }) => {
9
17
  const data = await fetchAgent({ data: { id: params.id } });
10
18
  if (!data) throw redirect({ to: "/agents" });
@@ -1,11 +1,12 @@
1
1
  import { t as createServerFn } from "../server.js";
2
2
  import { t as createServerRpc } from "./createServerRpc-CeKECg65.js";
3
3
  import { n as daemonClient, r as ApiClientError } from "./daemon-client-2NRMzlTr.js";
4
- //#region src/routes/profiles/$id.tsx?tss-serverfn-split
4
+ import "react";
5
+ //#region src/routes/templates/agents/$id/index.tsx?tss-serverfn-split
5
6
  var fetchProfile_createServerFn_handler = createServerRpc({
6
- id: "280ae44073f538bf230afd3a1407fc41f9c78cd0cf71b6a06fb0cceff0872d1c",
7
+ id: "032d74b7d41c718191dbdde6b06ba44993340ce1154af1fa6723a6d4f7a7236e",
7
8
  name: "fetchProfile",
8
- filename: "src/routes/profiles/$id.tsx"
9
+ filename: "src/routes/templates/agents/$id/index.tsx"
9
10
  }, (opts) => fetchProfile.__executeServer(opts));
10
11
  var fetchProfile = createServerFn({ method: "POST" }).inputValidator((d) => d).handler(fetchProfile_createServerFn_handler, async ({ data }) => {
11
12
  const c = daemonClient();
@@ -19,7 +20,7 @@ var fetchProfile = createServerFn({ method: "POST" }).inputValidator((d) => d).h
19
20
  const [models, skills] = await Promise.all([c.get("/api/config/available-models"), c.get("/api/skills")]);
20
21
  return {
21
22
  loaded,
22
- modelGroups: models.groups,
23
+ modelGroups: models.teams,
23
24
  skills
24
25
  };
25
26
  });
@@ -16,10 +16,10 @@ var fetchAgent = createServerFn({ method: "POST" }).inputValidator((d) => d).han
16
16
  if (err instanceof ApiClientError && err.status === 404) return null;
17
17
  throw err;
18
18
  }
19
- const [msgs, head, groups, skills, models, telegramConfig] = await Promise.all([
19
+ const [msgs, head, teams, skills, models, telegramConfig] = await Promise.all([
20
20
  c.get(`/api/agents/${encodeURIComponent(resolved.agent.id)}/sessions/messages`),
21
21
  c.get(`/api/agents/${encodeURIComponent(resolved.agent.id)}/sessions/head`),
22
- c.get("/api/groups"),
22
+ c.get("/api/teams"),
23
23
  c.get("/api/skills"),
24
24
  c.get("/api/config/available-models"),
25
25
  c.get("/api/config/telegram").catch(() => ({ configured: false }))
@@ -28,9 +28,9 @@ var fetchAgent = createServerFn({ method: "POST" }).inputValidator((d) => d).han
28
28
  resolved,
29
29
  initialMessages: msgs.messages,
30
30
  sessionHead: head,
31
- groups,
31
+ teams,
32
32
  skills,
33
- modelGroups: models.groups,
33
+ modelGroups: models.teams,
34
34
  telegramConfigured: telegramConfig.configured
35
35
  };
36
36
  });
@@ -0,0 +1,241 @@
1
+ //#region \0tanstack-start-manifest:v
2
+ var tsrStartManifest = () => ({ routes: {
3
+ __root__: {
4
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/__root.tsx",
5
+ children: [
6
+ "/",
7
+ "/login",
8
+ "/welcome",
9
+ "/api/$",
10
+ "/config/mcp",
11
+ "/config/services",
12
+ "/config/tokens",
13
+ "/agents/",
14
+ "/approvals/",
15
+ "/config/",
16
+ "/skills/",
17
+ "/teams/",
18
+ "/templates/",
19
+ "/agents/$id/inbox",
20
+ "/agents/$id/triggers",
21
+ "/config/integrations/telegram",
22
+ "/teams/$id/activity",
23
+ "/teams/$id/context",
24
+ "/teams/$id/members",
25
+ "/teams/$id/memory",
26
+ "/teams/$id/policy",
27
+ "/agents/$id/",
28
+ "/teams/$id/",
29
+ "/templates/agents/",
30
+ "/templates/teams/",
31
+ "/templates/agents/$id/",
32
+ "/templates/teams/$id/"
33
+ ],
34
+ preloads: [
35
+ "/assets/index-BCXoh1c8.js",
36
+ "/assets/jsx-runtime-DGeXAQPT.js",
37
+ "/assets/preload-helper-eOOCz1Fu.js"
38
+ ],
39
+ scripts: [{ attrs: {
40
+ type: "module",
41
+ async: !0,
42
+ src: "/assets/index-BCXoh1c8.js"
43
+ } }]
44
+ },
45
+ "/": {
46
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/index.tsx",
47
+ children: void 0,
48
+ preloads: [
49
+ "/assets/routes-DnrP3dwv.js",
50
+ "/assets/Button-ByiV6fpd.js",
51
+ "/assets/wire-constants-BY9Q9Z7d.js"
52
+ ]
53
+ },
54
+ "/login": {
55
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/login.tsx",
56
+ children: void 0,
57
+ preloads: ["/assets/login-Bk2wwIHQ.js"]
58
+ },
59
+ "/welcome": {
60
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/welcome.tsx",
61
+ children: void 0,
62
+ preloads: ["/assets/welcome-B-QQobzq.js"]
63
+ },
64
+ "/config/mcp": {
65
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/config/mcp.tsx",
66
+ children: void 0,
67
+ preloads: ["/assets/mcp-vM7xgh9e.js", "/assets/ConfigTabs-pY-V0Rie.js"]
68
+ },
69
+ "/config/services": {
70
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/config/services.tsx",
71
+ children: void 0,
72
+ preloads: [
73
+ "/assets/services-C2_O3ifw.js",
74
+ "/assets/ConfigTabs-pY-V0Rie.js",
75
+ "/assets/FieldRow-DmwAFfbF.js"
76
+ ]
77
+ },
78
+ "/config/tokens": {
79
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/config/tokens.tsx",
80
+ children: void 0,
81
+ preloads: ["/assets/tokens-D7FH9VgA.js", "/assets/ConfigTabs-pY-V0Rie.js"]
82
+ },
83
+ "/agents/": {
84
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/agents/index.tsx",
85
+ children: void 0,
86
+ preloads: ["/assets/agents-C32T1voV.js", "/assets/AgentAvatar-JYijLvZ2.js"]
87
+ },
88
+ "/approvals/": {
89
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/approvals/index.tsx",
90
+ children: void 0,
91
+ preloads: [
92
+ "/assets/approvals-DGi0PSx8.js",
93
+ "/assets/RecoveryState-QfMSuwy3.js",
94
+ "/assets/approvals-l8jIZjqz.js",
95
+ "/assets/Button-ByiV6fpd.js"
96
+ ]
97
+ },
98
+ "/config/": {
99
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/config/index.tsx",
100
+ children: void 0,
101
+ preloads: [
102
+ "/assets/config-C7wvi1nR.js",
103
+ "/assets/ConfigTabs-pY-V0Rie.js",
104
+ "/assets/FieldRow-DmwAFfbF.js"
105
+ ]
106
+ },
107
+ "/skills/": {
108
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/skills/index.tsx",
109
+ children: void 0,
110
+ preloads: ["/assets/skills-B__fLZjx.js"]
111
+ },
112
+ "/teams/": {
113
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/teams/index.tsx",
114
+ children: void 0,
115
+ preloads: [
116
+ "/assets/teams-CSNyLz3l.js",
117
+ "/assets/RecoveryState-QfMSuwy3.js",
118
+ "/assets/teams-rpaYKNIb.js"
119
+ ]
120
+ },
121
+ "/agents/$id/inbox": {
122
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/agents/$id/inbox.tsx",
123
+ children: void 0,
124
+ preloads: ["/assets/inbox--4aBaAgG.js", "/assets/AgentTabs-DioGqUVR.js"]
125
+ },
126
+ "/agents/$id/triggers": {
127
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/agents/$id/triggers.tsx",
128
+ children: void 0,
129
+ preloads: ["/assets/triggers-3PLy2_Fo.js", "/assets/AgentTabs-DioGqUVR.js"]
130
+ },
131
+ "/config/integrations/telegram": {
132
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/config/integrations/telegram.tsx",
133
+ children: void 0,
134
+ preloads: [
135
+ "/assets/telegram-B1O4Ko0V.js",
136
+ "/assets/Button-ByiV6fpd.js",
137
+ "/assets/ConfigTabs-pY-V0Rie.js"
138
+ ]
139
+ },
140
+ "/teams/$id/activity": {
141
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/teams/$id/activity.tsx",
142
+ children: void 0,
143
+ preloads: [
144
+ "/assets/activity-DJuhhQCb.js",
145
+ "/assets/RecoveryState-QfMSuwy3.js",
146
+ "/assets/activity-WWvJSo4t.js",
147
+ "/assets/Button-ByiV6fpd.js",
148
+ "/assets/TeamTabs-BViZ4sti.js"
149
+ ]
150
+ },
151
+ "/teams/$id/context": {
152
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/teams/$id/context.tsx",
153
+ children: void 0,
154
+ preloads: ["/assets/context-BEGWE3RC.js", "/assets/TeamTabs-BViZ4sti.js"]
155
+ },
156
+ "/teams/$id/members": {
157
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/teams/$id/members.tsx",
158
+ children: void 0,
159
+ preloads: ["/assets/members-cPKfnrSL.js", "/assets/TeamTabs-BViZ4sti.js"]
160
+ },
161
+ "/teams/$id/memory": {
162
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/teams/$id/memory.tsx",
163
+ children: void 0,
164
+ preloads: ["/assets/memory-BOcsaemD.js", "/assets/TeamTabs-BViZ4sti.js"]
165
+ },
166
+ "/teams/$id/policy": {
167
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/teams/$id/policy.tsx",
168
+ children: void 0,
169
+ css: ["/assets/ProductionTeamPolicyEditor-DLioOiRN.css"],
170
+ preloads: [
171
+ "/assets/policy-BGLCJYvS.js",
172
+ "/assets/Button-ByiV6fpd.js",
173
+ "/assets/RecoveryState-QfMSuwy3.js",
174
+ "/assets/TeamTabs-BViZ4sti.js",
175
+ "/assets/ProductionTeamPolicyEditor-1a5jQqUB.js",
176
+ "/assets/policy-K4hIbbIN.js"
177
+ ]
178
+ },
179
+ "/agents/$id/": {
180
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/agents/$id/index.tsx",
181
+ children: void 0,
182
+ preloads: [
183
+ "/assets/_id-DGRrSF1e.js",
184
+ "/assets/AgentAvatar-JYijLvZ2.js",
185
+ "/assets/AgentTabs-DioGqUVR.js",
186
+ "/assets/wire-constants-BY9Q9Z7d.js"
187
+ ]
188
+ },
189
+ "/teams/$id/": {
190
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/teams/$id/index.tsx",
191
+ children: void 0,
192
+ preloads: [
193
+ "/assets/_id-C3o3MHq8.js",
194
+ "/assets/Button-ByiV6fpd.js",
195
+ "/assets/TeamTabs-BViZ4sti.js"
196
+ ]
197
+ },
198
+ "/templates/agents/": {
199
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/templates/agents/index.tsx",
200
+ children: void 0,
201
+ preloads: [
202
+ "/assets/agents-nH4m4gZ1.js",
203
+ "/assets/Button-ByiV6fpd.js",
204
+ "/assets/TemplatesTabs-DVcY9pMD.js",
205
+ "/assets/ProfileCommunicationEditor-D1OZ8WE5.js",
206
+ "/assets/team-policy-BdX340m4.js"
207
+ ]
208
+ },
209
+ "/templates/teams/": {
210
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/templates/teams/index.tsx",
211
+ children: void 0,
212
+ preloads: [
213
+ "/assets/teams-DZMB4_iw.js",
214
+ "/assets/Button-ByiV6fpd.js",
215
+ "/assets/TemplatesTabs-DVcY9pMD.js"
216
+ ]
217
+ },
218
+ "/templates/agents/$id/": {
219
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/templates/agents/$id/index.tsx",
220
+ children: void 0,
221
+ preloads: [
222
+ "/assets/_id-KnJe-aW9.js",
223
+ "/assets/ProfileCommunicationEditor-D1OZ8WE5.js",
224
+ "/assets/team-policy-BdX340m4.js"
225
+ ]
226
+ },
227
+ "/templates/teams/$id/": {
228
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/templates/teams/$id/index.tsx",
229
+ children: void 0,
230
+ css: ["/assets/ProductionTeamPolicyEditor-DLioOiRN.css"],
231
+ preloads: [
232
+ "/assets/_id-8P7brhGy.js",
233
+ "/assets/RecoveryState-QfMSuwy3.js",
234
+ "/assets/TemplatesTabs-DVcY9pMD.js",
235
+ "/assets/ProductionTeamPolicyEditor-1a5jQqUB.js",
236
+ "/assets/_id-DGyKURCp.js"
237
+ ]
238
+ }
239
+ } });
240
+ //#endregion
241
+ export { tsrStartManifest };