@tonyclaw/agent-inspector 2.0.32 → 2.0.34

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 (52) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/{CompareDrawer-Dgi0hhg5.js → CompareDrawer-s5T7W5_w.js} +1 -1
  3. package/.output/public/assets/{ProxyViewerContainer-4dG0nLRp.js → ProxyViewerContainer-DfGfP9VH.js} +22 -22
  4. package/.output/public/assets/{ReplayDialog-BL6BwDuI.js → ReplayDialog-DIxp-ccL.js} +1 -1
  5. package/.output/public/assets/{RequestAnatomy-DZMmiIiD.js → RequestAnatomy-tfdpiRgw.js} +1 -1
  6. package/.output/public/assets/{ResponseView-DJLOiTYq.js → ResponseView-DMZp3aLW.js} +1 -1
  7. package/.output/public/assets/{StreamingChunkSequence--SxZ5cxc.js → StreamingChunkSequence-xXzLVw7m.js} +1 -1
  8. package/.output/public/assets/_sessionId-Dfxcty_X.js +1 -0
  9. package/.output/public/assets/index-C_8PFAm2.css +1 -0
  10. package/.output/public/assets/index-DztLtWHr.js +1 -0
  11. package/.output/public/assets/{main-CbRIHhJ5.js → main-DHq8ZD95.js} +2 -2
  12. package/.output/server/_libs/ajv.mjs +827 -6191
  13. package/.output/server/_libs/cookie-es.mjs +7 -21
  14. package/.output/server/_libs/h3-v2.mjs +18 -7
  15. package/.output/server/_libs/json-schema-traverse.mjs +1 -90
  16. package/.output/server/_libs/seroval-plugins.mjs +5 -5
  17. package/.output/server/_libs/seroval.mjs +606 -596
  18. package/.output/server/_libs/srvx.mjs +10 -5
  19. package/.output/server/_libs/tanstack__history.mjs +55 -38
  20. package/.output/server/_libs/tanstack__router-core.mjs +4366 -4075
  21. package/.output/server/{_sessionId-DNfumR8F.mjs → _sessionId-Bow47H8m.mjs} +4 -4
  22. package/.output/server/_ssr/{CompareDrawer-CzgjhnUa.mjs → CompareDrawer-Ctn56NJX.mjs} +4 -4
  23. package/.output/server/_ssr/{ProxyViewerContainer-BqOcZ7en.mjs → ProxyViewerContainer-DgPsLI2Q.mjs} +131 -122
  24. package/.output/server/_ssr/{ReplayDialog-DmEknIL8.mjs → ReplayDialog-BD9_rksD.mjs} +5 -5
  25. package/.output/server/_ssr/{RequestAnatomy-DNoiMudY.mjs → RequestAnatomy-BJyzD8pO.mjs} +4 -4
  26. package/.output/server/_ssr/{ResponseView-C_cRrleT.mjs → ResponseView-lebGC0QX.mjs} +4 -4
  27. package/.output/server/_ssr/{StreamingChunkSequence-DHZ9Q_dL.mjs → StreamingChunkSequence-BcOLywzn.mjs} +4 -4
  28. package/.output/server/_ssr/{index-coYS9XyS.mjs → index-CgJOsItz.mjs} +4 -4
  29. package/.output/server/_ssr/index.mjs +20 -11
  30. package/.output/server/_ssr/{router-DUb5lKw1.mjs → router-BMv4lGQi.mjs} +5193 -5269
  31. package/.output/server/{_tanstack-start-manifest_v-xcG1o8Vt.mjs → _tanstack-start-manifest_v-D2LyT1-l.mjs} +1 -1
  32. package/.output/server/index.mjs +68 -68
  33. package/README.md +23 -0
  34. package/package.json +6 -2
  35. package/src/components/groups/GroupsDialog.tsx +132 -121
  36. package/src/lib/groupContract.ts +0 -2
  37. package/src/lib/runContract.ts +0 -3
  38. package/src/mcp/server.ts +101 -164
  39. package/src/mcp/toolHandlers.ts +80 -177
  40. package/src/routes/api/groups.$groupId.evidence.ts +14 -33
  41. package/src/routes/api/groups.$groupId.sessions.ts +9 -9
  42. package/src/routes/api/groups.$groupId.ts +19 -13
  43. package/src/routes/api/groups.ts +3 -3
  44. package/src/routes/api/runs.$runId.evidence.ts +14 -21
  45. package/src/routes/api/runs.$runId.ts +9 -9
  46. package/src/routes/api/runs.ts +9 -5
  47. package/src/services/groups.ts +110 -0
  48. package/src/services/result.ts +17 -0
  49. package/src/services/runs.ts +76 -0
  50. package/.output/public/assets/_sessionId-C4z6gu9i.js +0 -1
  51. package/.output/public/assets/index-Drpb2qR5.js +0 -1
  52. package/.output/public/assets/index-fUUi8iQF.css +0 -1
@@ -1,6 +1,6 @@
1
1
  import { j as jsxRuntimeExports } from "./_libs/react.mjs";
2
- import { P as ProxyViewerContainer } from "./_ssr/ProxyViewerContainer-BqOcZ7en.mjs";
3
- import { R as Route$x } from "./_ssr/router-DUb5lKw1.mjs";
2
+ import { P as ProxyViewerContainer } from "./_ssr/ProxyViewerContainer-DgPsLI2Q.mjs";
3
+ import { R as Route$x } from "./_ssr/router-BMv4lGQi.mjs";
4
4
  import "./_libs/jszip.mjs";
5
5
  import "./_libs/modelcontextprotocol__server.mjs";
