@tonyclaw/agent-inspector 3.0.12 → 3.0.14
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/.output/cli.js +72 -6
- package/.output/nitro.json +1 -1
- package/.output/public/assets/{CompareDrawer-BxgmeTyv.js → CompareDrawer-DDfwHQUi.js} +1 -1
- package/.output/public/assets/{ProxyViewerContainer-CchT6T-4.js → ProxyViewerContainer-CbNsaoQw.js} +41 -41
- package/.output/public/assets/{ReplayDialog-CMHVUtVB.js → ReplayDialog-D-26DMBt.js} +1 -1
- package/.output/public/assets/{RequestAnatomy-CpqHIkD1.js → RequestAnatomy-B6zNFqNX.js} +1 -1
- package/.output/public/assets/{ResponseView-BvhBiQ5k.js → ResponseView-Ccy95rWI.js} +2 -2
- package/.output/public/assets/{StreamingChunkSequence-CcNvFNPp.js → StreamingChunkSequence-yIiscGuE.js} +1 -1
- package/.output/public/assets/{_sessionId-D5z6C77f.js → _sessionId-BnMB0zab.js} +1 -1
- package/.output/public/assets/index-49RC4dlD.js +1 -0
- package/.output/public/assets/{index-CXcH69lm.js → index-BbtAIxbg.js} +1 -1
- package/.output/public/assets/index-DXKupW0r.css +1 -0
- package/.output/public/assets/{json-viewer-DjRQ00mw.js → json-viewer-C838cVmD.js} +1 -1
- package/.output/public/assets/{main-CkKubKth.js → main-BfN4culo.js} +2 -2
- package/.output/server/_libs/lucide-react.mjs +33 -33
- package/.output/server/{_sessionId-IP7wEbnv.mjs → _sessionId-DoprmwZV.mjs} +3 -3
- package/.output/server/_ssr/{CompareDrawer-B4qTq3I9.mjs → CompareDrawer-YMLJNxXR.mjs} +3 -3
- package/.output/server/_ssr/{ProxyViewerContainer-CCIJ1EcB.mjs → ProxyViewerContainer-C62eZnva.mjs} +215 -24
- package/.output/server/_ssr/{ReplayDialog-BgxCdCxM.mjs → ReplayDialog-NmN7Ukjo.mjs} +3 -3
- package/.output/server/_ssr/{RequestAnatomy-De3QDi_x.mjs → RequestAnatomy-Dawm2qxe.mjs} +2 -2
- package/.output/server/_ssr/{ResponseView-Dvibk8g5.mjs → ResponseView-BHyAY83t.mjs} +3 -3
- package/.output/server/_ssr/{StreamingChunkSequence-oAsweEag.mjs → StreamingChunkSequence-C4qgcJbg.mjs} +2 -2
- package/.output/server/_ssr/{index-BIlK7gMO.mjs → index-B2Pf6W_T.mjs} +2 -2
- package/.output/server/_ssr/index.mjs +2 -2
- package/.output/server/_ssr/{json-viewer-Dgo4oRbs.mjs → json-viewer-u67BASf8.mjs} +3 -3
- package/.output/server/_ssr/{router-DY_2TxnZ.mjs → router-CZhFVMGN.mjs} +267 -111
- package/.output/server/_tanstack-start-manifest_v-Dk2HfOoe.mjs +4 -0
- package/.output/server/index.mjs +73 -73
- package/README.md +32 -9
- package/package.json +1 -1
- package/src/cli.ts +95 -11
- package/src/components/ecosystem/AgentLabDialog.tsx +221 -10
- package/src/lib/ecosystemContract.ts +21 -1
- package/src/proxy/ecosystemRegistry.ts +52 -0
- package/src/proxy/ecosystemTasks.ts +95 -1
- package/src/routes/api/ecosystem.packages.ts +2 -1
- package/src/routes/api/ecosystem.recipes.$recipeId.run.ts +16 -0
- package/.output/public/assets/index-BIgsQvaF.css +0 -1
- package/.output/public/assets/index-C57MERBU.js +0 -1
- package/.output/server/_tanstack-start-manifest_v-CYOwyBpv.mjs +0 -4
|
@@ -65,8 +65,8 @@ import "../_libs/immediate.mjs";
|
|
|
65
65
|
import "../_libs/setimmediate.mjs";
|
|
66
66
|
import "../_libs/pako.mjs";
|
|
67
67
|
const faviconSvg = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20role='img'%20aria-label='Agent%20Inspector'%3e%3cg%20fill='none'%20stroke='%23f59e0b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%20%3e%3cpath%20d='M5%2013%20C5%209%208%207%2012%207%20C16%207%2019%209%2019%2013%20C19%2016%2016%2018%2012%2018%20C8%2018%205%2016%205%2013%20Z'%20/%3e%3cpath%20d='M5%2011%20C3.5%209.5%201.5%2010%202%2012.5%20C2.5%2014%204%2013.5%205%2012.5'%20/%3e%3cpath%20d='M19%2011%20C20.5%209.5%2022.5%2010%2022%2012.5%20C21.5%2014%2020%2013.5%2019%2012.5'%20/%3e%3cline%20x1='10'%20y1='7'%20x2='9.5'%20y2='5'%20/%3e%3cline%20x1='14'%20y1='7'%20x2='14.5'%20y2='5'%20/%3e%3cline%20x1='6.5'%20y1='16'%20x2='4.5'%20y2='19.5'%20/%3e%3cline%20x1='9'%20y1='17.5'%20x2='8'%20y2='20.5'%20/%3e%3cline%20x1='15'%20y1='17.5'%20x2='16'%20y2='20.5'%20/%3e%3cline%20x1='17.5'%20y1='16'%20x2='19.5'%20y2='19.5'%20/%3e%3c/g%3e%3ccircle%20cx='9.5'%20cy='4.5'%20r='0.9'%20fill='%23f59e0b'%20/%3e%3ccircle%20cx='14.5'%20cy='4.5'%20r='0.9'%20fill='%23f59e0b'%20/%3e%3c/svg%3e";
|
|
68
|
-
const appCss = "/assets/index-
|
|
69
|
-
const Route$
|
|
68
|
+
const appCss = "/assets/index-DXKupW0r.css";
|
|
69
|
+
const Route$L = createRootRoute({
|
|
70
70
|
head: () => ({
|
|
71
71
|
meta: [
|
|
72
72
|
{ charSet: "utf-8" },
|
|
@@ -108,8 +108,8 @@ function RootDocument({ children }) {
|
|
|
108
108
|
] })
|
|
109
109
|
] });
|
|
110
110
|
}
|
|
111
|
-
const $$splitComponentImporter$1 = () => import("./index-
|
|
112
|
-
const Route$
|
|
111
|
+
const $$splitComponentImporter$1 = () => import("./index-B2Pf6W_T.mjs");
|
|
112
|
+
const Route$K = createFileRoute("/")({
|
|
113
113
|
component: lazyRouteComponent($$splitComponentImporter$1, "component")
|
|
114
114
|
});
|
|
115
115
|
const B64URL_RE = /^[A-Za-z0-9_-]+$/;
|
|
@@ -151,8 +151,8 @@ function decodeSessionIdFromPath(encoded) {
|
|
|
151
151
|
function getSessionPath(sessionId) {
|
|
152
152
|
return `/session/${encodeSessionIdForPath(sessionId)}`;
|
|
153
153
|
}
|
|
154
|
-
const $$splitComponentImporter = () => import("../_sessionId-
|
|
155
|
-
const Route$
|
|
154
|
+
const $$splitComponentImporter = () => import("../_sessionId-DoprmwZV.mjs");
|
|
155
|
+
const Route$J = createFileRoute("/session/$sessionId")({
|
|
156
156
|
component: lazyRouteComponent($$splitComponentImporter, "component"),
|
|
157
157
|
parseParams: (params) => ({
|
|
158
158
|
sessionId: decodeSessionIdFromPath(params.sessionId)
|
|
@@ -7581,7 +7581,7 @@ async function handleProxy(req) {
|
|
|
7581
7581
|
}
|
|
7582
7582
|
return handleStreamingResponse(upstreamRes, req, startTime, upstreamUrl, log, captureFullDetails);
|
|
7583
7583
|
}
|
|
7584
|
-
const Route$
|
|
7584
|
+
const Route$I = createFileRoute("/proxy/$")({
|
|
7585
7585
|
server: {
|
|
7586
7586
|
handlers: {
|
|
7587
7587
|
GET: ({ request }) => handleProxy(request),
|
|
@@ -7602,7 +7602,7 @@ function parsePositiveInt$4(value) {
|
|
|
7602
7602
|
function parseBooleanFlag(value) {
|
|
7603
7603
|
return value === "1" || value === "true";
|
|
7604
7604
|
}
|
|
7605
|
-
const Route$
|
|
7605
|
+
const Route$H = createFileRoute("/api/sessions")({
|
|
7606
7606
|
server: {
|
|
7607
7607
|
handlers: {
|
|
7608
7608
|
GET: async ({ request }) => {
|
|
@@ -9067,7 +9067,7 @@ function parsePositiveInt$3(value, fallback) {
|
|
|
9067
9067
|
if (!Number.isInteger(parsed) || parsed < 1) return fallback;
|
|
9068
9068
|
return parsed;
|
|
9069
9069
|
}
|
|
9070
|
-
const Route$
|
|
9070
|
+
const Route$G = createFileRoute("/api/runs")({
|
|
9071
9071
|
server: {
|
|
9072
9072
|
handlers: {
|
|
9073
9073
|
GET: ({ request }) => {
|
|
@@ -9113,7 +9113,7 @@ const ProviderInputSchema = object({
|
|
|
9113
9113
|
modelMetadata: array(ProviderModelMetadataSchema).optional(),
|
|
9114
9114
|
source: _enum(["company", "personal"]).optional()
|
|
9115
9115
|
});
|
|
9116
|
-
const Route$
|
|
9116
|
+
const Route$F = createFileRoute("/api/providers")({
|
|
9117
9117
|
server: {
|
|
9118
9118
|
handlers: {
|
|
9119
9119
|
GET: ({ request }) => {
|
|
@@ -9148,7 +9148,7 @@ const Route$E = createFileRoute("/api/providers")({
|
|
|
9148
9148
|
}
|
|
9149
9149
|
}
|
|
9150
9150
|
});
|
|
9151
|
-
const Route$
|
|
9151
|
+
const Route$E = createFileRoute("/api/models")({
|
|
9152
9152
|
server: {
|
|
9153
9153
|
handlers: {
|
|
9154
9154
|
GET: () => Response.json(getModels())
|
|
@@ -9156,7 +9156,7 @@ const Route$D = createFileRoute("/api/models")({
|
|
|
9156
9156
|
}
|
|
9157
9157
|
});
|
|
9158
9158
|
const name = "@tonyclaw/agent-inspector";
|
|
9159
|
-
const version = "3.0.
|
|
9159
|
+
const version = "3.0.14";
|
|
9160
9160
|
const packageJson = {
|
|
9161
9161
|
name,
|
|
9162
9162
|
version
|
|
@@ -12263,7 +12263,7 @@ const PROMPT_NAMES = [
|
|
|
12263
12263
|
"inspector_generate_group_report",
|
|
12264
12264
|
"inspector_extract_repro_steps"
|
|
12265
12265
|
];
|
|
12266
|
-
const Route$
|
|
12266
|
+
const Route$D = createFileRoute("/api/mcp")({
|
|
12267
12267
|
server: {
|
|
12268
12268
|
handlers: {
|
|
12269
12269
|
// The SDK may issue either POST, GET, or DELETE. TanStack Start only
|
|
@@ -12382,7 +12382,7 @@ function parseOptionalPositiveInt(value) {
|
|
|
12382
12382
|
if (!Number.isInteger(parsed) || parsed < 1) return { ok: false };
|
|
12383
12383
|
return { ok: true, value: parsed };
|
|
12384
12384
|
}
|
|
12385
|
-
const Route$
|
|
12385
|
+
const Route$C = createFileRoute("/api/logs")({
|
|
12386
12386
|
server: {
|
|
12387
12387
|
handlers: {
|
|
12388
12388
|
GET: async ({ request }) => {
|
|
@@ -12500,7 +12500,7 @@ const Route$B = createFileRoute("/api/logs")({
|
|
|
12500
12500
|
}
|
|
12501
12501
|
});
|
|
12502
12502
|
logger.debug("Health endpoint loaded");
|
|
12503
|
-
const Route$
|
|
12503
|
+
const Route$B = createFileRoute("/api/health")({
|
|
12504
12504
|
server: {
|
|
12505
12505
|
handlers: {
|
|
12506
12506
|
GET: () => {
|
|
@@ -12537,7 +12537,7 @@ function readDeleteEvidenceFlag$1(request) {
|
|
|
12537
12537
|
return { ok: false };
|
|
12538
12538
|
}
|
|
12539
12539
|
}
|
|
12540
|
-
const Route$
|
|
12540
|
+
const Route$A = createFileRoute("/api/groups")({
|
|
12541
12541
|
server: {
|
|
12542
12542
|
handlers: {
|
|
12543
12543
|
GET: () => Response.json(listInspectorGroups()),
|
|
@@ -12581,7 +12581,7 @@ const RuntimeConfigPatchSchema = object({
|
|
|
12581
12581
|
}).strict().refine((v) => Object.keys(v).length > 0, {
|
|
12582
12582
|
message: "At least one field must be provided"
|
|
12583
12583
|
});
|
|
12584
|
-
const Route$
|
|
12584
|
+
const Route$z = createFileRoute("/api/config")({
|
|
12585
12585
|
server: {
|
|
12586
12586
|
handlers: {
|
|
12587
12587
|
GET: () => {
|
|
@@ -13190,7 +13190,7 @@ function parseFilters(url) {
|
|
|
13190
13190
|
source: sourceResult.success ? sourceResult.data : void 0
|
|
13191
13191
|
};
|
|
13192
13192
|
}
|
|
13193
|
-
const Route$
|
|
13193
|
+
const Route$y = createFileRoute("/api/alerts")({
|
|
13194
13194
|
server: {
|
|
13195
13195
|
handlers: {
|
|
13196
13196
|
GET: async ({ request }) => {
|
|
@@ -13215,7 +13215,7 @@ async function readJsonBody$4(request) {
|
|
|
13215
13215
|
return { ok: false };
|
|
13216
13216
|
}
|
|
13217
13217
|
}
|
|
13218
|
-
const Route$
|
|
13218
|
+
const Route$x = createFileRoute("/api/runs/$runId")({
|
|
13219
13219
|
server: {
|
|
13220
13220
|
handlers: {
|
|
13221
13221
|
GET: ({ params }) => {
|
|
@@ -13690,7 +13690,7 @@ function scanExternalProviders() {
|
|
|
13690
13690
|
}
|
|
13691
13691
|
return { providers: filteredProviders, warnings };
|
|
13692
13692
|
}
|
|
13693
|
-
const Route$
|
|
13693
|
+
const Route$w = createFileRoute("/api/providers/scan")({
|
|
13694
13694
|
server: {
|
|
13695
13695
|
handlers: {
|
|
13696
13696
|
GET: () => {
|
|
@@ -13711,7 +13711,7 @@ const Route$v = createFileRoute("/api/providers/scan")({
|
|
|
13711
13711
|
}
|
|
13712
13712
|
});
|
|
13713
13713
|
union([string(), object({ providers: unknown() })]);
|
|
13714
|
-
const Route$
|
|
13714
|
+
const Route$v = createFileRoute("/api/providers/import")({
|
|
13715
13715
|
server: {
|
|
13716
13716
|
handlers: {
|
|
13717
13717
|
POST: async ({ request }) => {
|
|
@@ -13744,7 +13744,7 @@ const Route$u = createFileRoute("/api/providers/import")({
|
|
|
13744
13744
|
}
|
|
13745
13745
|
}
|
|
13746
13746
|
});
|
|
13747
|
-
const Route$
|
|
13747
|
+
const Route$u = createFileRoute("/api/providers/export")({
|
|
13748
13748
|
server: {
|
|
13749
13749
|
handlers: {
|
|
13750
13750
|
GET: ({ request }) => {
|
|
@@ -13778,7 +13778,7 @@ const ProviderUpdateSchema = object({
|
|
|
13778
13778
|
modelMetadata: array(ProviderModelMetadataSchema).optional(),
|
|
13779
13779
|
source: _enum(["company", "personal"]).optional()
|
|
13780
13780
|
});
|
|
13781
|
-
const Route$
|
|
13781
|
+
const Route$t = createFileRoute("/api/providers/$providerId")({
|
|
13782
13782
|
server: {
|
|
13783
13783
|
handlers: {
|
|
13784
13784
|
GET: ({ params, request }) => {
|
|
@@ -13813,7 +13813,7 @@ const Route$s = createFileRoute("/api/providers/$providerId")({
|
|
|
13813
13813
|
}
|
|
13814
13814
|
});
|
|
13815
13815
|
const INITIAL_STREAM_LOG_LIMIT = 100;
|
|
13816
|
-
const Route$
|
|
13816
|
+
const Route$s = createFileRoute("/api/logs/stream")({
|
|
13817
13817
|
server: {
|
|
13818
13818
|
handlers: {
|
|
13819
13819
|
GET: ({ request }) => {
|
|
@@ -14253,7 +14253,7 @@ function sessionNameFromImportFileName(fileName) {
|
|
|
14253
14253
|
function isUploadedFile(value) {
|
|
14254
14254
|
return value instanceof File;
|
|
14255
14255
|
}
|
|
14256
|
-
const Route$
|
|
14256
|
+
const Route$r = createFileRoute("/api/logs/import")({
|
|
14257
14257
|
server: {
|
|
14258
14258
|
handlers: {
|
|
14259
14259
|
POST: async ({ request }) => {
|
|
@@ -14290,7 +14290,7 @@ const Route$q = createFileRoute("/api/logs/import")({
|
|
|
14290
14290
|
}
|
|
14291
14291
|
}
|
|
14292
14292
|
});
|
|
14293
|
-
const Route$
|
|
14293
|
+
const Route$q = createFileRoute("/api/logs/$id")({
|
|
14294
14294
|
server: {
|
|
14295
14295
|
handlers: {
|
|
14296
14296
|
GET: async ({ params }) => {
|
|
@@ -14827,7 +14827,7 @@ const SearchBodySchema = object({
|
|
|
14827
14827
|
query: string().min(1),
|
|
14828
14828
|
project: string().optional()
|
|
14829
14829
|
});
|
|
14830
|
-
const Route$
|
|
14830
|
+
const Route$p = createFileRoute("/api/knowledge/search")({
|
|
14831
14831
|
server: {
|
|
14832
14832
|
handlers: {
|
|
14833
14833
|
GET: async ({ request }) => {
|
|
@@ -14849,7 +14849,7 @@ const Route$o = createFileRoute("/api/knowledge/search")({
|
|
|
14849
14849
|
}
|
|
14850
14850
|
}
|
|
14851
14851
|
});
|
|
14852
|
-
const Route$
|
|
14852
|
+
const Route$o = createFileRoute("/api/knowledge/project-context")({
|
|
14853
14853
|
server: {
|
|
14854
14854
|
handlers: {
|
|
14855
14855
|
GET: async ({ request }) => {
|
|
@@ -14931,7 +14931,7 @@ function updateCandidateDraft(id, updates) {
|
|
|
14931
14931
|
candidates.set(id, updated);
|
|
14932
14932
|
return updated;
|
|
14933
14933
|
}
|
|
14934
|
-
const Route$
|
|
14934
|
+
const Route$n = createFileRoute("/api/knowledge/candidates")({
|
|
14935
14935
|
server: {
|
|
14936
14936
|
handlers: {
|
|
14937
14937
|
GET: () => Response.json({ candidates: listCandidates() })
|
|
@@ -14966,7 +14966,7 @@ function readDeleteEvidenceFlag(request) {
|
|
|
14966
14966
|
return { ok: false };
|
|
14967
14967
|
}
|
|
14968
14968
|
}
|
|
14969
|
-
const Route$
|
|
14969
|
+
const Route$m = createFileRoute("/api/groups/$groupId")({
|
|
14970
14970
|
server: {
|
|
14971
14971
|
handlers: {
|
|
14972
14972
|
GET: ({ params }) => {
|
|
@@ -15102,6 +15102,48 @@ const RUNNER_PRESETS = [
|
|
|
15102
15102
|
agentsDir: ".claude/agents"
|
|
15103
15103
|
}
|
|
15104
15104
|
];
|
|
15105
|
+
const LAB_RECIPES = [
|
|
15106
|
+
{
|
|
15107
|
+
id: "inspector-mcp-smoke",
|
|
15108
|
+
title: "Inspector MCP smoke",
|
|
15109
|
+
stage: "Validate",
|
|
15110
|
+
packageId: "eval-harness",
|
|
15111
|
+
description: "Check that the running Inspector exposes the MCP tools eval-harness expects.",
|
|
15112
|
+
command: "npx @tonyclaw/eval-harness check-inspector-mcp",
|
|
15113
|
+
requiresSession: false,
|
|
15114
|
+
runnable: true
|
|
15115
|
+
},
|
|
15116
|
+
{
|
|
15117
|
+
id: "session-evidence-smoke",
|
|
15118
|
+
title: "Session evidence smoke",
|
|
15119
|
+
stage: "Capture",
|
|
15120
|
+
packageId: "eval-harness",
|
|
15121
|
+
description: "Create a lightweight Inspector evidence run from the latest captured logs or selected session.",
|
|
15122
|
+
command: 'npx @tonyclaw/eval-harness inspector-smoke --title "TonyClaw Lab smoke" --latest-log-limit 5',
|
|
15123
|
+
requiresSession: false,
|
|
15124
|
+
runnable: true
|
|
15125
|
+
},
|
|
15126
|
+
{
|
|
15127
|
+
id: "runner-presets-json",
|
|
15128
|
+
title: "Runner presets JSON",
|
|
15129
|
+
stage: "Connect",
|
|
15130
|
+
packageId: "eval-harness",
|
|
15131
|
+
description: "Export runner adapter baselines as machine-readable JSON for CI or docs.",
|
|
15132
|
+
command: "npx @tonyclaw/eval-harness runner-presets --format json",
|
|
15133
|
+
requiresSession: false,
|
|
15134
|
+
runnable: true
|
|
15135
|
+
},
|
|
15136
|
+
{
|
|
15137
|
+
id: "local-smoke-batch",
|
|
15138
|
+
title: "Local smoke batch",
|
|
15139
|
+
stage: "Evaluate",
|
|
15140
|
+
packageId: "eval-harness",
|
|
15141
|
+
description: "Run one short local Jenkins-like evaluation using explicit project/work directories.",
|
|
15142
|
+
command: "npx @tonyclaw/eval-harness run-once --smoke --project-source <project> --work-source <work> --count 1 --parallel 1",
|
|
15143
|
+
requiresSession: false,
|
|
15144
|
+
runnable: false
|
|
15145
|
+
}
|
|
15146
|
+
];
|
|
15105
15147
|
const NPM_TIMEOUT_MS = 4e3;
|
|
15106
15148
|
function runNpm(args) {
|
|
15107
15149
|
return new Promise((resolve2) => {
|
|
@@ -15214,10 +15256,14 @@ async function listEcosystemPackages() {
|
|
|
15214
15256
|
function findEcosystemPackage(packageId) {
|
|
15215
15257
|
return ECOSYSTEM_PACKAGES.find((definition) => definition.id === packageId) ?? null;
|
|
15216
15258
|
}
|
|
15259
|
+
function findEcosystemRecipe(recipeId) {
|
|
15260
|
+
return LAB_RECIPES.find((recipe) => recipe.id === recipeId) ?? null;
|
|
15261
|
+
}
|
|
15217
15262
|
const MAX_TASKS = 50;
|
|
15218
15263
|
const OUTPUT_LIMIT = 4e4;
|
|
15219
15264
|
const INSTALL_TIMEOUT_MS = 12e4;
|
|
15220
15265
|
const HELP_TIMEOUT_MS = 3e4;
|
|
15266
|
+
const RECIPE_TIMEOUT_MS = 9e4;
|
|
15221
15267
|
const tasks = /* @__PURE__ */ new Map();
|
|
15222
15268
|
function nowIso() {
|
|
15223
15269
|
return (/* @__PURE__ */ new Date()).toISOString();
|
|
@@ -15246,8 +15292,31 @@ function packageActionArgs(action, npmName) {
|
|
|
15246
15292
|
return ["exec", "--yes", npmName, "--", "--help"];
|
|
15247
15293
|
case "runner-presets":
|
|
15248
15294
|
return ["exec", "--yes", "@tonyclaw/eval-harness", "--", "runner-presets"];
|
|
15295
|
+
case "recipe":
|
|
15296
|
+
return ["exec", "--yes", npmName, "--", "--help"];
|
|
15249
15297
|
}
|
|
15250
15298
|
}
|
|
15299
|
+
function recipeActionArgs(recipeId) {
|
|
15300
|
+
const execPrefix = ["exec", "--yes", "@tonyclaw/eval-harness", "--"];
|
|
15301
|
+
switch (recipeId) {
|
|
15302
|
+
case "inspector-mcp-smoke":
|
|
15303
|
+
return [...execPrefix, "check-inspector-mcp"];
|
|
15304
|
+
case "session-evidence-smoke":
|
|
15305
|
+
return [
|
|
15306
|
+
...execPrefix,
|
|
15307
|
+
"inspector-smoke",
|
|
15308
|
+
"--title",
|
|
15309
|
+
"TonyClaw Lab smoke",
|
|
15310
|
+
"--latest-log-limit",
|
|
15311
|
+
"5"
|
|
15312
|
+
];
|
|
15313
|
+
case "runner-presets-json":
|
|
15314
|
+
return [...execPrefix, "runner-presets", "--format", "json"];
|
|
15315
|
+
case "local-smoke-batch":
|
|
15316
|
+
return null;
|
|
15317
|
+
}
|
|
15318
|
+
return null;
|
|
15319
|
+
}
|
|
15251
15320
|
function packageActionTimeout(action) {
|
|
15252
15321
|
switch (action) {
|
|
15253
15322
|
case "install":
|
|
@@ -15256,6 +15325,8 @@ function packageActionTimeout(action) {
|
|
|
15256
15325
|
case "help":
|
|
15257
15326
|
case "runner-presets":
|
|
15258
15327
|
return HELP_TIMEOUT_MS;
|
|
15328
|
+
case "recipe":
|
|
15329
|
+
return RECIPE_TIMEOUT_MS;
|
|
15259
15330
|
}
|
|
15260
15331
|
}
|
|
15261
15332
|
function taskCommand(args) {
|
|
@@ -15282,6 +15353,7 @@ function startEcosystemTask(packageId, action) {
|
|
|
15282
15353
|
id: randomUUID(),
|
|
15283
15354
|
packageId: definition.id,
|
|
15284
15355
|
npmName: definition.npmName,
|
|
15356
|
+
recipeId: null,
|
|
15285
15357
|
action,
|
|
15286
15358
|
status: "queued",
|
|
15287
15359
|
command: taskCommand(args),
|
|
@@ -15333,7 +15405,71 @@ ${error.message}
|
|
|
15333
15405
|
});
|
|
15334
15406
|
return task;
|
|
15335
15407
|
}
|
|
15336
|
-
|
|
15408
|
+
function startEcosystemRecipeTask(recipeId) {
|
|
15409
|
+
const recipe = findEcosystemRecipe(recipeId);
|
|
15410
|
+
if (recipe === null) return null;
|
|
15411
|
+
if (!recipe.runnable) return null;
|
|
15412
|
+
const definition = findEcosystemPackage(recipe.packageId);
|
|
15413
|
+
if (definition === null) return null;
|
|
15414
|
+
const args = recipeActionArgs(recipe.id);
|
|
15415
|
+
if (args === null) return null;
|
|
15416
|
+
const task = {
|
|
15417
|
+
id: randomUUID(),
|
|
15418
|
+
packageId: definition.id,
|
|
15419
|
+
npmName: definition.npmName,
|
|
15420
|
+
recipeId: recipe.id,
|
|
15421
|
+
action: "recipe",
|
|
15422
|
+
status: "queued",
|
|
15423
|
+
command: taskCommand(args),
|
|
15424
|
+
output: "",
|
|
15425
|
+
createdAt: nowIso(),
|
|
15426
|
+
startedAt: null,
|
|
15427
|
+
finishedAt: null,
|
|
15428
|
+
exitCode: null,
|
|
15429
|
+
error: null
|
|
15430
|
+
};
|
|
15431
|
+
rememberTask(task);
|
|
15432
|
+
const spawnCommand = npmSpawnCommand(args);
|
|
15433
|
+
const child = spawn(spawnCommand.command, spawnCommand.args, {
|
|
15434
|
+
windowsHide: true,
|
|
15435
|
+
shell: false,
|
|
15436
|
+
stdio: ["ignore", "pipe", "pipe"]
|
|
15437
|
+
});
|
|
15438
|
+
const timeout = setTimeout(() => {
|
|
15439
|
+
child.kill();
|
|
15440
|
+
appendTaskOutput(task, `
|
|
15441
|
+
Timed out after ${String(RECIPE_TIMEOUT_MS / 1e3)}s.
|
|
15442
|
+
`);
|
|
15443
|
+
}, RECIPE_TIMEOUT_MS);
|
|
15444
|
+
task.status = "running";
|
|
15445
|
+
task.startedAt = nowIso();
|
|
15446
|
+
appendTaskOutput(task, `$ ${task.command}
|
|
15447
|
+
`);
|
|
15448
|
+
child.stdout.on("data", (chunk) => {
|
|
15449
|
+
appendTaskOutput(task, chunk.toString("utf8"));
|
|
15450
|
+
});
|
|
15451
|
+
child.stderr.on("data", (chunk) => {
|
|
15452
|
+
appendTaskOutput(task, chunk.toString("utf8"));
|
|
15453
|
+
});
|
|
15454
|
+
child.on("error", (error) => {
|
|
15455
|
+
clearTimeout(timeout);
|
|
15456
|
+
appendTaskOutput(task, `
|
|
15457
|
+
${error.message}
|
|
15458
|
+
`);
|
|
15459
|
+
completeTask(task, "failed", null, error.message);
|
|
15460
|
+
});
|
|
15461
|
+
child.on("close", (code) => {
|
|
15462
|
+
clearTimeout(timeout);
|
|
15463
|
+
if (task.status === "failed") return;
|
|
15464
|
+
if (code === 0) {
|
|
15465
|
+
completeTask(task, "succeeded", code, null);
|
|
15466
|
+
return;
|
|
15467
|
+
}
|
|
15468
|
+
completeTask(task, "failed", code, `Command exited with code ${String(code ?? "unknown")}`);
|
|
15469
|
+
});
|
|
15470
|
+
return task;
|
|
15471
|
+
}
|
|
15472
|
+
const Route$l = createFileRoute("/api/ecosystem/tasks")({
|
|
15337
15473
|
server: {
|
|
15338
15474
|
handlers: {
|
|
15339
15475
|
GET: () => {
|
|
@@ -15342,20 +15478,21 @@ const Route$k = createFileRoute("/api/ecosystem/tasks")({
|
|
|
15342
15478
|
}
|
|
15343
15479
|
}
|
|
15344
15480
|
});
|
|
15345
|
-
const Route$
|
|
15481
|
+
const Route$k = createFileRoute("/api/ecosystem/packages")({
|
|
15346
15482
|
server: {
|
|
15347
15483
|
handlers: {
|
|
15348
15484
|
GET: async () => {
|
|
15349
15485
|
return Response.json({
|
|
15350
15486
|
checkedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
15351
15487
|
packages: await listEcosystemPackages(),
|
|
15352
|
-
runnerPresets: RUNNER_PRESETS
|
|
15488
|
+
runnerPresets: RUNNER_PRESETS,
|
|
15489
|
+
recipes: LAB_RECIPES
|
|
15353
15490
|
});
|
|
15354
15491
|
}
|
|
15355
15492
|
}
|
|
15356
15493
|
}
|
|
15357
15494
|
});
|
|
15358
|
-
const Route$
|
|
15495
|
+
const Route$j = createFileRoute("/api/config/paths")({
|
|
15359
15496
|
server: {
|
|
15360
15497
|
handlers: {
|
|
15361
15498
|
GET: () => {
|
|
@@ -15372,7 +15509,7 @@ function parsePositiveInt(value) {
|
|
|
15372
15509
|
if (!Number.isInteger(parsed) || parsed < 1) return void 0;
|
|
15373
15510
|
return parsed;
|
|
15374
15511
|
}
|
|
15375
|
-
const Route$
|
|
15512
|
+
const Route$i = createFileRoute("/api/alerts/summary")({
|
|
15376
15513
|
server: {
|
|
15377
15514
|
handlers: {
|
|
15378
15515
|
GET: async ({ request }) => {
|
|
@@ -15395,7 +15532,7 @@ async function readJsonBody$2(request) {
|
|
|
15395
15532
|
return { ok: false };
|
|
15396
15533
|
}
|
|
15397
15534
|
}
|
|
15398
|
-
const Route$
|
|
15535
|
+
const Route$h = createFileRoute("/api/runs/$runId/evidence")({
|
|
15399
15536
|
server: {
|
|
15400
15537
|
handlers: {
|
|
15401
15538
|
GET: ({ params }) => {
|
|
@@ -16125,7 +16262,7 @@ async function testStreamingEndpoint(baseUrl, provider, path2, model, protocol)
|
|
|
16125
16262
|
clearTimeout(timeoutId);
|
|
16126
16263
|
}
|
|
16127
16264
|
}
|
|
16128
|
-
const Route$
|
|
16265
|
+
const Route$g = createFileRoute("/api/providers/$providerId/test")({
|
|
16129
16266
|
server: {
|
|
16130
16267
|
handlers: {
|
|
16131
16268
|
POST: async ({ params }) => {
|
|
@@ -16266,7 +16403,7 @@ async function readRegistryJson(response) {
|
|
|
16266
16403
|
return null;
|
|
16267
16404
|
}
|
|
16268
16405
|
}
|
|
16269
|
-
const Route$
|
|
16406
|
+
const Route$f = createFileRoute("/api/providers/$providerId/model-metadata")({
|
|
16270
16407
|
server: {
|
|
16271
16408
|
handlers: {
|
|
16272
16409
|
POST: async ({ params, request }) => {
|
|
@@ -16356,7 +16493,7 @@ const Route$e = createFileRoute("/api/providers/$providerId/model-metadata")({
|
|
|
16356
16493
|
const ReplayRequestSchema = object({
|
|
16357
16494
|
modifiedBody: string()
|
|
16358
16495
|
});
|
|
16359
|
-
const Route$
|
|
16496
|
+
const Route$e = createFileRoute("/api/logs/$id/replay")({
|
|
16360
16497
|
server: {
|
|
16361
16498
|
handlers: {
|
|
16362
16499
|
POST: async ({ params, request }) => {
|
|
@@ -16557,7 +16694,7 @@ const Route$d = createFileRoute("/api/logs/$id/replay")({
|
|
|
16557
16694
|
}
|
|
16558
16695
|
}
|
|
16559
16696
|
});
|
|
16560
|
-
const Route$
|
|
16697
|
+
const Route$d = createFileRoute("/api/logs/$id/chunks")({
|
|
16561
16698
|
server: {
|
|
16562
16699
|
handlers: {
|
|
16563
16700
|
GET: async ({ params }) => {
|
|
@@ -16664,7 +16801,7 @@ function parseIntegerParam(value, fallback) {
|
|
|
16664
16801
|
if (!Number.isInteger(parsed)) return fallback;
|
|
16665
16802
|
return parsed;
|
|
16666
16803
|
}
|
|
16667
|
-
const Route$
|
|
16804
|
+
const Route$c = createFileRoute("/api/logs/$id/body")({
|
|
16668
16805
|
server: {
|
|
16669
16806
|
handlers: {
|
|
16670
16807
|
GET: async ({ params, request }) => {
|
|
@@ -16702,7 +16839,7 @@ const CandidateUpdateSchema = object({
|
|
|
16702
16839
|
object({
|
|
16703
16840
|
candidate: KnowledgeCandidateSchema
|
|
16704
16841
|
});
|
|
16705
|
-
const Route$
|
|
16842
|
+
const Route$b = createFileRoute("/api/knowledge/candidates/$candidateId")({
|
|
16706
16843
|
server: {
|
|
16707
16844
|
handlers: {
|
|
16708
16845
|
PATCH: async ({ params, request }) => {
|
|
@@ -16739,7 +16876,7 @@ async function readJsonBody$1(request) {
|
|
|
16739
16876
|
return { ok: false };
|
|
16740
16877
|
}
|
|
16741
16878
|
}
|
|
16742
|
-
const Route$
|
|
16879
|
+
const Route$a = createFileRoute("/api/groups/$groupId/sessions")({
|
|
16743
16880
|
server: {
|
|
16744
16881
|
handlers: {
|
|
16745
16882
|
GET: ({ params }) => {
|
|
@@ -16779,7 +16916,7 @@ async function readJsonBody(request) {
|
|
|
16779
16916
|
return { ok: false };
|
|
16780
16917
|
}
|
|
16781
16918
|
}
|
|
16782
|
-
const Route$
|
|
16919
|
+
const Route$9 = createFileRoute("/api/groups/$groupId/evidence")({
|
|
16783
16920
|
server: {
|
|
16784
16921
|
handlers: {
|
|
16785
16922
|
GET: ({ params }) => {
|
|
@@ -16814,7 +16951,7 @@ const Route$8 = createFileRoute("/api/groups/$groupId/evidence")({
|
|
|
16814
16951
|
}
|
|
16815
16952
|
}
|
|
16816
16953
|
});
|
|
16817
|
-
const Route$
|
|
16954
|
+
const Route$8 = createFileRoute("/api/ecosystem/tasks/$taskId")({
|
|
16818
16955
|
server: {
|
|
16819
16956
|
handlers: {
|
|
16820
16957
|
GET: ({ params }) => {
|
|
@@ -17176,7 +17313,7 @@ async function logModelResults(displayName, providerName, providerSessionId, ant
|
|
|
17176
17313
|
}
|
|
17177
17314
|
}
|
|
17178
17315
|
}
|
|
17179
|
-
const Route$
|
|
17316
|
+
const Route$7 = createFileRoute("/api/providers/$providerId/test/log")({
|
|
17180
17317
|
server: {
|
|
17181
17318
|
handlers: {
|
|
17182
17319
|
POST: async ({ params, request }) => {
|
|
@@ -17316,7 +17453,7 @@ function getLogsForCandidateScope(scopeId) {
|
|
|
17316
17453
|
if (direct.length > 0) return direct;
|
|
17317
17454
|
return getFilteredLogs().filter((log) => getCandidateScopeId(log) === scopeId);
|
|
17318
17455
|
}
|
|
17319
|
-
const Route$
|
|
17456
|
+
const Route$6 = createFileRoute("/api/knowledge/sessions/$sessionId/candidates")({
|
|
17320
17457
|
server: {
|
|
17321
17458
|
handlers: {
|
|
17322
17459
|
POST: ({ params }) => {
|
|
@@ -17327,7 +17464,7 @@ const Route$5 = createFileRoute("/api/knowledge/sessions/$sessionId/candidates")
|
|
|
17327
17464
|
}
|
|
17328
17465
|
}
|
|
17329
17466
|
});
|
|
17330
|
-
const Route$
|
|
17467
|
+
const Route$5 = createFileRoute("/api/knowledge/candidates/$candidateId/promote")({
|
|
17331
17468
|
server: {
|
|
17332
17469
|
handlers: {
|
|
17333
17470
|
POST: async ({ params }) => {
|
|
@@ -17349,6 +17486,19 @@ const Route$4 = createFileRoute("/api/knowledge/candidates/$candidateId/promote"
|
|
|
17349
17486
|
}
|
|
17350
17487
|
}
|
|
17351
17488
|
});
|
|
17489
|
+
const Route$4 = createFileRoute("/api/ecosystem/recipes/$recipeId/run")({
|
|
17490
|
+
server: {
|
|
17491
|
+
handlers: {
|
|
17492
|
+
POST: ({ params }) => {
|
|
17493
|
+
const task = startEcosystemRecipeTask(params.recipeId);
|
|
17494
|
+
if (task === null) {
|
|
17495
|
+
return Response.json({ error: "Unknown ecosystem recipe" }, { status: 404 });
|
|
17496
|
+
}
|
|
17497
|
+
return Response.json({ task });
|
|
17498
|
+
}
|
|
17499
|
+
}
|
|
17500
|
+
}
|
|
17501
|
+
});
|
|
17352
17502
|
const Route$3 = createFileRoute("/api/ecosystem/packages/$packageId/upgrade")({
|
|
17353
17503
|
server: {
|
|
17354
17504
|
handlers: {
|
|
@@ -17404,216 +17554,221 @@ const Route = createFileRoute("/api/ecosystem/packages/$packageId/help")({
|
|
|
17404
17554
|
}
|
|
17405
17555
|
}
|
|
17406
17556
|
});
|
|
17407
|
-
const IndexRoute = Route$
|
|
17557
|
+
const IndexRoute = Route$K.update({
|
|
17408
17558
|
id: "/",
|
|
17409
17559
|
path: "/",
|
|
17410
|
-
getParentRoute: () => Route$
|
|
17560
|
+
getParentRoute: () => Route$L
|
|
17411
17561
|
});
|
|
17412
|
-
const SessionSessionIdRoute = Route$
|
|
17562
|
+
const SessionSessionIdRoute = Route$J.update({
|
|
17413
17563
|
id: "/session/$sessionId",
|
|
17414
17564
|
path: "/session/$sessionId",
|
|
17415
|
-
getParentRoute: () => Route$
|
|
17565
|
+
getParentRoute: () => Route$L
|
|
17416
17566
|
});
|
|
17417
|
-
const ProxySplatRoute = Route$
|
|
17567
|
+
const ProxySplatRoute = Route$I.update({
|
|
17418
17568
|
id: "/proxy/$",
|
|
17419
17569
|
path: "/proxy/$",
|
|
17420
|
-
getParentRoute: () => Route$
|
|
17570
|
+
getParentRoute: () => Route$L
|
|
17421
17571
|
});
|
|
17422
|
-
const ApiSessionsRoute = Route$
|
|
17572
|
+
const ApiSessionsRoute = Route$H.update({
|
|
17423
17573
|
id: "/api/sessions",
|
|
17424
17574
|
path: "/api/sessions",
|
|
17425
|
-
getParentRoute: () => Route$
|
|
17575
|
+
getParentRoute: () => Route$L
|
|
17426
17576
|
});
|
|
17427
|
-
const ApiRunsRoute = Route$
|
|
17577
|
+
const ApiRunsRoute = Route$G.update({
|
|
17428
17578
|
id: "/api/runs",
|
|
17429
17579
|
path: "/api/runs",
|
|
17430
|
-
getParentRoute: () => Route$
|
|
17580
|
+
getParentRoute: () => Route$L
|
|
17431
17581
|
});
|
|
17432
|
-
const ApiProvidersRoute = Route$
|
|
17582
|
+
const ApiProvidersRoute = Route$F.update({
|
|
17433
17583
|
id: "/api/providers",
|
|
17434
17584
|
path: "/api/providers",
|
|
17435
|
-
getParentRoute: () => Route$
|
|
17585
|
+
getParentRoute: () => Route$L
|
|
17436
17586
|
});
|
|
17437
|
-
const ApiModelsRoute = Route$
|
|
17587
|
+
const ApiModelsRoute = Route$E.update({
|
|
17438
17588
|
id: "/api/models",
|
|
17439
17589
|
path: "/api/models",
|
|
17440
|
-
getParentRoute: () => Route$
|
|
17590
|
+
getParentRoute: () => Route$L
|
|
17441
17591
|
});
|
|
17442
|
-
const ApiMcpRoute = Route$
|
|
17592
|
+
const ApiMcpRoute = Route$D.update({
|
|
17443
17593
|
id: "/api/mcp",
|
|
17444
17594
|
path: "/api/mcp",
|
|
17445
|
-
getParentRoute: () => Route$
|
|
17595
|
+
getParentRoute: () => Route$L
|
|
17446
17596
|
});
|
|
17447
|
-
const ApiLogsRoute = Route$
|
|
17597
|
+
const ApiLogsRoute = Route$C.update({
|
|
17448
17598
|
id: "/api/logs",
|
|
17449
17599
|
path: "/api/logs",
|
|
17450
|
-
getParentRoute: () => Route$
|
|
17600
|
+
getParentRoute: () => Route$L
|
|
17451
17601
|
});
|
|
17452
|
-
const ApiHealthRoute = Route$
|
|
17602
|
+
const ApiHealthRoute = Route$B.update({
|
|
17453
17603
|
id: "/api/health",
|
|
17454
17604
|
path: "/api/health",
|
|
17455
|
-
getParentRoute: () => Route$
|
|
17605
|
+
getParentRoute: () => Route$L
|
|
17456
17606
|
});
|
|
17457
|
-
const ApiGroupsRoute = Route$
|
|
17607
|
+
const ApiGroupsRoute = Route$A.update({
|
|
17458
17608
|
id: "/api/groups",
|
|
17459
17609
|
path: "/api/groups",
|
|
17460
|
-
getParentRoute: () => Route$
|
|
17610
|
+
getParentRoute: () => Route$L
|
|
17461
17611
|
});
|
|
17462
|
-
const ApiConfigRoute = Route$
|
|
17612
|
+
const ApiConfigRoute = Route$z.update({
|
|
17463
17613
|
id: "/api/config",
|
|
17464
17614
|
path: "/api/config",
|
|
17465
|
-
getParentRoute: () => Route$
|
|
17615
|
+
getParentRoute: () => Route$L
|
|
17466
17616
|
});
|
|
17467
|
-
const ApiAlertsRoute = Route$
|
|
17617
|
+
const ApiAlertsRoute = Route$y.update({
|
|
17468
17618
|
id: "/api/alerts",
|
|
17469
17619
|
path: "/api/alerts",
|
|
17470
|
-
getParentRoute: () => Route$
|
|
17620
|
+
getParentRoute: () => Route$L
|
|
17471
17621
|
});
|
|
17472
|
-
const ApiRunsRunIdRoute = Route$
|
|
17622
|
+
const ApiRunsRunIdRoute = Route$x.update({
|
|
17473
17623
|
id: "/$runId",
|
|
17474
17624
|
path: "/$runId",
|
|
17475
17625
|
getParentRoute: () => ApiRunsRoute
|
|
17476
17626
|
});
|
|
17477
|
-
const ApiProvidersScanRoute = Route$
|
|
17627
|
+
const ApiProvidersScanRoute = Route$w.update({
|
|
17478
17628
|
id: "/scan",
|
|
17479
17629
|
path: "/scan",
|
|
17480
17630
|
getParentRoute: () => ApiProvidersRoute
|
|
17481
17631
|
});
|
|
17482
|
-
const ApiProvidersImportRoute = Route$
|
|
17632
|
+
const ApiProvidersImportRoute = Route$v.update({
|
|
17483
17633
|
id: "/import",
|
|
17484
17634
|
path: "/import",
|
|
17485
17635
|
getParentRoute: () => ApiProvidersRoute
|
|
17486
17636
|
});
|
|
17487
|
-
const ApiProvidersExportRoute = Route$
|
|
17637
|
+
const ApiProvidersExportRoute = Route$u.update({
|
|
17488
17638
|
id: "/export",
|
|
17489
17639
|
path: "/export",
|
|
17490
17640
|
getParentRoute: () => ApiProvidersRoute
|
|
17491
17641
|
});
|
|
17492
|
-
const ApiProvidersProviderIdRoute = Route$
|
|
17642
|
+
const ApiProvidersProviderIdRoute = Route$t.update({
|
|
17493
17643
|
id: "/$providerId",
|
|
17494
17644
|
path: "/$providerId",
|
|
17495
17645
|
getParentRoute: () => ApiProvidersRoute
|
|
17496
17646
|
});
|
|
17497
|
-
const ApiLogsStreamRoute = Route$
|
|
17647
|
+
const ApiLogsStreamRoute = Route$s.update({
|
|
17498
17648
|
id: "/stream",
|
|
17499
17649
|
path: "/stream",
|
|
17500
17650
|
getParentRoute: () => ApiLogsRoute
|
|
17501
17651
|
});
|
|
17502
|
-
const ApiLogsImportRoute = Route$
|
|
17652
|
+
const ApiLogsImportRoute = Route$r.update({
|
|
17503
17653
|
id: "/import",
|
|
17504
17654
|
path: "/import",
|
|
17505
17655
|
getParentRoute: () => ApiLogsRoute
|
|
17506
17656
|
});
|
|
17507
|
-
const ApiLogsIdRoute = Route$
|
|
17657
|
+
const ApiLogsIdRoute = Route$q.update({
|
|
17508
17658
|
id: "/$id",
|
|
17509
17659
|
path: "/$id",
|
|
17510
17660
|
getParentRoute: () => ApiLogsRoute
|
|
17511
17661
|
});
|
|
17512
|
-
const ApiKnowledgeSearchRoute = Route$
|
|
17662
|
+
const ApiKnowledgeSearchRoute = Route$p.update({
|
|
17513
17663
|
id: "/api/knowledge/search",
|
|
17514
17664
|
path: "/api/knowledge/search",
|
|
17515
|
-
getParentRoute: () => Route$
|
|
17665
|
+
getParentRoute: () => Route$L
|
|
17516
17666
|
});
|
|
17517
|
-
const ApiKnowledgeProjectContextRoute = Route$
|
|
17667
|
+
const ApiKnowledgeProjectContextRoute = Route$o.update({
|
|
17518
17668
|
id: "/api/knowledge/project-context",
|
|
17519
17669
|
path: "/api/knowledge/project-context",
|
|
17520
|
-
getParentRoute: () => Route$
|
|
17670
|
+
getParentRoute: () => Route$L
|
|
17521
17671
|
});
|
|
17522
|
-
const ApiKnowledgeCandidatesRoute = Route$
|
|
17672
|
+
const ApiKnowledgeCandidatesRoute = Route$n.update({
|
|
17523
17673
|
id: "/api/knowledge/candidates",
|
|
17524
17674
|
path: "/api/knowledge/candidates",
|
|
17525
|
-
getParentRoute: () => Route$
|
|
17675
|
+
getParentRoute: () => Route$L
|
|
17526
17676
|
});
|
|
17527
|
-
const ApiGroupsGroupIdRoute = Route$
|
|
17677
|
+
const ApiGroupsGroupIdRoute = Route$m.update({
|
|
17528
17678
|
id: "/$groupId",
|
|
17529
17679
|
path: "/$groupId",
|
|
17530
17680
|
getParentRoute: () => ApiGroupsRoute
|
|
17531
17681
|
});
|
|
17532
|
-
const ApiEcosystemTasksRoute = Route$
|
|
17682
|
+
const ApiEcosystemTasksRoute = Route$l.update({
|
|
17533
17683
|
id: "/api/ecosystem/tasks",
|
|
17534
17684
|
path: "/api/ecosystem/tasks",
|
|
17535
|
-
getParentRoute: () => Route$
|
|
17685
|
+
getParentRoute: () => Route$L
|
|
17536
17686
|
});
|
|
17537
|
-
const ApiEcosystemPackagesRoute = Route$
|
|
17687
|
+
const ApiEcosystemPackagesRoute = Route$k.update({
|
|
17538
17688
|
id: "/api/ecosystem/packages",
|
|
17539
17689
|
path: "/api/ecosystem/packages",
|
|
17540
|
-
getParentRoute: () => Route$
|
|
17690
|
+
getParentRoute: () => Route$L
|
|
17541
17691
|
});
|
|
17542
|
-
const ApiConfigPathsRoute = Route$
|
|
17692
|
+
const ApiConfigPathsRoute = Route$j.update({
|
|
17543
17693
|
id: "/paths",
|
|
17544
17694
|
path: "/paths",
|
|
17545
17695
|
getParentRoute: () => ApiConfigRoute
|
|
17546
17696
|
});
|
|
17547
|
-
const ApiAlertsSummaryRoute = Route$
|
|
17697
|
+
const ApiAlertsSummaryRoute = Route$i.update({
|
|
17548
17698
|
id: "/summary",
|
|
17549
17699
|
path: "/summary",
|
|
17550
17700
|
getParentRoute: () => ApiAlertsRoute
|
|
17551
17701
|
});
|
|
17552
|
-
const ApiRunsRunIdEvidenceRoute = Route$
|
|
17702
|
+
const ApiRunsRunIdEvidenceRoute = Route$h.update({
|
|
17553
17703
|
id: "/evidence",
|
|
17554
17704
|
path: "/evidence",
|
|
17555
17705
|
getParentRoute: () => ApiRunsRunIdRoute
|
|
17556
17706
|
});
|
|
17557
|
-
const ApiProvidersProviderIdTestRoute = Route$
|
|
17707
|
+
const ApiProvidersProviderIdTestRoute = Route$g.update({
|
|
17558
17708
|
id: "/test",
|
|
17559
17709
|
path: "/test",
|
|
17560
17710
|
getParentRoute: () => ApiProvidersProviderIdRoute
|
|
17561
17711
|
});
|
|
17562
|
-
const ApiProvidersProviderIdModelMetadataRoute = Route$
|
|
17712
|
+
const ApiProvidersProviderIdModelMetadataRoute = Route$f.update({
|
|
17563
17713
|
id: "/model-metadata",
|
|
17564
17714
|
path: "/model-metadata",
|
|
17565
17715
|
getParentRoute: () => ApiProvidersProviderIdRoute
|
|
17566
17716
|
});
|
|
17567
|
-
const ApiLogsIdReplayRoute = Route$
|
|
17717
|
+
const ApiLogsIdReplayRoute = Route$e.update({
|
|
17568
17718
|
id: "/replay",
|
|
17569
17719
|
path: "/replay",
|
|
17570
17720
|
getParentRoute: () => ApiLogsIdRoute
|
|
17571
17721
|
});
|
|
17572
|
-
const ApiLogsIdChunksRoute = Route$
|
|
17722
|
+
const ApiLogsIdChunksRoute = Route$d.update({
|
|
17573
17723
|
id: "/chunks",
|
|
17574
17724
|
path: "/chunks",
|
|
17575
17725
|
getParentRoute: () => ApiLogsIdRoute
|
|
17576
17726
|
});
|
|
17577
|
-
const ApiLogsIdBodyRoute = Route$
|
|
17727
|
+
const ApiLogsIdBodyRoute = Route$c.update({
|
|
17578
17728
|
id: "/body",
|
|
17579
17729
|
path: "/body",
|
|
17580
17730
|
getParentRoute: () => ApiLogsIdRoute
|
|
17581
17731
|
});
|
|
17582
|
-
const ApiKnowledgeCandidatesCandidateIdRoute = Route$
|
|
17732
|
+
const ApiKnowledgeCandidatesCandidateIdRoute = Route$b.update({
|
|
17583
17733
|
id: "/$candidateId",
|
|
17584
17734
|
path: "/$candidateId",
|
|
17585
17735
|
getParentRoute: () => ApiKnowledgeCandidatesRoute
|
|
17586
17736
|
});
|
|
17587
|
-
const ApiGroupsGroupIdSessionsRoute = Route$
|
|
17737
|
+
const ApiGroupsGroupIdSessionsRoute = Route$a.update({
|
|
17588
17738
|
id: "/sessions",
|
|
17589
17739
|
path: "/sessions",
|
|
17590
17740
|
getParentRoute: () => ApiGroupsGroupIdRoute
|
|
17591
17741
|
});
|
|
17592
|
-
const ApiGroupsGroupIdEvidenceRoute = Route$
|
|
17742
|
+
const ApiGroupsGroupIdEvidenceRoute = Route$9.update({
|
|
17593
17743
|
id: "/evidence",
|
|
17594
17744
|
path: "/evidence",
|
|
17595
17745
|
getParentRoute: () => ApiGroupsGroupIdRoute
|
|
17596
17746
|
});
|
|
17597
|
-
const ApiEcosystemTasksTaskIdRoute = Route$
|
|
17747
|
+
const ApiEcosystemTasksTaskIdRoute = Route$8.update({
|
|
17598
17748
|
id: "/$taskId",
|
|
17599
17749
|
path: "/$taskId",
|
|
17600
17750
|
getParentRoute: () => ApiEcosystemTasksRoute
|
|
17601
17751
|
});
|
|
17602
|
-
const ApiProvidersProviderIdTestLogRoute = Route$
|
|
17752
|
+
const ApiProvidersProviderIdTestLogRoute = Route$7.update({
|
|
17603
17753
|
id: "/log",
|
|
17604
17754
|
path: "/log",
|
|
17605
17755
|
getParentRoute: () => ApiProvidersProviderIdTestRoute
|
|
17606
17756
|
});
|
|
17607
|
-
const ApiKnowledgeSessionsSessionIdCandidatesRoute = Route$
|
|
17757
|
+
const ApiKnowledgeSessionsSessionIdCandidatesRoute = Route$6.update({
|
|
17608
17758
|
id: "/api/knowledge/sessions/$sessionId/candidates",
|
|
17609
17759
|
path: "/api/knowledge/sessions/$sessionId/candidates",
|
|
17610
|
-
getParentRoute: () => Route$
|
|
17760
|
+
getParentRoute: () => Route$L
|
|
17611
17761
|
});
|
|
17612
|
-
const ApiKnowledgeCandidatesCandidateIdPromoteRoute = Route$
|
|
17762
|
+
const ApiKnowledgeCandidatesCandidateIdPromoteRoute = Route$5.update({
|
|
17613
17763
|
id: "/promote",
|
|
17614
17764
|
path: "/promote",
|
|
17615
17765
|
getParentRoute: () => ApiKnowledgeCandidatesCandidateIdRoute
|
|
17616
17766
|
});
|
|
17767
|
+
const ApiEcosystemRecipesRecipeIdRunRoute = Route$4.update({
|
|
17768
|
+
id: "/api/ecosystem/recipes/$recipeId/run",
|
|
17769
|
+
path: "/api/ecosystem/recipes/$recipeId/run",
|
|
17770
|
+
getParentRoute: () => Route$L
|
|
17771
|
+
});
|
|
17617
17772
|
const ApiEcosystemPackagesPackageIdUpgradeRoute = Route$3.update({
|
|
17618
17773
|
id: "/$packageId/upgrade",
|
|
17619
17774
|
path: "/$packageId/upgrade",
|
|
@@ -17745,9 +17900,10 @@ const rootRouteChildren = {
|
|
|
17745
17900
|
ApiKnowledgeCandidatesRoute: ApiKnowledgeCandidatesRouteWithChildren,
|
|
17746
17901
|
ApiKnowledgeProjectContextRoute,
|
|
17747
17902
|
ApiKnowledgeSearchRoute,
|
|
17903
|
+
ApiEcosystemRecipesRecipeIdRunRoute,
|
|
17748
17904
|
ApiKnowledgeSessionsSessionIdCandidatesRoute
|
|
17749
17905
|
};
|
|
17750
|
-
const routeTree = Route$
|
|
17906
|
+
const routeTree = Route$L._addFileChildren(rootRouteChildren)._addFileTypes();
|
|
17751
17907
|
function getRouter() {
|
|
17752
17908
|
const router2 = createRouter({
|
|
17753
17909
|
routeTree,
|
|
@@ -17789,7 +17945,7 @@ export {
|
|
|
17789
17945
|
router as N,
|
|
17790
17946
|
OpenAIRequestSchema as O,
|
|
17791
17947
|
ProviderConfigSchema as P,
|
|
17792
|
-
Route$
|
|
17948
|
+
Route$J as R,
|
|
17793
17949
|
StreamingChunkSchema$1 as S,
|
|
17794
17950
|
TimeDisplayFormatSchema as T,
|
|
17795
17951
|
DEFAULT_SLOW_RESPONSE_THRESHOLD_SECONDS as a,
|