@qredence/fleet 0.10.0 → 0.10.1

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 (31) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/bin/prime-runtime.d.mts +19 -0
  3. package/bin/prime-runtime.mjs +42 -5
  4. package/dist/web/client/assets/{index-Cf8tRpHL.js → index-CEZTSuLf.js} +2 -2
  5. package/dist/web/client/assets/{routes--tnF7d6H.js → routes-EKRITFZz.js} +1 -1
  6. package/dist/web/client/bundle-budget.json +2 -2
  7. package/dist/web/server/{_tanstack-start-manifest_v-Io433TLr-YWPNQWQI.js → _tanstack-start-manifest_v-BiMhF9NX-QUZEGAB6.js} +4 -4
  8. package/dist/web/server/{artifacts-panel-cYqS54cM-K6SF3K6W.js → artifacts-panel-BNiaRF83-HDC6VQ66.js} +3 -3
  9. package/dist/web/server/{chat-command-palette-BDnwcymZ-DSTFIAOD.js → chat-command-palette-CT9aJAWG-LV26BDEW.js} +2 -2
  10. package/dist/web/server/{chunk-NSFKPEFI.js → chunk-27J2LPAW.js} +2 -2
  11. package/dist/web/server/{chunk-37EK2TYH.js → chunk-3CU2ITG7.js} +16 -16
  12. package/dist/web/server/{chunk-FI3UF2GW.js → chunk-3R7XCOWI.js} +3 -3
  13. package/dist/web/server/{chunk-RHJEOG37.js → chunk-4TKPOOIG.js} +4 -4
  14. package/dist/web/server/{chunk-2OC2FKHR.js → chunk-4YQ7RBB7.js} +3 -3
  15. package/dist/web/server/{chunk-W7GGECTL.js → chunk-5XRESJQR.js} +3 -3
  16. package/dist/web/server/{chunk-W2GI7NRX.js → chunk-LEZMRXSP.js} +42 -37
  17. package/dist/web/server/{create-project-dialog-BS5Sva46-BO4RLW2Q.js → create-project-dialog-EwieT1Vw-X5MYQSZM.js} +2 -2
  18. package/dist/web/server/{openui-renderer-Q31y65CQ-QNVSP4NN.js → openui-renderer-DCkg_JoD-4QCKSVY5.js} +2 -2
  19. package/dist/web/server/{resources-panel-CH8sG0Od-4BZN6SLY.js → resources-panel-s0mgyvgQ-FVMBBLJJ.js} +3 -3
  20. package/dist/web/server/{router-8EzTM9Eq-COVGJKKX.js → router-DXxChQOI-B7VVEX3H.js} +1 -1
  21. package/dist/web/server/{routes-88H0fiN3-WIAZJ3RT.js → routes-D-g2ILNg-LDYCQ4NU.js} +1 -1
  22. package/dist/web/server/server.js +2 -2
  23. package/dist/web/server/{session-activity-panel-CgSOde03-B5RCAGB4.js → session-activity-panel-wC0jAJvs-QAHJXPAM.js} +3 -3
  24. package/dist/web/server/{session-reasoning-panel-Dmny6YTk-D3HQV2YB.js → session-reasoning-panel-B_K8YgF5-AQPMFM3Y.js} +2 -2
  25. package/dist/web/server/{session-tool-renderer-BrnTO2w3-V6EE6AB2.js → session-tool-renderer-D96BACVh-CH5CV3TS.js} +2 -2
  26. package/dist/web/server/{session-tree-panel-BEqR_cAJ-TZS7VRCB.js → session-tree-panel-CZGXNZIP-FBB3XGMN.js} +2 -2
  27. package/dist/web/server/{settings-dialog-DkesVBrS-BAAA3YNU.js → settings-dialog-BrjqiTVe-H7WOTB4I.js} +3 -3
  28. package/dist/web/server/{subagent-chat-panel-Bfmt1bCE-DKDVH3NJ.js → subagent-chat-panel-Dz62jo_m-X4ZRN5KI.js} +5 -5
  29. package/dist/web/server/{subagents-panel-ChJDDvad-GNCHDTPB.js → subagents-panel-CwpbzJJz-N3ISHODM.js} +5 -5
  30. package/dist/web/server/{workspace-panel-Cij_JylD-WPYSV5FA.js → workspace-panel-C7akv5b9-XUKEHPOP.js} +3 -3
  31. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
- "timestamp": "2026-10-31T16:58:39.000Z",
3
- "routeEntry": "routes--tnF7d6H.js",
2
+ "timestamp": "2026-11-01T11:54:31.000Z",
3
+ "routeEntry": "routes-EKRITFZz.js",
4
4
  "routeEntryGzipBytes": 83146,
5
5
  "routeEntryReduction": 0.9214517436378992,
6
6
  "eagerFiles": 88,
@@ -1,6 +1,6 @@
1
1
  import "./chunk-CZ7CSFO4.js";
2
2
 