6
6
  import "./_libs/swr.mjs";
@@ -119,10 +119,10 @@ import "./_libs/tanstack__react-router.mjs";
119
119
  import "./_libs/tiny-warning.mjs";
120
120
  import "./_libs/tanstack__router-core.mjs";
121
121
  import "./_libs/cookie-es.mjs";
122
- import "./_libs/tanstack__history.mjs";
123
- import "./_libs/tiny-invariant.mjs";
124
122
  import "./_libs/seroval.mjs";
125
123
  import "./_libs/seroval-plugins.mjs";
124
+ import "./_libs/tanstack__history.mjs";
125
+ import "./_libs/tiny-invariant.mjs";
126
126
  import "node:stream/web";
127
127
  import "node:stream";
128
128
  import "./_libs/isbot.mjs";
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { g as getLogFormatAdapter, r as resolveLogFormat, a as getConversationId, c as cn, B as Badge, f as formatTokens, J as JsonViewerFromString } from "./ProxyViewerContainer-BqOcZ7en.mjs";
3
- import "./router-DUb5lKw1.mjs";
2
+ import { g as getLogFormatAdapter, r as resolveLogFormat, a as getConversationId, c as cn, B as Badge, f as formatTokens, J as JsonViewerFromString } from "./ProxyViewerContainer-DgPsLI2Q.mjs";
3
+ import "./router-BMv4lGQi.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import { X, aa as Rows3, ab as Columns2, r as Minus, P as Plus, m as Pencil, l as ChevronRight, ac as Equal, C as Check, b as Copy } from "../_libs/lucide-react.mjs";
@@ -119,10 +119,10 @@ import "../_libs/tanstack__react-router.mjs";
119
119
  import "../_libs/tiny-warning.mjs";
120
120
  import "../_libs/tanstack__router-core.mjs";
121
121
  import "../_libs/cookie-es.mjs";
122
- import "../_libs/tanstack__history.mjs";
123
- import "../_libs/tiny-invariant.mjs";
124
122
  import "../_libs/seroval.mjs";
125
123
  import "../_libs/seroval-plugins.mjs";
124
+ import "../_libs/tanstack__history.mjs";
125
+ import "../_libs/tiny-invariant.mjs";
126
126
  import "node:stream/web";
127
127
  import "node:stream";
128
128
  import "../_libs/isbot.mjs";
@@ -1,5 +1,5 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports, a as React } from "../_libs/react.mjs";
2
- import { C as CapturedLogSchema, D as DEFAULT_CAPTURE_MODE, a as DEFAULT_SLOW_RESPONSE_THRESHOLD_SECONDS, b as DEFAULT_PROVIDER_TEST_TIMEOUT_SECONDS, c as DEFAULT_TIME_DISPLAY_FORMAT, v as packageJson, h as GroupEvidenceExportResultSchema, i as DeleteInspectorGroupResponseSchema, d as RuntimeConfigSchema, P as ProviderConfigSchema, r as requestFormatForPath, l as createPendingProviderTestResults, n as ProviderTestResultsSchema, o as createFailedProviderTestResults, M as MAX_SLOW_RESPONSE_THRESHOLD_SECONDS, q as MAX_PROVIDER_TEST_TIMEOUT_SECONDS, T as TimeDisplayFormatSchema, m as maskApiKey, j as providerHasContextMetadata, k as findProviderModelMetadata, g as getSessionPath, p as parseOpenAIResponse, O as OpenAIRequestSchema, A as AnthropicResponseSchema$1, e as AnthropicRequestSchema, s as safeGetOwnProperty, t as resolveProviderContextWindow, K as KnowledgeCandidateSchema, f as stripClaudeCodeBillingHeader, u as isPlainRecord, G as GroupEvidenceReadResponseSchema$1, I as InspectorGroupsListResponseSchema } from "./router-DUb5lKw1.mjs";
2
+ import { C as CapturedLogSchema, D as DEFAULT_CAPTURE_MODE, a as DEFAULT_SLOW_RESPONSE_THRESHOLD_SECONDS, b as DEFAULT_PROVIDER_TEST_TIMEOUT_SECONDS, c as DEFAULT_TIME_DISPLAY_FORMAT, v as packageJson, h as GroupEvidenceExportResultSchema, i as DeleteInspectorGroupResponseSchema, d as RuntimeConfigSchema, P as ProviderConfigSchema, r as requestFormatForPath, l as createPendingProviderTestResults, n as ProviderTestResultsSchema, o as createFailedProviderTestResults, M as MAX_SLOW_RESPONSE_THRESHOLD_SECONDS, q as MAX_PROVIDER_TEST_TIMEOUT_SECONDS, T as TimeDisplayFormatSchema, m as maskApiKey, j as providerHasContextMetadata, k as findProviderModelMetadata, g as getSessionPath, p as parseOpenAIResponse, O as OpenAIRequestSchema, A as AnthropicResponseSchema$1, e as AnthropicRequestSchema, s as safeGetOwnProperty, t as resolveProviderContextWindow, K as KnowledgeCandidateSchema, f as stripClaudeCodeBillingHeader, u as isPlainRecord, G as GroupEvidenceReadResponseSchema, I as InspectorGroupsListResponseSchema } from "./router-BMv4lGQi.mjs";
3
3
  import { u as useSWR, a as useSWRConfig } from "../_libs/swr.mjs";
4
4
  import { J as JSZip } from "../_libs/jszip.mjs";
5
5
  import { c as clsx } from "../_libs/clsx.mjs";
