@stim-cli/server 1.14.0 → 1.16.0

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 (52) hide show
  1. package/README.md +1773 -92
  2. package/dist/protocol-BHSl7bQ_.mjs +2772 -0
  3. package/dist/protocol.d.mts +2 -496
  4. package/dist/protocol.mjs +3 -2
  5. package/dist/protocol.schema.json +5388 -684
  6. package/dist/scrcpy/LICENSE +204 -0
  7. package/dist/scrcpy/NOTICE +22 -0
  8. package/dist/scrcpy/scrcpy-server +0 -0
  9. package/dist/stats-read.d.mts +1 -0
  10. package/dist/stats-read.mjs +46 -0
  11. package/dist/stim-frames/AndroidDeviceStream.swift +284 -0
  12. package/dist/stim-frames/DevToolsClient.swift +180 -0
  13. package/dist/stim-frames/DeviceFrameGeometry.swift +41 -0
  14. package/dist/stim-frames/DeviceFrameView.swift +167 -0
  15. package/dist/stim-frames/DuoCaptureSource.swift +132 -0
  16. package/dist/stim-frames/DuoDeviceProfile.swift +37 -0
  17. package/dist/stim-frames/DuoFrameRenderer.swift +111 -0
  18. package/dist/stim-frames/DuoHingeMonitor.swift +89 -0
  19. package/dist/stim-frames/DuoMesh.swift +100 -0
  20. package/dist/stim-frames/DuoModelView.swift +275 -0
  21. package/dist/stim-frames/DuoPoseClip.swift +140 -0
  22. package/dist/stim-frames/DuoScreenHitMesh.swift +200 -0
  23. package/dist/stim-frames/EmulatorFrameArtwork.swift +113 -0
  24. package/dist/stim-frames/EmulatorInput.swift +13 -2
  25. package/dist/stim-frames/EmulatorPosture.swift +2 -2
  26. package/dist/stim-frames/FrameArtwork.swift +37 -0
  27. package/dist/stim-frames/H264Decoder.swift +109 -0
  28. package/dist/stim-frames/InputMessages.swift +27 -6
  29. package/dist/stim-frames/KeyboardLayoutMap.swift +70 -0
  30. package/dist/stim-frames/MacosSource.swift +677 -0
  31. package/dist/stim-frames/OwnedAppWindowReader.swift +87 -0
  32. package/dist/stim-frames/OwnedAppWindows.swift +108 -0
  33. package/dist/stim-frames/PhoneSource.swift +315 -0
  34. package/dist/stim-frames/ProcessStream.swift +155 -0
  35. package/dist/stim-frames/ScrcpyProtocol.swift +167 -0
  36. package/dist/stim-frames/SimulatorDevelopmentOptions.swift +81 -0
  37. package/dist/stim-frames/SimulatorFrameArtwork.swift +118 -0
  38. package/dist/stim-frames/SimulatorHID.swift +70 -29
  39. package/dist/stim-frames/SimulatorHingeAngle.swift +56 -0
  40. package/dist/stim-frames/SimulatorPosture.swift +277 -0
  41. package/dist/stim-frames/SimulatorRotation.swift +28 -8
  42. package/dist/stim-frames/Siniulator-LICENSE.txt +21 -0
  43. package/dist/stim-frames/StoragePaths.swift +42 -0
  44. package/dist/stim-frames/VideoEncoder.swift +8 -6
  45. package/dist/stim-frames/WebPage.swift +301 -0
  46. package/dist/stim-frames/main.swift +651 -22
  47. package/dist/stim-host/Info.plist +28 -0
  48. package/dist/stim-host/stim-host.c +153 -0
  49. package/dist/stim-server-CvqlgkBK.mjs +14887 -0
  50. package/dist/stim-server.mjs +6 -4421
  51. package/package.json +3 -3
  52. package/dist/protocol-IroIg8Td.mjs +0 -865
@@ -1,501 +1,7 @@
1
- import { BuildPlanPayload, NdjsonRecord, StatusPayload } from "@stim-cli/core/state";
1
+ export * from "@stim-cli/core/protocol";
2
2
  //#region src/protocol.d.ts
