@rivet-dev/agentos-core 0.0.0-abc-fixes-1.d8c4d95 → 0.0.0-agent-acp-codex-session-benchmark.62b1f46

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.
Files changed (128) hide show
  1. package/README.md +48 -48
  2. package/dist/agent-os.d.ts +215 -161
  3. package/dist/agent-os.js +1300 -2576
  4. package/dist/agentos-package.d.ts +27 -0
  5. package/dist/agentos-package.js +21 -0
  6. package/dist/base-filesystem.d.ts +1 -16
  7. package/dist/base-filesystem.js +1 -173
  8. package/dist/cron/cron-manager.d.ts +39 -14
  9. package/dist/cron/cron-manager.js +289 -128
  10. package/dist/cron/errors.d.ts +8 -0
  11. package/dist/cron/errors.js +16 -0
  12. package/dist/cron/index.d.ts +1 -3
  13. package/dist/cron/index.js +1 -2
  14. package/dist/cron/types.d.ts +2 -2
  15. package/dist/default-software.d.ts +8 -0
  16. package/dist/default-software.js +10 -0
  17. package/dist/filesystem-snapshot.d.ts +1 -1
  18. package/dist/filesystem-snapshot.js +1 -1
  19. package/dist/generated/AcpLimitsConfig.d.ts +4 -0
  20. package/dist/generated/AcpLimitsConfig.js +2 -0
  21. package/dist/generated/CreateVmConfig.d.ts +29 -0
  22. package/dist/generated/FsPermissionRule.d.ts +6 -0
  23. package/dist/generated/FsPermissionRule.js +1 -0
  24. package/dist/generated/FsPermissionRuleSet.d.ts +6 -0
  25. package/dist/generated/FsPermissionRuleSet.js +1 -0
  26. package/dist/generated/FsPermissionScope.d.ts +3 -0
  27. package/dist/generated/FsPermissionScope.js +1 -0
  28. package/dist/generated/HttpLimitsConfig.d.ts +3 -0
  29. package/dist/generated/HttpLimitsConfig.js +2 -0
  30. package/dist/generated/JsModuleResolution.d.ts +1 -0
  31. package/dist/generated/JsModuleResolution.js +2 -0
  32. package/dist/generated/JsRuntimeConfig.d.ts +31 -0
  33. package/dist/generated/JsRuntimeConfig.js +1 -0
  34. package/dist/generated/JsRuntimeLimitsConfig.d.ts +8 -0
  35. package/dist/generated/JsRuntimeLimitsConfig.js +2 -0
  36. package/dist/generated/JsRuntimePlatform.d.ts +1 -0
  37. package/dist/generated/JsRuntimePlatform.js +2 -0
  38. package/dist/generated/MountPluginDescriptor.d.ts +4 -0
  39. package/dist/generated/MountPluginDescriptor.js +2 -0
  40. package/dist/generated/NativeRootFilesystemConfig.d.ts +5 -0
  41. package/dist/generated/NativeRootFilesystemConfig.js +1 -0
  42. package/dist/generated/PatternPermissionRule.d.ts +6 -0
  43. package/dist/generated/PatternPermissionRule.js +1 -0
  44. package/dist/generated/PatternPermissionRuleSet.d.ts +6 -0
  45. package/dist/generated/PatternPermissionRuleSet.js +1 -0
  46. package/dist/generated/PatternPermissionScope.d.ts +3 -0
  47. package/dist/generated/PatternPermissionScope.js +1 -0
  48. package/dist/generated/PermissionMode.d.ts +1 -0
  49. package/dist/generated/PermissionMode.js +2 -0
  50. package/dist/generated/PermissionsPolicy.d.ts +10 -0
  51. package/dist/generated/PermissionsPolicy.js +1 -0
  52. package/dist/generated/PluginLimitsConfig.d.ts +4 -0
  53. package/dist/generated/PluginLimitsConfig.js +2 -0
  54. package/dist/generated/PythonLimitsConfig.d.ts +6 -0
  55. package/dist/generated/PythonLimitsConfig.js +2 -0
  56. package/dist/generated/ResourceLimitsConfig.d.ts +25 -0
  57. package/dist/generated/ResourceLimitsConfig.js +2 -0
  58. package/dist/generated/RootFilesystemConfig.d.ts +9 -0
  59. package/dist/generated/RootFilesystemConfig.js +1 -0
  60. package/dist/generated/RootFilesystemEntry.d.ts +13 -0
  61. package/dist/generated/RootFilesystemEntry.js +1 -0
  62. package/dist/generated/RootFilesystemEntryEncoding.d.ts +1 -0
  63. package/dist/generated/RootFilesystemEntryEncoding.js +2 -0
  64. package/dist/generated/RootFilesystemEntryKind.d.ts +1 -0
  65. package/dist/generated/RootFilesystemEntryKind.js +2 -0
  66. package/dist/generated/RootFilesystemLowerDescriptor.d.ts +7 -0
  67. package/dist/generated/RootFilesystemLowerDescriptor.js +1 -0
  68. package/dist/generated/RootFilesystemMode.d.ts +1 -0
  69. package/dist/generated/RootFilesystemMode.js +2 -0
  70. package/dist/generated/ToolLimitsConfig.d.ts +10 -0
  71. package/dist/generated/ToolLimitsConfig.js +2 -0
  72. package/dist/generated/VmDnsConfig.d.ts +6 -0
  73. package/dist/generated/VmDnsConfig.js +2 -0
  74. package/dist/generated/VmLimitsConfig.d.ts +18 -0
  75. package/dist/generated/VmLimitsConfig.js +1 -0
  76. package/dist/generated/VmListenPolicyConfig.d.ts +5 -0
  77. package/dist/generated/VmListenPolicyConfig.js +2 -0
  78. package/dist/generated/WasmLimitsConfig.d.ts +7 -0
  79. package/dist/generated/WasmLimitsConfig.js +2 -0
  80. package/dist/host-dir-mount.d.ts +5 -5
  81. package/dist/host-dir-mount.js +4 -4
  82. package/dist/host-tools-zod.js +27 -7
  83. package/dist/host-tools.d.ts +2 -9
  84. package/dist/host-tools.js +0 -18
  85. package/dist/index.d.ts +7 -4
  86. package/dist/index.js +6 -4
  87. package/dist/layers.d.ts +3 -3
  88. package/dist/layers.js +19 -10
  89. package/dist/memory-filesystem.d.ts +39 -0
  90. package/dist/memory-filesystem.js +375 -0
  91. package/dist/options-schema.d.ts +452 -0
  92. package/dist/options-schema.js +269 -0
  93. package/dist/overlay-filesystem.d.ts +1 -1
  94. package/dist/overlay-filesystem.js +3 -3
  95. package/dist/packages.d.ts +10 -123
  96. package/dist/packages.js +3 -329
  97. package/dist/runtime.d.ts +41 -184
  98. package/dist/sidecar/agentos-protocol.d.ts +232 -29
  99. package/dist/sidecar/agentos-protocol.js +456 -120
  100. package/dist/sidecar/binary.d.ts +2 -2
  101. package/dist/sidecar/binary.js +2 -2
  102. package/dist/sidecar/native-process-client.d.ts +5 -3
  103. package/dist/sidecar/native-process-client.js +5 -3
  104. package/dist/sidecar/permissions.d.ts +4 -3
  105. package/dist/sidecar/permissions.js +6 -23
  106. package/dist/sidecar/rpc-client.d.ts +74 -86
  107. package/dist/sidecar/rpc-client.js +422 -1418
  108. package/dist/test/file-system.d.ts +1 -1
  109. package/dist/test/file-system.js +3 -1
  110. package/dist/test/runtime.d.ts +2 -3
  111. package/dist/test/runtime.js +1 -1
  112. package/dist/test/terminal-harness.d.ts +5 -4
  113. package/dist/test/terminal-harness.js +12 -7
  114. package/dist/types.d.ts +12 -5
  115. package/package.json +37 -41
  116. package/dist/agents.d.ts +0 -63
  117. package/dist/agents.js +0 -42
  118. package/dist/cron/parse-schedule.d.ts +0 -25
  119. package/dist/cron/parse-schedule.js +0 -66
  120. package/dist/cron/schedule-driver.d.ts +0 -19
  121. package/dist/cron/timer-driver.d.ts +0 -17
  122. package/dist/cron/timer-driver.js +0 -61
  123. package/dist/runtime-compat.d.ts +0 -475
  124. package/dist/runtime-compat.js +0 -2010
  125. package/dist/sidecar/cargo.d.ts +0 -2
  126. package/dist/sidecar/cargo.js +0 -142
  127. package/fixtures/AGENTOS_SYSTEM_PROMPT.md +0 -21
  128. /package/dist/{cron/schedule-driver.js → generated/CreateVmConfig.js} +0 -0
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Honors `AGENTOS_SIDECAR_BIN` as an absolute-path override, otherwise
5
5
  * resolves the platform-specific binary shipped by the
