bazilion 0.5.1 → 0.7.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 (122) hide show
  1. package/README.md +17 -12
  2. package/dist/cli.js +383 -152
  3. package/dist/cli.js.map +1 -1
  4. package/dist/daemon.js +238 -14064
  5. package/dist/daemon.js.map +1 -1
  6. package/dist/web/client/assets/AgentAvatar-JYijLvZ2.js +1 -0
  7. package/dist/web/client/assets/AgentTabs-DioGqUVR.js +1 -0
  8. package/dist/web/client/assets/Button-ByiV6fpd.js +1 -0
  9. package/dist/web/client/assets/ChatPane-DzEgOEqS.js +74 -0
  10. package/dist/web/client/assets/ConfigTabs-pY-V0Rie.js +1 -0
  11. package/dist/web/client/assets/FieldRow-CNKma5LE.js +1 -0
  12. package/dist/web/client/assets/MembersEditor-C6UpqDdV.js +1 -0
  13. package/dist/web/client/assets/SpawnTeamModal-BEkNCKXm.js +1 -0
  14. package/dist/web/client/assets/TemplatesTabs-Da7mg9FI.js +1 -0
  15. package/dist/web/client/assets/_id-BdKmo0gb.js +1 -0
  16. package/dist/web/client/assets/_id-LT6Ejjr0.js +1 -0
  17. package/dist/web/client/assets/_id-MR2XjWh0.js +1 -0
  18. package/dist/web/client/assets/_id-_6jIt0_-.js +1 -0
  19. package/dist/web/client/assets/agents-0arKbVYG.js +1 -0
  20. package/dist/web/client/assets/config-BSAVT-17.js +3 -0
  21. package/dist/web/client/assets/groups-BqTkhHes.js +1 -0
  22. package/dist/web/client/assets/inbox-ozoCXzr5.js +1 -0
  23. package/dist/web/client/assets/index-iayCEuU2.js +12 -0
  24. package/dist/web/client/assets/jsx-runtime-DGeXAQPT.js +1 -0
  25. package/dist/web/client/assets/login-D8lNr2SX.js +1 -0
  26. package/dist/web/client/assets/mcp-BLnngDsj.js +1 -0
  27. package/dist/web/client/assets/memory-D1GQjEvN.js +1 -0
  28. package/dist/web/client/assets/preload-helper-CvnapA2_.js +1 -0
  29. package/dist/web/client/assets/profile-groups-C2yJPTaE.js +1 -0
  30. package/dist/web/client/assets/profiles-BV7AAZjj.js +1 -0
  31. package/dist/web/client/assets/routes-DSHQLA7K.js +1 -0
  32. package/dist/web/client/assets/services-BbCJe1Du.js +1 -0
  33. package/dist/web/client/assets/skills-C6czKR5I.js +1 -0
  34. package/dist/web/client/assets/styles-C06axZZk.css +2 -0
  35. package/dist/web/client/assets/telegram-gE4j8gte.js +1 -0
  36. package/dist/web/client/assets/tokens-D2_O9ARe.js +1 -0
  37. package/dist/web/client/assets/triggers-WljnfEfJ.js +1 -0
  38. package/dist/web/client/assets/welcome-Dn-zvmBE.js +1 -0
  39. package/dist/web/client/assets/wire-constants-BkT5-597.js +1 -0
  40. package/dist/web/client/baziu.svg +8 -0
  41. package/dist/web/server/assets/AgentAvatar-8gTAy_tP.js +37 -0
  42. package/dist/web/server/assets/AgentTabs-BOjTN7QF.js +34 -0
  43. package/dist/web/server/assets/Button-Dsnw22OF.js +17 -0
  44. package/dist/web/server/assets/ChatPane-BvpswYvF.js +1084 -0
  45. package/dist/web/server/assets/ConfigTabs-CyuxzesF.js +41 -0
  46. package/dist/web/server/assets/FieldRow-DwyqycWI.js +94 -0
  47. package/dist/web/server/assets/MembersEditor-BWQztvrX.js +131 -0
  48. package/dist/web/server/assets/Sidebar-DmEiewRN.js +529 -0
  49. package/dist/web/server/assets/SpawnTeamModal-dSN421k_.js +107 -0
  50. package/dist/web/server/assets/TemplatesTabs---7h5GYa.js +30 -0
  51. package/dist/web/server/assets/_id-81NrHA5d.js +16 -0
  52. package/dist/web/server/assets/_id-BKev9H1p.js +12 -0
  53. package/dist/web/server/assets/_id-BNwlbWHP.js +24 -0
  54. package/dist/web/server/assets/_id-BqnDy_Ca.js +16 -0
  55. package/dist/web/server/assets/_id-CRqqi8IE.js +161 -0
  56. package/dist/web/server/assets/_id-CXg-Blec.js +367 -0
  57. package/dist/web/server/assets/_id-CnQflrRv.js +16 -0
  58. package/dist/web/server/assets/_id-D0ytyXGY.js +662 -0
  59. package/dist/web/server/assets/_id-D8duqgd5.js +27 -0
  60. package/dist/web/server/assets/_id-DDixKEud.js +467 -0
  61. package/dist/web/server/assets/_id-D_Ew11ED.js +28 -0
  62. package/dist/web/server/assets/_id-Sjw0zhA6.js +38 -0
  63. package/dist/web/server/assets/_tanstack-start-manifest_v-DBlFH2gg.js +178 -0
  64. package/dist/web/server/assets/agents-C7SBPN0M.js +210 -0
  65. package/dist/web/server/assets/agents-ChcAJUI5.js +14 -0
  66. package/dist/web/server/assets/agents-k5QURC4I.js +26 -0
  67. package/dist/web/server/assets/auth-DzRAMwVt.js +26 -0
  68. package/dist/web/server/assets/config-Bq3o924J.js +12 -0
  69. package/dist/web/server/assets/config-CHaCv89D.js +19 -0
  70. package/dist/web/server/assets/config-CdVjqjin.js +391 -0
  71. package/dist/web/server/assets/createServerRpc-CeKECg65.js +12 -0
  72. package/dist/web/server/assets/createSsrRpc-ZBGxhl8t.js +16 -0
  73. package/dist/web/server/assets/daemon-client-2NRMzlTr.js +96 -0
  74. package/dist/web/server/assets/empty-plugin-adapters-DKUlnwwl.js +5 -0
  75. package/dist/web/server/assets/groups-CbSwND2r.js +12 -0
  76. package/dist/web/server/assets/groups-CeRRlZaZ.js +150 -0
  77. package/dist/web/server/assets/groups-pk4CYSuf.js +21 -0
  78. package/dist/web/server/assets/inbox-Bxb3W04M.js +27 -0
  79. package/dist/web/server/assets/inbox-CkiSvD14.js +42 -0
  80. package/dist/web/server/assets/inbox-DU27iHv_.js +133 -0
  81. package/dist/web/server/assets/login-CNznncgA.js +58 -0
  82. package/dist/web/server/assets/login-CQybKk7Y.js +74 -0
  83. package/dist/web/server/assets/mcp-BU_kKENi.js +268 -0
  84. package/dist/web/server/assets/mcp-BsFKEoXt.js +12 -0
  85. package/dist/web/server/assets/mcp-CKqwG4mt.js +12 -0
  86. package/dist/web/server/assets/memory-BaYnfm7K.js +28 -0
  87. package/dist/web/server/assets/memory-CQaqWnyM.js +284 -0
  88. package/dist/web/server/assets/memory-Ns2-Z31p.js +16 -0
  89. package/dist/web/server/assets/profile-groups-CiU06yN1.js +28 -0
  90. package/dist/web/server/assets/profile-groups-D21MYoLM.js +208 -0
  91. package/dist/web/server/assets/profile-groups-aoJleXHP.js +12 -0
  92. package/dist/web/server/assets/profiles-C6a3RKgu.js +26 -0
  93. package/dist/web/server/assets/profiles-CZ5NkmVw.js +12 -0
  94. package/dist/web/server/assets/profiles-LxcC_L6n.js +453 -0
  95. package/dist/web/server/assets/router-BpBZgRwn.js +460 -0
  96. package/dist/web/server/assets/routes-C61gBiXa.js +57 -0
  97. package/dist/web/server/assets/routes-Ce2VWrU9.js +33 -0
  98. package/dist/web/server/assets/routes-V9URcp1v.js +14 -0
  99. package/dist/web/server/assets/services-B91w2f-X.js +94 -0
  100. package/dist/web/server/assets/services-Ccc5s2bS.js +17 -0
  101. package/dist/web/server/assets/services-DhRiNeq0.js +12 -0
  102. package/dist/web/server/assets/skills-CFIWVg32.js +12 -0
  103. package/dist/web/server/assets/skills-CpsyR_WA.js +12 -0
  104. package/dist/web/server/assets/skills-dLyBZb3B.js +261 -0
  105. package/dist/web/server/assets/start-CYDpZ6cb.js +4 -0
  106. package/dist/web/server/assets/telegram-BdaUIjvs.js +12 -0
  107. package/dist/web/server/assets/telegram-DfAddLdv.js +583 -0
  108. package/dist/web/server/assets/telegram-T3l9KtiE.js +12 -0
  109. package/dist/web/server/assets/tokens-BCz3PSoT.js +12 -0
  110. package/dist/web/server/assets/tokens-CkKqrtk-.js +193 -0
  111. package/dist/web/server/assets/tokens-DdpnfV_Y.js +14 -0
  112. package/dist/web/server/assets/triggers-BcH_6PW1.js +26 -0
  113. package/dist/web/server/assets/triggers-BcTTwMfy.js +16 -0
  114. package/dist/web/server/assets/triggers-BzJG1nN5.js +191 -0
  115. package/dist/web/server/assets/welcome-CP4CZ9B6.js +85 -0
  116. package/dist/web/server/assets/wire-constants-Deb4NxBb.js +16 -0
  117. package/dist/web/server/server.js +5911 -0
  118. package/dist/web-server.js +42 -0
  119. package/dist/web-server.js.map +1 -0
  120. package/dist/worker.js +65 -2
  121. package/dist/worker.js.map +1 -1
  122. package/package.json +18 -12
