@ai-matrx/desktop-protocol 0.21.46 → 0.21.47

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.
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { O as OpName } from './models-DIsQe_Ef.cjs';
3
- export { B as BEARER_PREFIX, g as CLOSE_RULES, h as CancelMsg, j as CatalogFile, k as CatalogModelEntry, l as ClientToCoreMsg, e as ClientType, m as CloseAction, n as CloseCode, o as CloseCodeValue, C as CloseOutcome, p as CloseRule, q as CoreToClientMsg, r as CreditMsg, D as DesktopProtocolError, s as DownloadKind, t as DownloadRow, d as EVENTS, u as EndMsg, E as EndReason, v as ErrorCode, w as ErrorCodeName, x as ErrorData, y as ErrorMsg, z as ErrorReason, A as ErrorReasonName, F as EventMsg, G as EventName, H as FsPatchEditFailure, I as HelloMsg, L as Limits, J as LlamaServerBuild, K as LlmRunning, N as LlmServerState, P as MlCatalogSetParams, Q as MlCatalogSetResult, R as MlInstallPhase, U as MlInstallProgress, f as MlProgress, V as MlRuntimeState, X as MlServiceState, Y as MlServiceStatus, Z as MlStatusParams, _ as MlStatusResult, $ as ModelKey, a0 as ModelsDownloadsCancelParams, a1 as ModelsDownloadsCancelResult, a2 as ModelsDownloadsListParams, a3 as ModelsDownloadsListResult, a4 as ModelsInstallParams, a5 as ModelsInstallResult, a6 as ModelsLlmInstallParams, a7 as ModelsLlmInstallResult, a8 as ModelsLlmStartParams, a9 as ModelsLlmStartResult, aa as ModelsLlmStatusParams, ab as ModelsLlmStatusResult, ac as ModelsLlmStopParams, ad as ModelsLlmStopResult, ae as ModelsProgressEvent, af as ModelsStatusParams, ag as ModelsStatusResult, ah as ModelsTranscribeParams, M as ModelsTranscribeResult, ai as NAMED_SCHEMAS, aj as NamedSchemaId, c as OPS, ak as OpDescriptor, a as OpParams, b as OpResult, al as OpSpec, am as PING_TEXT, an as PONG_TEXT, ao as ProtocolErrorBody, ap as RelayMsg, aq as RequestMsg, ar as ResponseMsg, as as SERVICES, at as SUBPROTOCOL, au as ServiceId, av as ServiceOpName, aw as ServiceOpSpec, ax as ServiceSpec, ay as Sha256Hex, S as StreamMeta, az as StreamMsg, aA as TextModelId, aB as TextModelInfo, aC as TranscriptSegment, T as TranscriptionModelId, aD as TranscriptionModelInfo, W as Welcome, aE as closeRule, i as isDesktopProtocolError, aF as isTerminalClose } from './models-DIsQe_Ef.cjs';
2
+ import { O as OpName } from './models-Di-SL_jw.cjs';
3
+ export { B as BEARER_PREFIX, g as CLOSE_RULES, h as CancelMsg, j as CatalogFile, k as CatalogModelEntry, l as ClientToCoreMsg, e as ClientType, m as CloseAction, n as CloseCode, o as CloseCodeValue, C as CloseOutcome, p as CloseRule, q as CoreToClientMsg, r as CreditMsg, D as DesktopProtocolError, s as DownloadKind, t as DownloadRow, d as EVENTS, u as EndMsg, E as EndReason, v as ErrorCode, w as ErrorCodeName, x as ErrorData, y as ErrorMsg, z as ErrorReason, A as ErrorReasonName, F as EventMsg, G as EventName, H as FsPatchEditFailure, I as HelloMsg, L as Limits, J as LlamaServerBuild, K as LlmRunning, N as LlmServerState, P as MlCatalogSetParams, Q as MlCatalogSetResult, R as MlInstallPhase, U as MlInstallProgress, f as MlProgress, V as MlRuntimeState, X as MlServiceState, Y as MlServiceStatus, Z as MlStatusParams, _ as MlStatusResult, $ as ModelKey, a0 as ModelsDownloadsCancelParams, a1 as ModelsDownloadsCancelResult, a2 as ModelsDownloadsListParams, a3 as ModelsDownloadsListResult, a4 as ModelsInstallParams, a5 as ModelsInstallResult, a6 as ModelsLlmInstallParams, a7 as ModelsLlmInstallResult, a8 as ModelsLlmStartParams, a9 as ModelsLlmStartResult, aa as ModelsLlmStatusParams, ab as ModelsLlmStatusResult, ac as ModelsLlmStopParams, ad as ModelsLlmStopResult, ae as ModelsProgressEvent, af as ModelsStatusParams, ag as ModelsStatusResult, ah as ModelsTranscribeParams, M as ModelsTranscribeResult, ai as NAMED_SCHEMAS, aj as NamedSchemaId, c as OPS, ak as OpDescriptor, a as OpParams, b as OpResult, al as OpSpec, am as PING_TEXT, an as PONG_TEXT, ao as ProtocolErrorBody, ap as RelayMsg, aq as RequestMsg, ar as ResponseMsg, as as SERVICES, at as SUBPROTOCOL, au as ServiceId, av as ServiceOpName, aw as ServiceOpSpec, ax as ServiceSpec, ay as Sha256Hex, S as StreamMeta, az as StreamMsg, aA as TextModelId, aB as TextModelInfo, aC as TranscriptSegment, T as TranscriptionModelId, aD as TranscriptionModelInfo, W as Welcome, aE as closeRule, i as isDesktopProtocolError, aF as isTerminalClose } from './models-Di-SL_jw.cjs';
4
4
  export { BROADCAST_CID, DecodedFrame, FRAME_HEADER_BYTES, FRAME_STRUCT_FORMAT, FRAME_VERSION, FrameChannel, FrameChannelValue, FrameFlag, assertFrameHeader, connectionEndFrame, decodeFrame, encodeFrame, hasFlag, isConnectionEnd, readCid, stampCid } from './frame.cjs';
