bazilion 0.14.2 → 0.15.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 (119) hide show
  1. package/dist/cli.js +1126 -334
  2. package/dist/cli.js.map +1 -1
  3. package/dist/daemon.js +8180 -3651
  4. package/dist/daemon.js.map +1 -1
  5. package/dist/migrations/0001_init.sql +171 -3
  6. package/dist/web/client/assets/ChatPane-55j13bBj.js +74 -0
  7. package/dist/web/client/assets/{ConfirmDialog-_bmG-wVG.js → ConfirmDialog-CGZzom9E.js} +1 -1
  8. package/dist/web/client/assets/{FieldRow-Do1cBkRc.js → FieldRow-DYNU9gWb.js} +1 -1
  9. package/dist/web/client/assets/{ProductionTeamPolicyEditor-XP-QJul4.js → ProductionTeamPolicyEditor-DT5Sl8jd.js} +1 -1
  10. package/dist/web/client/assets/{ProfileCommunicationEditor-CwdFPdpk.js → ProfileCommunicationEditor-TyCU5vXX.js} +1 -1
  11. package/dist/web/client/assets/ResultCard-Cps_lXVN.js +1 -0
  12. package/dist/web/client/assets/ResultSourceConversation-CGhKTSTD.js +1 -0
  13. package/dist/web/client/assets/TeamTabs-BZHyRnbd.js +1 -0
  14. package/dist/web/client/assets/{TemplatesTabs-D4WHvs6b.js → TemplatesTabs-BHzkPMRC.js} +1 -1
  15. package/dist/web/client/assets/{UnsavedChangesGuard-B1aLqiK5.js → UnsavedChangesGuard-CFQcKsrf.js} +1 -1
  16. package/dist/web/client/assets/_id-9nCIhbVd.js +1 -0
  17. package/dist/web/client/assets/{_id-3w4PFfma.js → _id-BSu3AqKA.js} +1 -1
  18. package/dist/web/client/assets/_id-CGd21j3k.js +1 -0
  19. package/dist/web/client/assets/{_id-BH3v_vI_.js → _id-D_eKokkd.js} +1 -1
  20. package/dist/web/client/assets/{_id-Cx7o4Zmf.js → _id-SRMFlIgP.js} +1 -1
  21. package/dist/web/client/assets/{activity-A_HrG1Tv.js → activity-Cn2-9PpZ.js} +1 -1
  22. package/dist/web/client/assets/{agents-BeeFCt2c.js → agents-CCmiZek6.js} +1 -1
  23. package/dist/web/client/assets/{agents-C8OVKq3N.js → agents-NY3VrZgB.js} +1 -1
  24. package/dist/web/client/assets/{approvals-BIdZ9BSn.js → approvals-CPDAPgrM.js} +1 -1
  25. package/dist/web/client/assets/{attention-B9bUrxiU.js → attention-Qra_9_OI.js} +1 -1
  26. package/dist/web/client/assets/chevron-right-DXE4CWf2.js +1 -0
  27. package/dist/web/client/assets/{config-By86S7k-.js → config-D8EO0LPB.js} +1 -1
  28. package/dist/web/client/assets/{inbox-DlXQCJLe.js → inbox-C5W-sm1q.js} +1 -1
  29. package/dist/web/client/assets/{index-CLdmsmiN.js → index-BUhhk_u9.js} +2 -2
  30. package/dist/web/client/assets/{learning-BqZIw2nA.js → learning-Dr-7_7J4.js} +1 -1
  31. package/dist/web/client/assets/login-Bu5UxbJh.js +1 -0
  32. package/dist/web/client/assets/{mcp-DKSY2yVa.js → mcp-BueuwQiv.js} +1 -1
  33. package/dist/web/client/assets/{members-9GuOiq6J.js → members-ZikuYNcy.js} +1 -1
  34. package/dist/web/client/assets/{memory-DiGMI6FC.js → memory-1JUJlPrn.js} +1 -1
  35. package/dist/web/client/assets/{policy-TBGQffw5.js → policy-DbkhsFNA.js} +1 -1
  36. package/dist/web/client/assets/results-mMr8Ar2u.js +1 -0
  37. package/dist/web/client/assets/routes-DJYB-MS9.js +1 -0
  38. package/dist/web/client/assets/{services-1Z398CES.js → services-kfQA9cpJ.js} +1 -1
  39. package/dist/web/client/assets/{skills-BP2gciFt.js → skills-C6pcgxaC.js} +1 -1
  40. package/dist/web/client/assets/styles-CcNf8jT_.css +2 -0
  41. package/dist/web/client/assets/{teams-tNoMDJ_M.js → teams-C6_Noz5X.js} +1 -1
  42. package/dist/web/client/assets/{teams-DBIivGT7.js → teams-LB0KBXY9.js} +1 -1
  43. package/dist/web/client/assets/telegram-A2jaI1QM.js +1 -0
  44. package/dist/web/client/assets/{tokens-eDWCGQQ2.js → tokens-BGlUpJcL.js} +1 -1
  45. package/dist/web/client/assets/{triggers-DZME3IcK.js → triggers-C54_feGg.js} +1 -1
  46. package/dist/web/client/assets/{welcome-B49sh_uf.js → welcome-DyUIswRi.js} +1 -1
  47. package/dist/web/client/assets/wire-constants-CBD-lTaa.js +1 -0
  48. package/dist/web/client/assets/{x-CHc7_-TH.js → x-BY2MPLr9.js} +1 -1
  49. package/dist/web/server/assets/{ChatPane-CgSe7tsy.js → ChatPane-DJ30FdFG.js} +1122 -107
  50. package/dist/web/server/assets/ResultCard-B3zD9N0t.js +143 -0
  51. package/dist/web/server/assets/ResultSourceConversation-zYogeOWp.js +64 -0
  52. package/dist/web/server/assets/{TeamTabs-Co3n2exj.js → TeamTabs-TCKjCvMA.js} +4 -0
  53. package/dist/web/server/assets/{_id-sNu5aXZt.js → _id-1LwoHhJg.js} +2 -1
  54. package/dist/web/server/assets/{_id-BeKhPKw3.js → _id-1hTvnKLN2.js} +7 -3
  55. package/dist/web/server/assets/{_id-BAA9KJBU.js → _id-B2EEyStS.js} +1 -1
  56. package/dist/web/server/assets/_id-BDEpe6k0.js +6 -0
  57. package/dist/web/server/assets/{_id-BqWTB8Wl.js → _id-B_-CDHOi2.js} +1 -1
  58. package/dist/web/server/assets/{_id-DxCnEFpm.js → _id-BvSWsPI5.js} +3 -4
  59. package/dist/web/server/assets/{_id-ndxFHx0t.js → _id-CDBtO_jL.js} +2 -2
  60. package/dist/web/server/assets/{_id-DvlDkk04.js → _id-DDNVQx3y.js} +1 -1
  61. package/dist/web/server/assets/{_id-BYKpT2Tu.js → _id-DFHB9JFQ.js} +1 -1
  62. package/dist/web/server/assets/{_id-HMy7jM3P.js → _id-DxFLSIio.js} +1 -1
  63. package/dist/web/server/assets/{_id-DYU6uIBx.js → _id-T_8btpbB.js} +1 -1
  64. package/dist/web/server/assets/_id-wyjrf0JG.js +17 -0
  65. package/dist/web/server/assets/{_tanstack-start-manifest_v-Duhf0z7H.js → _tanstack-start-manifest_v-DP4ZUBw3.js} +102 -75
  66. package/dist/web/server/assets/{activity-BWv1goK6.js → activity-5fWKPDxj.js} +2 -2
  67. package/dist/web/server/assets/{activity-LjpblbDL.js → activity-C88qrNqv.js} +1 -1
  68. package/dist/web/server/assets/{activity-9VP6QDTH.js → activity-D73w4mkZ.js} +1 -1
  69. package/dist/web/server/assets/{agents-DjyQk94u.js → agents-DB5hCSAI.js} +1 -1
  70. package/dist/web/server/assets/{agents-BJAv919x.js → agents-DRSo7lRX.js} +1 -1
  71. package/dist/web/server/assets/{approvals-BYi84gwl.js → approvals-4y9bZF4r.js} +1 -1
  72. package/dist/web/server/assets/{approvals-7JOoBchn.js → approvals-DTdrltyk.js} +1 -1
  73. package/dist/web/server/assets/{approvals-Bz123liE.js → approvals-DXoN-T57.js} +15 -1
  74. package/dist/web/server/assets/{attention-UhqPK_Ro.js → attention-BFx8ZkmH.js} +1 -1
  75. package/dist/web/server/assets/{auth-7BHTH-KS.js → auth-_eaCwhyq.js} +1 -1
  76. package/dist/web/server/assets/{config-BMiajTZP.js → config-B7JIfv_7.js} +1 -1
  77. package/dist/web/server/assets/{daemon-client-CI5NHwNC.js → daemon-client-B06W1Qa2.js} +54 -0
  78. package/dist/web/server/assets/{inbox-Dv55rGYq.js → inbox-YRpDQcvp.js} +1 -1
  79. package/dist/web/server/assets/{learning-C2upa1CE.js → learning-UBZb6h6M.js} +1 -1
  80. package/dist/web/server/assets/{login-BNj3U6ok.js → login-B_-9L8TU.js} +7 -2
  81. package/dist/web/server/assets/{login-Be8eP4Jp.js → login-rDox7PRD.js} +5 -2
  82. package/dist/web/server/assets/{mcp-BvnvlVFd.js → mcp-Dv6RXMaS.js} +1 -1
  83. package/dist/web/server/assets/{members-BP3UTqu1.js → members-BFTKSlOe.js} +1 -1
  84. package/dist/web/server/assets/{members-DiYtr-zm.js → members-CD3GiTfF.js} +1 -1
  85. package/dist/web/server/assets/{members-DHYTVgwb.js → members-cc5SeEaW.js} +2 -2
  86. package/dist/web/server/assets/{memory-CkXUgf5s.js → memory-C5i_GxlY.js} +2 -2
  87. package/dist/web/server/assets/{memory-DTFEmfF3.js → memory-CVqnyUaM.js} +1 -1
  88. package/dist/web/server/assets/{memory-BqV-Afy1.js → memory-D0PQgZAn.js} +1 -1
  89. package/dist/web/server/assets/{policy-18fdTFO4.js → policy-C-p8HIhA.js} +1 -1
  90. package/dist/web/server/assets/{policy-Bvvav8fh.js → policy-Dgjb0_gK.js} +2 -2
  91. package/dist/web/server/assets/{policy-BddK4xom.js → policy-bLKwvnja.js} +1 -1
  92. package/dist/web/server/assets/results-Cfev4KNt.js +12 -0
  93. package/dist/web/server/assets/results-Cj-Dlw3C.js +173 -0
  94. package/dist/web/server/assets/results-CwEQ5EUL.js +12 -0
  95. package/dist/web/server/assets/{router-CY_pCgP1.js → router-d3sTMpMX.js} +60 -43
  96. package/dist/web/server/assets/{routes-DAU2g7Uz.js → routes-B765DVhj.js} +1 -1
  97. package/dist/web/server/assets/{routes-BgHisAxH.js → routes-MIZz6uMr.js} +2 -2
  98. package/dist/web/server/assets/{routes-COtkyZG1.js → routes-cW4MWU18.js} +3 -3
  99. package/dist/web/server/assets/{services-DozuJtzX.js → services-BCbdn3R9.js} +1 -1
  100. package/dist/web/server/assets/{skills-DfGSJTCB.js → skills-Bpoa8MIp.js} +1 -1
  101. package/dist/web/server/assets/{teams-be05ci17.js → teams-CXzwqzcE.js} +1 -1
  102. package/dist/web/server/assets/{teams-DPnAX4wD.js → teams-hWGjbpUA.js} +1 -1
  103. package/dist/web/server/assets/{telegram-Dj4Wwhd6.js → telegram-CoNeOgqZ.js} +465 -1
  104. package/dist/web/server/assets/{telegram-1AWL6lFw.js → telegram-DhpvtGUc.js} +1 -1
  105. package/dist/web/server/assets/{telegram-DbOFpTFm.js → telegram-Zd1rIZxg.js} +1 -1
  106. package/dist/web/server/assets/{tokens-DjM8GsgS.js → tokens-Bjp19Vkn.js} +1 -1
  107. package/dist/web/server/assets/{triggers-Nezfw-Bd.js → triggers-DJlcvXzn.js} +1 -1
  108. package/dist/web/server/server.js +31 -27
  109. package/dist/worker.js +294 -104
  110. package/dist/worker.js.map +1 -1
  111. package/package.json +3 -3
  112. package/dist/web/client/assets/TeamTabs-DIRiKcqx.js +0 -1
  113. package/dist/web/client/assets/_id-DIiVVxBl.js +0 -1
  114. package/dist/web/client/assets/chevron-right-VWrk_dTX.js +0 -1
  115. package/dist/web/client/assets/login-CCMPXiny.js +0 -1
  116. package/dist/web/client/assets/routes-g3yUOhCb.js +0 -1
  117. package/dist/web/client/assets/styles-B5vcgXln.css +0 -2
  118. package/dist/web/client/assets/telegram-CJG_DFdI.js +0 -1
  119. package/dist/web/client/assets/wire-constants-zZ7Wjb9C.js +0 -74
