@qredence/fleet 0.10.0 → 0.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/bin/prime-runtime.d.mts +19 -0
- package/bin/prime-runtime.mjs +42 -5
- package/dist/web/client/assets/{artifacts-panel-6JEdy6jU.js → artifacts-panel-CfWH5cQn.js} +1 -1
- package/dist/web/client/assets/{chat-command-palette-Bxr5EkO6.js → chat-command-palette-CKGrP-Ke.js} +1 -1
- package/dist/web/client/assets/{ease-DYVhTl2n.js → ease-nNJMFgD_.js} +1 -1
- package/dist/web/client/assets/globals-C6h6fq-s.css +2 -0
- package/dist/web/client/assets/{index-Cf8tRpHL.js → index-D3OD2pV7.js} +2 -2
- package/dist/web/client/assets/{model-selector-list-CbDAT0Rw.js → model-selector-list-CIJArf3L.js} +1 -1
- package/dist/web/client/assets/{prompt-input-CoV1gTUQ.js → prompt-input-0kaw0ekd.js} +1 -1
- package/dist/web/client/assets/{right-panel-registry-BAJ6TuEY.js → right-panel-registry-BkBAryPm.js} +2 -2
- package/dist/web/client/assets/routes-DgbWbQOu.js +14 -0
- package/dist/web/client/assets/{session-activity-panel-DwaXiSrS.js → session-activity-panel-BloVPsLJ.js} +1 -1
- package/dist/web/client/assets/{session-tool-renderer-DEABxZG3.js → session-tool-renderer-CGMatufW.js} +1 -1
- package/dist/web/client/assets/{subagent-chat-panel-R2RoX1Yt.js → subagent-chat-panel-xm-zBsFL.js} +1 -1
- package/dist/web/client/assets/{subagent-transcript-DVZhMo7a.js → subagent-transcript-BzToBVWk.js} +1 -1
- package/dist/web/client/assets/{subagents-panel-CMMRUP8F.js → subagents-panel-B5ooG4sS.js} +1 -1
- package/dist/web/client/assets/{tool-part-normalizer-CF6bmJ0s.js → tool-part-normalizer-CJ2sY87r.js} +1 -1
- package/dist/web/client/assets/{tool-result-7qREIVv_.js → tool-result-C_RIixge.js} +4 -4
- package/dist/web/client/assets/{tool-timeline-CGhwMeNl.js → tool-timeline-BVY5VQ3a.js} +2 -2
- package/dist/web/client/assets/{use-reduced-motion-CFEp5oKr.js → use-reduced-motion-69Ji0Qlf.js} +1 -1
- package/dist/web/client/assets/workspace-panel-DsZZnfkm.js +1 -0
- package/dist/web/client/bundle-budget.json +5 -5
- package/dist/web/server/{_tanstack-start-manifest_v-Io433TLr-YWPNQWQI.js → _tanstack-start-manifest_v-CGHXgy5L-KSOQEPW7.js} +9 -9
- package/dist/web/server/{artifacts-panel-cYqS54cM-K6SF3K6W.js → artifacts-panel-CHPMYc6C-OWIYGSRM.js} +5 -5
- package/dist/web/server/{chat-command-palette-BDnwcymZ-DSTFIAOD.js → chat-command-palette-VF4C0ttN-GY52QBFP.js} +3 -3
- package/dist/web/server/{chunk-RX2ZJARF.js → chunk-4OLRCVML.js} +2 -21
- package/dist/web/server/{chunk-W2GI7NRX.js → chunk-7DUB7HGF.js} +43 -38
- package/dist/web/server/{chunk-37EK2TYH.js → chunk-GW7HYECO.js} +169 -528
- package/dist/web/server/{chunk-FI3UF2GW.js → chunk-LYJ3XDEZ.js} +5 -5
- package/dist/web/server/{chunk-2OC2FKHR.js → chunk-MDGXRDJM.js} +3 -3
- package/dist/web/server/{chunk-W7GGECTL.js → chunk-NDU4LK5M.js} +3 -3
- package/dist/web/server/{chunk-NSFKPEFI.js → chunk-P3ZJ6L7V.js} +2 -2
- package/dist/web/server/{chunk-KBMRRJQN.js → chunk-PBNUO4IN.js} +2 -2
- package/dist/web/server/{chunk-RHJEOG37.js → chunk-W72ZBCJ5.js} +4 -4
- package/dist/web/server/{create-project-dialog-BS5Sva46-BO4RLW2Q.js → create-project-dialog-CSZHeLNg-EEW3DRTY.js} +3 -3
- package/dist/web/server/{model-selector-list-By_G7_Hr-GXT27BZO.js → model-selector-list-q8bMnmhy-SPFJGUBT.js} +2 -2
- package/dist/web/server/{openui-renderer-Q31y65CQ-QNVSP4NN.js → openui-renderer-BkDeIpwC-S5BOLH5L.js} +2 -2
- package/dist/web/server/{resources-panel-CH8sG0Od-4BZN6SLY.js → resources-panel-tCQCqEQv-NJO5FRHW.js} +4 -4
- package/dist/web/server/{router-8EzTM9Eq-COVGJKKX.js → router-DBc-HYGW-CC6DTCFR.js} +1 -1
- package/dist/web/server/{routes-88H0fiN3-WIAZJ3RT.js → routes-CcRh_tDy-M7ZRBLVA.js} +2 -2
- package/dist/web/server/server.js +2 -2
- package/dist/web/server/{session-activity-panel-CgSOde03-B5RCAGB4.js → session-activity-panel-CS56rTyW-J4GAZSTC.js} +4 -4
- package/dist/web/server/{session-reasoning-panel-Dmny6YTk-D3HQV2YB.js → session-reasoning-panel-DlqaQNE2-RMOBVYVD.js} +3 -3
- package/dist/web/server/{session-tool-renderer-BrnTO2w3-V6EE6AB2.js → session-tool-renderer-CHYJwJej-Z3K5TRIZ.js} +4 -4
- package/dist/web/server/{session-tree-panel-BEqR_cAJ-TZS7VRCB.js → session-tree-panel-B2GT3Hf_-WGHVVRRR.js} +3 -3
- package/dist/web/server/{settings-dialog-DkesVBrS-BAAA3YNU.js → settings-dialog-7V9x-CPC-6IEB2DFH.js} +4 -4
- package/dist/web/server/{subagent-chat-panel-Bfmt1bCE-DKDVH3NJ.js → subagent-chat-panel-Cjg1oOFO-PNWSFYNA.js} +7 -7
- package/dist/web/server/{subagents-panel-ChJDDvad-GNCHDTPB.js → subagents-panel-DPfqOHdw-B74PSAMP.js} +7 -7
- package/dist/web/server/{workspace-panel-Cij_JylD-WPYSV5FA.js → workspace-panel-DRaU8AWD-7AYOEM55.js} +4 -4
- package/package.json +1 -1
- package/dist/web/client/assets/globals-DDDleTbS.css +0 -2
- package/dist/web/client/assets/routes--tnF7d6H.js +0 -14
- package/dist/web/client/assets/workspace-panel-Da5I4p_t.js +0 -1
|
@@ -123,7 +123,7 @@ import {
|
|
|
123
123
|
lazyRouteComponent
|
|
124
124
|
} from "./chunk-35RIM6VP.js";
|
|
125
125
|
|
|
126
|
-
// web/app/dist/server/assets/router-
|
|
126
|
+
// web/app/dist/server/assets/router-DBc-HYGW.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";
|
|
@@ -2194,7 +2194,7 @@ function getQueryClient() {
|
|
|
2194
2194
|
if (!browserQueryClient) browserQueryClient = makeQueryClient();
|
|
2195
2195
|
return browserQueryClient;
|
|
2196
2196
|
}
|
|
2197
|
-
var globals_default = "/assets/globals-
|
|
2197
|
+
var globals_default = "/assets/globals-C6h6fq-s.css";
|
|
2198
2198
|
var Route$32 = createRootRoute({
|
|
2199
2199
|
head: () => ({
|
|
2200
2200
|
meta: [
|
|
@@ -2266,7 +2266,7 @@ function RootDocument({ children }) {
|
|
|
2266
2266
|
})]
|
|
2267
2267
|
});
|
|
2268
2268
|
}
|
|
2269
|
-
var $$splitComponentImporter$2 = () => import("./routes-
|
|
2269
|
+
var $$splitComponentImporter$2 = () => import("./routes-CcRh_tDy-M7ZRBLVA.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
|
|
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
|
|
4655
|
-
const
|
|
4656
|
-
const
|
|
4657
|
-
|
|
4658
|
-
|
|
4659
|
-
const
|
|
4660
|
-
const
|
|
4661
|
-
|
|
4662
|
-
|
|
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(
|
|
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 (
|
|
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
|
|
4673
|
-
if (digest(
|
|
4674
|
-
await writeFile(archivePath,
|
|
4675
|
-
const
|
|
4676
|
-
await mkdir(
|
|
4677
|
-
const
|
|
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
|
-
|
|
4680
|
+
unpacked
|
|
4682
4681
|
], { encoding: "utf8" });
|
|
4683
|
-
if (
|
|
4684
|
-
const extractedBinary = join(
|
|
4685
|
-
if (!await
|
|
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(
|
|
4686
|
+
await mkdir(destination, {
|
|
4688
4687
|
recursive: true,
|
|
4689
4688
|
mode: 448
|
|
4690
4689
|
});
|
|
4691
|
-
const extractedRuntime = join(
|
|
4690
|
+
const extractedRuntime = join(unpacked, "prime-agent-runtime");
|
|
4692
4691
|
if (await directoryExists(extractedRuntime)) {
|
|
4693
|
-
await
|
|
4694
|
-
|
|
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,
|
|
4702
|
-
return
|
|
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
|
|
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(
|
|
4729
|
-
return createHash("sha256").update(
|
|
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;
|