5
5
 
6
6
  /** @ai-matrx/desktop-protocol — version and primitive schemas. Schema source: lint-enforced rules in scripts/check-schema-source.mjs. */
@@ -132,10 +132,14 @@ declare const PROTOCOL_MAJOR: 1;
132
132
  * serving, pending) and apps.windows.set_remote_control (written while the window is
133
133
  * closed, else queued for its next close). A 1.49 core omits the field and answers
134
134
  * UNKNOWN_OPERATION.
135
+ * 1.52 — Remote Control says when it is wrong: WindowRemoteControl `problem` (a damaged settings
136
+ * file, or why a queued change failed to land) and setting "unreadable". A 1.51 peer is
137
+ * never sent `problem`, and a window whose file is damaged simply has no remote_control
138
+ * for it (it would refuse the unknown setting).
135
139
  */
136
- declare const PROTOCOL_MINOR: 51;
140
+ declare const PROTOCOL_MINOR: 52;
137
141
  /** This package's version as the wire spells it ("major.minor"): hello, welcome, relay status. */
138
- declare const PROTOCOL_VERSION: "1.51";
142
+ declare const PROTOCOL_VERSION: "1.52";
139
143
  /** Internal building blocks — deliberately unnamed in $defs (inlined wherever used). */
140
144
  declare const u32: z.ZodInt;
141
145
  declare const nonNegInt: z.ZodInt;
@@ -2598,12 +2602,14 @@ declare const WindowRemoteControl: z.ZodObject<{
2598
2602
  default: "default";
2599
2603
  on: "on";
2600
2604
  off: "off";
2605
+ unreadable: "unreadable";
2601
2606
  }>;
2602
2607
  serving: z.ZodNullable<z.ZodBoolean>;
2603
2608
  pending: z.ZodNullable<z.ZodEnum<{
2604
2609
  on: "on";
2605
2610
  off: "off";
2606
2611
  }>>;
2612
+ problem: z.ZodOptional<z.ZodString>;
2607
2613
  }, z.core.$strict>;
2608
2614
  type WindowRemoteControl = z.output<typeof WindowRemoteControl>;
