@stim-cli/core 1.22.0 → 1.23.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.
@@ -1,4 +1,5 @@
1
1
  import { C as quotedPath, S as tryAcquireClaim, _ as releaseClaim, r as ClaimRefusedError, x as sleepSync } from "./ownership-claim-DHUs_Dir.mjs";
2
+ import { projectNodeBin } from "./toolchain.mjs";
2
3
  import fs, { existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, rmdirSync, statSync, unlinkSync, utimesSync, writeFileSync } from "node:fs";
3
4
  import os from "node:os";
4
5
  import path, { basename, dirname, isAbsolute, join, relative, sep } from "node:path";
@@ -566,8 +567,12 @@ async function compiledHelper({ dir, name, inputs, version, compile, prune = tru
566
567
  }
567
568
  //#endregion
568
569
  //#region dependency-install.ts
569
- /** The existing worker install command and marker identity for a repository's selected lockfile. */
570
- function dependencyInstall(root, packageName) {
570
+ /**
571
+ * The existing worker install command and marker identity for a repository's selected lockfile. The marker identity
572
+ * also names the major of the Node `projectNodeBin` picks for the pin of the project at `project`, or `path` when it
573
+ * picks none, so that native addons are rebuilt when the pinned Node changes major.
574
+ */
575
+ function dependencyInstall(root, packageName, project = ".", env = process.env) {
571
576
  const file = [
572
577
  "pnpm-lock.yaml",
573
578
  "yarn.lock",
@@ -581,21 +586,22 @@ function dependencyInstall(root, packageName) {
581
586
  ...packageName ? ["--filter", `${packageName}...`] : []
582
587
  ] : command === "yarn" ? ["install", "--frozen-lockfile"] : ["ci"];
583
588
  const bytes = readFileSync(join(root, file));
589
+ const node = projectNodeBin(join(root, project), env, void 0, root)?.version.split(".")[0] ?? "path";
584
590
  return {
585
591
  command,
586
592
  args,
587
593
  lockfile: createHash("sha256").update(bytes).digest("hex"),
588
- digest: createHash("sha256").update(bytes).update(JSON.stringify(args)).digest("hex")
594
+ digest: createHash("sha256").update(bytes).update(JSON.stringify(args)).update(`node ${node}`).digest("hex")
589
595
  };
590
596
  }
591
597
  /** Whether the worker can reuse this project's dependency install without running the package manager. */
592
- function reusableDependencies(area, project, packageName, lockfile) {
598
+ function reusableDependencies(area, project, packageName, lockfile, env = process.env) {
593
599
  try {
594
600
  const root = realpathSync(join(area, "src"));
595
601
  const selected = realpathSync(join(root, project));
596
602
  const path = relative(root, selected);
597
603
  if (path === ".." || path.startsWith(`..${sep}`) || isAbsolute(path)) return false;
598
- const install = dependencyInstall(root, packageName);
604
+ const install = dependencyInstall(root, packageName, path, env);
599
605
  return install?.lockfile === lockfile && existsSync(join(selected, "node_modules")) && readFileSync(join(area, "dependencies"), "utf8") === install.digest;
600
606
  } catch {
601
607
  return false;
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { N as BuildSwiftpmArtifactQuery, j as BuildReactNativeArtifactQuery, m as BuildArtifactIdentity } from "./protocol-BjJt4ghB.mjs";
1
+ import { N as BuildSwiftpmArtifactQuery, j as BuildReactNativeArtifactQuery, m as BuildArtifactIdentity } from "./protocol-DuaMg7RJ.mjs";
2
2
  import { Server } from "node:net";
3
3
  //#region dir-lock.d.ts
4
4
  interface DirLockOptions {
@@ -116,15 +116,19 @@ declare function compiledHelper({ dir, name, inputs, version, compile, prune }:
116
116
  }): Promise<string>;
117
117
  //#endregion
118
118
  //#region dependency-install.d.ts
119
- /** The existing worker install command and marker identity for a repository's selected lockfile. */
120
- declare function dependencyInstall(root: string, packageName: string | null): {
119
+ /**
120
+ * The existing worker install command and marker identity for a repository's selected lockfile. The marker identity
121
+ * also names the major of the Node `projectNodeBin` picks for the pin of the project at `project`, or `path` when it
122
+ * picks none, so that native addons are rebuilt when the pinned Node changes major.
123
+ */
124
+ declare function dependencyInstall(root: string, packageName: string | null, project?: string, env?: NodeJS.ProcessEnv): {
121
125
  command: "pnpm" | "yarn" | "npm";
122
126
  args: string[];
123
127
  lockfile: string;
124
128
  digest: string;
125
129
  } | null;
126
130
  /** Whether the worker can reuse this project's dependency install without running the package manager. */
127
- declare function reusableDependencies(area: string, project: string, packageName: string | null, lockfile: string): boolean;
131
+ declare function reusableDependencies(area: string, project: string, packageName: string | null, lockfile: string, env?: NodeJS.ProcessEnv): boolean;
128
132
  //#endregion
129
133
  //#region metro-bridge.d.ts
130
134
  interface MetroBridge {
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  import { C as quotedPath } from "./ownership-claim-DHUs_Dir.mjs";
2
- import { $ as withDirLockTransaction, A as createMetroGateway, B as unitWords, C as workspaceName, D as reactNativeArtifactIdentity, E as swiftpmArtifactQuery, F as artifactIn, G as withAmbientContext, H as ambientContext, I as resolveArtifact, L as storeArtifact, M as reusableDependencies, N as compiledHelper, O as reactNativeArtifactQuery, P as storeArtifactAsync, Q as withDirLockAsync, R as quoteUnitWord, S as workspaceLogDir, T as workspaceStateDir, U as ambientEnv, V as validMacosResourceDestination, W as ambientWrite, Z as withDirLock, _ as rotatedLogPath, a as buildCacheRoot, b as updateCacheManifest, c as cacheNameSegment, d as ensurePrivateDir, f as hostSimulatorArch, g as rotateLog, h as registerCache, i as buildCacheKey, j as dependencyInstall, k as createMetroBridge, l as cachePathSetting, m as readCacheManifest, n as METRO_NAMED_CACHE_LAYOUT, o as cacheDirRefusal, p as metroCacheRoot, r as STORE_ROOT_TAG, s as cacheManifestLockPath, t as LOG_ROTATE_BYTES, u as configDir, v as sharedStoreRoot, w as workspaceSlug, x as workspaceId, y as tagSharedStore, z as unitLines } from "./core-BTsCO1nW.mjs";
2
+ import { $ as withDirLockTransaction, A as createMetroGateway, B as unitWords, C as workspaceName, D as reactNativeArtifactIdentity, E as swiftpmArtifactQuery, F as artifactIn, G as withAmbientContext, H as ambientContext, I as resolveArtifact, L as storeArtifact, M as reusableDependencies, N as compiledHelper, O as reactNativeArtifactQuery, P as storeArtifactAsync, Q as withDirLockAsync, R as quoteUnitWord, S as workspaceLogDir, T as workspaceStateDir, U as ambientEnv, V as validMacosResourceDestination, W as ambientWrite, Z as withDirLock, _ as rotatedLogPath, a as buildCacheRoot, b as updateCacheManifest, c as cacheNameSegment, d as ensurePrivateDir, f as hostSimulatorArch, g as rotateLog, h as registerCache, i as buildCacheKey, j as dependencyInstall, k as createMetroBridge, l as cachePathSetting, m as readCacheManifest, n as METRO_NAMED_CACHE_LAYOUT, o as cacheDirRefusal, p as metroCacheRoot, r as STORE_ROOT_TAG, s as cacheManifestLockPath, t as LOG_ROTATE_BYTES, u as configDir, v as sharedStoreRoot, w as workspaceSlug, x as workspaceId, y as tagSharedStore, z as unitLines } from "./core-B23eUZZp.mjs";
3
3
  export { LOG_ROTATE_BYTES, METRO_NAMED_CACHE_LAYOUT, STORE_ROOT_TAG, ambientContext, ambientEnv, ambientWrite, artifactIn, buildCacheKey, buildCacheRoot, cacheDirRefusal, cacheManifestLockPath, cacheNameSegment, cachePathSetting, compiledHelper, configDir, createMetroBridge, createMetroGateway, dependencyInstall, ensurePrivateDir, hostSimulatorArch, metroCacheRoot, quoteUnitWord, quotedPath, reactNativeArtifactIdentity, reactNativeArtifactQuery, readCacheManifest, registerCache, resolveArtifact, reusableDependencies, rotateLog, rotatedLogPath, sharedStoreRoot, storeArtifact, storeArtifactAsync, swiftpmArtifactQuery, tagSharedStore, unitLines, unitWords, updateCacheManifest, validMacosResourceDestination, withAmbientContext, withDirLock, withDirLockAsync, withDirLockTransaction, workspaceId, workspaceLogDir, workspaceName, workspaceSlug, workspaceStateDir };
@@ -1,5 +1,5 @@
1
1
  import { $t as AndroidDeviceState, Cn as DeviceLeaseState, Cr as ArchivedWorkspace, Dn as EnvironmentDisk, Hr as MaintenanceStatus, In as MachineUsageState, Kn as RemoteDeviceState, Lr as MaintenancePass, Na as HostedMacosPlacement, Nr as MaintenanceAction, On as EnvironmentState, Pn as MachineOwner, Qn as StatusIssue, Rr as MaintenancePressure, Sn as DeviceAppProcess, Sr as ArchivedUsage, Tn as DiskMeasure, Ut as withDerivedFacts, Wn as PhysicalDeviceState, Yn as SimulatorState, Zt as AgentSession, _n as BuildReport, a as MachineView, cn as BuildDiagnostic, dn as BuildMissChange, dr as WorktreeGit, er as StatusPayload, f as statusViews, fn as BuildMissReason, fr as WorktreePullRequest, hn as BuildPlanPayload, hr as MacosBuild, i as ArchivedSummary, in as BuildActivity, jn as LastBuildReport, kn as GitChip, ln as BuildHistoryEntry, lr as WorkspaceStage, mn as BuildPlacement, or as WebBrowserState, pr as MacosAppRecord, r as applyKeyedDelta, sn as BuildDetail, ur as WorktreeFacts, xn as DeviceActivity, yn as BuildWaitingFor, zn as MetroBundleState } from "./index-DKq1j8dw.mjs";
2
- import { $ as DesktopGcEndedEvent, $r as WorkspacesEvent, A as BuildProgressEvent, Ar as StatusEvent, Bt as FramesSubscribeResult, Cn as MachineHistory, Ct as DeviceFrameEvent, D as BuildPlanParams, Dn as MachineVolume, Dr as SimulatorCommand, En as MachineUsage, Fn as NotificationEntry, Fr as UsageHistory, Ft as FrameEvent, Ht as HelloParams, In as NotificationEvent, Ir as UsageSample, It as FrameTarget, J as DEVICE_HOST_METHODS, Jr as WorkspaceFile, K as ControlEndedEvent, Kr as WorkspaceDiff, Ln as NotificationLevel, Mn as Methods, Nr as TouchPhase, Or as SimulatorOptions, Pt as FrameDelayedEvent, Q as DesktopBuildProgressEvent, Qn as PushRegisterParams, Qr as WorkspaceRef, Rn as NotificationSuppression, Sn as MachineEvent, St as DeviceFrameArtwork, Tt as DeviceUsageSeries, U as ControlBeginParams, Ut as HelloResult, Vn as NotificationsListResult, W as ControlBeginResult, Wn as PROTOCOL_VERSION, Xn as ProtocolError, Yr as WorkspaceFiles, Yt as InputKey, Z as DesktopBuildEndedEvent, Zn as PushEvent, Zr as WorkspacePatch, _n as LogsQueryResult, _t as DesktopStopProgressEvent, a as ActionResult, an as KeyModifier, at as DesktopReloadEndedEvent, bt as DesktopWorktreeWarmEndedEvent, c as ArchivedListParams, cr as ReplayKeyframe, dn as LogFilter, dr as ReplayRange, dt as DesktopRunProgressEvent, en as InputSimulatorParams, et as DesktopGcProgressEvent, fn as LogLevel, fr as ReplaySpan, gn as LogsEvent, gr as SERVER_UPDATE_METHODS, gt as DesktopStopEndedEvent, hn as LogsEndedEvent, hr as RotateDirection, ht as DesktopStartProgressEvent, i as ActionParams, kn as MacosWindowsEvent, kt as ErrorEvent, lr as ReplayKeyframeParams, mn as LogSource, mt as DesktopStartEndedEvent, o as ArchiveDetailParams, ot as DesktopReloadProgressEvent, pn as LogRecord, pr as ReplayTarget, qn as Platform, qr as WorkspaceEvent, qt as InputButton, r as ActionName, sr as ReplayEndedEvent, st as DesktopReportEvent, t as ACTIONS, u as BUILD_METHODS, ur as ReplayMarker, ut as DesktopRunEndedEvent, v as BuildClientSummary, vr as ServerEvent, vt as DesktopWorktreeRemoveEndedEvent, w as BuildMachineReport, wt as DevicePosture, xn as MachineDetails, xt as DesktopWorktreeWarmProgressEvent, yt as DesktopWorktreeRemoveProgressEvent } from "./protocol-BjJt4ghB.mjs";
2
+ import { $ as DesktopGcEndedEvent, $r as WorkspacesEvent, A as BuildProgressEvent, Ar as StatusEvent, Bt as FramesSubscribeResult, Cn as MachineHistory, Ct as DeviceFrameEvent, D as BuildPlanParams, Dn as MachineVolume, Dr as SimulatorCommand, En as MachineUsage, Fn as NotificationEntry, Fr as UsageHistory, Ft as FrameEvent, Ht as HelloParams, In as NotificationEvent, Ir as UsageSample, It as FrameTarget, J as DEVICE_HOST_METHODS, Jr as WorkspaceFile, K as ControlEndedEvent, Kr as WorkspaceDiff, Ln as NotificationLevel, Mn as Methods, Nr as TouchPhase, Or as SimulatorOptions, Pt as FrameDelayedEvent, Q as DesktopBuildProgressEvent, Qn as PushRegisterParams, Qr as WorkspaceRef, Rn as NotificationSuppression, Sn as MachineEvent, St as DeviceFrameArtwork, Tt as DeviceUsageSeries, U as ControlBeginParams, Ut as HelloResult, Vn as NotificationsListResult, W as ControlBeginResult, Wn as PROTOCOL_VERSION, Xn as ProtocolError, Yr as WorkspaceFiles, Yt as InputKey, Z as DesktopBuildEndedEvent, Zn as PushEvent, Zr as WorkspacePatch, _n as LogsQueryResult, _t as DesktopStopProgressEvent, a as ActionResult, an as KeyModifier, at as DesktopReloadEndedEvent, bt as DesktopWorktreeWarmEndedEvent, c as ArchivedListParams, cr as ReplayKeyframe, dn as LogFilter, dr as ReplayRange, dt as DesktopRunProgressEvent, en as InputSimulatorParams, et as DesktopGcProgressEvent, fn as LogLevel, fr as ReplaySpan, gn as LogsEvent, gr as SERVER_UPDATE_METHODS, gt as DesktopStopEndedEvent, hn as LogsEndedEvent, hr as RotateDirection, ht as DesktopStartProgressEvent, i as ActionParams, kn as MacosWindowsEvent, kt as ErrorEvent, lr as ReplayKeyframeParams, mn as LogSource, mt as DesktopStartEndedEvent, o as ArchiveDetailParams, ot as DesktopReloadProgressEvent, pn as LogRecord, pr as ReplayTarget, qn as Platform, qr as WorkspaceEvent, qt as InputButton, r as ActionName, sr as ReplayEndedEvent, st as DesktopReportEvent, t as ACTIONS, u as BUILD_METHODS, ur as ReplayMarker, ut as DesktopRunEndedEvent, v as BuildClientSummary, vr as ServerEvent, vt as DesktopWorktreeRemoveEndedEvent, w as BuildMachineReport, wt as DevicePosture, xn as MachineDetails, xt as DesktopWorktreeWarmProgressEvent, yt as DesktopWorktreeRemoveProgressEvent } from "./protocol-DuaMg7RJ.mjs";
3
3
  //#region phone-protocol.d.ts
4
4
  type PhonePlatform = BuildPlanParams["platform"];
5
5
  type PhoneDevicePlatform = Platform;
@@ -43,6 +43,7 @@ type Capability = (typeof CAPABILITIES)[number];
43
43
  * `desktop-reports` serves cached doctor/GC reports to the authenticated local Desktop connection.
44
44
  * `desktop-report-platform` accepts an optional ios/android selector for Desktop doctor reports.
45
45
  * `desktop-settings` reads settings for a selected folder on the authenticated local Desktop connection.
46
+ * `desktop-settings-schema` supplies this server's registry-derived settings schema to local Desktop clients.
46
47
  * `desktop-settings-write` mutates settings on the proved local Desktop connection.
47
48
  * `desktop-stop` streams private Desktop workspace or slot stop progress and its terminal result.
48
49
  * `desktop-start` streams dev-server startup progress and its result on the proved local Desktop connection.
@@ -51,9 +52,9 @@ type Capability = (typeof CAPABILITIES)[number];
51
52
  * `desktop-plan` reads next-build reports for selected folders on the proved local Desktop connection.
52
53
  * `desktop-reload` streams reload output and its terminal result on the proved local Desktop connection.
53
54
  */
54
- declare const FEATURES: readonly ["physical-ios", "physical-android", "notifications", "macos-window", "macos-windows", "macos-window-select", "macos-window-control", "macos-keyboard-extended", "device-frames", "macos-hosted", "ios-hosted", "android-hosted", "hosted-ios-agent", "hosted-android-agent", "duo-frames", "workspace-diff", "hosted-congestion", "hosted-ios-data", "hosted-ios-process", "native-xcode-build", "native-xcode-toolchain", "build-artifact-cache", "native-gradle-build", "native-gradle-artifact-cache", "native-gradle-peer-cache", "react-native-peer-cache", "swiftpm-peer-cache", "build-dependency-cache", "hosted-android-data", "hosted-android-process", "server-update", "status-views", "desktop-reports", "desktop-report-platform", "desktop-settings", "desktop-settings-write", "desktop-full-logs", "desktop-doctor-run", "desktop-machine-access", "desktop-stop", "desktop-reload", "desktop-start", "desktop-run", "desktop-build", "desktop-gc", "desktop-worktree-remove", "desktop-worktree-warm", "desktop-plan"];
55
+ declare const FEATURES: readonly ["physical-ios", "physical-android", "notifications", "macos-window", "macos-windows", "macos-window-select", "macos-window-control", "macos-keyboard-extended", "device-frames", "macos-hosted", "ios-hosted", "android-hosted", "hosted-ios-agent", "hosted-android-agent", "duo-frames", "workspace-diff", "hosted-congestion", "hosted-ios-data", "hosted-ios-process", "native-xcode-build", "native-xcode-toolchain", "build-artifact-cache", "native-gradle-build", "native-gradle-artifact-cache", "native-gradle-peer-cache", "react-native-peer-cache", "swiftpm-peer-cache", "build-dependency-cache", "hosted-android-data", "hosted-android-process", "server-update", "status-views", "desktop-reports", "desktop-report-platform", "desktop-settings", "desktop-settings-schema", "desktop-settings-write", "desktop-full-logs", "desktop-doctor-run", "desktop-machine-access", "desktop-stop", "desktop-reload", "desktop-start", "desktop-run", "desktop-build", "desktop-gc", "desktop-worktree-remove", "desktop-worktree-warm", "desktop-plan"];
55
56
  type Feature = (typeof FEATURES)[number];
56
- declare const METHODS: readonly ["hello", "desktop.authenticate", "desktop.reports.get", "desktop.reports.subscribe", "desktop.reports.invalidate", "desktop.settings.get", "desktop.settings.write", "desktop.logs.subscribe", "desktop.doctor.run", "desktop.machine-access.subscribe", "desktop.stop.subscribe", "desktop.reload.subscribe", "desktop.start.subscribe", "desktop.run.subscribe", "desktop.build.subscribe", "desktop.gc.subscribe", "desktop.worktree.remove.subscribe", "desktop.worktree.warm.subscribe", "desktop.plan.get", "desktop.plan.cancel", "route.setup", "status.subscribe", "workspaces.subscribe", "workspace.subscribe", "machine.subscribe", "builds.history", "archived.list", "worktrees.list", "maintenance.get", "logs.query", "logs.subscribe", "stats.get", "settings.get", "workspace.files", "workspace.diff", "frames.subscribe", "frames.keyframe", "frames.seek", "frames.live", "replay.range", "archive.detail", "replay.keyframe", "recording.set", "build.plan", "machine.get", "machine.history", "machine.details", "unsubscribe", "action", "control.begin", "control.end", "input.touch", "input.text", "input.button", "input.rotate", "input.posture", "input.simulator", "input.scroll", "input.key", "input.window", "push.register", "push.unregister", "notifications.list", "build.offer", "build.sync", "build.start", "build.cancel", "build.artifact", "build.cached-artifact", "build.attach", "device-host.offer", "device-host.reserve", "device-host.attach", "device-host.stop", "device-host.app.offer", "device-host.app.chunk", "device-host.app.handoff", "device-host.app.launch", "device-host.app.attach", "device-host.logs.query", "device-host.metro.open", "device-host.metro.close", "device-host.frames.subscribe", "device-host.frames.keyframe", "device-host.frames.congested", "device-host.unsubscribe", "device-host.control.begin", "device-host.control.end", "device-host.input.touch", "device-host.input.text", "device-host.input.scroll", "device-host.input.key", "device-host.input.button", "device-host.input.rotate", "device-host.input.posture", "device-host.input.window", "server.update.status", "server.update.start", "server.update.chunk", "machines.update.start", "machines.update.status", "device-host.sessions", "device-host.sessions.stop"];
57
+ declare const METHODS: readonly ["hello", "desktop.authenticate", "desktop.reports.get", "desktop.reports.subscribe", "desktop.reports.invalidate", "desktop.settings.get", "desktop.settings.schema", "desktop.settings.write", "desktop.logs.subscribe", "desktop.doctor.run", "desktop.machine-access.subscribe", "desktop.stop.subscribe", "desktop.reload.subscribe", "desktop.start.subscribe", "desktop.run.subscribe", "desktop.build.subscribe", "desktop.gc.subscribe", "desktop.worktree.remove.subscribe", "desktop.worktree.warm.subscribe", "desktop.plan.get", "desktop.plan.cancel", "route.setup", "status.subscribe", "workspaces.subscribe", "workspace.subscribe", "machine.subscribe", "builds.history", "archived.list", "worktrees.list", "maintenance.get", "logs.query", "logs.subscribe", "stats.get", "settings.get", "workspace.files", "workspace.diff", "frames.subscribe", "frames.keyframe", "frames.seek", "frames.live", "replay.range", "archive.detail", "replay.keyframe", "recording.set", "build.plan", "machine.get", "machine.history", "machine.details", "unsubscribe", "action", "control.begin", "control.end", "input.touch", "input.text", "input.button", "input.rotate", "input.posture", "input.simulator", "input.scroll", "input.key", "input.window", "push.register", "push.unregister", "notifications.list", "build.offer", "build.sync", "build.start", "build.cancel", "build.artifact", "build.cached-artifact", "build.attach", "device-host.offer", "device-host.reserve", "device-host.attach", "device-host.stop", "device-host.app.offer", "device-host.app.chunk", "device-host.app.handoff", "device-host.app.launch", "device-host.app.attach", "device-host.logs.query", "device-host.metro.open", "device-host.metro.close", "device-host.frames.subscribe", "device-host.frames.keyframe", "device-host.frames.congested", "device-host.unsubscribe", "device-host.control.begin", "device-host.control.end", "device-host.input.touch", "device-host.input.text", "device-host.input.scroll", "device-host.input.key", "device-host.input.button", "device-host.input.rotate", "device-host.input.posture", "device-host.input.window", "server.update.status", "server.update.start", "server.update.chunk", "machines.update.start", "machines.update.status", "device-host.sessions", "device-host.sessions.stop"];
57
58
  /**
58
59
  * The methods that update this server's `stim-server service`. A machine this one approved for `build` or
59
60
  * `device-host` may call them; they need neither `read` nor `control`.
@@ -1423,6 +1424,10 @@ interface Methods {
1423
1424
  };
1424
1425
  result: SettingsResult;
1425
1426
  };
1427
+ "desktop.settings.schema": {
1428
+ params?: Record<string, never>;
1429
+ result: Record<string, unknown>;
1430
+ };
1426
1431
  "desktop.settings.write": {
1427
1432
  params: DesktopSettingsWriteParams;
1428
1433
  result: DesktopSettingsWriteResult;
@@ -1,2 +1,2 @@
1
- import { $ as DesktopGcEndedEvent, $n as QuietHours, $r as WorkspacesEvent, $t as InputScrollParams, A as BuildProgressEvent, An as MemoryPressure, Ar as StatusEvent, At as FEATURES, B as CachedBuildArtifact, Bn as NotificationsListParams, Br as VIDEO_FOLDED, Bt as FramesSubscribeResult, C as BuildMachineCapacity, Cn as MachineHistory, Cr as ServerUpdateProgress, Ct as DeviceFrameEvent, D as BuildPlanParams, Dn as MachineVolume, Dr as SimulatorCommand, Dt as ERROR_CODES, E as BuildOfferResult, En as MachineUsage, Er as SettingsResult, Et as DuoFramePose, F as BuildSyncResult, Fn as NotificationEntry, Fr as UsageHistory, Ft as FrameEvent, G as ControlEndParams, Gn as PUSH_EVENTS, Gr as VideoPacket, Gt as INPUT_BUTTONS, H as ClientRequest, Hn as PLATFORMS, Hr as VIDEO_KEYFRAME, Ht as HelloParams, I as BuildToolchain, In as NotificationEvent, Ir as UsageSample, It as FrameTarget, J as DEVICE_HOST_METHODS, Jn as PlatformBuildOptions, Jr as WorkspaceFile, Jt as InputButtonParams, K as ControlEndedEvent, Kn as PUSH_TOKEN_PATTERN, Kr as WorkspaceDiff, Kt as INPUT_KEYS, L as BuildsHistoryResult, Ln as NotificationLevel, Lr as UsageSeries, Lt as FramesLiveParams, M as BuildStartParams, Mn as Methods, Mr as TOUCH_PHASES, Mt as FRAME_FPS, N as BuildSwiftpmArtifactQuery, Nn as NOTIFICATION_LEVELS, Nr as TouchPhase, Nt as Feature, O as BuildPlanResult, On as MacosWindow, Or as SimulatorOptions, Ot as ErrorCode, P as BuildSyncParams, Pn as NOTIFICATION_SUPPRESSIONS, Pr as UnsubscribeParams, Pt as FrameDelayedEvent, Q as DesktopBuildProgressEvent, Qn as PushRegisterParams, Qr as WorkspaceRef, Qt as InputRotateParams, R as CAPABILITIES, Rn as NotificationSuppression, Rr as VIDEO_ARTWORK, Rt as FramesSeekParams, S as BuildJobParams, Sn as MachineEvent, Sr as ServerUpdatePackage, St as DeviceFrameArtwork, T as BuildOfferParams, Tn as MachineUpdateStatus, Tr as ServerUpdateStatus, Tt as DeviceUsageSeries, U as ControlBeginParams, Un as PROTOCOL_SCHEMA_FILE, Ur as VIDEO_UNFOLDED, Ut as HelloResult, V as Capability, Vn as NotificationsListResult, Vr as VIDEO_HEADER_VERSION, Vt as GradleOffloadInputs, W as ControlBeginResult, Wn as PROTOCOL_VERSION, Wr as VideoCodec, Wt as HostedSessionRow, X as DesktopBootstrapChallenge, Xn as ProtocolError, Xr as WorkspaceParams, Xt as InputKeyParams, Y as DEVICE_POSTURES, Yn as PlatformRunOptions, Yr as WorkspaceFiles, Yt as InputKey, Z as DesktopBuildEndedEvent, Zn as PushEvent, Zr as WorkspacePatch, Zt as InputPostureParams, _ as BuildCapacity, _n as LogsQueryResult, _r as ServeRoute, _t as DesktopStopProgressEvent, a as ActionResult, an as KeyModifier, ar as RecordingSetResult, at as DesktopReloadEndedEvent, b as BuildGradleArtifactQuery, bn as METHODS, br as ServerResponse, bt as DesktopWorktreeWarmEndedEvent, c as ArchivedListParams, cn as LOG_LEVELS, cr as ReplayKeyframe, ct as DesktopReportSnapshot, d as BUILD_REPO_PATTERN, dn as LogFilter, dr as ReplayRange, dt as DesktopRunProgressEvent, ei as WorkspacesSnapshot, en as InputSimulatorParams, er as RELOAD_PLATFORMS, et as DesktopGcProgressEvent, f as BUILD_RUBY_VERSION_PATTERN, fn as LogLevel, fr as ReplaySpan, ft as DesktopSettingsWriteParams, g as BuildAttachResult, gn as LogsEvent, gr as SERVER_UPDATE_METHODS, gt as DesktopStopEndedEvent, h as BuildArtifactResult, hn as LogsEndedEvent, hr as RotateDirection, ht as DesktopStartProgressEvent, i as ActionParams, in as KEY_MODIFIERS, ir as RecordingSetParams, it as DesktopPlanRefusal, j as BuildReactNativeArtifactQuery, jn as Method, jr as SubscribeResult, jt as FRAME_EDGE, k as BuildPlatform, kn as MacosWindowsEvent, kr as StatsResult, kt as ErrorEvent, l as ArchivedListResult, ln as LOG_SOURCES, lr as ReplayKeyframeParams, lt as DesktopReportTarget, m as BuildArtifactIdentity, mn as LogSource, mr as RequestId, mt as DesktopStartEndedEvent, n as ARCHIVED_PAGE_LIMIT, nn as InputTouchParams, nr as REPLAY_RATES, nt as DesktopMachineAccessEndedEvent, o as ArchiveDetailParams, on as KeyframeParams, or as ReloadPlatform, ot as DesktopReloadProgressEvent, p as BuildAndroidOptions, pn as LogRecord, pr as ReplayTarget, pt as DesktopSettingsWriteResult, q as ControlPlatform, qn as Platform, qr as WorkspaceEvent, qt as InputButton, r as ActionName, rn as InputWindowParams, rr as ROTATE_DIRECTIONS, rt as DesktopMachineAccessProgressEvent, s as ArchiveDetailResult, sn as LEGACY_PUSH_EVENTS, sr as ReplayEndedEvent, st as DesktopReportEvent, t as ACTIONS, tn as InputTextParams, tr as REPLAY_MARKER_KINDS, tt as DesktopLogFilter, u as BUILD_METHODS, un as LegacyPushEvent, ur as ReplayMarker, ut as DesktopRunEndedEvent, v as BuildClientSummary, vn as MAX_INPUT_TEXT, vr as ServerEvent, vt as DesktopWorktreeRemoveEndedEvent, w as BuildMachineReport, wn as MachineHistoryParams, wr as ServerUpdateStartParams, wt as DevicePosture, x as BuildJobOutcome, xn as MachineDetails, xr as ServerUpdateOutcome, xt as DesktopWorktreeWarmProgressEvent, y as BuildFile, yn as MAX_LOG_TAIL, yr as ServerMessage, yt as DesktopWorktreeRemoveProgressEvent, z as CONTROL_END_REASONS, zn as NotificationTarget, zr as VIDEO_CODECS, zt as FramesSeekResult } from "./protocol-BjJt4ghB.mjs";
1
+ import { $ as DesktopGcEndedEvent, $n as QuietHours, $r as WorkspacesEvent, $t as InputScrollParams, A as BuildProgressEvent, An as MemoryPressure, Ar as StatusEvent, At as FEATURES, B as CachedBuildArtifact, Bn as NotificationsListParams, Br as VIDEO_FOLDED, Bt as FramesSubscribeResult, C as BuildMachineCapacity, Cn as MachineHistory, Cr as ServerUpdateProgress, Ct as DeviceFrameEvent, D as BuildPlanParams, Dn as MachineVolume, Dr as SimulatorCommand, Dt as ERROR_CODES, E as BuildOfferResult, En as MachineUsage, Er as SettingsResult, Et as DuoFramePose, F as BuildSyncResult, Fn as NotificationEntry, Fr as UsageHistory, Ft as FrameEvent, G as ControlEndParams, Gn as PUSH_EVENTS, Gr as VideoPacket, Gt as INPUT_BUTTONS, H as ClientRequest, Hn as PLATFORMS, Hr as VIDEO_KEYFRAME, Ht as HelloParams, I as BuildToolchain, In as NotificationEvent, Ir as UsageSample, It as FrameTarget, J as DEVICE_HOST_METHODS, Jn as PlatformBuildOptions, Jr as WorkspaceFile, Jt as InputButtonParams, K as ControlEndedEvent, Kn as PUSH_TOKEN_PATTERN, Kr as WorkspaceDiff, Kt as INPUT_KEYS, L as BuildsHistoryResult, Ln as NotificationLevel, Lr as UsageSeries, Lt as FramesLiveParams, M as BuildStartParams, Mn as Methods, Mr as TOUCH_PHASES, Mt as FRAME_FPS, N as BuildSwiftpmArtifactQuery, Nn as NOTIFICATION_LEVELS, Nr as TouchPhase, Nt as Feature, O as BuildPlanResult, On as MacosWindow, Or as SimulatorOptions, Ot as ErrorCode, P as BuildSyncParams, Pn as NOTIFICATION_SUPPRESSIONS, Pr as UnsubscribeParams, Pt as FrameDelayedEvent, Q as DesktopBuildProgressEvent, Qn as PushRegisterParams, Qr as WorkspaceRef, Qt as InputRotateParams, R as CAPABILITIES, Rn as NotificationSuppression, Rr as VIDEO_ARTWORK, Rt as FramesSeekParams, S as BuildJobParams, Sn as MachineEvent, Sr as ServerUpdatePackage, St as DeviceFrameArtwork, T as BuildOfferParams, Tn as MachineUpdateStatus, Tr as ServerUpdateStatus, Tt as DeviceUsageSeries, U as ControlBeginParams, Un as PROTOCOL_SCHEMA_FILE, Ur as VIDEO_UNFOLDED, Ut as HelloResult, V as Capability, Vn as NotificationsListResult, Vr as VIDEO_HEADER_VERSION, Vt as GradleOffloadInputs, W as ControlBeginResult, Wn as PROTOCOL_VERSION, Wr as VideoCodec, Wt as HostedSessionRow, X as DesktopBootstrapChallenge, Xn as ProtocolError, Xr as WorkspaceParams, Xt as InputKeyParams, Y as DEVICE_POSTURES, Yn as PlatformRunOptions, Yr as WorkspaceFiles, Yt as InputKey, Z as DesktopBuildEndedEvent, Zn as PushEvent, Zr as WorkspacePatch, Zt as InputPostureParams, _ as BuildCapacity, _n as LogsQueryResult, _r as ServeRoute, _t as DesktopStopProgressEvent, a as ActionResult, an as KeyModifier, ar as RecordingSetResult, at as DesktopReloadEndedEvent, b as BuildGradleArtifactQuery, bn as METHODS, br as ServerResponse, bt as DesktopWorktreeWarmEndedEvent, c as ArchivedListParams, cn as LOG_LEVELS, cr as ReplayKeyframe, ct as DesktopReportSnapshot, d as BUILD_REPO_PATTERN, dn as LogFilter, dr as ReplayRange, dt as DesktopRunProgressEvent, ei as WorkspacesSnapshot, en as InputSimulatorParams, er as RELOAD_PLATFORMS, et as DesktopGcProgressEvent, f as BUILD_RUBY_VERSION_PATTERN, fn as LogLevel, fr as ReplaySpan, ft as DesktopSettingsWriteParams, g as BuildAttachResult, gn as LogsEvent, gr as SERVER_UPDATE_METHODS, gt as DesktopStopEndedEvent, h as BuildArtifactResult, hn as LogsEndedEvent, hr as RotateDirection, ht as DesktopStartProgressEvent, i as ActionParams, in as KEY_MODIFIERS, ir as RecordingSetParams, it as DesktopPlanRefusal, j as BuildReactNativeArtifactQuery, jn as Method, jr as SubscribeResult, jt as FRAME_EDGE, k as BuildPlatform, kn as MacosWindowsEvent, kr as StatsResult, kt as ErrorEvent, l as ArchivedListResult, ln as LOG_SOURCES, lr as ReplayKeyframeParams, lt as DesktopReportTarget, m as BuildArtifactIdentity, mn as LogSource, mr as RequestId, mt as DesktopStartEndedEvent, n as ARCHIVED_PAGE_LIMIT, nn as InputTouchParams, nr as REPLAY_RATES, nt as DesktopMachineAccessEndedEvent, o as ArchiveDetailParams, on as KeyframeParams, or as ReloadPlatform, ot as DesktopReloadProgressEvent, p as BuildAndroidOptions, pn as LogRecord, pr as ReplayTarget, pt as DesktopSettingsWriteResult, q as ControlPlatform, qn as Platform, qr as WorkspaceEvent, qt as InputButton, r as ActionName, rn as InputWindowParams, rr as ROTATE_DIRECTIONS, rt as DesktopMachineAccessProgressEvent, s as ArchiveDetailResult, sn as LEGACY_PUSH_EVENTS, sr as ReplayEndedEvent, st as DesktopReportEvent, t as ACTIONS, tn as InputTextParams, tr as REPLAY_MARKER_KINDS, tt as DesktopLogFilter, u as BUILD_METHODS, un as LegacyPushEvent, ur as ReplayMarker, ut as DesktopRunEndedEvent, v as BuildClientSummary, vn as MAX_INPUT_TEXT, vr as ServerEvent, vt as DesktopWorktreeRemoveEndedEvent, w as BuildMachineReport, wn as MachineHistoryParams, wr as ServerUpdateStartParams, wt as DevicePosture, x as BuildJobOutcome, xn as MachineDetails, xr as ServerUpdateOutcome, xt as DesktopWorktreeWarmProgressEvent, y as BuildFile, yn as MAX_LOG_TAIL, yr as ServerMessage, yt as DesktopWorktreeRemoveProgressEvent, z as CONTROL_END_REASONS, zn as NotificationTarget, zr as VIDEO_CODECS, zt as FramesSeekResult } from "./protocol-DuaMg7RJ.mjs";
2
2
  export { ACTIONS, ARCHIVED_PAGE_LIMIT, ActionName, ActionParams, ActionResult, ArchiveDetailParams, ArchiveDetailResult, ArchivedListParams, ArchivedListResult, BUILD_METHODS, BUILD_REPO_PATTERN, BUILD_RUBY_VERSION_PATTERN, BuildAndroidOptions, BuildArtifactIdentity, BuildArtifactResult, BuildAttachResult, BuildCapacity, BuildClientSummary, BuildFile, BuildGradleArtifactQuery, BuildJobOutcome, BuildJobParams, BuildMachineCapacity, BuildMachineReport, BuildOfferParams, BuildOfferResult, BuildPlanParams, BuildPlanResult, BuildPlatform, BuildProgressEvent, BuildReactNativeArtifactQuery, BuildStartParams, BuildSwiftpmArtifactQuery, BuildSyncParams, BuildSyncResult, BuildToolchain, BuildsHistoryResult, CAPABILITIES, CONTROL_END_REASONS, CachedBuildArtifact, Capability, ClientRequest, ControlBeginParams, ControlBeginResult, ControlEndParams, ControlEndedEvent, ControlPlatform, DEVICE_HOST_METHODS, DEVICE_POSTURES, DesktopBootstrapChallenge, DesktopBuildEndedEvent, DesktopBuildProgressEvent, DesktopGcEndedEvent, DesktopGcProgressEvent, DesktopLogFilter, DesktopMachineAccessEndedEvent, DesktopMachineAccessProgressEvent, DesktopPlanRefusal, DesktopReloadEndedEvent, DesktopReloadProgressEvent, DesktopReportEvent, DesktopReportSnapshot, DesktopReportTarget, DesktopRunEndedEvent, DesktopRunProgressEvent, DesktopSettingsWriteParams, DesktopSettingsWriteResult, DesktopStartEndedEvent, DesktopStartProgressEvent, DesktopStopEndedEvent, DesktopStopProgressEvent, DesktopWorktreeRemoveEndedEvent, DesktopWorktreeRemoveProgressEvent, DesktopWorktreeWarmEndedEvent, DesktopWorktreeWarmProgressEvent, DeviceFrameArtwork, DeviceFrameEvent, DevicePosture, DeviceUsageSeries, DuoFramePose, ERROR_CODES, ErrorCode, ErrorEvent, FEATURES, FRAME_EDGE, FRAME_FPS, Feature, FrameDelayedEvent, FrameEvent, FrameTarget, FramesLiveParams, FramesSeekParams, FramesSeekResult, FramesSubscribeResult, GradleOffloadInputs, HelloParams, HelloResult, HostedSessionRow, INPUT_BUTTONS, INPUT_KEYS, InputButton, InputButtonParams, InputKey, InputKeyParams, InputPostureParams, InputRotateParams, InputScrollParams, InputSimulatorParams, InputTextParams, InputTouchParams, InputWindowParams, KEY_MODIFIERS, KeyModifier, KeyframeParams, LEGACY_PUSH_EVENTS, LOG_LEVELS, LOG_SOURCES, LegacyPushEvent, LogFilter, LogLevel, LogRecord, LogSource, LogsEndedEvent, LogsEvent, LogsQueryResult, MAX_INPUT_TEXT, MAX_LOG_TAIL, METHODS, MachineDetails, MachineEvent, MachineHistory, MachineHistoryParams, MachineUpdateStatus, MachineUsage, MachineVolume, MacosWindow, MacosWindowsEvent, MemoryPressure, Method, Methods, NOTIFICATION_LEVELS, NOTIFICATION_SUPPRESSIONS, NotificationEntry, NotificationEvent, NotificationLevel, NotificationSuppression, NotificationTarget, NotificationsListParams, NotificationsListResult, PLATFORMS, PROTOCOL_SCHEMA_FILE, PROTOCOL_VERSION, PUSH_EVENTS, PUSH_TOKEN_PATTERN, Platform, PlatformBuildOptions, PlatformRunOptions, ProtocolError, PushEvent, PushRegisterParams, QuietHours, RELOAD_PLATFORMS, REPLAY_MARKER_KINDS, REPLAY_RATES, ROTATE_DIRECTIONS, RecordingSetParams, RecordingSetResult, ReloadPlatform, ReplayEndedEvent, ReplayKeyframe, ReplayKeyframeParams, ReplayMarker, ReplayRange, ReplaySpan, ReplayTarget, RequestId, RotateDirection, SERVER_UPDATE_METHODS, ServeRoute, ServerEvent, ServerMessage, ServerResponse, ServerUpdateOutcome, ServerUpdatePackage, ServerUpdateProgress, ServerUpdateStartParams, ServerUpdateStatus, SettingsResult, SimulatorCommand, SimulatorOptions, StatsResult, StatusEvent, SubscribeResult, TOUCH_PHASES, TouchPhase, UnsubscribeParams, UsageHistory, UsageSample, UsageSeries, VIDEO_ARTWORK, VIDEO_CODECS, VIDEO_FOLDED, VIDEO_HEADER_VERSION, VIDEO_KEYFRAME, VIDEO_UNFOLDED, VideoCodec, VideoPacket, WorkspaceDiff, WorkspaceEvent, WorkspaceFile, WorkspaceFiles, WorkspaceParams, WorkspacePatch, WorkspaceRef, WorkspacesEvent, WorkspacesSnapshot };
package/dist/protocol.mjs CHANGED
@@ -46,6 +46,7 @@ const CAPABILITIES = [
46
46
  * `desktop-reports` serves cached doctor/GC reports to the authenticated local Desktop connection.
47
47
  * `desktop-report-platform` accepts an optional ios/android selector for Desktop doctor reports.
48
48
  * `desktop-settings` reads settings for a selected folder on the authenticated local Desktop connection.
49
+ * `desktop-settings-schema` supplies this server's registry-derived settings schema to local Desktop clients.
49
50
  * `desktop-settings-write` mutates settings on the proved local Desktop connection.
50
51
  * `desktop-stop` streams private Desktop workspace or slot stop progress and its terminal result.
51
52
  * `desktop-start` streams dev-server startup progress and its result on the proved local Desktop connection.
@@ -90,6 +91,7 @@ const FEATURES = [
90
91
  "desktop-reports",
91
92
  "desktop-report-platform",
92
93
  "desktop-settings",
94
+ "desktop-settings-schema",
93
95
  "desktop-settings-write",
94
96
  "desktop-full-logs",
95
97
  "desktop-doctor-run",
@@ -111,6 +113,7 @@ const METHODS = [
111
113
  "desktop.reports.subscribe",
112
114
  "desktop.reports.invalidate",
113
115
  "desktop.settings.get",
116
+ "desktop.settings.schema",
114
117
  "desktop.settings.write",
115
118
  "desktop.logs.subscribe",
116
119
  "desktop.doctor.run",