@@ -109,9 +109,12 @@ function ThemeToggle() {
109
109
  }
110
110
  //#endregion
111
111
  //#region src/routes/login.tsx
112
- var $$splitComponentImporter = () => import("./login-BNj3U6ok.js");
112
+ var $$splitComponentImporter = () => import("./login-B_-9L8TU.js");
113
113
  var Route = createFileRoute("/login")({
114
- validateSearch: (search) => ({ error: search.error === "token" || search.error === "origin" ? search.error : void 0 }),
114
+ validateSearch: (search) => ({
115
+ resultId: typeof search.resultId === "string" && /^[a-f0-9]{8}(-[a-f0-9]{4}){3}-[a-f0-9]{12}$/.test(search.resultId) ? search.resultId : void 0,
116
+ error: search.error === "token" || search.error === "origin" ? search.error : void 0
117
+ }),
115
118
  component: lazyRouteComponent($$splitComponentImporter, "component")
116
119
  });
117
120
  //#endregion
@@ -1,6 +1,6 @@
1
1
  import { n as createServerFn } from "../server.js";
2
2
  import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
3
- import { n as daemonClient } from "./daemon-client-CI5NHwNC.js";
3
+ import { n as daemonClient } from "./daemon-client-B06W1Qa2.js";
4
4
  //#region src/routes/config/mcp.tsx?tss-serverfn-split
