@rivet-dev/agentos-core 0.0.0-integrate-dylib-into-main.815fcda → 0.0.0-main.29b0797

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 (125) hide show
  1. package/README.md +43 -43
  2. package/dist/agent-os.d.ts +313 -226
  3. package/dist/agent-os.js +1418 -1545
  4. package/dist/agentos-package.d.ts +31 -0
  5. package/dist/agentos-package.js +91 -0
  6. package/dist/base-filesystem.d.ts +2 -15
  7. package/dist/base-filesystem.js +23 -171
  8. package/dist/{host-tools-zod.d.ts → bindings-zod.d.ts} +1 -1
  9. package/dist/{host-tools-zod.js → bindings-zod.js} +52 -25
  10. package/dist/bindings.d.ts +43 -0
  11. package/dist/bindings.js +34 -0
  12. package/dist/cron/cron-manager.js +43 -10
  13. package/dist/cron/index.d.ts +1 -1
  14. package/dist/cron/types.d.ts +26 -10
  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 -2
  18. package/dist/filesystem-snapshot.js +0 -43
  19. package/dist/generated/AcpLimitsConfig.d.ts +20 -0
  20. package/dist/generated/AcpLimitsConfig.js +2 -0
  21. package/dist/generated/BindingLimitsConfig.d.ts +10 -0
  22. package/dist/generated/BindingLimitsConfig.js +2 -0
  23. package/dist/generated/CreateVmConfig.d.ts +28 -0
  24. package/dist/generated/FsPermissionRule.d.ts +6 -0
  25. package/dist/generated/FsPermissionRule.js +1 -0
  26. package/dist/generated/FsPermissionRuleSet.d.ts +6 -0
  27. package/dist/generated/FsPermissionRuleSet.js +1 -0
  28. package/dist/generated/FsPermissionScope.d.ts +3 -0
  29. package/dist/generated/FsPermissionScope.js +1 -0
  30. package/dist/generated/HttpLimitsConfig.d.ts +3 -0
  31. package/dist/generated/HttpLimitsConfig.js +2 -0
  32. package/dist/generated/JsModuleResolution.d.ts +1 -0
  33. package/dist/generated/JsModuleResolution.js +2 -0
  34. package/dist/generated/JsRuntimeConfig.d.ts +31 -0
  35. package/dist/generated/JsRuntimeConfig.js +1 -0
  36. package/dist/generated/JsRuntimeLimitsConfig.d.ts +11 -0
  37. package/dist/generated/JsRuntimeLimitsConfig.js +2 -0
  38. package/dist/generated/JsRuntimePlatform.d.ts +1 -0
  39. package/dist/generated/JsRuntimePlatform.js +2 -0
  40. package/dist/generated/MountPluginDescriptor.d.ts +4 -0
  41. package/dist/generated/MountPluginDescriptor.js +2 -0
  42. package/dist/generated/NativeRootFilesystemConfig.d.ts +5 -0
  43. package/dist/generated/NativeRootFilesystemConfig.js +1 -0
  44. package/dist/generated/PatternPermissionRule.d.ts +6 -0
  45. package/dist/generated/PatternPermissionRule.js +1 -0
  46. package/dist/generated/PatternPermissionRuleSet.d.ts +6 -0
  47. package/dist/generated/PatternPermissionRuleSet.js +1 -0
  48. package/dist/generated/PatternPermissionScope.d.ts +3 -0
  49. package/dist/generated/PatternPermissionScope.js +1 -0
  50. package/dist/generated/PermissionMode.d.ts +1 -0
  51. package/dist/generated/PermissionMode.js +2 -0
  52. package/dist/generated/PermissionsPolicy.d.ts +10 -0
  53. package/dist/generated/PermissionsPolicy.js +1 -0
  54. package/dist/generated/PluginLimitsConfig.d.ts +4 -0
  55. package/dist/generated/PluginLimitsConfig.js +2 -0
  56. package/dist/generated/ProcessLimitsConfig.d.ts +7 -0
  57. package/dist/generated/ProcessLimitsConfig.js +2 -0
  58. package/dist/generated/PythonLimitsConfig.d.ts +6 -0
  59. package/dist/generated/PythonLimitsConfig.js +2 -0
  60. package/dist/generated/ResourceLimitsConfig.d.ts +24 -0
  61. package/dist/generated/ResourceLimitsConfig.js +2 -0
  62. package/dist/generated/RootFilesystemConfig.d.ts +9 -0
  63. package/dist/generated/RootFilesystemConfig.js +1 -0
  64. package/dist/generated/RootFilesystemEntry.d.ts +13 -0
  65. package/dist/generated/RootFilesystemEntry.js +1 -0
  66. package/dist/generated/RootFilesystemEntryEncoding.d.ts +1 -0
  67. package/dist/generated/RootFilesystemEntryEncoding.js +2 -0
  68. package/dist/generated/RootFilesystemEntryKind.d.ts +1 -0
  69. package/dist/generated/RootFilesystemEntryKind.js +2 -0
  70. package/dist/generated/RootFilesystemLowerDescriptor.d.ts +7 -0
  71. package/dist/generated/RootFilesystemLowerDescriptor.js +1 -0
  72. package/dist/generated/RootFilesystemMode.d.ts +1 -0
  73. package/dist/generated/RootFilesystemMode.js +2 -0
  74. package/dist/generated/VmDnsConfig.d.ts +6 -0
  75. package/dist/generated/VmDnsConfig.js +2 -0
  76. package/dist/generated/VmGroupConfig.d.ts +5 -0
  77. package/dist/generated/VmGroupConfig.js +2 -0
  78. package/dist/generated/VmLimitsConfig.d.ts +20 -0
  79. package/dist/generated/VmLimitsConfig.js +1 -0
  80. package/dist/generated/VmListenPolicyConfig.d.ts +5 -0
  81. package/dist/generated/VmListenPolicyConfig.js +2 -0
  82. package/dist/generated/VmUserAccountConfig.d.ts +9 -0
  83. package/dist/generated/VmUserAccountConfig.js +2 -0
  84. package/dist/generated/VmUserConfig.d.ts +19 -0
  85. package/dist/generated/VmUserConfig.js +1 -0
  86. package/dist/generated/WasmLimitsConfig.d.ts +8 -0
  87. package/dist/generated/WasmLimitsConfig.js +2 -0
  88. package/dist/host-dir-mount.d.ts +1 -1
  89. package/dist/index.d.ts +6 -5
  90. package/dist/index.js +5 -5
  91. package/dist/layers.d.ts +7 -4
  92. package/dist/layers.js +0 -176
  93. package/dist/options-schema.d.ts +556 -0
  94. package/dist/options-schema.js +386 -0
  95. package/dist/packages.d.ts +17 -116
  96. package/dist/packages.js +35 -322
  97. package/dist/runtime-compat.d.ts +33 -46
  98. package/dist/runtime-compat.js +197 -511
  99. package/dist/runtime.d.ts +42 -8
  100. package/dist/sandbox.d.ts +112 -0
  101. package/dist/sandbox.js +264 -0
  102. package/dist/session-api.d.ts +180 -0
  103. package/dist/session-api.js +1 -0
  104. package/dist/sidecar/agentos-protocol.d.ts +509 -20
  105. package/dist/sidecar/agentos-protocol.js +808 -81
  106. package/dist/sidecar/native-process-client.d.ts +6 -2
  107. package/dist/sidecar/native-process-client.js +8 -1
  108. package/dist/sidecar/permissions.d.ts +1 -1
  109. package/dist/sidecar/permissions.js +4 -4
  110. package/dist/sidecar/rpc-client.d.ts +100 -9
  111. package/dist/sidecar/rpc-client.js +445 -110
  112. package/dist/test/runtime.d.ts +2 -1
  113. package/dist/test/runtime.js +2 -1
  114. package/dist/test/terminal-harness.js +0 -3
  115. package/dist/types.d.ts +13 -7
  116. package/package.json +46 -35
  117. package/dist/agent-session-types.d.ts +0 -67
  118. package/dist/agents.d.ts +0 -63
  119. package/dist/agents.js +0 -42
  120. package/dist/host-tools.d.ts +0 -45
  121. package/dist/host-tools.js +0 -26
  122. package/dist/overlay-filesystem.d.ts +0 -19
  123. package/dist/overlay-filesystem.js +0 -645
  124. package/fixtures/AGENTOS_SYSTEM_PROMPT.md +0 -21
  125. /package/dist/{agent-session-types.js → generated/CreateVmConfig.js} +0 -0