3
- declare const PROTOCOL_VERSION = 1;
4
- declare const PROTOCOL_SCHEMA_FILE = "protocol.schema.json";
5
- /** `read` serves state. `control` also runs {@link ACTIONS}; only the Mac grants it. */
6
- declare const CAPABILITIES: readonly ["read", "control"];
7
- type Capability = (typeof CAPABILITIES)[number];
8
- declare const METHODS: readonly ["hello", "status.subscribe", "logs.query", "logs.subscribe", "stats.get", "settings.get", "frames.subscribe", "frames.keyframe", "build.plan", "machine.get", "machine.history", "unsubscribe", "action", "control.begin", "control.end", "input.touch", "input.text", "input.button", "input.rotate", "input.posture", "push.register", "push.unregister"];
9
- type Method = (typeof METHODS)[number];
10
- declare const PUSH_TOKEN_PATTERN = "^(Expo|Exponent)PushToken\\[[^\\]\\s]{1,256}\\]$";
11
- /**
12
- * `unauthorized`, `pairing-expired` and `protocol-unsupported` refuse the client until it pairs again or
13
- * updates; clients retry the others.
14
- */
15
- declare const ERROR_CODES: readonly ["unauthorized", "pairing-expired", "protocol-unsupported", "identity-unavailable", "bad-request", "unknown-method", "already-authenticated", "unknown-subscription", "unknown-workspace", "limit-exceeded", "slow-client", "status-failed", "logs-failed", "stim-failed", "frames-failed", "forbidden", "unknown-action", "action-busy", "action-failed", "device-busy", "unknown-session"];
16
- type ErrorCode = (typeof ERROR_CODES)[number];
17
- type RequestId = number | string;
18
- /** Spends a single-use pairing token; the result carries the new device token. */
19
- interface PairingAuth {
20
- pairingToken: string;
21
- deviceName: string;
22
- }
23
- /** Presents the device token a previous pairing returned. */
24
- interface DeviceAuth {
25
- deviceToken: string;
26
- }
27
- interface HelloParams {
28
- protocol: number;
29
- client: {
30
- name: string;
31
- version: string;
32
- };
33
- auth: PairingAuth | DeviceAuth;
34
- }
35
- interface HelloResult {
36
- protocol: number;
37
- /**
38
- * The Mac's name, this package's version, the version of the `stim` it runs, and the home directory of the
39
- * user it runs as, so clients can show paths under it as `~/...`.
40
- */
41
- server: {
42
- name: string;
43
- version: string;
44
- stim: string;
45
- home: string;
46
- };
47
- capabilities: Capability[];
48
- /** The actions this device may run: every one of {@link ACTIONS} with `control`, none without. */
49
- actions: ActionName[];
50
- /** The paired device this connection authenticated as, as `stim-server devices` lists it. */
51
- device: {
52
- id: string;
53
- name: string;
54
- };
55
- /** Present only when the hello spent a pairing token. The server keeps only its hash. */
56
- deviceToken?: string;
57
- }
58
- interface SubscribeResult {
59
- subscription: string;
60
- }
61
- interface UnsubscribeParams {
62
- subscription: string;
63
- }
64
- declare const LOG_SOURCES: readonly ["metro", "client", "device", "build", "agent"];
65
- type LogSource = (typeof LOG_SOURCES)[number];
66
- declare const LOG_LEVELS: readonly ["debug", "info", "warn", "error", "fatal"];
67
- type LogLevel = (typeof LOG_LEVELS)[number];
68
- declare const MAX_LOG_TAIL = 5e3;
69
- /**
70
- * The Stim Desktop log viewer's filters, passed to `stim logs`. `workspace` is an environment `path` from a
71
- * status payload. Without `sources`, `errors` keeps the CLI's default error scope. `tail` defaults to
72
- * {@link MAX_LOG_TAIL}, which is also its maximum.
73
- */
74
- interface LogFilter {
75
- workspace: string;
76
- sources?: LogSource[];
77
- level?: LogLevel;
78
- slot?: string;
79
- grep?: string;
80
- errors?: boolean;
81
- tail?: number;
82
- }
83
- /** One record as `stim logs --json` prints it. */
84
- type LogRecord = NdjsonRecord;
85
- interface LogsQueryResult {
86
- records: LogRecord[];
87
- }
88
- /** Without `workspace`, stats and settings cover the machine only. */
89
- interface WorkspaceParams {
90
- workspace?: string;
91
- }
92
- /** `stim stats --json`. */
93
- type StatsResult = Record<string, unknown>;
94
- /** `stim settings --json`; the CLI masks sensitive values. */
95
- type SettingsResult = Record<string, unknown>;
96
- type Platform = "ios" | "android";
97
- /** `reload` also reaches the workspace's Stim-owned Chrome page. */
98
- declare const RELOAD_PLATFORMS: readonly ["ios", "android", "web"];
99
- type ReloadPlatform = (typeof RELOAD_PLATFORMS)[number];
100
- declare const FRAME_FPS: {
101
- readonly default: 5;
102
- readonly max: 30;
103
- readonly video: 60;
104
- };
105
- declare const FRAME_EDGE: {
106
- readonly min: 240;
107
- readonly default: 1280;
108
- readonly max: 2048;
109
- };
110
- /**
111
- * A device `stim status` lists as owned by `workspace`, in `slot` (`default` when absent). Frames come only
112
- * from a booted simulator or a running emulator Stim created. `fps` caps how many frames a second this
113
- * subscription gets, and `maxEdge` asks for frames scaled to fit that many pixels; the server may send smaller
114
- * frames, and larger ones while another subscriber of the same device asks for more.
115
- */
116
- interface FrameTarget {
117
- workspace: string;
118
- platform: Platform;
119
- slot?: string;
120
- fps?: number;
121
- maxEdge?: number;
122
- /** The codecs this client decodes. The server picks one when it can encode video; see {@link FramesSubscribeResult}. */
123
- video?: VideoCodec[];
124
- }
125
- declare const VIDEO_CODECS: readonly ["h264"];
126
- type VideoCodec = (typeof VIDEO_CODECS)[number];
127
- /**
128
- * With `video`, frames arrive as binary WebSocket messages, one H.264 access unit each; see {@link VideoPacket}.
129
- * A subscription whose device falls back to screenshots still sends JSON `frame` events.
130
- */
131
- interface FramesSubscribeResult extends SubscribeResult {
132
- video?: VideoCodec;
133
- }
134
- /** Asks for a keyframe on a video subscription, after the client lost its decoder state. */
135
- interface KeyframeParams {
136
- subscription: string;
137
- }
138
- declare const VIDEO_HEADER_VERSION = 1;
139
- /** The keyframe bit of a {@link VideoPacket}'s flags. */
140
- declare const VIDEO_KEYFRAME = 1;
141
- /** The flag bits of a {@link VideoPacket} that carry an iPhone Duo's posture, as `posture` on a `frame` event. */
142
- declare const VIDEO_FOLDED = 2;
143
- declare const VIDEO_UNFOLDED = 4;
144
- /**
145
- * The layout of a binary video message, big-endian: u8 version ({@link VIDEO_HEADER_VERSION}), u8 flags
146
- * ({@link VIDEO_KEYFRAME}, and on an iPhone Duo {@link VIDEO_FOLDED} or {@link VIDEO_UNFOLDED}), u16 header length, u32 sequence number of the messages sent on this subscription, f64 capture time in milliseconds since the
147
- * epoch on the Mac's clock, u16 width, u16 height, u8 subscription id length N, N bytes of ASCII subscription
148
- * id. After the header comes one Annex-B H.264 access unit; a keyframe carries its SPS and PPS. The stream has
149
- * no B-frames, so each access unit is shown as it arrives.
150
- */
151
- interface VideoPacket {
152
- subscription: string;
153
- keyframe: boolean;
154
- sequence: number;
155
- capturedAt: number;
156
- width: number;
157
- height: number;
158
- posture?: "folded" | "unfolded";
159
- accessUnit: Uint8Array;
160
- }
161
- /** Each action runs one fixed `stim` command in the workspace. */
162
- declare const ACTIONS: readonly ["reload", "stop"];
163
- type ActionName = (typeof ACTIONS)[number];
164
- /**
165
- * `reload` runs `stim reload --json`, with `platform` when more than one platform is live; `stop` runs
166
- * `stim stop --json`. `workspace` is an environment `path` from a status payload. Needs `control`.
167
- */
168
- type ActionParams = {
169
- action: "reload";
170
- workspace: string;
171
- platform?: ReloadPlatform;
172
- } | {
173
- action: "stop";
174
- workspace: string;
175
- };
176
- /** `output` is the JSON the command printed. */
177
- interface ActionResult {
178
- action: ActionName;
179
- workspace: string;
180
- output: Record<string, unknown>;
181
- }
182
- /**
183
- * Starts a control session on the device `stim status` lists as owned by `workspace` in `slot`. Needs
184
- * `control`. Refused with `device-busy` while an agent, a device lock or another client drives the device,
185
- * unless `takeOver` is true.
186
- */
187
- interface ControlBeginParams {
188
- workspace: string;
189
- platform: Platform;
190
- slot?: string;
191
- takeOver?: boolean;
192
- }
193
- /**
194
- * `lease` is the `stim device lock` lease the server holds for the session, or null when it holds none, such
195
- * as after taking over a device another workspace leases. `postures` lists what `input.posture` accepts for
196
- * the device: `folded` and `unfolded` for an iPhone Duo, all three for an emulator with a hinge, and none
197
- * otherwise.
198
- */
199
- interface ControlBeginResult {
200
- session: string;
201
- platform: Platform;
202
- lease: {
203
- grantedAt: string | null;
204
- expiresAt: string;
205
- } | null;
206
- postures: DevicePosture[];
207
- }
208
- interface ControlEndParams {
209
- session: string;
210
- }
211
- declare const TOUCH_PHASES: readonly ["down", "move", "up"];
212
- type TouchPhase = (typeof TOUCH_PHASES)[number];
213
- /** `x` and `y` are fractions of the upright screen, origin top-left. `display` is 0 for the main display. */
214
- interface InputTouchParams {
215
- session: string;
216
- phase: TouchPhase;
217
- x: number;
218
- y: number;
219
- display?: number;
220
- }
221
- declare const MAX_INPUT_TEXT = 256;
222
- /** Printable ASCII, where `\n` presses Return, `\t` Tab and `\b` Delete. */
223
- interface InputTextParams {
224
- session: string;
225
- text: string;
226
- }
227
- /** `home` and `lock` on both platforms; `back` and `app-switch` on Android only. */
228
- declare const INPUT_BUTTONS: readonly ["home", "lock", "back", "app-switch"];
229
- type InputButton = (typeof INPUT_BUTTONS)[number];
230
- interface InputButtonParams {
231
- session: string;
232
- button: InputButton;
233
- }
234
- /** `left` turns the device a quarter turn counterclockwise, `right` clockwise. */
235
- declare const ROTATE_DIRECTIONS: readonly ["left", "right"];
236
- type RotateDirection = (typeof ROTATE_DIRECTIONS)[number];
237
- interface InputRotateParams {
238
- session: string;
239
- direction: RotateDirection;
240
- }
241
- declare const DEVICE_POSTURES: readonly ["folded", "half-open", "unfolded"];
242
- type DevicePosture = (typeof DEVICE_POSTURES)[number];
243
- /** Moves the hinge of a device whose `control.begin` result lists `posture`. */
244
- interface InputPostureParams {
245
- session: string;
246
- posture: DevicePosture;
247
- }
248
- /** Predicts the next `ios` or `android` build of `workspace` in `slot` (`default` when absent). */
249
- interface BuildPlanParams {
250
- workspace: string;
251
- platform: Platform;
252
- slot?: string;
253
- }
254
- /** `stim ios|android --plan --json`. It builds, boots and installs nothing, and writes no Stim state. */
255
- type BuildPlanResult = BuildPlanPayload;
256
- type MemoryPressure = "normal" | "warning" | "critical";
257
- /** A volume that holds Stim workspaces, Stim home, or the simulators. */
258
- interface MachineVolume {
259
- /** `/`, or `/Volumes/<name>` for an external volume. */
260
- mount: string;
261
- /** What Stim keeps there: `Workspaces`, `Stim home`, `Simulators`. */
262
- holds: string[];
263
- /** Free space without purgeable space, which is what Stim's disk budget measures. */
264
- freeBytes: number;
265
- totalBytes: number;
266
- }
267
- /** Cheap machine usage, read in the server process without running `stim`. */
268
- interface MachineUsage {
269
- volumes: MachineVolume[];
270
- /**
271
- * `usedBytes` is the Mac's memory in use, as Activity Monitor's "Memory Used" counts it: app memory, wired and
272
- * compressed. `pressure` is the macOS memory pressure level. Both are null on other systems or when they cannot
273
- * be read.
274
- */
275
- memory: {
276
- totalBytes: number;
277
- usedBytes: number | null;
278
- pressure: MemoryPressure | null;
279
- };
280
- load: {
281
- avg1: number;
282
- avg5: number;
283
- avg15: number;
284
- cpus: number;
285
- };
286
- /**
287
- * `usage` is the Mac's overall CPU busy fraction (0..1), from the tick delta between this call and the
288
- * previous one. Null on the first call of a server process, since there is no previous sample yet.
289
- */
290
- cpu: {
291
- usage: number | null;
292
- cores: number;
293
- };
294
- sampledAt: string;
295
- }
296
- /**
297
- * One `machine.history` sample. `at` is epoch milliseconds. `cpu` is the busy fraction (0..1) since the previous
298
- * sample. `memoryPressure` is 0 (normal), 1 (warning) or 2 (critical). `diskFreeBytes` is the free space of the
299
- * startup volume, `/`. A field is null when it could not be read.
300
- */
301
- interface UsageSample {
302
- at: number;
303
- cpu: number | null;
304
- memoryUsedBytes: number | null;
305
- memoryPressure: 0 | 1 | 2 | null;
306
- diskFreeBytes: number | null;
307
- }
308
- /** Returns only the samples taken after `sinceMs`, epoch milliseconds. */
309
- interface MachineHistoryParams {
310
- sinceMs?: number;
311
- }
312
- interface MachineHistory {
313
- intervalMs: number;
314
- samples: UsageSample[];
315
- }
316
- /** The attention events stim-server can push, named like the phone's notification settings. */
317
- declare const PUSH_EVENTS: readonly ["build-failed", "log-errors", "disk", "app-stopped", "slow-build"];
318
- type PushEvent = (typeof PUSH_EVENTS)[number];
319
- /**
320
- * Asks the server to push this device's attention notifications through the Expo push service to `token`, an
321
- * Expo push token, for at least one event. Registering again replaces the previous registration. `ref` is echoed as `data.ref` in every
322
- * push, so the phone can tell which Mac sent it.
323
- */
324
- interface PushRegisterParams {
325
- token: string;
326
- events: PushEvent[];
327
- agentOnly?: boolean;
328
- ref: string;
329
- }
330
- interface Methods {
331
- hello: {
332
- params: HelloParams;
333
- result: HelloResult;
334
- };
335
- "status.subscribe": {
336
- params?: Record<string, never>;
337
- result: SubscribeResult;
338
- };
339
- "logs.query": {
340
- params: LogFilter;
341
- result: LogsQueryResult;
342
- };
343
- "logs.subscribe": {
344
- params: LogFilter;
345
- result: SubscribeResult;
346
- };
347
- "stats.get": {
348
- params?: WorkspaceParams;
349
- result: StatsResult;
350
- };
351
- "settings.get": {
352
- params?: WorkspaceParams;
353
- result: SettingsResult;
354
- };
355
- "frames.subscribe": {
356
- params: FrameTarget;
357
- result: FramesSubscribeResult;
358
- };
359
- "frames.keyframe": {
360
- params: KeyframeParams;
361
- result: Record<string, never>;
362
- };
363
- "build.plan": {
364
- params: BuildPlanParams;
365
- result: BuildPlanResult;
366
- };
367
- "machine.get": {
368
- params?: Record<string, never>;
369
- result: MachineUsage;
370
- };
371
- "machine.history": {
372
- params?: MachineHistoryParams;
373
- result: MachineHistory;
374
- };
375
- unsubscribe: {
376
- params: UnsubscribeParams;
377
- result: Record<string, never>;
378
- };
379
- action: {
380
- params: ActionParams;
381
- result: ActionResult;
382
- };
383
- "control.begin": {
384
- params: ControlBeginParams;
385
- result: ControlBeginResult;
386
- };
387
- "control.end": {
388
- params: ControlEndParams;
389
- result: Record<string, never>;
390
- };
391
- "input.touch": {
392
- params: InputTouchParams;
393
- result: Record<string, never>;
394
- };
395
- "input.text": {
396
- params: InputTextParams;
397
- result: Record<string, never>;
398
- };
399
- "input.button": {
400
- params: InputButtonParams;
401
- result: Record<string, never>;
402
- };
403
- "input.rotate": {
404
- params: InputRotateParams;
405
- result: Record<string, never>;
406
- };
407
- "input.posture": {
408
- params: InputPostureParams;
409
- result: Record<string, never>;
410
- };
411
- "push.register": {
412
- params: PushRegisterParams;
413
- result: Record<string, never>;
414
- };
415
- "push.unregister": {
416
- params?: Record<string, never>;
417
- result: Record<string, never>;
418
- };
419
- }
420
- type ClientRequest = { [M in Method]: {
421
- id: RequestId;
422
- method: M;
423
- } & Pick<Methods[M], "params">; }[Method];
424
- interface ProtocolError {
425
- code: ErrorCode;
426
- message: string;
427
- }
428
- type ServerResponse = {
429
- id: RequestId;
430
- result: Methods[Method]["result"];
431
- } | {
432
- id: RequestId | null;
433
- error: ProtocolError;
434
- };
435
- /** A full status payload, as `stim status --watch --json` prints it. */
436
- interface StatusEvent {
437
- event: "status";
438
- subscription: string;
439
- payload: StatusPayload;
440
- }
441
- /**
442
- * Records for a `logs.subscribe` subscription: first the last `tail` matching records, then new ones as
443
- * they arrive.
444
- */
445
- interface LogsEvent {
446
- event: "logs";
447
- subscription: string;
448
- records: LogRecord[];
449
- }
450
- /** A subscription ended because its source failed or the client fell behind; the client may resubscribe. */
451
- interface ErrorEvent {
452
- event: "error";
453
- subscription: string;
454
- error: ProtocolError;
455
- }
456
- /** A frame of the device's screen, sent when the screen changed, at most `fps` times a second. */
457
- interface FrameEvent {
458
- event: "frame";
459
- subscription: string;
460
- platform: Platform;
461
- slot: string;
462
- mime: "image/jpeg";
463
- width: number;
464
- height: number;
465
- capturedAt: string;
466
- /** Base64-encoded image bytes. */
467
- data: string;
468
- /**
469
- * An iPhone Duo's or Android foldable emulator's posture. A Duo reports the panel it lit: the cover when
470
- * folded, the inner panel when unfolded. An emulator with a hinge reports `folded` while it shows only its
471
- * outer display, and `unfolded` otherwise, including half open.
472
- */
473
- posture?: "folded" | "unfolded";
474
- }
475
- /**
476
- * Captures for a `frames.subscribe` subscription are slow or a timed-out capture is being retried; the
477
- * client keeps showing its last frame. Followed by `delayed: false` once captures recover.
478
- */
479
- interface FrameDelayedEvent {
480
- event: "frame-delayed";
481
- subscription: string;
482
- delayed: boolean;
483
- }
484
- declare const CONTROL_END_REASONS: readonly ["idle", "taken-over", "device-gone", "forbidden", "failed"];
485
- /**
486
- * The server ended a control session: no input for 5 minutes, another client took the device over, the device
487
- * stopped or changed owner, the device lost `control`, or input could not reach the device.
488
- */
489
- interface ControlEndedEvent {
490
- event: "control-ended";
491
- session: string;
492
- reason: (typeof CONTROL_END_REASONS)[number];
493
- message: string;
494
- }
495
- type ServerEvent = StatusEvent | LogsEvent | FrameEvent | FrameDelayedEvent | ErrorEvent | ControlEndedEvent;
496
- type ServerMessage = ServerResponse | ServerEvent;
497
3
  type JsonSchema = Record<string, unknown>;
