@rivet-dev/agentos-core 0.0.0-codex-agentos-native-platform-e2e.78ef941 → 0.0.0-glibc.4af31c1
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 +4 -7
- package/dist/agent-os.d.ts +150 -45
- package/dist/agent-os.js +769 -541
- package/dist/agentos-package.d.ts +29 -0
- package/dist/agentos-package.js +88 -0
- package/dist/base-filesystem.d.ts +2 -15
- package/dist/base-filesystem.js +23 -171
- package/dist/cron/types.d.ts +1 -1
- package/dist/default-software.d.ts +8 -0
- package/dist/default-software.js +10 -0
- package/dist/generated/AcpLimitsConfig.d.ts +4 -0
- package/dist/generated/AcpLimitsConfig.js +2 -0
- package/dist/generated/CreateVmConfig.d.ts +26 -0
- package/dist/generated/CreateVmConfig.js +1 -0
- package/dist/generated/FsPermissionRule.d.ts +6 -0
- package/dist/generated/FsPermissionRule.js +1 -0
- package/dist/generated/FsPermissionRuleSet.d.ts +6 -0
- package/dist/generated/FsPermissionRuleSet.js +1 -0
- package/dist/generated/FsPermissionScope.d.ts +3 -0
- package/dist/generated/FsPermissionScope.js +1 -0
- package/dist/generated/HttpLimitsConfig.d.ts +3 -0
- package/dist/generated/HttpLimitsConfig.js +2 -0
- package/dist/generated/JsModuleResolution.d.ts +1 -0
- package/dist/generated/JsModuleResolution.js +2 -0
- package/dist/generated/JsRuntimeConfig.d.ts +31 -0
- package/dist/generated/JsRuntimeConfig.js +1 -0
- package/dist/generated/JsRuntimeLimitsConfig.d.ts +11 -0
- package/dist/generated/JsRuntimeLimitsConfig.js +2 -0
- package/dist/generated/JsRuntimePlatform.d.ts +1 -0
- package/dist/generated/JsRuntimePlatform.js +2 -0
- package/dist/generated/MountPluginDescriptor.d.ts +4 -0
- package/dist/generated/MountPluginDescriptor.js +2 -0
- package/dist/generated/NativeRootFilesystemConfig.d.ts +5 -0
- package/dist/generated/NativeRootFilesystemConfig.js +1 -0
- package/dist/generated/PatternPermissionRule.d.ts +6 -0
- package/dist/generated/PatternPermissionRule.js +1 -0
- package/dist/generated/PatternPermissionRuleSet.d.ts +6 -0
- package/dist/generated/PatternPermissionRuleSet.js +1 -0
- package/dist/generated/PatternPermissionScope.d.ts +3 -0
- package/dist/generated/PatternPermissionScope.js +1 -0
- package/dist/generated/PermissionMode.d.ts +1 -0
- package/dist/generated/PermissionMode.js +2 -0
- package/dist/generated/PermissionsPolicy.d.ts +10 -0
- package/dist/generated/PermissionsPolicy.js +1 -0
- package/dist/generated/PluginLimitsConfig.d.ts +4 -0
- package/dist/generated/PluginLimitsConfig.js +2 -0
- package/dist/generated/PythonLimitsConfig.d.ts +6 -0
- package/dist/generated/PythonLimitsConfig.js +2 -0
- package/dist/generated/ResourceLimitsConfig.d.ts +24 -0
- package/dist/generated/ResourceLimitsConfig.js +2 -0
- package/dist/generated/RootFilesystemConfig.d.ts +9 -0
- package/dist/generated/RootFilesystemConfig.js +1 -0
- package/dist/generated/RootFilesystemEntry.d.ts +13 -0
- package/dist/generated/RootFilesystemEntry.js +1 -0
- package/dist/generated/RootFilesystemEntryEncoding.d.ts +1 -0
- package/dist/generated/RootFilesystemEntryEncoding.js +2 -0
- package/dist/generated/RootFilesystemEntryKind.d.ts +1 -0
- package/dist/generated/RootFilesystemEntryKind.js +2 -0
- package/dist/generated/RootFilesystemLowerDescriptor.d.ts +7 -0
- package/dist/generated/RootFilesystemLowerDescriptor.js +1 -0
- package/dist/generated/RootFilesystemMode.d.ts +1 -0
- package/dist/generated/RootFilesystemMode.js +2 -0
- package/dist/generated/ToolLimitsConfig.d.ts +10 -0
- package/dist/generated/ToolLimitsConfig.js +2 -0
- package/dist/generated/VmDnsConfig.d.ts +6 -0
- package/dist/generated/VmDnsConfig.js +2 -0
- package/dist/generated/VmLimitsConfig.d.ts +18 -0
- package/dist/generated/VmLimitsConfig.js +1 -0
- package/dist/generated/VmListenPolicyConfig.d.ts +5 -0
- package/dist/generated/VmListenPolicyConfig.js +2 -0
- package/dist/generated/WasmLimitsConfig.d.ts +7 -0
- package/dist/generated/WasmLimitsConfig.js +2 -0
- package/dist/host-dir-mount.d.ts +1 -1
- package/dist/host-tools-zod.js +27 -7
- package/dist/host-tools.js +9 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +2 -1
- package/dist/layers.d.ts +2 -2
- package/dist/layers.js +19 -10
- package/dist/options-schema.d.ts +453 -0
- package/dist/options-schema.js +268 -0
- package/dist/packages.d.ts +17 -116
- package/dist/packages.js +35 -322
- package/dist/runtime-compat.d.ts +22 -9
- package/dist/runtime-compat.js +126 -141
- package/dist/runtime.d.ts +32 -5
- package/dist/sandbox.d.ts +112 -0
- package/dist/sandbox.js +264 -0
- package/dist/sidecar/agentos-protocol.d.ts +88 -1
- package/dist/sidecar/agentos-protocol.js +134 -18
- package/dist/sidecar/native-process-client.d.ts +6 -3
- package/dist/sidecar/native-process-client.js +5 -3
- package/dist/sidecar/permissions.d.ts +1 -1
- package/dist/sidecar/permissions.js +3 -3
- package/dist/sidecar/rpc-client.d.ts +62 -4
- package/dist/sidecar/rpc-client.js +339 -85
- package/dist/types.d.ts +10 -3
- package/package.json +40 -34
- package/dist/agents.d.ts +0 -63
- package/dist/agents.js +0 -42
- package/fixtures/AGENTOS_SYSTEM_PROMPT.md +0 -21
|
@@ -96,7 +96,6 @@ export function readAcpCreateSessionRequest(bc) {
|
|
|
96
96
|
return {
|
|
97
97
|
agentType: bare.readString(bc),
|
|
98
98
|
runtime: readAcpRuntimeKind(bc),
|
|
99
|
-
adapterEntrypoint: bare.readString(bc),
|
|
100
99
|
cwd: bare.readString(bc),
|
|
101
100
|
args: read0(bc),
|
|
102
101
|
env: read1(bc),
|
|
@@ -110,7 +109,6 @@ export function readAcpCreateSessionRequest(bc) {
|
|
|
110
109
|
export function writeAcpCreateSessionRequest(bc, x) {
|
|
111
110
|
bare.writeString(bc, x.agentType);
|
|
112
111
|
writeAcpRuntimeKind(bc, x.runtime);
|
|
113
|
-
bare.writeString(bc, x.adapterEntrypoint);
|
|
114
112
|
bare.writeString(bc, x.cwd);
|
|
115
113
|
write0(bc, x.args);
|
|
116
114
|
write1(bc, x.env);
|
|
@@ -141,6 +139,51 @@ export function writeAcpSessionRequest(bc, x) {
|
|
|
141
139
|
bare.writeString(bc, x.method);
|
|
142
140
|
write3(bc, x.params);
|
|
143
141
|
}
|
|
142
|
+
export function readAcpListAgentsRequest(bc) {
|
|
143
|
+
return {
|
|
144
|
+
reserved: bare.readBool(bc),
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
export function writeAcpListAgentsRequest(bc, x) {
|
|
148
|
+
bare.writeBool(bc, x.reserved);
|
|
149
|
+
}
|
|
150
|
+
export function readAcpAgentEntry(bc) {
|
|
151
|
+
return {
|
|
152
|
+
id: bare.readString(bc),
|
|
153
|
+
installed: bare.readBool(bc),
|
|
154
|
+
adapterEntrypoint: bare.readString(bc),
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
export function writeAcpAgentEntry(bc, x) {
|
|
158
|
+
bare.writeString(bc, x.id);
|
|
159
|
+
bare.writeBool(bc, x.installed);
|
|
160
|
+
bare.writeString(bc, x.adapterEntrypoint);
|
|
161
|
+
}
|
|
162
|
+
function read4(bc) {
|
|
163
|
+
const len = bare.readUintSafe(bc);
|
|
164
|
+
if (len === 0) {
|
|
165
|
+
return [];
|
|
166
|
+
}
|
|
167
|
+
const result = [readAcpAgentEntry(bc)];
|
|
168
|
+
for (let i = 1; i < len; i++) {
|
|
169
|
+
result[i] = readAcpAgentEntry(bc);
|
|
170
|
+
}
|
|
171
|
+
return result;
|
|
172
|
+
}
|
|
173
|
+
function write4(bc, x) {
|
|
174
|
+
bare.writeUintSafe(bc, x.length);
|
|
175
|
+
for (let i = 0; i < x.length; i++) {
|
|
176
|
+
writeAcpAgentEntry(bc, x[i]);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
export function readAcpListAgentsResponse(bc) {
|
|
180
|
+
return {
|
|
181
|
+
agents: read4(bc),
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
export function writeAcpListAgentsResponse(bc, x) {
|
|
185
|
+
write4(bc, x.agents);
|
|
186
|
+
}
|
|
144
187
|
export function readAcpGetSessionStateRequest(bc) {
|
|
145
188
|
return {
|
|
146
189
|
sessionId: bare.readString(bc),
|
|
@@ -173,6 +216,16 @@ export function writeAcpResumeSessionRequest(bc, x) {
|
|
|
173
216
|
bare.writeString(bc, x.cwd);
|
|
174
217
|
write1(bc, x.env);
|
|
175
218
|
}
|
|
219
|
+
export function readAcpDeliverAgentOutputRequest(bc) {
|
|
220
|
+
return {
|
|
221
|
+
processId: bare.readString(bc),
|
|
222
|
+
chunk: bare.readData(bc),
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
export function writeAcpDeliverAgentOutputRequest(bc, x) {
|
|
226
|
+
bare.writeString(bc, x.processId);
|
|
227
|
+
bare.writeData(bc, x.chunk);
|
|
228
|
+
}
|
|
176
229
|
export function readAcpRequest(bc) {
|
|
177
230
|
const offset = bc.offset;
|
|
178
231
|
const tag = bare.readU8(bc);
|
|
@@ -187,6 +240,10 @@ export function readAcpRequest(bc) {
|
|
|
187
240
|
return { tag: "AcpCloseSessionRequest", val: readAcpCloseSessionRequest(bc) };
|
|
188
241
|
case 4:
|
|
189
242
|
return { tag: "AcpResumeSessionRequest", val: readAcpResumeSessionRequest(bc) };
|
|
243
|
+
case 5:
|
|
244
|
+
return { tag: "AcpDeliverAgentOutputRequest", val: readAcpDeliverAgentOutputRequest(bc) };
|
|
245
|
+
case 6:
|
|
246
|
+
return { tag: "AcpListAgentsRequest", val: readAcpListAgentsRequest(bc) };
|
|
190
247
|
default: {
|
|
191
248
|
bc.offset = offset;
|
|
192
249
|
throw new bare.BareError(offset, "invalid tag");
|
|
@@ -220,6 +277,16 @@ export function writeAcpRequest(bc, x) {
|
|
|
220
277
|
writeAcpResumeSessionRequest(bc, x.val);
|
|
221
278
|
break;
|
|
222
279
|
}
|
|
280
|
+
case "AcpDeliverAgentOutputRequest": {
|
|
281
|
+
bare.writeU8(bc, 5);
|
|
282
|
+
writeAcpDeliverAgentOutputRequest(bc, x.val);
|
|
283
|
+
break;
|
|
284
|
+
}
|
|
285
|
+
case "AcpListAgentsRequest": {
|
|
286
|
+
bare.writeU8(bc, 6);
|
|
287
|
+
writeAcpListAgentsRequest(bc, x.val);
|
|
288
|
+
break;
|
|
289
|
+
}
|
|
223
290
|
}
|
|
224
291
|
}
|
|
225
292
|
export function encodeAcpRequest(x, config) {
|
|
@@ -236,16 +303,16 @@ export function decodeAcpRequest(bytes) {
|
|
|
236
303
|
}
|
|
237
304
|
return result;
|
|
238
305
|
}
|
|
239
|
-
function
|
|
306
|
+
function read5(bc) {
|
|
240
307
|
return bare.readBool(bc) ? bare.readU32(bc) : null;
|
|
241
308
|
}
|
|
242
|
-
function
|
|
309
|
+
function write5(bc, x) {
|
|
243
310
|
bare.writeBool(bc, x != null);
|
|
244
311
|
if (x != null) {
|
|
245
312
|
bare.writeU32(bc, x);
|
|
246
313
|
}
|
|
247
314
|
}
|
|
248
|
-
function
|
|
315
|
+
function read6(bc) {
|
|
249
316
|
const len = bare.readUintSafe(bc);
|
|
250
317
|
if (len === 0) {
|
|
251
318
|
return [];
|
|
@@ -256,7 +323,7 @@ function read5(bc) {
|
|
|
256
323
|
}
|
|
257
324
|
return result;
|
|
258
325
|
}
|
|
259
|
-
function
|
|
326
|
+
function write6(bc, x) {
|
|
260
327
|
bare.writeUintSafe(bc, x.length);
|
|
261
328
|
for (let i = 0; i < x.length; i++) {
|
|
262
329
|
writeJsonUtf8(bc, x[i]);
|
|
@@ -265,18 +332,18 @@ function write5(bc, x) {
|
|
|
265
332
|
export function readAcpSessionCreatedResponse(bc) {
|
|
266
333
|
return {
|
|
267
334
|
sessionId: bare.readString(bc),
|
|
268
|
-
pid:
|
|
335
|
+
pid: read5(bc),
|
|
269
336
|
modes: read3(bc),
|
|
270
|
-
configOptions:
|
|
337
|
+
configOptions: read6(bc),
|
|
271
338
|
agentCapabilities: read3(bc),
|
|
272
339
|
agentInfo: read3(bc),
|
|
273
340
|
};
|
|
274
341
|
}
|
|
275
342
|
export function writeAcpSessionCreatedResponse(bc, x) {
|
|
276
343
|
bare.writeString(bc, x.sessionId);
|
|
277
|
-
|
|
344
|
+
write5(bc, x.pid);
|
|
278
345
|
write3(bc, x.modes);
|
|
279
|
-
|
|
346
|
+
write6(bc, x.configOptions);
|
|
280
347
|
write3(bc, x.agentCapabilities);
|
|
281
348
|
write3(bc, x.agentInfo);
|
|
282
349
|
}
|
|
@@ -290,10 +357,10 @@ export function writeAcpSessionRpcResponse(bc, x) {
|
|
|
290
357
|
bare.writeString(bc, x.sessionId);
|
|
291
358
|
writeJsonUtf8(bc, x.response);
|
|
292
359
|
}
|
|
293
|
-
function
|
|
360
|
+
function read7(bc) {
|
|
294
361
|
return bare.readBool(bc) ? bare.readI32(bc) : null;
|
|
295
362
|
}
|
|
296
|
-
function
|
|
363
|
+
function write7(bc, x) {
|
|
297
364
|
bare.writeBool(bc, x != null);
|
|
298
365
|
if (x != null) {
|
|
299
366
|
bare.writeI32(bc, x);
|
|
@@ -304,11 +371,11 @@ export function readAcpSessionStateResponse(bc) {
|
|
|
304
371
|
sessionId: bare.readString(bc),
|
|
305
372
|
agentType: bare.readString(bc),
|
|
306
373
|
processId: bare.readString(bc),
|
|
307
|
-
pid:
|
|
374
|
+
pid: read5(bc),
|
|
308
375
|
closed: bare.readBool(bc),
|
|
309
|
-
exitCode:
|
|
376
|
+
exitCode: read7(bc),
|
|
310
377
|
modes: read3(bc),
|
|
311
|
-
configOptions:
|
|
378
|
+
configOptions: read6(bc),
|
|
312
379
|
agentCapabilities: read3(bc),
|
|
313
380
|
agentInfo: read3(bc),
|
|
314
381
|
};
|
|
@@ -317,11 +384,11 @@ export function writeAcpSessionStateResponse(bc, x) {
|
|
|
317
384
|
bare.writeString(bc, x.sessionId);
|
|
318
385
|
bare.writeString(bc, x.agentType);
|
|
319
386
|
bare.writeString(bc, x.processId);
|
|
320
|
-
|
|
387
|
+
write5(bc, x.pid);
|
|
321
388
|
bare.writeBool(bc, x.closed);
|
|
322
|
-
|
|
389
|
+
write7(bc, x.exitCode);
|
|
323
390
|
write3(bc, x.modes);
|
|
324
|
-
|
|
391
|
+
write6(bc, x.configOptions);
|
|
325
392
|
write3(bc, x.agentCapabilities);
|
|
326
393
|
write3(bc, x.agentInfo);
|
|
327
394
|
}
|
|
@@ -353,6 +420,14 @@ export function writeAcpErrorResponse(bc, x) {
|
|
|
353
420
|
bare.writeString(bc, x.code);
|
|
354
421
|
bare.writeString(bc, x.message);
|
|
355
422
|
}
|
|
423
|
+
export function readAcpPendingResponse(bc) {
|
|
424
|
+
return {
|
|
425
|
+
processId: bare.readString(bc),
|
|
426
|
+
};
|
|
427
|
+
}
|
|
428
|
+
export function writeAcpPendingResponse(bc, x) {
|
|
429
|
+
bare.writeString(bc, x.processId);
|
|
430
|
+
}
|
|
356
431
|
export function readAcpResponse(bc) {
|
|
357
432
|
const offset = bc.offset;
|
|
358
433
|
const tag = bare.readU8(bc);
|
|
@@ -369,6 +444,10 @@ export function readAcpResponse(bc) {
|
|
|
369
444
|
return { tag: "AcpSessionResumedResponse", val: readAcpSessionResumedResponse(bc) };
|
|
370
445
|
case 5:
|
|
371
446
|
return { tag: "AcpErrorResponse", val: readAcpErrorResponse(bc) };
|
|
447
|
+
case 6:
|
|
448
|
+
return { tag: "AcpPendingResponse", val: readAcpPendingResponse(bc) };
|
|
449
|
+
case 7:
|
|
450
|
+
return { tag: "AcpListAgentsResponse", val: readAcpListAgentsResponse(bc) };
|
|
372
451
|
default: {
|
|
373
452
|
bc.offset = offset;
|
|
374
453
|
throw new bare.BareError(offset, "invalid tag");
|
|
@@ -407,6 +486,16 @@ export function writeAcpResponse(bc, x) {
|
|
|
407
486
|
writeAcpErrorResponse(bc, x.val);
|
|
408
487
|
break;
|
|
409
488
|
}
|
|
489
|
+
case "AcpPendingResponse": {
|
|
490
|
+
bare.writeU8(bc, 6);
|
|
491
|
+
writeAcpPendingResponse(bc, x.val);
|
|
492
|
+
break;
|
|
493
|
+
}
|
|
494
|
+
case "AcpListAgentsResponse": {
|
|
495
|
+
bare.writeU8(bc, 7);
|
|
496
|
+
writeAcpListAgentsResponse(bc, x.val);
|
|
497
|
+
break;
|
|
498
|
+
}
|
|
410
499
|
}
|
|
411
500
|
}
|
|
412
501
|
export function encodeAcpResponse(x, config) {
|
|
@@ -447,6 +536,26 @@ export function writeAcpAgentStderrEvent(bc, x) {
|
|
|
447
536
|
bare.writeString(bc, x.processId);
|
|
448
537
|
bare.writeData(bc, x.chunk);
|
|
449
538
|
}
|
|
539
|
+
export function readAcpAgentExitedEvent(bc) {
|
|
540
|
+
return {
|
|
541
|
+
sessionId: bare.readString(bc),
|
|
542
|
+
agentType: bare.readString(bc),
|
|
543
|
+
processId: bare.readString(bc),
|
|
544
|
+
exitCode: read7(bc),
|
|
545
|
+
restart: bare.readString(bc),
|
|
546
|
+
restartCount: bare.readU32(bc),
|
|
547
|
+
maxRestarts: bare.readU32(bc),
|
|
548
|
+
};
|
|
549
|
+
}
|
|
550
|
+
export function writeAcpAgentExitedEvent(bc, x) {
|
|
551
|
+
bare.writeString(bc, x.sessionId);
|
|
552
|
+
bare.writeString(bc, x.agentType);
|
|
553
|
+
bare.writeString(bc, x.processId);
|
|
554
|
+
write7(bc, x.exitCode);
|
|
555
|
+
bare.writeString(bc, x.restart);
|
|
556
|
+
bare.writeU32(bc, x.restartCount);
|
|
557
|
+
bare.writeU32(bc, x.maxRestarts);
|
|
558
|
+
}
|
|
450
559
|
export function readAcpEvent(bc) {
|
|
451
560
|
const offset = bc.offset;
|
|
452
561
|
const tag = bare.readU8(bc);
|
|
@@ -455,6 +564,8 @@ export function readAcpEvent(bc) {
|
|
|
455
564
|
return { tag: "AcpSessionEvent", val: readAcpSessionEvent(bc) };
|
|
456
565
|
case 1:
|
|
457
566
|
return { tag: "AcpAgentStderrEvent", val: readAcpAgentStderrEvent(bc) };
|
|
567
|
+
case 2:
|
|
568
|
+
return { tag: "AcpAgentExitedEvent", val: readAcpAgentExitedEvent(bc) };
|
|
458
569
|
default: {
|
|
459
570
|
bc.offset = offset;
|
|
460
571
|
throw new bare.BareError(offset, "invalid tag");
|
|
@@ -473,6 +584,11 @@ export function writeAcpEvent(bc, x) {
|
|
|
473
584
|
writeAcpAgentStderrEvent(bc, x.val);
|
|
474
585
|
break;
|
|
475
586
|
}
|
|
587
|
+
case "AcpAgentExitedEvent": {
|
|
588
|
+
bare.writeU8(bc, 2);
|
|
589
|
+
writeAcpAgentExitedEvent(bc, x.val);
|
|
590
|
+
break;
|
|
591
|
+
}
|
|
476
592
|
}
|
|
477
593
|
}
|
|
478
594
|
export function encodeAcpEvent(x, config) {
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
import "@
|
|
2
|
-
|
|
3
|
-
export
|
|
1
|
+
import "@rivet-dev/agentos-runtime-core/native-client";
|
|
2
|
+
import { SidecarProcess } from "@rivet-dev/agentos-runtime-core/sidecar-client";
|
|
3
|
+
export { NATIVE_SIDECAR_FRAME_TIMEOUT_MS, SidecarEventBufferOverflow, SidecarProcess, SidecarProcessError, SidecarProcessExited, } from "@rivet-dev/agentos-runtime-core/sidecar-client";
|
|
4
|
+
export declare const NativeSidecarProcessClient: typeof SidecarProcess;
|
|
5
|
+
export type { AuthenticatedSession, CreatedVm, ExtEnvelope, GuestFilesystemStat, RootFilesystemEntry, RootFilesystemLowerDescriptor, SidecarEventSelector, SidecarFsPermissionRule, SidecarLinkPackageResult, SidecarMountDescriptor, SidecarMountPluginDescriptor, SidecarPatternPermissionRule, SidecarPermissionMode, SidecarPermissionScope, SidecarPermissionsPolicy, SidecarProcessSnapshotEntry, SidecarProjectedAgent, SidecarProjectedModuleDescriptor, SidecarRegisteredHostCallbackDefinition, SidecarRegisteredHostCallbackExample, SidecarRequestFrame, SidecarRequestHandler, SidecarRequestPayload, SidecarResponseFrame, SidecarResponsePayload, SidecarRulePermissions, SidecarSessionState, SidecarSignalHandlerRegistration, SidecarSignalState, SidecarSocketStateEntry, SidecarSoftwareDescriptor, SidecarSpawnOptions, SidecarSpawnOptions as NativeSidecarSpawnOptions, SidecarZombieTimerCount, } from "@rivet-dev/agentos-runtime-core/sidecar-client";
|
|
6
|
+
export type { SidecarVmConfiguredResponse as SidecarConfigureVmResult, } from "@rivet-dev/agentos-runtime-core/sidecar-client";
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// Register the native sidecar spawn factory (side effect). After the
|
|
2
|
-
// @
|
|
2
|
+
// @rivet-dev/agentos-runtime-core SidecarProcess refactor, native spawn is provided by a
|
|
3
3
|
// separately-registered factory; importing native-client wires it up so
|
|
4
4
|
// SidecarProcess.spawn works in this native runtime.
|
|
5
|
-
import "@
|
|
6
|
-
|
|
5
|
+
import "@rivet-dev/agentos-runtime-core/native-client";
|
|
6
|
+
import { SidecarProcess } from "@rivet-dev/agentos-runtime-core/sidecar-client";
|
|
7
|
+
export { NATIVE_SIDECAR_FRAME_TIMEOUT_MS, SidecarEventBufferOverflow, SidecarProcess, SidecarProcessError, SidecarProcessExited, } from "@rivet-dev/agentos-runtime-core/sidecar-client";
|
|
8
|
+
export const NativeSidecarProcessClient = SidecarProcess;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { PermissionsPolicy } from "@
|
|
1
|
+
import type { PermissionsPolicy } from "@rivet-dev/agentos-runtime-core/vm-config";
|
|
2
2
|
import type { Permissions } from "../runtime-compat.js";
|
|
3
3
|
export declare function serializePermissionsForSidecar(permissions?: Permissions): PermissionsPolicy;
|
|
@@ -47,8 +47,8 @@ export function serializePermissionsForSidecar(permissions) {
|
|
|
47
47
|
env: typeof permissions.env === "string" || !permissions.env
|
|
48
48
|
? permissions.env
|
|
49
49
|
: serializePatternScope(permissions.env),
|
|
50
|
-
binding: typeof permissions.
|
|
51
|
-
? permissions.
|
|
52
|
-
: serializePatternScope(permissions.
|
|
50
|
+
binding: typeof permissions.binding === "string" || !permissions.binding
|
|
51
|
+
? permissions.binding
|
|
52
|
+
: serializePatternScope(permissions.binding),
|
|
53
53
|
};
|
|
54
54
|
}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import type { RootFilesystemConfig as VmConfigRootFilesystemConfig, RootFilesystemEntry as VmConfigRootFilesystemEntry, RootFilesystemLowerDescriptor as VmConfigRootFilesystemLowerDescriptor } from "@
|
|
1
|
+
import type { RootFilesystemConfig as VmConfigRootFilesystemConfig, RootFilesystemEntry as VmConfigRootFilesystemEntry, RootFilesystemLowerDescriptor as VmConfigRootFilesystemLowerDescriptor } from "@rivet-dev/agentos-runtime-core/vm-config";
|
|
2
2
|
import type { NativeMountConfig, PlainMountConfig, RootFilesystemConfig } from "../agent-os.js";
|
|
3
3
|
import type { RootSnapshotExport } from "../layers.js";
|
|
4
4
|
import type { ConnectTerminalOptions, KernelExecOptions, KernelExecResult, KernelSpawnOptions, ManagedProcess, OpenShellOptions, ProcessInfo, ShellHandle, VirtualFileSystem, VirtualStat } from "../runtime-compat.js";
|
|
5
|
-
import type { AuthenticatedSession, CreatedVm, SidecarProcess, SidecarSignalHandlerRegistration } from "./native-process-client.js";
|
|
5
|
+
import type { AuthenticatedSession, CreatedVm, SidecarPermissionsPolicy, SidecarProcess, SidecarSignalHandlerRegistration } from "./native-process-client.js";
|
|
6
6
|
export declare function toSidecarSignalName(signal: number): string;
|
|
7
7
|
export interface LocalCompatMount {
|
|
8
8
|
path: string;
|
|
9
9
|
fs: VirtualFileSystem;
|
|
10
10
|
readOnly: boolean;
|
|
11
|
+
sidecarMount?: SidecarMountDescriptor;
|
|
11
12
|
}
|
|
12
13
|
interface KernelSocketSnapshot {
|
|
13
14
|
processId: string;
|
|
@@ -30,9 +31,21 @@ interface NativeSidecarKernelProxyOptions {
|
|
|
30
31
|
cwd: string;
|
|
31
32
|
defaultExecCwd?: string;
|
|
32
33
|
localMounts: LocalCompatMount[];
|
|
34
|
+
sidecarMounts: SidecarMountDescriptor[];
|
|
35
|
+
permissions?: SidecarPermissionsPolicy;
|
|
36
|
+
commandPermissions?: Parameters<SidecarProcess["configureVm"]>[2]["commandPermissions"];
|
|
37
|
+
loopbackExemptPorts?: number[];
|
|
33
38
|
commandGuestPaths: ReadonlyMap<string, string>;
|
|
34
39
|
onWasmCommandResolved?: (command: string) => void;
|
|
35
40
|
onDispose?: () => Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Whether this proxy owns the underlying sidecar process. When VMs share one
|
|
43
|
+
* sidecar process (the default for VMs leased from an `AgentOsSidecar`
|
|
44
|
+
* handle), each proxy tears down only its own VM on `dispose()`; the shared
|
|
45
|
+
* process is disposed when the sidecar handle is disposed. Defaults to true
|
|
46
|
+
* for the legacy one-process-per-VM path.
|
|
47
|
+
*/
|
|
48
|
+
ownsClient?: boolean;
|
|
36
49
|
}
|
|
37
50
|
export declare class NativeSidecarKernelProxy {
|
|
38
51
|
readonly env: Record<string, string>;
|
|
@@ -44,7 +57,12 @@ export declare class NativeSidecarKernelProxy {
|
|
|
44
57
|
private readonly client;
|
|
45
58
|
private readonly session;
|
|
46
59
|
private readonly vm;
|
|
60
|
+
private readonly ownsClient;
|
|
47
61
|
private readonly localMounts;
|
|
62
|
+
private readonly baseSidecarMounts;
|
|
63
|
+
private readonly permissions;
|
|
64
|
+
private readonly commandPermissions;
|
|
65
|
+
private readonly loopbackExemptPorts;
|
|
48
66
|
private readonly commandDrivers;
|
|
49
67
|
private readonly onWasmCommandResolved;
|
|
50
68
|
private readonly onDispose;
|
|
@@ -62,6 +80,7 @@ export declare class NativeSidecarKernelProxy {
|
|
|
62
80
|
private zombieTimerCountRefresh;
|
|
63
81
|
private disposed;
|
|
64
82
|
private pumpError;
|
|
83
|
+
private mountReconfigurePromise;
|
|
65
84
|
private nextSyntheticPid;
|
|
66
85
|
private readonly eventPumpAbortController;
|
|
67
86
|
private readonly eventPump;
|
|
@@ -70,6 +89,21 @@ export declare class NativeSidecarKernelProxy {
|
|
|
70
89
|
get zombieTimerCount(): number;
|
|
71
90
|
registerCommandGuestPaths(commandGuestPaths: ReadonlyMap<string, string>): void;
|
|
72
91
|
dispose(): Promise<void>;
|
|
92
|
+
/** Test-only snapshot of the per-VM tracking collection sizes. */
|
|
93
|
+
__trackingSizesForTest(): {
|
|
94
|
+
trackedProcesses: number;
|
|
95
|
+
trackedProcessesById: number;
|
|
96
|
+
signalStates: number;
|
|
97
|
+
signalRefreshes: number;
|
|
98
|
+
localMounts: number;
|
|
99
|
+
};
|
|
100
|
+
/** Test-only handle to a tracked entry so its listener Sets can be inspected. */
|
|
101
|
+
__trackedEntryForTest(pid: number): {
|
|
102
|
+
onStdout: ReadonlySet<unknown>;
|
|
103
|
+
onStderr: ReadonlySet<unknown>;
|
|
104
|
+
} | undefined;
|
|
105
|
+
/** Test-only join point for in-flight signal-state refreshes. */
|
|
106
|
+
__awaitSignalRefreshesForTest(): Promise<void>;
|
|
73
107
|
exec(command: string, options?: KernelExecOptions): Promise<KernelExecResult>;
|
|
74
108
|
execArgv(command: string, args?: readonly string[], options?: KernelExecOptions): Promise<KernelExecResult>;
|
|
75
109
|
spawn(command: string, args: string[], options?: KernelSpawnOptions): ManagedProcess;
|
|
@@ -81,13 +115,33 @@ export declare class NativeSidecarKernelProxy {
|
|
|
81
115
|
exists(path: string): Promise<boolean>;
|
|
82
116
|
stat(path: string): Promise<VirtualStat>;
|
|
83
117
|
readdir(path: string): Promise<string[]>;
|
|
118
|
+
readdirRecursive(path: string, options?: {
|
|
119
|
+
maxDepth?: number;
|
|
120
|
+
}): Promise<Array<{
|
|
121
|
+
name: string;
|
|
122
|
+
path: string;
|
|
123
|
+
isDirectory: boolean;
|
|
124
|
+
isSymbolicLink: boolean;
|
|
125
|
+
size: number;
|
|
126
|
+
}>>;
|
|
84
127
|
removeFile(path: string): Promise<void>;
|
|
85
128
|
removeDir(path: string): Promise<void>;
|
|
129
|
+
removePath(path: string, options?: {
|
|
130
|
+
recursive?: boolean;
|
|
131
|
+
}): Promise<void>;
|
|
132
|
+
copyPath(fromPath: string, toPath: string, options?: {
|
|
133
|
+
recursive?: boolean;
|
|
134
|
+
}): Promise<void>;
|
|
86
135
|
rename(oldPath: string, newPath: string): Promise<void>;
|
|
136
|
+
movePath(oldPath: string, newPath: string): Promise<void>;
|
|
87
137
|
mountFs(path: string, driver: VirtualFileSystem, options?: {
|
|
88
138
|
readOnly?: boolean;
|
|
139
|
+
sidecarMount?: SidecarMountDescriptor;
|
|
89
140
|
}): void;
|
|
90
141
|
unmountFs(path: string): void;
|
|
142
|
+
private desiredSidecarMounts;
|
|
143
|
+
private reconfigureSidecarMounts;
|
|
144
|
+
private waitForMountReconfigure;
|
|
91
145
|
snapshotProcesses(): ProcessInfo[];
|
|
92
146
|
findListener(request: {
|
|
93
147
|
host?: string;
|
|
@@ -107,6 +161,7 @@ export declare class NativeSidecarKernelProxy {
|
|
|
107
161
|
private startTrackedProcess;
|
|
108
162
|
private runEventPump;
|
|
109
163
|
private finishProcess;
|
|
164
|
+
private releaseProcessTrackingAfterDrain;
|
|
110
165
|
private waitForTrackedProcess;
|
|
111
166
|
private signalProcess;
|
|
112
167
|
private flushPendingStdin;
|
|
@@ -114,6 +169,9 @@ export declare class NativeSidecarKernelProxy {
|
|
|
114
169
|
private handleBackgroundProcessError;
|
|
115
170
|
private recordCompletedProcessError;
|
|
116
171
|
private emitBackgroundProcessError;
|
|
172
|
+
private readdirRecursiveLocal;
|
|
173
|
+
private removePathLocal;
|
|
174
|
+
private copyPathLocal;
|
|
117
175
|
private createFilesystemView;
|
|
118
176
|
private buildProcessSnapshot;
|
|
119
177
|
private dispatchRead;
|
|
@@ -125,8 +183,8 @@ export declare class NativeSidecarKernelProxy {
|
|
|
125
183
|
private assertLocalWritable;
|
|
126
184
|
private updateTrackedProcessSnapshot;
|
|
127
185
|
}
|
|
128
|
-
export type { AuthenticatedSession, CreatedVm, GuestFilesystemStat,
|
|
129
|
-
export { NATIVE_SIDECAR_FRAME_TIMEOUT_MS,
|
|
186
|
+
export type { AuthenticatedSession, CreatedVm, GuestFilesystemStat, RootFilesystemEntry, SidecarConfigureVmResult, SidecarEventSelector, SidecarLinkPackageResult, SidecarPermissionsPolicy, SidecarProjectedAgent, SidecarRegisteredHostCallbackDefinition, SidecarRequestFrame, SidecarResponsePayload, SidecarSessionState, SidecarSignalHandlerRegistration, SidecarSocketStateEntry, SidecarSpawnOptions, } from "./native-process-client.js";
|
|
187
|
+
export { NATIVE_SIDECAR_FRAME_TIMEOUT_MS, NativeSidecarProcessClient, SidecarEventBufferOverflow, SidecarProcess, SidecarProcessError, SidecarProcessExited, } from "./native-process-client.js";
|
|
130
188
|
export type AgentOsSidecarPlacement = {
|
|
131
189
|
kind: "shared";
|
|
132
190
|
pool?: string;
|