@@ -1,2 +1,6 @@
1
- export { NATIVE_SIDECAR_FRAME_TIMEOUT_MS, NativeSidecarProcessClient as SidecarProcess, SidecarEventBufferOverflow, SidecarProcessError, SidecarProcessExited, } from "@secure-exec/core/sidecar-client";
2
- export type { AuthenticatedSession, CreatedVm, ExtEnvelope, GuestFilesystemStat, NativeSidecarSpawnOptions as SidecarSpawnOptions, 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, 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, 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 +1,8 @@
1
- export { NATIVE_SIDECAR_FRAME_TIMEOUT_MS, NativeSidecarProcessClient as SidecarProcess, SidecarEventBufferOverflow, SidecarProcessError, SidecarProcessExited, } from "@secure-exec/core/sidecar-client";
1
+ // Register the native sidecar spawn factory (side effect). After the
2
+ // @rivet-dev/agentos-runtime-core SidecarProcess refactor, native spawn is provided by a
3
+ // separately-registered factory; importing native-client wires it up so
4
+ // SidecarProcess.spawn works in this native runtime.
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,3 @@
1
- import type { PermissionsPolicy } from "@secure-exec/core/vm-config";
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;
@@ -28,7 +28,7 @@ export function serializePermissionsForSidecar(permissions) {
28
28
  childProcess: "deny",
29
29
  process: "deny",
30
30
  env: "deny",
31
- tool: "deny",
31
+ binding: "deny",
32
32
  };
33
33
  }