2609
2615
  /**
@@ -2627,12 +2633,14 @@ declare const AppsWindowsSetRemoteControlResult: z.ZodObject<{
2627
2633
  default: "default";
2628
2634
  on: "on";
2629
2635
  off: "off";
2636
+ unreadable: "unreadable";
2630
2637
  }>;
2631
2638
  serving: z.ZodNullable<z.ZodBoolean>;
2632
2639
  pending: z.ZodNullable<z.ZodEnum<{
2633
2640
  on: "on";
2634
2641
  off: "off";
2635
2642
  }>>;
2643
+ problem: z.ZodOptional<z.ZodString>;
2636
2644
  }, z.core.$strict>;
2637
2645
  }, z.core.$strict>;
2638
2646
  type AppsWindowsSetRemoteControlResult = z.output<typeof AppsWindowsSetRemoteControlResult>;
@@ -2652,12 +2660,14 @@ declare const AppWindowInfo: z.ZodObject<{
2652
2660
  default: "default";
2653
2661
  on: "on";
2654
2662
  off: "off";
2663
+ unreadable: "unreadable";
2655
2664
  }>;
2656
2665
  serving: z.ZodNullable<z.ZodBoolean>;
2657
2666
  pending: z.ZodNullable<z.ZodEnum<{
2658
2667
  on: "on";
2659
2668
  off: "off";
2660
2669
  }>>;
2670
+ problem: z.ZodOptional<z.ZodString>;
2661
2671
  }, z.core.$strict>>;
2662
2672
  }, z.core.$strict>;
2663
2673
  type AppWindowInfo = z.output<typeof AppWindowInfo>;
@@ -2717,12 +2727,14 @@ declare const AppsWindowsListResult: z.ZodObject<{
2717
2727
  default: "default";
2718
2728
  on: "on";
2719
2729
  off: "off";
2730
+ unreadable: "unreadable";
2720
2731
  }>;
2721
2732
  serving: z.ZodNullable<z.ZodBoolean>;
2722
2733
  pending: z.ZodNullable<z.ZodEnum<{
2723
2734
  on: "on";
2724
2735
  off: "off";
2725
2736
  }>>;
2737
+ problem: z.ZodOptional<z.ZodString>;
2726
2738
  }, z.core.$strict>>;
2727
2739
  }, z.core.$strict>>;
2728
2740
  }, z.core.$strict>;
@@ -10554,6 +10566,9 @@ declare const FIELDS_SINCE: {
10554
10566
  readonly AppWindowInfo: {
10555
10567
  readonly remote_control: "1.50";
10556
10568
  };
10569
+ readonly WindowRemoteControl: {
10570
+ readonly problem: "1.52";
10571
+ };
10557
10572
  readonly AppsInstancesListParams: {
10558
10573
  readonly fresh: "1.51";
10559
10574
  };
@@ -10743,7 +10758,7 @@ declare function forPeer(op: OpName | null, part: "error", value: unknown, versi
10743
10758
  declare const VERSIONED_RESULT_OPS: readonly OpName[];
10744
10759
 
10745
10760
  /** SHA-256 of generated/desktop-protocol.schema.json: the contract both sides of a service connection were built from. */
10746
- declare const CONTRACT_SHA256: "17a170d7662db6a201d4787ac19ce9bbd34696faba04cabedb9d26ba14d15ff4";
10761
+ declare const CONTRACT_SHA256: "e9eba8289b9f07b90d920f5a44b038473fae8597e5b43c1f37a2bbda391edcbd";
10747
10762
 