498
4
  /** The JSON Schema of every message on the wire, written to `dist/protocol.schema.json` at build time. */
499
5
  declare function protocolJsonSchema(): JsonSchema;
500
6
  //#endregion
501
- export { ACTIONS, ActionName, ActionParams, ActionResult, BuildPlanParams, BuildPlanResult, CAPABILITIES, CONTROL_END_REASONS, Capability, ClientRequest, ControlBeginParams, ControlBeginResult, ControlEndParams, ControlEndedEvent, DEVICE_POSTURES, DeviceAuth, DevicePosture, ERROR_CODES, ErrorCode, ErrorEvent, FRAME_EDGE, FRAME_FPS, FrameDelayedEvent, FrameEvent, FrameTarget, FramesSubscribeResult, HelloParams, HelloResult, INPUT_BUTTONS, InputButton, InputButtonParams, InputPostureParams, InputRotateParams, InputTextParams, InputTouchParams, KeyframeParams, LOG_LEVELS, LOG_SOURCES, LogFilter, LogLevel, LogRecord, LogSource, LogsEvent, LogsQueryResult, MAX_INPUT_TEXT, MAX_LOG_TAIL, METHODS, MachineHistory, MachineHistoryParams, MachineUsage, MachineVolume, MemoryPressure, Method, Methods, PROTOCOL_SCHEMA_FILE, PROTOCOL_VERSION, PUSH_EVENTS, PUSH_TOKEN_PATTERN, PairingAuth, Platform, ProtocolError, PushEvent, PushRegisterParams, RELOAD_PLATFORMS, ROTATE_DIRECTIONS, ReloadPlatform, RequestId, RotateDirection, ServerEvent, ServerMessage, ServerResponse, SettingsResult, StatsResult, StatusEvent, SubscribeResult, TOUCH_PHASES, TouchPhase, UnsubscribeParams, UsageSample, VIDEO_CODECS, VIDEO_FOLDED, VIDEO_HEADER_VERSION, VIDEO_KEYFRAME, VIDEO_UNFOLDED, VideoCodec, VideoPacket, WorkspaceParams, protocolJsonSchema };
7
+ export { protocolJsonSchema };
package/dist/protocol.mjs CHANGED
@@ -1,2 +1,3 @@
1
- import { C as VIDEO_HEADER_VERSION, E as protocolJsonSchema, S as VIDEO_FOLDED, T as VIDEO_UNFOLDED, _ as PUSH_TOKEN_PATTERN, a as ERROR_CODES, b as TOUCH_PHASES, c as INPUT_BUTTONS, d as MAX_INPUT_TEXT, f as MAX_LOG_TAIL, g as PUSH_EVENTS, h as PROTOCOL_VERSION, i as DEVICE_POSTURES, l as LOG_LEVELS, m as PROTOCOL_SCHEMA_FILE, n as CAPABILITIES, o as FRAME_EDGE, p as METHODS, r as CONTROL_END_REASONS, s as FRAME_FPS, t as ACTIONS, u as LOG_SOURCES, v as RELOAD_PLATFORMS, w as VIDEO_KEYFRAME, x as VIDEO_CODECS, y as ROTATE_DIRECTIONS } from "./protocol-IroIg8Td.mjs";
2
- export { ACTIONS, CAPABILITIES, CONTROL_END_REASONS, DEVICE_POSTURES, ERROR_CODES, FRAME_EDGE, FRAME_FPS, INPUT_BUTTONS, LOG_LEVELS, LOG_SOURCES, MAX_INPUT_TEXT, MAX_LOG_TAIL, METHODS, PROTOCOL_SCHEMA_FILE, PROTOCOL_VERSION, PUSH_EVENTS, PUSH_TOKEN_PATTERN, RELOAD_PLATFORMS, ROTATE_DIRECTIONS, TOUCH_PHASES, VIDEO_CODECS, VIDEO_FOLDED, VIDEO_HEADER_VERSION, VIDEO_KEYFRAME, VIDEO_UNFOLDED, protocolJsonSchema };
1
+ import { t as protocolJsonSchema } from "./protocol-BHSl7bQ_.mjs";
2
+ export * from "@stim-cli/core/protocol";
3
+ export { protocolJsonSchema };