@rivet-dev/agentos-core 0.0.0-main.29b0797 → 0.0.0-main.5ac5a14
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/README.md +10 -199
- package/dist/agent-os.d.ts +332 -54
- package/dist/agent-os.js +1533 -91
- package/dist/agentos-package.d.ts +2 -2
- package/dist/agentos-package.js +2 -2
- package/dist/base-filesystem.js +2 -2
- package/dist/code-execution.d.ts +70 -0
- package/dist/code-execution.js +115 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +2 -1
- package/dist/language-execution.d.ts +170 -0
- package/dist/language-execution.js +1 -0
- package/dist/options-schema.d.ts +19 -3
- package/dist/options-schema.js +17 -2
- package/dist/packages.d.ts +1 -1
- package/dist/runtime-compat.js +19 -7
- package/dist/sandbox.js +33 -20
- package/dist/sidecar/agentos-protocol.d.ts +14 -3
- package/dist/sidecar/agentos-protocol.js +10 -0
- package/dist/sidecar/rpc-client.d.ts +1 -0
- package/dist/sidecar/rpc-client.js +25 -16
- package/dist/types.d.ts +5 -3
- package/package.json +26 -20
package/dist/sandbox.js
CHANGED
|
@@ -241,24 +241,37 @@ export async function resolveSandboxOptions(options) {
|
|
|
241
241
|
return rest;
|
|
242
242
|
}
|
|
243
243
|
const normalizedSandbox = await normalizeSandboxInput(sandbox);
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
244
|
+
try {
|
|
245
|
+
const sandboxOptions = normalizedSandbox.options;
|
|
246
|
+
const expanded = rest;
|
|
247
|
+
const mountPath = sandboxOptions.mountPath ?? "/mnt/sandbox";
|
|
248
|
+
const mounts = [
|
|
249
|
+
...(expanded.mounts ?? []),
|
|
250
|
+
{
|
|
251
|
+
path: mountPath,
|
|
252
|
+
plugin: createSandboxFs(sandboxOptions),
|
|
253
|
+
readOnly: sandboxOptions.readOnly,
|
|
254
|
+
},
|
|
255
|
+
];
|
|
256
|
+
const bindings = [
|
|
257
|
+
...(expanded.bindings ?? []),
|
|
258
|
+
createSandboxBindings(sandboxOptions),
|
|
259
|
+
];
|
|
260
|
+
return attachSandboxDisposeHooks({
|
|
261
|
+
...expanded,
|
|
262
|
+
mounts,
|
|
263
|
+
bindings,
|
|
264
|
+
}, normalizedSandbox.dispose ? [normalizedSandbox.dispose] : []);
|
|
265
|
+
}
|
|
266
|
+
catch (error) {
|
|
267
|
+
if (!normalizedSandbox.dispose)
|
|
268
|
+
throw error;
|
|
269
|
+
try {
|
|
270
|
+
await normalizedSandbox.dispose();
|
|
271
|
+
}
|
|
272
|
+
catch (disposeError) {
|
|
273
|
+
throw new AggregateError([error, disposeError], "Sandbox configuration and cleanup failed");
|
|
274
|
+
}
|
|
275
|
+
throw error;
|
|
276
|
+
}
|
|
264
277
|
}
|
|
@@ -23,6 +23,7 @@ export type AcpCreateSessionRequest = {
|
|
|
23
23
|
readonly agentType: string;
|
|
24
24
|
readonly runtime: AcpRuntimeKind;
|
|
25
25
|
readonly cwd: string;
|
|
26
|
+
readonly additionalDirectories: readonly string[];
|
|
26
27
|
readonly args: readonly string[];
|
|
27
28
|
readonly env: ReadonlyMap<string, string>;
|
|
28
29
|
readonly protocolVersion: i32;
|
|
@@ -235,15 +236,19 @@ export declare function writeAcpCloseSessionRequest(bc: bare.ByteCursor, x: AcpC
|
|
|
235
236
|
* Resume a session that exists in durable storage but is not live in the current
|
|
236
237
|
* VM (e.g. after a Rivet actor slept and woke with a fresh VM). The sidecar runs
|
|
237
238
|
* the stateless resume state machine (native session/load when the agent supports
|
|
238
|
-
* it, else a fresh session/new + transcript continuation preamble). `
|
|
239
|
-
* describe the fresh adapter launch used by the fallback tier.
|
|
240
|
-
* when present, is a guest-readable path the fallback preamble
|
|
239
|
+
* it, else a fresh session/new + transcript continuation preamble). `runtime`,
|
|
240
|
+
* `cwd`, and `env` describe the fresh adapter launch used by the fallback tier.
|
|
241
|
+
* `transcriptPath`, when present, is a guest-readable path the fallback preamble
|
|
242
|
+
* points the agent at.
|
|
241
243
|
*/
|
|
242
244
|
export type AcpResumeSessionRequest = {
|
|
243
245
|
readonly sessionId: string;
|
|
244
246
|
readonly agentType: string;
|
|
247
|
+
readonly runtime: AcpRuntimeKind;
|
|
245
248
|
readonly transcriptPath: string | null;
|
|
246
249
|
readonly cwd: string;
|
|
250
|
+
readonly additionalDirectories: readonly string[];
|
|
251
|
+
readonly mcpServers: JsonUtf8;
|
|
247
252
|
readonly env: ReadonlyMap<string, string>;
|
|
248
253
|
};
|
|
249
254
|
export declare function readAcpResumeSessionRequest(bc: bare.ByteCursor): AcpResumeSessionRequest;
|
|
@@ -475,6 +480,12 @@ export declare function writeAcpSessionCreatedResponse(bc: bare.ByteCursor, x: A
|
|
|
475
480
|
export type AcpSessionRpcResponse = {
|
|
476
481
|
readonly sessionId: string;
|
|
477
482
|
readonly response: JsonUtf8;
|
|
483
|
+
/**
|
|
484
|
+
* Number of request-scoped AcpSessionEvent frames emitted before this
|
|
485
|
+
* terminal response. Clients use this as an event-delivery barrier because
|
|
486
|
+
* response and event frames travel on separate priority lanes.
|
|
487
|
+
*/
|
|
488
|
+
readonly eventCount: u32;
|
|
478
489
|
};
|
|
479
490
|
export declare function readAcpSessionRpcResponse(bc: bare.ByteCursor): AcpSessionRpcResponse;
|
|
480
491
|
export declare function writeAcpSessionRpcResponse(bc: bare.ByteCursor, x: AcpSessionRpcResponse): void;
|
|
@@ -97,6 +97,7 @@ export function readAcpCreateSessionRequest(bc) {
|
|
|
97
97
|
agentType: bare.readString(bc),
|
|
98
98
|
runtime: readAcpRuntimeKind(bc),
|
|
99
99
|
cwd: bare.readString(bc),
|
|
100
|
+
additionalDirectories: read0(bc),
|
|
100
101
|
args: read0(bc),
|
|
101
102
|
env: read1(bc),
|
|
102
103
|
protocolVersion: bare.readI32(bc),
|
|
@@ -110,6 +111,7 @@ export function writeAcpCreateSessionRequest(bc, x) {
|
|
|
110
111
|
bare.writeString(bc, x.agentType);
|
|
111
112
|
writeAcpRuntimeKind(bc, x.runtime);
|
|
112
113
|
bare.writeString(bc, x.cwd);
|
|
114
|
+
write0(bc, x.additionalDirectories);
|
|
113
115
|
write0(bc, x.args);
|
|
114
116
|
write1(bc, x.env);
|
|
115
117
|
bare.writeI32(bc, x.protocolVersion);
|
|
@@ -371,16 +373,22 @@ export function readAcpResumeSessionRequest(bc) {
|
|
|
371
373
|
return {
|
|
372
374
|
sessionId: bare.readString(bc),
|
|
373
375
|
agentType: bare.readString(bc),
|
|
376
|
+
runtime: readAcpRuntimeKind(bc),
|
|
374
377
|
transcriptPath: read2(bc),
|
|
375
378
|
cwd: bare.readString(bc),
|
|
379
|
+
additionalDirectories: read0(bc),
|
|
380
|
+
mcpServers: readJsonUtf8(bc),
|
|
376
381
|
env: read1(bc),
|
|
377
382
|
};
|
|
378
383
|
}
|
|
379
384
|
export function writeAcpResumeSessionRequest(bc, x) {
|
|
380
385
|
bare.writeString(bc, x.sessionId);
|
|
381
386
|
bare.writeString(bc, x.agentType);
|
|
387
|
+
writeAcpRuntimeKind(bc, x.runtime);
|
|
382
388
|
write2(bc, x.transcriptPath);
|
|
383
389
|
bare.writeString(bc, x.cwd);
|
|
390
|
+
write0(bc, x.additionalDirectories);
|
|
391
|
+
writeJsonUtf8(bc, x.mcpServers);
|
|
384
392
|
write1(bc, x.env);
|
|
385
393
|
}
|
|
386
394
|
export function readAcpDeliverAgentOutputRequest(bc) {
|
|
@@ -851,11 +859,13 @@ export function readAcpSessionRpcResponse(bc) {
|
|
|
851
859
|
return {
|
|
852
860
|
sessionId: bare.readString(bc),
|
|
853
861
|
response: readJsonUtf8(bc),
|
|
862
|
+
eventCount: bare.readU32(bc),
|
|
854
863
|
};
|
|
855
864
|
}
|
|
856
865
|
export function writeAcpSessionRpcResponse(bc, x) {
|
|
857
866
|
bare.writeString(bc, x.sessionId);
|
|
858
867
|
writeJsonUtf8(bc, x.response);
|
|
868
|
+
bare.writeU32(bc, x.eventCount);
|
|
859
869
|
}
|
|
860
870
|
function read11(bc) {
|
|
861
871
|
return bare.readBool(bc) ? bare.readI32(bc) : null;
|
|
@@ -183,6 +183,7 @@ export declare class NativeSidecarKernelProxy {
|
|
|
183
183
|
port?: number;
|
|
184
184
|
}): KernelSocketSnapshot | null;
|
|
185
185
|
getSignalState(pid: number): KernelSignalState;
|
|
186
|
+
private scheduleSignalStateRefresh;
|
|
186
187
|
private refreshSocketLookup;
|
|
187
188
|
private refreshSignalState;
|
|
188
189
|
private refreshProcessSnapshot;
|
|
@@ -361,16 +361,16 @@ export class NativeSidecarKernelProxy {
|
|
|
361
361
|
const parsedCommand = parseSimpleExecCommand(command);
|
|
362
362
|
const runAndCapture = async (proc, stdinOverride, readExitCode) => {
|
|
363
363
|
if (stdinOverride !== undefined) {
|
|
364
|
-
proc.writeStdin(stdinOverride);
|
|
364
|
+
await proc.writeStdin(stdinOverride);
|
|
365
365
|
}
|
|
366
366
|
else if (options?.stdin !== undefined) {
|
|
367
|
-
proc.writeStdin(options.stdin);
|
|
367
|
+
await proc.writeStdin(options.stdin);
|
|
368
368
|
}
|
|
369
369
|
// `kernel.exec()` is a non-interactive run-to-completion API: when the
|
|
370
370
|
// caller does not opt into a streaming stdin handle, the guest process
|
|
371
371
|
// should observe EOF after any provided input so commands like
|
|
372
372
|
// `node -e ...` do not linger behind an inherited open stdin pipe.
|
|
373
|
-
proc.closeStdin();
|
|
373
|
+
await proc.closeStdin();
|
|
374
374
|
const waitPromise = proc.wait();
|
|
375
375
|
const shellExitCode = typeof options?.timeout === "number"
|
|
376
376
|
? await new Promise((resolve) => {
|
|
@@ -438,9 +438,9 @@ export class NativeSidecarKernelProxy {
|
|
|
438
438
|
const effectiveCwd = options?.cwd ?? this.defaultExecCwd ?? this.cwd;
|
|
439
439
|
const runAndCapture = async (proc) => {
|
|
440
440
|
if (options?.stdin !== undefined) {
|
|
441
|
-
proc.writeStdin(options.stdin);
|
|
441
|
+
await proc.writeStdin(options.stdin);
|
|
442
442
|
}
|
|
443
|
-
proc.closeStdin();
|
|
443
|
+
await proc.closeStdin();
|
|
444
444
|
const waitPromise = proc.wait();
|
|
445
445
|
const exitCode = typeof options?.timeout === "number"
|
|
446
446
|
? await new Promise((resolve) => {
|
|
@@ -524,9 +524,9 @@ export class NativeSidecarKernelProxy {
|
|
|
524
524
|
rejectWait,
|
|
525
525
|
onStdout: new Set(options?.onStdout ? [options.onStdout] : []),
|
|
526
526
|
onStderr: new Set(options?.onStderr ? [options.onStderr] : []),
|
|
527
|
-
pendingStdin: [],
|
|
527
|
+
pendingStdin: options?.stdin === undefined ? [] : [options.stdin],
|
|
528
528
|
stdinFlushPromise: null,
|
|
529
|
-
pendingCloseStdin:
|
|
529
|
+
pendingCloseStdin: !options?.streamStdin,
|
|
530
530
|
pendingKillSignal: null,
|
|
531
531
|
waitWithFallbackPromise: null,
|
|
532
532
|
hostExitObservedAt: null,
|
|
@@ -1001,7 +1001,9 @@ export class NativeSidecarKernelProxy {
|
|
|
1001
1001
|
});
|
|
1002
1002
|
const restoreRawMode = stdin.isTTY && typeof stdin.setRawMode === "function";
|
|
1003
1003
|
const onStdinData = (data) => {
|
|
1004
|
-
shell.write(data)
|
|
1004
|
+
void shell.write(data).catch((error) => {
|
|
1005
|
+
console.error("[agentos] failed to forward terminal stdin:", error);
|
|
1006
|
+
});
|
|
1005
1007
|
};
|
|
1006
1008
|
const onResize = () => {
|
|
1007
1009
|
shell.resize(stdout.columns, stdout.rows);
|
|
@@ -1265,11 +1267,17 @@ export class NativeSidecarKernelProxy {
|
|
|
1265
1267
|
}
|
|
1266
1268
|
getSignalState(pid) {
|
|
1267
1269
|
const entry = this.trackedProcesses.get(pid);
|
|
1268
|
-
if (entry
|
|
1269
|
-
this.
|
|
1270
|
-
}
|
|
1270
|
+
if (entry)
|
|
1271
|
+
this.scheduleSignalStateRefresh(entry);
|
|
1271
1272
|
return this.signalStates.get(pid) ?? { handlers: new Map() };
|
|
1272
1273
|
}
|
|
1274
|
+
scheduleSignalStateRefresh(entry) {
|
|
1275
|
+
if (this.signalRefreshes.has(entry.pid))
|
|
1276
|
+
return;
|
|
1277
|
+
const refresh = this.refreshSignalState(entry);
|
|
1278
|
+
this.signalRefreshes.set(entry.pid, refresh);
|
|
1279
|
+
void refresh.catch(() => { });
|
|
1280
|
+
}
|
|
1273
1281
|
async refreshSocketLookup(cache, key, lookup) {
|
|
1274
1282
|
try {
|
|
1275
1283
|
const socket = await lookup();
|
|
@@ -1361,7 +1369,11 @@ export class NativeSidecarKernelProxy {
|
|
|
1361
1369
|
entry.started = true;
|
|
1362
1370
|
this.updateTrackedProcessSnapshot(entry);
|
|
1363
1371
|
void this.refreshProcessSnapshot().catch(() => { });
|
|
1364
|
-
|
|
1372
|
+
// Signal metadata is advisory and must not hold process startup behind a
|
|
1373
|
+
// second sidecar RPC. Very short binding commands can finish while the
|
|
1374
|
+
// original execute response is still in flight; synchronously refreshing
|
|
1375
|
+
// here creates a circular wait with their output/exit delivery.
|
|
1376
|
+
this.scheduleSignalStateRefresh(entry);
|
|
1365
1377
|
void this.flushPendingStdin(entry).catch((error) => {
|
|
1366
1378
|
this.handleBackgroundProcessError(entry, error);
|
|
1367
1379
|
});
|
|
@@ -1389,10 +1401,7 @@ export class NativeSidecarKernelProxy {
|
|
|
1389
1401
|
}
|
|
1390
1402
|
entry.outputGeneration += 1;
|
|
1391
1403
|
void this.refreshProcessSnapshot().catch(() => { });
|
|
1392
|
-
|
|
1393
|
-
this.signalRefreshes.set(entry.pid, this.refreshSignalState(entry));
|
|
1394
|
-
await this.signalRefreshes.get(entry.pid);
|
|
1395
|
-
}
|
|
1404
|
+
this.scheduleSignalStateRefresh(entry);
|
|
1396
1405
|
const chunk = event.payload.chunk;
|
|
1397
1406
|
const listeners = event.payload.channel === "stdout"
|
|
1398
1407
|
? entry.onStdout
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export type { AgentOsCreateSidecarOptions, AgentOsLimits, AgentOsOptions, AgentOsSharedSidecarOptions, AgentOsSidecarConfig, AgentOsSidecarDescription,
|
|
1
|
+
export type { AgentExitEvent, AgentExitHandler, AgentOsCreateSidecarOptions, AgentOsLimits, AgentOsOptions, AgentOsSharedSidecarOptions, AgentOsSidecarConfig, AgentOsSidecarDescription, AgentRegistryEntry, AgentRestartOutcome, AgentStderrEvent, AgentStderrHandler, BatchReadResult, BatchWriteEntry, BatchWriteResult, DirEntry, DynamicMountDescriptor, ExportRootFilesystemOptions, HttpRequest, HttpResponse, LimitWarning, LimitWarningHandler, MountConfig, MountConfigJsonObject, MountConfigJsonPrimitive, MountConfigJsonValue, MountInfo, NativeMountConfig, NativeMountPluginDescriptor, NativeRootFilesystemConfig, OverlayMountConfig, OverlayRootFilesystemConfig, PlainMountConfig, ProcessOutput, ProcessTreeNode, ReaddirEntry, ReaddirRecursiveOptions, RootFilesystemConfig, RootLowerInput, ShellData, ShellExit, ShellOptions, } from "./agent-os.js";
|
|
2
|
+
export type { CodeEvaluationResult, CodeExecutionResult, ContextDescriptor, ContextState, ExecutionErrorData, ExecutionSignal, InlineExecutionOptions, JavaScriptEvaluationOptions, JavaScriptExecutionOptions, LanguageExecutionOptions, LanguageSpawnOptions, NpmPackageInstallOptions, NpmProjectInstallOptions, OutputCapture, OutputReplay, ProcessDescriptor, ProcessExit, ProcessOutputEvent, PythonInstallOptions, SpawnOptions, TypeScriptCheckOptions, TypeScriptCheckResult, TypeScriptDiagnostic, TypeScriptEvaluationOptions, TypeScriptExecutionOptions, TypeScriptFileExecutionOptions, } from "./language-execution.js";
|
|
2
3
|
export type * from "./session-api.js";
|
|
3
4
|
/**
|
|
4
5
|
* An agent type id — the `name` of an `/opt/agentos` agent package manifest
|
|
@@ -7,10 +8,11 @@ export type * from "./session-api.js";
|
|
|
7
8
|
* passes only the name, so any manifest `name` is a valid agent type.
|
|
8
9
|
*/
|
|
9
10
|
export type AgentType = string;
|
|
11
|
+
export type { AgentBlock, PackageDescriptor, PackageRef, SoftwarePackageRef, } from "./agentos-package.js";
|
|
12
|
+
export type { Binding, BindingExample, Bindings } from "./bindings.js";
|
|
10
13
|
export type { CronAction, CronActionInfo, CronEvent, CronEventHandler, CronJob, CronJobInfo, CronJobOptions, ScheduleDriver, ScheduleEntry, ScheduleHandle, } from "./cron/index.js";
|
|
11
14
|
export type { HostDirBackendOptions, HostDirMountPluginConfig, NodeModulesMountConfig, } from "./host-dir-mount.js";
|
|
12
|
-
export type { Binding, BindingExample, Bindings } from "./bindings.js";
|
|
13
15
|
export type { FilesystemSnapshotExport, LayerHandle, LayerStore, OverlayFilesystemMode, RootSnapshotExport, SnapshotImportSource, SnapshotLayerHandle, WritableLayerHandle, } from "./layers.js";
|
|
14
16
|
export type { SoftwareInput, SoftwareRoot } from "./packages.js";
|
|
15
|
-
export type { AgentBlock, PackageDescriptor, PackageRef, SoftwarePackageRef, } from "./agentos-package.js";
|
|
16
17
|
export type { ChildProcessPermissions, ConnectTerminalOptions, EnvPermissions, ExecOptions, ExecResult, FsPermissionRule, FsPermissions, KernelExecOptions, KernelExecResult, KernelSpawnOptions, NetworkAccessRequest, NetworkPermissions, OpenShellOptions, PatternPermissionRule, PermissionDecision, PermissionMode, Permissions, ProcessInfo, RulePermissions, StdioChannel, TimingMitigation, VirtualDirEntry, VirtualFileSystem, VirtualStat, } from "./runtime.js";
|
|
18
|
+
export type { AgentOsSandboxClient, AgentOsSandboxClientOptions, AgentOsSandboxCommonOptions, AgentOsSandboxInput, AgentOsSandboxOptions, AgentOsSandboxProcessInfo, AgentOsSandboxProcessLogs, AgentOsSandboxProcessResult, AgentOsSandboxProvider, AgentOsSandboxProviderOptions, SandboxMountPluginConfig, } from "./sandbox.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rivet-dev/agentos-core",
|
|
3
|
-
"version": "0.0.0-main.
|
|
3
|
+
"version": "0.0.0-main.5ac5a14",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -19,6 +19,11 @@
|
|
|
19
19
|
"import": "./dist/runtime-compat.js",
|
|
20
20
|
"default": "./dist/runtime-compat.js"
|
|
21
21
|
},
|
|
22
|
+
"./internal/code-execution": {
|
|
23
|
+
"types": "./dist/code-execution.d.ts",
|
|
24
|
+
"import": "./dist/code-execution.js",
|
|
25
|
+
"default": "./dist/code-execution.js"
|
|
26
|
+
},
|
|
22
27
|
"./test/file-system": {
|
|
23
28
|
"types": "./dist/test/file-system.d.ts",
|
|
24
29
|
"import": "./dist/test/file-system.js",
|
|
@@ -51,27 +56,26 @@
|
|
|
51
56
|
"build:agentos-protocol": "node ./scripts/compile-agentos-protocol.mjs",
|
|
52
57
|
"build:protocols": "pnpm run build:agentos-protocol",
|
|
53
58
|
"test": "vitest run --exclude '**/*.nightly.test.ts' --reporter=verbose",
|
|
54
|
-
"test:
|
|
59
|
+
"test:unit": "vitest run tests/agent-exit-event.test.ts tests/agentos-package.test.ts tests/agentos-protocol.test.ts tests/allowed-node-builtins.test.ts tests/bindings-zod.test.ts tests/bindings.test.ts tests/cron-manager.test.ts tests/cron-timer-driver.test.ts tests/execution-abort.test.ts tests/generated-protocol.test.ts tests/leak-agent-os-processes.test.ts tests/leak-rpc-client.test.ts tests/mount-descriptors.test.ts tests/mount-reconfigure.test.ts tests/options-schema.test.ts tests/public-api-exports.test.ts tests/root-filesystem-descriptors.test.ts tests/runtime-compat-mount.test.ts tests/session-event-ordering.test.ts tests/session-permission-surface.test.ts tests/sidecar-client.test.ts tests/sidecar-permission-descriptors.test.ts tests/wasm-permission-tiers.test.ts --fileParallelism=false",
|
|
60
|
+
"test:pr": "pnpm test:unit && vitest run tests/migration-parity.test.ts tests/acp-reactor-regression.test.ts --fileParallelism=false --reporter=verbose",
|
|
55
61
|
"test:nightly": "vitest run tests/*.nightly.test.ts --reporter=verbose --passWithNoTests"
|
|
56
62
|
},
|
|
57
63
|
"dependencies": {
|
|
58
64
|
"@agentclientprotocol/sdk": "0.16.1",
|
|
59
65
|
"@agentos-software/claude-code": "0.2.7",
|
|
60
66
|
"@agentos-software/codex-cli": "0.3.4",
|
|
61
|
-
"@agentos-software/common": "0.0.0-main.
|
|
62
|
-
"@agentos-software/manifest": "0.0.0-main.
|
|
67
|
+
"@agentos-software/common": "0.0.0-main.5ac5a14",
|
|
68
|
+
"@agentos-software/manifest": "0.0.0-main.5ac5a14",
|
|
63
69
|
"@agentos-software/opencode": "0.2.7",
|
|
64
70
|
"@agentos-software/pi": "0.2.7",
|
|
65
|
-
"@agentos-software/pi-cli": "0.2.7",
|
|
66
71
|
"@aws-sdk/client-s3": "^3.1019.0",
|
|
67
|
-
"@rivet-dev/agentos-sidecar": "0.0.0-main.
|
|
72
|
+
"@rivet-dev/agentos-sidecar": "0.0.0-main.5ac5a14",
|
|
68
73
|
"@rivetkit/bare-ts": "^0.6.2",
|
|
69
|
-
"@rivet-dev/agentos-runtime-core": "0.0.0-main.
|
|
74
|
+
"@rivet-dev/agentos-runtime-core": "0.0.0-main.5ac5a14",
|
|
70
75
|
"@xterm/headless": "^6.0.0",
|
|
71
76
|
"better-sqlite3": "^12.8.0",
|
|
72
77
|
"croner": "^10.0.1",
|
|
73
78
|
"googleapis": "^144.0.0",
|
|
74
|
-
"isolated-vm": "^6.0.0",
|
|
75
79
|
"long-timeout": "^0.1.1",
|
|
76
80
|
"minimatch": "^10.2.4",
|
|
77
81
|
"zod": "^4.1.11",
|
|
@@ -80,29 +84,28 @@
|
|
|
80
84
|
"devDependencies": {
|
|
81
85
|
"@agentos-software/claude-code": "0.2.7",
|
|
82
86
|
"@agentos-software/codex": "0.2.7",
|
|
83
|
-
"@agentos-software/coreutils": "0.3.
|
|
87
|
+
"@agentos-software/coreutils": "0.3.4",
|
|
84
88
|
"@agentos-software/curl": "0.3.3",
|
|
85
|
-
"@agentos-software/diffutils": "0.3.
|
|
89
|
+
"@agentos-software/diffutils": "0.3.4",
|
|
86
90
|
"@agentos-software/duckdb": "0.3.3",
|
|
87
91
|
"@agentos-software/fd": "0.3.3",
|
|
88
92
|
"@agentos-software/file": "0.3.3",
|
|
89
|
-
"@agentos-software/findutils": "0.3.
|
|
90
|
-
"@agentos-software/gawk": "0.3.
|
|
93
|
+
"@agentos-software/findutils": "0.3.4",
|
|
94
|
+
"@agentos-software/gawk": "0.3.4",
|
|
91
95
|
"@agentos-software/git": "0.3.3",
|
|
92
|
-
"@agentos-software/grep": "0.3.
|
|
93
|
-
"@agentos-software/gzip": "0.3.
|
|
96
|
+
"@agentos-software/grep": "0.3.4",
|
|
97
|
+
"@agentos-software/gzip": "0.3.4",
|
|
94
98
|
"@agentos-software/jq": "0.3.3",
|
|
95
99
|
"@agentos-software/opencode": "0.2.7",
|
|
96
100
|
"@agentos-software/pi": "0.2.7",
|
|
97
|
-
"@agentos-software/pi-cli": "0.2.7",
|
|
98
101
|
"@agentos-software/ripgrep": "0.3.3",
|
|
99
|
-
"@agentos-software/sed": "0.3.
|
|
100
|
-
"@agentos-software/tar": "0.3.
|
|
102
|
+
"@agentos-software/sed": "0.3.4",
|
|
103
|
+
"@agentos-software/tar": "0.3.5",
|
|
101
104
|
"@agentos-software/tree": "0.3.3",
|
|
102
105
|
"@agentos-software/vim": "0.3.3",
|
|
103
106
|
"@agentos-software/wget": "0.3.3",
|
|
104
107
|
"@agentos-software/yq": "0.3.3",
|
|
105
|
-
"@rivet-dev/agentos-test-harness": "0.0.0-main.
|
|
108
|
+
"@rivet-dev/agentos-test-harness": "0.0.0-main.5ac5a14",
|
|
106
109
|
"@anthropic-ai/claude-agent-sdk": "^0.2.87",
|
|
107
110
|
"@anthropic-ai/claude-code": "^2.1.86",
|
|
108
111
|
"@bare-ts/tools": "0.15.0",
|
|
@@ -110,13 +113,16 @@
|
|
|
110
113
|
"@browserbasehq/cli": "0.5.4",
|
|
111
114
|
"@browserbasehq/sdk": "2.10.0",
|
|
112
115
|
"@copilotkit/llmock": "^1.6.0",
|
|
113
|
-
"@mariozechner/pi-coding-agent": "^0.60.0",
|
|
114
116
|
"@types/node": "^22.10.2",
|
|
115
|
-
"pi-acp": "^0.0.23",
|
|
116
117
|
"sandbox-agent": "^0.4.2",
|
|
117
118
|
"typescript": "^5.7.2",
|
|
118
119
|
"vitest": "^2.1.8",
|
|
119
120
|
"ws": "^8.18.0",
|
|
120
121
|
"zod3": "npm:zod@^3.25.76"
|
|
122
|
+
},
|
|
123
|
+
"repository": {
|
|
124
|
+
"type": "git",
|
|
125
|
+
"url": "https://github.com/rivet-dev/agentos.git",
|
|
126
|
+
"directory": "packages/core"
|
|
121
127
|
}
|
|
122
128
|
}
|