10748
10763
  /**
10749
10764
  * The local tool catalog (SPEC §10): every tool a platform agent calls on a person's computer, the
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { O as OpName } from './models-DIsQe_Ef.js';
3
- export { B as BEARER_PREFIX, g as CLOSE_RULES, h as CancelMsg, j as CatalogFile, k as CatalogModelEntry, l as ClientToCoreMsg, e as ClientType, m as CloseAction, n as CloseCode, o as CloseCodeValue, C as CloseOutcome, p as CloseRule, q as CoreToClientMsg, r as CreditMsg, D as DesktopProtocolError, s as DownloadKind, t as DownloadRow, d as EVENTS, u as EndMsg, E as EndReason, v as ErrorCode, w as ErrorCodeName, x as ErrorData, y as ErrorMsg, z as ErrorReason, A as ErrorReasonName, F as EventMsg, G as EventName, H as FsPatchEditFailure, I as HelloMsg, L as Limits, J as LlamaServerBuild, K as LlmRunning, N as LlmServerState, P as MlCatalogSetParams, Q as MlCatalogSetResult, R as MlInstallPhase, U as MlInstallProgress, f as MlProgress, V as MlRuntimeState, X as MlServiceState, Y as MlServiceStatus, Z as MlStatusParams, _ as MlStatusResult, $ as ModelKey, a0 as ModelsDownloadsCancelParams, a1 as ModelsDownloadsCancelResult, a2 as ModelsDownloadsListParams, a3 as ModelsDownloadsListResult, a4 as ModelsInstallParams, a5 as ModelsInstallResult, a6 as ModelsLlmInstallParams, a7 as ModelsLlmInstallResult, a8 as ModelsLlmStartParams, a9 as ModelsLlmStartResult, aa as ModelsLlmStatusParams, ab as ModelsLlmStatusResult, ac as ModelsLlmStopParams, ad as ModelsLlmStopResult, ae as ModelsProgressEvent, af as ModelsStatusParams, ag as ModelsStatusResult, ah as ModelsTranscribeParams, M as ModelsTranscribeResult, ai as NAMED_SCHEMAS, aj as NamedSchemaId, c as OPS, ak as OpDescriptor, a as OpParams, b as OpResult, al as OpSpec, am as PING_TEXT, an as PONG_TEXT, ao as ProtocolErrorBody, ap as RelayMsg, aq as RequestMsg, ar as ResponseMsg, as as SERVICES, at as SUBPROTOCOL, au as ServiceId, av as ServiceOpName, aw as ServiceOpSpec, ax as ServiceSpec, ay as Sha256Hex, S as StreamMeta, az as StreamMsg, aA as TextModelId, aB as TextModelInfo, aC as TranscriptSegment, T as TranscriptionModelId, aD as TranscriptionModelInfo, W as Welcome, aE as closeRule, i as isDesktopProtocolError, aF as isTerminalClose } from './models-DIsQe_Ef.js';
2
+ import { O as OpName } from './models-Di-SL_jw.js';
3
+ export { B as BEARER_PREFIX, g as CLOSE_RULES, h as CancelMsg, j as CatalogFile, k as CatalogModelEntry, l as ClientToCoreMsg, e as ClientType, m as CloseAction, n as CloseCode, o as CloseCodeValue, C as CloseOutcome, p as CloseRule, q as CoreToClientMsg, r as CreditMsg, D as DesktopProtocolError, s as DownloadKind, t as DownloadRow, d as EVENTS, u as EndMsg, E as EndReason, v as ErrorCode, w as ErrorCodeName, x as ErrorData, y as ErrorMsg, z as ErrorReason, A as ErrorReasonName, F as EventMsg, G as EventName, H as FsPatchEditFailure, I as HelloMsg, L as Limits, J as LlamaServerBuild, K as LlmRunning, N as LlmServerState, P as MlCatalogSetParams, Q as MlCatalogSetResult, R as MlInstallPhase, U as MlInstallProgress, f as MlProgress, V as MlRuntimeState, X as MlServiceState, Y as MlServiceStatus, Z as MlStatusParams, _ as MlStatusResult, $ as ModelKey, a0 as ModelsDownloadsCancelParams, a1 as ModelsDownloadsCancelResult, a2 as ModelsDownloadsListParams, a3 as ModelsDownloadsListResult, a4 as ModelsInstallParams, a5 as ModelsInstallResult, a6 as ModelsLlmInstallParams, a7 as ModelsLlmInstallResult, a8 as ModelsLlmStartParams, a9 as ModelsLlmStartResult, aa as ModelsLlmStatusParams, ab as ModelsLlmStatusResult, ac as ModelsLlmStopParams, ad as ModelsLlmStopResult, ae as ModelsProgressEvent, af as ModelsStatusParams, ag as ModelsStatusResult, ah as ModelsTranscribeParams, M as ModelsTranscribeResult, ai as NAMED_SCHEMAS, aj as NamedSchemaId, c as OPS, ak as OpDescriptor, a as OpParams, b as OpResult, al as OpSpec, am as PING_TEXT, an as PONG_TEXT, ao as ProtocolErrorBody, ap as RelayMsg, aq as RequestMsg, ar as ResponseMsg, as as SERVICES, at as SUBPROTOCOL, au as ServiceId, av as ServiceOpName, aw as ServiceOpSpec, ax as ServiceSpec, ay as Sha256Hex, S as StreamMeta, az as StreamMsg, aA as TextModelId, aB as TextModelInfo, aC as TranscriptSegment, T as TranscriptionModelId, aD as TranscriptionModelInfo, W as Welcome, aE as closeRule, i as isDesktopProtocolError, aF as isTerminalClose } from './models-Di-SL_jw.js';
4
4
  export { BROADCAST_CID, DecodedFrame, FRAME_HEADER_BYTES, FRAME_STRUCT_FORMAT, FRAME_VERSION, FrameChannel, FrameChannelValue, FrameFlag, assertFrameHeader, connectionEndFrame, decodeFrame, encodeFrame, hasFlag, isConnectionEnd, readCid, stampCid } from './frame.js';
5
5
 
6
6
  /** @ai-matrx/desktop-protocol — version and primitive schemas. Schema source: lint-enforced rules in scripts/check-schema-source.mjs. */
