@hachej/boring-agent 0.1.32 → 0.1.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.
- package/dist/{chunk-UBWQ5LT4.js → chunk-Q7ZLUJQW.js} +5 -0
- package/dist/front/index.d.ts +4 -1
- package/dist/front/index.js +39 -4
- package/dist/{harness-CtTHLQyy.d.ts → harness-dYuMzxmp.d.ts} +5 -1
- package/dist/server/index.d.ts +2 -2
- package/dist/server/index.js +69 -16
- package/dist/shared/index.d.ts +15 -15
- package/dist/shared/index.js +1 -1
- package/docs/ERROR_CODES.md +5 -0
- package/package.json +2 -2
|
@@ -46,6 +46,11 @@ var ErrorCode = z.enum([
|
|
|
46
46
|
"PLUGIN_RUNTIME_PRIVATE_FILE",
|
|
47
47
|
"PLUGIN_RUNTIME_UNSAFE_IMPORT",
|
|
48
48
|
"PLUGIN_RUNTIME_TRANSFORM_FAILED",
|
|
49
|
+
"RUNTIME_PLUGIN_NOT_FOUND",
|
|
50
|
+
"RUNTIME_PLUGIN_ROUTE_NOT_FOUND",
|
|
51
|
+
"RUNTIME_PLUGIN_HANDLER_FAILED",
|
|
52
|
+
"RUNTIME_PLUGIN_LOAD_FAILED",
|
|
53
|
+
"RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED",
|
|
49
54
|
// Runtime provisioning
|
|
50
55
|
"PROVISIONING_LAYOUT_FAILED",
|
|
51
56
|
"PROVISIONING_SKILLS_FAILED",
|
package/dist/front/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { FileUIPart, UIMessage, ChatStatus } from 'ai';
|
|
|
4
4
|
import * as react from 'react';
|
|
5
5
|
import { ReactNode, ComponentType, HTMLAttributes, ComponentProps, FormEvent } from 'react';
|
|
6
6
|
import { T as ToolUiMetadata } from '../tool-ui-DIFNGwYd.js';
|
|
7
|
-
import { S as SendMessageInput, e as SessionSummary } from '../harness-
|
|
7
|
+
import { S as SendMessageInput, e as SessionSummary } from '../harness-dYuMzxmp.js';
|
|
8
8
|
import { Button, Collapsible, CollapsibleContent, CollapsibleTrigger, InputGroupAddon, InputGroupButton, InputGroupTextarea } from '@hachej/boring-ui-kit';
|
|
9
9
|
import { Streamdown } from 'streamdown';
|
|
10
10
|
import { StickToBottom } from 'use-stick-to-bottom';
|
|
@@ -377,12 +377,15 @@ interface UseSessionsResult {
|
|
|
377
377
|
activeSession: SessionSummary | undefined;
|
|
378
378
|
activeSessionId: string | undefined;
|
|
379
379
|
loading: boolean;
|
|
380
|
+
loadingMore: boolean;
|
|
381
|
+
hasMore: boolean;
|
|
380
382
|
error: Error | undefined;
|
|
381
383
|
create: (init?: {
|
|
382
384
|
title?: string;
|
|
383
385
|
}) => Promise<SessionSummary>;
|
|
384
386
|
switch: (id: string) => void;
|
|
385
387
|
delete: (id: string) => Promise<void>;
|
|
388
|
+
loadMore: () => Promise<void>;
|
|
386
389
|
}
|
|
387
390
|
declare function useSessions(opts?: UseSessionsOptions): UseSessionsResult;
|
|
388
391
|
|
package/dist/front/index.js
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from "../chunk-IDRC4SFU.js";
|
|
11
11
|
import {
|
|
12
12
|
ErrorCode
|
|
13
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-Q7ZLUJQW.js";
|
|
14
14
|
import {
|
|
15
15
|
DebugDrawer,
|
|
16
16
|
cn,
|
|
@@ -6836,6 +6836,7 @@ function getAgentCommands(options = {}) {
|
|
|
6836
6836
|
import { useState as useState21, useEffect as useEffect19, useCallback as useCallback18, useMemo as useMemo13, useRef as useRef15 } from "react";
|
|
6837
6837
|
var API_BASE = "/api/v1/agent/sessions";
|
|
6838
6838
|
var STORAGE_KEY = "boring-agent:activeSessionId";
|
|
6839
|
+
var SESSION_PAGE_SIZE = 50;
|
|
6839
6840
|
function readPersistedId(storageKey) {
|
|
6840
6841
|
try {
|
|
6841
6842
|
return localStorage.getItem(storageKey) ?? void 0;
|
|
@@ -6870,9 +6871,15 @@ function retryDelayMs(attempt) {
|
|
|
6870
6871
|
function delay(ms) {
|
|
6871
6872
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
6872
6873
|
}
|
|
6873
|
-
|
|
6874
|
+
function sessionsUrl(offset) {
|
|
6875
|
+
if (offset <= 0) return API_BASE;
|
|
6876
|
+
const query = new URLSearchParams({ limit: String(SESSION_PAGE_SIZE), offset: String(offset) });
|
|
6877
|
+
return `${API_BASE}?${query.toString()}`;
|
|
6878
|
+
}
|
|
6879
|
+
async function fetchSessions(headers, offset = 0) {
|
|
6874
6880
|
const init = requestInit(headers);
|
|
6875
|
-
const
|
|
6881
|
+
const url = sessionsUrl(offset);
|
|
6882
|
+
const res = init ? await fetch(url, init) : await fetch(url);
|
|
6876
6883
|
if (res.status === 503) throw new SessionsPreparingError();
|
|
6877
6884
|
if (!res.ok) throw new Error(`Failed to load sessions: ${res.status}`);
|
|
6878
6885
|
return res.json();
|
|
@@ -6893,6 +6900,8 @@ ${headersScopeKey(requestHeaders)}`,
|
|
|
6893
6900
|
() => initialActiveSessionId ?? readPersistedId(storageKey)
|
|
6894
6901
|
);
|
|
6895
6902
|
const [loading, setLoading] = useState21(true);
|
|
6903
|
+
const [loadingMore, setLoadingMore] = useState21(false);
|
|
6904
|
+
const [hasMore, setHasMore] = useState21(false);
|
|
6896
6905
|
const [error, setError] = useState21();
|
|
6897
6906
|
const [loaded, setLoaded] = useState21(false);
|
|
6898
6907
|
const versionRef = useRef15(0);
|
|
@@ -6914,6 +6923,8 @@ ${headersScopeKey(requestHeaders)}`,
|
|
|
6914
6923
|
setError(void 0);
|
|
6915
6924
|
setLoaded(false);
|
|
6916
6925
|
setLoading(false);
|
|
6926
|
+
setLoadingMore(false);
|
|
6927
|
+
setHasMore(false);
|
|
6917
6928
|
return;
|
|
6918
6929
|
}
|
|
6919
6930
|
setLoaded(false);
|
|
@@ -6947,6 +6958,7 @@ ${headersScopeKey(requestHeaders)}`,
|
|
|
6947
6958
|
setError(void 0);
|
|
6948
6959
|
setLoaded(true);
|
|
6949
6960
|
setSessions(mergedData);
|
|
6961
|
+
setHasMore(data.length === SESSION_PAGE_SIZE);
|
|
6950
6962
|
setActiveSessionId((prev) => {
|
|
6951
6963
|
const preferred = replacingLoadedScope ? persisted : prev ?? persisted;
|
|
6952
6964
|
if (preferred && mergedData.some((session) => session.id === preferred)) return preferred;
|
|
@@ -6963,6 +6975,7 @@ ${headersScopeKey(requestHeaders)}`,
|
|
|
6963
6975
|
if (replacingLoadedScope) {
|
|
6964
6976
|
setSessions([]);
|
|
6965
6977
|
setActiveSessionId(void 0);
|
|
6978
|
+
setHasMore(false);
|
|
6966
6979
|
}
|
|
6967
6980
|
setLoaded(true);
|
|
6968
6981
|
setError(err instanceof Error ? err : new Error(String(err)));
|
|
@@ -6978,6 +6991,8 @@ ${headersScopeKey(requestHeaders)}`,
|
|
|
6978
6991
|
setError(void 0);
|
|
6979
6992
|
setLoaded(false);
|
|
6980
6993
|
setLoading(false);
|
|
6994
|
+
setLoadingMore(false);
|
|
6995
|
+
setHasMore(false);
|
|
6981
6996
|
return;
|
|
6982
6997
|
}
|
|
6983
6998
|
void refresh();
|
|
@@ -6985,6 +7000,23 @@ ${headersScopeKey(requestHeaders)}`,
|
|
|
6985
7000
|
mountedRef.current = false;
|
|
6986
7001
|
};
|
|
6987
7002
|
}, [enabled, refresh, refreshKey, scopeKey]);
|
|
7003
|
+
const loadMore = useCallback18(async () => {
|
|
7004
|
+
if (!enabled || loadingMore || !hasMore) return;
|
|
7005
|
+
setLoadingMore(true);
|
|
7006
|
+
try {
|
|
7007
|
+
const data = await fetchSessions(requestHeaders, sessions.length);
|
|
7008
|
+
if (!mountedRef.current) return;
|
|
7009
|
+
setSessions((current) => {
|
|
7010
|
+
const seen = new Set(current.map((session) => session.id));
|
|
7011
|
+
return [...current, ...data.filter((session) => !seen.has(session.id))];
|
|
7012
|
+
});
|
|
7013
|
+
setHasMore(data.length === SESSION_PAGE_SIZE);
|
|
7014
|
+
} catch (err) {
|
|
7015
|
+
if (mountedRef.current) setError(err instanceof Error ? err : new Error(String(err)));
|
|
7016
|
+
} finally {
|
|
7017
|
+
if (mountedRef.current) setLoadingMore(false);
|
|
7018
|
+
}
|
|
7019
|
+
}, [enabled, hasMore, loadingMore, requestHeaders, sessions.length]);
|
|
6988
7020
|
const create = useCallback18(
|
|
6989
7021
|
async (init) => {
|
|
6990
7022
|
if (!enabled) throw new Error("Sessions are disabled");
|
|
@@ -7051,10 +7083,13 @@ ${headersScopeKey(requestHeaders)}`,
|
|
|
7051
7083
|
activeSession: visibleSessions.find((s) => s.id === visibleActiveSessionId),
|
|
7052
7084
|
activeSessionId: visibleActiveSessionId,
|
|
7053
7085
|
loading: enabled ? !scopeMatches || loading || !loaded : false,
|
|
7086
|
+
loadingMore,
|
|
7087
|
+
hasMore: enabled && scopeMatches ? hasMore : false,
|
|
7054
7088
|
error,
|
|
7055
7089
|
create,
|
|
7056
7090
|
switch: switchSession,
|
|
7057
|
-
delete: deleteSession
|
|
7091
|
+
delete: deleteSession,
|
|
7092
|
+
loadMore
|
|
7058
7093
|
};
|
|
7059
7094
|
}
|
|
7060
7095
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UIMessage, UIMessageChunk } from 'ai';
|
|
2
2
|
|
|
3
3
|
interface SessionStore {
|
|
4
|
-
list(ctx: SessionCtx): Promise<SessionSummary[]>;
|
|
4
|
+
list(ctx: SessionCtx, options?: SessionListOptions): Promise<SessionSummary[]>;
|
|
5
5
|
create(ctx: SessionCtx, init?: {
|
|
6
6
|
title?: string;
|
|
7
7
|
}): Promise<SessionSummary>;
|
|
@@ -18,6 +18,10 @@ interface SessionCtx {
|
|
|
18
18
|
workspaceId: string;
|
|
19
19
|
userId?: string;
|
|
20
20
|
}
|
|
21
|
+
interface SessionListOptions {
|
|
22
|
+
limit?: number;
|
|
23
|
+
offset?: number;
|
|
24
|
+
}
|
|
21
25
|
interface SessionSummary {
|
|
22
26
|
id: string;
|
|
23
27
|
title: string;
|
package/dist/server/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { i as WorkspaceRuntimeContext, S as Sandbox, f as SandboxHandleStore, e as SandboxHandleRecord, W as Workspace, F as FileSearch, P as PluginRestartWarning } from '../agentPluginEvents-CF0BGY4D.js';
|
|
2
2
|
import { Sandbox as Sandbox$1 } from '@vercel/sandbox';
|
|
3
3
|
import { FastifyInstance, FastifyRequest, FastifyPluginAsync } from 'fastify';
|
|
4
|
-
import { f as TelemetrySink, A as AgentTool, i as AgentHarnessFactory } from '../harness-
|
|
5
|
-
export { j as AgentHarnessFactoryInput } from '../harness-
|
|
4
|
+
import { f as TelemetrySink, A as AgentTool, i as AgentHarnessFactory } from '../harness-dYuMzxmp.js';
|
|
5
|
+
export { j as AgentHarnessFactoryInput } from '../harness-dYuMzxmp.js';
|
|
6
6
|
import { PackageSource, ExtensionFactory, SettingsManager } from '@mariozechner/pi-coding-agent';
|
|
7
7
|
import 'ai';
|
|
8
8
|
|
package/dist/server/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "../chunk-IDRC4SFU.js";
|
|
10
10
|
import {
|
|
11
11
|
ErrorCode
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-Q7ZLUJQW.js";
|
|
13
13
|
|
|
14
14
|
// src/server/sandbox/direct/createDirectSandbox.ts
|
|
15
15
|
import { spawn } from "child_process";
|
|
@@ -5428,7 +5428,8 @@ import {
|
|
|
5428
5428
|
mkdir as mkdir11,
|
|
5429
5429
|
writeFile as writeFile6,
|
|
5430
5430
|
appendFile,
|
|
5431
|
-
utimes
|
|
5431
|
+
utimes,
|
|
5432
|
+
open as open2
|
|
5432
5433
|
} from "fs/promises";
|
|
5433
5434
|
import { readFileSync, readdirSync } from "fs";
|
|
5434
5435
|
import { join as join9, resolve as resolve7 } from "path";
|
|
@@ -5443,6 +5444,7 @@ function defaultSessionDir(cwd) {
|
|
|
5443
5444
|
}
|
|
5444
5445
|
var SAFE_ID = /^[a-zA-Z0-9_-]+$/;
|
|
5445
5446
|
var SAFE_SESSION_NAMESPACE = /^[a-zA-Z0-9_-]+$/;
|
|
5447
|
+
var SUMMARY_PREFIX_BYTES = 64 * 1024;
|
|
5446
5448
|
function sessionDirForNamespace(namespace) {
|
|
5447
5449
|
const safeNamespace = namespace.trim();
|
|
5448
5450
|
if (!SAFE_SESSION_NAMESPACE.test(safeNamespace)) {
|
|
@@ -5464,16 +5466,25 @@ var PiSessionStore = class {
|
|
|
5464
5466
|
getSessionDir() {
|
|
5465
5467
|
return this.sessionDir;
|
|
5466
5468
|
}
|
|
5467
|
-
async list(ctx) {
|
|
5469
|
+
async list(ctx, options) {
|
|
5468
5470
|
const files = await readdir6(this.sessionDir).catch(() => []);
|
|
5469
5471
|
const jsonlFiles = files.filter((f) => f.endsWith(".jsonl"));
|
|
5470
5472
|
const filepaths = jsonlFiles.map((f) => join9(this.sessionDir, f));
|
|
5471
5473
|
const referencedPiFiles = await this.referencedPiFiles(filepaths);
|
|
5472
|
-
const
|
|
5474
|
+
const fileStats = await Promise.all(filepaths.map(async (filepath) => {
|
|
5475
|
+
try {
|
|
5476
|
+
return { filepath, stat: await fsStat(filepath) };
|
|
5477
|
+
} catch {
|
|
5478
|
+
return null;
|
|
5479
|
+
}
|
|
5480
|
+
}));
|
|
5481
|
+
const visibleFiles = fileStats.filter((item) => item !== null).filter(({ filepath }) => !referencedPiFiles.has(resolve7(filepath))).sort((a, b) => b.stat.mtime.getTime() - a.stat.mtime.getTime());
|
|
5482
|
+
const offset = Math.max(0, options?.offset ?? 0);
|
|
5483
|
+
const pageFiles = options?.limit === void 0 ? visibleFiles.slice(offset) : visibleFiles.slice(offset, offset + Math.max(0, options.limit));
|
|
5473
5484
|
const summaries = await Promise.all(
|
|
5474
|
-
|
|
5485
|
+
pageFiles.map(({ filepath, stat: stat11 }) => this.summarizeFile(filepath, stat11))
|
|
5475
5486
|
);
|
|
5476
|
-
return summaries.filter((s) => s !== null)
|
|
5487
|
+
return summaries.filter((s) => s !== null);
|
|
5477
5488
|
}
|
|
5478
5489
|
async create(ctx, init) {
|
|
5479
5490
|
await mkdir11(this.sessionDir, { recursive: true });
|
|
@@ -5669,7 +5680,7 @@ var PiSessionStore = class {
|
|
|
5669
5680
|
const referenced = /* @__PURE__ */ new Set();
|
|
5670
5681
|
await Promise.all(filepaths.map(async (filepath) => {
|
|
5671
5682
|
try {
|
|
5672
|
-
const content = await
|
|
5683
|
+
const content = await readJsonlPrefix(filepath);
|
|
5673
5684
|
const piFilePath = extractPiSessionFilePath(safeParseEntries(content));
|
|
5674
5685
|
if (piFilePath && resolve7(piFilePath) !== resolve7(filepath)) {
|
|
5675
5686
|
referenced.add(resolve7(piFilePath));
|
|
@@ -5679,11 +5690,11 @@ var PiSessionStore = class {
|
|
|
5679
5690
|
}));
|
|
5680
5691
|
return referenced;
|
|
5681
5692
|
}
|
|
5682
|
-
async summarizeFile(filepath) {
|
|
5693
|
+
async summarizeFile(filepath, existingStat) {
|
|
5683
5694
|
try {
|
|
5684
5695
|
const [fileStat, content] = await Promise.all([
|
|
5685
|
-
fsStat(filepath),
|
|
5686
|
-
|
|
5696
|
+
existingStat ?? fsStat(filepath),
|
|
5697
|
+
readJsonlPrefix(filepath)
|
|
5687
5698
|
]);
|
|
5688
5699
|
const firstNewline = content.indexOf("\n");
|
|
5689
5700
|
if (firstNewline === -1) return null;
|
|
@@ -5696,13 +5707,12 @@ var PiSessionStore = class {
|
|
|
5696
5707
|
(e) => e.type !== "session"
|
|
5697
5708
|
);
|
|
5698
5709
|
const linkedPiFile = extractPiSessionFilePath(entries);
|
|
5699
|
-
const linked = linkedPiFile && resolve7(linkedPiFile) !== resolve7(filepath) ? await this.
|
|
5710
|
+
const linked = linkedPiFile && resolve7(linkedPiFile) !== resolve7(filepath) ? await this.readLinkedPiSessionSummary(linkedPiFile) : null;
|
|
5700
5711
|
const linkedEntries = linked?.entries.filter(
|
|
5701
5712
|
(e) => e.type !== "session"
|
|
5702
5713
|
) ?? [];
|
|
5703
|
-
const uiSnapshot = extractLatestUiSnapshot(entries);
|
|
5704
5714
|
const title = extractTitle(sessionEntries) ?? extractTitle(linkedEntries) ?? firstUserMessage(linkedEntries) ?? firstUserMessage(sessionEntries) ?? "New session";
|
|
5705
|
-
const turnCount =
|
|
5715
|
+
const turnCount = [...sessionEntries, ...linkedEntries].filter(
|
|
5706
5716
|
(e) => e.type === "message" && e.message?.role === "user"
|
|
5707
5717
|
).length;
|
|
5708
5718
|
const updatedAtMs = Math.max(fileStat.mtime.getTime(), linked?.mtime.getTime() ?? 0);
|
|
@@ -5728,7 +5738,33 @@ var PiSessionStore = class {
|
|
|
5728
5738
|
return null;
|
|
5729
5739
|
}
|
|
5730
5740
|
}
|
|
5741
|
+
async readLinkedPiSessionSummary(filepath) {
|
|
5742
|
+
try {
|
|
5743
|
+
const [fileStat, content] = await Promise.all([
|
|
5744
|
+
fsStat(filepath),
|
|
5745
|
+
readJsonlPrefix(filepath)
|
|
5746
|
+
]);
|
|
5747
|
+
return { entries: safeParseEntries(content), mtime: fileStat.mtime };
|
|
5748
|
+
} catch {
|
|
5749
|
+
return null;
|
|
5750
|
+
}
|
|
5751
|
+
}
|
|
5731
5752
|
};
|
|
5753
|
+
async function readJsonlPrefix(filepath, maxBytes = SUMMARY_PREFIX_BYTES) {
|
|
5754
|
+
const handle = await open2(filepath, "r");
|
|
5755
|
+
try {
|
|
5756
|
+
const buffer = Buffer.alloc(maxBytes);
|
|
5757
|
+
const { bytesRead } = await handle.read(buffer, 0, maxBytes, 0);
|
|
5758
|
+
let content = buffer.subarray(0, bytesRead).toString("utf-8");
|
|
5759
|
+
if (bytesRead === maxBytes) {
|
|
5760
|
+
const lastNewline = content.lastIndexOf("\n");
|
|
5761
|
+
if (lastNewline >= 0) content = content.slice(0, lastNewline + 1);
|
|
5762
|
+
}
|
|
5763
|
+
return content;
|
|
5764
|
+
} finally {
|
|
5765
|
+
await handle.close();
|
|
5766
|
+
}
|
|
5767
|
+
}
|
|
5732
5768
|
function extractPiSessionFilePath(entries) {
|
|
5733
5769
|
let piFilePath = null;
|
|
5734
5770
|
for (const e of entries) {
|
|
@@ -9274,6 +9310,8 @@ import { randomUUID as randomUUID4 } from "crypto";
|
|
|
9274
9310
|
import { z as z2 } from "zod";
|
|
9275
9311
|
var DEFAULT_SESSION_TITLE2 = "New session";
|
|
9276
9312
|
var DEFAULT_WORKSPACE_ID2 = "default";
|
|
9313
|
+
var DEFAULT_SESSION_LIST_LIMIT = 50;
|
|
9314
|
+
var MAX_SESSION_LIST_LIMIT = 100;
|
|
9277
9315
|
var MAX_ANALYSIS_TRANSCRIPT_CHARS = 12e4;
|
|
9278
9316
|
var createSessionBodySchema = z2.object({
|
|
9279
9317
|
title: z2.string().min(1).max(200).optional()
|
|
@@ -9292,8 +9330,11 @@ var SessionNotFoundError = class extends Error {
|
|
|
9292
9330
|
};
|
|
9293
9331
|
var InMemorySessionStore = class {
|
|
9294
9332
|
sessions = /* @__PURE__ */ new Map();
|
|
9295
|
-
async list(ctx) {
|
|
9296
|
-
|
|
9333
|
+
async list(ctx, options) {
|
|
9334
|
+
const offset = options?.offset ?? 0;
|
|
9335
|
+
const limit = options?.limit;
|
|
9336
|
+
const summaries = Array.from(this.sessions.values()).filter((session) => session.workspaceId === ctx.workspaceId).sort((a, b) => b.updatedAt.localeCompare(a.updatedAt)).map(toSummary);
|
|
9337
|
+
return limit === void 0 ? summaries.slice(offset) : summaries.slice(offset, offset + limit);
|
|
9297
9338
|
}
|
|
9298
9339
|
async create(ctx, init) {
|
|
9299
9340
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
@@ -9341,6 +9382,18 @@ function toSummary(session) {
|
|
|
9341
9382
|
turnCount: session.messages.filter((message) => message.role === "user").length
|
|
9342
9383
|
};
|
|
9343
9384
|
}
|
|
9385
|
+
function sessionListOptions(request) {
|
|
9386
|
+
const query = request.query;
|
|
9387
|
+
return {
|
|
9388
|
+
limit: boundedInteger(query.limit, DEFAULT_SESSION_LIST_LIMIT, 1, MAX_SESSION_LIST_LIMIT),
|
|
9389
|
+
offset: boundedInteger(query.offset, 0, 0, Number.MAX_SAFE_INTEGER)
|
|
9390
|
+
};
|
|
9391
|
+
}
|
|
9392
|
+
function boundedInteger(value, fallback, min, max) {
|
|
9393
|
+
const parsed = typeof value === "string" ? Number.parseInt(value, 10) : NaN;
|
|
9394
|
+
if (!Number.isFinite(parsed)) return fallback;
|
|
9395
|
+
return Math.min(max, Math.max(min, parsed));
|
|
9396
|
+
}
|
|
9344
9397
|
function getSessionCtx(request) {
|
|
9345
9398
|
const workspaceContext = request.workspaceContext;
|
|
9346
9399
|
return {
|
|
@@ -9530,7 +9583,7 @@ function sessionRoutes(app, opts, done) {
|
|
|
9530
9583
|
app.get("/api/v1/agent/sessions", async (request, reply) => {
|
|
9531
9584
|
try {
|
|
9532
9585
|
const store = await resolveSessionStore(request);
|
|
9533
|
-
return await store.list(getSessionCtx(request));
|
|
9586
|
+
return await store.list(getSessionCtx(request), sessionListOptions(request));
|
|
9534
9587
|
} catch (err) {
|
|
9535
9588
|
return classifySessionError(err, reply);
|
|
9536
9589
|
}
|
package/dist/shared/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as AgentTool } from '../harness-
|
|
2
|
-
export { a as AgentHarness, J as JSONSchema, R as RunContext, S as SendMessageInput, b as SessionCtx, c as SessionDetail, d as SessionStore, e as SessionSummary, T as TelemetryEvent, f as TelemetrySink, g as ToolExecContext, h as ToolResult, n as noopTelemetry, s as safeCapture } from '../harness-
|
|
1
|
+
import { A as AgentTool } from '../harness-dYuMzxmp.js';
|
|
2
|
+
export { a as AgentHarness, J as JSONSchema, R as RunContext, S as SendMessageInput, b as SessionCtx, c as SessionDetail, d as SessionStore, e as SessionSummary, T as TelemetryEvent, f as TelemetrySink, g as ToolExecContext, h as ToolResult, n as noopTelemetry, s as safeCapture } from '../harness-dYuMzxmp.js';
|
|
3
3
|
import { W as Workspace, S as Sandbox, F as FileSearch } from '../agentPluginEvents-CF0BGY4D.js';
|
|
4
4
|
export { E as Entry, a as ExecOptions, b as ExecResult, I as IsolatedCodeInput, c as IsolatedCodeOutput, d as SandboxCapability, e as SandboxHandleRecord, f as SandboxHandleStore, g as Stat, h as WORKSPACE_AGENT_PLUGINS_RELOADED_EVENT, i as WorkspaceRuntimeContext } from '../agentPluginEvents-CF0BGY4D.js';
|
|
5
5
|
export { T as ToolUiMetadata, e as extractToolUiMetadata, i as isToolUiMetadata } from '../tool-ui-DIFNGwYd.js';
|
|
@@ -156,46 +156,46 @@ declare const EnvSchema: z.ZodObject<{
|
|
|
156
156
|
type AgentEnv = z.infer<typeof EnvSchema>;
|
|
157
157
|
declare function validateConfig(config: unknown): AgentConfig;
|
|
158
158
|
|
|
159
|
-
declare const ErrorCode: z.ZodEnum<["MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "AGENT_RUNTIME_NOT_READY", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "CIRCUIT_OPEN", "ABORTED", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "INTERNAL_ERROR"]>;
|
|
159
|
+
declare const ErrorCode: z.ZodEnum<["MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "AGENT_RUNTIME_NOT_READY", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "CIRCUIT_OPEN", "ABORTED", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "RUNTIME_PLUGIN_NOT_FOUND", "RUNTIME_PLUGIN_ROUTE_NOT_FOUND", "RUNTIME_PLUGIN_HANDLER_FAILED", "RUNTIME_PLUGIN_LOAD_FAILED", "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "INTERNAL_ERROR"]>;
|
|
160
160
|
type ErrorCode = z.infer<typeof ErrorCode>;
|
|
161
|
-
declare const ERROR_CODES: ["MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "AGENT_RUNTIME_NOT_READY", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "CIRCUIT_OPEN", "ABORTED", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "INTERNAL_ERROR"];
|
|
161
|
+
declare const ERROR_CODES: ["MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "AGENT_RUNTIME_NOT_READY", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "CIRCUIT_OPEN", "ABORTED", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "RUNTIME_PLUGIN_NOT_FOUND", "RUNTIME_PLUGIN_ROUTE_NOT_FOUND", "RUNTIME_PLUGIN_HANDLER_FAILED", "RUNTIME_PLUGIN_LOAD_FAILED", "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "INTERNAL_ERROR"];
|
|
162
162
|
declare const ApiErrorPayloadSchema: z.ZodObject<{
|
|
163
|
-
code: z.ZodEnum<["MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "AGENT_RUNTIME_NOT_READY", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "CIRCUIT_OPEN", "ABORTED", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "INTERNAL_ERROR"]>;
|
|
163
|
+
code: z.ZodEnum<["MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "AGENT_RUNTIME_NOT_READY", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "CIRCUIT_OPEN", "ABORTED", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "RUNTIME_PLUGIN_NOT_FOUND", "RUNTIME_PLUGIN_ROUTE_NOT_FOUND", "RUNTIME_PLUGIN_HANDLER_FAILED", "RUNTIME_PLUGIN_LOAD_FAILED", "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "INTERNAL_ERROR"]>;
|
|
164
164
|
message: z.ZodString;
|
|
165
165
|
details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
166
166
|
}, "strip", z.ZodTypeAny, {
|
|
167
|
-
code: "MISSING_API_KEY" | "INVALID_API_KEY" | "OIDC_REFRESH_FAILED" | "VERCEL_AUTH_FAILED" | "CONFIG_INVALID" | "PATH_ESCAPE" | "PATH_ABSOLUTE" | "PATH_NULL_BYTE" | "PATH_SYMLINK_ESCAPE" | "PATH_NOT_FOUND" | "PATH_NOT_WRITABLE" | "WORKSPACE_UNINITIALIZED" | "WORKSPACE_NOT_READY" | "AGENT_RUNTIME_NOT_READY" | "RUNTIME_PROVISIONING_FAILED" | "RUNTIME_PROVISIONING_LOCKED" | "BWRAP_UNAVAILABLE" | "BWRAP_TIMEOUT" | "OUTPUT_TRUNCATED" | "SANDBOX_NOT_READY" | "SANDBOX_EXPIRED" | "VERCEL_API_ERROR" | "CIRCUIT_OPEN" | "ABORTED" | "SESSION_NOT_FOUND" | "SESSION_LOCKED" | "STREAM_BUFFER_EVICTED" | "CURSOR_OUT_OF_RANGE" | "BRIDGE_COMMAND_INVALID" | "TOOL_NOT_FOUND" | "TOOL_INVALID_INPUT" | "TOOL_EXECUTION_ERROR" | "PLUGIN_LOAD_FAILED" | "PLUGIN_NAME_COLLISION" | "PLUGIN_RUNTIME_REVISION_MISMATCH" | "PLUGIN_RUNTIME_PRIVATE_FILE" | "PLUGIN_RUNTIME_UNSAFE_IMPORT" | "PLUGIN_RUNTIME_TRANSFORM_FAILED" | "PROVISIONING_LAYOUT_FAILED" | "PROVISIONING_SKILLS_FAILED" | "PROVISIONING_TEMPLATES_FAILED" | "PROVISIONING_NODE_PREFLIGHT_FAILED" | "PROVISIONING_NPM_INSTALL_FAILED" | "PROVISIONING_UV_BOOTSTRAP_FAILED" | "PROVISIONING_UV_INSTALL_FAILED" | "PROVISIONING_ARTIFACT_FAILED" | "INTERNAL_ERROR";
|
|
167
|
+
code: "MISSING_API_KEY" | "INVALID_API_KEY" | "OIDC_REFRESH_FAILED" | "VERCEL_AUTH_FAILED" | "CONFIG_INVALID" | "PATH_ESCAPE" | "PATH_ABSOLUTE" | "PATH_NULL_BYTE" | "PATH_SYMLINK_ESCAPE" | "PATH_NOT_FOUND" | "PATH_NOT_WRITABLE" | "WORKSPACE_UNINITIALIZED" | "WORKSPACE_NOT_READY" | "AGENT_RUNTIME_NOT_READY" | "RUNTIME_PROVISIONING_FAILED" | "RUNTIME_PROVISIONING_LOCKED" | "BWRAP_UNAVAILABLE" | "BWRAP_TIMEOUT" | "OUTPUT_TRUNCATED" | "SANDBOX_NOT_READY" | "SANDBOX_EXPIRED" | "VERCEL_API_ERROR" | "CIRCUIT_OPEN" | "ABORTED" | "SESSION_NOT_FOUND" | "SESSION_LOCKED" | "STREAM_BUFFER_EVICTED" | "CURSOR_OUT_OF_RANGE" | "BRIDGE_COMMAND_INVALID" | "TOOL_NOT_FOUND" | "TOOL_INVALID_INPUT" | "TOOL_EXECUTION_ERROR" | "PLUGIN_LOAD_FAILED" | "PLUGIN_NAME_COLLISION" | "PLUGIN_RUNTIME_REVISION_MISMATCH" | "PLUGIN_RUNTIME_PRIVATE_FILE" | "PLUGIN_RUNTIME_UNSAFE_IMPORT" | "PLUGIN_RUNTIME_TRANSFORM_FAILED" | "RUNTIME_PLUGIN_NOT_FOUND" | "RUNTIME_PLUGIN_ROUTE_NOT_FOUND" | "RUNTIME_PLUGIN_HANDLER_FAILED" | "RUNTIME_PLUGIN_LOAD_FAILED" | "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED" | "PROVISIONING_LAYOUT_FAILED" | "PROVISIONING_SKILLS_FAILED" | "PROVISIONING_TEMPLATES_FAILED" | "PROVISIONING_NODE_PREFLIGHT_FAILED" | "PROVISIONING_NPM_INSTALL_FAILED" | "PROVISIONING_UV_BOOTSTRAP_FAILED" | "PROVISIONING_UV_INSTALL_FAILED" | "PROVISIONING_ARTIFACT_FAILED" | "INTERNAL_ERROR";
|
|
168
168
|
message: string;
|
|
169
169
|
details?: Record<string, unknown> | undefined;
|
|
170
170
|
}, {
|
|
171
|
-
code: "MISSING_API_KEY" | "INVALID_API_KEY" | "OIDC_REFRESH_FAILED" | "VERCEL_AUTH_FAILED" | "CONFIG_INVALID" | "PATH_ESCAPE" | "PATH_ABSOLUTE" | "PATH_NULL_BYTE" | "PATH_SYMLINK_ESCAPE" | "PATH_NOT_FOUND" | "PATH_NOT_WRITABLE" | "WORKSPACE_UNINITIALIZED" | "WORKSPACE_NOT_READY" | "AGENT_RUNTIME_NOT_READY" | "RUNTIME_PROVISIONING_FAILED" | "RUNTIME_PROVISIONING_LOCKED" | "BWRAP_UNAVAILABLE" | "BWRAP_TIMEOUT" | "OUTPUT_TRUNCATED" | "SANDBOX_NOT_READY" | "SANDBOX_EXPIRED" | "VERCEL_API_ERROR" | "CIRCUIT_OPEN" | "ABORTED" | "SESSION_NOT_FOUND" | "SESSION_LOCKED" | "STREAM_BUFFER_EVICTED" | "CURSOR_OUT_OF_RANGE" | "BRIDGE_COMMAND_INVALID" | "TOOL_NOT_FOUND" | "TOOL_INVALID_INPUT" | "TOOL_EXECUTION_ERROR" | "PLUGIN_LOAD_FAILED" | "PLUGIN_NAME_COLLISION" | "PLUGIN_RUNTIME_REVISION_MISMATCH" | "PLUGIN_RUNTIME_PRIVATE_FILE" | "PLUGIN_RUNTIME_UNSAFE_IMPORT" | "PLUGIN_RUNTIME_TRANSFORM_FAILED" | "PROVISIONING_LAYOUT_FAILED" | "PROVISIONING_SKILLS_FAILED" | "PROVISIONING_TEMPLATES_FAILED" | "PROVISIONING_NODE_PREFLIGHT_FAILED" | "PROVISIONING_NPM_INSTALL_FAILED" | "PROVISIONING_UV_BOOTSTRAP_FAILED" | "PROVISIONING_UV_INSTALL_FAILED" | "PROVISIONING_ARTIFACT_FAILED" | "INTERNAL_ERROR";
|
|
171
|
+
code: "MISSING_API_KEY" | "INVALID_API_KEY" | "OIDC_REFRESH_FAILED" | "VERCEL_AUTH_FAILED" | "CONFIG_INVALID" | "PATH_ESCAPE" | "PATH_ABSOLUTE" | "PATH_NULL_BYTE" | "PATH_SYMLINK_ESCAPE" | "PATH_NOT_FOUND" | "PATH_NOT_WRITABLE" | "WORKSPACE_UNINITIALIZED" | "WORKSPACE_NOT_READY" | "AGENT_RUNTIME_NOT_READY" | "RUNTIME_PROVISIONING_FAILED" | "RUNTIME_PROVISIONING_LOCKED" | "BWRAP_UNAVAILABLE" | "BWRAP_TIMEOUT" | "OUTPUT_TRUNCATED" | "SANDBOX_NOT_READY" | "SANDBOX_EXPIRED" | "VERCEL_API_ERROR" | "CIRCUIT_OPEN" | "ABORTED" | "SESSION_NOT_FOUND" | "SESSION_LOCKED" | "STREAM_BUFFER_EVICTED" | "CURSOR_OUT_OF_RANGE" | "BRIDGE_COMMAND_INVALID" | "TOOL_NOT_FOUND" | "TOOL_INVALID_INPUT" | "TOOL_EXECUTION_ERROR" | "PLUGIN_LOAD_FAILED" | "PLUGIN_NAME_COLLISION" | "PLUGIN_RUNTIME_REVISION_MISMATCH" | "PLUGIN_RUNTIME_PRIVATE_FILE" | "PLUGIN_RUNTIME_UNSAFE_IMPORT" | "PLUGIN_RUNTIME_TRANSFORM_FAILED" | "RUNTIME_PLUGIN_NOT_FOUND" | "RUNTIME_PLUGIN_ROUTE_NOT_FOUND" | "RUNTIME_PLUGIN_HANDLER_FAILED" | "RUNTIME_PLUGIN_LOAD_FAILED" | "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED" | "PROVISIONING_LAYOUT_FAILED" | "PROVISIONING_SKILLS_FAILED" | "PROVISIONING_TEMPLATES_FAILED" | "PROVISIONING_NODE_PREFLIGHT_FAILED" | "PROVISIONING_NPM_INSTALL_FAILED" | "PROVISIONING_UV_BOOTSTRAP_FAILED" | "PROVISIONING_UV_INSTALL_FAILED" | "PROVISIONING_ARTIFACT_FAILED" | "INTERNAL_ERROR";
|
|
172
172
|
message: string;
|
|
173
173
|
details?: Record<string, unknown> | undefined;
|
|
174
174
|
}>;
|
|
175
175
|
type ApiErrorPayload = z.infer<typeof ApiErrorPayloadSchema>;
|
|
176
176
|
declare const ApiErrorResponseSchema: z.ZodObject<{
|
|
177
177
|
error: z.ZodObject<{
|
|
178
|
-
code: z.ZodEnum<["MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "AGENT_RUNTIME_NOT_READY", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "CIRCUIT_OPEN", "ABORTED", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "INTERNAL_ERROR"]>;
|
|
178
|
+
code: z.ZodEnum<["MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "AGENT_RUNTIME_NOT_READY", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "CIRCUIT_OPEN", "ABORTED", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "RUNTIME_PLUGIN_NOT_FOUND", "RUNTIME_PLUGIN_ROUTE_NOT_FOUND", "RUNTIME_PLUGIN_HANDLER_FAILED", "RUNTIME_PLUGIN_LOAD_FAILED", "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "INTERNAL_ERROR"]>;
|
|
179
179
|
message: z.ZodString;
|
|
180
180
|
details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
181
181
|
}, "strip", z.ZodTypeAny, {
|
|
182
|
-
code: "MISSING_API_KEY" | "INVALID_API_KEY" | "OIDC_REFRESH_FAILED" | "VERCEL_AUTH_FAILED" | "CONFIG_INVALID" | "PATH_ESCAPE" | "PATH_ABSOLUTE" | "PATH_NULL_BYTE" | "PATH_SYMLINK_ESCAPE" | "PATH_NOT_FOUND" | "PATH_NOT_WRITABLE" | "WORKSPACE_UNINITIALIZED" | "WORKSPACE_NOT_READY" | "AGENT_RUNTIME_NOT_READY" | "RUNTIME_PROVISIONING_FAILED" | "RUNTIME_PROVISIONING_LOCKED" | "BWRAP_UNAVAILABLE" | "BWRAP_TIMEOUT" | "OUTPUT_TRUNCATED" | "SANDBOX_NOT_READY" | "SANDBOX_EXPIRED" | "VERCEL_API_ERROR" | "CIRCUIT_OPEN" | "ABORTED" | "SESSION_NOT_FOUND" | "SESSION_LOCKED" | "STREAM_BUFFER_EVICTED" | "CURSOR_OUT_OF_RANGE" | "BRIDGE_COMMAND_INVALID" | "TOOL_NOT_FOUND" | "TOOL_INVALID_INPUT" | "TOOL_EXECUTION_ERROR" | "PLUGIN_LOAD_FAILED" | "PLUGIN_NAME_COLLISION" | "PLUGIN_RUNTIME_REVISION_MISMATCH" | "PLUGIN_RUNTIME_PRIVATE_FILE" | "PLUGIN_RUNTIME_UNSAFE_IMPORT" | "PLUGIN_RUNTIME_TRANSFORM_FAILED" | "PROVISIONING_LAYOUT_FAILED" | "PROVISIONING_SKILLS_FAILED" | "PROVISIONING_TEMPLATES_FAILED" | "PROVISIONING_NODE_PREFLIGHT_FAILED" | "PROVISIONING_NPM_INSTALL_FAILED" | "PROVISIONING_UV_BOOTSTRAP_FAILED" | "PROVISIONING_UV_INSTALL_FAILED" | "PROVISIONING_ARTIFACT_FAILED" | "INTERNAL_ERROR";
|
|
182
|
+
code: "MISSING_API_KEY" | "INVALID_API_KEY" | "OIDC_REFRESH_FAILED" | "VERCEL_AUTH_FAILED" | "CONFIG_INVALID" | "PATH_ESCAPE" | "PATH_ABSOLUTE" | "PATH_NULL_BYTE" | "PATH_SYMLINK_ESCAPE" | "PATH_NOT_FOUND" | "PATH_NOT_WRITABLE" | "WORKSPACE_UNINITIALIZED" | "WORKSPACE_NOT_READY" | "AGENT_RUNTIME_NOT_READY" | "RUNTIME_PROVISIONING_FAILED" | "RUNTIME_PROVISIONING_LOCKED" | "BWRAP_UNAVAILABLE" | "BWRAP_TIMEOUT" | "OUTPUT_TRUNCATED" | "SANDBOX_NOT_READY" | "SANDBOX_EXPIRED" | "VERCEL_API_ERROR" | "CIRCUIT_OPEN" | "ABORTED" | "SESSION_NOT_FOUND" | "SESSION_LOCKED" | "STREAM_BUFFER_EVICTED" | "CURSOR_OUT_OF_RANGE" | "BRIDGE_COMMAND_INVALID" | "TOOL_NOT_FOUND" | "TOOL_INVALID_INPUT" | "TOOL_EXECUTION_ERROR" | "PLUGIN_LOAD_FAILED" | "PLUGIN_NAME_COLLISION" | "PLUGIN_RUNTIME_REVISION_MISMATCH" | "PLUGIN_RUNTIME_PRIVATE_FILE" | "PLUGIN_RUNTIME_UNSAFE_IMPORT" | "PLUGIN_RUNTIME_TRANSFORM_FAILED" | "RUNTIME_PLUGIN_NOT_FOUND" | "RUNTIME_PLUGIN_ROUTE_NOT_FOUND" | "RUNTIME_PLUGIN_HANDLER_FAILED" | "RUNTIME_PLUGIN_LOAD_FAILED" | "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED" | "PROVISIONING_LAYOUT_FAILED" | "PROVISIONING_SKILLS_FAILED" | "PROVISIONING_TEMPLATES_FAILED" | "PROVISIONING_NODE_PREFLIGHT_FAILED" | "PROVISIONING_NPM_INSTALL_FAILED" | "PROVISIONING_UV_BOOTSTRAP_FAILED" | "PROVISIONING_UV_INSTALL_FAILED" | "PROVISIONING_ARTIFACT_FAILED" | "INTERNAL_ERROR";
|
|
183
183
|
message: string;
|
|
184
184
|
details?: Record<string, unknown> | undefined;
|
|
185
185
|
}, {
|
|
186
|
-
code: "MISSING_API_KEY" | "INVALID_API_KEY" | "OIDC_REFRESH_FAILED" | "VERCEL_AUTH_FAILED" | "CONFIG_INVALID" | "PATH_ESCAPE" | "PATH_ABSOLUTE" | "PATH_NULL_BYTE" | "PATH_SYMLINK_ESCAPE" | "PATH_NOT_FOUND" | "PATH_NOT_WRITABLE" | "WORKSPACE_UNINITIALIZED" | "WORKSPACE_NOT_READY" | "AGENT_RUNTIME_NOT_READY" | "RUNTIME_PROVISIONING_FAILED" | "RUNTIME_PROVISIONING_LOCKED" | "BWRAP_UNAVAILABLE" | "BWRAP_TIMEOUT" | "OUTPUT_TRUNCATED" | "SANDBOX_NOT_READY" | "SANDBOX_EXPIRED" | "VERCEL_API_ERROR" | "CIRCUIT_OPEN" | "ABORTED" | "SESSION_NOT_FOUND" | "SESSION_LOCKED" | "STREAM_BUFFER_EVICTED" | "CURSOR_OUT_OF_RANGE" | "BRIDGE_COMMAND_INVALID" | "TOOL_NOT_FOUND" | "TOOL_INVALID_INPUT" | "TOOL_EXECUTION_ERROR" | "PLUGIN_LOAD_FAILED" | "PLUGIN_NAME_COLLISION" | "PLUGIN_RUNTIME_REVISION_MISMATCH" | "PLUGIN_RUNTIME_PRIVATE_FILE" | "PLUGIN_RUNTIME_UNSAFE_IMPORT" | "PLUGIN_RUNTIME_TRANSFORM_FAILED" | "PROVISIONING_LAYOUT_FAILED" | "PROVISIONING_SKILLS_FAILED" | "PROVISIONING_TEMPLATES_FAILED" | "PROVISIONING_NODE_PREFLIGHT_FAILED" | "PROVISIONING_NPM_INSTALL_FAILED" | "PROVISIONING_UV_BOOTSTRAP_FAILED" | "PROVISIONING_UV_INSTALL_FAILED" | "PROVISIONING_ARTIFACT_FAILED" | "INTERNAL_ERROR";
|
|
186
|
+
code: "MISSING_API_KEY" | "INVALID_API_KEY" | "OIDC_REFRESH_FAILED" | "VERCEL_AUTH_FAILED" | "CONFIG_INVALID" | "PATH_ESCAPE" | "PATH_ABSOLUTE" | "PATH_NULL_BYTE" | "PATH_SYMLINK_ESCAPE" | "PATH_NOT_FOUND" | "PATH_NOT_WRITABLE" | "WORKSPACE_UNINITIALIZED" | "WORKSPACE_NOT_READY" | "AGENT_RUNTIME_NOT_READY" | "RUNTIME_PROVISIONING_FAILED" | "RUNTIME_PROVISIONING_LOCKED" | "BWRAP_UNAVAILABLE" | "BWRAP_TIMEOUT" | "OUTPUT_TRUNCATED" | "SANDBOX_NOT_READY" | "SANDBOX_EXPIRED" | "VERCEL_API_ERROR" | "CIRCUIT_OPEN" | "ABORTED" | "SESSION_NOT_FOUND" | "SESSION_LOCKED" | "STREAM_BUFFER_EVICTED" | "CURSOR_OUT_OF_RANGE" | "BRIDGE_COMMAND_INVALID" | "TOOL_NOT_FOUND" | "TOOL_INVALID_INPUT" | "TOOL_EXECUTION_ERROR" | "PLUGIN_LOAD_FAILED" | "PLUGIN_NAME_COLLISION" | "PLUGIN_RUNTIME_REVISION_MISMATCH" | "PLUGIN_RUNTIME_PRIVATE_FILE" | "PLUGIN_RUNTIME_UNSAFE_IMPORT" | "PLUGIN_RUNTIME_TRANSFORM_FAILED" | "RUNTIME_PLUGIN_NOT_FOUND" | "RUNTIME_PLUGIN_ROUTE_NOT_FOUND" | "RUNTIME_PLUGIN_HANDLER_FAILED" | "RUNTIME_PLUGIN_LOAD_FAILED" | "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED" | "PROVISIONING_LAYOUT_FAILED" | "PROVISIONING_SKILLS_FAILED" | "PROVISIONING_TEMPLATES_FAILED" | "PROVISIONING_NODE_PREFLIGHT_FAILED" | "PROVISIONING_NPM_INSTALL_FAILED" | "PROVISIONING_UV_BOOTSTRAP_FAILED" | "PROVISIONING_UV_INSTALL_FAILED" | "PROVISIONING_ARTIFACT_FAILED" | "INTERNAL_ERROR";
|
|
187
187
|
message: string;
|
|
188
188
|
details?: Record<string, unknown> | undefined;
|
|
189
189
|
}>;
|
|
190
190
|
}, "strip", z.ZodTypeAny, {
|
|
191
191
|
error: {
|
|
192
|
-
code: "MISSING_API_KEY" | "INVALID_API_KEY" | "OIDC_REFRESH_FAILED" | "VERCEL_AUTH_FAILED" | "CONFIG_INVALID" | "PATH_ESCAPE" | "PATH_ABSOLUTE" | "PATH_NULL_BYTE" | "PATH_SYMLINK_ESCAPE" | "PATH_NOT_FOUND" | "PATH_NOT_WRITABLE" | "WORKSPACE_UNINITIALIZED" | "WORKSPACE_NOT_READY" | "AGENT_RUNTIME_NOT_READY" | "RUNTIME_PROVISIONING_FAILED" | "RUNTIME_PROVISIONING_LOCKED" | "BWRAP_UNAVAILABLE" | "BWRAP_TIMEOUT" | "OUTPUT_TRUNCATED" | "SANDBOX_NOT_READY" | "SANDBOX_EXPIRED" | "VERCEL_API_ERROR" | "CIRCUIT_OPEN" | "ABORTED" | "SESSION_NOT_FOUND" | "SESSION_LOCKED" | "STREAM_BUFFER_EVICTED" | "CURSOR_OUT_OF_RANGE" | "BRIDGE_COMMAND_INVALID" | "TOOL_NOT_FOUND" | "TOOL_INVALID_INPUT" | "TOOL_EXECUTION_ERROR" | "PLUGIN_LOAD_FAILED" | "PLUGIN_NAME_COLLISION" | "PLUGIN_RUNTIME_REVISION_MISMATCH" | "PLUGIN_RUNTIME_PRIVATE_FILE" | "PLUGIN_RUNTIME_UNSAFE_IMPORT" | "PLUGIN_RUNTIME_TRANSFORM_FAILED" | "PROVISIONING_LAYOUT_FAILED" | "PROVISIONING_SKILLS_FAILED" | "PROVISIONING_TEMPLATES_FAILED" | "PROVISIONING_NODE_PREFLIGHT_FAILED" | "PROVISIONING_NPM_INSTALL_FAILED" | "PROVISIONING_UV_BOOTSTRAP_FAILED" | "PROVISIONING_UV_INSTALL_FAILED" | "PROVISIONING_ARTIFACT_FAILED" | "INTERNAL_ERROR";
|
|
192
|
+
code: "MISSING_API_KEY" | "INVALID_API_KEY" | "OIDC_REFRESH_FAILED" | "VERCEL_AUTH_FAILED" | "CONFIG_INVALID" | "PATH_ESCAPE" | "PATH_ABSOLUTE" | "PATH_NULL_BYTE" | "PATH_SYMLINK_ESCAPE" | "PATH_NOT_FOUND" | "PATH_NOT_WRITABLE" | "WORKSPACE_UNINITIALIZED" | "WORKSPACE_NOT_READY" | "AGENT_RUNTIME_NOT_READY" | "RUNTIME_PROVISIONING_FAILED" | "RUNTIME_PROVISIONING_LOCKED" | "BWRAP_UNAVAILABLE" | "BWRAP_TIMEOUT" | "OUTPUT_TRUNCATED" | "SANDBOX_NOT_READY" | "SANDBOX_EXPIRED" | "VERCEL_API_ERROR" | "CIRCUIT_OPEN" | "ABORTED" | "SESSION_NOT_FOUND" | "SESSION_LOCKED" | "STREAM_BUFFER_EVICTED" | "CURSOR_OUT_OF_RANGE" | "BRIDGE_COMMAND_INVALID" | "TOOL_NOT_FOUND" | "TOOL_INVALID_INPUT" | "TOOL_EXECUTION_ERROR" | "PLUGIN_LOAD_FAILED" | "PLUGIN_NAME_COLLISION" | "PLUGIN_RUNTIME_REVISION_MISMATCH" | "PLUGIN_RUNTIME_PRIVATE_FILE" | "PLUGIN_RUNTIME_UNSAFE_IMPORT" | "PLUGIN_RUNTIME_TRANSFORM_FAILED" | "RUNTIME_PLUGIN_NOT_FOUND" | "RUNTIME_PLUGIN_ROUTE_NOT_FOUND" | "RUNTIME_PLUGIN_HANDLER_FAILED" | "RUNTIME_PLUGIN_LOAD_FAILED" | "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED" | "PROVISIONING_LAYOUT_FAILED" | "PROVISIONING_SKILLS_FAILED" | "PROVISIONING_TEMPLATES_FAILED" | "PROVISIONING_NODE_PREFLIGHT_FAILED" | "PROVISIONING_NPM_INSTALL_FAILED" | "PROVISIONING_UV_BOOTSTRAP_FAILED" | "PROVISIONING_UV_INSTALL_FAILED" | "PROVISIONING_ARTIFACT_FAILED" | "INTERNAL_ERROR";
|
|
193
193
|
message: string;
|
|
194
194
|
details?: Record<string, unknown> | undefined;
|
|
195
195
|
};
|
|
196
196
|
}, {
|
|
197
197
|
error: {
|
|
198
|
-
code: "MISSING_API_KEY" | "INVALID_API_KEY" | "OIDC_REFRESH_FAILED" | "VERCEL_AUTH_FAILED" | "CONFIG_INVALID" | "PATH_ESCAPE" | "PATH_ABSOLUTE" | "PATH_NULL_BYTE" | "PATH_SYMLINK_ESCAPE" | "PATH_NOT_FOUND" | "PATH_NOT_WRITABLE" | "WORKSPACE_UNINITIALIZED" | "WORKSPACE_NOT_READY" | "AGENT_RUNTIME_NOT_READY" | "RUNTIME_PROVISIONING_FAILED" | "RUNTIME_PROVISIONING_LOCKED" | "BWRAP_UNAVAILABLE" | "BWRAP_TIMEOUT" | "OUTPUT_TRUNCATED" | "SANDBOX_NOT_READY" | "SANDBOX_EXPIRED" | "VERCEL_API_ERROR" | "CIRCUIT_OPEN" | "ABORTED" | "SESSION_NOT_FOUND" | "SESSION_LOCKED" | "STREAM_BUFFER_EVICTED" | "CURSOR_OUT_OF_RANGE" | "BRIDGE_COMMAND_INVALID" | "TOOL_NOT_FOUND" | "TOOL_INVALID_INPUT" | "TOOL_EXECUTION_ERROR" | "PLUGIN_LOAD_FAILED" | "PLUGIN_NAME_COLLISION" | "PLUGIN_RUNTIME_REVISION_MISMATCH" | "PLUGIN_RUNTIME_PRIVATE_FILE" | "PLUGIN_RUNTIME_UNSAFE_IMPORT" | "PLUGIN_RUNTIME_TRANSFORM_FAILED" | "PROVISIONING_LAYOUT_FAILED" | "PROVISIONING_SKILLS_FAILED" | "PROVISIONING_TEMPLATES_FAILED" | "PROVISIONING_NODE_PREFLIGHT_FAILED" | "PROVISIONING_NPM_INSTALL_FAILED" | "PROVISIONING_UV_BOOTSTRAP_FAILED" | "PROVISIONING_UV_INSTALL_FAILED" | "PROVISIONING_ARTIFACT_FAILED" | "INTERNAL_ERROR";
|
|
198
|
+
code: "MISSING_API_KEY" | "INVALID_API_KEY" | "OIDC_REFRESH_FAILED" | "VERCEL_AUTH_FAILED" | "CONFIG_INVALID" | "PATH_ESCAPE" | "PATH_ABSOLUTE" | "PATH_NULL_BYTE" | "PATH_SYMLINK_ESCAPE" | "PATH_NOT_FOUND" | "PATH_NOT_WRITABLE" | "WORKSPACE_UNINITIALIZED" | "WORKSPACE_NOT_READY" | "AGENT_RUNTIME_NOT_READY" | "RUNTIME_PROVISIONING_FAILED" | "RUNTIME_PROVISIONING_LOCKED" | "BWRAP_UNAVAILABLE" | "BWRAP_TIMEOUT" | "OUTPUT_TRUNCATED" | "SANDBOX_NOT_READY" | "SANDBOX_EXPIRED" | "VERCEL_API_ERROR" | "CIRCUIT_OPEN" | "ABORTED" | "SESSION_NOT_FOUND" | "SESSION_LOCKED" | "STREAM_BUFFER_EVICTED" | "CURSOR_OUT_OF_RANGE" | "BRIDGE_COMMAND_INVALID" | "TOOL_NOT_FOUND" | "TOOL_INVALID_INPUT" | "TOOL_EXECUTION_ERROR" | "PLUGIN_LOAD_FAILED" | "PLUGIN_NAME_COLLISION" | "PLUGIN_RUNTIME_REVISION_MISMATCH" | "PLUGIN_RUNTIME_PRIVATE_FILE" | "PLUGIN_RUNTIME_UNSAFE_IMPORT" | "PLUGIN_RUNTIME_TRANSFORM_FAILED" | "RUNTIME_PLUGIN_NOT_FOUND" | "RUNTIME_PLUGIN_ROUTE_NOT_FOUND" | "RUNTIME_PLUGIN_HANDLER_FAILED" | "RUNTIME_PLUGIN_LOAD_FAILED" | "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED" | "PROVISIONING_LAYOUT_FAILED" | "PROVISIONING_SKILLS_FAILED" | "PROVISIONING_TEMPLATES_FAILED" | "PROVISIONING_NODE_PREFLIGHT_FAILED" | "PROVISIONING_NPM_INSTALL_FAILED" | "PROVISIONING_UV_BOOTSTRAP_FAILED" | "PROVISIONING_UV_INSTALL_FAILED" | "PROVISIONING_ARTIFACT_FAILED" | "INTERNAL_ERROR";
|
|
199
199
|
message: string;
|
|
200
200
|
details?: Record<string, unknown> | undefined;
|
|
201
201
|
};
|
|
@@ -203,17 +203,17 @@ declare const ApiErrorResponseSchema: z.ZodObject<{
|
|
|
203
203
|
type ApiErrorResponse = z.infer<typeof ApiErrorResponseSchema>;
|
|
204
204
|
declare const ErrorLogFieldsSchema: z.ZodObject<{
|
|
205
205
|
level: z.ZodEnum<["warn", "error"]>;
|
|
206
|
-
code: z.ZodEnum<["MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "AGENT_RUNTIME_NOT_READY", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "CIRCUIT_OPEN", "ABORTED", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "INTERNAL_ERROR"]>;
|
|
206
|
+
code: z.ZodEnum<["MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "AGENT_RUNTIME_NOT_READY", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "CIRCUIT_OPEN", "ABORTED", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "RUNTIME_PLUGIN_NOT_FOUND", "RUNTIME_PLUGIN_ROUTE_NOT_FOUND", "RUNTIME_PLUGIN_HANDLER_FAILED", "RUNTIME_PLUGIN_LOAD_FAILED", "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "INTERNAL_ERROR"]>;
|
|
207
207
|
prefix: z.ZodString;
|
|
208
208
|
msg: z.ZodString;
|
|
209
209
|
}, "strip", z.ZodUnknown, z.objectOutputType<{
|
|
210
210
|
level: z.ZodEnum<["warn", "error"]>;
|
|
211
|
-
code: z.ZodEnum<["MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "AGENT_RUNTIME_NOT_READY", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "CIRCUIT_OPEN", "ABORTED", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "INTERNAL_ERROR"]>;
|
|
211
|
+
code: z.ZodEnum<["MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "AGENT_RUNTIME_NOT_READY", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "CIRCUIT_OPEN", "ABORTED", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "RUNTIME_PLUGIN_NOT_FOUND", "RUNTIME_PLUGIN_ROUTE_NOT_FOUND", "RUNTIME_PLUGIN_HANDLER_FAILED", "RUNTIME_PLUGIN_LOAD_FAILED", "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "INTERNAL_ERROR"]>;
|
|
212
212
|
prefix: z.ZodString;
|
|
213
213
|
msg: z.ZodString;
|
|
214
214
|
}, z.ZodUnknown, "strip">, z.objectInputType<{
|
|
215
215
|
level: z.ZodEnum<["warn", "error"]>;
|
|
216
|
-
code: z.ZodEnum<["MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "AGENT_RUNTIME_NOT_READY", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "CIRCUIT_OPEN", "ABORTED", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "INTERNAL_ERROR"]>;
|
|
216
|
+
code: z.ZodEnum<["MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "AGENT_RUNTIME_NOT_READY", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "CIRCUIT_OPEN", "ABORTED", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "RUNTIME_PLUGIN_NOT_FOUND", "RUNTIME_PLUGIN_ROUTE_NOT_FOUND", "RUNTIME_PLUGIN_HANDLER_FAILED", "RUNTIME_PLUGIN_LOAD_FAILED", "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "INTERNAL_ERROR"]>;
|
|
217
217
|
prefix: z.ZodString;
|
|
218
218
|
msg: z.ZodString;
|
|
219
219
|
}, z.ZodUnknown, "strip">>;
|
package/dist/shared/index.js
CHANGED
package/docs/ERROR_CODES.md
CHANGED
|
@@ -59,6 +59,11 @@ All API failures must use the response envelope:
|
|
|
59
59
|
| `PLUGIN_RUNTIME_PRIVATE_FILE` | Plugin runtime request targeted a disallowed private/non-front file | 403 | user-fix | warn | stable (public API) |
|
|
60
60
|
| `PLUGIN_RUNTIME_UNSAFE_IMPORT` | Plugin frontend import is browser-unsafe or bypasses the host runtime surface | 400 | user-fix | warn | stable (public API) |
|
|
61
61
|
| `PLUGIN_RUNTIME_TRANSFORM_FAILED` | Host runtime could not transform the plugin frontend module graph | 500 | report-bug | error | stable (public API) |
|
|
62
|
+
| `RUNTIME_PLUGIN_NOT_FOUND` | Runtime backend gateway could not find a live plugin snapshot | 404 | user-fix | warn | stable (public API) |
|
|
63
|
+
| `RUNTIME_PLUGIN_ROUTE_NOT_FOUND` | Runtime backend gateway could not match an exact plugin-owned route | 404 | user-fix | warn | stable (public API) |
|
|
64
|
+
| `RUNTIME_PLUGIN_HANDLER_FAILED` | Runtime backend handler threw while serving a plugin-owned route | 500 | report-bug | error | stable (public API) |
|
|
65
|
+
| `RUNTIME_PLUGIN_LOAD_FAILED` | Runtime backend module failed to import, validate, capture, or dispose | 500 | report-bug | error | stable (public API) |
|
|
66
|
+
| `RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED` | Runtime backend handler returned an unsupported response value | 500 | report-bug | error | stable (public API) |
|
|
62
67
|
| `PROVISIONING_LAYOUT_FAILED` | Failed to create/write generated `.boring-agent` layout | 500 | report-bug | error | stable (public API) |
|
|
63
68
|
| `PROVISIONING_SKILLS_FAILED` | Failed to mirror plugin skills into `.boring-agent/skills` | 500 | report-bug | error | stable (public API) |
|
|
64
69
|
| `PROVISIONING_TEMPLATES_FAILED` | Failed to seed missing workspace template files | 500 | report-bug | error | stable (public API) |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hachej/boring-agent",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.34",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Pane-embeddable coding agent. Ships direct/local/vercel-sandbox execution modes behind one interface.",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"use-stick-to-bottom": "^1.1.3",
|
|
76
76
|
"yaml": "^2.8.3",
|
|
77
77
|
"zod": "^3.25.76",
|
|
78
|
-
"@hachej/boring-ui-kit": "0.1.
|
|
78
|
+
"@hachej/boring-ui-kit": "0.1.34"
|
|
79
79
|
},
|
|
80
80
|
"devDependencies": {
|
|
81
81
|
"@opentelemetry/api": "^1.9.1",
|