@ai-matrx/desktop-protocol 0.21.64 → 0.21.66

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/client.d.cts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { BackoffOptions } from '@ai-matrx/data/realtime';
2
2
  export { RECONNECT_ALARM_ATTEMPTS } from '@ai-matrx/data/realtime';
3
3
  import { z } from 'zod';
4
- import { W as Welcome, D as DesktopProtocolError, C as CloseOutcome, O as OpName, a as OpParams, b as OpResult, c as OPS, S as StreamMeta, E as EndReason, d as EVENTS, e as ClientType, M as ModelsTranscribeResult, T as TranscriptionModelId, f as MlProgress } from './models-B13QkIMu.cjs';
5
- export { i as isDesktopProtocolError } from './models-B13QkIMu.cjs';
4
+ import { W as Welcome, D as DesktopProtocolError, C as CloseOutcome, O as OpName, a as OpParams, b as OpResult, c as OPS, S as StreamMeta, E as EndReason, d as EVENTS, e as ClientType, M as ModelsTranscribeResult, T as TranscriptionModelId, f as MlProgress } from './models-C0Jgv2ev.cjs';
5
+ export { i as isDesktopProtocolError } from './models-C0Jgv2ev.cjs';
6
6
  import { FrameHeader } from './frame.cjs';
7
7
 
8
8
  /** The subset of the WHATWG WebSocket the client uses — browser, React Native, `ws` and Workers all fit. */
package/dist/client.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { BackoffOptions } from '@ai-matrx/data/realtime';
2
2
  export { RECONNECT_ALARM_ATTEMPTS } from '@ai-matrx/data/realtime';
3
3
  import { z } from 'zod';
4
- import { W as Welcome, D as DesktopProtocolError, C as CloseOutcome, O as OpName, a as OpParams, b as OpResult, c as OPS, S as StreamMeta, E as EndReason, d as EVENTS, e as ClientType, M as ModelsTranscribeResult, T as TranscriptionModelId, f as MlProgress } from './models-B13QkIMu.js';
5
- export { i as isDesktopProtocolError } from './models-B13QkIMu.js';
4
+ import { W as Welcome, D as DesktopProtocolError, C as CloseOutcome, O as OpName, a as OpParams, b as OpResult, c as OPS, S as StreamMeta, E as EndReason, d as EVENTS, e as ClientType, M as ModelsTranscribeResult, T as TranscriptionModelId, f as MlProgress } from './models-C0Jgv2ev.js';
5
+ export { i as isDesktopProtocolError } from './models-C0Jgv2ev.js';
6
6
  import { FrameHeader } from './frame.js';
7
7
 
8
8
  /** The subset of the WHATWG WebSocket the client uses — browser, React Native, `ws` and Workers all fit. */