34
34
  return {
@@ -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
- tool: typeof permissions.tool === "string" || !permissions.tool
51
- ? permissions.tool
52
- : serializePatternScope(permissions.tool),
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 "@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
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,31 @@ 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[];
38
+ /**
39
+ * The boot `configureVm` payload pieces beyond mounts/permissions. Rust
40
+ * `configure_vm` rebuilds the whole VM configuration from each payload, so
41
+ * every runtime mount reconfigure must resend these or a post-boot
42
+ * `mountFs()` silently drops the `/opt/agentos` package projections and
43
+ * binding shim commands applied at boot.
44
+ */
45
+ packages?: Parameters<SidecarProcess["configureVm"]>[2]["packages"];
46
+ packagesMountAt?: string;
47
+ bindingShimCommands?: string[];
33
48
  commandGuestPaths: ReadonlyMap<string, string>;
34
49
  onWasmCommandResolved?: (command: string) => void;
35
50
  onDispose?: () => Promise<void>;
51
+ /**
52
+ * Whether this proxy owns the underlying sidecar process. When VMs share one
53
+ * sidecar process (the default for VMs leased from an `AgentOsSidecar`
54
+ * handle), each proxy tears down only its own VM on `dispose()`; the shared
55
+ * process is disposed when the sidecar handle is disposed. Defaults to true
56
+ * for the legacy one-process-per-VM path.
57
+ */
58
+ ownsClient?: boolean;
36
59
  }