@@ -132,10 +132,14 @@ declare const PROTOCOL_MAJOR: 1;
132
132
  * serving, pending) and apps.windows.set_remote_control (written while the window is
133
133
  * closed, else queued for its next close). A 1.49 core omits the field and answers
134
134
  * UNKNOWN_OPERATION.
135
+ * 1.52 — Remote Control says when it is wrong: WindowRemoteControl `problem` (a damaged settings
136
+ * file, or why a queued change failed to land) and setting "unreadable". A 1.51 peer is
137
+ * never sent `problem`, and a window whose file is damaged simply has no remote_control
138
+ * for it (it would refuse the unknown setting).
135
139
  */
136
- declare const PROTOCOL_MINOR: 51;
140
+ declare const PROTOCOL_MINOR: 52;
137
141
  /** This package's version as the wire spells it ("major.minor"): hello, welcome, relay status. */
138
- declare const PROTOCOL_VERSION: "1.51";
142
+ declare const PROTOCOL_VERSION: "1.52";
139
143
  /** Internal building blocks — deliberately unnamed in $defs (inlined wherever used). */
140
144
  declare const u32: z.ZodInt;
141
145
  declare const nonNegInt: z.ZodInt;
@@ -2598,12 +2602,14 @@ declare const WindowRemoteControl: z.ZodObject<{
2598
2602
  default: "default";
2599
2603
  on: "on";
2600
2604
  off: "off";
2605
+ unreadable: "unreadable";
2601
2606
  }>;
2602
2607
  serving: z.ZodNullable<z.ZodBoolean>;
2603
2608
  pending: z.ZodNullable<z.ZodEnum<{
2604
2609
  on: "on";
2605
2610
  off: "off";
2606
2611
  }>>;
2612
+ problem: z.ZodOptional<z.ZodString>;
2607
2613
  }, z.core.$strict>;
2608
2614
  type WindowRemoteControl = z.output<typeof WindowRemoteControl>;