@@ -1572,19 +1572,19 @@ function useCopyFeedback(text) {
1572
1572
  return { copied, copy };
1573
1573
  }
1574
1574
  const LazyCompareDrawer = reactExports.lazy(
1575
- () => import("./CompareDrawer-CzgjhnUa.mjs").then((m) => ({ default: m.CompareDrawer }))
1575
+ () => import("./CompareDrawer-Ctn56NJX.mjs").then((m) => ({ default: m.CompareDrawer }))
1576
1576
  );
1577
1577
  const LazyReplayDialog = reactExports.lazy(
1578
- () => import("./ReplayDialog-DmEknIL8.mjs").then((m) => ({ default: m.ReplayDialog }))
1578
+ () => import("./ReplayDialog-BD9_rksD.mjs").then((m) => ({ default: m.ReplayDialog }))
1579
1579
  );
1580
1580
  const LazyRequestAnatomy = reactExports.lazy(
1581
- () => import("./RequestAnatomy-DNoiMudY.mjs").then((m) => ({ default: m.RequestAnatomy }))
1581
+ () => import("./RequestAnatomy-BJyzD8pO.mjs").then((m) => ({ default: m.RequestAnatomy }))
1582
1582
  );
1583
1583
  const LazyResponseView = reactExports.lazy(
1584
- () => import("./ResponseView-C_cRrleT.mjs").then((m) => ({ default: m.ResponseView }))
1584
+ () => import("./ResponseView-lebGC0QX.mjs").then((m) => ({ default: m.ResponseView }))
1585
1585
  );
