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.
- package/README.md +47 -5
- package/dist/cli.js +1190 -640
- package/dist/cli.js.map +1 -1
- package/dist/daemon.js +5165 -1598
- package/dist/daemon.js.map +1 -1
- package/dist/migrations/0001_init.sql +318 -88
- package/dist/web/client/assets/AgentTabs-B3hq5a3e.js +1 -0
- package/dist/web/client/assets/ConfigPage-BCwfgyjD.js +1 -0
- package/dist/web/client/assets/FieldRow-avAFLgYW.js +1 -0
- package/dist/web/client/assets/Page-CwNuDhWz.js +1 -0
- package/dist/web/client/assets/ProductionTeamPolicyEditor-CiQ-VVDo.js +7 -0
- package/dist/web/client/assets/ProductionTeamPolicyEditor-DLioOiRN.css +1 -0
- package/dist/web/client/assets/ProfileCommunicationEditor-D84F5yfr.js +1 -0
- package/dist/web/client/assets/RecoveryState-QfMSuwy3.js +1 -0
- package/dist/web/client/assets/SectionTabs-DZzy01az.js +1 -0
- package/dist/web/client/assets/TeamTabs-Btoe_FAE.js +1 -0
- package/dist/web/client/assets/TemplatesTabs-CAYY03F5.js +1 -0
- package/dist/web/client/assets/_id-BeauECmk.js +1 -0
- package/dist/web/client/assets/_id-BqU2BodK.js +1 -0
- package/dist/web/client/assets/_id-CKtoio3t.js +1 -0
- package/dist/web/client/assets/_id-DGyKURCp.js +1 -0
- package/dist/web/client/assets/_id-Q98Of6k9.js +1 -0
- package/dist/web/client/assets/activity-DJuhhQCb.js +1 -0
- package/dist/web/client/assets/activity-DXN_N85w.js +1 -0
- package/dist/web/client/assets/agents-C5Xsdge1.js +1 -0
- package/dist/web/client/assets/agents-Cgxo4H5G.js +1 -0
- package/dist/web/client/assets/approvals-BnG7fbw-.js +1 -0
- package/dist/web/client/assets/approvals-DGi0PSx8.js +1 -0
- package/dist/web/client/assets/chevron-down-BhcBspw3.js +1 -0
- package/dist/web/client/assets/config-xw4NyrXF.js +3 -0
- package/dist/web/client/assets/context-D2V1Oi4z.js +1 -0
- package/dist/web/client/assets/inbox-DK6hWCMp.js +1 -0
- package/dist/web/client/assets/index-VdURSoM4.js +12 -0
- package/dist/web/client/assets/login-CvptUoMR.js +1 -0
- package/dist/web/client/assets/mcp-BDFM_sW-.js +1 -0
- package/dist/web/client/assets/members-BJvph_TR.js +1 -0
- package/dist/web/client/assets/memory-DRytqZCD.js +1 -0
- package/dist/web/client/assets/plus-C9ee3SIO.js +1 -0
- package/dist/web/client/assets/policy-CGP50OtQ.js +1 -0
- package/dist/web/client/assets/policy-K4hIbbIN.js +1 -0
- package/dist/web/client/assets/preload-helper-mNuBjNXU.js +1 -0
- package/dist/web/client/assets/react-3W8R1pOO.js +1 -0
- package/dist/web/client/assets/routes-DJnWYvC9.js +1 -0
- package/dist/web/client/assets/services-DHheiv7L.js +1 -0
- package/dist/web/client/assets/skills-DmsitluU.js +1 -0
- package/dist/web/client/assets/styles-B5eQAwLP.css +2 -0
- package/dist/web/client/assets/team-policy-D0jpnn2b.js +1 -0
- package/dist/web/client/assets/teams-BdC4gthq.js +1 -0
- package/dist/web/client/assets/teams-CSNyLz3l.js +1 -0
- package/dist/web/client/assets/teams-CbxSaorm.js +1 -0
- package/dist/web/client/assets/telegram-D61G_alO.js +1 -0
- package/dist/web/client/assets/tokens-CjRplDrJ.js +1 -0
- package/dist/web/client/assets/triggers-MLzTm_DM.js +1 -0
- package/dist/web/client/assets/welcome-wBfX9dAd.js +1 -0
- package/dist/web/client/assets/{ChatPane-DzEgOEqS.js → wire-constants-BxfyUMXB.js} +4 -4
- package/dist/web/server/assets/{AgentTabs-BOjTN7QF.js → AgentTabs-DoMDJBXH.js} +10 -7
- package/dist/web/server/assets/{ChatPane-BvpswYvF.js → ChatPane-eUY_dga3.js} +38 -20
- package/dist/web/server/assets/ConfigPage-BKlh5vOU.js +68 -0
- package/dist/web/server/assets/{FieldRow-DwyqycWI.js → FieldRow-B4eTegH9.js} +5 -5
- package/dist/web/server/assets/Page-LENulSXY.js +111 -0
- package/dist/web/server/assets/ProductionTeamPolicyEditor-Y4mzFFvR.js +1009 -0
- package/dist/web/server/assets/ProfileCommunicationEditor-C2RU-2QB.js +107 -0
- package/dist/web/server/assets/RecoveryState-B2SG-mrY.js +37 -0
- package/dist/web/server/assets/SectionTabs-BJTPr5nU.js +8 -0
- package/dist/web/server/assets/Sidebar-O_CH1-JD.js +964 -0
- package/dist/web/server/assets/TeamTabs-zZzbP1t_.js +51 -0
- package/dist/web/server/assets/{TemplatesTabs---7h5GYa.js → TemplatesTabs-CcRxZhJe.js} +9 -8
- package/dist/web/server/assets/_id-A8Xiv6Lc.js +11 -0
- package/dist/web/server/assets/{_id-Sjw0zhA6.js → _id-BhOB8Umi.js} +5 -5
- package/dist/web/server/assets/{_id-DDixKEud.js → _id-C3HY4lWg.js} +77 -20
- package/dist/web/server/assets/{_id-BdRiQb2H.js → _id-ClN9hY2x.js} +132 -39
- package/dist/web/server/assets/{_id-BqnDy_Ca.js → _id-CwyGjJeP.js} +7 -6
- package/dist/web/server/assets/{_id-D8duqgd5.js → _id-D27T85mU.js} +6 -5
- package/dist/web/server/assets/_id-D3Ap7zZA.js +377 -0
- package/dist/web/server/assets/_id-DinTp_7X.js +14 -0
- package/dist/web/server/assets/{_id-CnQflrRv.js → _id-Dj1yZ3zJ.js} +6 -6
- package/dist/web/server/assets/{_id-DUIrFV3G.js → _id-DkYodSkG.js} +10 -2
- package/dist/web/server/assets/{_id-D_Ew11ED.js → _id-IzadFZV9.js} +9 -9
- package/dist/web/server/assets/_id-LrvXU4Nr.js +45 -0
- package/dist/web/server/assets/_id-tB47Vsfp.js +42 -0
- package/dist/web/server/assets/_tanstack-start-manifest_v-D09Xu_6u.js +286 -0
- package/dist/web/server/assets/activity-BCI4mfNS.js +168 -0
- package/dist/web/server/assets/activity-CGCf8BQf.js +11 -0
- package/dist/web/server/assets/activity-D9SMqBhy.js +14 -0
- package/dist/web/server/assets/activity-DohitgwW.js +12 -0
- package/dist/web/server/assets/{agents-k5QURC4I.js → agents-BPKOshR5.js} +5 -5
- package/dist/web/server/assets/{profiles-C6a3RKgu.js → agents-BY74v7fM.js} +5 -5
- package/dist/web/server/assets/{profiles-CZ5NkmVw.js → agents-BvttypqB.js} +5 -5
- package/dist/web/server/assets/{agents-ChcAJUI5.js → agents-C9xlWK0Z.js} +2 -2
- package/dist/web/server/assets/agents-CgZMHj80.js +265 -0
- package/dist/web/server/assets/{profiles-LxcC_L6n.js → agents-DZuFEj0D.js} +87 -79
- package/dist/web/server/assets/approvals-BGU-XGIO.js +12 -0
- package/dist/web/server/assets/approvals-CWcFHlor.js +14 -0
- package/dist/web/server/assets/approvals-CbFXFvG8.js +11 -0
- package/dist/web/server/assets/approvals-DCaVw1Mz.js +280 -0
- package/dist/web/server/assets/{auth-DzRAMwVt.js → auth-byfSx6Ja.js} +6 -2
- package/dist/web/server/assets/{config-CHaCv89D.js → config-BDCJdtj2.js} +1 -1
- package/dist/web/server/assets/{config-CdVjqjin.js → config-D2LAsud2.js} +31 -52
- package/dist/web/server/assets/{config-Bq3o924J.js → config-TeIoyYYc.js} +2 -2
- package/dist/web/server/assets/context-B-XDf6Ym.js +12 -0
- package/dist/web/server/assets/context-BXGo5Vfi.js +12 -0
- package/dist/web/server/assets/context-DrkrIWun.js +47 -0
- package/dist/web/server/assets/{createServerRpc-CeKECg65.js → createServerRpc-pU-IQV2Y.js} +1 -1
- package/dist/web/server/assets/{createSsrRpc-ZBGxhl8t.js → createSsrRpc-DFsIAfFd.js} +1 -1
- package/dist/web/server/assets/{empty-plugin-adapters-DKUlnwwl.js → empty-plugin-adapters-Cq4--YW-.js} +1 -1
- package/dist/web/server/assets/{inbox-CkiSvD14.js → inbox-B3-TRsNI.js} +1 -1
- package/dist/web/server/assets/{inbox-Bxb3W04M.js → inbox-BardsGyy.js} +2 -2
- package/dist/web/server/assets/inbox-CUIyf9MT.js +131 -0
- package/dist/web/server/assets/login-Bx5LEyGP.js +118 -0
- package/dist/web/server/assets/login-CmWvxfTK.js +136 -0
- package/dist/web/server/assets/{mcp-BsFKEoXt.js → mcp-2pwT9HU8.js} +1 -1
- package/dist/web/server/assets/{mcp-BU_kKENi.js → mcp-BJjLIdP0.js} +105 -112
- package/dist/web/server/assets/{mcp-CKqwG4mt.js → mcp-DIWTogHM.js} +2 -2
- package/dist/web/server/assets/members-CCv17cjQ.js +46 -0
- package/dist/web/server/assets/members-CW5aBe81.js +12 -0
- package/dist/web/server/assets/members-VdPwD6CE.js +12 -0
- package/dist/web/server/assets/{memory-BaYnfm7K.js → memory-Dngc13Nw.js} +9 -9
- package/dist/web/server/assets/{memory-CQaqWnyM.js → memory-a8Kz57Kh.js} +22 -19
- package/dist/web/server/assets/{memory-Ns2-Z31p.js → memory-pZ4pZT7p.js} +6 -6
- package/dist/web/server/assets/policy-BYVXqsan.js +11 -0
- package/dist/web/server/assets/policy-Bb-vEgqg.js +40 -0
- package/dist/web/server/assets/policy-BcGELcc9.js +490 -0
- package/dist/web/server/assets/policy-C30AeFIb.js +21 -0
- package/dist/web/server/assets/router-DIdp8ZNt.js +504 -0
- package/dist/web/server/assets/{routes-C61gBiXa.js → routes-CXz4hTAr.js} +6 -6
- package/dist/web/server/assets/{routes-Ce2VWrU9.js → routes-Jb0zjKav.js} +16 -13
- package/dist/web/server/assets/{routes-V9URcp1v.js → routes-lIclH9Br.js} +2 -2
- package/dist/web/server/assets/services-B9yBWDX0.js +79 -0
- package/dist/web/server/assets/{services-Ccc5s2bS.js → services-C4szdhPx.js} +4 -4
- package/dist/web/server/assets/{services-DhRiNeq0.js → services-wG8I06oS.js} +1 -1
- package/dist/web/server/assets/skills-BZdqiDig.js +358 -0
- package/dist/web/server/assets/{skills-l2cyQ3zS.js → skills-C-UgkuCW.js} +2 -2
- package/dist/web/server/assets/{skills-CFIWVg32.js → skills-a9VSWHWq.js} +1 -1
- package/dist/web/server/assets/{start-CYDpZ6cb.js → start-WH8WzTL_.js} +1 -1
- package/dist/web/server/assets/team-policy-vPG01onj.js +180 -0
- package/dist/web/server/assets/teams-3im0oQnS.js +11 -0
- package/dist/web/server/assets/teams-CpQ0YgWf.js +112 -0
- package/dist/web/server/assets/teams-DEpQR2QA.js +14 -0
- package/dist/web/server/assets/teams-DqfrEoH6.js +36 -0
- package/dist/web/server/assets/teams-MjqgsmC3.js +12 -0
- package/dist/web/server/assets/teams-OIkHuxy1.js +12 -0
- package/dist/web/server/assets/teams-jBtvnk59.js +193 -0
- package/dist/web/server/assets/{telegram-DfAddLdv.js → telegram-7ub--6xz.js} +44 -56
- package/dist/web/server/assets/{telegram-T3l9KtiE.js → telegram-Bazhmpr4.js} +2 -2
- package/dist/web/server/assets/{telegram-BdaUIjvs.js → telegram-DNgCWebD.js} +1 -1
- package/dist/web/server/assets/{tokens-DdpnfV_Y.js → tokens-BnwFbV7T.js} +2 -2
- package/dist/web/server/assets/{tokens-BCz3PSoT.js → tokens-DPDMSN5O.js} +1 -1
- package/dist/web/server/assets/tokens-yyTSfBSN.js +186 -0
- package/dist/web/server/assets/{triggers-BzJG1nN5.js → triggers-BMpHsGIr.js} +5 -4
- package/dist/web/server/assets/{triggers-BcH_6PW1.js → triggers-C_0y6QV9.js} +1 -1
- package/dist/web/server/assets/{triggers-BcTTwMfy.js → triggers-Ca57_qym.js} +2 -2
- package/dist/web/server/assets/{welcome-CP4CZ9B6.js → welcome-IYHGurWx.js} +23 -15
- package/dist/web/server/assets/{wire-constants-Deb4NxBb.js → wire-constants-C8nBJcU3.js} +3 -3
- package/dist/web/server/server.js +126 -95
- package/dist/worker.js +185 -146
- package/dist/worker.js.map +1 -1
- package/package.json +8 -7
- package/dist/migrations/0002_profile_groups.sql +0 -38
- package/dist/migrations/0003_agent_telegram.sql +0 -40
- package/dist/migrations/0004_agent_mirror_mode.sql +0 -17
- package/dist/migrations/0005_group_topic_name_format.sql +0 -15
- package/dist/migrations/0006_telegram_acl.sql +0 -18
- package/dist/migrations/0007_mcp_servers.sql +0 -30
- package/dist/migrations/0008_seed_user_md.sql +0 -39
- package/dist/web/client/assets/AgentTabs-DioGqUVR.js +0 -1
- package/dist/web/client/assets/ConfigTabs-pY-V0Rie.js +0 -1
- package/dist/web/client/assets/FieldRow-CNKma5LE.js +0 -1
- package/dist/web/client/assets/MembersEditor-C6UpqDdV.js +0 -1
- package/dist/web/client/assets/SpawnTeamModal-BEkNCKXm.js +0 -1
- package/dist/web/client/assets/TemplatesTabs-UM04RMO9.js +0 -1
- package/dist/web/client/assets/_id-BNJapCT4.js +0 -1
- package/dist/web/client/assets/_id-CjGoV8Mr.js +0 -1
- package/dist/web/client/assets/_id-DehuCHUw.js +0 -1
- package/dist/web/client/assets/_id-Dz9fjcCM.js +0 -1
- package/dist/web/client/assets/agents-M6omAXcZ.js +0 -1
- package/dist/web/client/assets/config-DIuEc5bm.js +0 -3
- package/dist/web/client/assets/groups-DpE2d2zZ.js +0 -1
- package/dist/web/client/assets/inbox-BPnLsRNf.js +0 -1
- package/dist/web/client/assets/index-MAJuXnie.js +0 -12
- package/dist/web/client/assets/login-CawJX16E.js +0 -1
- package/dist/web/client/assets/mcp-DIrh9-v_.js +0 -1
- package/dist/web/client/assets/memory-BpHbdKsd.js +0 -1
- package/dist/web/client/assets/preload-helper-CvnapA2_.js +0 -1
- package/dist/web/client/assets/profile-groups-ByoKak0c.js +0 -1
- package/dist/web/client/assets/profiles-BEjv8LGo.js +0 -1
- package/dist/web/client/assets/routes-D2COHy7v.js +0 -1
- package/dist/web/client/assets/services-D212jSK_.js +0 -1
- package/dist/web/client/assets/skills-Da0MURjY.js +0 -1
- package/dist/web/client/assets/styles-BgE5bCHA.css +0 -2
- package/dist/web/client/assets/telegram-Czh2MdVm.js +0 -1
- package/dist/web/client/assets/tokens-E_JvO5JN.js +0 -1
- package/dist/web/client/assets/triggers-BBRZQOm7.js +0 -1
- package/dist/web/client/assets/welcome-Dn-zvmBE.js +0 -1
- package/dist/web/client/assets/wire-constants-BkT5-597.js +0 -1
- package/dist/web/server/assets/ConfigTabs-CyuxzesF.js +0 -41
- package/dist/web/server/assets/MembersEditor-BWQztvrX.js +0 -131
- package/dist/web/server/assets/Sidebar-DmEiewRN.js +0 -529
- package/dist/web/server/assets/SpawnTeamModal-dSN421k_.js +0 -107
- package/dist/web/server/assets/_id-BKev9H1p.js +0 -12
- package/dist/web/server/assets/_id-BNwlbWHP.js +0 -24
- package/dist/web/server/assets/_id-CRqqi8IE.js +0 -161
- package/dist/web/server/assets/_id-CXg-Blec.js +0 -367
- package/dist/web/server/assets/_tanstack-start-manifest_v-D9FLKShQ.js +0 -178
- package/dist/web/server/assets/agents-C7SBPN0M.js +0 -210
- package/dist/web/server/assets/groups-CbSwND2r.js +0 -12
- package/dist/web/server/assets/groups-CeRRlZaZ.js +0 -150
- package/dist/web/server/assets/groups-pk4CYSuf.js +0 -21
- package/dist/web/server/assets/inbox-DU27iHv_.js +0 -133
- package/dist/web/server/assets/login-CNznncgA.js +0 -58
- package/dist/web/server/assets/login-CQybKk7Y.js +0 -74
- package/dist/web/server/assets/profile-groups-CiU06yN1.js +0 -28
- package/dist/web/server/assets/profile-groups-D21MYoLM.js +0 -208
- package/dist/web/server/assets/profile-groups-aoJleXHP.js +0 -12
- package/dist/web/server/assets/router-BrDascdO.js +0 -460
- package/dist/web/server/assets/services-B91w2f-X.js +0 -94
- package/dist/web/server/assets/skills-D89ND2kR.js +0 -321
- package/dist/web/server/assets/tokens-CkKqrtk-.js +0 -193
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as Route } from "./telegram-
|
|
2
|
-
import { t as ConfigTabs } from "./ConfigTabs-CyuxzesF.js";
|
|
1
|
+
import { t as Route } from "./telegram-Bazhmpr4.js";
|
|
3
2
|
import { t as Button } from "./Button-Dsnw22OF.js";
|
|
3
|
+
import { t as ConfigPage } from "./ConfigPage-BKlh5vOU.js";
|
|
4
4
|
import { useEffect, useState } from "react";
|
|
5
5
|
import { useRouter } from "@tanstack/react-router";
|
|
6
6
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -75,35 +75,23 @@ function TelegramIntegrationPage() {
|
|
|
75
75
|
setChecking(false);
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
return /* @__PURE__ */ jsxs(
|
|
79
|
-
|
|
78
|
+
return /* @__PURE__ */ jsxs(ConfigPage, {
|
|
79
|
+
active: "integrations",
|
|
80
|
+
title: "Telegram",
|
|
81
|
+
description: "Connect one forum-supergroup bot with one topic per agent, so conversations stay reachable from your phone.",
|
|
82
|
+
size: "narrow",
|
|
80
83
|
children: [
|
|
81
|
-
/* @__PURE__ */ jsx("h1", {
|
|
82
|
-
className: "font-serif text-3xl text-foreground mb-2",
|
|
83
|
-
children: "config"
|
|
84
|
-
}),
|
|
85
|
-
/* @__PURE__ */ jsx(ConfigTabs, { active: "integrations" }),
|
|
86
|
-
/* @__PURE__ */ jsxs("header", {
|
|
87
|
-
className: "mb-6",
|
|
88
|
-
children: [/* @__PURE__ */ jsx("h2", {
|
|
89
|
-
className: "text-xl font-semibold",
|
|
90
|
-
children: "Telegram"
|
|
91
|
-
}), /* @__PURE__ */ jsx("p", {
|
|
92
|
-
className: "text-muted-foreground text-sm",
|
|
93
|
-
children: "One forum-supergroup bot, one topic per agent. Talk to any of your agents from a phone."
|
|
94
|
-
})]
|
|
95
|
-
}),
|
|
96
84
|
/* @__PURE__ */ jsx(Step2Banner, {}),
|
|
97
85
|
initial.migratedChatId && /* @__PURE__ */ jsx(MigrationBanner, { toChatId: initial.migratedChatId }),
|
|
98
86
|
/* @__PURE__ */ jsxs("section", {
|
|
99
|
-
className: "rounded-lg border bg-card p-5
|
|
87
|
+
className: "rounded-lg border bg-card p-5",
|
|
100
88
|
children: [
|
|
101
89
|
/* @__PURE__ */ jsx("h3", {
|
|
102
90
|
className: "text-sm font-semibold uppercase tracking-wide text-muted-foreground mb-3",
|
|
103
91
|
children: "Credentials"
|
|
104
92
|
}),
|
|
105
93
|
initial.configured && /* @__PURE__ */ jsxs("p", {
|
|
106
|
-
className: "text-xs text-
|
|
94
|
+
className: "text-xs text-success mb-3",
|
|
107
95
|
children: [
|
|
108
96
|
"✓ Stored: ",
|
|
109
97
|
/* @__PURE__ */ jsx("code", {
|
|
@@ -141,7 +129,7 @@ function TelegramIntegrationPage() {
|
|
|
141
129
|
className: "text-xs text-muted-foreground mt-1",
|
|
142
130
|
children: [
|
|
143
131
|
"From @BotFather → /newbot. Disable Privacy Mode in ",
|
|
144
|
-
/* @__PURE__ */ jsx("em", { children: "Bot Settings →
|
|
132
|
+
/* @__PURE__ */ jsx("em", { children: "Bot Settings → Team Privacy → Turn off" }),
|
|
145
133
|
"."
|
|
146
134
|
]
|
|
147
135
|
})
|
|
@@ -177,7 +165,7 @@ function TelegramIntegrationPage() {
|
|
|
177
165
|
]
|
|
178
166
|
}),
|
|
179
167
|
/* @__PURE__ */ jsxs("div", {
|
|
180
|
-
className: "flex items-center gap-3 pt-1",
|
|
168
|
+
className: "flex flex-wrap items-center gap-3 pt-1",
|
|
181
169
|
children: [
|
|
182
170
|
/* @__PURE__ */ jsx(Button, {
|
|
183
171
|
variant: "primary",
|
|
@@ -191,11 +179,11 @@ function TelegramIntegrationPage() {
|
|
|
191
179
|
children: "clear credentials"
|
|
192
180
|
}),
|
|
193
181
|
saveOk && /* @__PURE__ */ jsx("span", {
|
|
194
|
-
className: "text-xs text-
|
|
182
|
+
className: "text-xs text-success",
|
|
195
183
|
children: "saved ✓"
|
|
196
184
|
}),
|
|
197
185
|
saveError && /* @__PURE__ */ jsxs("span", {
|
|
198
|
-
className: "text-xs text-
|
|
186
|
+
className: "text-xs text-danger",
|
|
199
187
|
children: ["error: ", saveError]
|
|
200
188
|
})
|
|
201
189
|
]
|
|
@@ -208,7 +196,7 @@ function TelegramIntegrationPage() {
|
|
|
208
196
|
className: "rounded-lg border bg-card p-5",
|
|
209
197
|
children: [
|
|
210
198
|
/* @__PURE__ */ jsxs("div", {
|
|
211
|
-
className: "flex items-center justify-between
|
|
199
|
+
className: "mb-3 flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",
|
|
212
200
|
children: [/* @__PURE__ */ jsx("h3", {
|
|
213
201
|
className: "text-sm font-semibold uppercase tracking-wide text-muted-foreground",
|
|
214
202
|
children: "Preflight checks"
|
|
@@ -302,7 +290,7 @@ function AccessControlCard() {
|
|
|
302
290
|
}
|
|
303
291
|
}
|
|
304
292
|
return /* @__PURE__ */ jsxs("section", {
|
|
305
|
-
className: "rounded-lg border bg-card p-5
|
|
293
|
+
className: "rounded-lg border bg-card p-5",
|
|
306
294
|
children: [
|
|
307
295
|
/* @__PURE__ */ jsx("h3", {
|
|
308
296
|
className: "text-sm font-semibold uppercase tracking-wide text-muted-foreground mb-1",
|
|
@@ -324,12 +312,12 @@ function AccessControlCard() {
|
|
|
324
312
|
className: "text-xs text-muted-foreground italic",
|
|
325
313
|
children: "loading…"
|
|
326
314
|
}) : users.length === 0 ? /* @__PURE__ */ jsx("p", {
|
|
327
|
-
className: "text-xs text-
|
|
315
|
+
className: "text-xs text-warning mb-3",
|
|
328
316
|
children: "Open — no allowlist yet. The first user to message the bot claims owner."
|
|
329
317
|
}) : /* @__PURE__ */ jsx("ul", {
|
|
330
318
|
className: "mb-3 space-y-1 text-sm",
|
|
331
319
|
children: users.map((u) => /* @__PURE__ */ jsxs("li", {
|
|
332
|
-
className: "flex items-center gap-2",
|
|
320
|
+
className: "flex flex-wrap items-center gap-2",
|
|
333
321
|
children: [
|
|
334
322
|
/* @__PURE__ */ jsx("code", {
|
|
335
323
|
className: "font-mono",
|
|
@@ -346,7 +334,7 @@ function AccessControlCard() {
|
|
|
346
334
|
u.role !== "owner" && /* @__PURE__ */ jsx("button", {
|
|
347
335
|
type: "button",
|
|
348
336
|
onClick: () => void remove(u.userId),
|
|
349
|
-
className: "ghost-btn text-xs text-
|
|
337
|
+
className: "ghost-btn text-xs text-rose-baziu",
|
|
350
338
|
children: "remove"
|
|
351
339
|
})
|
|
352
340
|
]
|
|
@@ -354,19 +342,19 @@ function AccessControlCard() {
|
|
|
354
342
|
}),
|
|
355
343
|
/* @__PURE__ */ jsxs("form", {
|
|
356
344
|
onSubmit: add,
|
|
357
|
-
className: "flex
|
|
345
|
+
className: "flex flex-col gap-2 sm:flex-row sm:flex-wrap sm:items-center",
|
|
358
346
|
children: [
|
|
359
347
|
/* @__PURE__ */ jsx("input", {
|
|
360
348
|
value: userId,
|
|
361
349
|
onChange: (e) => setUserId(e.target.value),
|
|
362
350
|
placeholder: "user id",
|
|
363
|
-
className: "w-
|
|
351
|
+
className: "w-full rounded-md border bg-background px-2 py-1 font-mono text-sm sm:w-28"
|
|
364
352
|
}),
|
|
365
353
|
/* @__PURE__ */ jsx("input", {
|
|
366
354
|
value: label,
|
|
367
355
|
onChange: (e) => setLabel(e.target.value),
|
|
368
356
|
placeholder: "label (optional)",
|
|
369
|
-
className: "w-
|
|
357
|
+
className: "w-full rounded-md border bg-background px-2 py-1 text-sm sm:w-40"
|
|
370
358
|
}),
|
|
371
359
|
/* @__PURE__ */ jsx(Button, {
|
|
372
360
|
variant: "ghost",
|
|
@@ -375,7 +363,7 @@ function AccessControlCard() {
|
|
|
375
363
|
children: "add"
|
|
376
364
|
}),
|
|
377
365
|
err && /* @__PURE__ */ jsx("span", {
|
|
378
|
-
className: "text-xs text-
|
|
366
|
+
className: "text-xs text-danger",
|
|
379
367
|
children: err
|
|
380
368
|
})
|
|
381
369
|
]
|
|
@@ -402,14 +390,14 @@ function MigrationBanner({ toChatId }) {
|
|
|
402
390
|
}
|
|
403
391
|
}
|
|
404
392
|
return /* @__PURE__ */ jsxs("div", {
|
|
405
|
-
className: "rounded-md border-2 border-
|
|
393
|
+
className: "rounded-md border-2 border-danger/25 bg-danger/10 px-4 py-3 text-sm",
|
|
406
394
|
children: [
|
|
407
395
|
/* @__PURE__ */ jsx("div", {
|
|
408
|
-
className: "font-semibold text-
|
|
396
|
+
className: "font-semibold text-danger mb-1",
|
|
409
397
|
children: "Supergroup chat id changed"
|
|
410
398
|
}),
|
|
411
399
|
/* @__PURE__ */ jsxs("p", {
|
|
412
|
-
className: "text-
|
|
400
|
+
className: "text-danger mb-2",
|
|
413
401
|
children: [
|
|
414
402
|
"Telegram migrated this supergroup to a new chat id (",
|
|
415
403
|
/* @__PURE__ */ jsx("code", {
|
|
@@ -422,7 +410,7 @@ function MigrationBanner({ toChatId }) {
|
|
|
422
410
|
children: "⚙ bazilion"
|
|
423
411
|
}),
|
|
424
412
|
" ",
|
|
425
|
-
"service chat in the new
|
|
413
|
+
"service chat in the new team. Agent topic bindings will reconcile on next use."
|
|
426
414
|
]
|
|
427
415
|
}),
|
|
428
416
|
/* @__PURE__ */ jsx(Button, {
|
|
@@ -432,7 +420,7 @@ function MigrationBanner({ toChatId }) {
|
|
|
432
420
|
children: busy ? "reconnecting…" : `Reconnect to ${toChatId}`
|
|
433
421
|
}),
|
|
434
422
|
err && /* @__PURE__ */ jsx("span", {
|
|
435
|
-
className: "ml-3 text-xs text-
|
|
423
|
+
className: "ml-3 text-xs text-danger",
|
|
436
424
|
children: err
|
|
437
425
|
})
|
|
438
426
|
]
|
|
@@ -440,12 +428,12 @@ function MigrationBanner({ toChatId }) {
|
|
|
440
428
|
}
|
|
441
429
|
function Step2Banner() {
|
|
442
430
|
return /* @__PURE__ */ jsxs("div", {
|
|
443
|
-
className: "rounded-md border-2 border-
|
|
431
|
+
className: "rounded-md border-2 border-warning/25 bg-warning/10 px-4 py-3 text-sm",
|
|
444
432
|
children: [/* @__PURE__ */ jsx("div", {
|
|
445
|
-
className: "font-semibold text-
|
|
433
|
+
className: "font-semibold text-warning mb-1",
|
|
446
434
|
children: "Step 2 of the rollout"
|
|
447
435
|
}), /* @__PURE__ */ jsxs("p", {
|
|
448
|
-
className: "text-
|
|
436
|
+
className: "text-warning",
|
|
449
437
|
children: [
|
|
450
438
|
"The bot polls Telegram and creates the ",
|
|
451
439
|
/* @__PURE__ */ jsx("code", {
|
|
@@ -474,11 +462,11 @@ function PollingState({ polling }) {
|
|
|
474
462
|
className: "flex flex-wrap gap-x-4 gap-y-1 font-mono",
|
|
475
463
|
children: [
|
|
476
464
|
/* @__PURE__ */ jsx("span", {
|
|
477
|
-
className: polling.running ? "text-
|
|
465
|
+
className: polling.running ? "text-success" : "text-danger",
|
|
478
466
|
children: polling.running ? "running" : "stopped"
|
|
479
467
|
}),
|
|
480
468
|
/* @__PURE__ */ jsx("span", {
|
|
481
|
-
className: polling.activated ? "text-
|
|
469
|
+
className: polling.activated ? "text-success" : "text-warning",
|
|
482
470
|
children: polling.activated ? "activated" : "awaiting activation"
|
|
483
471
|
}),
|
|
484
472
|
polling.lastUpdateId !== null && /* @__PURE__ */ jsxs("span", { children: ["last update ", polling.lastUpdateId] }),
|
|
@@ -487,7 +475,7 @@ function PollingState({ polling }) {
|
|
|
487
475
|
]
|
|
488
476
|
}),
|
|
489
477
|
polling.error && /* @__PURE__ */ jsxs("p", {
|
|
490
|
-
className: "text-
|
|
478
|
+
className: "text-danger",
|
|
491
479
|
children: ["error: ", polling.error]
|
|
492
480
|
})
|
|
493
481
|
]
|
|
@@ -495,17 +483,17 @@ function PollingState({ polling }) {
|
|
|
495
483
|
}
|
|
496
484
|
function PreflightResult({ health }) {
|
|
497
485
|
if (health.error) return /* @__PURE__ */ jsxs("div", {
|
|
498
|
-
className: "rounded-md border border-
|
|
486
|
+
className: "rounded-md border border-danger/25 bg-danger/10 px-3 py-2 text-sm",
|
|
499
487
|
children: [
|
|
500
488
|
/* @__PURE__ */ jsxs("p", {
|
|
501
|
-
className: "font-semibold text-
|
|
489
|
+
className: "font-semibold text-danger",
|
|
502
490
|
children: ["Failed at ", /* @__PURE__ */ jsx("code", {
|
|
503
491
|
className: "font-mono",
|
|
504
492
|
children: health.error.step
|
|
505
493
|
})]
|
|
506
494
|
}),
|
|
507
495
|
/* @__PURE__ */ jsx("p", {
|
|
508
|
-
className: "text-
|
|
496
|
+
className: "text-danger mt-1",
|
|
509
497
|
children: health.error.message
|
|
510
498
|
}),
|
|
511
499
|
hintFor(health.error.step)
|
|
@@ -532,7 +520,7 @@ function PreflightResult({ health }) {
|
|
|
532
520
|
/* @__PURE__ */ jsx(Check, {
|
|
533
521
|
ok: p.isForum,
|
|
534
522
|
label: "Forum topics enabled",
|
|
535
|
-
children: p.isForum ? "is_forum: true" : "is_forum: false — the supergroup owner must enable Topics in
|
|
523
|
+
children: p.isForum ? "is_forum: true" : "is_forum: false — the supergroup owner must enable Topics in team settings"
|
|
536
524
|
}),
|
|
537
525
|
/* @__PURE__ */ jsx(Check, {
|
|
538
526
|
ok: p.hasManageTopics,
|
|
@@ -542,7 +530,7 @@ function PreflightResult({ health }) {
|
|
|
542
530
|
/* @__PURE__ */ jsx(Check, {
|
|
543
531
|
ok: p.privacyModeOff,
|
|
544
532
|
label: "Privacy Mode is OFF",
|
|
545
|
-
children: p.privacyModeOff ? "can_read_all_group_messages: true" : "BotFather → /mybots → select bot → Bot Settings →
|
|
533
|
+
children: p.privacyModeOff ? "can_read_all_group_messages: true" : "BotFather → /mybots → select bot → Bot Settings → Team Privacy → Turn off"
|
|
546
534
|
})
|
|
547
535
|
]
|
|
548
536
|
});
|
|
@@ -551,14 +539,14 @@ function Check({ ok, label, children }) {
|
|
|
551
539
|
return /* @__PURE__ */ jsxs("li", {
|
|
552
540
|
className: "flex items-start gap-2 text-sm",
|
|
553
541
|
children: [/* @__PURE__ */ jsx("span", {
|
|
554
|
-
className: `mt-0.5 inline-flex h-4 w-4 items-center justify-center rounded-full text-[10px] font-bold leading-none ${ok ? "bg-
|
|
542
|
+
className: `mt-0.5 inline-flex h-4 w-4 items-center justify-center rounded-full text-[10px] font-bold leading-none ${ok ? "bg-success/10 text-success" : "bg-danger/10 text-danger"}`,
|
|
555
543
|
"aria-hidden": true,
|
|
556
544
|
children: ok ? "✓" : "✕"
|
|
557
545
|
}), /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("span", {
|
|
558
546
|
className: "font-medium",
|
|
559
547
|
children: label
|
|
560
548
|
}), /* @__PURE__ */ jsx("span", {
|
|
561
|
-
className: `ml-2 text-xs ${ok ? "text-muted-foreground" : "text-
|
|
549
|
+
className: `ml-2 text-xs ${ok ? "text-muted-foreground" : "text-danger"}`,
|
|
562
550
|
children
|
|
563
551
|
})] })]
|
|
564
552
|
});
|
|
@@ -566,15 +554,15 @@ function Check({ ok, label, children }) {
|
|
|
566
554
|
function hintFor(step) {
|
|
567
555
|
switch (step) {
|
|
568
556
|
case "getMe": return /* @__PURE__ */ jsx("p", {
|
|
569
|
-
className: "text-xs text-
|
|
557
|
+
className: "text-xs text-danger mt-1",
|
|
570
558
|
children: "The token is invalid or revoked. Re-issue with @BotFather → /token, or paste a fresh one above."
|
|
571
559
|
});
|
|
572
560
|
case "getChat": return /* @__PURE__ */ jsx("p", {
|
|
573
|
-
className: "text-xs text-
|
|
574
|
-
children: "The chat id either doesn't exist, points at a basic
|
|
561
|
+
className: "text-xs text-danger mt-1",
|
|
562
|
+
children: "The chat id either doesn't exist, points at a basic team (not a supergroup), or the bot isn't a member. Forward any message from the supergroup to the bot to double-check the id, then add the bot to the team."
|
|
575
563
|
});
|
|
576
564
|
case "getChatMember": return /* @__PURE__ */ jsx("p", {
|
|
577
|
-
className: "text-xs text-
|
|
565
|
+
className: "text-xs text-danger mt-1",
|
|
578
566
|
children: "The bot is in the chat but the membership lookup failed. Usually means the bot was kicked or the chat id was migrated — confirm the bot is still in the supergroup."
|
|
579
567
|
});
|
|
580
568
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as createServerFn } from "../server.js";
|
|
2
|
-
import { t as createSsrRpc } from "./createSsrRpc-
|
|
2
|
+
import { t as createSsrRpc } from "./createSsrRpc-DFsIAfFd.js";
|
|
3
3
|
import { createFileRoute, lazyRouteComponent } from "@tanstack/react-router";
|
|
4
4
|
//#region src/routes/config/integrations/telegram.tsx
|
|
5
|
-
var $$splitComponentImporter = () => import("./telegram-
|
|
5
|
+
var $$splitComponentImporter = () => import("./telegram-7ub--6xz.js");
|
|
6
6
|
var fetchTelegramConfig = createServerFn({ method: "GET" }).handler(createSsrRpc("00a157dd07824e1f126f06646effd1d876f280f6fc64c144d2f6429414a4e58a"));
|
|
7
7
|
var Route = createFileRoute("/config/integrations/telegram")({
|
|
8
8
|
loader: () => fetchTelegramConfig(),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as createServerFn } from "../server.js";
|
|
2
|
-
import { t as createServerRpc } from "./createServerRpc-
|
|
2
|
+
import { t as createServerRpc } from "./createServerRpc-pU-IQV2Y.js";
|
|
3
3
|
import { n as daemonClient } from "./daemon-client-2NRMzlTr.js";
|
|
4
4
|
//#region src/routes/config/integrations/telegram.tsx?tss-serverfn-split
|
|
5
5
|
var fetchTelegramConfig_createServerFn_handler = createServerRpc({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as createServerFn } from "../server.js";
|
|
2
|
-
import { t as createSsrRpc } from "./createSsrRpc-
|
|
2
|
+
import { t as createSsrRpc } from "./createSsrRpc-DFsIAfFd.js";
|
|
3
3
|
import { createFileRoute, lazyRouteComponent } from "@tanstack/react-router";
|
|
4
4
|
//#region src/routes/config/tokens.tsx
|
|
5
|
-
var $$splitComponentImporter = () => import("./tokens-
|
|
5
|
+
var $$splitComponentImporter = () => import("./tokens-yyTSfBSN.js");
|
|
6
6
|
var fetchTokens = createServerFn({ method: "POST" }).inputValidator((d) => d).handler(createSsrRpc("46e35c9f1afc79423cb49703b454ef684344db08ec19775efd70a8768c7837f1"));
|
|
7
7
|
var Route = createFileRoute("/config/tokens")({
|
|
8
8
|
validateSearch: (s) => ({ all: s.all === "1" ? "1" : void 0 }),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as createServerFn } from "../server.js";
|
|
2
|
-
import { t as createServerRpc } from "./createServerRpc-
|
|
2
|
+
import { t as createServerRpc } from "./createServerRpc-pU-IQV2Y.js";
|
|
3
3
|
import { n as daemonClient } from "./daemon-client-2NRMzlTr.js";
|
|
4
4
|
//#region src/routes/config/tokens.tsx?tss-serverfn-split
|
|
5
5
|
var fetchTokens_createServerFn_handler = createServerRpc({
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { t as Route } from "./tokens-BnwFbV7T.js";
|
|
2
|
+
import { t as ConfigPage } from "./ConfigPage-BKlh5vOU.js";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { useRouter } from "@tanstack/react-router";
|
|
5
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region src/routes/config/tokens.tsx?tsr-split=component
|
|
7
|
+
function fmtTs(ts) {
|
|
8
|
+
return new Date(ts).toISOString().slice(0, 16).replace("T", " ");
|
|
9
|
+
}
|
|
10
|
+
function TokensPage() {
|
|
11
|
+
const { tokens } = Route.useLoaderData();
|
|
12
|
+
const { all } = Route.useSearch();
|
|
13
|
+
const includeRevoked = all === "1";
|
|
14
|
+
const router = useRouter();
|
|
15
|
+
const [label, setLabel] = useState("");
|
|
16
|
+
const [created, setCreated] = useState(null);
|
|
17
|
+
const [err, setErr] = useState(null);
|
|
18
|
+
const [busy, setBusy] = useState(false);
|
|
19
|
+
async function mint(e) {
|
|
20
|
+
e.preventDefault();
|
|
21
|
+
setErr(null);
|
|
22
|
+
setBusy(true);
|
|
23
|
+
try {
|
|
24
|
+
const res = await fetch("/api/tokens", {
|
|
25
|
+
method: "POST",
|
|
26
|
+
headers: { "content-type": "application/json" },
|
|
27
|
+
body: JSON.stringify({ label })
|
|
28
|
+
});
|
|
29
|
+
if (!res.ok) {
|
|
30
|
+
const j = await res.json().catch(() => ({}));
|
|
31
|
+
throw new Error(j.error ?? `${res.status} ${res.statusText}`);
|
|
32
|
+
}
|
|
33
|
+
setCreated((await res.json()).token);
|
|
34
|
+
setLabel("");
|
|
35
|
+
await router.invalidate();
|
|
36
|
+
} catch (e) {
|
|
37
|
+
setErr(e.message);
|
|
38
|
+
} finally {
|
|
39
|
+
setBusy(false);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async function revoke(id) {
|
|
43
|
+
await fetch(`/api/tokens/${id}`, { method: "DELETE" });
|
|
44
|
+
await router.invalidate();
|
|
45
|
+
}
|
|
46
|
+
return /* @__PURE__ */ jsxs(ConfigPage, {
|
|
47
|
+
active: "tokens",
|
|
48
|
+
title: "API tokens",
|
|
49
|
+
description: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
50
|
+
"Manage per-client credentials for the HTTP API and CLI. The",
|
|
51
|
+
" ",
|
|
52
|
+
/* @__PURE__ */ jsx("code", {
|
|
53
|
+
className: "font-mono",
|
|
54
|
+
children: "bootstrap"
|
|
55
|
+
}),
|
|
56
|
+
" token from",
|
|
57
|
+
" ",
|
|
58
|
+
/* @__PURE__ */ jsx("code", {
|
|
59
|
+
className: "font-mono",
|
|
60
|
+
children: "~/.bazilion/auth.json"
|
|
61
|
+
}),
|
|
62
|
+
" remains protected; mint separate credentials for mobile, LAN, and remote clients."
|
|
63
|
+
] }),
|
|
64
|
+
children: [
|
|
65
|
+
/* @__PURE__ */ jsxs("section", {
|
|
66
|
+
className: "rounded-lg border bg-card p-5",
|
|
67
|
+
children: [
|
|
68
|
+
/* @__PURE__ */ jsx("h3", {
|
|
69
|
+
className: "font-serif text-xl mb-3",
|
|
70
|
+
children: "Mint a new token"
|
|
71
|
+
}),
|
|
72
|
+
/* @__PURE__ */ jsxs("form", {
|
|
73
|
+
onSubmit: mint,
|
|
74
|
+
className: "mb-3 flex flex-col items-stretch gap-2 sm:flex-row sm:items-end",
|
|
75
|
+
children: [/* @__PURE__ */ jsxs("label", {
|
|
76
|
+
className: "w-full text-sm sm:w-auto",
|
|
77
|
+
children: ["Label", /* @__PURE__ */ jsx("input", {
|
|
78
|
+
type: "text",
|
|
79
|
+
value: label,
|
|
80
|
+
onChange: (e) => setLabel(e.target.value),
|
|
81
|
+
required: true,
|
|
82
|
+
placeholder: "e.g. laptop-tailscale",
|
|
83
|
+
autoComplete: "off",
|
|
84
|
+
className: "mt-1 block w-full rounded-md border bg-background px-3 py-2 text-sm sm:w-72"
|
|
85
|
+
})]
|
|
86
|
+
}), /* @__PURE__ */ jsx("button", {
|
|
87
|
+
type: "submit",
|
|
88
|
+
disabled: busy,
|
|
89
|
+
className: "rounded-md bg-primary px-3 py-2 text-sm font-medium text-primary-foreground disabled:opacity-50",
|
|
90
|
+
children: busy ? "creating…" : "create"
|
|
91
|
+
})]
|
|
92
|
+
}),
|
|
93
|
+
created && /* @__PURE__ */ jsxs("div", {
|
|
94
|
+
className: "rounded-md border border-warning/25 bg-warning/10 p-3",
|
|
95
|
+
children: [/* @__PURE__ */ jsx("p", {
|
|
96
|
+
className: "text-xs text-warning mb-1",
|
|
97
|
+
children: "copy this token now — it is not recoverable later."
|
|
98
|
+
}), /* @__PURE__ */ jsx("pre", {
|
|
99
|
+
className: "font-mono text-xs whitespace-pre-wrap break-all",
|
|
100
|
+
children: created
|
|
101
|
+
})]
|
|
102
|
+
}),
|
|
103
|
+
err && /* @__PURE__ */ jsx("p", {
|
|
104
|
+
className: "text-sm text-danger",
|
|
105
|
+
children: err
|
|
106
|
+
})
|
|
107
|
+
]
|
|
108
|
+
}),
|
|
109
|
+
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("label", {
|
|
110
|
+
className: "text-sm flex items-center gap-2",
|
|
111
|
+
children: [/* @__PURE__ */ jsx("input", {
|
|
112
|
+
type: "checkbox",
|
|
113
|
+
checked: includeRevoked,
|
|
114
|
+
onChange: (e) => {
|
|
115
|
+
window.location.assign(e.target.checked ? "/config/tokens?all=1" : "/config/tokens");
|
|
116
|
+
}
|
|
117
|
+
}), "show revoked"]
|
|
118
|
+
}) }),
|
|
119
|
+
/* @__PURE__ */ jsx("div", {
|
|
120
|
+
className: "overflow-x-auto",
|
|
121
|
+
children: /* @__PURE__ */ jsxs("table", {
|
|
122
|
+
className: "w-full min-w-[720px] text-sm",
|
|
123
|
+
children: [/* @__PURE__ */ jsx("thead", {
|
|
124
|
+
className: "text-left text-muted-foreground border-b",
|
|
125
|
+
children: /* @__PURE__ */ jsxs("tr", { children: [
|
|
126
|
+
/* @__PURE__ */ jsx("th", {
|
|
127
|
+
className: "py-2",
|
|
128
|
+
children: "label"
|
|
129
|
+
}),
|
|
130
|
+
/* @__PURE__ */ jsx("th", { children: "id" }),
|
|
131
|
+
/* @__PURE__ */ jsx("th", { children: "state" }),
|
|
132
|
+
/* @__PURE__ */ jsx("th", { children: "created" }),
|
|
133
|
+
/* @__PURE__ */ jsx("th", { children: "last used" }),
|
|
134
|
+
/* @__PURE__ */ jsx("th", {})
|
|
135
|
+
] })
|
|
136
|
+
}), /* @__PURE__ */ jsxs("tbody", { children: [tokens.length === 0 && /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
|
|
137
|
+
colSpan: 6,
|
|
138
|
+
className: "py-6 text-center text-muted-foreground italic",
|
|
139
|
+
children: "no tokens yet — mint one above"
|
|
140
|
+
}) }), tokens.map((t) => {
|
|
141
|
+
const isBootstrap = t.label === "bootstrap";
|
|
142
|
+
return /* @__PURE__ */ jsxs("tr", {
|
|
143
|
+
className: "border-b last:border-0 hover:bg-accent/30",
|
|
144
|
+
children: [
|
|
145
|
+
/* @__PURE__ */ jsxs("td", {
|
|
146
|
+
className: "py-2",
|
|
147
|
+
children: [t.label, isBootstrap && /* @__PURE__ */ jsx("span", {
|
|
148
|
+
className: "ml-2 text-[0.7em] uppercase tracking-wide text-muted-foreground",
|
|
149
|
+
children: "auth.json"
|
|
150
|
+
})]
|
|
151
|
+
}),
|
|
152
|
+
/* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx("code", {
|
|
153
|
+
className: "font-mono text-xs",
|
|
154
|
+
children: t.id
|
|
155
|
+
}) }),
|
|
156
|
+
/* @__PURE__ */ jsx("td", { children: t.revokedAt ? /* @__PURE__ */ jsx("span", {
|
|
157
|
+
className: "text-muted-foreground",
|
|
158
|
+
children: "revoked"
|
|
159
|
+
}) : /* @__PURE__ */ jsx("span", {
|
|
160
|
+
className: "text-success",
|
|
161
|
+
children: "active"
|
|
162
|
+
}) }),
|
|
163
|
+
/* @__PURE__ */ jsx("td", {
|
|
164
|
+
className: "text-muted-foreground text-xs",
|
|
165
|
+
children: fmtTs(t.createdAt)
|
|
166
|
+
}),
|
|
167
|
+
/* @__PURE__ */ jsx("td", {
|
|
168
|
+
className: "text-muted-foreground text-xs",
|
|
169
|
+
children: t.lastUsedAt ? fmtTs(t.lastUsedAt) : "(never)"
|
|
170
|
+
}),
|
|
171
|
+
/* @__PURE__ */ jsx("td", { children: !t.revokedAt && !isBootstrap && /* @__PURE__ */ jsx("button", {
|
|
172
|
+
type: "button",
|
|
173
|
+
onClick: () => revoke(t.id),
|
|
174
|
+
className: "rounded-md border px-2 py-1 text-xs text-danger hover:bg-danger/10",
|
|
175
|
+
children: "revoke"
|
|
176
|
+
}) })
|
|
177
|
+
]
|
|
178
|
+
}, t.id);
|
|
179
|
+
})] })]
|
|
180
|
+
})
|
|
181
|
+
})
|
|
182
|
+
]
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
//#endregion
|
|
186
|
+
export { TokensPage as component };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { t as Route } from "./triggers-
|
|
2
|
-
import {
|
|
1
|
+
import { t as Route } from "./triggers-Ca57_qym.js";
|
|
2
|
+
import { r as PageShell } from "./Page-LENulSXY.js";
|
|
3
|
+
import { t as AgentTabs } from "./AgentTabs-DoMDJBXH.js";
|
|
3
4
|
import { useState } from "react";
|
|
4
5
|
import { useRouter } from "@tanstack/react-router";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -20,7 +21,7 @@ function TriggersPage() {
|
|
|
20
21
|
await fetch(`/api/triggers/${id}`, { method: "DELETE" });
|
|
21
22
|
await router.invalidate();
|
|
22
23
|
}
|
|
23
|
-
return /* @__PURE__ */ jsxs(
|
|
24
|
+
return /* @__PURE__ */ jsxs(PageShell, { children: [
|
|
24
25
|
/* @__PURE__ */ jsx("header", {
|
|
25
26
|
className: "mb-6",
|
|
26
27
|
children: /* @__PURE__ */ jsx("h1", { children: resolved.agent.name })
|
|
@@ -180,7 +181,7 @@ function AddTriggerForm({ agentId, onAdded }) {
|
|
|
180
181
|
disabled: submitting,
|
|
181
182
|
children: submitting ? "adding…" : "add"
|
|
182
183
|
}), err && /* @__PURE__ */ jsx("span", {
|
|
183
|
-
className: "text-[0.85em] text-
|
|
184
|
+
className: "text-[0.85em] text-danger",
|
|
184
185
|
children: err
|
|
185
186
|
})]
|
|
186
187
|
})
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as createServerFn } from "../server.js";
|
|
2
|
-
import { t as createServerRpc } from "./createServerRpc-
|
|
2
|
+
import { t as createServerRpc } from "./createServerRpc-pU-IQV2Y.js";
|
|
3
3
|
import { n as daemonClient, r as ApiClientError } from "./daemon-client-2NRMzlTr.js";
|
|
4
4
|
//#region src/routes/agents/$id/triggers.tsx?tss-serverfn-split
|
|
5
5
|
var fetchTriggers_createServerFn_handler = createServerRpc({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as createServerFn } from "../server.js";
|
|
2
|
-
import { t as createSsrRpc } from "./createSsrRpc-
|
|
2
|
+
import { t as createSsrRpc } from "./createSsrRpc-DFsIAfFd.js";
|
|
3
3
|
import { createFileRoute, lazyRouteComponent, redirect } from "@tanstack/react-router";
|
|
4
4
|
//#region src/routes/agents/$id/triggers.tsx
|
|
5
|
-
var $$splitComponentImporter = () => import("./triggers-
|
|
5
|
+
var $$splitComponentImporter = () => import("./triggers-BMpHsGIr.js");
|
|
6
6
|
var fetchTriggers = createServerFn({ method: "POST" }).inputValidator((d) => d).handler(createSsrRpc("57ebf437fdb3fcfc63b176e796a55f04bdfec0b230059673196e98d413d15c4d"));
|
|
7
7
|
var Route = createFileRoute("/agents/$id/triggers")({
|
|
8
8
|
loader: async ({ params }) => {
|
|
@@ -1,20 +1,25 @@
|
|
|
1
|
+
import { i as SectionCard, n as PageHeader, r as PageShell } from "./Page-LENulSXY.js";
|
|
1
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { ArrowRight } from "lucide-react";
|
|
2
4
|
//#region src/routes/welcome.tsx?tsr-split=component
|
|
3
5
|
function WelcomePage() {
|
|
4
|
-
return /* @__PURE__ */
|
|
5
|
-
|
|
6
|
-
children: /* @__PURE__ */
|
|
7
|
-
|
|
6
|
+
return /* @__PURE__ */ jsxs(PageShell, {
|
|
7
|
+
size: "narrow",
|
|
8
|
+
children: [/* @__PURE__ */ jsx(PageHeader, {
|
|
9
|
+
eyebrow: "First run",
|
|
10
|
+
title: "Welcome to bazilion",
|
|
11
|
+
description: "Connect one model provider, then Bazilion will prepare your default Agent template and Team."
|
|
12
|
+
}), /* @__PURE__ */ jsxs(SectionCard, {
|
|
13
|
+
title: "Three steps to your first conversation",
|
|
8
14
|
children: [
|
|
9
|
-
/* @__PURE__ */ jsx("h1", { children: "Welcome to bazilion" }),
|
|
10
15
|
/* @__PURE__ */ jsxs("p", {
|
|
11
|
-
className: "
|
|
16
|
+
className: "text-sm leading-6 text-muted-foreground",
|
|
12
17
|
children: [
|
|
13
18
|
"Before you can spawn agents, enable a provider and save at least one concrete model id. Once you do, a ",
|
|
14
19
|
/* @__PURE__ */ jsx("code", { children: "default" }),
|
|
15
|
-
"
|
|
20
|
+
" Agent template (and a ",
|
|
16
21
|
/* @__PURE__ */ jsx("code", { children: "default" }),
|
|
17
|
-
"
|
|
22
|
+
" team directory) are created automatically and the rest of the app unlocks."
|
|
18
23
|
]
|
|
19
24
|
}),
|
|
20
25
|
/* @__PURE__ */ jsxs("ol", {
|
|
@@ -41,7 +46,7 @@ function WelcomePage() {
|
|
|
41
46
|
" ",
|
|
42
47
|
/* @__PURE__ */ jsx("code", { children: "claude-opus-4-8" }),
|
|
43
48
|
", ",
|
|
44
|
-
/* @__PURE__ */ jsx("code", { children: "gpt-5.
|
|
49
|
+
/* @__PURE__ */ jsx("code", { children: "gpt-5.6-luna" }),
|
|
45
50
|
", or ",
|
|
46
51
|
/* @__PURE__ */ jsx("code", { children: "llama3.3" }),
|
|
47
52
|
") and press ",
|
|
@@ -53,20 +58,23 @@ function WelcomePage() {
|
|
|
53
58
|
n: 3,
|
|
54
59
|
children: [
|
|
55
60
|
/* @__PURE__ */ jsx("strong", { children: "Start chatting." }),
|
|
56
|
-
" You'll be redirected to the home page automatically, where
|
|
61
|
+
" You'll be redirected to the home page automatically, where the ",
|
|
57
62
|
/* @__PURE__ */ jsx("code", { children: "default" }),
|
|
58
|
-
"
|
|
63
|
+
" Agent template is ready for your first spawn."
|
|
59
64
|
]
|
|
60
65
|
})
|
|
61
66
|
]
|
|
62
67
|
}),
|
|
63
|
-
/* @__PURE__ */
|
|
68
|
+
/* @__PURE__ */ jsxs("a", {
|
|
64
69
|
href: "/config",
|
|
65
|
-
className: "
|
|
66
|
-
children: "
|
|
70
|
+
className: "btn-primary no-underline",
|
|
71
|
+
children: ["Configure providers ", /* @__PURE__ */ jsx(ArrowRight, {
|
|
72
|
+
className: "h-4 w-4",
|
|
73
|
+
"aria-hidden": "true"
|
|
74
|
+
})]
|
|
67
75
|
})
|
|
68
76
|
]
|
|
69
|
-
})
|
|
77
|
+
})]
|
|
70
78
|
});
|
|
71
79
|
}
|
|
72
80
|
function Step({ n, children }) {
|