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,41 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ //#region src/components/ConfigTabs.tsx
3
+ var TABS = [
4
+ {
5
+ key: "providers",
6
+ href: "/config",
7
+ label: "providers"
8
+ },
9
+ {
10
+ key: "services",
11
+ href: "/config/services",
12
+ label: "services"
13
+ },
14
+ {
15
+ key: "mcp",
16
+ href: "/config/mcp",
17
+ label: "mcp"
18
+ },
19
+ {
20
+ key: "integrations",
21
+ href: "/config/integrations/telegram",
22
+ label: "integrations"
23
+ },
24
+ {
25
+ key: "tokens",
26
+ href: "/config/tokens",
27
+ label: "tokens"
28
+ }
29
+ ];
30
+ function ConfigTabs({ active }) {
31
+ return /* @__PURE__ */ jsx("nav", {
32
+ className: "flex gap-1 border-b mb-6",
33
+ children: TABS.map((t) => /* @__PURE__ */ jsx("a", {
34
+ href: t.href,
35
+ className: `px-3 py-2 text-sm border-b-2 -mb-px ${t.key === active ? "border-primary text-primary font-semibold" : "border-transparent text-muted-foreground hover:text-foreground"}`,
36
+ children: t.label
37
+ }, t.key))
38
+ });
39
+ }
40
+ //#endregion
41
+ export { ConfigTabs as t };
@@ -0,0 +1,94 @@
1
+ import { useState } from "react";
2
+ import { useRouter } from "@tanstack/react-router";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ //#region src/components/FieldRow.tsx
5
+ function FieldRow({ field }) {
6
+ const router = useRouter();
7
+ const [value, setValue] = useState(field.kind === "config" ? field.value ?? "" : "");
8
+ const [busy, setBusy] = useState(false);
9
+ const [err, setErr] = useState(null);
10
+ const [savedAt, setSavedAt] = useState(null);
11
+ async function save(e) {
12
+ e.preventDefault();
13
+ setBusy(true);
14
+ setErr(null);
15
+ try {
16
+ const res = await fetch(`/api/config/fields/${encodeURIComponent(field.envVar)}`, {
17
+ method: "PUT",
18
+ headers: { "content-type": "application/json" },
19
+ body: JSON.stringify({ value })
20
+ });
21
+ if (!res.ok) {
22
+ const j = await res.json().catch(() => ({}));
23
+ throw new Error(j.error ?? `${res.status} ${res.statusText}`);
24
+ }
25
+ setSavedAt(Date.now());
26
+ if (field.kind === "secret") setValue("");
27
+ await router.invalidate();
28
+ } catch (e) {
29
+ setErr(e.message);
30
+ } finally {
31
+ setBusy(false);
32
+ }
33
+ }
34
+ return /* @__PURE__ */ jsxs("form", {
35
+ onSubmit: save,
36
+ className: "grid grid-cols-[12rem_minmax(14rem,1fr)_auto_auto] gap-2 items-center py-2 border-b last:border-0",
37
+ children: [
38
+ /* @__PURE__ */ jsxs("div", {
39
+ className: "min-w-0",
40
+ children: [
41
+ /* @__PURE__ */ jsx("div", {
42
+ className: "text-sm",
43
+ children: field.label
44
+ }),
45
+ /* @__PURE__ */ jsx("div", {
46
+ className: "font-mono text-xs text-muted-foreground",
47
+ children: field.envVar
48
+ }),
49
+ field.description && /* @__PURE__ */ jsx("div", {
50
+ className: "text-xs text-muted-foreground mt-0.5",
51
+ children: field.description
52
+ })
53
+ ]
54
+ }),
55
+ field.kind === "config" ? /* @__PURE__ */ jsx("input", {
56
+ type: "text",
57
+ value,
58
+ onChange: (e) => setValue(e.target.value),
59
+ placeholder: field.placeholder ?? "",
60
+ className: "rounded-md border bg-background px-2 py-1.5 text-sm outline-none focus:ring-2 focus:ring-ring/30"
61
+ }) : /* @__PURE__ */ jsx("input", {
62
+ type: "password",
63
+ value,
64
+ onChange: (e) => setValue(e.target.value),
65
+ placeholder: field.set ? "(replace — blank clears)" : field.placeholder ?? "paste key…",
66
+ autoComplete: "off",
67
+ className: "rounded-md border bg-background px-2 py-1.5 text-sm outline-none focus:ring-2 focus:ring-ring/30"
68
+ }),
69
+ /* @__PURE__ */ jsxs("span", {
70
+ className: "text-xs",
71
+ children: [field.kind === "secret" && field.set && /* @__PURE__ */ jsx("span", {
72
+ className: "rounded-full bg-emerald-100 text-emerald-800 px-1.5 py-0.5",
73
+ title: `preview: ${field.preview ?? ""}`,
74
+ children: "set"
75
+ }), savedAt && Date.now() - savedAt < 2e3 && /* @__PURE__ */ jsx("span", {
76
+ className: "text-emerald-700 ml-2",
77
+ children: "saved ✓"
78
+ })]
79
+ }),
80
+ /* @__PURE__ */ jsx("button", {
81
+ type: "submit",
82
+ disabled: busy,
83
+ className: "unstyled rounded-md border bg-background px-2 py-1.5 text-xs text-foreground hover:bg-accent disabled:opacity-50",
84
+ children: "save"
85
+ }),
86
+ err && /* @__PURE__ */ jsx("p", {
87
+ className: "col-span-4 text-xs text-rose-700",
88
+ children: err
89
+ })
90
+ ]
91
+ });
92
+ }
93
+ //#endregion
94
+ export { FieldRow as t };
@@ -0,0 +1,131 @@
1
+ import { r as REASONING_LEVELS } from "./wire-constants-Deb4NxBb.js";
2
+ import { t as Button } from "./Button-Dsnw22OF.js";
3
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
+ //#region src/components/MembersEditor.tsx
5
+ function MembersEditor({ members, onChange, profiles, modelGroups, emptyHint = "No members yet. Add one to define your first team member." }) {
6
+ function update(i, patch) {
7
+ onChange(members.map((m, idx) => idx === i ? {
8
+ ...m,
9
+ ...patch
10
+ } : m));
11
+ }
12
+ function move(i, delta) {
13
+ const j = i + delta;
14
+ if (j < 0 || j >= members.length) return;
15
+ const next = [...members];
16
+ const tmp = next[i];
17
+ const swap = next[j];
18
+ if (!tmp || !swap) return;
19
+ next[i] = swap;
20
+ next[j] = tmp;
21
+ onChange(next);
22
+ }
23
+ function removeMember(i) {
24
+ onChange(members.filter((_, idx) => idx !== i));
25
+ }
26
+ function addMember() {
27
+ const firstProfile = profiles[0];
28
+ if (!firstProfile) return;
29
+ onChange([...members, {
30
+ profileId: firstProfile.id,
31
+ agentName: "agent",
32
+ modelOverride: null,
33
+ reasoningLevel: null
34
+ }]);
35
+ }
36
+ if (profiles.length === 0) return /* @__PURE__ */ jsxs("p", {
37
+ className: "muted",
38
+ children: [
39
+ "Create a profile first under ",
40
+ /* @__PURE__ */ jsx("a", {
41
+ href: "/profiles",
42
+ children: "/profiles"
43
+ }),
44
+ " — members reference existing profiles."
45
+ ]
46
+ });
47
+ return /* @__PURE__ */ jsxs(Fragment, { children: [members.length === 0 ? /* @__PURE__ */ jsx("p", {
48
+ className: "muted",
49
+ children: emptyHint
50
+ }) : /* @__PURE__ */ jsxs("table", { children: [/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
51
+ /* @__PURE__ */ jsx("th", { children: "#" }),
52
+ /* @__PURE__ */ jsx("th", { children: "profile" }),
53
+ /* @__PURE__ */ jsx("th", { children: "agent name" }),
54
+ /* @__PURE__ */ jsx("th", { children: "model override" }),
55
+ /* @__PURE__ */ jsx("th", { children: "reasoning" }),
56
+ /* @__PURE__ */ jsx("th", {})
57
+ ] }) }), /* @__PURE__ */ jsx("tbody", { children: members.map((m, i) => /* @__PURE__ */ jsxs("tr", { children: [
58
+ /* @__PURE__ */ jsx("td", { children: i }),
59
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx("select", {
60
+ value: m.profileId,
61
+ onChange: (e) => update(i, { profileId: e.target.value }),
62
+ children: profiles.map((p) => /* @__PURE__ */ jsx("option", {
63
+ value: p.id,
64
+ children: p.id
65
+ }, p.id))
66
+ }) }),
67
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx("input", {
68
+ value: m.agentName,
69
+ onChange: (e) => update(i, { agentName: e.target.value })
70
+ }) }),
71
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsxs("select", {
72
+ value: m.modelOverride ?? "",
73
+ onChange: (e) => update(i, { modelOverride: e.target.value === "" ? null : e.target.value }),
74
+ children: [/* @__PURE__ */ jsx("option", {
75
+ value: "",
76
+ children: "(use profile default)"
77
+ }), modelGroups.map((g) => /* @__PURE__ */ jsx("optgroup", {
78
+ label: g.provider,
79
+ children: g.models.map((mm) => /* @__PURE__ */ jsx("option", {
80
+ value: `${g.provider}:${mm}`,
81
+ children: `${g.provider}:${mm}`
82
+ }, mm))
83
+ }, g.provider))]
84
+ }) }),
85
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsxs("select", {
86
+ value: m.reasoningLevel ?? "",
87
+ onChange: (e) => update(i, { reasoningLevel: e.target.value === "" ? null : e.target.value }),
88
+ children: [/* @__PURE__ */ jsx("option", {
89
+ value: "",
90
+ children: "(default: medium)"
91
+ }), REASONING_LEVELS.map((lvl) => /* @__PURE__ */ jsx("option", {
92
+ value: lvl,
93
+ children: lvl
94
+ }, lvl))]
95
+ }) }),
96
+ /* @__PURE__ */ jsxs("td", {
97
+ className: "flex gap-1",
98
+ children: [
99
+ /* @__PURE__ */ jsx(Button, {
100
+ variant: "ghost",
101
+ onClick: () => move(i, -1),
102
+ disabled: i === 0,
103
+ title: "move up",
104
+ children: "↑"
105
+ }),
106
+ /* @__PURE__ */ jsx(Button, {
107
+ variant: "ghost",
108
+ onClick: () => move(i, 1),
109
+ disabled: i === members.length - 1,
110
+ title: "move down",
111
+ children: "↓"
112
+ }),
113
+ /* @__PURE__ */ jsx(Button, {
114
+ variant: "danger",
115
+ onClick: () => removeMember(i),
116
+ title: "remove member",
117
+ children: "✕"
118
+ })
119
+ ]
120
+ })
121
+ ] }, i)) })] }), /* @__PURE__ */ jsx("div", {
122
+ className: "mt-3",
123
+ children: /* @__PURE__ */ jsx(Button, {
124
+ variant: "ghost",
125
+ onClick: addMember,
126
+ children: "+ add member"
127
+ })
128
+ })] });
129
+ }
130
+ //#endregion
131
+ export { MembersEditor as t };