@@ -0,0 +1,178 @@
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
+ "/profile-groups/$id",
14
+ "/profiles/$id",
15
+ "/agents/",
16
+ "/config/",
17
+ "/groups/",
18
+ "/profile-groups/",
19
+ "/profiles/",
20
+ "/skills/",
21
+ "/agents/$id/inbox",
22
+ "/agents/$id/triggers",
23
+ "/config/integrations/telegram",
24
+ "/groups/$id/memory",
25
+ "/agents/$id/",
26
+ "/groups/$id/"
27
+ ],
28
+ preloads: [
29
+ "/assets/index-iayCEuU2.js",
30
+ "/assets/jsx-runtime-DGeXAQPT.js",
31
+ "/assets/preload-helper-CvnapA2_.js"
32
+ ],
33
+ scripts: [{ attrs: {
34
+ type: "module",
35
+ async: !0,
36
+ src: "/assets/index-iayCEuU2.js"
37
+ } }]
38
+ },
39
+ "/": {
40
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/index.tsx",
41
+ children: void 0,
42
+ preloads: [
43
+ "/assets/routes-DSHQLA7K.js",
44
+ "/assets/ChatPane-DzEgOEqS.js",
45
+ "/assets/SpawnTeamModal-BEkNCKXm.js",
46
+ "/assets/wire-constants-BkT5-597.js"
47
+ ]
48
+ },
49
+ "/login": {
50
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/login.tsx",
51
+ children: void 0,
52
+ preloads: ["/assets/login-D8lNr2SX.js"]
53
+ },
54
+ "/welcome": {
55
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/welcome.tsx",
56
+ children: void 0,
57
+ preloads: ["/assets/welcome-Dn-zvmBE.js"]
58
+ },
59
+ "/config/mcp": {
60
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/config/mcp.tsx",
61
+ children: void 0,
62
+ preloads: ["/assets/mcp-BLnngDsj.js", "/assets/ConfigTabs-pY-V0Rie.js"]
63
+ },
64
+ "/config/services": {
65
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/config/services.tsx",
66
+ children: void 0,
67
+ preloads: [
68
+ "/assets/services-BbCJe1Du.js",
69
+ "/assets/ConfigTabs-pY-V0Rie.js",
70
+ "/assets/FieldRow-CNKma5LE.js"
71
+ ]
72
+ },
73
+ "/config/tokens": {
74
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/config/tokens.tsx",
75
+ children: void 0,
76
+ preloads: ["/assets/tokens-D2_O9ARe.js", "/assets/ConfigTabs-pY-V0Rie.js"]
77
+ },
78
+ "/profile-groups/$id": {
79
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/profile-groups/$id.tsx",
80
+ children: void 0,
81
+ preloads: [
82
+ "/assets/_id-_6jIt0_-.js",
83
+ "/assets/Button-ByiV6fpd.js",
84
+ "/assets/MembersEditor-C6UpqDdV.js"
85
+ ]
86
+ },
87
+ "/profiles/$id": {
88
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/profiles/$id.tsx",
89
+ children: void 0,
90
+ preloads: ["/assets/_id-LT6Ejjr0.js"]
91
+ },
92
+ "/agents/": {
93
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/agents/index.tsx",
94
+ children: void 0,
95
+ preloads: ["/assets/agents-0arKbVYG.js", "/assets/AgentAvatar-JYijLvZ2.js"]
96
+ },
97
+ "/config/": {
98
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/config/index.tsx",
99
+ children: void 0,
100
+ preloads: [
101
+ "/assets/config-BSAVT-17.js",
102
+ "/assets/ConfigTabs-pY-V0Rie.js",
103
+ "/assets/FieldRow-CNKma5LE.js"
104
+ ]
105
+ },
106
+ "/groups/": {
107
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/groups/index.tsx",
108
+ children: void 0,
109
+ preloads: ["/assets/groups-BqTkhHes.js"]
110
+ },
111
+ "/profile-groups/": {
112
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/profile-groups/index.tsx",
113
+ children: void 0,
114
+ preloads: [
115
+ "/assets/profile-groups-C2yJPTaE.js",
116
+ "/assets/Button-ByiV6fpd.js",
117
+ "/assets/MembersEditor-C6UpqDdV.js",
118
+ "/assets/SpawnTeamModal-BEkNCKXm.js",
119
+ "/assets/TemplatesTabs-Da7mg9FI.js"
120
+ ]
121
+ },
122
+ "/profiles/": {
123
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/profiles/index.tsx",
124
+ children: void 0,
125
+ preloads: [
126
+ "/assets/profiles-BV7AAZjj.js",
127
+ "/assets/Button-ByiV6fpd.js",
128
+ "/assets/TemplatesTabs-Da7mg9FI.js"
129
+ ]
130
+ },
131
+ "/skills/": {
132
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/skills/index.tsx",
133
+ children: void 0,
134
+ preloads: ["/assets/skills-C6czKR5I.js"]
135
+ },
136
+ "/agents/$id/inbox": {
137
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/agents/$id/inbox.tsx",
138
+ children: void 0,
139
+ preloads: ["/assets/inbox-ozoCXzr5.js", "/assets/AgentTabs-DioGqUVR.js"]
140
+ },
141
+ "/agents/$id/triggers": {
142
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/agents/$id/triggers.tsx",
143
+ children: void 0,
144
+ preloads: ["/assets/triggers-WljnfEfJ.js", "/assets/AgentTabs-DioGqUVR.js"]
145
+ },
146
+ "/config/integrations/telegram": {
147
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/config/integrations/telegram.tsx",
148
+ children: void 0,
149
+ preloads: [
150
+ "/assets/telegram-gE4j8gte.js",
151
+ "/assets/Button-ByiV6fpd.js",
152
+ "/assets/ConfigTabs-pY-V0Rie.js"
153
+ ]
154
+ },
155
+ "/groups/$id/memory": {
156
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/groups/$id/memory.tsx",
157
+ children: void 0,
158
+ preloads: ["/assets/memory-D1GQjEvN.js"]
159
+ },
160
+ "/agents/$id/": {
161
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/agents/$id/index.tsx",
162
+ children: void 0,
163
+ preloads: [
164
+ "/assets/_id-BdKmo0gb.js",
165
+ "/assets/AgentAvatar-JYijLvZ2.js",
166
+ "/assets/AgentTabs-DioGqUVR.js",
167
+ "/assets/ChatPane-DzEgOEqS.js",
168
+ "/assets/wire-constants-BkT5-597.js"
169
+ ]
170
+ },
171
+ "/groups/$id/": {
172
+ filePath: "/home/runner/work/bazilion/bazilion/apps/web/src/routes/groups/$id/index.tsx",
173
+ children: void 0,
174
+ preloads: ["/assets/_id-MR2XjWh0.js", "/assets/Button-ByiV6fpd.js"]
175
+ }
176
+ } });
177
+ //#endregion
178
+ export { tsrStartManifest };
@@ -0,0 +1,210 @@
1
+ import { t as Route } from "./agents-ChcAJUI5.js";
2
+ import { t as AgentAvatar } from "./AgentAvatar-8gTAy_tP.js";
3
+ import { useState } from "react";
4
+ import { useRouter } from "@tanstack/react-router";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ //#region src/routes/agents/index.tsx?tsr-split=component
7
+ function AgentsPage() {
8
+ const { agents, profiles, groups, modelGroups } = Route.useLoaderData();
9
+ const { all } = Route.useSearch();
10
+ const showAll = all === "1";
11
+ const router = useRouter();
12
+ async function archive(id) {
13
+ if (!confirm("archive this agent? (reversible)")) return;
14
+ await fetch(`/api/agents/${id}/archive`, { method: "POST" });
15
+ await router.invalidate();
16
+ }
17
+ async function unarchive(id) {
18
+ await fetch(`/api/agents/${id}/unarchive`, { method: "POST" });
19
+ await router.invalidate();
20
+ }
21
+ async function del(id) {
22
+ if (!confirm("permanently delete this agent and all its data?")) return;
23
+ await fetch(`/api/agents/${id}`, { method: "DELETE" });
24
+ await router.invalidate();
25
+ }
26
+ return /* @__PURE__ */ jsxs("div", { children: [
27
+ /* @__PURE__ */ jsx("h1", { children: "agents" }),
28
+ /* @__PURE__ */ jsx(SpawnForm, {
29
+ profiles,
30
+ groups,
31
+ modelGroups,
32
+ onSpawned: router.invalidate
33
+ }),
34
+ /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx("a", {
35
+ href: showAll ? "/agents" : "/agents?all=1",
36
+ children: showAll ? "hide archived" : "show archived"
37
+ }) }),
38
+ /* @__PURE__ */ jsxs("table", { children: [/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
39
+ /* @__PURE__ */ jsx("th", { children: "id" }),
40
+ /* @__PURE__ */ jsx("th", { children: "name" }),
41
+ /* @__PURE__ */ jsx("th", { children: "profile" }),
42
+ /* @__PURE__ */ jsx("th", { children: "status" }),
43
+ /* @__PURE__ */ jsx("th", {})
44
+ ] }) }), /* @__PURE__ */ jsxs("tbody", { children: [agents.length === 0 && /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
45
+ colSpan: 5,
46
+ className: "muted",
47
+ children: "no agents yet"
48
+ }) }), agents.map((a) => /* @__PURE__ */ jsxs("tr", { children: [
49
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx("a", {
50
+ href: `/agents/${a.id}`,
51
+ title: a.id,
52
+ children: /* @__PURE__ */ jsxs("code", { children: [a.id.slice(0, 8), "…"] })
53
+ }) }),
54
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsxs("div", {
55
+ className: "flex items-center gap-2",
56
+ children: [/* @__PURE__ */ jsx(AgentAvatar, {
57
+ identity: a.identity,
58
+ size: 26
59
+ }), /* @__PURE__ */ jsxs("div", {
60
+ className: "leading-tight",
61
+ children: [/* @__PURE__ */ jsx("div", { children: a.name }), (a.identity?.creature || a.identity?.vibe) && /* @__PURE__ */ jsx("div", {
62
+ className: "muted text-[0.8em]",
63
+ children: [a.identity?.creature, a.identity?.vibe].filter(Boolean).join(" · ")
64
+ })]
65
+ })]
66
+ }) }),
67
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx("code", { children: a.profileId }) }),
68
+ /* @__PURE__ */ jsx("td", { children: a.status }),
69
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsxs("div", {
70
+ className: "flex gap-1.5",
71
+ children: [a.status !== "archived" ? /* @__PURE__ */ jsx("button", {
72
+ type: "button",
73
+ className: "ghost-btn",
74
+ onClick: () => archive(a.id),
75
+ children: "archive"
76
+ }) : /* @__PURE__ */ jsx("button", {
77
+ type: "button",
78
+ className: "ghost-btn",
79
+ onClick: () => unarchive(a.id),
80
+ children: "unarchive"
81
+ }), /* @__PURE__ */ jsx("button", {
82
+ type: "button",
83
+ className: "ghost-btn",
84
+ style: { color: "var(--color-rose-baziu)" },
85
+ onClick: () => del(a.id),
86
+ children: "delete"
87
+ })]
88
+ }) })
89
+ ] }, a.id))] })] })
90
+ ] });
91
+ }
92
+ function SpawnForm({ profiles, groups, modelGroups, onSpawned }) {
93
+ const [profileId, setProfileId] = useState("");
94
+ const [name, setName] = useState("");
95
+ const [model, setModel] = useState("");
96
+ const [groupId, setGroupId] = useState(groups.find((g) => g.id === "default")?.id ?? "");
97
+ const [submitting, setSubmitting] = useState(false);
98
+ const [err, setErr] = useState(null);
99
+ async function submit(e) {
100
+ e.preventDefault();
101
+ if (!profileId) {
102
+ setErr("profile is required");
103
+ return;
104
+ }
105
+ setSubmitting(true);
106
+ setErr(null);
107
+ try {
108
+ const body = { profile: profileId };
109
+ if (name) body.name = name;
110
+ if (model) body.model = model;
111
+ if (groupId) body.groupId = groupId;
112
+ const res = await fetch("/api/agents", {
113
+ method: "POST",
114
+ headers: { "content-type": "application/json" },
115
+ body: JSON.stringify(body)
116
+ });
117
+ if (!res.ok) {
118
+ const b = await res.json().catch(() => null);
119
+ throw new Error(b?.error ?? res.statusText);
120
+ }
121
+ setName("");
122
+ setModel("");
123
+ onSpawned();
124
+ } catch (e2) {
125
+ setErr(e2.message);
126
+ } finally {
127
+ setSubmitting(false);
128
+ }
129
+ }
130
+ return /* @__PURE__ */ jsxs("form", {
131
+ className: "card",
132
+ onSubmit: submit,
133
+ children: [
134
+ /* @__PURE__ */ jsx("h3", { children: "spawn agent" }),
135
+ err && /* @__PURE__ */ jsx("div", {
136
+ className: "err",
137
+ children: err
138
+ }),
139
+ /* @__PURE__ */ jsx("p", {
140
+ className: "muted my-2 text-[0.85em]",
141
+ children: "Skills come from the profile's defaults at spawn time. Tweak per-agent skills after the fact from the agent detail page."
142
+ }),
143
+ /* @__PURE__ */ jsxs("div", {
144
+ className: "flex gap-4",
145
+ children: [/* @__PURE__ */ jsxs("label", {
146
+ className: "flex-1",
147
+ children: ["profile", /* @__PURE__ */ jsxs("select", {
148
+ value: profileId,
149
+ onChange: (e) => setProfileId(e.target.value),
150
+ required: true,
151
+ children: [/* @__PURE__ */ jsx("option", {
152
+ value: "",
153
+ children: "--"
154
+ }), profiles.map((p) => /* @__PURE__ */ jsx("option", {
155
+ value: p.id,
156
+ children: p.id
157
+ }, p.id))]
158
+ })]
159
+ }), /* @__PURE__ */ jsxs("label", {
160
+ className: "flex-1",
161
+ children: ["name", /* @__PURE__ */ jsx("input", {
162
+ value: name,
163
+ onChange: (e) => setName(e.target.value)
164
+ })]
165
+ })]
166
+ }),
167
+ /* @__PURE__ */ jsxs("label", { children: ["model override", modelGroups.length === 0 ? /* @__PURE__ */ jsx("input", {
168
+ value: "",
169
+ disabled: true,
170
+ placeholder: "(uses profile default — enable models on /config)"
171
+ }) : /* @__PURE__ */ jsxs("select", {
172
+ value: model,
173
+ onChange: (e) => setModel(e.target.value),
174
+ children: [/* @__PURE__ */ jsx("option", {
175
+ value: "",
176
+ children: "(uses profile default)"
177
+ }), modelGroups.map((g) => /* @__PURE__ */ jsx("optgroup", {
178
+ label: g.provider,
179
+ children: g.models.map((m) => /* @__PURE__ */ jsx("option", {
180
+ value: `${g.provider}:${m}`,
181
+ children: `${g.provider}:${m}`
182
+ }, m))
183
+ }, g.provider))]
184
+ })] }),
185
+ /* @__PURE__ */ jsxs("label", { children: ["group", groups.length === 0 ? /* @__PURE__ */ jsx("select", {
186
+ disabled: true,
187
+ children: /* @__PURE__ */ jsx("option", { children: "(no groups — register one on /groups)" })
188
+ }) : /* @__PURE__ */ jsx("select", {
189
+ value: groupId,
190
+ onChange: (e) => setGroupId(e.target.value),
191
+ children: groups.map((g) => /* @__PURE__ */ jsxs("option", {
192
+ value: g.id,
193
+ children: [
194
+ g.id,
195
+ " (",
196
+ g.name,
197
+ ")"
198
+ ]
199
+ }, g.id))
200
+ })] }),
201
+ /* @__PURE__ */ jsx("button", {
202
+ type: "submit",
203
+ disabled: submitting,
204
+ children: submitting ? "spawning…" : "spawn"
205
+ })
206
+ ]
207
+ });
208
+ }
209
+ //#endregion
210
+ export { AgentsPage as component };
@@ -0,0 +1,14 @@
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/agents/index.tsx
5
+ var $$splitComponentImporter = () => import("./agents-C7SBPN0M.js");
6
+ var fetchAgents = createServerFn({ method: "POST" }).inputValidator((d) => d).handler(createSsrRpc("f715bab0037380aa3db7e237e7cf1e74168c363f48a960bb1ddfa5560de3a74e"));
7
+ var Route = createFileRoute("/agents/")({
8
+ validateSearch: (s) => ({ all: s.all === "1" ? "1" : void 0 }),
9
+ loaderDeps: ({ search }) => ({ all: search.all === "1" }),
10
+ loader: ({ deps }) => fetchAgents({ data: { all: deps.all } }),
11
+ component: lazyRouteComponent($$splitComponentImporter, "component")
12
+ });
13
+ //#endregion
14
+ export { Route as t };
@@ -0,0 +1,26 @@
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/agents/index.tsx?tss-serverfn-split
5
+ var fetchAgents_createServerFn_handler = createServerRpc({
6
+ id: "f715bab0037380aa3db7e237e7cf1e74168c363f48a960bb1ddfa5560de3a74e",
7
+ name: "fetchAgents",
8
+ filename: "src/routes/agents/index.tsx"
9
+ }, (opts) => fetchAgents.__executeServer(opts));
10
+ var fetchAgents = createServerFn({ method: "POST" }).inputValidator((d) => d).handler(fetchAgents_createServerFn_handler, async ({ data }) => {
11
+ const c = daemonClient();
12
+ const [agents, profiles, groups, models] = await Promise.all([
13
+ c.get(`/api/agents?includeArchived=${data.all}`),
14
+ c.get("/api/profiles"),
15
+ c.get("/api/groups"),
16
+ c.get("/api/config/available-models")
17
+ ]);
18
+ return {
19
+ agents,
20
+ profiles,
21
+ groups,
22
+ modelGroups: models.groups
23
+ };
24
+ });
25
+ //#endregion
26
+ export { fetchAgents_createServerFn_handler };
@@ -0,0 +1,26 @@
1
+ import { t as createServerFn } from "../server.js";
2
+ import { t as createServerRpc } from "./createServerRpc-CeKECg65.js";
3
+ import { n as daemonClient, r as ApiClientError } from "./daemon-client-2NRMzlTr.js";
4
+ //#region src/lib/auth.ts?tss-serverfn-split
5
+ var fetchAuthState_createServerFn_handler = createServerRpc({
6
+ id: "a5d3825fc69573bb55bab6df578c750ebb0240dd394c3acee3adea02918a5dc2",
7
+ name: "fetchAuthState",
8
+ filename: "src/lib/auth.ts"
9
+ }, (opts) => fetchAuthState.__executeServer(opts));
10
+ var fetchAuthState = createServerFn({ method: "GET" }).handler(fetchAuthState_createServerFn_handler, async () => {
11
+ try {
12
+ const res = await daemonClient().get("/api/auth/me");
13
+ return {
14
+ authed: res.authed,
15
+ setupComplete: res.setupComplete
16
+ };
17
+ } catch (err) {
18
+ if (err instanceof ApiClientError && err.status === 401) return {
19
+ authed: false,
20
+ setupComplete: false
21
+ };
22
+ throw err;
23
+ }
24
+ });
25
+ //#endregion
26
+ export { fetchAuthState_createServerFn_handler };
@@ -0,0 +1,12 @@
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/config/index.tsx
5
+ var $$splitComponentImporter = () => import("./config-CdVjqjin.js");
6
+ var fetchProvidersData = createServerFn({ method: "GET" }).handler(createSsrRpc("b18a227687dba45b99ea5a2ac7a5bf8efcd9bc54387bc279cd87510fd2f83f7e"));
7
+ var Route = createFileRoute("/config/")({
8
+ loader: () => fetchProvidersData(),
9
+ component: lazyRouteComponent($$splitComponentImporter, "component")
10
+ });
11
+ //#endregion
12
+ export { Route as t };
@@ -0,0 +1,19 @@
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/config/index.tsx?tss-serverfn-split
5
+ var fetchProvidersData_createServerFn_handler = createServerRpc({
6
+ id: "b18a227687dba45b99ea5a2ac7a5bf8efcd9bc54387bc279cd87510fd2f83f7e",
7
+ name: "fetchProvidersData",
8
+ filename: "src/routes/config/index.tsx"
9
+ }, (opts) => fetchProvidersData.__executeServer(opts));
10
+ var fetchProvidersData = createServerFn({ method: "GET" }).handler(fetchProvidersData_createServerFn_handler, async () => {
11
+ const c = daemonClient();
12
+ const [{ providers }, openaiCodex] = await Promise.all([c.get("/api/config/providers"), c.get("/api/auth/openai")]);
13
+ return {
14
+ providers,
15
+ openaiCodex
16
+ };
17
+ });
18
+ //#endregion
19
+ export { fetchProvidersData_createServerFn_handler };