@secure-exec/core 0.2.1 → 0.3.0-rc.1

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 (248) hide show
  1. package/README.md +5 -5
  2. package/dist/binary.d.ts +4 -0
  3. package/dist/binary.js +25 -0
  4. package/dist/bytes.d.ts +2 -0
  5. package/dist/bytes.js +6 -0
  6. package/dist/callbacks.d.ts +41 -0
  7. package/dist/callbacks.js +94 -0
  8. package/dist/cargo.d.ts +2 -0
  9. package/dist/cargo.js +142 -0
  10. package/dist/correlation.d.ts +10 -0
  11. package/dist/correlation.js +49 -0
  12. package/dist/descriptors.d.ts +34 -0
  13. package/dist/descriptors.js +37 -0
  14. package/dist/event-buffer.d.ts +90 -0
  15. package/dist/event-buffer.js +313 -0
  16. package/dist/ext.d.ts +7 -0
  17. package/dist/ext.js +13 -0
  18. package/dist/filesystem.d.ts +41 -0
  19. package/dist/filesystem.js +70 -0
  20. package/dist/frame-payload-codec.d.ts +8 -0
  21. package/dist/frame-payload-codec.js +14 -0
  22. package/dist/frame-rpc.d.ts +38 -0
  23. package/dist/frame-rpc.js +73 -0
  24. package/dist/frame-stream.d.ts +27 -0
  25. package/dist/frame-stream.js +99 -0
  26. package/dist/framing.d.ts +7 -0
  27. package/dist/framing.js +22 -0
  28. package/dist/generated/AcpLimitsConfig.d.ts +4 -0
  29. package/dist/generated/AcpLimitsConfig.js +2 -0
  30. package/dist/generated/CreateVmConfig.d.ts +19 -0
  31. package/dist/generated/FsPermissionRule.d.ts +6 -0
  32. package/dist/generated/FsPermissionRuleSet.d.ts +6 -0
  33. package/dist/generated/FsPermissionRuleSet.js +1 -0
  34. package/dist/generated/FsPermissionScope.d.ts +3 -0
  35. package/dist/generated/FsPermissionScope.js +1 -0
  36. package/dist/generated/HttpLimitsConfig.d.ts +3 -0
  37. package/dist/generated/HttpLimitsConfig.js +2 -0
  38. package/dist/generated/JsModuleResolution.d.ts +1 -0
  39. package/dist/generated/JsModuleResolution.js +2 -0
  40. package/dist/generated/JsRuntimeConfig.d.ts +26 -0
  41. package/dist/generated/JsRuntimeConfig.js +1 -0
  42. package/dist/generated/JsRuntimeLimitsConfig.d.ts +7 -0
  43. package/dist/generated/JsRuntimeLimitsConfig.js +2 -0
  44. package/dist/generated/JsRuntimePlatform.d.ts +1 -0
  45. package/dist/generated/JsRuntimePlatform.js +2 -0
  46. package/dist/generated/MountPluginDescriptor.d.ts +4 -0
  47. package/dist/generated/MountPluginDescriptor.js +2 -0
  48. package/dist/generated/NativeRootFilesystemConfig.d.ts +5 -0
  49. package/dist/generated/NativeRootFilesystemConfig.js +1 -0
  50. package/dist/generated/PatternPermissionRule.d.ts +6 -0
  51. package/dist/generated/PatternPermissionRule.js +1 -0
  52. package/dist/generated/PatternPermissionRuleSet.d.ts +6 -0
  53. package/dist/generated/PatternPermissionRuleSet.js +1 -0
  54. package/dist/generated/PatternPermissionScope.d.ts +3 -0
  55. package/dist/generated/PatternPermissionScope.js +1 -0
  56. package/dist/generated/PermissionMode.d.ts +1 -0
  57. package/dist/generated/PermissionMode.js +2 -0
  58. package/dist/generated/PermissionsPolicy.d.ts +10 -0
  59. package/dist/generated/PermissionsPolicy.js +1 -0
  60. package/dist/generated/PluginLimitsConfig.d.ts +4 -0
  61. package/dist/generated/PluginLimitsConfig.js +2 -0
  62. package/dist/generated/PythonLimitsConfig.d.ts +5 -0
  63. package/dist/generated/PythonLimitsConfig.js +2 -0
  64. package/dist/generated/ResourceLimitsConfig.d.ts +22 -0
  65. package/dist/generated/ResourceLimitsConfig.js +2 -0
  66. package/dist/generated/RootFilesystemConfig.d.ts +9 -0
  67. package/dist/generated/RootFilesystemConfig.js +1 -0
  68. package/dist/generated/RootFilesystemEntry.d.ts +13 -0
  69. package/dist/generated/RootFilesystemEntry.js +1 -0
  70. package/dist/generated/RootFilesystemEntryEncoding.d.ts +1 -0
  71. package/dist/generated/RootFilesystemEntryEncoding.js +2 -0
  72. package/dist/generated/RootFilesystemEntryKind.d.ts +1 -0
  73. package/dist/generated/RootFilesystemEntryKind.js +2 -0
  74. package/dist/generated/RootFilesystemLowerDescriptor.d.ts +7 -0
  75. package/dist/generated/RootFilesystemLowerDescriptor.js +1 -0
  76. package/dist/generated/RootFilesystemMode.d.ts +1 -0
  77. package/dist/generated/RootFilesystemMode.js +2 -0
  78. package/dist/generated/ToolLimitsConfig.d.ts +10 -0
  79. package/dist/generated/ToolLimitsConfig.js +2 -0
  80. package/dist/generated/VmDnsConfig.d.ts +6 -0
  81. package/dist/generated/VmDnsConfig.js +2 -0
  82. package/dist/generated/VmLimitsConfig.d.ts +18 -0
  83. package/dist/generated/VmLimitsConfig.js +1 -0
  84. package/dist/generated/VmListenPolicyConfig.d.ts +5 -0
  85. package/dist/generated/VmListenPolicyConfig.js +2 -0
  86. package/dist/generated/WasmLimitsConfig.d.ts +5 -0
  87. package/dist/generated/WasmLimitsConfig.js +2 -0
  88. package/dist/generated-protocol.d.ts +1037 -0
  89. package/dist/generated-protocol.js +2887 -0
  90. package/dist/index.d.ts +24 -62
  91. package/dist/index.js +24 -53
  92. package/dist/json.d.ts +2 -0
  93. package/dist/json.js +20 -0
  94. package/dist/kernel-proxy.d.ts +149 -0
  95. package/dist/kernel-proxy.js +1733 -0
  96. package/dist/native-client.d.ts +41 -0
  97. package/dist/native-client.js +124 -0
  98. package/dist/node-runtime.d.ts +443 -0
  99. package/dist/node-runtime.js +569 -0
  100. package/dist/numbers.d.ts +1 -0
  101. package/dist/numbers.js +8 -0
  102. package/dist/ownership.d.ts +18 -0
  103. package/dist/ownership.js +77 -0
  104. package/dist/permissions.d.ts +29 -0
  105. package/dist/permissions.js +68 -0
  106. package/dist/process.d.ts +35 -0
  107. package/dist/process.js +125 -0
  108. package/dist/protocol-client.d.ts +46 -0
  109. package/dist/protocol-client.js +180 -0
  110. package/dist/protocol-frames.d.ts +68 -0
  111. package/dist/protocol-frames.js +139 -0
  112. package/dist/protocol-maps.d.ts +28 -0
  113. package/dist/protocol-maps.js +217 -0
  114. package/dist/protocol-schema.d.ts +10 -0
  115. package/dist/protocol-schema.js +11 -0
  116. package/dist/request-payloads.d.ts +137 -0
  117. package/dist/request-payloads.js +210 -0
  118. package/dist/response-payloads.d.ts +107 -0
  119. package/dist/response-payloads.js +161 -0
  120. package/dist/sidecar-client.d.ts +242 -0
  121. package/dist/sidecar-client.js +797 -0
  122. package/dist/state.d.ts +40 -0
  123. package/dist/state.js +44 -0
  124. package/dist/test-runtime.d.ts +526 -0
  125. package/dist/test-runtime.js +2119 -0
  126. package/dist/vm-config.d.ts +31 -0
  127. package/dist/vm-config.js +1 -0
  128. package/fixtures/alpine-defaults.json +520 -0
  129. package/fixtures/base-filesystem.json +528 -0
  130. package/package.json +193 -115
  131. package/LICENSE +0 -191
  132. package/dist/bridge-setup.d.ts +0 -6
  133. package/dist/bridge-setup.js +0 -9
  134. package/dist/esm-compiler.d.ts +0 -18
  135. package/dist/esm-compiler.js +0 -72
  136. package/dist/fs-helpers.d.ts +0 -23
  137. package/dist/fs-helpers.js +0 -41
  138. package/dist/generated/isolate-runtime.d.ts +0 -19
  139. package/dist/generated/isolate-runtime.js +0 -21
  140. package/dist/generated/polyfills.d.ts +0 -82
  141. package/dist/generated/polyfills.js +0 -82
  142. package/dist/isolate-runtime/apply-custom-global-policy.js +0 -53
  143. package/dist/isolate-runtime/apply-timing-mitigation-freeze.js +0 -130
  144. package/dist/isolate-runtime/apply-timing-mitigation-off.js +0 -14
  145. package/dist/isolate-runtime/bridge-attach.js +0 -29
  146. package/dist/isolate-runtime/bridge-initial-globals.js +0 -385
  147. package/dist/isolate-runtime/eval-script-result.js +0 -8
  148. package/dist/isolate-runtime/global-exposure-helpers.js +0 -36
  149. package/dist/isolate-runtime/init-commonjs-module-globals.js +0 -28
  150. package/dist/isolate-runtime/override-process-cwd.js +0 -8
  151. package/dist/isolate-runtime/override-process-env.js +0 -8
  152. package/dist/isolate-runtime/require-setup.js +0 -4153
  153. package/dist/isolate-runtime/set-commonjs-file-globals.js +0 -36
  154. package/dist/isolate-runtime/set-stdin-data.js +0 -10
  155. package/dist/isolate-runtime/setup-dynamic-import.js +0 -123
  156. package/dist/isolate-runtime/setup-fs-facade.js +0 -87
  157. package/dist/kernel/command-registry.d.ts +0 -44
  158. package/dist/kernel/command-registry.js +0 -114
  159. package/dist/kernel/device-backend.d.ts +0 -14
  160. package/dist/kernel/device-backend.js +0 -251
  161. package/dist/kernel/device-layer.d.ts +0 -12
  162. package/dist/kernel/device-layer.js +0 -271
  163. package/dist/kernel/dns-cache.d.ts +0 -29
  164. package/dist/kernel/dns-cache.js +0 -52
  165. package/dist/kernel/fd-table.d.ts +0 -84
  166. package/dist/kernel/fd-table.js +0 -278
  167. package/dist/kernel/file-lock.d.ts +0 -34
  168. package/dist/kernel/file-lock.js +0 -122
  169. package/dist/kernel/host-adapter.d.ts +0 -50
  170. package/dist/kernel/host-adapter.js +0 -8
  171. package/dist/kernel/index.d.ts +0 -36
  172. package/dist/kernel/index.js +0 -34
  173. package/dist/kernel/kernel.d.ts +0 -9
  174. package/dist/kernel/kernel.js +0 -1415
  175. package/dist/kernel/mount-table.d.ts +0 -75
  176. package/dist/kernel/mount-table.js +0 -353
  177. package/dist/kernel/permissions.d.ts +0 -36
  178. package/dist/kernel/permissions.js +0 -150
  179. package/dist/kernel/pipe-manager.d.ts +0 -64
  180. package/dist/kernel/pipe-manager.js +0 -267
  181. package/dist/kernel/proc-backend.d.ts +0 -30
  182. package/dist/kernel/proc-backend.js +0 -428
  183. package/dist/kernel/proc-layer.d.ts +0 -11
  184. package/dist/kernel/proc-layer.js +0 -507
  185. package/dist/kernel/process-table.d.ts +0 -126
  186. package/dist/kernel/process-table.js +0 -651
  187. package/dist/kernel/pty.d.ts +0 -109
  188. package/dist/kernel/pty.js +0 -552
  189. package/dist/kernel/socket-table.d.ts +0 -312
  190. package/dist/kernel/socket-table.js +0 -1188
  191. package/dist/kernel/timer-table.d.ts +0 -54
  192. package/dist/kernel/timer-table.js +0 -108
  193. package/dist/kernel/types.d.ts +0 -541
  194. package/dist/kernel/types.js +0 -98
  195. package/dist/kernel/user.d.ts +0 -29
  196. package/dist/kernel/user.js +0 -35
  197. package/dist/kernel/vfs.d.ts +0 -82
  198. package/dist/kernel/vfs.js +0 -25
  199. package/dist/kernel/wait.d.ts +0 -45
  200. package/dist/kernel/wait.js +0 -112
  201. package/dist/kernel/wstatus.d.ts +0 -21
  202. package/dist/kernel/wstatus.js +0 -33
  203. package/dist/module-resolver.d.ts +0 -29
  204. package/dist/module-resolver.js +0 -314
  205. package/dist/package-bundler.d.ts +0 -41
  206. package/dist/package-bundler.js +0 -497
  207. package/dist/runtime-driver.d.ts +0 -66
  208. package/dist/shared/api-types.d.ts +0 -83
  209. package/dist/shared/bridge-contract.d.ts +0 -772
  210. package/dist/shared/bridge-contract.js +0 -169
  211. package/dist/shared/console-formatter.d.ts +0 -22
  212. package/dist/shared/console-formatter.js +0 -161
  213. package/dist/shared/constants.d.ts +0 -3
  214. package/dist/shared/constants.js +0 -3
  215. package/dist/shared/errors.d.ts +0 -16
  216. package/dist/shared/errors.js +0 -21
  217. package/dist/shared/esm-utils.d.ts +0 -28
  218. package/dist/shared/esm-utils.js +0 -97
  219. package/dist/shared/global-exposure.d.ts +0 -38
  220. package/dist/shared/global-exposure.js +0 -876
  221. package/dist/shared/in-memory-fs.d.ts +0 -16
  222. package/dist/shared/in-memory-fs.js +0 -115
  223. package/dist/shared/permissions.d.ts +0 -36
  224. package/dist/shared/permissions.js +0 -314
  225. package/dist/shared/require-setup.d.ts +0 -6
  226. package/dist/shared/require-setup.js +0 -9
  227. package/dist/test/block-store-conformance.d.ts +0 -34
  228. package/dist/test/block-store-conformance.js +0 -251
  229. package/dist/test/metadata-store-conformance.d.ts +0 -37
  230. package/dist/test/metadata-store-conformance.js +0 -646
  231. package/dist/test/vfs-conformance.d.ts +0 -65
  232. package/dist/test/vfs-conformance.js +0 -842
  233. package/dist/types.d.ts +0 -98
  234. package/dist/types.js +0 -6
  235. package/dist/vfs/chunked-vfs.d.ts +0 -66
  236. package/dist/vfs/chunked-vfs.js +0 -1290
  237. package/dist/vfs/host-block-store.d.ts +0 -19
  238. package/dist/vfs/host-block-store.js +0 -97
  239. package/dist/vfs/memory-block-store.d.ts +0 -16
  240. package/dist/vfs/memory-block-store.js +0 -45
  241. package/dist/vfs/memory-metadata.d.ts +0 -75
  242. package/dist/vfs/memory-metadata.js +0 -528
  243. package/dist/vfs/sqlite-metadata.d.ts +0 -91
  244. package/dist/vfs/sqlite-metadata.js +0 -582
  245. package/dist/vfs/types.d.ts +0 -210
  246. package/dist/vfs/types.js +0 -8
  247. /package/dist/{runtime-driver.js → generated/CreateVmConfig.js} +0 -0
  248. /package/dist/{shared/api-types.js → generated/FsPermissionRule.js} +0 -0