1586
1586
  const LazyStreamingChunkSequence = reactExports.lazy(
1587
- () => import("./StreamingChunkSequence-DHZ9Q_dL.mjs").then((m) => ({
1587
+ () => import("./StreamingChunkSequence-BcOLywzn.mjs").then((m) => ({
1588
1588
  default: m.StreamingChunkSequence
1589
1589
  }))
1590
1590
  );
@@ -5432,7 +5432,7 @@ function evidenceKey(group) {
5432
5432
  return `/api/groups/${encodeURIComponent(group.id)}/evidence`;
5433
5433
  }
5434
5434
  function useGroupEvidence(group) {
5435
- const response = useSWR(evidenceKey(group), (url) => fetchJson(url, GroupEvidenceReadResponseSchema$1));
5435
+ const response = useSWR(evidenceKey(group), (url) => fetchJson(url, GroupEvidenceReadResponseSchema));
5436
5436
  return {
5437
5437
  evidenceResponse: response.data ?? null,
5438
5438
  isLoading: response.isLoading,
@@ -5656,15 +5656,18 @@ function GroupsDialog() {
5656
5656
  setDeleteEvidence(false);
5657
5657
  setDeleteError(null);
5658
5658
  }, []);
5659
- const handleDeleteDialogOpenChange = reactExports.useCallback(
5660
- (nextOpen) => {
5661
- if (nextOpen || deletingGroupId !== null) return;
5662
- setDeleteTarget(null);
5663
- setDeleteEvidence(false);
5664
- setDeleteError(null);
5665
- },
5666
- [deletingGroupId]
5667
- );
5659
+ const handleCancelDelete = reactExports.useCallback(() => {
5660
+ if (deletingGroupId !== null) return;
5661
+ setDeleteTarget(null);
5662
+ setDeleteEvidence(false);
5663
+ setDeleteError(null);
5664
+ }, [deletingGroupId]);
5665
+ const handleSelectGroup = reactExports.useCallback((groupId) => {
5666
+ setSelectedGroupId(groupId);
5667
+ setDeleteTarget(null);
5668
+ setDeleteEvidence(false);
5669
+ setDeleteError(null);
5670
+ }, []);
5668
5671
  const handleDelete = reactExports.useCallback(async () => {
5669
5672
  const group = deleteTarget;
5670
5673
  if (group === null) return;
@@ -5695,90 +5698,80 @@ function GroupsDialog() {
5695
5698
  setDeletingGroupId(null);
5696
5699
  }
5697
5700
  }, [deleteEvidence, deleteTarget, mutate, mutateEvidence]);
5698
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
5699
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Dialog, { open, onOpenChange: setOpen, children: [
5700
- /* @__PURE__ */ jsxRuntimeExports.jsx(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
5701
- Button,
5702
- {
5703
- type: "button",
5704
- variant: "ghost",
5705
- size: "icon",
5706
- className: "relative size-8",
5707
- "aria-label": "Evaluation groups",
5708
- title: "Evaluation groups",
5709
- children: [
5710
- /* @__PURE__ */ jsxRuntimeExports.jsx(Layers, { className: "size-4" }),
5711
- isLoading ? /* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { className: "absolute -right-0.5 -top-0.5 size-3 animate-spin text-muted-foreground" }) : groups.length > 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "absolute -right-1 -top-1 min-w-4 rounded-full bg-primary px-1 text-[10px] leading-4 text-primary-foreground", children: groups.length }) : null,
5712
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sr-only", children: "Evaluation groups" })
5713
- ]
5714
- }
5715
- ) }),
5716
- /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogContent, { className: "flex max-h-[85vh] max-w-5xl flex-col overflow-hidden", children: [
5717
- /* @__PURE__ */ jsxRuntimeExports.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogTitle, { className: "flex items-center gap-2 pr-8", children: [
5718
- /* @__PURE__ */ jsxRuntimeExports.jsx(Layers, { className: "size-5 text-muted-foreground" }),
5719
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Groups" }),
5720
- /* @__PURE__ */ jsxRuntimeExports.jsx(Badge, { variant: "outline", children: formatNumber(groups.length) })
5721
- ] }) }),
5722
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex min-h-0 items-center justify-between gap-3 border-b border-border pb-3", children: [
5723
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: "Evaluation batches, model runs, and exported evidence packs." }),
5724
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
5725
- Button,
5726
- {
5727
- type: "button",
5728
- variant: "outline",
5729
- size: "sm",
5730
- className: "shrink-0",
5731
- onClick: handleRefresh,
5732
- children: [
5733
- /* @__PURE__ */ jsxRuntimeExports.jsx(RefreshCw, { className: "size-3.5" }),
5734
- "Refresh"
5735
- ]
5736
- }
5737
- )
5738
- ] }),
5739
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid min-h-0 flex-1 gap-4 md:grid-cols-[260px_minmax(0,1fr)]", children: [
5740
- /* @__PURE__ */ jsxRuntimeExports.jsx(
5741
- GroupList,
5742
- {
5743
- groups,
5744
- selectedGroupId: selectedGroup?.id ?? null,
5745
- isLoading,
5746
- error,
5747
- onSelect: setSelectedGroupId
5748
- }
5749
- ),
5750
- /* @__PURE__ */ jsxRuntimeExports.jsx(
5751
- GroupDetails,
5752
- {
5753
- group: selectedGroup,
5754
- exportResult: selectedExportResult,
5755
- evidenceResponse,
5756
- evidenceLoading,
5757
- evidenceError,
5758
- exportError,
5759
- deleteError,
5760
- exportingGroupId,
5761
- deletingGroupId,
5762
- onExport: handleExport,
5763
- onRequestDelete: handleRequestDelete
5764
- }
5765
- )
5766
- ] })
5767
- ] })
5768
- ] }),
5769
- /* @__PURE__ */ jsxRuntimeExports.jsx(
5770
- DeleteGroupDialog,
5701
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(Dialog, { open, onOpenChange: setOpen, children: [
5702
+ /* @__PURE__ */ jsxRuntimeExports.jsx(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
5703
+ Button,
5771
5704
  {
5772
- group: deleteTarget,
5773
- open: deleteTarget !== null,
5774
- deleteEvidence,
5775
- isDeleting: deleteTarget !== null && deletingGroupId === deleteTarget.id,
5776
- error: deleteError,
5777
- onDeleteEvidenceChange: setDeleteEvidence,
5778
- onOpenChange: handleDeleteDialogOpenChange,
5779
- onConfirm: () => void handleDelete()
5705
+ type: "button",
5706
+ variant: "ghost",
5707
+ size: "icon",
5708
+ className: "relative size-8",
5709
+ "aria-label": "Evaluation groups",
5710
+ title: "Evaluation groups",
5711
+ children: [
5712
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Layers, { className: "size-4" }),
5713
+ isLoading ? /* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { className: "absolute -right-0.5 -top-0.5 size-3 animate-spin text-muted-foreground" }) : groups.length > 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "absolute -right-1 -top-1 min-w-4 rounded-full bg-primary px-1 text-[10px] leading-4 text-primary-foreground", children: groups.length }) : null,
5714
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sr-only", children: "Evaluation groups" })
5715
+ ]
5780
5716
  }
5781
- )
5717
+ ) }),
5718
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogContent, { className: "flex max-h-[85vh] max-w-5xl flex-col overflow-hidden", children: [
5719
+ /* @__PURE__ */ jsxRuntimeExports.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogTitle, { className: "flex items-center gap-2 pr-8", children: [
5720
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Layers, { className: "size-5 text-muted-foreground" }),
5721
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Groups" }),
5722
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Badge, { variant: "outline", children: formatNumber(groups.length) })
5723
+ ] }) }),
5724
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex min-h-0 items-center justify-between gap-3 border-b border-border pb-3", children: [
5725
+ /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: "Evaluation batches, model runs, and exported evidence packs." }),
5726
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
5727
+ Button,
5728
+ {
5729
+ type: "button",
5730
+ variant: "outline",
5731
+ size: "sm",
5732
+ className: "shrink-0",
5733
+ onClick: handleRefresh,
5734
+ children: [
5735
+ /* @__PURE__ */ jsxRuntimeExports.jsx(RefreshCw, { className: "size-3.5" }),
5736
+ "Refresh"
5737
+ ]
5738
+ }
5739
+ )
5740
+ ] }),
5741
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid min-h-0 flex-1 gap-4 md:grid-cols-[260px_minmax(0,1fr)]", children: [
5742
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
5743
+ GroupList,
5744
+ {
5745
+ groups,
5746
+ selectedGroupId: selectedGroup?.id ?? null,
5747
+ isLoading,
5748
+ error,
5749
+ onSelect: handleSelectGroup
5750
+ }
5751
+ ),
5752
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
5753
+ GroupDetails,
5754
+ {
5755
+ group: selectedGroup,
5756
+ deleteTarget,
5757
+ deleteEvidence,
5758
+ exportResult: selectedExportResult,
5759
+ evidenceResponse,
5760
+ evidenceLoading,
5761
+ evidenceError,
5762
+ exportError,
5763
+ deleteError,
5764
+ exportingGroupId,
5765
+ deletingGroupId,
5766
+ onDeleteEvidenceChange: setDeleteEvidence,
5767
+ onExport: handleExport,
5768
+ onRequestDelete: handleRequestDelete,
5769
+ onCancelDelete: handleCancelDelete,
5770
+ onConfirmDelete: () => void handleDelete()
5771
+ }
5772
+ )
5773
+ ] })
5774
+ ] })
5782
5775
  ] });
5783
5776
  }