37
60
  export declare class NativeSidecarKernelProxy {
38
61
  readonly env: Record<string, string>;
@@ -44,7 +67,16 @@ export declare class NativeSidecarKernelProxy {
44
67
  private readonly client;
45
68
  private readonly session;
46
69
  private readonly vm;
70
+ private readonly ownsClient;
47
71
  private readonly localMounts;
72
+ private readonly baseSidecarMounts;
73
+ private readonly dynamicSidecarMounts;
74
+ private readonly permissions;
75
+ private readonly commandPermissions;
76
+ private readonly loopbackExemptPorts;
77
+ private packages;
78
+ private readonly packagesMountAt;
79
+ private readonly bindingShimCommands;
48
80
  private readonly commandDrivers;
49
81
  private readonly onWasmCommandResolved;
50
82
  private readonly onDispose;
@@ -62,6 +94,7 @@ export declare class NativeSidecarKernelProxy {
62
94
  private zombieTimerCountRefresh;
63
95
  private disposed;
64
96
  private pumpError;
97
+ private mountReconfigurePromise;
65
98
  private nextSyntheticPid;
66
99
  private readonly eventPumpAbortController;
67
100
  private readonly eventPump;
@@ -69,7 +102,31 @@ export declare class NativeSidecarKernelProxy {
69
102
  createRootView(): VirtualFileSystem;
70
103
  get zombieTimerCount(): number;
71
104
  registerCommandGuestPaths(commandGuestPaths: ReadonlyMap<string, string>): void;
105
+ /**
106
+ * Record a runtime-linked package (`linkSoftware`) so mount reconfigures
107
+ * resend it. Rust `configure_vm` rebuilds the whole VM configuration from
108
+ * each payload, so a linked package omitted here would be silently
109
+ * unprojected from `/opt/agentos` by the next `mountFs`/`unmountFs`.
110
+ */
111
+ registerLinkedPackage(descriptor: {
112
+ path: string;
113
+ }): void;
72
114
  dispose(): Promise<void>;
115
+ /** Test-only snapshot of the per-VM tracking collection sizes. */
116
+ __trackingSizesForTest(): {
117
+ trackedProcesses: number;
118
+ trackedProcessesById: number;
119
+ signalStates: number;
120
+ signalRefreshes: number;
121
+ localMounts: number;
122
+ };
123
+ /** Test-only handle to a tracked entry so its listener Sets can be inspected. */
124
+ __trackedEntryForTest(pid: number): {
125
+ onStdout: ReadonlySet<unknown>;
126
+ onStderr: ReadonlySet<unknown>;
127
+ } | undefined;
128
+ /** Test-only join point for in-flight signal-state refreshes. */
129
+ __awaitSignalRefreshesForTest(): Promise<void>;
73
130
  exec(command: string, options?: KernelExecOptions): Promise<KernelExecResult>;
74
131
  execArgv(command: string, args?: readonly string[], options?: KernelExecOptions): Promise<KernelExecResult>;
75
132
  spawn(command: string, args: string[], options?: KernelSpawnOptions): ManagedProcess;
@@ -81,13 +138,40 @@ export declare class NativeSidecarKernelProxy {
81
138
  exists(path: string): Promise<boolean>;
82
139
  stat(path: string): Promise<VirtualStat>;
83
140
  readdir(path: string): Promise<string[]>;
141
+ readdirRecursive(path: string, options?: {
142
+ maxDepth?: number;
143
+ }): Promise<Array<{
144
+ name: string;
145
+ path: string;
146
+ isDirectory: boolean;
147
+ isSymbolicLink: boolean;
148
+ size: number;
149
+ }>>;
84
150
  removeFile(path: string): Promise<void>;
85
151
  removeDir(path: string): Promise<void>;
152
+ removePath(path: string, options?: {
153
+ recursive?: boolean;
154
+ }): Promise<void>;
155
+ copyPath(fromPath: string, toPath: string, options?: {
156
+ recursive?: boolean;
157
+ }): Promise<void>;
86
158
  rename(oldPath: string, newPath: string): Promise<void>;
159
+ movePath(oldPath: string, newPath: string): Promise<void>;
87
160
  mountFs(path: string, driver: VirtualFileSystem, options?: {
88
161
  readOnly?: boolean;
89
- }): void;
90
- unmountFs(path: string): void;
162
+ sidecarMount?: SidecarMountDescriptor;
163
+ }): Promise<void>;
164
+ unmountFs(path: string): Promise<void>;
165
+ mountDescriptor(mount: SidecarMountDescriptor): Promise<void>;
166
+ unmountDescriptor(path: string): Promise<void>;
167
+ listMounts(): Promise<Array<{
168
+ path: string;
169
+ kind: string;
170
+ readOnly: boolean;
171
+ }>>;
172
+ private desiredSidecarMounts;
173
+ private reconfigureSidecarMounts;
174
+ private waitForMountReconfigure;
91
175
  snapshotProcesses(): ProcessInfo[];
92
176
  findListener(request: {
93
177
  host?: string;
@@ -107,6 +191,7 @@ export declare class NativeSidecarKernelProxy {
107
191
  private startTrackedProcess;
108
192
  private runEventPump;
109
193
  private finishProcess;
194
+ private releaseProcessTrackingAfterDrain;
110
195
  private waitForTrackedProcess;
111
196
  private signalProcess;
112
197
  private flushPendingStdin;
@@ -114,6 +199,9 @@ export declare class NativeSidecarKernelProxy {
114
199
  private handleBackgroundProcessError;
115
200
  private recordCompletedProcessError;
116
201
  private emitBackgroundProcessError;
202
+ private readdirRecursiveLocal;
203
+ private removePathLocal;
204
+ private copyPathLocal;
117
205
  private createFilesystemView;
118
206
  private buildProcessSnapshot;
119
207
  private dispatchRead;
@@ -125,8 +213,8 @@ export declare class NativeSidecarKernelProxy {
125
213
  private assertLocalWritable;
126
214
  private updateTrackedProcessSnapshot;
127
215
  }
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";
216
+ export type { AuthenticatedSession, CreatedVm, GuestFilesystemStat, RootFilesystemEntry, SidecarConfigureVmResult, SidecarEventSelector, SidecarLinkPackageResult, SidecarPermissionsPolicy, SidecarProjectedAgent, SidecarRegisteredHostCallbackDefinition, SidecarRequestFrame, SidecarResponsePayload, SidecarSessionState, SidecarSignalHandlerRegistration, SidecarSocketStateEntry, SidecarSpawnOptions, } from "./native-process-client.js";
217
+ export { NativeSidecarProcessClient, SidecarEventBufferOverflow, SidecarProcess, SidecarProcessError, SidecarProcessExited, } from "./native-process-client.js";
130
218
  export type AgentOsSidecarPlacement = {
131
219
  kind: "shared";
132
220
  pool?: string;
@@ -182,7 +270,7 @@ export interface AgentOsSidecarTransport {
182
270
  dispose(): Promise<void>;
183
271
  }
184
272
  export interface AgentOsSidecarClientOptions {
185
- createSessionTransport(bootstrap: AgentOsSidecarSessionBootstrap): Promise<AgentOsSidecarTransport>;
273
+ createOwnershipTransport(bootstrap: AgentOsSidecarSessionBootstrap): Promise<AgentOsSidecarTransport>;
186
274
  createId?: () => string;
187
275
  now?: () => number;
188
276
  }
@@ -204,13 +292,14 @@ export declare class AgentOsSidecarSessionHandle {
204
292
  dispose(): Promise<void>;
205
293
  }
206
294
  export declare class AgentOsSidecarClient {
207
- private readonly createSessionTransport;
295
+ private readonly createOwnershipTransport;
208
296
  private readonly createId;
209
297
  private readonly now;
210
298
  private readonly sessions;
211
299
  private disposed;
212
300
  constructor(options: AgentOsSidecarClientOptions);
213
- createSession(options?: AgentOsSidecarSessionOptions): Promise<AgentOsSidecarSessionHandle>;
301
+ /** Open a physical sidecar ownership scope, not a durable ACP session. */
302
+ createOwnershipSession(options?: AgentOsSidecarSessionOptions): Promise<AgentOsSidecarSessionHandle>;
214
303
  listSessions(): AgentOsSidecarSessionLifecycle[];
215
304
  requireSessionLifecycle(sessionId: string): AgentOsSidecarSessionLifecycle;
216
305
  listVms(sessionId: string): AgentOsSidecarVmLifecycle[];
@@ -235,6 +324,8 @@ export interface SidecarMountPluginDescriptor {
235
324
  }
236
325
  export interface SidecarMountDescriptor {
237
326
  guestPath: string;
327
+ guestSource?: string;
328
+ guestFstype?: string;
238
329
  readOnly: boolean;
239
330
  plugin: SidecarMountPluginDescriptor;
240
331
  }