3
- // web/app/dist/server/assets/_tanstack-start-manifest_v-Io433TLr.js
3
+ // web/app/dist/server/assets/_tanstack-start-manifest_v-BiMhF9NX.js
4
4
  var tsrStartManifest = () => ({ routes: {
5
5
  __root__: {
6
6
  filePath: "/home/circleci/prime-agent/web/app/src/routes/__root.tsx",
@@ -15,7 +15,7 @@ var tsrStartManifest = () => ({ routes: {
15
15
  "/api/workspace/tree"
16
16
  ],
17
17
  preloads: [
18
- "/assets/index-Cf8tRpHL.js",
18
+ "/assets/index-CEZTSuLf.js",
19
19
  "/assets/rolldown-runtime-hePW80VL.js",
20
20
  "/assets/react-Cvdyeg_0.js",
21
21
  "/assets/react-dom-B7th3XGm.js",
@@ -32,14 +32,14 @@ var tsrStartManifest = () => ({ routes: {
32
32
  scripts: [{ attrs: {
33
33
  type: "module",
34
34
  async: true,
35
- src: "/assets/index-Cf8tRpHL.js"
35
+ src: "/assets/index-CEZTSuLf.js"
36
36
  } }]
37
37
  },
38
38
  "/": {
39
39
  filePath: "/home/circleci/prime-agent/web/app/src/routes/index.tsx",
40
40
  children: void 0,
41
41
  preloads: [
42
- "/assets/routes--tnF7d6H.js",
42
+ "/assets/routes-EKRITFZz.js",
43
43
  "/assets/with-selector-B_VDO56x.js",
44
44
  "/assets/chat-queries-ty76G6rK.js",
45
45
  "/assets/utils-oBThwhjm.js",
@@ -7,8 +7,8 @@ import {
7
7
  import {
8
8
  GenerativeTextRenderer,
9
9
  OpenUIHtmlArtifactView
10
- } from "./chunk-2OC2FKHR.js";
11
- import "./chunk-W2GI7NRX.js";
10
+ } from "./chunk-4YQ7RBB7.js";
11
+ import "./chunk-LEZMRXSP.js";
12
12
  import "./chunk-KSGGSGOA.js";
13
13
  import "./chunk-Q4ECIATK.js";
14
14
  import "./chunk-GNXIDE26.js";
@@ -2022,7 +2022,7 @@ import "./chunk-DP65WGRD.js";
2022
2022
  import "./chunk-IGN54DHU.js";
2023
2023
  import "./chunk-CZ7CSFO4.js";
2024
2024
 
2025
- // web/app/dist/server/assets/artifacts-panel-cYqS54cM.js
2025
+ // web/app/dist/server/assets/artifacts-panel-BNiaRF83.js
2026
2026
  import { useEffect, useMemo, useRef, useState } from "react";
2027
2027
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
2028
2028
  var DEFAULT_ARTIFACT_RUNS = [];
@@ -12,7 +12,7 @@ import "./chunk-BC4GIC2P.js";
12
12
  import "./chunk-FT7HNDR5.js";
13
13
  import {
14
14
  RIGHT_PANEL_DEFINITIONS
15
- } from "./chunk-37EK2TYH.js";
15
+ } from "./chunk-3CU2ITG7.js";
16
16
  import "./chunk-QOZCYKMA.js";
17
17
  import "./chunk-5MOXRFX6.js";
18
18
  import "./chunk-RX2ZJARF.js";
@@ -40,7 +40,7 @@ import "./chunk-35RIM6VP.js";
40
40
  import "./chunk-NXAVRSI5.js";
41
41
  import "./chunk-CZ7CSFO4.js";
42
42
 
43
- // web/app/dist/server/assets/chat-command-palette-BDnwcymZ.js
43
+ // web/app/dist/server/assets/chat-command-palette-CT9aJAWG.js
44
44
  import { useState } from "react";
45
45
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
46
46
  function ChatCommandPalette({ open, onOpenChange, onNewSession, onStop, onResumeSession, onSetRightPanel, onThemeChange, sessions, isStreaming, themePreference }) {
@@ -2,9 +2,9 @@ import {
2
2
  Skeleton,
3
3
  getResourceChipTitle,
4
4
  resourceKey
5
- } from "./chunk-37EK2TYH.js";
5
+ } from "./chunk-3CU2ITG7.js";
6
6
 
7
- // web/app/dist/server/assets/skeleton-loaders-DJwodZ_K.js
7
+ // web/app/dist/server/assets/skeleton-loaders-CmHiDl9j.js
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
9
  function ResourceNotice({ description, icon: Icon, title }) {
10
10
  return /* @__PURE__ */ jsxs("div", {
@@ -525,7 +525,7 @@ function isDaytonaNotConnectedError(error) {
525
525
  return error.status === 403;
526
526
  }
527
527
 
528
- // web/app/dist/server/assets/routes-88H0fiN3.js
528
+ // web/app/dist/server/assets/routes-D-g2ILNg.js
529
529
  import { Fragment as Fragment4, Suspense as Suspense2, createContext as createContext8, forwardRef as forwardRef15, isValidElement, lazy as lazy2, memo, useCallback as useCallback3, useContext as useContext8, useEffect as useEffect3, useEffectEvent, useId, useLayoutEffect, useMemo as useMemo8, useReducer, useRef as useRef12, useState as useState7, useSyncExternalStore as useSyncExternalStore2 } from "react";
530
530
  import { Fragment as Fragment$1, jsx as jsx4, jsxs } from "react/jsx-runtime";
531
531
  import { createPortal } from "react-dom";
@@ -3233,7 +3233,7 @@ var TabsList = /* @__PURE__ */ React31.forwardRef(function TabsList2(componentPr
3233
3233
  });
3234
3234
  if (process.env.NODE_ENV !== "production") TabsList.displayName = "TabsList";
3235
3235
 
3236
- // web/app/dist/server/assets/routes-88H0fiN3.js
3236
+ // web/app/dist/server/assets/routes-D-g2ILNg.js
3237
3237
  function isChatTextPart(part) {
3238
3238
  return part.type === "text";
3239
3239
  }
@@ -3485,7 +3485,7 @@ function PromptInput({ value, defaultValue = "", onValueChange, onSubmit, loadin
3485
3485
  ]
3486
3486
  });
3487
3487
  }
3488
- var LazyGenerativeTextRenderer = lazy2(() => import("./openui-renderer-Q31y65CQ-QNVSP4NN.js").then(({ GenerativeTextRenderer }) => ({ default: GenerativeTextRenderer })));
3488
+ var LazyGenerativeTextRenderer = lazy2(() => import("./openui-renderer-DCkg_JoD-4QCKSVY5.js").then(({ GenerativeTextRenderer }) => ({ default: GenerativeTextRenderer })));
3489
3489
  function PlainTextFallback({ className, content }) {
3490
3490
  return /* @__PURE__ */ jsx4("div", {
3491
3491
  className: className ? `${className} whitespace-pre-wrap` : "whitespace-pre-wrap",
@@ -5479,13 +5479,13 @@ function normalizeAssistantToolParts(parts) {
5479
5479
  });
5480
5480
  return changed ? normalizedParts : parts;
5481
5481
  }
5482
- var LazyArtifactsPanel = lazy2(() => import("./artifacts-panel-cYqS54cM-K6SF3K6W.js").then(({ ArtifactsPanelContent }) => ({ default: ArtifactsPanelContent })));
5483
- var LazyResourcesPanel = lazy2(() => import("./resources-panel-CH8sG0Od-4BZN6SLY.js").then(({ ResourcesPanelContent }) => ({ default: ResourcesPanelContent })));
5482
+ var LazyArtifactsPanel = lazy2(() => import("./artifacts-panel-BNiaRF83-HDC6VQ66.js").then(({ ArtifactsPanelContent }) => ({ default: ArtifactsPanelContent })));
5483
+ var LazyResourcesPanel = lazy2(() => import("./resources-panel-s0mgyvgQ-FVMBBLJJ.js").then(({ ResourcesPanelContent }) => ({ default: ResourcesPanelContent })));
5484
5484
  var LazySessionInsightsPanel = lazy2(() => import("./session-insights-panel-BiVObm_6-AP4FITT7.js").then(({ SessionInsightsPanel }) => ({ default: SessionInsightsPanel })));
5485
5485
  var LazyReplPanel = lazy2(() => import("./repl-panel-1kSS1UGd-POXRYDDJ.js").then(({ ReplPanelContent }) => ({ default: ReplPanelContent })));
5486
- var LazySubagentsPanel = lazy2(() => import("./subagents-panel-ChJDDvad-GNCHDTPB.js").then(({ SubagentsPanelContent }) => ({ default: SubagentsPanelContent })));
5487
- var LazyWorkspacePanel = lazy2(() => import("./workspace-panel-Cij_JylD-WPYSV5FA.js").then(({ WorkspacePanelContent }) => ({ default: WorkspacePanelContent })));
5488
- var LazySessionTreePanel = lazy2(() => import("./session-tree-panel-BEqR_cAJ-TZS7VRCB.js").then(({ SessionTreePanel }) => ({ default: SessionTreePanel })));
5486
+ var LazySubagentsPanel = lazy2(() => import("./subagents-panel-CwpbzJJz-N3ISHODM.js").then(({ SubagentsPanelContent }) => ({ default: SubagentsPanelContent })));
5487
+ var LazyWorkspacePanel = lazy2(() => import("./workspace-panel-C7akv5b9-XUKEHPOP.js").then(({ WorkspacePanelContent }) => ({ default: WorkspacePanelContent })));
5488
+ var LazySessionTreePanel = lazy2(() => import("./session-tree-panel-CZGXNZIP-FBB3XGMN.js").then(({ SessionTreePanel }) => ({ default: SessionTreePanel })));
5489
5489
  function PanelFallback() {
5490
5490
  return /* @__PURE__ */ jsxs("div", {
5491
5491
  className: "flex min-h-32 flex-col gap-3 p-4",
@@ -7624,7 +7624,7 @@ function iconFor(kind) {
7624
7624
  return kind;
7625
7625
  }
7626
7626
  }
7627
- var LazySessionToolRenderer = lazy2(() => import("./session-tool-renderer-BrnTO2w3-V6EE6AB2.js").then((n) => n.n).then(({ SessionToolRenderer: SessionToolRenderer2 }) => ({ default: SessionToolRenderer2 })));
7627
+ var LazySessionToolRenderer = lazy2(() => import("./session-tool-renderer-D96BACVh-CH5CV3TS.js").then((n) => n.n).then(({ SessionToolRenderer: SessionToolRenderer2 }) => ({ default: SessionToolRenderer2 })));
7628
7628
  function SessionToolRenderer(props) {
7629
7629
  return /* @__PURE__ */ jsx4(Suspense2, {
7630
7630
  fallback: /* @__PURE__ */ jsx4("div", {
@@ -7635,7 +7635,7 @@ function SessionToolRenderer(props) {
7635
7635
  children: /* @__PURE__ */ jsx4(LazySessionToolRenderer, { ...props })
7636
7636
  });
7637
7637
  }
7638
- var LazySessionReasoningPanel = lazy2(() => import("./session-reasoning-panel-Dmny6YTk-D3HQV2YB.js").then(({ SessionReasoningPanel: SessionReasoningPanel2 }) => ({ default: SessionReasoningPanel2 })));
7638
+ var LazySessionReasoningPanel = lazy2(() => import("./session-reasoning-panel-B_K8YgF5-AQPMFM3Y.js").then(({ SessionReasoningPanel: SessionReasoningPanel2 }) => ({ default: SessionReasoningPanel2 })));
7639
7639
  function SessionReasoningPanel(props) {
7640
7640
  return /* @__PURE__ */ jsx4(Suspense2, {
7641
7641
  fallback: /* @__PURE__ */ jsx4("div", {
@@ -12998,8 +12998,8 @@ function useChatWorkspaceDialogs() {
12998
12998
  settingsInitialTab
12999
12999
  };
13000
13000
  }
13001
- var LazyChatCommandPalette = lazy2(() => import("./chat-command-palette-BDnwcymZ-DSTFIAOD.js").then(({ ChatCommandPalette }) => ({ default: ChatCommandPalette })));
13002
- var LazySettingsDialog = lazy2(() => import("./settings-dialog-DkesVBrS-BAAA3YNU.js").then(({ SettingsDialog }) => ({ default: SettingsDialog })));
13001
+ var LazyChatCommandPalette = lazy2(() => import("./chat-command-palette-CT9aJAWG-LV26BDEW.js").then(({ ChatCommandPalette }) => ({ default: ChatCommandPalette })));
13002
+ var LazySettingsDialog = lazy2(() => import("./settings-dialog-BrjqiTVe-H7WOTB4I.js").then(({ SettingsDialog }) => ({ default: SettingsDialog })));
13003
13003
  var LazyForkPickerDialog = lazy2(() => import("./fork-picker-dialog-DFpKOdAw-JPLJSYYU.js").then(({ ForkPickerDialog }) => ({ default: ForkPickerDialog })));
13004
13004
  function ChatCommandPaletteOverlay({ chrome, conversation, dialogs, panels, session }) {
13005
13005
  return /* @__PURE__ */ jsx4(Fragment$1, { children: dialogs.commandPaletteOpen ? /* @__PURE__ */ jsx4(Suspense2, {
@@ -15861,7 +15861,7 @@ function DiscordIcon({ className, ...props }) {
15861
15861
  }
15862
15862
  function fleetVersion() {
15863
15863
  try {
15864
- return "0.10.0";
15864
+ return "0.10.1";
15865
15865
  } catch {
15866
15866
  return "dev";
15867
15867
  }
@@ -16569,7 +16569,7 @@ function useSessionSidebarViewModel({ sessions, projects = EMPTY_PROJECTS, proje
16569
16569
  ])
16570
16570
  };
16571
16571
  }
16572
- var LazySessionSidebarCreateDialog = lazy2(() => import("./create-project-dialog-BS5Sva46-BO4RLW2Q.js").then(({ SessionSidebarCreateDialog }) => ({ default: SessionSidebarCreateDialog })));
16572
+ var LazySessionSidebarCreateDialog = lazy2(() => import("./create-project-dialog-EwieT1Vw-X5MYQSZM.js").then(({ SessionSidebarCreateDialog }) => ({ default: SessionSidebarCreateDialog })));
16573
16573
  function SessionSidebar({ data, sessionActions, projectActions = {}, navigationActions = {}, slots = {} }) {
16574
16574
  const { sessions, projects = EMPTY_PROJECTS, projectSessions = sessions, activeProjectId, activeSessionId } = data;
16575
16575
  const { onNewSession, onNewSessionInProject, onResumeSession, onRenameSession, onDeleteSession } = sessionActions;
@@ -16651,8 +16651,8 @@ function SessionSidebar({ data, sessionActions, projectActions = {}, navigationA
16651
16651
  })
16652
16652
  ] });
16653
16653
  }
16654
- var LazySubagentChatPanel = lazy2(() => import("./subagent-chat-panel-Bfmt1bCE-DKDVH3NJ.js").then(({ SubagentChatPanel }) => ({ default: SubagentChatPanel })));
16655
- var LazySessionActivityPanel = lazy2(() => import("./session-activity-panel-CgSOde03-B5RCAGB4.js").then(({ SessionActivityPanel }) => ({ default: SessionActivityPanel })));
16654
+ var LazySubagentChatPanel = lazy2(() => import("./subagent-chat-panel-Dz62jo_m-X4ZRN5KI.js").then(({ SubagentChatPanel }) => ({ default: SubagentChatPanel })));
16655
+ var LazySessionActivityPanel = lazy2(() => import("./session-activity-panel-wC0jAJvs-QAHJXPAM.js").then(({ SessionActivityPanel }) => ({ default: SessionActivityPanel })));
16656
16656
  function ChatWorkspaceShell() {
16657
16657
  const { session, conversation, composer, panels, dialogs, chrome, agentTabs } = useChatWorkspaceData();
16658
16658
  const toggleCommandPalette = useCallback3(() => {
@@ -31,7 +31,7 @@ import {
31
31
  stripSandboxPrefixes,
32
32
  toolActionIconForName,
33
33
  useHoverCapable
34
- } from "./chunk-37EK2TYH.js";
34
+ } from "./chunk-3CU2ITG7.js";
35
35
  import {
36
36
  Collapsible$1,
37
37
  CollapsibleContent,
@@ -106,7 +106,7 @@ import {
106
106
  cn
107
107
  } from "./chunk-VDEUVEWL.js";
108
108
 
109
- // web/app/dist/server/assets/session-tool-renderer-BrnTO2w3.js
109
+ // web/app/dist/server/assets/session-tool-renderer-D96BACVh.js
110
110
  import React, { memo, useCallback as useCallback4, useEffect as useEffect3, useId, useLayoutEffect as useLayoutEffect2, useMemo as useMemo2, useRef as useRef3, useState as useState4 } from "react";
111
111
  import { Fragment as Fragment$1, jsx as jsx7, jsxs as jsxs3 } from "react/jsx-runtime";
112
112
 
@@ -12248,7 +12248,7 @@ function MultiFileDiff({ oldFile, newFile, options, editorOptions, editStateKey,
12248
12248
  });
12249
12249
  }
12250
12250
 
12251
- // web/app/dist/server/assets/session-tool-renderer-BrnTO2w3.js
12251
+ // web/app/dist/server/assets/session-tool-renderer-D96BACVh.js
12252
12252
  function getFaviconUrl(value) {
12253
12253
  try {
12254
12254
  return new URL("/favicon.ico", value).toString();
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  ToolTimeline
3
- } from "./chunk-W7GGECTL.js";
3
+ } from "./chunk-5XRESJQR.js";
4
4
  import {
5
5
  SessionToolRenderer
6
- } from "./chunk-FI3UF2GW.js";
6
+ } from "./chunk-3R7XCOWI.js";
7
7
  import {
8
8
  Message,
9
9
  MessageBubble,
@@ -27,7 +27,7 @@ import {
27
27
  orderedRlmChildren,
28
28
  rlmStatusIcon,
29
29
  transcriptStatus
30
- } from "./chunk-37EK2TYH.js";
30
+ } from "./chunk-3CU2ITG7.js";
31
31
  import {
32
32
  derivePrimeAgentArtifactRuns
33
33
  } from "./chunk-5MOXRFX6.js";
@@ -43,7 +43,7 @@ import {
43
43
  cn
44
44
  } from "./chunk-VDEUVEWL.js";
45
45
 
46
- // web/app/dist/server/assets/subagent-transcript-B7lNGgU9.js
46
+ // web/app/dist/server/assets/subagent-transcript-ZNTb7jvI.js
47
47
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
48
48
  import { jsx, jsxs } from "react/jsx-runtime";
49
49
  function SubagentList({ children, tree, className }) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  validateAndNormalizeOpenUIHtmlArtifact
3
- } from "./chunk-W2GI7NRX.js";
3
+ } from "./chunk-LEZMRXSP.js";
4
4
  import {
5
5
  Card,
6
6
  CardContent,
@@ -10894,7 +10894,7 @@ var require_react_is = __commonJS({
10894
10894
  }
10895
10895
  });
10896
10896
 
10897
- // web/app/dist/server/assets/openui-renderer-Q31y65CQ.js
10897
+ // web/app/dist/server/assets/openui-renderer-DCkg_JoD.js
10898
10898
  import * as React$1 from "react";
10899
10899
  import { createContext as createContext21, useCallback as useCallback24, useContext as useContext21, useEffect as useEffect40, useId as useId5, useMemo as useMemo25, useRef as useRef45, useState as useState35 } from "react";
10900
10900
  import { Fragment as Fragment$12, jsx as jsx25, jsxs as jsxs9 } from "react/jsx-runtime";
@@ -79924,7 +79924,7 @@ var Separator4 = /* @__PURE__ */ React114.forwardRef(function SeparatorComponent
79924
79924
  });
79925
79925
  if (process.env.NODE_ENV !== "production") Separator4.displayName = "Separator";
79926
79926
 
79927
- // web/app/dist/server/assets/openui-renderer-Q31y65CQ.js
79927
+ // web/app/dist/server/assets/openui-renderer-DCkg_JoD.js
79928
79928
  var OpenUIArtifactContext = createContext21({ artifactIndex: 0 });
79929
79929
  function OpenUIArtifactProvider({ children, value }) {
79930
79930
  return /* @__PURE__ */ jsx25(OpenUIArtifactContext.Provider, {
@@ -9,15 +9,15 @@ import {
9
9
  TraceTitle,
10
10
  normalizeToolPart$1,
11
11
  toolActionIconForName
12
- } from "./chunk-37EK2TYH.js";
12
+ } from "./chunk-3CU2ITG7.js";
13
13
  import {
14
14
  cn
15
15
  } from "./chunk-VDEUVEWL.js";
16
16
 
17
- // web/app/dist/server/assets/tool-timeline-FI4Do73g.js
17
+ // web/app/dist/server/assets/tool-timeline-B11Rt-kr.js
18
18
  import { Suspense, lazy, useMemo, useState } from "react";
19
19
  import { jsx, jsxs } from "react/jsx-runtime";
20
- var LazySessionToolRenderer = lazy(() => import("./session-tool-renderer-BrnTO2w3-V6EE6AB2.js").then((n) => n.n).then(({ SessionToolRenderer }) => ({ default: SessionToolRenderer })));
20
+ var LazySessionToolRenderer = lazy(() => import("./session-tool-renderer-D96BACVh-CH5CV3TS.js").then((n) => n.n).then(({ SessionToolRenderer }) => ({ default: SessionToolRenderer })));
21
21
  var NO_ARTIFACTS = [];
22
22
  function artifactPanel(kind) {
23
23
  return kind === "ipython" ? "repl" : "artifacts";
@@ -123,7 +123,7 @@ import {
123
123
  lazyRouteComponent
124
124
  } from "./chunk-35RIM6VP.js";
125
125
 
126
- // web/app/dist/server/assets/router-8EzTM9Eq.js
126
+ // web/app/dist/server/assets/router-DXxChQOI.js
127
127
  import { useEffect, useLayoutEffect, useState } from "react";
128
128
  import { jsx, jsxs } from "react/jsx-runtime";
129
129
  import { chmod, mkdir, mkdtemp, open, readFile, readdir, realpath, rename, rm, stat, unlink, writeFile } from "node:fs/promises";
@@ -2266,7 +2266,7 @@ function RootDocument({ children }) {
2266
2266
  })]
2267
2267
  });
2268
2268
  }
2269
- var $$splitComponentImporter$2 = () => import("./routes-88H0fiN3-WIAZJ3RT.js").then((n) => n.t);
2269
+ var $$splitComponentImporter$2 = () => import("./routes-D-g2ILNg-LDYCQ4NU.js").then((n) => n.t);
2270
2270
  var Route$31 = createFileRoute("/")({ component: lazyRouteComponent($$splitComponentImporter$2, "component") });
2271
2271
  var $$splitComponentImporter$1 = () => import("./agents-DOgCHixY-KUZP2VDO.js");
2272
2272
  var Route$30 = createFileRoute("/agents")({ component: lazyRouteComponent($$splitComponentImporter$1, "component") });
@@ -4641,7 +4641,7 @@ var PRIME_AGENT_RUNTIME_default = {
4641
4641
  }
4642
4642
  }
4643
4643
  };
4644
- function runtimeArchiveTarget(os, cpu) {
4644
+ function runtimeTarget(os = platform(), cpu = arch()) {
4645
4645
  const target = `${os}-${cpu}`;
4646
4646
  if (![
4647
4647
  "darwin-arm64",
@@ -4651,55 +4651,53 @@ function runtimeArchiveTarget(os, cpu) {
4651
4651
  ].includes(target)) throw new Error(`Fleet's Rust Prime Agent runtime does not support ${target}; supported targets: darwin-arm64, darwin-x64, linux-arm64, linux-x64.`);
4652
4652
  return target;
4653
4653
  }
4654
- async function ensurePrimeAgentRuntime(options = {}) {
4655
- const selectedTarget = options.target ?? runtimeArchiveTarget(platform(), arch());
4656
- const runtime = PRIME_AGENT_RUNTIME_default.rust;
4657
- const asset = runtime.platforms[selectedTarget];
4658
- if (!asset) throw new Error(`No pinned Prime Agent runtime archive for ${selectedTarget}`);
4659
- const installRoot = options.installRoot ?? join(options.home ?? homedir(), ".prime", "fleet", "runtimes", runtime.version, selectedTarget);
4660
- const binary = join(installRoot, "prime-agent");
4661
- const packagedRuntime = join(installRoot, "prime-agent-runtime");
4662
- if (await executableMatches(binary, asset.executableSha256) && await directoryExists(packagedRuntime)) return binary;
4663
- await mkdir(dirname(installRoot), {
4654
+ async function ensurePrimeRuntime({ manifest, installRoot, home = homedir(), fetch: fetchImpl = fetch, target = runtimeTarget() }) {
4655
+ const runtime = manifest.rust;
4656
+ const asset = runtime?.platforms?.[target];
4657
+ if (!asset) throw new Error(`Fleet has no pinned Prime Agent runtime for ${target}`);
4658
+ const destination = installRoot ?? join(home, ".prime", "fleet", "runtimes", runtime.version, target);
4659
+ const executable = join(destination, "prime-agent");
4660
+ const packagedRuntime = join(destination, "prime-agent-runtime");
4661
+ if (await matchesDigest(executable, asset.executableSha256) && await directoryExists(packagedRuntime)) return executable;
4662
+ await mkdir(dirname(destination), {
4664
4663
  recursive: true,
4665
4664
  mode: 448
4666
4665
  });
4667
- const staging = await mkdtemp(join(dirname(installRoot), ".fleet-prime-runtime-"));
4666
+ const staging = await mkdtemp(join(dirname(destination), ".fleet-prime-runtime-"));
4668
4667
  try {
4669
4668
  const archivePath = join(staging, asset.archive);
4670
- const response = await (options.fetch ?? fetch)(`${runtime.baseUrl}/${asset.archive}`, { signal: AbortSignal.timeout(12e4) });
4669
+ const response = await fetchImpl(`${runtime.baseUrl}/${asset.archive}`, { signal: AbortSignal.timeout(12e4) });
4671
4670
  if (!response.ok) throw new Error(`Could not download Prime Agent ${runtime.version} (${response.status}). Check your network and retry.`);
4672
- const bytes = Buffer.from(await response.arrayBuffer());
4673
- if (digest(bytes) !== asset.sha256) throw new Error(`Prime Agent ${runtime.version} archive checksum mismatch; refusing to install it.`);
4674
- await writeFile(archivePath, bytes, { mode: 384 });
4675
- const extractRoot = join(staging, "extracted");
4676
- await mkdir(extractRoot);
4677
- const extraction = spawnSync("tar", [
4671
+ const archive = Buffer.from(await response.arrayBuffer());
4672
+ if (digest(archive) !== asset.sha256) throw new Error(`Prime Agent ${runtime.version} archive checksum mismatch; refusing to install it.`);
4673
+ await writeFile(archivePath, archive, { mode: 384 });
4674
+ const unpacked = join(staging, "unpacked");
4675
+ await mkdir(unpacked);
4676
+ const result = spawnSync("tar", [
4678
4677
  "-xzf",
4679
4678
  archivePath,
4680
4679
  "-C",
4681
- extractRoot
4680
+ unpacked
4682
4681
  ], { encoding: "utf8" });
4683
- if (extraction.status !== 0) throw new Error(`Could not extract Prime Agent runtime: ${extraction.stderr || "tar failed"}`);
4684
- const extractedBinary = join(extractRoot, "prime-agent");
4685
- if (!await executableMatches(extractedBinary, asset.executableSha256)) throw new Error("Extracted Prime Agent executable checksum mismatch; refusing to install it.");
4682
+ if (result.status !== 0) throw new Error(`Could not extract Prime Agent runtime: ${result.stderr || "tar failed"}`);
4683
+ const extractedBinary = join(unpacked, "prime-agent");
4684
+ if (!await matchesDigest(extractedBinary, asset.executableSha256)) throw new Error("Extracted Prime Agent executable checksum mismatch; refusing to install it.");
4686
4685
  await chmod(extractedBinary, 493);
4687
- await mkdir(installRoot, {
4686
+ await mkdir(destination, {
4688
4687
  recursive: true,
4689
4688
  mode: 448
4690
4689
  });
4691
- const extractedRuntime = join(extractRoot, "prime-agent-runtime");
4690
+ const extractedRuntime = join(unpacked, "prime-agent-runtime");
4692
4691
  if (await directoryExists(extractedRuntime)) {
4693
- await rm(packagedRuntime, {
4694
- recursive: true,
4695
- force: true
4692
+ await rename(packagedRuntime, join(staging, "previous-runtime")).catch((error) => {
4693
+ if (error.code !== "ENOENT") throw error;
4696
4694
  });
4697
4695
  await rename(extractedRuntime, packagedRuntime).catch((error) => {
4698
4696
  if (error.code !== "ENOTEMPTY" && error.code !== "EEXIST") throw error;
4699
4697
  });
4700
4698
  }
4701
- await rename(extractedBinary, binary);
4702
- return binary;
4699
+ await rename(extractedBinary, executable);
4700
+ return executable;
4703
4701
  } finally {
4704
4702
  await rm(staging, {
4705
4703
  recursive: true,
@@ -4710,11 +4708,12 @@ async function ensurePrimeAgentRuntime(options = {}) {
4710
4708
  async function directoryExists(path) {
4711
4709
  try {
4712
4710
  return (await stat(path)).isDirectory();
4713
- } catch {
4714
- return false;
4711
+ } catch (error) {
4712
+ if (error.code === "ENOENT" || error.code === "ENOTDIR") return false;
4713
+ throw error;
4715
4714
  }
4716
4715
  }
4717
- async function executableMatches(path, expected) {
4716
+ async function matchesDigest(path, expected) {
4718
4717
  let file2;
4719
4718
  try {
4720
4719
  file2 = await open(path, "r");
@@ -4725,8 +4724,14 @@ async function executableMatches(path, expected) {
4725
4724
  await file2?.close();
4726
4725
  }
4727
4726
  }
4728
- function digest(bytes) {
4729
- return createHash("sha256").update(bytes).digest("hex");
4727
+ function digest(value) {
4728
+ return createHash("sha256").update(value).digest("hex");
4729
+ }
4730
+ function ensurePrimeAgentRuntime(options = {}) {
4731
+ return ensurePrimeRuntime({
4732
+ manifest: PRIME_AGENT_RUNTIME_default,
4733
+ ...options
4734
+ });
4730
4735
  }
4731
4736
  var DAEMON_STARTUP_TIMEOUT_MS = 3e4;
4732
4737
  var DAEMON_PROBE_TIMEOUT_MS = 1e3;
@@ -22,7 +22,7 @@ import {
22
22
  import {
23
23
  directoryErrorMessage,
24
24
  pathEntryLabel
25
- } from "./chunk-37EK2TYH.js";
25
+ } from "./chunk-3CU2ITG7.js";
26
26
  import "./chunk-QOZCYKMA.js";
27
27
  import "./chunk-5MOXRFX6.js";
28
28
  import "./chunk-RX2ZJARF.js";
@@ -52,7 +52,7 @@ import "./chunk-35RIM6VP.js";
52
52
  import "./chunk-NXAVRSI5.js";
53
53
  import "./chunk-CZ7CSFO4.js";
54
54
 
55
- // web/app/dist/server/assets/create-project-dialog-BS5Sva46.js
55
+ // web/app/dist/server/assets/create-project-dialog-EwieT1Vw.js
56
56
  import { useCallback, useEffect, useId, useRef, useState } from "react";
57
57
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
58
58
  function SessionSidebarCreateDialog({ open, onClose, onBrowseDirectories, onCreateProject }) {
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  GenerativeTextRenderer,
3
3
  OpenUIHtmlArtifactView
4
- } from "./chunk-2OC2FKHR.js";
5
- import "./chunk-W2GI7NRX.js";
4
+ } from "./chunk-4YQ7RBB7.js";
5
+ import "./chunk-LEZMRXSP.js";
6
6
  import "./chunk-KSGGSGOA.js";
7
7
  import "./chunk-Q4ECIATK.js";
8
8
  import "./chunk-GNXIDE26.js";
@@ -2,10 +2,10 @@ import {
2
2
  ResourceChipSection,
3
3
  ResourceNotice,
4
4
  ResourcesSkeleton
5
- } from "./chunk-NSFKPEFI.js";
5
+ } from "./chunk-27J2LPAW.js";
6
6
  import {
7
7
  getResourceGroups
8
- } from "./chunk-37EK2TYH.js";
8
+ } from "./chunk-3CU2ITG7.js";
9
9
  import "./chunk-QOZCYKMA.js";
10
10
  import "./chunk-5MOXRFX6.js";
11
11
  import "./chunk-RX2ZJARF.js";
@@ -27,7 +27,7 @@ import "./chunk-35RIM6VP.js";
27
27
  import "./chunk-NXAVRSI5.js";
28
28
  import "./chunk-CZ7CSFO4.js";
29
29
 
30
- // web/app/dist/server/assets/resources-panel-CH8sG0Od.js
30
+ // web/app/dist/server/assets/resources-panel-s0mgyvgQ.js
31
31
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
32
32
  function ResourcesPanelContent({ error, loading, resources, workspace }) {
33
33
  const groups = getResourceGroups(resources, workspace);
@@ -2,7 +2,7 @@ import {
2
2
  getRouter,
3
3
  router_exports,
4
4
  validateAndNormalizeOpenUIHtmlArtifact
5
- } from "./chunk-W2GI7NRX.js";
5
+ } from "./chunk-LEZMRXSP.js";
6
6
  import "./chunk-KSGGSGOA.js";
7
7
  import "./chunk-TAPQMXA7.js";
8
8
  import "./chunk-6GYLXDX3.js";
@@ -50,7 +50,7 @@ import {
50
50
  toolActionIconForName,
51
51
  transcriptStatus,
52
52
  useHoverCapable
53
- } from "./chunk-37EK2TYH.js";
53
+ } from "./chunk-3CU2ITG7.js";
54
54
  import "./chunk-QOZCYKMA.js";
55
55
  import "./chunk-5MOXRFX6.js";
56
56
  import "./chunk-RX2ZJARF.js";
@@ -2548,7 +2548,7 @@ function getResponse() {
2548
2548
  }
2549
2549
  var HEADERS = { TSS_SHELL: "X-TSS_SHELL" };
2550
2550
  async function getStartManifest(matchedRoutes) {
2551
- const { tsrStartManifest } = await import("./_tanstack-start-manifest_v-Io433TLr-YWPNQWQI.js");
2551
+ const { tsrStartManifest } = await import("./_tanstack-start-manifest_v-BiMhF9NX-QUZEGAB6.js");
2552
2552
  const startManifest = tsrStartManifest();
2553
2553
  let routes = startManifest.routes;
2554
2554
  routes[rootRouteId];
@@ -5722,7 +5722,7 @@ var getBaseManifest = getProdBaseManifest;
5722
5722
  var createEarlyHintsForRequest = createEarlyHintsCollector;
5723
5723
  async function loadEntries() {
5724
5724
  const [routerEntry, startEntry, pluginAdapters] = await Promise.all([
5725
- import("./router-8EzTM9Eq-COVGJKKX.js").then((n) => n.t),
5725
+ import("./router-DXxChQOI-B7VVEX3H.js").then((n) => n.t),
5726
5726
  import("./start-2iP5edI6-7IIO7TA6.js"),
5727
5727
  import("./empty-plugin-adapters-CVykojMw-NXXTUYZA.js")
5728
5728
  ]);
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  ToolTimeline
3
- } from "./chunk-W7GGECTL.js";
3
+ } from "./chunk-5XRESJQR.js";
4
4
  import {
5
5
  ReasoningLine,
6
6
  groupMessages
7
- } from "./chunk-37EK2TYH.js";
7
+ } from "./chunk-3CU2ITG7.js";
8
8
  import "./chunk-QOZCYKMA.js";
9
9
  import "./chunk-5MOXRFX6.js";
10
10
  import "./chunk-RX2ZJARF.js";
@@ -31,7 +31,7 @@ import "./chunk-35RIM6VP.js";
31
31
  import "./chunk-NXAVRSI5.js";
32
32
  import "./chunk-CZ7CSFO4.js";
33
33
 
34
- // web/app/dist/server/assets/session-activity-panel-CgSOde03.js
34
+ // web/app/dist/server/assets/session-activity-panel-wC0jAJvs.js
35
35
  import { jsx, jsxs } from "react/jsx-runtime";
36
36
  function messageText(message) {
37
37
  return message.parts.filter((part) => part.type === "text").map((part) => part.type === "text" ? part.text : "").join(" ").trim();
@@ -7,7 +7,7 @@ import {
7
7
  TraceIcon,
8
8
  TraceLine,
9
9
  TraceTitle
10
- } from "./chunk-37EK2TYH.js";
10
+ } from "./chunk-3CU2ITG7.js";
11
11
  import "./chunk-QOZCYKMA.js";
12
12
  import "./chunk-5MOXRFX6.js";
13
13
  import "./chunk-RX2ZJARF.js";
@@ -30,7 +30,7 @@ import "./chunk-35RIM6VP.js";
30
30
  import "./chunk-NXAVRSI5.js";
31
31
  import "./chunk-CZ7CSFO4.js";
32
32
 
33
- // web/app/dist/server/assets/session-reasoning-panel-Dmny6YTk.js
33
+ // web/app/dist/server/assets/session-reasoning-panel-B_K8YgF5.js
34
34
  import { useState } from "react";
35
35
  import { jsx, jsxs } from "react/jsx-runtime";
36
36
  function SessionReasoningPanel({ presentation, className, streamingOverride }) {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  SessionToolRenderer,
3
3
  session_tool_renderer_exports
4
- } from "./chunk-FI3UF2GW.js";
4
+ } from "./chunk-3R7XCOWI.js";
5
5
  import "./chunk-R4BS3KYI.js";
6
6
  import "./chunk-KBMRRJQN.js";
7
- import "./chunk-37EK2TYH.js";
7
+ import "./chunk-3CU2ITG7.js";
8
8
  import "./chunk-QOZCYKMA.js";
9
9
  import "./chunk-5MOXRFX6.js";
10
10
  import "./chunk-RX2ZJARF.js";
@@ -5,7 +5,7 @@ import {
5
5
  AlertDialogDescription,
6
6
  AlertDialogFooter,
7
7
  AlertDialogTitle
8
- } from "./chunk-37EK2TYH.js";
8
+ } from "./chunk-3CU2ITG7.js";
9
9
  import "./chunk-QOZCYKMA.js";
10
10
  import "./chunk-5MOXRFX6.js";
11
11
  import "./chunk-RX2ZJARF.js";
@@ -30,7 +30,7 @@ import "./chunk-35RIM6VP.js";
30
30
  import "./chunk-NXAVRSI5.js";
31
31
  import "./chunk-CZ7CSFO4.js";
32
32
 
33
- // web/app/dist/server/assets/session-tree-panel-BEqR_cAJ.js
33
+ // web/app/dist/server/assets/session-tree-panel-CZGXNZIP.js
34
34
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
35
35
  import { jsx, jsxs } from "react/jsx-runtime";
36
36
  function flattenVisibleNodes(nodes, depth = 0) {