2609
2615
  /**
@@ -2627,12 +2633,14 @@ declare const AppsWindowsSetRemoteControlResult: z.ZodObject<{
2627
2633
  default: "default";
2628
2634
  on: "on";
2629
2635
  off: "off";
2636
+ unreadable: "unreadable";
2630
2637
  }>;
2631
2638
  serving: z.ZodNullable<z.ZodBoolean>;
2632
2639
  pending: z.ZodNullable<z.ZodEnum<{
2633
2640
  on: "on";
2634
2641
  off: "off";
2635
2642
  }>>;
2643
+ problem: z.ZodOptional<z.ZodString>;
2636
2644
  }, z.core.$strict>;
2637
2645
  }, z.core.$strict>;
2638
2646
  type AppsWindowsSetRemoteControlResult = z.output<typeof AppsWindowsSetRemoteControlResult>;
@@ -2652,12 +2660,14 @@ declare const AppWindowInfo: z.ZodObject<{
2652
2660
  default: "default";
2653
2661
  on: "on";
2654
2662
  off: "off";
2663
+ unreadable: "unreadable";
2655
2664
  }>;
2656
2665
  serving: z.ZodNullable<z.ZodBoolean>;
2657
2666
  pending: z.ZodNullable<z.ZodEnum<{
2658
2667
  on: "on";
2659
2668
  off: "off";
2660
2669
  }>>;
2670
+ problem: z.ZodOptional<z.ZodString>;
2661
2671
  }, z.core.$strict>>;
2662
2672
  }, z.core.$strict>;
2663
2673
  type AppWindowInfo = z.output<typeof AppWindowInfo>;
@@ -2717,12 +2727,14 @@ declare const AppsWindowsListResult: z.ZodObject<{
2717
2727
  default: "default";
2718
2728
  on: "on";
2719
2729
  off: "off";
2730
+ unreadable: "unreadable";
2720
2731
  }>;
2721
2732
  serving: z.ZodNullable<z.ZodBoolean>;
2722
2733
  pending: z.ZodNullable<z.ZodEnum<{
2723
2734
  on: "on";
2724
2735
  off: "off";
2725
2736
  }>>;
2737
+ problem: z.ZodOptional<z.ZodString>;
2726
2738
  }, z.core.$strict>>;
2727
2739
  }, z.core.$strict>>;
2728
2740
  }, z.core.$strict>;
@@ -10554,6 +10566,9 @@ declare const FIELDS_SINCE: {
10554
10566
  readonly AppWindowInfo: {
10555
10567
  readonly remote_control: "1.50";
10556
10568
  };
10569
+ readonly WindowRemoteControl: {
10570
+ readonly problem: "1.52";
10571
+ };
10557
10572
  readonly AppsInstancesListParams: {
10558
10573
  readonly fresh: "1.51";
10559
10574
  };
@@ -10743,7 +10758,7 @@ declare function forPeer(op: OpName | null, part: "error", value: unknown, versi
10743
10758
  declare const VERSIONED_RESULT_OPS: readonly OpName[];
10744
10759
 
10745
10760
  /** SHA-256 of generated/desktop-protocol.schema.json: the contract both sides of a service connection were built from. */
10746
- declare const CONTRACT_SHA256: "17a170d7662db6a201d4787ac19ce9bbd34696faba04cabedb9d26ba14d15ff4";
10761
+ declare const CONTRACT_SHA256: "e9eba8289b9f07b90d920f5a44b038473fae8597e5b43c1f37a2bbda391edcbd";
10747
10762
 
10748
10763
  /**
10749
10764
  * The local tool catalog (SPEC §10): every tool a platform agent calls on a person's computer, the
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import { z } from "zod";
3
3
  import { UUID_SHAPE_PATTERN } from "@ai-matrx/kit/uuid";
4
4
  var PROTOCOL_MAJOR = 1;
5
- var PROTOCOL_MINOR = 51;
5
+ var PROTOCOL_MINOR = 52;
6
6
  var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
7
7
  var ProtocolVersion = z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
8
8
  var RequestId = z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
@@ -1422,12 +1422,21 @@ var AppsChatsStarResult = z13.strictObject({ chat: ChatRow });
1422
1422
  // src/schema/apps-accounts.ts
1423
1423
  import { z as z14 } from "zod";
1424
1424
  var WindowRemoteControl = z14.strictObject({
1425
- /** As the window's settings file holds it: on, off, or never set (the app's default). */
1426
- setting: z14.enum(["on", "off", "default"]),
1425
+ /**
1426
+ * As the window's settings file holds it: on, off, or never set (the app's default). 1.52:
1427
+ * "unreadable" = the file is there but damaged, so the setting is not known (`problem` says why).
1428
+ */
1429
+ setting: z14.enum(["on", "off", "default", "unreadable"]),
1427
1430
  /** The window serves Remote Control now (its live state says "on"); null: not known (closed, or no state file). */
1428
1431
  serving: z14.boolean().nullable(),
1429
1432
  /** A change queued until the window next closes (or restarts); null: none. */
1430
- pending: z14.enum(["on", "off"]).nullable()
1433
+ pending: z14.enum(["on", "off"]).nullable(),
1434
+ /**
1435
+ * 1.52: why the setting cannot be trusted, as a plain sentence for the person: the settings file is
1436
+ * damaged ("unreadable"), or a queued change failed to land (it stays queued; asking again retries).
1437
+ * Absent: nothing wrong. An older core omits it.
1438
+ */
1439
+ problem: z14.string().max(300).optional()
1431
1440
  });
