@rivet-dev/agentos-runtime-core 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 (272) hide show
  1. package/README.md +7 -0
  2. package/commands/[ +0 -0
  3. package/commands/_stubs +0 -0
  4. package/commands/arch +0 -0
  5. package/commands/awk +0 -0
  6. package/commands/b2sum +0 -0
  7. package/commands/base32 +0 -0
  8. package/commands/base64 +0 -0
  9. package/commands/basename +0 -0
  10. package/commands/basenc +0 -0
  11. package/commands/bash +0 -0
  12. package/commands/cat +0 -0
  13. package/commands/chcon +0 -0
  14. package/commands/chgrp +0 -0
  15. package/commands/chmod +0 -0
  16. package/commands/chown +0 -0
  17. package/commands/chroot +0 -0
  18. package/commands/cksum +0 -0
  19. package/commands/codex +0 -0
  20. package/commands/codex-exec +0 -0
  21. package/commands/column +0 -0
  22. package/commands/comm +0 -0
  23. package/commands/cp +0 -0
  24. package/commands/curl +0 -0
  25. package/commands/cut +0 -0
  26. package/commands/date +0 -0
  27. package/commands/dd +0 -0
  28. package/commands/df +0 -0
  29. package/commands/diff +0 -0
  30. package/commands/dir +0 -0
  31. package/commands/dircolors +0 -0
  32. package/commands/dirname +0 -0
  33. package/commands/du +0 -0
  34. package/commands/echo +0 -0
  35. package/commands/egrep +0 -0
  36. package/commands/env +0 -0
  37. package/commands/envsubst +0 -0
  38. package/commands/expand +0 -0
  39. package/commands/expr +0 -0
  40. package/commands/factor +0 -0
  41. package/commands/false +0 -0
  42. package/commands/fd +0 -0
  43. package/commands/fgrep +0 -0
  44. package/commands/file +0 -0
  45. package/commands/find +0 -0
  46. package/commands/fmt +0 -0
  47. package/commands/fold +0 -0
  48. package/commands/git +0 -0
  49. package/commands/git-remote-http +0 -0
  50. package/commands/git-remote-https +0 -0
  51. package/commands/grep +0 -0
  52. package/commands/groups +0 -0
  53. package/commands/gunzip +0 -0
  54. package/commands/gzip +0 -0
  55. package/commands/head +0 -0
  56. package/commands/hostid +0 -0
  57. package/commands/hostname +0 -0
  58. package/commands/http-test +0 -0
  59. package/commands/http_get +0 -0
  60. package/commands/id +0 -0
  61. package/commands/install +0 -0
  62. package/commands/join +0 -0
  63. package/commands/jq +0 -0
  64. package/commands/kill +0 -0
  65. package/commands/link +0 -0
  66. package/commands/ln +0 -0
  67. package/commands/logname +0 -0
  68. package/commands/ls +0 -0
  69. package/commands/md5sum +0 -0
  70. package/commands/mkdir +0 -0
  71. package/commands/mkfifo +0 -0
  72. package/commands/mknod +0 -0
  73. package/commands/mktemp +0 -0
  74. package/commands/more +0 -0
  75. package/commands/mv +0 -0
  76. package/commands/nice +0 -0
  77. package/commands/nl +0 -0
  78. package/commands/nohup +0 -0
  79. package/commands/nproc +0 -0
  80. package/commands/numfmt +0 -0
  81. package/commands/od +0 -0
  82. package/commands/paste +0 -0
  83. package/commands/pathchk +0 -0
  84. package/commands/pinky +0 -0
  85. package/commands/printenv +0 -0
  86. package/commands/printf +0 -0
  87. package/commands/ptx +0 -0
  88. package/commands/pwd +0 -0
  89. package/commands/readlink +0 -0
  90. package/commands/realpath +0 -0
  91. package/commands/rev +0 -0
  92. package/commands/rg +0 -0
  93. package/commands/rm +0 -0
  94. package/commands/rmdir +0 -0
  95. package/commands/runcon +0 -0
  96. package/commands/sed +0 -0
  97. package/commands/seq +0 -0
  98. package/commands/sh +0 -0
  99. package/commands/sha1sum +0 -0
  100. package/commands/sha224sum +0 -0
  101. package/commands/sha256sum +0 -0
  102. package/commands/sha384sum +0 -0
  103. package/commands/sha512sum +0 -0
  104. package/commands/shred +0 -0
  105. package/commands/shuf +0 -0
  106. package/commands/sleep +0 -0
  107. package/commands/sort +0 -0
  108. package/commands/spawn-test-host +0 -0
  109. package/commands/split +0 -0
  110. package/commands/sqlite3 +0 -0
  111. package/commands/stat +0 -0
  112. package/commands/stdbuf +0 -0
  113. package/commands/strings +0 -0
  114. package/commands/stty +0 -0
  115. package/commands/sum +0 -0
  116. package/commands/sync +0 -0
  117. package/commands/tac +0 -0
  118. package/commands/tail +0 -0
  119. package/commands/tar +0 -0
  120. package/commands/tee +0 -0
  121. package/commands/test +0 -0
  122. package/commands/timeout +0 -0
  123. package/commands/touch +0 -0
  124. package/commands/tr +0 -0
  125. package/commands/tree +0 -0
  126. package/commands/true +0 -0
  127. package/commands/truncate +0 -0
  128. package/commands/tsort +0 -0
  129. package/commands/tty +0 -0
  130. package/commands/uname +0 -0
  131. package/commands/unexpand +0 -0
  132. package/commands/uniq +0 -0
  133. package/commands/unlink +0 -0
  134. package/commands/unzip +0 -0
  135. package/commands/uptime +0 -0
  136. package/commands/users +0 -0
  137. package/commands/vdir +0 -0
  138. package/commands/wc +0 -0
  139. package/commands/which +0 -0
  140. package/commands/who +0 -0
  141. package/commands/whoami +0 -0
  142. package/commands/xargs +0 -0
  143. package/commands/xu +0 -0
  144. package/commands/yes +0 -0
  145. package/commands/yq +0 -0
  146. package/commands/zcat +0 -0
  147. package/commands/zip +0 -0
  148. package/dist/binary.d.ts +4 -0
  149. package/dist/binary.js +25 -0
  150. package/dist/bytes.d.ts +2 -0
  151. package/dist/bytes.js +6 -0
  152. package/dist/callbacks.d.ts +41 -0
  153. package/dist/callbacks.js +94 -0
  154. package/dist/correlation.d.ts +7 -0
  155. package/dist/correlation.js +52 -0
  156. package/dist/descriptors.d.ts +81 -0
  157. package/dist/descriptors.js +57 -0
  158. package/dist/event-buffer.d.ts +98 -0
  159. package/dist/event-buffer.js +333 -0
  160. package/dist/ext.d.ts +7 -0
  161. package/dist/ext.js +13 -0
  162. package/dist/filesystem.d.ts +33 -0
  163. package/dist/filesystem.js +52 -0
  164. package/dist/frame-payload-codec.d.ts +8 -0
  165. package/dist/frame-payload-codec.js +14 -0
  166. package/dist/frame-rpc.d.ts +45 -0
  167. package/dist/frame-rpc.js +98 -0
  168. package/dist/frame-stream.d.ts +34 -0
  169. package/dist/frame-stream.js +109 -0
  170. package/dist/framing.d.ts +8 -0
  171. package/dist/framing.js +23 -0
  172. package/dist/generated/AcpLimitsConfig.d.ts +4 -0
  173. package/dist/generated/AcpLimitsConfig.js +2 -0
  174. package/dist/generated/CreateVmConfig.d.ts +26 -0
  175. package/dist/generated/CreateVmConfig.js +1 -0
  176. package/dist/generated/FsPermissionRule.d.ts +6 -0
  177. package/dist/generated/FsPermissionRule.js +1 -0
  178. package/dist/generated/FsPermissionRuleSet.d.ts +6 -0
  179. package/dist/generated/FsPermissionRuleSet.js +1 -0
  180. package/dist/generated/FsPermissionScope.d.ts +3 -0
  181. package/dist/generated/FsPermissionScope.js +1 -0
  182. package/dist/generated/HttpLimitsConfig.d.ts +3 -0
  183. package/dist/generated/HttpLimitsConfig.js +2 -0
  184. package/dist/generated/JsModuleResolution.d.ts +1 -0
  185. package/dist/generated/JsModuleResolution.js +2 -0
  186. package/dist/generated/JsRuntimeConfig.d.ts +31 -0
  187. package/dist/generated/JsRuntimeConfig.js +1 -0
  188. package/dist/generated/JsRuntimeLimitsConfig.d.ts +8 -0
  189. package/dist/generated/JsRuntimeLimitsConfig.js +2 -0
  190. package/dist/generated/JsRuntimePlatform.d.ts +1 -0
  191. package/dist/generated/JsRuntimePlatform.js +2 -0
  192. package/dist/generated/MountPluginDescriptor.d.ts +4 -0
  193. package/dist/generated/MountPluginDescriptor.js +2 -0
  194. package/dist/generated/NativeRootFilesystemConfig.d.ts +5 -0
  195. package/dist/generated/NativeRootFilesystemConfig.js +1 -0
  196. package/dist/generated/PatternPermissionRule.d.ts +6 -0
  197. package/dist/generated/PatternPermissionRule.js +1 -0
  198. package/dist/generated/PatternPermissionRuleSet.d.ts +6 -0
  199. package/dist/generated/PatternPermissionRuleSet.js +1 -0
  200. package/dist/generated/PatternPermissionScope.d.ts +3 -0
  201. package/dist/generated/PatternPermissionScope.js +1 -0
  202. package/dist/generated/PermissionMode.d.ts +1 -0
  203. package/dist/generated/PermissionMode.js +2 -0
  204. package/dist/generated/PermissionsPolicy.d.ts +10 -0
  205. package/dist/generated/PermissionsPolicy.js +1 -0
  206. package/dist/generated/PluginLimitsConfig.d.ts +4 -0
  207. package/dist/generated/PluginLimitsConfig.js +2 -0
  208. package/dist/generated/PythonLimitsConfig.d.ts +6 -0
  209. package/dist/generated/PythonLimitsConfig.js +2 -0
  210. package/dist/generated/ResourceLimitsConfig.d.ts +24 -0
  211. package/dist/generated/ResourceLimitsConfig.js +2 -0
  212. package/dist/generated/RootFilesystemConfig.d.ts +9 -0
  213. package/dist/generated/RootFilesystemConfig.js +1 -0
  214. package/dist/generated/RootFilesystemEntry.d.ts +13 -0
  215. package/dist/generated/RootFilesystemEntry.js +1 -0
  216. package/dist/generated/RootFilesystemEntryEncoding.d.ts +1 -0
  217. package/dist/generated/RootFilesystemEntryEncoding.js +2 -0
  218. package/dist/generated/RootFilesystemEntryKind.d.ts +1 -0
  219. package/dist/generated/RootFilesystemEntryKind.js +2 -0
  220. package/dist/generated/RootFilesystemLowerDescriptor.d.ts +7 -0
  221. package/dist/generated/RootFilesystemLowerDescriptor.js +1 -0
  222. package/dist/generated/RootFilesystemMode.d.ts +1 -0
  223. package/dist/generated/RootFilesystemMode.js +2 -0
  224. package/dist/generated/ToolLimitsConfig.d.ts +10 -0
  225. package/dist/generated/ToolLimitsConfig.js +2 -0
  226. package/dist/generated/VmDnsConfig.d.ts +6 -0
  227. package/dist/generated/VmDnsConfig.js +2 -0
  228. package/dist/generated/VmLimitsConfig.d.ts +18 -0
  229. package/dist/generated/VmLimitsConfig.js +1 -0
  230. package/dist/generated/VmListenPolicyConfig.d.ts +5 -0
  231. package/dist/generated/VmListenPolicyConfig.js +2 -0
  232. package/dist/generated/WasmLimitsConfig.d.ts +7 -0
  233. package/dist/generated/WasmLimitsConfig.js +2 -0
  234. package/dist/generated-protocol.d.ts +1452 -0
  235. package/dist/generated-protocol.js +3936 -0
  236. package/dist/index.d.ts +27 -0
  237. package/dist/index.js +26 -0
  238. package/dist/json.d.ts +2 -0
  239. package/dist/json.js +20 -0
  240. package/dist/native-client.d.ts +47 -0
  241. package/dist/native-client.js +136 -0
  242. package/dist/numbers.d.ts +1 -0
  243. package/dist/numbers.js +8 -0
  244. package/dist/ownership.d.ts +18 -0
  245. package/dist/ownership.js +77 -0
  246. package/dist/permissions.d.ts +29 -0
  247. package/dist/permissions.js +68 -0
  248. package/dist/process.d.ts +22 -0
  249. package/dist/process.js +97 -0
  250. package/dist/protocol-client.d.ts +67 -0
  251. package/dist/protocol-client.js +270 -0
  252. package/dist/protocol-frames.d.ts +68 -0
  253. package/dist/protocol-frames.js +139 -0
  254. package/dist/protocol-maps.d.ts +31 -0
  255. package/dist/protocol-maps.js +273 -0
  256. package/dist/protocol-schema.d.ts +10 -0
  257. package/dist/protocol-schema.js +11 -0
  258. package/dist/request-payloads.d.ts +207 -0
  259. package/dist/request-payloads.js +357 -0
  260. package/dist/response-payloads.d.ts +268 -0
  261. package/dist/response-payloads.js +402 -0
  262. package/dist/sidecar-client.d.ts +19 -0
  263. package/dist/sidecar-client.js +1 -0
  264. package/dist/sidecar-errors.d.ts +44 -0
  265. package/dist/sidecar-errors.js +62 -0
  266. package/dist/sidecar-process.d.ts +434 -0
  267. package/dist/sidecar-process.js +1252 -0
  268. package/dist/state.d.ts +42 -0
  269. package/dist/state.js +45 -0
  270. package/dist/vm-config.d.ts +31 -0
  271. package/dist/vm-config.js +1 -0
  272. package/package.json +189 -0
@@ -0,0 +1,434 @@
1
+ import type { LiveSidecarRequestPayload, LiveSidecarResponsePayload } from "./callbacks.js";
2
+ import type { LivePackageDescriptor, 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 { LiveOwnershipScope } from "./ownership.js";
7
+ import type { LiveFsPermissionRule, LivePatternPermissionRule, LivePermissionMode, LivePermissionScope, LiveRulePermissions } from "./permissions.js";
8
+ import type { LiveEventFrame, LiveSidecarRequestFrame, LiveSidecarRequestHandler, LiveSidecarResponseFrame, ProtocolFramePayloadCodec } from "./protocol-frames.js";
9
+ import type { LiveFilesystemOperation, LiveGuestRuntimeKind, LiveWasmPermissionTier } from "./protocol-maps.js";
10
+ import type { LiveGuestDirEntry } from "./response-payloads.js";
11
+ import type { SidecarProcessTransport } from "./sidecar-client.js";
12
+ import type { LiveGuestFilesystemStat } from "./state.js";
13
+ export { SidecarEventBufferOverflow } from "./event-buffer.js";
14
+ export { SidecarProcessError, SidecarProcessExited, SidecarRequestRejected, SidecarSilenceTimeout, } from "./sidecar-errors.js";
15
+ export { SidecarProcess as Sidecar };
16
+ type OwnershipScope = LiveOwnershipScope;
17
+ type GuestRuntimeKind = Extract<LiveGuestRuntimeKind, "java_script" | "python" | "web_assembly">;
18
+ type WasmPermissionTier = LiveWasmPermissionTier;
19
+ export interface RootFilesystemEntry extends LiveRootFilesystemEntry {
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
+ startTime: number;
51
+ exitTime: number | null;
52
+ }
53
+ export interface SidecarQueueSnapshotEntry {
54
+ name: string;
55
+ category: string;
56
+ depth: number;
57
+ highWater: number;
58
+ capacity: number;
59
+ fillPercent: number;
60
+ }
61
+ export interface SidecarResourceSnapshot {
62
+ runningProcesses: number;
63
+ exitedProcesses: number;
64
+ fdTables: number;
65
+ openFds: number;
66
+ pipes: number;
67
+ pipeBufferedBytes: number;
68
+ ptys: number;
69
+ ptyBufferedInputBytes: number;
70
+ ptyBufferedOutputBytes: number;
71
+ sockets: number;
72
+ socketListeners: number;
73
+ socketConnections: number;
74
+ socketBufferedBytes: number;
75
+ socketDatagramQueueLen: number;
76
+ queueSnapshots: SidecarQueueSnapshotEntry[];
77
+ }
78
+ export interface SidecarZombieTimerCount {
79
+ count: number;
80
+ }
81
+ export interface SidecarRegisteredHostCallbackExample {
82
+ description: string;
83
+ input: unknown;
84
+ }
85
+ export interface SidecarRegisteredHostCallbackDefinition {
86
+ description: string;
87
+ inputSchema: unknown;
88
+ timeoutMs?: number;
89
+ examples?: SidecarRegisteredHostCallbackExample[];
90
+ }
91
+ export interface SidecarHostCallbackRegistration {
92
+ name: string;
93
+ description: string;
94
+ callbacks: Record<string, SidecarRegisteredHostCallbackDefinition>;
95
+ }
96
+ export interface ExtEnvelope {
97
+ namespace: string;
98
+ payload: Uint8Array;
99
+ }
100
+ export type SidecarRequestPayload = LiveSidecarRequestPayload;
101
+ export type SidecarResponsePayload = LiveSidecarResponsePayload;
102
+ type EventFrame = LiveEventFrame;
103
+ export type SidecarEventSelector = LiveSidecarEventSelector;
104
+ export type SidecarRequestFrame = LiveSidecarRequestFrame;
105
+ export type SidecarResponseFrame = LiveSidecarResponseFrame;
106
+ type NativeTransportPayloadCodec = ProtocolFramePayloadCodec;
107
+ export type SidecarRequestHandler = LiveSidecarRequestHandler;
108
+ export interface SidecarSpawnOptions {
109
+ cwd?: string;
110
+ command?: string;
111
+ args?: string[];
112
+ eventBufferCapacity?: number;
113
+ payloadCodec?: NativeTransportPayloadCodec;
114
+ /**
115
+ * Override the sidecar silence watchdog window (default 30s). Tests only —
116
+ * it is a fixed protocol constant paired with the sidecar's 10s heartbeat
117
+ * cadence, not an operator tunable.
118
+ */
119
+ silenceTimeoutMs?: number;
120
+ }
121
+ export interface ResolvedSidecarSpawnOptions {
122
+ cwd?: string;
123
+ command?: string;
124
+ args: string[];
125
+ eventBufferCapacity: number;
126
+ gracefulExitMs: number;
127
+ forceExitMs: number;
128
+ disposedErrorMessage: string;
129
+ payloadCodec: NativeTransportPayloadCodec;
130
+ silenceTimeoutMs?: number;
131
+ }
132
+ type SidecarProcessSpawnFactory = (options: ResolvedSidecarSpawnOptions) => SidecarProcessTransport;
133
+ export declare function registerSidecarProcessSpawnFactory(factory: SidecarProcessSpawnFactory): void;
134
+ export interface AuthenticatedSession {
135
+ connectionId: string;
136
+ sessionId: string;
137
+ }
138
+ export interface CreatedVm {
139
+ vmId: string;
140
+ guestCwd: string;
141
+ guestEnv: Record<string, string>;
142
+ processRouteRetention: number;
143
+ }
144
+ export interface InitializedVm extends CreatedVm {
145
+ appliedMounts: number;
146
+ projectedCommands: SidecarProjectedCommand[];
147
+ agents: SidecarProjectedAgent[];
148
+ hostCallbacks: Array<{
149
+ registration: string;
150
+ commandCount: number;
151
+ }>;
152
+ }
153
+ export interface SidecarSessionState {
154
+ sessionId: string;
155
+ agentType: string;
156
+ processId: string;
157
+ pid?: number;
158
+ closed: boolean;
159
+ modes?: unknown;
160
+ configOptions: unknown[];
161
+ agentCapabilities?: unknown;
162
+ agentInfo?: unknown;
163
+ }
164
+ export interface SidecarMountPluginDescriptor {
165
+ id: string;
166
+ config?: MountConfigJsonObject;
167
+ }
168
+ export interface SidecarMountDescriptor {
169
+ guestPath: string;
170
+ readOnly?: boolean;
171
+ plugin: SidecarMountPluginDescriptor;
172
+ }
173
+ export type SidecarPermissionMode = LivePermissionMode;
174
+ export interface SidecarFsPermissionRule extends LiveFsPermissionRule {
175
+ }
176
+ export interface SidecarPatternPermissionRule extends LivePatternPermissionRule {
177
+ }
178
+ export interface SidecarRulePermissions<TRule> extends LiveRulePermissions<TRule> {
179
+ }
180
+ export type SidecarPermissionScope<TRule> = LivePermissionScope<TRule>;
181
+ export interface SidecarPermissionsPolicy {
182
+ fs?: SidecarPermissionScope<SidecarFsPermissionRule>;
183
+ network?: SidecarPermissionScope<SidecarPatternPermissionRule>;
184
+ childProcess?: SidecarPermissionScope<SidecarPatternPermissionRule>;
185
+ process?: SidecarPermissionScope<SidecarPatternPermissionRule>;
186
+ env?: SidecarPermissionScope<SidecarPatternPermissionRule>;
187
+ binding?: SidecarPermissionScope<SidecarPatternPermissionRule>;
188
+ }
189
+ export type SidecarPackageDescriptor = LivePackageDescriptor;
190
+ export interface SidecarProjectedAgent {
191
+ id: string;
192
+ acpEntrypoint: string;
193
+ adapterEntrypoint: string;
194
+ }
195
+ export interface SidecarLinkPackageResult {
196
+ projectedCommands: SidecarProjectedCommand[];
197
+ agents: SidecarProjectedAgent[];
198
+ }
199
+ export interface SidecarProjectedCommand {
200
+ name: string;
201
+ guestPath: string;
202
+ }
203
+ export interface SidecarPackageCommands {
204
+ packageName: string;
205
+ commands: string[];
206
+ }
207
+ export type SidecarCronOverlap = "allow" | "skip" | "queue";
208
+ export interface SidecarCronAlarm {
209
+ generation: number;
210
+ nextAlarmMs?: number;
211
+ }
212
+ export interface SidecarCronJobEntry {
213
+ id: string;
214
+ schedule: string;
215
+ action: unknown;
216
+ overlap: SidecarCronOverlap;
217
+ lastRunMs?: number;
218
+ nextRunMs?: number;
219
+ runCount: number;
220
+ running: boolean;
221
+ }
222
+ export interface SidecarCronRun {
223
+ runId: string;
224
+ jobId: string;
225
+ action: unknown;
226
+ }
227
+ export interface SidecarCronEventRecord {
228
+ kind: "fire" | "complete" | "error";
229
+ jobId: string;
230
+ timeMs: number;
231
+ durationMs?: number;
232
+ error?: string;
233
+ }
234
+ export interface SidecarCronDispatch {
235
+ alarm: SidecarCronAlarm;
236
+ runs: SidecarCronRun[];
237
+ events: SidecarCronEventRecord[];
238
+ }
239
+ export interface SidecarVmConfiguredResponse {
240
+ appliedMounts: number;
241
+ projectedCommands: SidecarProjectedCommand[];
242
+ agents: SidecarProjectedAgent[];
243
+ }
244
+ export interface SidecarFilesystemResult {
245
+ operation: LiveFilesystemOperation;
246
+ status: string;
247
+ payloadSizeBytes: number;
248
+ }
249
+ export interface SidecarPersistenceState {
250
+ key: string;
251
+ found: boolean;
252
+ payloadSizeBytes: number;
253
+ }
254
+ export interface SidecarPersistenceFlushed {
255
+ key: string;
256
+ committedBytes: number;
257
+ }
258
+ export declare class SidecarProcess {
259
+ private readonly protocolClient;
260
+ private constructor();
261
+ static fromClient(protocolClient: SidecarProcessTransport): SidecarProcess;
262
+ static spawn(options?: SidecarSpawnOptions): SidecarProcess;
263
+ registerSidecarRequestHandler(ownership: OwnershipScope, handler: SidecarRequestHandler): () => void;
264
+ onEvent(handler: (event: EventFrame) => void, ownership?: OwnershipScope): () => void;
265
+ authenticateAndOpenSession(): Promise<AuthenticatedSession>;
266
+ createVm(session: AuthenticatedSession, options: {
267
+ runtime: GuestRuntimeKind;
268
+ config: CreateVmConfig;
269
+ }): Promise<CreatedVm>;
270
+ closeSession(session: AuthenticatedSession): Promise<void>;
271
+ /**
272
+ * Atomically create and configure a VM. Omitted optional fields retain the
273
+ * sidecar's defaults; partial initialization is rolled back by the sidecar.
274
+ */
275
+ initializeVm(session: AuthenticatedSession, options: {
276
+ runtime: GuestRuntimeKind;
277
+ config: CreateVmConfig;
278
+ mounts?: SidecarMountDescriptor[];
279
+ packages?: SidecarPackageDescriptor[];
280
+ packagesMountAt?: string;
281
+ hostCallbacks?: SidecarHostCallbackRegistration[];
282
+ }): Promise<InitializedVm>;
283
+ extensionRequest(session: AuthenticatedSession, vm: CreatedVm, envelope: ExtEnvelope, options?: {
284
+ onResponse?: (envelope: ExtEnvelope) => void;
285
+ }): Promise<ExtEnvelope>;
286
+ configureVm(session: AuthenticatedSession, vm: CreatedVm, options: {
287
+ mounts?: SidecarMountDescriptor[];
288
+ permissions?: SidecarPermissionsPolicy;
289
+ commandPermissions?: Record<string, WasmPermissionTier>;
290
+ loopbackExemptPorts?: number[];
291
+ packages?: SidecarPackageDescriptor[];
292
+ packagesMountAt?: string;
293
+ }): Promise<SidecarVmConfiguredResponse>;
294
+ /**
295
+ * Runtime dynamic `linkSoftware`: project one package into the live
296
+ * `/opt/agentos` tree. Returns projected command entrypoints and agents.
297
+ */
298
+ linkPackage(session: AuthenticatedSession, vm: CreatedVm, descriptor: SidecarPackageDescriptor): Promise<SidecarLinkPackageResult>;
299
+ providedCommands(session: AuthenticatedSession, vm: CreatedVm): Promise<SidecarPackageCommands[]>;
300
+ scheduleCron(session: AuthenticatedSession, vm: CreatedVm, options: {
301
+ id?: string;
302
+ schedule: string;
303
+ action: unknown;
304
+ overlap?: SidecarCronOverlap;
305
+ }): Promise<{
306
+ id: string;
307
+ alarm: SidecarCronAlarm;
308
+ }>;
309
+ listCronJobs(session: AuthenticatedSession, vm: CreatedVm): Promise<{
310
+ jobs: SidecarCronJobEntry[];
311
+ alarm: SidecarCronAlarm;
312
+ }>;
313
+ cancelCronJob(session: AuthenticatedSession, vm: CreatedVm, id: string): Promise<{
314
+ id: string;
315
+ cancelled: boolean;
316
+ alarm: SidecarCronAlarm;
317
+ }>;
318
+ wakeCron(session: AuthenticatedSession, vm: CreatedVm, generation: number): Promise<SidecarCronDispatch>;
319
+ completeCronRun(session: AuthenticatedSession, vm: CreatedVm, runId: string, error?: string): Promise<SidecarCronDispatch>;
320
+ /** Store this value verbatim; its contents are owned by the sidecar. */
321
+ exportCronState(session: AuthenticatedSession, vm: CreatedVm): Promise<string>;
322
+ importCronState(session: AuthenticatedSession, vm: CreatedVm, state: string): Promise<SidecarCronDispatch>;
323
+ registerHostCallbacks(session: AuthenticatedSession, vm: CreatedVm, registration: SidecarHostCallbackRegistration): Promise<{
324
+ registration: string;
325
+ commandCount: number;
326
+ }>;
327
+ createLayer(session: AuthenticatedSession, vm: CreatedVm): Promise<string>;
328
+ sealLayer(session: AuthenticatedSession, vm: CreatedVm, layerId: string): Promise<string>;
329
+ importSnapshot(session: AuthenticatedSession, vm: CreatedVm, entries: RootFilesystemEntry[]): Promise<string>;
330
+ exportSnapshot(session: AuthenticatedSession, vm: CreatedVm, layerId: string): Promise<RootFilesystemEntry[]>;
331
+ createOverlay(session: AuthenticatedSession, vm: CreatedVm, options: {
332
+ mode?: "ephemeral" | "read_only";
333
+ upperLayerId?: string;
334
+ lowerLayerIds: string[];
335
+ }): Promise<string>;
336
+ bootstrapRootFilesystem(session: AuthenticatedSession, vm: CreatedVm, entries: RootFilesystemEntry[]): Promise<void>;
337
+ snapshotRootFilesystem(session: AuthenticatedSession, vm: CreatedVm): Promise<RootFilesystemEntry[]>;
338
+ readFile(session: AuthenticatedSession, vm: CreatedVm, path: string): Promise<Uint8Array>;
339
+ pread(session: AuthenticatedSession, vm: CreatedVm, path: string, offset: number, length: number): Promise<Uint8Array>;
340
+ pwrite(session: AuthenticatedSession, vm: CreatedVm, path: string, offset: number, data: Uint8Array): Promise<void>;
341
+ writeFile(session: AuthenticatedSession, vm: CreatedVm, path: string, content: string | Uint8Array): Promise<void>;
342
+ mkdir(session: AuthenticatedSession, vm: CreatedVm, path: string, options?: {
343
+ recursive?: boolean;
344
+ }): Promise<void>;
345
+ readdir(session: AuthenticatedSession, vm: CreatedVm, path: string): Promise<string[]>;
346
+ readdirRecursive(session: AuthenticatedSession, vm: CreatedVm, path: string, options?: {
347
+ maxDepth?: number;
348
+ }): Promise<LiveGuestDirEntry[]>;
349
+ exists(session: AuthenticatedSession, vm: CreatedVm, path: string): Promise<boolean>;
350
+ stat(session: AuthenticatedSession, vm: CreatedVm, path: string, options?: {
351
+ dereference?: boolean;
352
+ }): Promise<GuestFilesystemStat>;
353
+ lstat(session: AuthenticatedSession, vm: CreatedVm, path: string): Promise<GuestFilesystemStat>;
354
+ rename(session: AuthenticatedSession, vm: CreatedVm, fromPath: string, toPath: string): Promise<void>;
355
+ realpath(session: AuthenticatedSession, vm: CreatedVm, path: string): Promise<string>;
356
+ removeFile(session: AuthenticatedSession, vm: CreatedVm, path: string): Promise<void>;
357
+ removeDir(session: AuthenticatedSession, vm: CreatedVm, path: string): Promise<void>;
358
+ removePath(session: AuthenticatedSession, vm: CreatedVm, path: string, options?: {
359
+ recursive?: boolean;
360
+ }): Promise<void>;
361
+ copyPath(session: AuthenticatedSession, vm: CreatedVm, fromPath: string, toPath: string, options?: {
362
+ recursive?: boolean;
363
+ }): Promise<void>;
364
+ movePath(session: AuthenticatedSession, vm: CreatedVm, fromPath: string, toPath: string): Promise<void>;
365
+ symlink(session: AuthenticatedSession, vm: CreatedVm, target: string, linkPath: string): Promise<void>;
366
+ readLink(session: AuthenticatedSession, vm: CreatedVm, path: string): Promise<string>;
367
+ link(session: AuthenticatedSession, vm: CreatedVm, fromPath: string, toPath: string): Promise<void>;
368
+ chmod(session: AuthenticatedSession, vm: CreatedVm, path: string, mode: number): Promise<void>;
369
+ chown(session: AuthenticatedSession, vm: CreatedVm, path: string, uid: number, gid: number): Promise<void>;
370
+ utimes(session: AuthenticatedSession, vm: CreatedVm, path: string, atimeMs: number, mtimeMs: number): Promise<void>;
371
+ truncate(session: AuthenticatedSession, vm: CreatedVm, path: string, length: number): Promise<void>;
372
+ disposeVm(session: AuthenticatedSession, vm: CreatedVm): Promise<void>;
373
+ execute(session: AuthenticatedSession, vm: CreatedVm, options: {
374
+ processId?: string;
375
+ command?: string;
376
+ shellCommand?: string;
377
+ runtime?: GuestRuntimeKind;
378
+ entrypoint?: string;
379
+ args?: string[];
380
+ env?: Record<string, string>;
381
+ cwd?: string;
382
+ wasmPermissionTier?: WasmPermissionTier;
383
+ pty?: {
384
+ cols?: number;
385
+ rows?: number;
386
+ };
387
+ keepStdinOpen?: boolean;
388
+ timeoutMs?: number;
389
+ captureOutput?: boolean;
390
+ }): Promise<{
391
+ processId: string;
392
+ pid: number | null;
393
+ }>;
394
+ writeStdin(session: AuthenticatedSession, vm: CreatedVm, processId: string, chunk: string | Uint8Array): Promise<void>;
395
+ resizePty(session: AuthenticatedSession, vm: CreatedVm, processId: string, cols: number, rows: number): Promise<void>;
396
+ closeStdin(session: AuthenticatedSession, vm: CreatedVm, processId: string): Promise<void>;
397
+ killProcess(session: AuthenticatedSession, vm: CreatedVm, processId: string, signal?: string): Promise<void>;
398
+ findListener(session: AuthenticatedSession, vm: CreatedVm, request: {
399
+ host?: string;
400
+ port?: number;
401
+ path?: string;
402
+ }): Promise<SidecarSocketStateEntry | null>;
403
+ getProcessSnapshot(session: AuthenticatedSession, vm: CreatedVm): Promise<SidecarProcessSnapshotEntry[]>;
404
+ getResourceSnapshot(session: AuthenticatedSession, vm: CreatedVm): Promise<SidecarResourceSnapshot>;
405
+ findBoundUdp(session: AuthenticatedSession, vm: CreatedVm, request: {
406
+ host?: string;
407
+ port?: number;
408
+ }): Promise<SidecarSocketStateEntry | null>;
409
+ vmFetch(session: AuthenticatedSession, vm: CreatedVm, request: {
410
+ port: number;
411
+ method: string;
412
+ path: string;
413
+ headersJson: string;
414
+ body?: string;
415
+ }): Promise<string>;
416
+ getSignalState(session: AuthenticatedSession, vm: CreatedVm, processId: string): Promise<SidecarSignalState>;
417
+ getZombieTimerCount(session: AuthenticatedSession, vm: CreatedVm): Promise<SidecarZombieTimerCount>;
418
+ hostFilesystemCall(session: AuthenticatedSession, vm: CreatedVm, request: {
419
+ operation: LiveFilesystemOperation;
420
+ path: string;
421
+ payloadSizeBytes: number;
422
+ }): Promise<SidecarFilesystemResult>;
423
+ persistenceLoad(session: AuthenticatedSession, key: string): Promise<SidecarPersistenceState>;
424
+ persistenceFlush(session: AuthenticatedSession, request: {
425
+ key: string;
426
+ payloadSizeBytes: number;
427
+ }): Promise<SidecarPersistenceFlushed>;
428
+ waitForEvent(matcher: SidecarEventSelector | ((event: EventFrame) => boolean), timeoutMs?: number, options?: {
429
+ signal?: AbortSignal;
430
+ }): Promise<EventFrame>;
431
+ dispose(): Promise<void>;
432
+ private sendRequest;
433
+ private guestFilesystemCall;
434
+ }