@@ -0,0 +1,242 @@
1
+ import { type LiveSidecarRequestPayload, type LiveSidecarResponsePayload } from "./callbacks.js";
2
+ import type { MountConfigJsonObject } from "./descriptors.js";
3
+ import { type LiveSidecarEventSelector } from "./event-buffer.js";
4
+ import { type LiveRootFilesystemEntry } from "./filesystem.js";
5
+ import type { CreateVmConfig } from "./generated/CreateVmConfig.js";
6
+ import { type LiveFsPermissionRule, type LivePatternPermissionRule, type LivePermissionMode, type LivePermissionScope, type LiveRulePermissions } from "./permissions.js";
7
+ import type { LiveGuestRuntimeKind, LiveWasmPermissionTier } from "./protocol-maps.js";
8
+ import { type LiveEventFrame, type LiveSidecarRequestHandler, type LiveSidecarRequestFrame, type LiveSidecarResponseFrame, type ProtocolFramePayloadCodec } from "./protocol-frames.js";
9
+ import { type LiveGuestFilesystemStat } from "./state.js";
10
+ export { SidecarProcessError, SidecarProcessExited, } from "./process.js";
11
+ export { SidecarEventBufferOverflow } from "./event-buffer.js";
12
+ export declare const NATIVE_SIDECAR_FRAME_TIMEOUT_MS = 120000;
13
+ type GuestRuntimeKind = Extract<LiveGuestRuntimeKind, "java_script" | "web_assembly">;
14
+ type WasmPermissionTier = LiveWasmPermissionTier;
15
+ export interface RootFilesystemEntry extends LiveRootFilesystemEntry {
16
+ }
17
+ export interface RootFilesystemLowerDescriptor {
18
+ kind: "snapshot" | "bundled_base_filesystem";
19
+ entries?: RootFilesystemEntry[];
20
+ }
21
+ export interface GuestFilesystemStat extends LiveGuestFilesystemStat {
22
+ }
23
+ export interface SidecarSocketStateEntry {
24
+ processId: string;
25
+ host?: string;
26
+ port?: number;
27
+ path?: string;
28
+ }
29
+ export interface SidecarSignalHandlerRegistration {
30
+ action: "default" | "ignore" | "user";
31
+ mask: number[];
32
+ flags: number;
33
+ }
34
+ export interface SidecarSignalState {
35
+ processId: string;
36
+ handlers: Map<number, SidecarSignalHandlerRegistration>;
37
+ }
38
+ export interface SidecarProcessSnapshotEntry {
39
+ processId: string;
40
+ pid: number;
41
+ ppid: number;
42
+ pgid: number;
43
+ sid: number;
44
+ driver: string;
45
+ command: string;
46
+ args: string[];
47
+ cwd: string;
48
+ status: "running" | "exited" | "stopped";
49
+ exitCode: number | null;
50
+ }
51
+ export interface SidecarZombieTimerCount {
52
+ count: number;
53
+ }
54
+ export interface SidecarRegisteredHostCallbackExample {
55
+ description: string;
56
+ input: unknown;
57
+ }
58
+ export interface SidecarRegisteredHostCallbackDefinition {
59
+ description: string;
60
+ inputSchema: unknown;
61
+ timeoutMs?: number;
62
+ examples?: SidecarRegisteredHostCallbackExample[];
63
+ }
64
+ export interface ExtEnvelope {
65
+ namespace: string;
66
+ payload: Uint8Array;
67
+ }
68
+ export type SidecarRequestPayload = LiveSidecarRequestPayload;
69
+ export type SidecarResponsePayload = LiveSidecarResponsePayload;
70
+ type EventFrame = LiveEventFrame;
71
+ export type SidecarEventSelector = LiveSidecarEventSelector;
72
+ export type SidecarRequestFrame = LiveSidecarRequestFrame;
73
+ export type SidecarResponseFrame = LiveSidecarResponseFrame;
74
+ type NativeTransportPayloadCodec = ProtocolFramePayloadCodec;
75
+ export type SidecarRequestHandler = LiveSidecarRequestHandler;
76
+ export interface NativeSidecarSpawnOptions {
77
+ cwd: string;
78
+ command?: string;
79
+ args?: string[];
80
+ frameTimeoutMs?: number;
81
+ eventBufferCapacity?: number;
82
+ payloadCodec?: NativeTransportPayloadCodec;
83
+ }
84
+ export interface AuthenticatedSession {
85
+ connectionId: string;
86
+ sessionId: string;
87
+ }
88
+ export interface CreatedVm {
89
+ vmId: string;
90
+ }
91
+ export interface SidecarSessionState {
92
+ sessionId: string;
93
+ agentType: string;
94
+ processId: string;
95
+ pid?: number;
96
+ closed: boolean;
97
+ modes?: unknown;
98
+ configOptions: unknown[];
99
+ agentCapabilities?: unknown;
100
+ agentInfo?: unknown;
101
+ }
102
+ export interface SidecarMountPluginDescriptor {
103
+ id: string;
104
+ config?: MountConfigJsonObject;
105
+ }
106
+ export interface SidecarMountDescriptor {
107
+ guestPath: string;
108
+ readOnly: boolean;
109
+ plugin: SidecarMountPluginDescriptor;
110
+ }
111
+ export interface SidecarSoftwareDescriptor {
112
+ packageName: string;
113
+ root: string;
114
+ }
115
+ export type SidecarPermissionMode = LivePermissionMode;
116
+ export interface SidecarFsPermissionRule extends LiveFsPermissionRule {
117
+ }
118
+ export interface SidecarPatternPermissionRule extends LivePatternPermissionRule {
119
+ }
120
+ export interface SidecarRulePermissions<TRule> extends LiveRulePermissions<TRule> {
121
+ }
122
+ export type SidecarPermissionScope<TRule> = LivePermissionScope<TRule>;
123
+ export interface SidecarPermissionsPolicy {
124
+ fs?: SidecarPermissionScope<SidecarFsPermissionRule>;
125
+ network?: SidecarPermissionScope<SidecarPatternPermissionRule>;
126
+ childProcess?: SidecarPermissionScope<SidecarPatternPermissionRule>;
127
+ process?: SidecarPermissionScope<SidecarPatternPermissionRule>;
128
+ env?: SidecarPermissionScope<SidecarPatternPermissionRule>;
129
+ tool?: SidecarPermissionScope<SidecarPatternPermissionRule>;
130
+ }
131
+ export interface SidecarProjectedModuleDescriptor {
132
+ packageName: string;
133
+ entrypoint: string;
134
+ }
135
+ export declare class NativeSidecarProcessClient {
136
+ private readonly protocolClient;
137
+ private constructor();
138
+ static spawn(options: NativeSidecarSpawnOptions): NativeSidecarProcessClient;
139
+ setSidecarRequestHandler(handler: SidecarRequestHandler | null): void;
140
+ onEvent(handler: (event: EventFrame) => void): () => void;
141
+ authenticateAndOpenSession(sessionMetadata?: Record<string, string>): Promise<AuthenticatedSession>;
142
+ createVm(session: AuthenticatedSession, options: {
143
+ runtime: GuestRuntimeKind;
144
+ config: CreateVmConfig;
145
+ }): Promise<CreatedVm>;
146
+ extensionRequest(session: AuthenticatedSession, vm: CreatedVm, envelope: ExtEnvelope): Promise<ExtEnvelope>;
147
+ configureVm(session: AuthenticatedSession, vm: CreatedVm, options: {
148
+ mounts?: SidecarMountDescriptor[];
149
+ software?: SidecarSoftwareDescriptor[];
150
+ permissions?: SidecarPermissionsPolicy;
151
+ moduleAccessCwd?: string;
152
+ instructions?: string[];
153
+ projectedModules?: SidecarProjectedModuleDescriptor[];
154
+ commandPermissions?: Record<string, WasmPermissionTier>;
155
+ loopbackExemptPorts?: number[];
156
+ }): Promise<void>;
157
+ registerHostCallbacks(session: AuthenticatedSession, vm: CreatedVm, registration: {
158
+ name: string;
159
+ description: string;
160
+ commandAliases?: string[];
161
+ registryCommandAliases?: string[];
162
+ callbacks: Record<string, SidecarRegisteredHostCallbackDefinition>;
163
+ }): Promise<{
164
+ registration: string;
165
+ commandCount: number;
166
+ }>;
167
+ createLayer(session: AuthenticatedSession, vm: CreatedVm): Promise<string>;
168
+ sealLayer(session: AuthenticatedSession, vm: CreatedVm, layerId: string): Promise<string>;
169
+ importSnapshot(session: AuthenticatedSession, vm: CreatedVm, entries: RootFilesystemEntry[]): Promise<string>;
170
+ exportSnapshot(session: AuthenticatedSession, vm: CreatedVm, layerId: string): Promise<RootFilesystemEntry[]>;
171
+ createOverlay(session: AuthenticatedSession, vm: CreatedVm, options: {
172
+ mode?: "ephemeral" | "read_only";
173
+ upperLayerId?: string;
174
+ lowerLayerIds: string[];
175
+ }): Promise<string>;
176
+ bootstrapRootFilesystem(session: AuthenticatedSession, vm: CreatedVm, entries: RootFilesystemEntry[]): Promise<void>;
177
+ snapshotRootFilesystem(session: AuthenticatedSession, vm: CreatedVm): Promise<RootFilesystemEntry[]>;
178
+ readFile(session: AuthenticatedSession, vm: CreatedVm, path: string): Promise<Uint8Array>;
179
+ pread(session: AuthenticatedSession, vm: CreatedVm, path: string, offset: number, length: number): Promise<Uint8Array>;
180
+ writeFile(session: AuthenticatedSession, vm: CreatedVm, path: string, content: string | Uint8Array): Promise<void>;
181
+ mkdir(session: AuthenticatedSession, vm: CreatedVm, path: string, options?: {
182
+ recursive?: boolean;
183
+ }): Promise<void>;
184
+ readdir(session: AuthenticatedSession, vm: CreatedVm, path: string): Promise<string[]>;
185
+ exists(session: AuthenticatedSession, vm: CreatedVm, path: string): Promise<boolean>;
186
+ stat(session: AuthenticatedSession, vm: CreatedVm, path: string, options?: {
187
+ dereference?: boolean;
188
+ }): Promise<GuestFilesystemStat>;
189
+ lstat(session: AuthenticatedSession, vm: CreatedVm, path: string): Promise<GuestFilesystemStat>;
190
+ rename(session: AuthenticatedSession, vm: CreatedVm, fromPath: string, toPath: string): Promise<void>;
191
+ realpath(session: AuthenticatedSession, vm: CreatedVm, path: string): Promise<string>;
192
+ removeFile(session: AuthenticatedSession, vm: CreatedVm, path: string): Promise<void>;
193
+ removeDir(session: AuthenticatedSession, vm: CreatedVm, path: string): Promise<void>;
194
+ symlink(session: AuthenticatedSession, vm: CreatedVm, target: string, linkPath: string): Promise<void>;
195
+ readLink(session: AuthenticatedSession, vm: CreatedVm, path: string): Promise<string>;
196
+ link(session: AuthenticatedSession, vm: CreatedVm, fromPath: string, toPath: string): Promise<void>;
197
+ chmod(session: AuthenticatedSession, vm: CreatedVm, path: string, mode: number): Promise<void>;
198
+ chown(session: AuthenticatedSession, vm: CreatedVm, path: string, uid: number, gid: number): Promise<void>;
199
+ utimes(session: AuthenticatedSession, vm: CreatedVm, path: string, atimeMs: number, mtimeMs: number): Promise<void>;
200
+ truncate(session: AuthenticatedSession, vm: CreatedVm, path: string, length: number): Promise<void>;
201
+ disposeVm(session: AuthenticatedSession, vm: CreatedVm): Promise<void>;
202
+ execute(session: AuthenticatedSession, vm: CreatedVm, options: {
203
+ processId: string;
204
+ command?: string;
205
+ runtime?: GuestRuntimeKind;
206
+ entrypoint?: string;
207
+ args?: string[];
208
+ env?: Record<string, string>;
209
+ cwd?: string;
210
+ wasmPermissionTier?: WasmPermissionTier;
211
+ }): Promise<{
212
+ pid: number | null;
213
+ }>;
214
+ writeStdin(session: AuthenticatedSession, vm: CreatedVm, processId: string, chunk: string | Uint8Array): Promise<void>;
215
+ closeStdin(session: AuthenticatedSession, vm: CreatedVm, processId: string): Promise<void>;
216
+ killProcess(session: AuthenticatedSession, vm: CreatedVm, processId: string, signal?: string): Promise<void>;
217
+ findListener(session: AuthenticatedSession, vm: CreatedVm, request: {
218
+ host?: string;
219
+ port?: number;
220
+ path?: string;
221
+ }): Promise<SidecarSocketStateEntry | null>;
222
+ getProcessSnapshot(session: AuthenticatedSession, vm: CreatedVm): Promise<SidecarProcessSnapshotEntry[]>;
223
+ findBoundUdp(session: AuthenticatedSession, vm: CreatedVm, request: {
224
+ host?: string;
225
+ port?: number;
226
+ }): Promise<SidecarSocketStateEntry | null>;
227
+ vmFetch(session: AuthenticatedSession, vm: CreatedVm, request: {
228
+ port: number;
229
+ method: string;
230
+ path: string;
231
+ headersJson: string;
232
+ body?: string;
233
+ }): Promise<string>;
234
+ getSignalState(session: AuthenticatedSession, vm: CreatedVm, processId: string): Promise<SidecarSignalState>;
235
+ getZombieTimerCount(session: AuthenticatedSession, vm: CreatedVm): Promise<SidecarZombieTimerCount>;
236
+ waitForEvent(matcher: SidecarEventSelector | ((event: EventFrame) => boolean), timeoutMs?: number, options?: {
237
+ signal?: AbortSignal;
238
+ }): Promise<EventFrame>;
239
+ dispose(): Promise<void>;
240
+ private sendRequest;
241
+ private guestFilesystemCall;
242
+ }