1432
1441
  var AppWindowInfo = z14.strictObject({
1433
1442
  key: ChatPlace,
@@ -5472,6 +5481,7 @@ var FIELDS_SINCE = {
5472
5481
  "RelayCallResponse|1": { protocol_version: "1.1" },
5473
5482
  WindowInfo: { app: "1.7", pid: "1.7" },
5474
5483
  AppWindowInfo: { remote_control: "1.50" },
5484
+ WindowRemoteControl: { problem: "1.52" },
5475
5485
  AppsInstancesListParams: { fresh: "1.51" },
5476
5486
  AppsInstancesListResult: { as_of_ms: "1.51", refreshing: "1.51" },
5477
5487
  AppsAccountsListParams: { fresh: "1.51" },
@@ -5605,7 +5615,9 @@ var NESTED_RESULTS = /* @__PURE__ */ new Map([
5605
5615
  ["web.scrape", [["pages", "WebScrapePage"]]],
5606
5616
  ["sysinfo.get", [["permissions", "SysinfoGetResult.permissions[]"]]],
5607
5617
  ["models.downloads.list", [["downloads", "DownloadRow"]]],
5608
- ["apps.projects.to_window", [["group", "ProjectMoveGroup"]]]
5618
+ ["apps.projects.to_window", [["group", "ProjectMoveGroup"]]],
5619
+ ["apps.windows.list", [["windows", "AppWindowInfo"]]],
5620
+ ["apps.windows.set_remote_control", [["remote_control", "WindowRemoteControl"]]]
5609
5621
  ]);
5610
5622
  function stripNested(value, nested, version) {
5611
5623
  if (value === null || typeof value !== "object" || Array.isArray(value)) return value;
@@ -5624,6 +5636,23 @@ function stripNested(value, nested, version) {
5624
5636
  }
5625
5637
  return body;
5626
5638
  }
5639
+ function windowListRemoteControlForPeer(value, version) {
5640
+ if (knows(version, "1.52") || value === null || typeof value !== "object") return value;
5641
+ const body = value;
5642
+ if (!Array.isArray(body.windows)) return value;
5643
+ const windows = body.windows;
5644
+ const next = windows.map((w) => {
5645
+ const rc = w?.remote_control;
5646
+ if (rc === null || typeof rc !== "object") return w;
5647
+ if (rc.setting === "unreadable") {
5648
+ const { remote_control: _dropped, ...rest } = w;
5649
+ return rest;
5650
+ }
5651
+ const kept = strip(rc, FIELDS_SINCE.WindowRemoteControl, version);
5652
+ return kept === rc ? w : { ...w, remote_control: kept };
5653
+ });
5654
+ return next.some((w, i) => w !== windows[i]) ? { ...body, windows: next } : value;
5655
+ }
5627
5656
  var WINDOW_RESULTS = /* @__PURE__ */ new Map([
5628
5657
  ["window.list", "windows"],
5629
5658
  ["window.focus", "window"],
@@ -5650,7 +5679,8 @@ function forPeer(op, part, value, version) {
5650
5679
  const known = op === "sysinfo.get" ? permissionsForPeer(value, version) : value;
5651
5680
  const top = path ? strip(known, FIELDS_SINCE[path], version) : known;
5652
5681
  const nested = op ? NESTED_RESULTS.get(op) : void 0;
5653
- return nested ? stripNested(top, nested, version) : top;
5682
+ const stripped = nested ? stripNested(top, nested, version) : top;
5683
+ return op === "apps.windows.list" ? windowListRemoteControlForPeer(stripped, version) : stripped;
5654
5684
  }
5655
5685
  if (value === null || typeof value !== "object") return value;
5656
5686
  const body = value;
@@ -5667,7 +5697,7 @@ function forPeer(op, part, value, version) {
5667
5697
  var VERSIONED_RESULT_OPS = [.../* @__PURE__ */ new Set([...RESULT_PATH.keys(), ...WINDOW_RESULTS.keys(), ...NESTED_RESULTS.keys()])];
5668
5698
 
5669
5699
  // src/contract.ts
5670
- var CONTRACT_SHA256 = "17a170d7662db6a201d4787ac19ce9bbd34696faba04cabedb9d26ba14d15ff4";
5700
+ var CONTRACT_SHA256 = "e9eba8289b9f07b90d920f5a44b038473fae8597e5b43c1f37a2bbda391edcbd";
5671
5701
 
5672
5702
  // src/close-policy.ts
5673
5703
  var CLOSE_RULES = {