package/dist/client.js CHANGED
@@ -12,7 +12,7 @@ import {
12
12
  Welcome,
13
13
  closeRule,
14
14
  knows
15
- } from "./chunk-server-B5W6NL7W.js";
15
+ } from "./chunk-server-33UKFIXH.js";
16
16
  import {
17
17
  DesktopProtocolError,
18
18
  FRAME_VERSION,
package/dist/index.cjs CHANGED
@@ -865,6 +865,7 @@ __export(src_exports, {
865
865
  WindowMoveParams: () => WindowMoveParams,
866
866
  WindowMoveResult: () => WindowMoveResult,
867
867
  WindowRemoteControl: () => WindowRemoteControl,
868
+ WindowState: () => WindowState,
868
869
  WindowsEvent: () => WindowsEvent,
869
870
  WindowsEventLogParams: () => WindowsEventLogParams,
870
871
  WindowsEventLogResult: () => WindowsEventLogResult,
@@ -914,7 +915,7 @@ module.exports = __toCommonJS(src_exports);
914
915
  var import_zod = require("zod");
915
916
  var import_uuid = require("@ai-matrx/kit/uuid");
916
917
  var PROTOCOL_MAJOR = 1;
917
- var PROTOCOL_MINOR = 65;
918
+ var PROTOCOL_MINOR = 67;
918
919
  var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
919
920
  var ProtocolVersion = import_zod.z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
920
921
  var RequestId = import_zod.z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
@@ -3547,6 +3548,8 @@ var WindowInfo = import_zod24.z.strictObject({
3547
3548
  var WindowListParams = import_zod24.z.strictObject({
3548
3549
  /** Case-insensitive substring of the window title. */
3549
3550
  title: import_zod24.z.string().min(1).max(256).optional(),
3551
+ /** (1.66) Case-insensitive substring of the owning application's name (matrx-local's app_filter). */
3552
+ app: import_zod24.z.string().min(1).max(256).optional(),
3550
3553
  limit: import_zod24.z.int().min(1).max(500).default(100)
3551
3554
  });
3552
3555
  var WindowListResult = import_zod24.z.strictObject({
@@ -3566,8 +3569,17 @@ var WindowMoveParams = import_zod24.z.strictObject({
3566
3569
  height: import_zod24.z.int().min(50).max(16384).optional()
3567
3570
  });
3568
3571
  var WindowMoveResult = import_zod24.z.strictObject({ window: WindowInfo });
3569
- var WindowMinimizeParams = import_zod24.z.strictObject({ id: nonNegInt });
3570
- var WindowMinimizeResult = import_zod24.z.strictObject({ id: nonNegInt });
3572
+ var WindowState = import_zod24.z.enum(["minimize", "maximize", "restore"]);
3573
+ var WindowMinimizeParams = import_zod24.z.strictObject({
3574
+ id: nonNegInt,
3575
+ /** (1.66) minimize (the default), maximize (fill its display), or restore (bring a minimized or maximized window back). */
3576
+ mode: WindowState.optional()
3577
+ });
3578
+ var WindowMinimizeResult = import_zod24.z.strictObject({
3579
+ id: nonNegInt,
3580
+ /** (1.66) What was done. */
3581
+ mode: WindowState.optional()
3582
+ });
3571
3583
 
3572
3584
  // src/schema/input.ts
3573
3585
  var import_zod25 = require("zod");
@@ -4079,16 +4091,27 @@ var AudioRecordParams = import_zod30.z.strictObject({
4079
4091
  /** The microphone (from audio.devices); the default input when absent. */
4080
4092
  device_id: import_zod30.z.string().min(1).max(256).optional(),
4081
4093
  /** Where the WAV file goes; a new file in the temp folder when absent. */
4082
- path: AbsPath.optional()
4094
+ path: AbsPath.optional(),
4095
+ /** (1.66) 1 (mono, the default) or 2 (stereo). */
4096
+ channels: import_zod30.z.int().min(1).max(2).optional(),
4097
+ /** (1.66) Samples per second; the device's own rate when absent. */
4098
+ sample_rate: import_zod30.z.int().min(8e3).max(192e3).optional()
4083
4099
  });
4084
4100
  var AudioRecordResult = import_zod30.z.strictObject({
4085
4101
  path: AbsPath,
4086
4102
  seconds: import_zod30.z.number().min(0),
4087
4103
  bytes: nonNegInt,
4088
4104
  /** Loudest sample, 0–1: 0 means the device gave silence. */
4089
- peak: import_zod30.z.number().min(0).max(1)
4105
+ peak: import_zod30.z.number().min(0).max(1),
4106
+ /** (1.66) The file's channels and sample rate, as written. */
4107
+ channels: import_zod30.z.int().min(1).max(8).optional(),
4108
+ sample_rate: import_zod30.z.int().min(1).max(768e3).optional()
4109
+ });
4110
+ var AudioPlayParams = import_zod30.z.strictObject({
4111
+ path: AbsPath,
4112
+ /** (1.66) The speaker or output (its id from audio.devices' outputs); the system's output when absent. */
4113
+ device_id: import_zod30.z.string().min(1).max(256).optional()
4090
4114
  });
4091
- var AudioPlayParams = import_zod30.z.strictObject({ path: AbsPath });
4092
4115
  var AudioPlayResult = import_zod30.z.strictObject({ path: AbsPath, seconds: import_zod30.z.number().min(0) });
4093
4116
  var AudioLevelsParams = import_zod30.z.strictObject({});
4094
4117
  var AudioLevelsResult = import_zod30.z.strictObject({
@@ -4970,7 +4993,13 @@ var AutomationScriptResult = import_zod37.z.strictObject({
4970
4993
  elapsed_ms: nonNegInt
4971
4994
  });
4972
4995
  var MailAccountsParams = import_zod37.z.strictObject({});
4973
- var MailAccount = import_zod37.z.strictObject({ name: import_zod37.z.string(), emails: import_zod37.z.array(import_zod37.z.string()), enabled: import_zod37.z.boolean() });
4996
+ var MailAccount = import_zod37.z.strictObject({
4997
+ name: import_zod37.z.string(),
4998
+ emails: import_zod37.z.array(import_zod37.z.string()),
4999
+ enabled: import_zod37.z.boolean(),
5000
+ /** (1.67) The account's mailboxes by name (Matrx Local's email_accounts listed them). */
5001
+ mailboxes: import_zod37.z.array(import_zod37.z.string()).optional()
5002
+ });
4974
5003
  var MailAccountsResult = import_zod37.z.strictObject({ accounts: import_zod37.z.array(MailAccount) });
4975
5004
  var MailListParams = import_zod37.z.strictObject({
4976
5005
  /** The account's name in Mail; absent: every account. */
@@ -4995,6 +5024,8 @@ var MailListResult = import_zod37.z.strictObject({ messages: import_zod37.z.arra
4995
5024
  var MailSendParams = import_zod37.z.strictObject({
4996
5025
  to: import_zod37.z.array(import_zod37.z.string().min(3).max(320)).min(1).max(50),
4997
5026
  cc: import_zod37.z.array(import_zod37.z.string().min(3).max(320)).max(50).default([]),
5027
+ /** (1.67) Blind copies (Matrx Local's send_email bcc). */
5028
+ bcc: import_zod37.z.array(import_zod37.z.string().min(3).max(320)).max(50).optional(),
4998
5029
  subject: import_zod37.z.string().max(998),
4999
5030
  body: Text,
5000
5031
  /** The sending account's address; absent: Mail's default. */
@@ -5073,13 +5104,19 @@ var MessagesChat = import_zod37.z.strictObject({
5073
5104
  name: import_zod37.z.string().nullable(),
5074
5105
  participants: import_zod37.z.array(import_zod37.z.string()),
5075
5106
  last_message_at_ms: epochMs.nullable(),
5076
- service: import_zod37.z.string().nullable()
5107
+ service: import_zod37.z.string().nullable(),
5108
+ /** (1.67) The newest message's text (Matrx Local's list_conversations preview); absent when it has none. */
5109
+ last_message: import_zod37.z.string().optional()
5077
5110
  });
5078
5111
  var MessagesChatsResult = import_zod37.z.strictObject({ chats: import_zod37.z.array(MessagesChat) });
5079
5112
  var MessagesListParams = import_zod37.z.strictObject({
5080
5113
  /** One chat (messages.chats' chat_id); absent: the newest across all. */
5081
5114
  chat_id: import_zod37.z.string().min(1).max(512).optional(),
5082
- limit: import_zod37.z.int().min(1).max(500).default(50)
5115
+ limit: import_zod37.z.int().min(1).max(500).default(50),
5116
+ /** (1.67) Only messages with this handle or chat name in them (partial: a phone, an email, a name). */
5117
+ contact: import_zod37.z.string().min(1).max(320).optional(),
5118
+ /** (1.67) Only messages not yet read. */
5119
+ unread_only: import_zod37.z.boolean().optional()
5083
5120
  });
5084
5121
  var MessagesMessage = import_zod37.z.strictObject({
5085
5122
  id: import_zod37.z.string(),
@@ -5088,7 +5125,13 @@ var MessagesMessage = import_zod37.z.strictObject({
5088
5125
  from_me: import_zod37.z.boolean(),
5089
5126
  /** The other person's handle (phone or email); null for the person's own messages. */
5090
5127
  sender: import_zod37.z.string().nullable(),
5091
- sent_at_ms: epochMs.nullable()
5128
+ sent_at_ms: epochMs.nullable(),
5129
+ /** (1.67) Whether it has been read. */
5130
+ read: import_zod37.z.boolean().optional(),
5131
+ /** (1.67) iMessage, SMS or RCS, as the Messages database says. */
5132
+ service: import_zod37.z.string().optional(),
5133
+ /** (1.67) The chat's name (group chats); absent for a one-to-one chat. */
5134
+ chat_name: import_zod37.z.string().optional()
5092
5135
  });
5093
5136
  var MessagesListResult = import_zod37.z.strictObject({ messages: import_zod37.z.array(MessagesMessage) });
5094
5137
  var MessagesSendParams = import_zod37.z.strictObject({
@@ -5103,8 +5146,8 @@ var MessagesSendParams = import_zod37.z.strictObject({
5103
5146
  });
5104
5147
  var MessagesSendResult = import_zod37.z.strictObject({ sent: import_zod37.z.boolean() });
5105
5148
  var ContactsSearchParams = import_zod37.z.strictObject({
5106
- /** Matched against names, organizations, emails and phone numbers. */
5107
- query: import_zod37.z.string().min(1).max(256),
5149
+ /** Matched against names, organizations, emails and phone numbers; absent (1.67): the first `limit` contacts. */
5150
+ query: import_zod37.z.string().min(1).max(256).optional(),
5108
5151
  limit: import_zod37.z.int().min(1).max(200).default(25)
5109
5152
  });
5110
5153
  var ContactLabeled = import_zod37.z.strictObject({ label: import_zod37.z.string().nullable(), value: import_zod37.z.string() });
@@ -5134,6 +5177,8 @@ var CalendarListParams = import_zod37.z.strictObject({
5134
5177
  to_ms: epochMs,
5135
5178
  /** One calendar's name; absent: every calendar. */
5136
5179
  calendar: import_zod37.z.string().min(1).max(256).optional(),
5180
+ /** (1.67) Several calendars by name (Matrx Local's calendar_names); with `calendar`, both count. */
5181
+ calendars: import_zod37.z.array(import_zod37.z.string().min(1).max(256)).min(1).max(100).optional(),
5137
5182
  limit: import_zod37.z.int().min(1).max(500).default(100)
5138
5183
  });
5139
5184
  var CalendarEvent = import_zod37.z.strictObject({
@@ -5144,7 +5189,9 @@ var CalendarEvent = import_zod37.z.strictObject({
5144
5189
  all_day: import_zod37.z.boolean(),
5145
5190
  calendar: import_zod37.z.string(),
5146
5191
  location: import_zod37.z.string().nullable(),
5147
- notes: import_zod37.z.string().nullable()
5192
+ notes: import_zod37.z.string().nullable(),
5193
+ /** (1.67) The event's link; absent when it has none. */
5194
+ url: import_zod37.z.string().optional()
5148
5195
  });
5149
5196
  var CalendarListResult = import_zod37.z.strictObject({ events: import_zod37.z.array(CalendarEvent) });
5150
5197
  var CalendarCreateParams = import_zod37.z.strictObject({
@@ -5161,6 +5208,8 @@ var CalendarCreateResult = import_zod37.z.strictObject({ id: import_zod37.z.stri
5161
5208
  var RemindersListParams = import_zod37.z.strictObject({
5162
5209
  /** One list's name; absent: every list. */
5163
5210
  list: import_zod37.z.string().min(1).max(256).optional(),
5211
+ /** (1.67) Several lists by name (Matrx Local's list_names); with `list`, both count. */
5212
+ lists: import_zod37.z.array(import_zod37.z.string().min(1).max(256)).min(1).max(100).optional(),
5164
5213
  include_completed: import_zod37.z.boolean().default(false),
5165
5214
  limit: import_zod37.z.int().min(1).max(500).default(100)
5166
5215
  });
@@ -5170,7 +5219,11 @@ var Reminder = import_zod37.z.strictObject({
5170
5219
  list: import_zod37.z.string(),
5171
5220
  due_ms: epochMs.nullable(),
5172
5221
  completed: import_zod37.z.boolean(),
5173
- notes: import_zod37.z.string().nullable()
5222
+ notes: import_zod37.z.string().nullable(),
5223
+ /** (1.67) 0 none, 1 high … 9 low (EventKit's scale). */
5224
+ priority: import_zod37.z.int().min(0).max(9).optional(),
5225
+ /** (1.67) When it was completed; absent while open. */
5226
+ completed_at_ms: epochMs.optional()
5174
5227
  });
5175
5228
  var RemindersListResult = import_zod37.z.strictObject({ reminders: import_zod37.z.array(Reminder) });
5176
5229
  var RemindersCreateParams = import_zod37.z.strictObject({
@@ -5186,6 +5239,8 @@ var PhotosSearchParams = import_zod37.z.strictObject({
5186
5239
  from_ms: epochMs.optional(),
5187
5240
  to_ms: epochMs.optional(),
5188
5241
  favorites_only: import_zod37.z.boolean().default(false),
5242
+ /** (1.67) image, video or all (Matrx Local's media_type); absent: all. */
5243
+ media_type: import_zod37.z.enum(["image", "video", "all"]).optional(),
5189
5244
  limit: import_zod37.z.int().min(1).max(200).default(25)
5190
5245
  });
5191
5246
  var Photo = import_zod37.z.strictObject({
@@ -5195,15 +5250,26 @@ var Photo = import_zod37.z.strictObject({
5195
5250
  width: nonNegInt.nullable(),
5196
5251
  height: nonNegInt.nullable(),
5197
5252
  favorite: import_zod37.z.boolean(),
5198
- title: import_zod37.z.string().nullable()
5253
+ title: import_zod37.z.string().nullable(),
5254
+ /** (1.67) What the asset is. */
5255
+ media_type: import_zod37.z.enum(["image", "video", "audio", "unknown"]).optional(),
5256
+ /** (1.67) A video's length in seconds; absent for a still. */
5257
+ duration_s: import_zod37.z.number().min(0).optional()
5199
5258
  });
5200
5259
  var PhotosSearchResult = import_zod37.z.strictObject({ photos: import_zod37.z.array(Photo) });
5201
5260
  var PhotosGetParams = import_zod37.z.strictObject({
5202
5261
  id: import_zod37.z.string().min(1).max(256),
5203
5262
  /** Copy the original into a folder Matrx 2 owns and answer its path (then fs_read or desktop_documents reads it). */
5204
- export: import_zod37.z.boolean().default(false)
5263
+ export: import_zod37.z.boolean().default(false),
5264
+ /** (1.67) Also answer a PNG thumbnail no larger than this many pixels a side (Matrx Local's get_photo thumbnail). */
5265
+ thumbnail_size: import_zod37.z.int().min(64).max(2048).optional()
5266
+ });
5267
+ var PhotosGetResult = import_zod37.z.strictObject({
5268
+ photo: Photo,
5269
+ path: import_zod37.z.string().nullable(),
5270
+ /** (1.67) The thumbnail as base64 PNG, when thumbnail_size asked for one; absent when it could not be drawn. */
5271
+ thumbnail_png_base64: import_zod37.z.string().optional()
5205
5272
  });
5206
- var PhotosGetResult = import_zod37.z.strictObject({ photo: Photo, path: import_zod37.z.string().nullable() });
5207
5273
  var LocationGetParams = import_zod37.z.strictObject({ timeout_s: import_zod37.z.int().min(1).max(60).default(15) });
5208
5274
  var LocationGetResult = import_zod37.z.strictObject({
5209
5275
  latitude: import_zod37.z.number().min(-90).max(90),
@@ -5212,7 +5278,12 @@ var LocationGetResult = import_zod37.z.strictObject({
5212
5278
  accuracy_m: import_zod37.z.number().min(0).nullable(),
5213
5279
  at_ms: epochMs,
5214
5280
  /** Who answered: the OS's own location service. */
5215
- source: import_zod37.z.enum(["corelocation", "windows", "geoclue"])
5281
+ source: import_zod37.z.enum(["corelocation", "windows", "geoclue"]),
5282
+ /** (1.67) Metres above sea level, its accuracy, speed (m/s) and course (degrees); absent where the OS does not say. */
5283
+ altitude_m: import_zod37.z.number().optional(),
5284
+ vertical_accuracy_m: import_zod37.z.number().min(0).optional(),
5285
+ speed_mps: import_zod37.z.number().min(0).optional(),
5286
+ course_deg: import_zod37.z.number().min(0).max(360).optional()
5216
5287
  });
5217
5288
 
5218
5289
  // src/schema/windows.ts
@@ -5244,6 +5315,8 @@ var WindowsRegistryWriteResult = import_zod38.z.strictObject({ key: import_zod38
5244
5315
  var WindowsServicesParams = import_zod38.z.strictObject({
5245
5316
  /** Matched against the service's name and display name. */
5246
5317
  filter: import_zod38.z.string().min(1).max(256).optional(),
5318
+ /** (1.67) Only services in this state (Matrx Local's service_list status). */
5319
+ status: import_zod38.z.enum(["running", "stopped", "paused"]).optional(),
5247
5320
  limit: import_zod38.z.int().min(1).max(1e3).default(200)
5248
5321
  });
5249
5322
  var WindowsService = import_zod38.z.strictObject({
@@ -5257,7 +5330,8 @@ var WindowsService = import_zod38.z.strictObject({
5257
5330
  var WindowsServicesResult = import_zod38.z.strictObject({ services: import_zod38.z.array(WindowsService) });
5258
5331
  var WindowsServiceControlParams = import_zod38.z.strictObject({
5259
5332
  name: import_zod38.z.string().min(1).max(256),
5260
- action: import_zod38.z.enum(["start", "stop", "restart"])
5333
+ /** pause and resume since 1.67 (Matrx Local's service_control). */
5334
+ action: import_zod38.z.enum(["start", "stop", "restart", "pause", "resume"])
5261
5335
  });
5262
5336
  var WindowsServiceControlResult = import_zod38.z.strictObject({ name: import_zod38.z.string(), status: import_zod38.z.string() });
5263
5337
  var WindowsEventLogParams = import_zod38.z.strictObject({
@@ -5265,6 +5339,8 @@ var WindowsEventLogParams = import_zod38.z.strictObject({
5265
5339
  /** Only these levels; absent: all. */
5266
5340
  levels: import_zod38.z.array(import_zod38.z.enum(["critical", "error", "warning", "information", "verbose"])).max(5).optional(),
5267
5341
  since_ms: epochMs.optional(),
5342
+ /** (1.67) Only events whose source (provider) name contains this. */
5343
+ source: import_zod38.z.string().min(1).max(256).optional(),
5268
5344
  limit: import_zod38.z.int().min(1).max(500).default(50)
5269
5345
  });
5270
5346
  var WindowsEvent = import_zod38.z.strictObject({
@@ -5275,7 +5351,11 @@ var WindowsEvent = import_zod38.z.strictObject({
5275
5351
  message: import_zod38.z.string()
5276
5352
  });
5277
5353
  var WindowsEventLogResult = import_zod38.z.strictObject({ log: import_zod38.z.string(), events: import_zod38.z.array(WindowsEvent) });
5278
- var WindowsFeaturesParams = import_zod38.z.strictObject({ filter: import_zod38.z.string().min(1).max(256).optional() });
5354
+ var WindowsFeaturesParams = import_zod38.z.strictObject({
5355
+ filter: import_zod38.z.string().min(1).max(256).optional(),
5356
+ /** (1.67) Only features that are on (Matrx Local's windows_features installed_only). */
5357
+ installed_only: import_zod38.z.boolean().optional()
5358
+ });
5279
5359
  var WindowsFeature = import_zod38.z.strictObject({ name: import_zod38.z.string(), state: import_zod38.z.string() });
5280
5360
  var WindowsFeaturesResult = import_zod38.z.strictObject({ features: import_zod38.z.array(WindowsFeature) });
5281
5361
 
@@ -6141,6 +6221,7 @@ var NAMED_SCHEMAS = {
6141
6221
  WindowMoveResult,
6142
6222
  WindowMinimizeParams,
6143
6223
  WindowMinimizeResult,
6224
+ WindowState,
6144
6225
  InputKey,
6145
6226
  InputKeyboardSettingsParams,
6146
6227
  InputKeyboardSettingsResult,
@@ -6660,6 +6741,12 @@ var FIELDS_SINCE = {
6660
6741
  ResourcesDisk: { name: "1.17" },
6661
6742
  StackServer: { cpu_percent: "1.18", memory_bytes: "1.18" },
6662
6743
  AudioDevice: { kind: "1.24" },
6744
+ AudioRecordParams: { channels: "1.66", sample_rate: "1.66" },
6745
+ AudioRecordResult: { channels: "1.66", sample_rate: "1.66" },
6746
+ AudioPlayParams: { device_id: "1.66" },
6747
+ WindowListParams: { app: "1.66" },
6748
+ WindowMinimizeParams: { mode: "1.66" },
6749
+ WindowMinimizeResult: { mode: "1.66" },
6663
6750
  ScreenDisplay: { rotation: "1.24", refresh_hz: "1.24", builtin: "1.24" },
6664
6751
  PowerStatusResult: { energy: "1.24" },
6665
6752
  AppsSpendResult: { days: "1.24" },
@@ -6676,6 +6763,24 @@ var FIELDS_SINCE = {
6676
6763
  SysinfoGetResult: { requirements: "1.41" },
6677
6764
  "SysinfoGetResult.permissions[]": { detail: "1.41" },
6678
6765
  MessagesSendParams: { service: "1.42" },
6766
+ // 1.67: Matrx Local's local_mac_apps and local_windows_ps contracts, carried whole.
6767
+ MailAccount: { mailboxes: "1.67" },
6768
+ MailSendParams: { bcc: "1.67" },
6769
+ MessagesChat: { last_message: "1.67" },
6770
+ MessagesListParams: { contact: "1.67", unread_only: "1.67" },
6771
+ MessagesMessage: { read: "1.67", service: "1.67", chat_name: "1.67" },
6772
+ CalendarListParams: { calendars: "1.67" },
6773
+ CalendarEvent: { url: "1.67" },
6774
+ RemindersListParams: { lists: "1.67" },
6775
+ Reminder: { priority: "1.67", completed_at_ms: "1.67" },
6776
+ PhotosSearchParams: { media_type: "1.67" },
6777
+ Photo: { media_type: "1.67", duration_s: "1.67" },
6778
+ PhotosGetParams: { thumbnail_size: "1.67" },
6779
+ PhotosGetResult: { thumbnail_png_base64: "1.67" },
6780
+ LocationGetResult: { altitude_m: "1.67", vertical_accuracy_m: "1.67", speed_mps: "1.67", course_deg: "1.67" },
6781
+ WindowsServicesParams: { status: "1.67" },
6782
+ WindowsEventLogParams: { source: "1.67" },
6783
+ WindowsFeaturesParams: { installed_only: "1.67" },
6679
6784
  SysinfoHardwareResult: { graphics: "1.45" },
6680
6785
  DownloadRow: { error: "1.46" },
6681
6786
  CopyRestart: { reopened: "1.60" }
@@ -6760,7 +6865,10 @@ var RESULT_PATH = /* @__PURE__ */ new Map([
6760
6865
  ["web.fetch_with_browser", "WebBrowserFetchResult"],
6761
6866
  ["sysinfo.get", "SysinfoGetResult"],
6762
6867
  ["sysinfo.hardware", "SysinfoHardwareResult"],
6763
- ["apps.projects.to_window", "AppsProjectsToWindowResult"]
6868
+ ["apps.projects.to_window", "AppsProjectsToWindowResult"],
6869
+ // 1.67: Matrx Local's local_mac_apps result fields.
6870
+ ["photos.get", "PhotosGetResult"],
6871
+ ["location.get", "LocationGetResult"]
6764
6872
  ]);
6765
6873
  var NESTED_RESULTS = /* @__PURE__ */ new Map([
6766
6874
  ["apps.chats.list", [["chats", "ChatRow"]]],
@@ -6784,6 +6892,14 @@ var NESTED_RESULTS = /* @__PURE__ */ new Map([
6784
6892
  // 1.63: what an instance record still lacks.
6785
6893
  ["apps.instances.list", [["instances", "AppInstance"]]],
6786
6894
  ["apps.windows.set_remote_control", [["remote_control", "WindowRemoteControl"]]],
6895
+ // 1.67: Matrx Local's local_mac_apps result fields.
6896
+ ["mail.accounts", [["accounts", "MailAccount"]]],
6897
+ ["messages.chats", [["chats", "MessagesChat"]]],
6898
+ ["messages.list", [["messages", "MessagesMessage"]]],
6899
+ ["calendar.list", [["events", "CalendarEvent"]]],
6900
+ ["reminders.list", [["reminders", "Reminder"]]],
6901
+ ["photos.search", [["photos", "Photo"]]],
6902
+ ["photos.get", [["photo", "Photo"]]],
6787
6903
  ["coding.providers", [["providers", "CodingProviderStatus"]]],
6788
6904
  // 1.57: the account a coding record belongs to.
6789
6905
  ["coding.sessions.list", [["sessions", "CodingSessionRecord"], ["recent", "CodingRecentRow"]]],
@@ -6910,7 +7026,7 @@ function forPeer(op, part, value, version) {
6910
7026
  var VERSIONED_RESULT_OPS = [.../* @__PURE__ */ new Set([...RESULT_PATH.keys(), ...WINDOW_RESULTS.keys(), ...NESTED_RESULTS.keys()])];
6911
7027
 
6912
7028
  // src/contract.ts
6913
- var CONTRACT_SHA256 = "5f948a2ff8eb9390240f311461546c850c170e3b633195a2aa80daf1084f4009";
7029
+ var CONTRACT_SHA256 = "256927253d8ef5d1d79a347a7cefe6198ca2364b582a0b74b9ceb0fb53d4e183";
6914
7030
 
6915
7031
  // src/close-policy.ts
6916
7032
  var CLOSE_RULES = {