6
- * `@rivet-dev/agentos-sidecar` package. In-repo developer builds use the local
7
- * cargo build path instead and never reach this function.
6
+ * `@rivet-dev/agentos-sidecar` package. Runtime SDK code never builds the
7
+ * sidecar from source; repository tests set `AGENTOS_SIDECAR_BIN` explicitly.
8
8
  */
9
9
  export declare function resolvePublishedSidecarBinary(): string;
@@ -5,8 +5,8 @@ import { createRequire } from "node:module";
5
5
  *
6
6
  * Honors `AGENTOS_SIDECAR_BIN` as an absolute-path override, otherwise
7
7
  * resolves the platform-specific binary shipped by the
8
- * `@rivet-dev/agentos-sidecar` package. In-repo developer builds use the local
9
- * cargo build path instead and never reach this function.
8
+ * `@rivet-dev/agentos-sidecar` package. Runtime SDK code never builds the
9
+ * sidecar from source; repository tests set `AGENTOS_SIDECAR_BIN` explicitly.
10
10
  */
11
11
  export function resolvePublishedSidecarBinary() {
12
12
  const override = process.env.AGENTOS_SIDECAR_BIN;
@@ -1,3 +1,5 @@
1
- import "@secure-exec/core/native-client";
2
- export { NATIVE_SIDECAR_FRAME_TIMEOUT_MS, SidecarProcess, SidecarProcess as NativeSidecarProcessClient, SidecarEventBufferOverflow, SidecarProcessError, SidecarProcessExited, } from "@secure-exec/core/sidecar-client";
3
- export type { AuthenticatedSession, CreatedVm, ExtEnvelope, GuestFilesystemStat, RootFilesystemEntry, RootFilesystemLowerDescriptor, SidecarEventSelector, SidecarFsPermissionRule, SidecarMountDescriptor, SidecarMountPluginDescriptor, SidecarPatternPermissionRule, SidecarPermissionMode, SidecarPermissionScope, SidecarPermissionsPolicy, SidecarProcessSnapshotEntry, SidecarProjectedModuleDescriptor, SidecarRegisteredHostCallbackDefinition, SidecarRegisteredHostCallbackExample, SidecarRequestFrame, SidecarRequestHandler, SidecarRequestPayload, SidecarResponseFrame, SidecarResponsePayload, SidecarRulePermissions, SidecarSessionState, SidecarSignalHandlerRegistration, SidecarSignalState, SidecarSocketStateEntry, SidecarSoftwareDescriptor, SidecarSpawnOptions, SidecarSpawnOptions as NativeSidecarSpawnOptions, SidecarZombieTimerCount, } from "@secure-exec/core/sidecar-client";
1
+ import "@rivet-dev/agentos-runtime-core/native-client";
2
+ import { SidecarProcess } from "@rivet-dev/agentos-runtime-core/sidecar-client";
3
+ export { 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, SidecarCronAlarm, SidecarCronDispatch, SidecarCronEventRecord, SidecarCronJobEntry, SidecarCronOverlap, SidecarCronRun, SidecarEventSelector, SidecarFsPermissionRule, SidecarLinkPackageResult, SidecarMountDescriptor, SidecarMountPluginDescriptor, SidecarPatternPermissionRule, SidecarPermissionMode, SidecarPermissionScope, SidecarPermissionsPolicy, SidecarProcessSnapshotEntry, SidecarProjectedAgent, SidecarRegisteredHostCallbackDefinition, SidecarRegisteredHostCallbackExample, SidecarRequestFrame, SidecarRequestHandler, SidecarRequestPayload, SidecarResponseFrame, SidecarResponsePayload, SidecarRulePermissions, SidecarSessionState, SidecarSignalHandlerRegistration, SidecarSignalState, SidecarSocketStateEntry, SidecarSpawnOptions, SidecarSpawnOptions as NativeSidecarSpawnOptions, SidecarVmConfiguredResponse as SidecarConfigureVmResult, SidecarZombieTimerCount, } 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
- // @secure-exec/core SidecarProcess refactor, native spawn is provided by a
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 "@secure-exec/core/native-client";
6
- export { NATIVE_SIDECAR_FRAME_TIMEOUT_MS, SidecarProcess, SidecarProcess as NativeSidecarProcessClient, SidecarEventBufferOverflow, SidecarProcessError, SidecarProcessExited, } from "@secure-exec/core/sidecar-client";
5
+ import "@rivet-dev/agentos-runtime-core/native-client";
6
+ import { SidecarProcess } from "@rivet-dev/agentos-runtime-core/sidecar-client";
7
+ export { SidecarEventBufferOverflow, SidecarProcess, SidecarProcessError, SidecarProcessExited, } from "@rivet-dev/agentos-runtime-core/sidecar-client";
8
+ export const NativeSidecarProcessClient = SidecarProcess;
@@ -1,3 +1,4 @@
1
- import type { PermissionsPolicy } from "@secure-exec/core/vm-config";
2
- import type { Permissions } from "../runtime-compat.js";
3
- export declare function serializePermissionsForSidecar(permissions?: Permissions): PermissionsPolicy;
1
+ import type { PermissionsPolicy } from "@rivet-dev/agentos-runtime-core/vm-config";
2
+ import type { Permissions } from "../runtime.js";
3
+ export declare function serializePermissionsForSidecar(permissions: Permissions): PermissionsPolicy;
4
+ export declare function serializePermissionsForSidecar(): undefined;
@@ -1,35 +1,18 @@
1
- const ALL_OPERATIONS = ["*"];
2
- const ALL_RESOURCES = ["**"];
3
1
  function serializeFilesystemScope(scope) {
4
2
  return {
5
3
  ...(scope.default === undefined ? {} : { default: scope.default }),
6
- rules: scope.rules.map((rule) => ({
7
- ...rule,
8
- operations: rule.operations ?? ALL_OPERATIONS,
9
- paths: rule.paths ?? ALL_RESOURCES,
10
- })),
4
+ rules: scope.rules.map((rule) => ({ ...rule })),
11
5
  };
12
6
  }
13
7
  function serializePatternScope(scope) {
14
8
  return {
15
9
  ...(scope.default === undefined ? {} : { default: scope.default }),
16
- rules: scope.rules.map((rule) => ({
17
- ...rule,
18
- operations: rule.operations ?? ALL_OPERATIONS,
19
- patterns: rule.patterns ?? ALL_RESOURCES,
20
- })),
10
+ rules: scope.rules.map((rule) => ({ ...rule })),
21
11
  };
22
12
  }
23
13
  export function serializePermissionsForSidecar(permissions) {
24
14
  if (!permissions) {
25
- return {
26
- fs: "deny",
27
- network: "deny",
28
- childProcess: "deny",
29
- process: "deny",
30
- env: "deny",
31
- binding: "deny",
32
- };
15
+ return undefined;
33
16
  }
34
17
  return {
35
18
  fs: typeof permissions.fs === "string" || !permissions.fs
@@ -47,8 +30,8 @@ export function serializePermissionsForSidecar(permissions) {
47
30
  env: typeof permissions.env === "string" || !permissions.env
48
31
  ? permissions.env
49
32
  : serializePatternScope(permissions.env),
50
- binding: typeof permissions.tool === "string" || !permissions.tool
51
- ? permissions.tool
52
- : serializePatternScope(permissions.tool),
33
+ binding: typeof permissions.binding === "string" || !permissions.binding
34
+ ? permissions.binding
35
+ : serializePatternScope(permissions.binding),
53
36
  };
54
37
  }
@@ -1,26 +1,13 @@
1
- import type { RootFilesystemConfig as VmConfigRootFilesystemConfig, RootFilesystemEntry as VmConfigRootFilesystemEntry, RootFilesystemLowerDescriptor as VmConfigRootFilesystemLowerDescriptor } from "@secure-exec/core/vm-config";
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
- import type { RootSnapshotExport } from "../layers.js";
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";
3
+ import type { KernelExecOptions, KernelExecResult, KernelSpawnOptions, ManagedProcess, OpenShellOptions, ProcessInfo, ShellHandle, VirtualFileSystem, VirtualStat } from "../runtime.js";
4
+ import type { AuthenticatedSession, CreatedVm, SidecarProcess, SidecarProcessSnapshotEntry } from "./native-process-client.js";
6
5
  export declare function toSidecarSignalName(signal: number): string;
7
6
  export interface LocalCompatMount {
8
7
  path: string;
9
8
  fs: VirtualFileSystem;
10
- readOnly: boolean;
11
- }
12
- interface KernelSocketSnapshot {
13
- processId: string;
14
- host?: string;
15
- port?: number;
16
- path?: string;
17
- }
18
- interface KernelSignalState {
19
- handlers: Map<number, {
20
- action: SidecarSignalHandlerRegistration["action"];
21
- mask: Set<number>;
22
- flags: number;
23
- }>;
9
+ readOnly?: boolean;
10
+ sidecarMount?: SidecarMountDescriptor;
24
11
  }
25
12
  interface NativeSidecarKernelProxyOptions {
26
13
  client: SidecarProcess;
@@ -28,105 +15,114 @@ interface NativeSidecarKernelProxyOptions {
28
15
  vm: CreatedVm;
29
16
  env: Record<string, string>;
30
17
  cwd: string;
31
- defaultExecCwd?: string;
32
18
  localMounts: LocalCompatMount[];
33
- commandGuestPaths: ReadonlyMap<string, string>;
34
- onWasmCommandResolved?: (command: string) => void;
19
+ sidecarMounts: SidecarMountDescriptor[];
35
20
  onDispose?: () => Promise<void>;
21
+ /**
22
+ * Whether this proxy owns the underlying sidecar process. When VMs share one
23
+ * sidecar process (the default for VMs leased from an `AgentOsSidecar`
24
+ * handle), each proxy tears down only its own VM on `dispose()`; the shared
25
+ * process is disposed when the sidecar handle is disposed. Defaults to true
26
+ * for the legacy one-process-per-VM path.
27
+ */
28
+ ownsClient?: boolean;
36
29
  }
37
30
  export declare class NativeSidecarKernelProxy {
38
31
  readonly env: Record<string, string>;
39
32
  readonly cwd: string;
40
- readonly commands: ReadonlyMap<string, string>;
41
33
  readonly vfs: VirtualFileSystem;
42
34
  readonly processes: Map<number, ProcessInfo>;
43
- private readonly defaultExecCwd;
44
35
  private readonly client;
45
36
  private readonly session;
46
37
  private readonly vm;
38
+ private readonly ownsClient;
47
39
  private readonly localMounts;
48
- private readonly commandDrivers;
49
- private readonly onWasmCommandResolved;
40
+ private readonly baseSidecarMounts;
50
41
  private readonly onDispose;
51
42
  private readonly trackedProcesses;
52
43
  private readonly trackedProcessesById;
53
- private readonly listenerLookups;
54
- private readonly boundUdpLookups;
55
- private readonly signalStates;
56
- private readonly signalRefreshes;
57
- private sidecarProcessSnapshot;
58
44
  private processSnapshotRefresh;
59
- private readonly observedProcessStartTimes;
60
45
  private readonly rootView;
61
- private zombieTimerCountValue;
62
- private zombieTimerCountRefresh;
63
46
  private disposed;
47
+ private disposePromise;
64
48
  private pumpError;
65
- private nextSyntheticPid;
49
+ private mountReconfigurePromise;
66
50
  private readonly eventPumpAbortController;
67
51
  private readonly eventPump;
68
52
  constructor(options: NativeSidecarKernelProxyOptions);
69
53
  createRootView(): VirtualFileSystem;
70
- get zombieTimerCount(): number;
71
- registerCommandGuestPaths(commandGuestPaths: ReadonlyMap<string, string>): void;
54
+ /** Resolve the host-only backing store for an exact js_bridge mount id. */
55
+ hostFilesystemForMount(mountId: string): VirtualFileSystem | undefined;
72
56
  dispose(): Promise<void>;
57
+ private disposeOnce;
58
+ /** Test-only snapshot of the per-VM tracking collection sizes. */
59
+ __trackingSizesForTest(): {
60
+ trackedProcesses: number;
61
+ trackedProcessesById: number;
62
+ localMounts: number;
63
+ };
64
+ /** Test-only handle to a tracked entry so its listener Sets can be inspected. */
65
+ __trackedEntryForTest(pid: number): {
66
+ onStdout: ReadonlySet<unknown>;
67
+ onStderr: ReadonlySet<unknown>;
68
+ } | undefined;
73
69
  exec(command: string, options?: KernelExecOptions): Promise<KernelExecResult>;
74
70
  execArgv(command: string, args?: readonly string[], options?: KernelExecOptions): Promise<KernelExecResult>;
75
- spawn(command: string, args: string[], options?: KernelSpawnOptions): ManagedProcess;
76
- openShell(options?: OpenShellOptions): ShellHandle;
77
- connectTerminal(options?: ConnectTerminalOptions): Promise<number>;
71
+ spawn(command: string | undefined, args: string[], options?: KernelSpawnOptions): Promise<ManagedProcess>;
72
+ private spawnTracked;
73
+ openShell(options?: OpenShellOptions): Promise<ShellHandle>;
78
74
  readFile(path: string): Promise<Uint8Array>;
79
75
  writeFile(path: string, content: string | Uint8Array): Promise<void>;
80
- mkdir(path: string, recursive?: boolean): Promise<void>;
76
+ mkdir(path: string, options?: {
77
+ recursive?: boolean;
78
+ }): Promise<void>;
81
79
  exists(path: string): Promise<boolean>;
82
80
  stat(path: string): Promise<VirtualStat>;
83
81
  readdir(path: string): Promise<string[]>;
82
+ readdirRecursive(path: string, options?: {
83
+ maxDepth?: number;
84
+ }): Promise<Array<{
85
+ name: string;
86
+ path: string;
87
+ isDirectory: boolean;
88
+ isSymbolicLink: boolean;
89
+ size: number;
90
+ }>>;
84
91
  removeFile(path: string): Promise<void>;
85
92
  removeDir(path: string): Promise<void>;
93
+ removePath(path: string, options?: {
94
+ recursive?: boolean;
95
+ }): Promise<void>;
96
+ copyPath(fromPath: string, toPath: string, options?: {
97
+ recursive?: boolean;
98
+ }): Promise<void>;
86
99
  rename(oldPath: string, newPath: string): Promise<void>;
100
+ movePath(oldPath: string, newPath: string): Promise<void>;
87
101
  mountFs(path: string, driver: VirtualFileSystem, options?: {
88
102
  readOnly?: boolean;
89
- }): void;
90
- unmountFs(path: string): void;
91
- snapshotProcesses(): ProcessInfo[];
92
- findListener(request: {
93
- host?: string;
94
- port?: number;
95
- path?: string;
96
- }): KernelSocketSnapshot | null;
97
- findBoundUdp(request: {
98
- host?: string;
99
- port?: number;
100
- }): KernelSocketSnapshot | null;
101
- getSignalState(pid: number): KernelSignalState;
102
- private refreshSocketLookup;
103
- private refreshSignalState;
103
+ sidecarMount?: SidecarMountDescriptor;
104
+ }): Promise<void>;
105
+ unmountFs(path: string): Promise<void>;
106
+ private desiredSidecarMounts;
107
+ private reconfigureSidecarMounts;
108
+ private waitForMountReconfigure;
109
+ snapshotProcesses(): Promise<ProcessInfo[]>;
110
+ processSnapshotById(processId: string): Promise<SidecarProcessSnapshotEntry | undefined>;
104
111
  private refreshProcessSnapshot;
105
- private refreshZombieTimerCount;
106
- private drainTrailingProcessOutput;
107
112
  private startTrackedProcess;
108
113
  private runEventPump;
109
114
  private finishProcess;
115
+ private failProcess;
116
+ private releaseProcessTracking;
110
117
  private waitForTrackedProcess;
111
118
  private signalProcess;
112
- private flushPendingStdin;
113
- private closeTrackedStdin;
114
- private handleBackgroundProcessError;
115
- private recordCompletedProcessError;
116
- private emitBackgroundProcessError;
119
+ private processIdFor;
117
120
  private createFilesystemView;
118
121
  private buildProcessSnapshot;
119
- private dispatchRead;
120
122
  private dispatchNativeRead;
121
- private dispatchWrite;
122
- private resolveLocalMount;
123
- private assertGuestPathWritable;
124
- private mountedChildNames;
125
- private assertLocalWritable;
126
- private updateTrackedProcessSnapshot;
127
- }
128
- export type { AuthenticatedSession, CreatedVm, GuestFilesystemStat, SidecarSpawnOptions, RootFilesystemEntry, SidecarEventSelector, SidecarPermissionsPolicy, SidecarRegisteredHostCallbackDefinition, SidecarRequestFrame, SidecarResponsePayload, SidecarSessionState, SidecarSignalHandlerRegistration, SidecarSocketStateEntry, } from "./native-process-client.js";
129
- export { NATIVE_SIDECAR_FRAME_TIMEOUT_MS, SidecarProcess, SidecarEventBufferOverflow, SidecarProcessError, SidecarProcessExited, } from "./native-process-client.js";
123
+ }
124
+ export type { AuthenticatedSession, CreatedVm, GuestFilesystemStat, RootFilesystemEntry, SidecarConfigureVmResult, SidecarEventSelector, SidecarLinkPackageResult, SidecarPermissionsPolicy, SidecarProjectedAgent, SidecarRegisteredHostCallbackDefinition, SidecarRequestFrame, SidecarResponsePayload, SidecarSessionState, SidecarSignalHandlerRegistration, SidecarSocketStateEntry, SidecarSpawnOptions, } from "./native-process-client.js";
125
+ export { NativeSidecarProcessClient, SidecarEventBufferOverflow, SidecarProcess, SidecarProcessError, SidecarProcessExited, } from "./native-process-client.js";
130
126
  export type AgentOsSidecarPlacement = {
131
127
  kind: "shared";
132
128
  pool?: string;
@@ -144,7 +140,6 @@ export interface AgentOsSidecarSessionLifecycle {
144
140
  connectedAt?: number;
145
141
  disposedAt?: number;
146
142
  lastError?: string;
147
- metadata: Record<string, string>;
148
143
  vmIds: string[];
149
144
  }
150
145
  export interface AgentOsSidecarVmLifecycle {
@@ -155,26 +150,19 @@ export interface AgentOsSidecarVmLifecycle {
155
150
  readyAt?: number;
156
151
  disposedAt?: number;
157
152
  lastError?: string;
158
- metadata: Record<string, string>;
159
153
  }
160
154
  export interface AgentOsSidecarSessionOptions {
161
155
  placement?: AgentOsSidecarPlacement;
162
- metadata?: Record<string, string>;
163
156
  signal?: AbortSignal;
164
157
  }
165
- export interface AgentOsSidecarVmOptions {
166
- metadata?: Record<string, string>;
167
- }
168
158
  export interface AgentOsSidecarSessionBootstrap {
169
159
  sessionId: string;
170
160
  placement: AgentOsSidecarPlacement;
171
- metadata: Record<string, string>;
172
161
  signal?: AbortSignal;
173
162
  }
174
163
  export interface AgentOsSidecarVmBootstrap {
175
164
  vmId: string;
176
165
  sessionId: string;
177
- metadata: Record<string, string>;
178
166
  }
179
167
  export interface AgentOsSidecarTransport {
180
168
  createVm?(bootstrap: AgentOsSidecarVmBootstrap): Promise<void>;
@@ -200,7 +188,7 @@ export declare class AgentOsSidecarSessionHandle {
200
188
  constructor(client: AgentOsSidecarClient, sessionId: string);
201
189
  describe(): AgentOsSidecarSessionLifecycle;
202
190
  listVms(): AgentOsSidecarVmLifecycle[];
203
- createVm(options?: AgentOsSidecarVmOptions): Promise<AgentOsSidecarVmHandle>;
191
+ createVm(): Promise<AgentOsSidecarVmHandle>;
204
192
  dispose(): Promise<void>;
205
193
  }
206
194
  export declare class AgentOsSidecarClient {
@@ -215,7 +203,7 @@ export declare class AgentOsSidecarClient {
215
203
  requireSessionLifecycle(sessionId: string): AgentOsSidecarSessionLifecycle;
216
204
  listVms(sessionId: string): AgentOsSidecarVmLifecycle[];
217
205
  requireVmLifecycle(sessionId: string, vmId: string): AgentOsSidecarVmLifecycle;
218
- createVm(sessionId: string, options?: AgentOsSidecarVmOptions): Promise<AgentOsSidecarVmHandle>;
206
+ createVm(sessionId: string): Promise<AgentOsSidecarVmHandle>;
219
207
  disposeVm(sessionId: string, vmId: string): Promise<void>;
220
208
  disposeSession(sessionId: string): Promise<void>;
221
209
  dispose(): Promise<void>;
@@ -227,19 +215,19 @@ export declare class AgentOsSidecarClient {
227
215
  export declare function createAgentOsSidecarClient(options: AgentOsSidecarClientOptions): AgentOsSidecarClient;
228
216
  export type MountConfigJsonValue = string | number | boolean | null | MountConfigJsonObject | MountConfigJsonValue[];
229
217
  export interface MountConfigJsonObject {
230
- [key: string]: MountConfigJsonValue;
218
+ [key: string]: MountConfigJsonValue | undefined;
231
219
  }
232
220
  export interface SidecarMountPluginDescriptor {
233
221
  id: string;
234
- config: MountConfigJsonObject;
222
+ config?: MountConfigJsonObject;
235
223
  }
236
224
  export interface SidecarMountDescriptor {
237
225
  guestPath: string;
238
- readOnly: boolean;
226
+ readOnly?: boolean;
239
227
  plugin: SidecarMountPluginDescriptor;
240
228
  }
241
229
  export declare function serializeMountConfigForSidecar(mount: PlainMountConfig | NativeMountConfig): SidecarMountDescriptor;
242
230
  export type SidecarRootFilesystemDescriptor = VmConfigRootFilesystemConfig;
243
231
  export type SidecarRootFilesystemLowerDescriptor = VmConfigRootFilesystemLowerDescriptor;
244
232
  export type SidecarRootFilesystemEntry = VmConfigRootFilesystemEntry;
245
- export declare function serializeRootFilesystemForSidecar(config?: RootFilesystemConfig, bootstrapLower?: RootSnapshotExport | null): SidecarRootFilesystemDescriptor;
233
+ export declare function serializeRootFilesystemForSidecar(config?: RootFilesystemConfig): SidecarRootFilesystemDescriptor;