5784
5777
  function GroupList({
@@ -5829,6 +5822,8 @@ function GroupList({
5829
5822
  }
5830
5823
  function GroupDetails({
5831
5824
  group,
5825
+ deleteTarget,
5826
+ deleteEvidence,
5832
5827
  exportResult,
5833
5828
  evidenceResponse,
5834
5829
  evidenceLoading,
@@ -5837,8 +5832,11 @@ function GroupDetails({
5837
5832
  deleteError,
5838
5833
  exportingGroupId,
5839
5834
  deletingGroupId,
5835
+ onDeleteEvidenceChange,
5840
5836
  onExport,
5841
- onRequestDelete
5837
+ onRequestDelete,
5838
+ onCancelDelete,
5839
+ onConfirmDelete
5842
5840
  }) {
5843
5841
  if (group === null) {
5844
5842
  return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex min-h-48 items-center justify-center rounded-md border border-dashed border-border text-xs text-muted-foreground", children: "Select a group to inspect." });
@@ -5850,6 +5848,7 @@ function GroupDetails({
5850
5848
  const rows = buildGroupMemberRows(group, exportResult);
5851
5849
  const isExporting = exportingGroupId === group.id;
5852
5850
  const isDeleting = deletingGroupId === group.id;
5851
+ const isConfirmingDelete = deleteTarget?.id === group.id;
5853
5852
  return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "min-h-0 overflow-y-auto pr-1", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4", children: [
5854
5853
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex min-w-0 flex-col gap-3 sm:flex-row sm:items-start sm:justify-between", children: [
5855
5854
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "min-w-0 space-y-1", children: [
@@ -5899,6 +5898,18 @@ function GroupDetails({
5899
5898
  ] })
5900
5899
  ] }),
5901
5900
  group.task !== null && group.task.trim().length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "rounded-md border border-border bg-muted/20 px-3 py-2 text-xs text-muted-foreground", children: group.task }),
5901
+ isConfirmingDelete && /* @__PURE__ */ jsxRuntimeExports.jsx(
5902
+ DeleteGroupPanel,
5903
+ {
5904
+ group,
5905
+ deleteEvidence,
5906
+ isDeleting,
5907
+ error: deleteError,
5908
+ onDeleteEvidenceChange,
5909
+ onCancel: onCancelDelete,
5910
+ onConfirm: onConfirmDelete
5911
+ }
5912
+ ),
5902
5913
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid gap-2 sm:grid-cols-4", children: [
5903
5914
  /* @__PURE__ */ jsxRuntimeExports.jsx(SummaryStat, { label: "Members", value: summary.memberCount }),
5904
5915
  /* @__PURE__ */ jsxRuntimeExports.jsx(SummaryStat, { label: "Done", value: summary.completedMembers }),
@@ -5922,39 +5933,37 @@ function GroupDetails({
5922
5933
  ),
5923
5934
  /* @__PURE__ */ jsxRuntimeExports.jsx(EvidencePaths, { evidence }),
5924
5935
  exportError !== null && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "rounded-md border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700", children: exportError }),
5925
- deleteError !== null && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "rounded-md border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700", children: deleteError }),
5936
+ deleteError !== null && !isConfirmingDelete && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "rounded-md border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700", children: deleteError }),
5926
5937
  /* @__PURE__ */ jsxRuntimeExports.jsx(MemberTable, { rows })
5927
5938
  ] }) });
5928
5939
  }
5929
- function DeleteGroupDialog({
5940
+ function DeleteGroupPanel({
5930
5941
  group,
5931
- open,
5932
5942
  deleteEvidence,
5933
5943
  isDeleting,
5934
5944
  error,
5935
5945
  onDeleteEvidenceChange,
5936
- onOpenChange,
5946
+ onCancel,
5937
5947
  onConfirm
5938
5948
  }) {
5939
- const title = group?.title ?? "this group";
5940
- const hasEvidence = group?.evidence !== null && group?.evidence !== void 0;
5941
- const evidencePath = group?.evidence?.markdownPath ?? "No evidence pack exported.";
5942
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogContent, { className: "max-w-md", children: [
5943
- /* @__PURE__ */ jsxRuntimeExports.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogTitle, { className: "flex items-center gap-2 pr-8", children: [
5944
- /* @__PURE__ */ jsxRuntimeExports.jsx(Trash2, { className: "size-5 text-red-600" }),
5945
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Delete group" })
5946
- ] }) }),
5947
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-3", children: [
5948
- /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-sm text-muted-foreground", children: [
5949
+ const hasEvidence = group.evidence !== null;
5950
+ const evidencePath = group.evidence?.markdownPath ?? "No evidence pack exported.";
5951
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "rounded-md border border-red-200 bg-red-50 px-3 py-3 text-red-900", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex min-w-0 flex-col gap-3 lg:flex-row lg:items-start lg:justify-between", children: [
5952
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "min-w-0 space-y-2", children: [
5953
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 text-sm font-semibold", children: [
5954
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Trash2, { className: "size-4 text-red-600" }),
5955
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Delete group?" })
5956
+ ] }),
5957
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-xs text-red-800", children: [
5949
5958
  "Delete ",
5950
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-medium text-foreground", children: title }),
5951
- "? Session logs and run records stay intact."
5959
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-medium", children: group.title }),
5960
+ ". Session logs and run records stay intact."
5952
5961
  ] }),
5953
5962
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
5954
5963
  "label",