5
5
  var fetchServers_createServerFn_handler = createServerRpc({
6
6
  id: "278849457893891c3d22806d15e11a0a42cc3630b30e9e62b74cf2d3b982ded7",
@@ -1,6 +1,6 @@
1
1
  import { n as createServerFn } from "../server.js";
2
2
  import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
3
- import { n as daemonClient } from "./daemon-client-CI5NHwNC.js";
3
+ import { n as daemonClient } from "./daemon-client-B06W1Qa2.js";
4
4
  //#region src/routes/teams/$id/members.tsx?tss-serverfn-split
5
5
  var fetchMembers_createServerFn_handler = createServerRpc({
6
6
  id: "0a6e766d2b4ea526da34cefed5342a6ecc5ff35ad1ce38fba4129b8c24d8e6e5",
@@ -2,7 +2,7 @@ import { n as createServerFn } from "../server.js";
2
2
  import { t as createSsrRpc } from "./createSsrRpc-6LHNEsSK.js";
3
3
  import { createFileRoute, lazyRouteComponent } from "@tanstack/react-router";
4
4
  //#region src/routes/teams/$id/members.tsx
5
- var $$splitComponentImporter = () => import("./members-DHYTVgwb.js");
5
+ var $$splitComponentImporter = () => import("./members-cc5SeEaW.js");
6
6
  var fetchMembers = createServerFn({ method: "POST" }).validator((data) => data).handler(createSsrRpc("0a6e766d2b4ea526da34cefed5342a6ecc5ff35ad1ce38fba4129b8c24d8e6e5"));
7
7
  var Route = createFileRoute("/teams/$id/members")({
8
8
  loader: ({ params }) => fetchMembers({ data: params }),
@@ -1,6 +1,6 @@
1
- import { t as Route } from "./members-DiYtr-zm.js";
1
+ import { t as Route } from "./members-CD3GiTfF.js";
2
2
  import { a as StatusBadge, i as SectionCard, r as PageShell, t as EmptyState } from "./Page-Bz-ydB8j.js";
3
- import { t as TeamTabs } from "./TeamTabs-Co3n2exj.js";
3
+ import { t as TeamTabs } from "./TeamTabs-TCKjCvMA.js";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region src/routes/teams/$id/members.tsx?tsr-split=component
6
6
  function TeamMembersPage() {
@@ -1,8 +1,8 @@
1
- import { t as Route } from "./memory-DTFEmfF3.js";
1
+ import { t as Route } from "./memory-CVqnyUaM.js";
2
2
  import { r as PageShell } from "./Page-Bz-ydB8j.js";
3
3
  import { t as Button } from "./Button-Dsnw22OF.js";
4
4
  import { t as ConfirmDialog } from "./ConfirmDialog-C-MPYYSU.js";
5
- import { t as TeamTabs } from "./TeamTabs-Co3n2exj.js";
5
+ import { t as TeamTabs } from "./TeamTabs-TCKjCvMA.js";
6
6
  import { t as UnsavedChangesGuard } from "./UnsavedChangesGuard-CiStXyBI.js";
7
7
  import { useEffect, useRef, useState } from "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -2,7 +2,7 @@ import { n as createServerFn } from "../server.js";
2
2
  import { t as createSsrRpc } from "./createSsrRpc-6LHNEsSK.js";
3
3
  import { createFileRoute, lazyRouteComponent, redirect } from "@tanstack/react-router";
4
4
  //#region src/routes/teams/$id/memory.tsx
5
- var $$splitComponentImporter = () => import("./memory-CkXUgf5s.js");
5
+ var $$splitComponentImporter = () => import("./memory-C5i_GxlY.js");
6
6
  var fetchMemory = createServerFn({ method: "POST" }).validator((d) => d).handler(createSsrRpc("b96a98e3ed6c8a3ab5f6a4ed8458e93da753ffd74e2912ef1724bb6e58030cb5"));
7
7
  var Route = createFileRoute("/teams/$id/memory")({
8
8
  loader: async ({ params }) => {
@@ -1,6 +1,6 @@
1
1
  import { n as createServerFn } from "../server.js";
2
2
  import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
3
- import { n as daemonClient, r as ApiClientError } from "./daemon-client-CI5NHwNC.js";
3
+ import { n as daemonClient, r as ApiClientError } from "./daemon-client-B06W1Qa2.js";
4
4
  //#region src/routes/teams/$id/memory.tsx?tss-serverfn-split
5
5
  var fetchMemory_createServerFn_handler = createServerRpc({
6
6
  id: "b96a98e3ed6c8a3ab5f6a4ed8458e93da753ffd74e2912ef1724bb6e58030cb5",
@@ -1,6 +1,6 @@
1
1
  import { n as createServerFn } from "../server.js";
2
2
  import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
3
- import { n as daemonClient } from "./daemon-client-CI5NHwNC.js";
3
+ import { n as daemonClient } from "./daemon-client-B06W1Qa2.js";
4
4
  //#region src/routes/teams/$id/policy.tsx?tss-serverfn-split
5
5
  var fetchPolicy_createServerFn_handler = createServerRpc({
6
6
  id: "fc940d6dec5305aa64bdb9b9f5f7d4f925b2ba0608cb6d39af854a94872fc867",
@@ -1,8 +1,8 @@
1
- import { t as Route } from "./policy-BddK4xom.js";
1
+ import { t as Route } from "./policy-bLKwvnja.js";
2
2
  import { r as PageShell } from "./Page-Bz-ydB8j.js";
3
3
  import { t as Button } from "./Button-Dsnw22OF.js";
4
4
  import { t as RecoveryState } from "./RecoveryState-B2SG-mrY.js";
5
- import { t as TeamTabs } from "./TeamTabs-Co3n2exj.js";
5
+ import { t as TeamTabs } from "./TeamTabs-TCKjCvMA.js";
6
6
  import { t as ProductionTeamPolicyEditor } from "./ProductionTeamPolicyEditor-DQSdP7Yx.js";
7
7
  import { useEffect, useMemo, useState } from "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -3,7 +3,7 @@ import { t as createSsrRpc } from "./createSsrRpc-6LHNEsSK.js";
3
3
  import { createFileRoute, lazyRouteComponent } from "@tanstack/react-router";
4
4
  //#region src/routes/teams/$id/policy.tsx
5
5
  var $$splitErrorComponentImporter = () => import("./policy-BYVXqsan.js");
6
- var $$splitComponentImporter = () => import("./policy-Bvvav8fh.js");
6
+ var $$splitComponentImporter = () => import("./policy-Dgjb0_gK.js");
7
7
  var fetchPolicy = createServerFn({ method: "POST" }).validator((data) => data).handler(createSsrRpc("fc940d6dec5305aa64bdb9b9f5f7d4f925b2ba0608cb6d39af854a94872fc867"));
8
8
  var Route = createFileRoute("/teams/$id/policy")({
9
9
  validateSearch: (search) => ({
@@ -0,0 +1,12 @@
1
+ import { n as createServerFn } from "../server.js";
2
+ import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
3
+ import { n as daemonClient } from "./daemon-client-B06W1Qa2.js";
4
+ //#region src/routes/teams/$id/results.tsx?tss-serverfn-split
5
+ var fetchTeam_createServerFn_handler = createServerRpc({
6
+ id: "6650438083b26964e4d4f7bf27caa6fe94c74a008e5b37a4d609180a9bf98b59",
7
+ name: "fetchTeam",
8
+ filename: "src/routes/teams/$id/results.tsx"
9
+ }, (opts) => fetchTeam.__executeServer(opts));
10
+ var fetchTeam = createServerFn({ method: "POST" }).validator((data) => data).handler(fetchTeam_createServerFn_handler, async ({ data }) => daemonClient().get(`/api/teams/${encodeURIComponent(data.id)}`));
11
+ //#endregion
12
+ export { fetchTeam_createServerFn_handler };
@@ -0,0 +1,173 @@
1
+ import { t as Route } from "./results-CwEQ5EUL.js";
2
+ import { r as PageShell } from "./Page-Bz-ydB8j.js";
3
+ import { t as Button } from "./Button-Dsnw22OF.js";
4
+ import { t as ResultCard } from "./ResultCard-B3zD9N0t.js";
5
+ import { n as ResultSourceLink } from "./ResultSourceConversation-zYogeOWp.js";
6
+ import { t as ConfirmDialog } from "./ConfirmDialog-C-MPYYSU.js";
7
+ import { t as TeamTabs } from "./TeamTabs-TCKjCvMA.js";
8
+ import { useEffect, useState } from "react";
9
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
10
+ //#region src/routes/teams/$id/results.tsx?tsr-split=component
11
+ function ResultsPage() {
12
+ const team = Route.useLoaderData();
13
+ const [data, setData] = useState(null);
14
+ const [agent, setAgent] = useState("");
15
+ const [filter, setFilter] = useState("");
16
+ const [offset, setOffset] = useState(0);
17
+ const [revision, setRevision] = useState(0);
18
+ const [error, setError] = useState("");
19
+ const [deleting, setDeleting] = useState(null);
20
+ useEffect(() => {
21
+ const controller = new AbortController();
22
+ const query = new URLSearchParams({
23
+ teamId: team.id,
24
+ limit: "20",
25
+ offset: String(offset)
26
+ });
27
+ if (filter) query.set("agentId", filter);
28
+ setData(null);
29
+ setError("");
30
+ fetch(`/api/results?${query}`, { signal: controller.signal }).then(async (r) => {
31
+ if (!r.ok) throw new Error("Could not load saved results.");
32
+ const page = await r.json();
33
+ if (controller.signal.aborted) return;
34
+ if (offset > 0 && offset >= page.total) {
35
+ setOffset(Math.max(0, Math.floor((page.total - 1) / 20) * 20));
36
+ return;
37
+ }
38
+ setData(page);
39
+ }).catch((e) => {
40
+ if (!controller.signal.aborted) setError(e.message);
41
+ });
42
+ return () => controller.abort();
43
+ }, [
44
+ team.id,
45
+ filter,
46
+ offset,
47
+ revision
48
+ ]);
49
+ return /* @__PURE__ */ jsxs(PageShell, { children: [
50
+ /* @__PURE__ */ jsxs("header", { children: [/* @__PURE__ */ jsxs("h1", { children: [team.name || team.id, " results"] }), /* @__PURE__ */ jsx("p", { children: "Files delivered by this Team, saved with their original contents." })] }),
51
+ /* @__PURE__ */ jsx(TeamTabs, { teamId: team.id }),
52
+ /* @__PURE__ */ jsxs("form", {
53
+ className: "flex flex-wrap items-end gap-3",
54
+ onSubmit: (e) => {
55
+ e.preventDefault();
56
+ setOffset(0);
57
+ setFilter(agent.trim());
58
+ },
59
+ children: [
60
+ /* @__PURE__ */ jsxs("label", {
61
+ className: "min-w-0",
62
+ children: ["Producing Agent ID", /* @__PURE__ */ jsx("input", {
63
+ value: agent,
64
+ onChange: (e) => setAgent(e.target.value),
65
+ placeholder: "All Agents",
66
+ className: "block max-w-full"
67
+ })]
68
+ }),
69
+ /* @__PURE__ */ jsx(Button, {
70
+ variant: "ghost",
71
+ type: "submit",
72
+ children: "Filter"
73
+ }),
74
+ /* @__PURE__ */ jsx(Button, {
75
+ variant: "ghost",
76
+ onClick: () => setRevision((v) => v + 1),
77
+ children: "Refresh"
78
+ })
79
+ ]
80
+ }),
81
+ error && /* @__PURE__ */ jsx("p", {
82
+ role: "alert",
83
+ className: "text-danger",
84
+ children: error
85
+ }),
86
+ !data && !error && /* @__PURE__ */ jsx("p", {
87
+ role: "status",
88
+ children: "Loading results…"
89
+ }),
90
+ data && /* @__PURE__ */ jsxs(Fragment, { children: [
91
+ !data.results.length && /* @__PURE__ */ jsxs("p", { children: [
92
+ "No saved results",
93
+ filter ? " for this Agent" : " yet",
94
+ "."
95
+ ] }),
96
+ /* @__PURE__ */ jsx("div", {
97
+ className: "grid min-w-0 gap-4 md:grid-cols-2",
98
+ children: data.results.map((result) => /* @__PURE__ */ jsxs("article", {
99
+ className: "min-w-0 rounded-lg border border-fawn p-4",
100
+ children: [
101
+ /* @__PURE__ */ jsx(ResultCard, {
102
+ resultId: result.id,
103
+ showPreview: true
104
+ }),
105
+ /* @__PURE__ */ jsxs("p", {
106
+ className: "break-all text-sm",
107
+ children: ["Agent: ", result.agentId]
108
+ }),
109
+ /* @__PURE__ */ jsxs("p", {
110
+ className: "text-sm",
111
+ children: ["Saved: ", new Date(result.createdAt).toLocaleString()]
112
+ }),
113
+ /* @__PURE__ */ jsxs("p", {
114
+ className: "break-all text-sm",
115
+ children: ["Conversation: ", result.sessionId]
116
+ }),
117
+ /* @__PURE__ */ jsxs("div", {
118
+ className: "flex flex-wrap gap-2",
119
+ children: [/* @__PURE__ */ jsx(ResultSourceLink, {
120
+ resultId: result.id,
121
+ agentId: result.agentId
122
+ }), /* @__PURE__ */ jsx(Button, {
123
+ variant: "danger",
124
+ onClick: () => setDeleting({
125
+ id: result.id,
126
+ name: result.name
127
+ }),
128
+ children: "Delete saved file"
129
+ })]
130
+ })
131
+ ]
132
+ }, result.id))
133
+ }),
134
+ /* @__PURE__ */ jsxs("div", {
135
+ className: "flex flex-wrap items-center gap-3",
136
+ "aria-label": "Results pagination",
137
+ children: [
138
+ /* @__PURE__ */ jsx(Button, {
139
+ variant: "ghost",
140
+ disabled: offset === 0,
141
+ onClick: () => setOffset((v) => Math.max(0, v - 20)),
142
+ children: "Previous"
143
+ }),
144
+ /* @__PURE__ */ jsx("span", { children: data.total ? `${offset + 1}–${offset + data.results.length} of ${data.total}` : "0 results" }),
145
+ /* @__PURE__ */ jsx(Button, {
146
+ variant: "ghost",
147
+ disabled: offset + 20 >= data.total,
148
+ onClick: () => setOffset((v) => v + 20),
149
+ children: "Next"
150
+ })
151
+ ]
152
+ })
153
+ ] }),
154
+ /* @__PURE__ */ jsx(ConfirmDialog, {
155
+ open: deleting !== null,
156
+ title: "Delete saved file?",
157
+ description: `Permanently delete the saved bytes of “${deleting?.name ?? ""}”. History will show a deletion receipt. The workspace source file is unchanged.`,
158
+ confirmLabel: "Delete saved file",
159
+ onOpenChange: (open) => {
160
+ if (!open) setDeleting(null);
161
+ },
162
+ onConfirm: async () => {
163
+ if (!deleting) return;
164
+ if (!(await fetch(`/api/results/${encodeURIComponent(deleting.id)}`, { method: "DELETE" })).ok) throw new Error("Could not delete the saved file.");
165
+ setDeleting(null);
166
+ setOffset(0);
167
+ setRevision((v) => v + 1);
168
+ }
169
+ })
170
+ ] });
171
+ }
172
+ //#endregion
173
+ export { ResultsPage as component };
@@ -0,0 +1,12 @@
1
+ import { n as createServerFn } from "../server.js";
2
+ import { t as createSsrRpc } from "./createSsrRpc-6LHNEsSK.js";
3
+ import { createFileRoute, lazyRouteComponent } from "@tanstack/react-router";
4
+ //#region src/routes/teams/$id/results.tsx
5
+ var $$splitComponentImporter = () => import("./results-Cj-Dlw3C.js");
6
+ var fetchTeam = createServerFn({ method: "POST" }).validator((data) => data).handler(createSsrRpc("6650438083b26964e4d4f7bf27caa6fe94c74a008e5b37a4d609180a9bf98b59"));
7
+ var Route = createFileRoute("/teams/$id/results")({
8
+ loader: ({ params }) => fetchTeam({ data: { id: params.id } }),
9
+ component: lazyRouteComponent($$splitComponentImporter, "component")
10
+ });
11
+ //#endregion
12
+ export { Route as t };
@@ -1,32 +1,34 @@
1
1
  import { a as getCookie, n as createServerFn } from "../server.js";
2
- import { t as DAEMON_BASE_URL } from "./daemon-client-CI5NHwNC.js";
2
+ import { t as DAEMON_BASE_URL } from "./daemon-client-B06W1Qa2.js";
3
3
  import { t as webOriginConfig } from "./public-origin-xV0lm0Ty.js";
4
- import { i as BaziuLogo, n as ThemeToggle, r as PawIcon, t as Route$5 } from "./login-Be8eP4Jp.js";
4
+ import { i as BaziuLogo, n as ThemeToggle, r as PawIcon, t as Route$5 } from "./login-rDox7PRD.js";
5
5
  import { t as createSsrRpc } from "./createSsrRpc-6LHNEsSK.js";
6
- import { t as Route$6 } from "./routes-DAU2g7Uz.js";
6
+ import { t as Route$6 } from "./routes-B765DVhj.js";
7
7
  import { t as Route$7 } from "./teams-DFnuc660.js";
8
8
  import { t as Route$8 } from "./skills-Dw3cI3si.js";
9
9
  import { t as Route$9 } from "./config-Wy6hnZ-Z.js";
10
10
  import { t as Route$10 } from "./attention-B35JvhOL.js";
11
- import { t as Route$11 } from "./approvals-7JOoBchn.js";
11
+ import { t as Route$11 } from "./approvals-DTdrltyk.js";
12
12
  import { t as Route$12 } from "./agents-BDFGrU3o.js";
13
- import { t as Route$13 } from "./tokens-_2hptHP6.js";
14
- import { t as Route$14 } from "./services-DgoU1udp.js";
15
- import { t as Route$15 } from "./mcp-B0goWO8Q.js";
16
- import { t as Route$16 } from "./teams-BJuoNOTB.js";
17
- import { t as Route$17 } from "./agents-CJk4pxKu.js";
18
- import { t as Route$18 } from "./_id-BAA9KJBU.js";
19
- import { t as Route$19 } from "./_id-sNu5aXZt.js";
20
- import { t as Route$20 } from "./policy-BddK4xom.js";
21
- import { t as Route$21 } from "./memory-DTFEmfF3.js";
22
- import { t as Route$22 } from "./members-DiYtr-zm.js";
23
- import { t as Route$23 } from "./activity-LjpblbDL.js";
24
- import { t as Route$24 } from "./telegram-DbOFpTFm.js";
25
- import { t as Route$25 } from "./triggers-BvjYNmmY.js";
26
- import { t as Route$26 } from "./learning-BaKM6qaw.js";
27
- import { t as Route$27 } from "./inbox-cu3jLzNP.js";
28
- import { t as Route$28 } from "./_id-BwvCtzlD.js";
29
- import { t as Route$29 } from "./_id-BYKpT2Tu.js";
13
+ import { t as Route$13 } from "./_id-BDEpe6k0.js";
14
+ import { t as Route$14 } from "./tokens-_2hptHP6.js";
15
+ import { t as Route$15 } from "./services-DgoU1udp.js";
16
+ import { t as Route$16 } from "./mcp-B0goWO8Q.js";
17
+ import { t as Route$17 } from "./teams-BJuoNOTB.js";
18
+ import { t as Route$18 } from "./agents-CJk4pxKu.js";
19
+ import { t as Route$19 } from "./_id-B2EEyStS.js";
20
+ import { t as Route$20 } from "./_id-1LwoHhJg.js";
21
+ import { t as Route$21 } from "./results-CwEQ5EUL.js";
22
+ import { t as Route$22 } from "./policy-bLKwvnja.js";
23
+ import { t as Route$23 } from "./memory-CVqnyUaM.js";
24
+ import { t as Route$24 } from "./members-CD3GiTfF.js";
25
+ import { t as Route$25 } from "./activity-C88qrNqv.js";
26
+ import { t as Route$26 } from "./telegram-Zd1rIZxg.js";
27
+ import { t as Route$27 } from "./triggers-BvjYNmmY.js";
28
+ import { t as Route$28 } from "./learning-BaKM6qaw.js";
29
+ import { t as Route$29 } from "./inbox-cu3jLzNP.js";
30
+ import { t as Route$30 } from "./_id-BwvCtzlD.js";
31
+ import { t as Route$31 } from "./_id-DFHB9JFQ.js";
30
32
  import { useEffect, useState } from "react";
31
33
  import { HeadContent, Link, Outlet, Scripts, createFileRoute, createRootRoute, createRouter, lazyRouteComponent, redirect, useRouterState } from "@tanstack/react-router";
32
34
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -331,7 +333,7 @@ function installCsrfFetch() {
331
333
  }
332
334
  //#endregion
333
335
  //#region src/styles.css?url
334
- var styles_default = "/assets/styles-B5vcgXln.css";
336
+ var styles_default = "/assets/styles-CcNf8jT_.css";
335
337
  //#endregion
336
338
  //#region src/routes/__root.tsx
337
339
  var THEME_INIT_SCRIPT = `(function(){try{var t=localStorage.getItem('baziu-theme');var sd=window.matchMedia&&window.matchMedia('(prefers-color-scheme: dark)').matches;var d=t==='dark'||((t===null||t==='system')&&sd);document.documentElement.classList.toggle('dark',d);}catch(e){}})();`;
@@ -342,10 +344,13 @@ var Route$4 = createRootRoute({
342
344
  if (PUBLIC_PATHS.has(path)) return;
343
345
  if (path.startsWith("/api/")) return;
344
346
  const auth = await fetchAuthState();
345
- if (!auth.authed) throw redirect({
346
- to: "/login",
347
- search: {}
348
- });
347
+ if (!auth.authed) {
348
+ const resultId = /^\/results\/([a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12})$/.exec(path)?.[1];
349
+ throw redirect({
350
+ to: "/login",
351
+ search: { resultId }
352
+ });
353
+ }
349
354
  if (!isSetupOpen(path) && !auth.setupComplete) throw redirect({ to: "/welcome" });
350
355
  },
351
356
  head: () => ({
@@ -675,17 +680,22 @@ var AgentsIndexRoute = Route$12.update({
675
680
  path: "/agents/",
676
681
  getParentRoute: () => Route$4
677
682
  });
678
- var ConfigTokensRoute = Route$13.update({
683
+ var ResultsIdRoute = Route$13.update({
684
+ id: "/results/$id",
685
+ path: "/results/$id",
686
+ getParentRoute: () => Route$4
687
+ });
688
+ var ConfigTokensRoute = Route$14.update({
679
689
  id: "/config/tokens",
680
690
  path: "/config/tokens",
681
691
  getParentRoute: () => Route$4
682
692
  });
683
- var ConfigServicesRoute = Route$14.update({
693
+ var ConfigServicesRoute = Route$15.update({
684
694
  id: "/config/services",
685
695
  path: "/config/services",
686
696
  getParentRoute: () => Route$4
687
697
  });
688
- var ConfigMcpRoute = Route$15.update({
698
+ var ConfigMcpRoute = Route$16.update({
689
699
  id: "/config/mcp",
690
700
  path: "/config/mcp",
691
701
  getParentRoute: () => Route$4
@@ -695,37 +705,42 @@ var ApiSplatRoute = Route$1.update({
695
705
  path: "/api/$",
696
706
  getParentRoute: () => Route$4
697
707
  });
698
- var TemplatesTeamsIndexRoute = Route$16.update({
708
+ var TemplatesTeamsIndexRoute = Route$17.update({
699
709
  id: "/templates/teams/",
700
710
  path: "/templates/teams/",
701
711
  getParentRoute: () => Route$4
702
712
  });
703
- var TemplatesAgentsIndexRoute = Route$17.update({
713
+ var TemplatesAgentsIndexRoute = Route$18.update({
704
714
  id: "/templates/agents/",
705
715
  path: "/templates/agents/",
706
716
  getParentRoute: () => Route$4
707
717
  });
708
- var TeamsIdIndexRoute = Route$18.update({
718
+ var TeamsIdIndexRoute = Route$19.update({
709
719
  id: "/teams/$id/",
710
720
  path: "/teams/$id/",
711
721
  getParentRoute: () => Route$4
712
722
  });
713
- var AgentsIdIndexRoute = Route$19.update({
723
+ var AgentsIdIndexRoute = Route$20.update({
714
724
  id: "/agents/$id/",
715
725
  path: "/agents/$id/",
716
726
  getParentRoute: () => Route$4
717
727
  });
718
- var TeamsIdPolicyRoute = Route$20.update({
728
+ var TeamsIdResultsRoute = Route$21.update({
729
+ id: "/teams/$id/results",
730
+ path: "/teams/$id/results",
731
+ getParentRoute: () => Route$4
732
+ });
733
+ var TeamsIdPolicyRoute = Route$22.update({
719
734
  id: "/teams/$id/policy",
720
735
  path: "/teams/$id/policy",
721
736
  getParentRoute: () => Route$4
722
737
  });
723
- var TeamsIdMemoryRoute = Route$21.update({
738
+ var TeamsIdMemoryRoute = Route$23.update({
724
739
  id: "/teams/$id/memory",
725
740
  path: "/teams/$id/memory",
726
741
  getParentRoute: () => Route$4
727
742
  });
728
- var TeamsIdMembersRoute = Route$22.update({
743
+ var TeamsIdMembersRoute = Route$24.update({
729
744
  id: "/teams/$id/members",
730
745
  path: "/teams/$id/members",
731
746
  getParentRoute: () => Route$4
@@ -735,32 +750,32 @@ var TeamsIdContextRoute = Route.update({
735
750
  path: "/teams/$id/context",
736
751
  getParentRoute: () => Route$4
737
752
  });
738
- var TeamsIdActivityRoute = Route$23.update({
753
+ var TeamsIdActivityRoute = Route$25.update({
739
754
  id: "/teams/$id/activity",
740
755
  path: "/teams/$id/activity",
741
756
  getParentRoute: () => Route$4
742
757
  });
743
- var ConfigIntegrationsTelegramRoute = Route$24.update({
758
+ var ConfigIntegrationsTelegramRoute = Route$26.update({
744
759
  id: "/config/integrations/telegram",
745
760
  path: "/config/integrations/telegram",
746
761
  getParentRoute: () => Route$4
747
762
  });
748
- var AgentsIdTriggersRoute = Route$25.update({
763
+ var AgentsIdTriggersRoute = Route$27.update({
749
764
  id: "/agents/$id/triggers",
750
765
  path: "/agents/$id/triggers",
751
766
  getParentRoute: () => Route$4
752
767
  });
753
- var AgentsIdLearningRoute = Route$26.update({
768
+ var AgentsIdLearningRoute = Route$28.update({
754
769
  id: "/agents/$id/learning",
755
770
  path: "/agents/$id/learning",
756
771
  getParentRoute: () => Route$4
757
772
  });
758
- var AgentsIdInboxRoute = Route$27.update({
773
+ var AgentsIdInboxRoute = Route$29.update({
759
774
  id: "/agents/$id/inbox",
760
775
  path: "/agents/$id/inbox",
761
776
  getParentRoute: () => Route$4
762
777
  });
763
- var TemplatesTeamsIdIndexRoute = Route$28.update({
778
+ var TemplatesTeamsIdIndexRoute = Route$30.update({
764
779
  id: "/templates/teams/$id/",
765
780
  path: "/templates/teams/$id/",
766
781
  getParentRoute: () => Route$4
@@ -773,6 +788,7 @@ var rootRouteChildren = {
773
788
  ConfigMcpRoute,
774
789
  ConfigServicesRoute,
775
790
  ConfigTokensRoute,
791
+ ResultsIdRoute,
776
792
  AgentsIndexRoute,
777
793
  ApprovalsIndexRoute,
778
794
  AttentionIndexRoute,
@@ -789,11 +805,12 @@ var rootRouteChildren = {
789
805
  TeamsIdMembersRoute,
790
806
  TeamsIdMemoryRoute,
791
807
  TeamsIdPolicyRoute,
808
+ TeamsIdResultsRoute,
792
809
  AgentsIdIndexRoute,
793
810
  TeamsIdIndexRoute,
794
811
  TemplatesAgentsIndexRoute,
795
812
  TemplatesTeamsIndexRoute,
796
- TemplatesAgentsIdIndexRoute: Route$29.update({
813
+ TemplatesAgentsIdIndexRoute: Route$31.update({
797
814
  id: "/templates/agents/$id/",
798
815
  path: "/templates/agents/$id/",
799
816
  getParentRoute: () => Route$4
@@ -2,7 +2,7 @@ import { n as createServerFn } from "../server.js";
2
2
  import { t as createSsrRpc } from "./createSsrRpc-6LHNEsSK.js";
3
3
  import { createFileRoute, lazyRouteComponent } from "@tanstack/react-router";
4
4
  //#region src/routes/index.tsx
5
- var $$splitComponentImporter = () => import("./routes-BgHisAxH.js");
5
+ var $$splitComponentImporter = () => import("./routes-MIZz6uMr.js");
6
6
  var fetchHomeData = createServerFn({ method: "POST" }).validator((d) => d).handler(createSsrRpc("26dbbcbe40063e8aedfd343cf1dfd4dfe5589f24591c0ba35e80c611d7c57c7c"));
7
7
  var Route = createFileRoute("/")({
8
8
  validateSearch: (s) => ({ agent: typeof s.agent === "string" ? s.agent : void 0 }),
@@ -1,5 +1,5 @@
1
- import { t as Route } from "./routes-DAU2g7Uz.js";
2
- import { t as ChatPane } from "./ChatPane-CgSe7tsy.js";
1
+ import { t as Route } from "./routes-B765DVhj.js";
2
+ import { t as ChatPane } from "./ChatPane-DJ30FdFG.js";
3
3
  import { n as Sidebar } from "./Sidebar-DKyk7oIo.js";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region src/routes/index.tsx?tsr-split=component
@@ -1,6 +1,6 @@
1
1
  import { a as getCookie, n as createServerFn } from "../server.js";
2
2
  import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
3
- import { n as daemonClient, r as ApiClientError } from "./daemon-client-CI5NHwNC.js";
3
+ import { n as daemonClient, r as ApiClientError } from "./daemon-client-B06W1Qa2.js";
4
4
  import { t as SIDEBAR_OPEN_GROUPS_COOKIE } from "./Sidebar-DKyk7oIo.js";
5
5
  //#region src/routes/index.tsx?tss-serverfn-split
6
6
  function parseOpenGroupsCookie(raw) {
@@ -34,11 +34,11 @@ var fetchHomeData = createServerFn({ method: "POST" }).validator((d) => d).handl
34
34
  if (data.agentId) try {
35
35
  const resolved = await client.get(`/api/agents/${encodeURIComponent(data.agentId)}`);
36
36
  if (resolved.agent.status !== "archived") {
37
- const [msgs, head] = await Promise.all([client.get(`/api/agents/${encodeURIComponent(resolved.agent.id)}/sessions/messages`), client.get(`/api/agents/${encodeURIComponent(resolved.agent.id)}/sessions/head`)]);
37
+ const msgs = await client.get(`/api/agents/${encodeURIComponent(resolved.agent.id)}/sessions/messages`);
38
38
  selected = {
39
39
  resolved,
40
40
  initialMessages: msgs.messages,
41
- sessionHead: head
41
+ sessionHead: msgs.head
42
42
  };
43
43
  }
44
44
  } catch (err) {
@@ -1,6 +1,6 @@
1
1
  import { n as createServerFn } from "../server.js";
2
2
  import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
3
- import { n as daemonClient } from "./daemon-client-CI5NHwNC.js";
3
+ import { n as daemonClient } from "./daemon-client-B06W1Qa2.js";
4
4
  //#region src/routes/config/services.tsx?tss-serverfn-split
5
5
  var fetchServices_createServerFn_handler = createServerRpc({
6
6
  id: "6afd81bef0ee381d6e3641cd8e269968429c874e2f9d56c8f818cc9d180ee477",
@@ -1,6 +1,6 @@
1
1
  import { n as createServerFn } from "../server.js";
2
2
  import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
3
- import { n as daemonClient } from "./daemon-client-CI5NHwNC.js";
3
+ import { n as daemonClient } from "./daemon-client-B06W1Qa2.js";
4
4
  //#region src/routes/skills/index.tsx?tss-serverfn-split
5
5
  var fetchSkills_createServerFn_handler = createServerRpc({
6
6
  id: "ae1d30575b229c1e2622fbaf2252800a9a7acc84afdd68cba025ca890b8d52c5",
@@ -1,6 +1,6 @@
1
1
  import { n as createServerFn } from "../server.js";
2
2
  import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
3
- import { n as daemonClient } from "./daemon-client-CI5NHwNC.js";
3
+ import { n as daemonClient } from "./daemon-client-B06W1Qa2.js";
4
4
  //#region src/routes/templates/teams/index.tsx?tss-serverfn-split
5
5
  var fetchTeams_createServerFn_handler = createServerRpc({
6
6
  id: "1bb12262aaa902fa208aafaa70b69c63da34c1fe523ab0322fe766903fc6b4c1",
@@ -1,6 +1,6 @@
1
1
  import { n as createServerFn } from "../server.js";
2
2
  import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
3
- import { n as daemonClient } from "./daemon-client-CI5NHwNC.js";
3
+ import { n as daemonClient } from "./daemon-client-B06W1Qa2.js";
4
4
  //#region src/routes/teams/index.tsx?tss-serverfn-split
5
5
  var fetchTeamsData_createServerFn_handler = createServerRpc({
6
6
  id: "1ab05a58944792f34ad279deeaa56f70e9360687856b18327f335b022e8d21a5",