5955
5964
  {
5956
5965
  className: cn(
5957
- "flex items-start gap-3 rounded-md border border-border bg-muted/20 px-3 py-2 text-sm",
5966
+ "flex min-w-0 items-start gap-2 text-xs",
5958
5967
  hasEvidence ? "cursor-pointer" : "opacity-60"
5959
5968
  ),
5960
5969
  children: [
@@ -5962,7 +5971,7 @@ function DeleteGroupDialog({
5962
5971
  "input",
5963
5972
  {
5964
5973
  type: "checkbox",
5965
- className: "mt-0.5 size-4",
5974
+ className: "mt-0.5 size-4 shrink-0",
5966
5975
  checked: deleteEvidence,
5967
5976
  disabled: !hasEvidence || isDeleting,
5968
5977
  onChange: (event) => onDeleteEvidenceChange(event.currentTarget.checked)
@@ -5970,14 +5979,14 @@ function DeleteGroupDialog({
5970
5979
  ),
5971
5980
  /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "min-w-0", children: [
5972
5981
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "block font-medium", children: "Also delete exported evidence files" }),
5973
- /* @__PURE__ */ jsxRuntimeExports.jsx("code", { className: "mt-1 block truncate font-mono text-[11px] text-muted-foreground", children: evidencePath })
5982
+ /* @__PURE__ */ jsxRuntimeExports.jsx("code", { className: "mt-1 block truncate font-mono text-[11px] text-red-700", children: evidencePath })
5974
5983
  ] })
5975
5984
  ]
5976
5985
  }
5977
5986
  ),
5978
- error !== null && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "rounded-md border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700", children: error })
5987
+ error !== null && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "rounded-md border border-red-200 bg-white px-2 py-1.5 text-xs text-red-700", children: error })
5979
5988
  ] }),
5980
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex justify-end gap-2 pt-1", children: [
5989
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex shrink-0 justify-end gap-2", children: [
5981
5990
  /* @__PURE__ */ jsxRuntimeExports.jsx(
5982
5991
  Button,
5983
5992
  {
@@ -5985,7 +5994,7 @@ function DeleteGroupDialog({
5985
5994
  variant: "outline",
5986
5995
  size: "sm",
5987
5996
  disabled: isDeleting,
5988
- onClick: () => onOpenChange(false),
5997
+ onClick: onCancel,
5989
5998
  children: "Cancel"
5990
5999
  }
5991
6000
  ),
@@ -5995,7 +6004,7 @@ function DeleteGroupDialog({
5995
6004
  type: "button",
5996
6005
  variant: "destructive",
5997
6006
  size: "sm",
5998
- disabled: isDeleting || group === null,
6007
+ disabled: isDeleting,
5999
6008
  onClick: onConfirm,
6000
6009
  children: [
6001
6010
  isDeleting ? /* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { className: "size-3.5 animate-spin" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Trash2, { className: "size-3.5" }),
@@ -1,7 +1,7 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { u as useProviders, D as Dialog, b as DialogContent, d as DialogHeader, e as DialogTitle, T as Tabs, h as TabsList, i as TabsTrigger, j as TabsContent, k as Button, l as TooltipProvider, m as Tooltip, n as TooltipTrigger, o as TooltipContent, p as dispatchLogFocusRequest } from "./ProxyViewerContainer-BqOcZ7en.mjs";
3
- import { ResponseView } from "./ResponseView-C_cRrleT.mjs";
4
- import { C as CapturedLogSchema } from "./router-DUb5lKw1.mjs";
2
+ import { u as useProviders, D as Dialog, b as DialogContent, d as DialogHeader, e as DialogTitle, T as Tabs, h as TabsList, i as TabsTrigger, j as TabsContent, k as Button, l as TooltipProvider, m as Tooltip, n as TooltipTrigger, o as TooltipContent, p as dispatchLogFocusRequest } from "./ProxyViewerContainer-DgPsLI2Q.mjs";
3
+ import { ResponseView } from "./ResponseView-lebGC0QX.mjs";
4
+ import { C as CapturedLogSchema } from "./router-BMv4lGQi.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import "../_libs/modelcontextprotocol__server.mjs";
7
7
  import { Q as RotateCcw, ad as Braces, ae as Minimize2 } from "../_libs/lucide-react.mjs";
@@ -121,10 +121,10 @@ import "../_libs/tanstack__react-router.mjs";
121
121
  import "../_libs/tiny-warning.mjs";
122
122
  import "../_libs/tanstack__router-core.mjs";
123
123
  import "../_libs/cookie-es.mjs";
124
- import "../_libs/tanstack__history.mjs";
125
- import "../_libs/tiny-invariant.mjs";
126
124
  import "../_libs/seroval.mjs";
127
125
  import "../_libs/seroval-plugins.mjs";
126
+ import "../_libs/tanstack__history.mjs";
127
+ import "../_libs/tiny-invariant.mjs";
128
128
  import "node:stream/web";
129
129
  import "node:stream";
130
130
  import "../_libs/isbot.mjs";
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { u as useProviders, q as analyzeContextIntelligence, f as formatTokens, l as TooltipProvider, c as cn, m as Tooltip, n as TooltipTrigger, o as TooltipContent, S as SegmentBar, R as ROLE_COLOR_CLASSES, A as ANATOMY_ROLE_LABELS, s as formatContextWindowTokens, C as CONTEXT_USAGE_THRESHOLDS } from "./ProxyViewerContainer-BqOcZ7en.mjs";
3
- import "./router-DUb5lKw1.mjs";
2
+ import { u as useProviders, q as analyzeContextIntelligence, f as formatTokens, l as TooltipProvider, c as cn, m as Tooltip, n as TooltipTrigger, o as TooltipContent, S as SegmentBar, R as ROLE_COLOR_CLASSES, A as ANATOMY_ROLE_LABELS, s as formatContextWindowTokens, C as CONTEXT_USAGE_THRESHOLDS } from "./ProxyViewerContainer-DgPsLI2Q.mjs";
3
+ import "./router-BMv4lGQi.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import { af as Info, c as ChevronDown, l as ChevronRight } from "../_libs/lucide-react.mjs";
@@ -119,10 +119,10 @@ import "../_libs/tanstack__react-router.mjs";
119
119
  import "../_libs/tiny-warning.mjs";
120
120
  import "../_libs/tanstack__router-core.mjs";
121
121
  import "../_libs/cookie-es.mjs";
122
- import "../_libs/tanstack__history.mjs";
123
- import "../_libs/tiny-invariant.mjs";
124
122
  import "../_libs/seroval.mjs";
125
123
  import "../_libs/seroval-plugins.mjs";
124
+ import "../_libs/tanstack__history.mjs";
125
+ import "../_libs/tiny-invariant.mjs";
126
126
  import "node:stream/web";
127
127
  import "node:stream";
128
128
  import "../_libs/isbot.mjs";
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { g as getLogFormatAdapter, f as formatTokens, c as cn, t as getStatusCategory, B as Badge, v as Collapsible, w as CollapsibleTrigger, x as CollapsibleContent, y as ScrollArea, z as JsonViewer, E as safeJsonValue } from "./ProxyViewerContainer-BqOcZ7en.mjs";
3
- import "./router-DUb5lKw1.mjs";
2
+ import { g as getLogFormatAdapter, f as formatTokens, c as cn, t as getStatusCategory, B as Badge, v as Collapsible, w as CollapsibleTrigger, x as CollapsibleContent, y as ScrollArea, z as JsonViewer, E as safeJsonValue } from "./ProxyViewerContainer-DgPsLI2Q.mjs";
3
+ import "./router-BMv4lGQi.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import { Z as Zap, q as TriangleAlert, ag as CircleStop, B as Brain, c as ChevronDown, l as ChevronRight, f as Terminal } from "../_libs/lucide-react.mjs";
@@ -67,10 +67,10 @@ import "../_libs/tanstack__react-router.mjs";
67
67
  import "../_libs/tiny-warning.mjs";
68
68
  import "../_libs/tanstack__router-core.mjs";
69
69
  import "../_libs/cookie-es.mjs";
70
- import "../_libs/tanstack__history.mjs";
71
- import "../_libs/tiny-invariant.mjs";
72
70
  import "../_libs/seroval.mjs";
73
71
  import "../_libs/seroval-plugins.mjs";
72
+ import "../_libs/tanstack__history.mjs";
73
+ import "../_libs/tiny-invariant.mjs";
74
74
  import "node:stream/web";
75
75
  import "node:stream";
76
76
  import "../_libs/isbot.mjs";
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { l as TooltipProvider, m as Tooltip, n as TooltipTrigger, B as Badge, o as TooltipContent, z as JsonViewer } from "./ProxyViewerContainer-BqOcZ7en.mjs";
3
- import "./router-DUb5lKw1.mjs";
2
+ import { l as TooltipProvider, m as Tooltip, n as TooltipTrigger, B as Badge, o as TooltipContent, z as JsonViewer } from "./ProxyViewerContainer-DgPsLI2Q.mjs";
3
+ import "./router-BMv4lGQi.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import { c as ChevronDown, l as ChevronRight, a as LoaderCircle } from "../_libs/lucide-react.mjs";
@@ -119,10 +119,10 @@ import "../_libs/tanstack__react-router.mjs";
119
119
  import "../_libs/tiny-warning.mjs";
120
120
  import "../_libs/tanstack__router-core.mjs";
121
121
  import "../_libs/cookie-es.mjs";
122
- import "../_libs/tanstack__history.mjs";
123
- import "../_libs/tiny-invariant.mjs";
124
122
  import "../_libs/seroval.mjs";
125
123
  import "../_libs/seroval-plugins.mjs";
124
+ import "../_libs/tanstack__history.mjs";
125
+ import "../_libs/tiny-invariant.mjs";
126
126
  import "node:stream/web";
127
127
  import "node:stream";
128
128
  import "../_libs/isbot.mjs";
@@ -1,6 +1,6 @@
1
- import { P as ProxyViewerContainer } from "./ProxyViewerContainer-BqOcZ7en.mjs";
1
+ import { P as ProxyViewerContainer } from "./ProxyViewerContainer-DgPsLI2Q.mjs";
2
2
  import "../_libs/react.mjs";
3
- import "./router-DUb5lKw1.mjs";
3
+ import "./router-BMv4lGQi.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import "../_libs/swr.mjs";
@@ -119,10 +119,10 @@ import "../_libs/tanstack__react-router.mjs";
119
119
  import "../_libs/tiny-warning.mjs";
120
120
  import "../_libs/tanstack__router-core.mjs";
121
121
  import "../_libs/cookie-es.mjs";
122
- import "../_libs/tanstack__history.mjs";
123
- import "../_libs/tiny-invariant.mjs";
124
122
  import "../_libs/seroval.mjs";
125
123
  import "../_libs/seroval-plugins.mjs";
124
+ import "../_libs/tanstack__history.mjs";
125
+ import "../_libs/tiny-invariant.mjs";
126
126
  import "node:stream/web";
127
127
  import "node:stream";
128
128
  import "../_libs/isbot.mjs";
@@ -1,13 +1,13 @@
1
1
  import { c as createMemoryHistory } from "../_libs/tanstack__history.mjs";
2
- import { a as rootRouteId, o as getNormalizedURL, p as getOrigin, q as attachRouterServerSsrUtils, u as defineHandlerCallback, v as createSerializationAdapter, w as createRawStreamRPCPlugin, i as isNotFound, b as isRedirect, x as isResolvedRedirect, y as mergeHeaders, z as executeRewriteInput, A as defaultSerovalPlugins, C as makeSerovalPlugin } from "../_libs/tanstack__router-core.mjs";
2
+ import { o as rootRouteId, p as getNormalizedURL, q as getOrigin, u as attachRouterServerSsrUtils, v as defineHandlerCallback, w as createSerializationAdapter, x as createRawStreamRPCPlugin, y as isNotFound, z as isRedirect, A as isResolvedRedirect, C as mergeHeaders, D as executeRewriteInput, E as defaultSerovalPlugins, F as makeSerovalPlugin } from "../_libs/tanstack__router-core.mjs";
3
3
  import { AsyncLocalStorage } from "node:async_hooks";
4
4
  import { H as H3Event, t as toResponse } from "../_libs/h3-v2.mjs";
5
- import { i as invariant } from "../_libs/tiny-invariant.mjs";
6
- import { a as au, I as Iu, o as ou } from "../_libs/seroval.mjs";
5
+ import { i as iu, P as Pu, s as su } from "../_libs/seroval.mjs";
7
6
  import { j as jsxRuntimeExports } from "../_libs/react.mjs";
8
7
  import { r as renderRouterToStream, R as RouterProvider } from "../_libs/tanstack__react-router.mjs";
9
8
  import "../_libs/cookie-es.mjs";
10
9
  import "../_libs/seroval-plugins.mjs";
10
+ import "../_libs/tiny-invariant.mjs";
11
11
  import "node:stream/web";
12
12
  import "node:stream";
13
13
  import "../_libs/rou3.mjs";
@@ -198,7 +198,7 @@ function getResponse() {
198
198
  return event.res;
199
199
  }
200
200
  async function getStartManifest(matchedRoutes) {
201
- const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-xcG1o8Vt.mjs");
201
+ const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-D2LyT1-l.mjs");
202
202
  const startManifest = tsrStartManifest();
203
203
  const rootRoute = startManifest.routes[rootRouteId] = startManifest.routes[rootRouteId] || {};
204
204
  rootRoute.assets = rootRoute.assets || [];
@@ -229,6 +229,15 @@ async function getStartManifest(matchedRoutes) {
229
229
  injectedHeadScripts
230
230
  };
231
231
  }
232
+ var prefix = "Invariant failed";
233
+ function invariant(condition, message) {
234
+ if (condition) {
235
+ return;
236
+ }
237
+ {
238
+ throw new Error(prefix);
239
+ }
240
+ }
232
241
  const textEncoder$1 = new TextEncoder();
233
242
  const EMPTY_PAYLOAD = new Uint8Array(0);
234
243
  function encodeFrame(type, streamId, payload) {
@@ -396,7 +405,7 @@ const handleServerAction = async ({
396
405
  }
397
406
  const contentType = request.headers.get("Content-Type");
398
407
  function parsePayload(payload) {
399
- const parsedPayload = Iu(payload, { plugins: serovalPlugins });
408
+ const parsedPayload = Pu(payload, { plugins: serovalPlugins });
400
409
  return parsedPayload;
401
410
  }
402
411
  const response = await (async () => {
@@ -424,7 +433,7 @@ const handleServerAction = async ({
424
433
  throw error;
425
434
  }
426
435
  };
427
- au(res2, {
436
+ iu(res2, {
428
437
  refs: /* @__PURE__ */ new Map(),
429
438
  plugins,
430
439
  onParse(value) {
@@ -532,7 +541,7 @@ const handleServerAction = async ({
532
541
  if (typeof serializedContext === "string") {
533
542
  try {
534
543
  const parsedContext = JSON.parse(serializedContext);
535
- const deserializedContext = Iu(parsedContext, {
544
+ const deserializedContext = Pu(parsedContext, {
536
545
  plugins: serovalPlugins
537
546
  });
538
547
  if (typeof deserializedContext === "object" && deserializedContext) {
@@ -598,7 +607,7 @@ const handleServerAction = async ({
598
607
  console.info();
599
608
  const serializedError = JSON.stringify(
600
609
  await Promise.resolve(
601
- ou(error, {
610
+ su(error, {
602
611
  refs: /* @__PURE__ */ new Map(),
603
612
  plugins: serovalPlugins
604
613
  })
@@ -629,10 +638,10 @@ function isNotFoundResponse(error) {
629
638
  }
630
639
  function resolveTransformConfig(transform) {
631
640
  if (typeof transform === "string") {
632
- const prefix = transform;
641
+ const prefix2 = transform;
633
642
  return {
634
643
  type: "transform",
635
- transformFn: ({ url }) => `${prefix}${url}`,
644
+ transformFn: ({ url }) => `${prefix2}${url}`,
636
645
  cache: true
637
646
  };
638
647
  }
@@ -767,7 +776,7 @@ let entriesPromise;
767
776
  let baseManifestPromise;
768
777
  let cachedFinalManifestPromise;
769
778
  async function loadEntries() {
770
- const routerEntry = await import("./router-DUb5lKw1.mjs").then((n) => n.w);
779
+ const routerEntry = await import("./router-BMv4lGQi.mjs").then((n) => n.w);
771
780
  const startEntry = await import("./start-HYkvq4Ni.mjs");
772
781
  return { startEntry, routerEntry };
773
782
  }