@ai-matrx/desktop-protocol 0.21.28 → 0.21.30

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.cjs CHANGED
@@ -22,8 +22,19 @@ var src_exports = {};
22
22
  __export(src_exports, {
23
23
  AbsPath: () => AbsPath,
24
24
  AccountAgent: () => AccountAgent,
25
+ AccountAgentDetail: () => AccountAgentDetail,
26
+ AccountAgentRun: () => AccountAgentRun,
27
+ AccountAgentRunSort: () => AccountAgentRunSort,
28
+ AccountAgentRunStatus: () => AccountAgentRunStatus,
29
+ AccountAgentVariable: () => AccountAgentVariable,
30
+ AccountAgentsFavoriteParams: () => AccountAgentsFavoriteParams,
31
+ AccountAgentsFavoriteResult: () => AccountAgentsFavoriteResult,
32
+ AccountAgentsGetParams: () => AccountAgentsGetParams,
33
+ AccountAgentsGetResult: () => AccountAgentsGetResult,
25
34
  AccountAgentsListParams: () => AccountAgentsListParams,
26
35
  AccountAgentsListResult: () => AccountAgentsListResult,
36
+ AccountAgentsRunsParams: () => AccountAgentsRunsParams,
37
+ AccountAgentsRunsResult: () => AccountAgentsRunsResult,
27
38
  AccountReadState: () => AccountReadState,
28
39
  AccountReset: () => AccountReset,
29
40
  AccountRowId: () => AccountRowId,
@@ -124,6 +135,8 @@ __export(src_exports, {
124
135
  AudioRecordParams: () => AudioRecordParams,
125
136
  AudioRecordResult: () => AudioRecordResult,
126
137
  AudioSetLevelsParams: () => AudioSetLevelsParams,
138
+ AutomationScriptParams: () => AutomationScriptParams,
139
+ AutomationScriptResult: () => AutomationScriptResult,
127
140
  BEARER_PREFIX: () => BEARER_PREFIX,
128
141
  BROADCAST_CID: () => BROADCAST_CID,
129
142
  BrowserCallError: () => BrowserCallError,
@@ -135,6 +148,9 @@ __export(src_exports, {
135
148
  BrowserDisconnectResult: () => BrowserDisconnectResult,
136
149
  BrowserInvokeEvent: () => BrowserInvokeEvent,
137
150
  BrowserKind: () => BrowserKind,
151
+ BrowserLogMessage: () => BrowserLogMessage,
152
+ BrowserLogParams: () => BrowserLogParams,
153
+ BrowserLogResult: () => BrowserLogResult,
138
154
  BrowserPairCodeParams: () => BrowserPairCodeParams,
139
155
  BrowserPairCodeResult: () => BrowserPairCodeResult,
140
156
  BrowserPairRequest: () => BrowserPairRequest,
@@ -145,6 +161,8 @@ __export(src_exports, {
145
161
  BrowserProgressResult: () => BrowserProgressResult,
146
162
  BrowserRegisterParams: () => BrowserRegisterParams,
147
163
  BrowserRegisterResult: () => BrowserRegisterResult,
164
+ BrowserResetCountersParams: () => BrowserResetCountersParams,
165
+ BrowserResetCountersResult: () => BrowserResetCountersResult,
148
166
  BrowserResultParams: () => BrowserResultParams,
149
167
  BrowserResultResult: () => BrowserResultResult,
150
168
  BrowserSession: () => BrowserSession,
@@ -154,8 +172,16 @@ __export(src_exports, {
154
172
  BrowserSessionsResult: () => BrowserSessionsResult,
155
173
  BrowserSetEnabledParams: () => BrowserSetEnabledParams,
156
174
  BrowserSetEnabledResult: () => BrowserSetEnabledResult,
175
+ BrowserToolMetric: () => BrowserToolMetric,
176
+ BrowserToolMetricsParams: () => BrowserToolMetricsParams,
177
+ BrowserToolMetricsResult: () => BrowserToolMetricsResult,
157
178
  CLOSE_RULES: () => CLOSE_RULES,
158
179
  CONTRACT_SHA256: () => CONTRACT_SHA256,
180
+ CalendarCreateParams: () => CalendarCreateParams,
181
+ CalendarCreateResult: () => CalendarCreateResult,
182
+ CalendarEvent: () => CalendarEvent,
183
+ CalendarListParams: () => CalendarListParams,
184
+ CalendarListResult: () => CalendarListResult,
159
185
  CancelMsg: () => CancelMsg,
160
186
  ChatAppProject: () => ChatAppProject,
161
187
  ChatFamily: () => ChatFamily,
@@ -177,18 +203,108 @@ __export(src_exports, {
177
203
  ClipboardWriteResult: () => ClipboardWriteResult,
178
204
  CloseCode: () => CloseCode,
179
205
  CloseCodeValue: () => CloseCodeValue,
206
+ CodingActiveElsewhere: () => CodingActiveElsewhere,
207
+ CodingActivityParams: () => CodingActivityParams,
208
+ CodingActivityResult: () => CodingActivityResult,
209
+ CodingAgentSelectionParams: () => CodingAgentSelectionParams,
210
+ CodingAgentSetParams: () => CodingAgentSetParams,
211
+ CodingAgentSetResult: () => CodingAgentSetResult,
212
+ CodingAgentsAccessParams: () => CodingAgentsAccessParams,
213
+ CodingAgentsAccessResult: () => CodingAgentsAccessResult,
214
+ CodingChangedEvent: () => CodingChangedEvent,
215
+ CodingChatPreference: () => CodingChatPreference,
216
+ CodingClientRequestId: () => CodingClientRequestId,
217
+ CodingDiscoverParams: () => CodingDiscoverParams,
218
+ CodingDiscoverResult: () => CodingDiscoverResult,
219
+ CodingDiscoveredChat: () => CodingDiscoveredChat,
220
+ CodingFolderCheck: () => CodingFolderCheck,
221
+ CodingFoldersCheckParams: () => CodingFoldersCheckParams,
222
+ CodingFoldersCheckResult: () => CodingFoldersCheckResult,
223
+ CodingFoldersCreateParams: () => CodingFoldersCreateParams,
224
+ CodingFoldersCreateResult: () => CodingFoldersCreateResult,
225
+ CodingFoldersRecentParams: () => CodingFoldersRecentParams,
226
+ CodingFoldersRecentResult: () => CodingFoldersRecentResult,
227
+ CodingGapEvent: () => CodingGapEvent,
180
228
  CodingHistoryBlocked: () => CodingHistoryBlocked,
181
229
  CodingHistoryFailure: () => CodingHistoryFailure,
182
230
  CodingHistoryImportMissingParams: () => CodingHistoryImportMissingParams,
183
231
  CodingHistoryImportMissingResult: () => CodingHistoryImportMissingResult,
232
+ CodingHistoryParams: () => CodingHistoryParams,
184
233
  CodingHistoryProgressEvent: () => CodingHistoryProgressEvent,
234
+ CodingHistoryRecord: () => CodingHistoryRecord,
235
+ CodingHistoryResult: () => CodingHistoryResult,
185
236
  CodingHistoryRun: () => CodingHistoryRun,
186
237
  CodingHistoryStep: () => CodingHistoryStep,
187
238
  CodingImportNextParams: () => CodingImportNextParams,
239
+ CodingItemEvent: () => CodingItemEvent,
240
+ CodingItemFullParams: () => CodingItemFullParams,
241
+ CodingItemFullResult: () => CodingItemFullResult,
242
+ CodingOptionsSetParams: () => CodingOptionsSetParams,
243
+ CodingOptionsSetResult: () => CodingOptionsSetResult,
188
244
  CodingPlanMissingParams: () => CodingPlanMissingParams,
245
+ CodingPrefsListParams: () => CodingPrefsListParams,
246
+ CodingPrefsListResult: () => CodingPrefsListResult,
247
+ CodingPrefsSetParams: () => CodingPrefsSetParams,
248
+ CodingPrefsSetResult: () => CodingPrefsSetResult,
249
+ CodingProviderBinary: () => CodingProviderBinary,
250
+ CodingProviderName: () => CodingProviderName,
251
+ CodingProviderProblem: () => CodingProviderProblem,
252
+ CodingProviderStatus: () => CodingProviderStatus,
253
+ CodingProvidersParams: () => CodingProvidersParams,
254
+ CodingProvidersResult: () => CodingProvidersResult,
255
+ CodingQuotaWindow: () => CodingQuotaWindow,
256
+ CodingRecentFolder: () => CodingRecentFolder,
257
+ CodingRecentRow: () => CodingRecentRow,
258
+ CodingRecentSeenParams: () => CodingRecentSeenParams,
259
+ CodingRecentSeenResult: () => CodingRecentSeenResult,
260
+ CodingReconcileParams: () => CodingReconcileParams,
261
+ CodingReconcileResult: () => CodingReconcileResult,
262
+ CodingRunRecord: () => CodingRunRecord,
263
+ CodingRunStatus: () => CodingRunStatus,
264
+ CodingRunUsage: () => CodingRunUsage,
265
+ CodingRunsListParams: () => CodingRunsListParams,
266
+ CodingRunsListResult: () => CodingRunsListResult,
267
+ CodingSearchParams: () => CodingSearchParams,
268
+ CodingSearchResult: () => CodingSearchResult,
269
+ CodingSendParams: () => CodingSendParams,
270
+ CodingSendResult: () => CodingSendResult,
189
271
  CodingServiceCredentials: () => CodingServiceCredentials,
190
272
  CodingServiceProgress: () => CodingServiceProgress,
273
+ CodingSessionAgent: () => CodingSessionAgent,
274
+ CodingSessionAgentPart: () => CodingSessionAgentPart,
275
+ CodingSessionRecord: () => CodingSessionRecord,
276
+ CodingSessionWatchParams: () => CodingSessionWatchParams,
277
+ CodingSessionWatchResult: () => CodingSessionWatchResult,
278
+ CodingSessionsListParams: () => CodingSessionsListParams,
279
+ CodingSessionsListResult: () => CodingSessionsListResult,
280
+ CodingStartParams: () => CodingStartParams,
281
+ CodingStartResult: () => CodingStartResult,
282
+ CodingStartedBy: () => CodingStartedBy,
283
+ CodingStopElsewhereParams: () => CodingStopElsewhereParams,
284
+ CodingStopElsewhereResult: () => CodingStopElsewhereResult,
285
+ CodingStopParams: () => CodingStopParams,
286
+ CodingStopResult: () => CodingStopResult,
287
+ CodingTakeoverParams: () => CodingTakeoverParams,
288
+ CodingTakeoverResult: () => CodingTakeoverResult,
289
+ CodingTitleStatus: () => CodingTitleStatus,
290
+ CodingTitlesStatusParams: () => CodingTitlesStatusParams,
291
+ CodingTitlesStatusResult: () => CodingTitlesStatusResult,
292
+ CodingTranscriptItem: () => CodingTranscriptItem,
293
+ CodingTranscriptRawParams: () => CodingTranscriptRawParams,
294
+ CodingTranscriptRawResult: () => CodingTranscriptRawResult,
295
+ CodingTranscriptReadParams: () => CodingTranscriptReadParams,
296
+ CodingTranscriptReadResult: () => CodingTranscriptReadResult,
297
+ CodingWatchParams: () => CodingWatchParams,
298
+ CodingWatchResult: () => CodingWatchResult,
299
+ CodingWatchStateEvent: () => CodingWatchStateEvent,
191
300
  ColdChat: () => ColdChat,
301
+ ContactDetail: () => ContactDetail,
302
+ ContactLabeled: () => ContactLabeled,
303
+ ContactSummary: () => ContactSummary,
304
+ ContactsGetParams: () => ContactsGetParams,
305
+ ContactsGetResult: () => ContactsGetResult,
306
+ ContactsSearchParams: () => ContactsSearchParams,
307
+ ContactsSearchResult: () => ContactsSearchResult,
192
308
  ContractHash: () => ContractHash,
193
309
  CoreToClientMsg: () => CoreToClientMsg,
194
310
  CoreToServiceMsg: () => CoreToServiceMsg,
@@ -197,6 +313,7 @@ __export(src_exports, {
197
313
  DEFAULT_MAX_MESSAGE_BYTES: () => DEFAULT_MAX_MESSAGE_BYTES,
198
314
  DEFAULT_WINDOW_BYTES: () => DEFAULT_WINDOW_BYTES,
199
315
  DISCOVERY_FILE: () => DISCOVERY_FILE,
316
+ DOCUMENTS_MAX_TEXT_CHARS: () => DOCUMENTS_MAX_TEXT_CHARS,
200
317
  DesktopHealth: () => DesktopHealth,
201
318
  DesktopProtocolError: () => DesktopProtocolError,
202
319
  DeviceId: () => DeviceId,
@@ -209,10 +326,27 @@ __export(src_exports, {
209
326
  DiagErrorsReportParams: () => DiagErrorsReportParams,
210
327
  DiagErrorsReportResult: () => DiagErrorsReportResult,
211
328
  DiagProcess: () => DiagProcess,
329
+ DocumentsImageResizeParams: () => DocumentsImageResizeParams,
330
+ DocumentsImageResizeResult: () => DocumentsImageResizeResult,
331
+ DocumentsOcrLine: () => DocumentsOcrLine,
332
+ DocumentsOcrParams: () => DocumentsOcrParams,
333
+ DocumentsOcrResult: () => DocumentsOcrResult,
334
+ DocumentsOfficeGenerateParams: () => DocumentsOfficeGenerateParams,
335
+ DocumentsOfficeGenerateResult: () => DocumentsOfficeGenerateResult,
336
+ DocumentsParagraph: () => DocumentsParagraph,
337
+ DocumentsPdfPage: () => DocumentsPdfPage,
338
+ DocumentsPdfTextParams: () => DocumentsPdfTextParams,
339
+ DocumentsPdfTextResult: () => DocumentsPdfTextResult,
340
+ DocumentsSheet: () => DocumentsSheet,
212
341
  EVENTS: () => EVENTS,
213
342
  EXCLUDED_TOOLS: () => EXCLUDED_TOOLS,
214
343
  EndMsg: () => EndMsg,
215
344
  EndReason: () => EndReason,
345
+ EntitiesNerParams: () => EntitiesNerParams,
346
+ EntitiesNerResult: () => EntitiesNerResult,
347
+ EntitiesPiiParams: () => EntitiesPiiParams,
348
+ EntitiesPiiResult: () => EntitiesPiiResult,
349
+ EntitySpan: () => EntitySpan,
216
350
  ErrorCode: () => ErrorCode,
217
351
  ErrorMsg: () => ErrorMsg,
218
352
  ErrorReason: () => ErrorReason,
@@ -333,7 +467,25 @@ __export(src_exports, {
333
467
  Limits: () => Limits,
334
468
  LlmRunning: () => LlmRunning,
335
469
  LlmServerState: () => LlmServerState,
470
+ LocationGetParams: () => LocationGetParams,
471
+ LocationGetResult: () => LocationGetResult,
336
472
  MATRX_EXTENSION_IDS: () => MATRX_EXTENSION_IDS,
473
+ MailAccount: () => MailAccount,
474
+ MailAccountsParams: () => MailAccountsParams,
475
+ MailAccountsResult: () => MailAccountsResult,
476
+ MailListParams: () => MailListParams,
477
+ MailListResult: () => MailListResult,
478
+ MailMessage: () => MailMessage,
479
+ MailSendParams: () => MailSendParams,
480
+ MailSendResult: () => MailSendResult,
481
+ MessagesChat: () => MessagesChat,
482
+ MessagesChatsParams: () => MessagesChatsParams,
483
+ MessagesChatsResult: () => MessagesChatsResult,
484
+ MessagesListParams: () => MessagesListParams,
485
+ MessagesListResult: () => MessagesListResult,
486
+ MessagesMessage: () => MessagesMessage,
487
+ MessagesSendParams: () => MessagesSendParams,
488
+ MessagesSendResult: () => MessagesSendResult,
337
489
  MlInstallPhase: () => MlInstallPhase,
338
490
  MlInstallProgress: () => MlInstallProgress,
339
491
  MlProgress: () => MlProgress,
@@ -359,6 +511,39 @@ __export(src_exports, {
359
511
  ModelsTranscribeResult: () => ModelsTranscribeResult,
360
512
  NAMED_SCHEMAS: () => NAMED_SCHEMAS,
361
513
  NULL_SINCE: () => NULL_SINCE,
514
+ NetAddress: () => NetAddress,
515
+ NetBluetoothDevice: () => NetBluetoothDevice,
516
+ NetBluetoothParams: () => NetBluetoothParams,
517
+ NetBluetoothResult: () => NetBluetoothResult,
518
+ NetDevice: () => NetDevice,
519
+ NetDevicesParams: () => NetDevicesParams,
520
+ NetDevicesResult: () => NetDevicesResult,
521
+ NetDownloadParams: () => NetDownloadParams,
522
+ NetDownloadResult: () => NetDownloadResult,
523
+ NetInfoParams: () => NetInfoParams,
524
+ NetInfoResult: () => NetInfoResult,
525
+ NetInterface: () => NetInterface,
526
+ NetMdnsParams: () => NetMdnsParams,
527
+ NetMdnsResult: () => NetMdnsResult,
528
+ NetMdnsService: () => NetMdnsService,
529
+ NetScanParams: () => NetScanParams,
530
+ NetScanResult: () => NetScanResult,
531
+ NetWifiNetwork: () => NetWifiNetwork,
532
+ NetWifiParams: () => NetWifiParams,
533
+ NetWifiResult: () => NetWifiResult,
534
+ NoteEntry: () => NoteEntry,
535
+ NotesFolder: () => NotesFolder,
536
+ NotesFoldersParams: () => NotesFoldersParams,
537
+ NotesFoldersResult: () => NotesFoldersResult,
538
+ NotesListParams: () => NotesListParams,
539
+ NotesListResult: () => NotesListResult,
540
+ NotesMatch: () => NotesMatch,
541
+ NotesReadParams: () => NotesReadParams,
542
+ NotesReadResult: () => NotesReadResult,
543
+ NotesSearchParams: () => NotesSearchParams,
544
+ NotesSearchResult: () => NotesSearchResult,
545
+ NotesWriteParams: () => NotesWriteParams,
546
+ NotesWriteResult: () => NotesWriteResult,
362
547
  OPS: () => OPS,
363
548
  OpDescriptor: () => OpDescriptor,
364
549
  OsPermissionName: () => OsPermissionName,
@@ -367,6 +552,12 @@ __export(src_exports, {
367
552
  PROTOCOL_MAJOR: () => PROTOCOL_MAJOR,
368
553
  PROTOCOL_MINOR: () => PROTOCOL_MINOR,
369
554
  PROTOCOL_VERSION: () => PROTOCOL_VERSION,
555
+ Photo: () => Photo,
556
+ PhotosGetParams: () => PhotosGetParams,
557
+ PhotosGetResult: () => PhotosGetResult,
558
+ PhotosSearchParams: () => PhotosSearchParams,
559
+ PhotosSearchResult: () => PhotosSearchResult,
560
+ PiiKind: () => PiiKind,
370
561
  PowerEnergy: () => PowerEnergy,
371
562
  PowerHistoryParams: () => PowerHistoryParams,
372
563
  PowerHistoryPoint: () => PowerHistoryPoint,
@@ -395,6 +586,8 @@ __export(src_exports, {
395
586
  RELAY_CALL_HELLO_ID: () => RELAY_CALL_HELLO_ID,
396
587
  RELAY_CALL_REQUEST_ID: () => RELAY_CALL_REQUEST_ID,
397
588
  RELAY_CALL_VERSION_HEADER: () => RELAY_CALL_VERSION_HEADER,
589
+ RegistryValue: () => RegistryValue,
590
+ RegistryValueType: () => RegistryValueType,
398
591
  RelayAuthExpiringEvent: () => RelayAuthExpiringEvent,
399
592
  RelayCallEnvelope: () => RelayCallEnvelope,
400
593
  RelayCallHello: () => RelayCallHello,
@@ -405,6 +598,11 @@ __export(src_exports, {
405
598
  RelayHopEnvelopeHeader: () => RelayHopEnvelopeHeader,
406
599
  RelayMsg: () => RelayMsg,
407
600
  RelayStatusResponse: () => RelayStatusResponse,
601
+ Reminder: () => Reminder,
602
+ RemindersCreateParams: () => RemindersCreateParams,
603
+ RemindersCreateResult: () => RemindersCreateResult,
604
+ RemindersListParams: () => RemindersListParams,
605
+ RemindersListResult: () => RemindersListResult,
408
606
  RequestId: () => RequestId,
409
607
  RequestMsg: () => RequestMsg,
410
608
  ResourceId: () => ResourceId,
@@ -430,6 +628,14 @@ __export(src_exports, {
430
628
  SERVICES: () => SERVICES,
431
629
  SERVICE_MAX_FRAME_BYTES: () => SERVICE_MAX_FRAME_BYTES,
432
630
  SUBPROTOCOL: () => SUBPROTOCOL,
631
+ ScheduleCancelParams: () => ScheduleCancelParams,
632
+ ScheduleCancelResult: () => ScheduleCancelResult,
633
+ ScheduleCreateParams: () => ScheduleCreateParams,
634
+ ScheduleCreateResult: () => ScheduleCreateResult,
635
+ ScheduleListParams: () => ScheduleListParams,
636
+ ScheduleListResult: () => ScheduleListResult,
637
+ ScheduleRun: () => ScheduleRun,
638
+ ScheduledTask: () => ScheduledTask,
433
639
  ScreenCaptureParams: () => ScreenCaptureParams,
434
640
  ScreenCaptureResult: () => ScreenCaptureResult,
435
641
  ScreenDisplay: () => ScreenDisplay,
@@ -453,6 +659,8 @@ __export(src_exports, {
453
659
  SessionControlChangedEvent: () => SessionControlChangedEvent,
454
660
  SessionDetachParams: () => SessionDetachParams,
455
661
  SessionDetachResult: () => SessionDetachResult,
662
+ SessionIdentifyParams: () => SessionIdentifyParams,
663
+ SessionIdentifyResult: () => SessionIdentifyResult,
456
664
  SessionListParams: () => SessionListParams,
457
665
  SessionListResult: () => SessionListResult,
458
666
  SessionReleaseParams: () => SessionReleaseParams,
@@ -548,6 +756,21 @@ __export(src_exports, {
548
756
  WindowMinimizeResult: () => WindowMinimizeResult,
549
757
  WindowMoveParams: () => WindowMoveParams,
550
758
  WindowMoveResult: () => WindowMoveResult,
759
+ WindowsEvent: () => WindowsEvent,
760
+ WindowsEventLogParams: () => WindowsEventLogParams,
761
+ WindowsEventLogResult: () => WindowsEventLogResult,
762
+ WindowsFeature: () => WindowsFeature,
763
+ WindowsFeaturesParams: () => WindowsFeaturesParams,
764
+ WindowsFeaturesResult: () => WindowsFeaturesResult,
765
+ WindowsRegistryReadParams: () => WindowsRegistryReadParams,
766
+ WindowsRegistryReadResult: () => WindowsRegistryReadResult,
767
+ WindowsRegistryWriteParams: () => WindowsRegistryWriteParams,
768
+ WindowsRegistryWriteResult: () => WindowsRegistryWriteResult,
769
+ WindowsService: () => WindowsService,
770
+ WindowsServiceControlParams: () => WindowsServiceControlParams,
771
+ WindowsServiceControlResult: () => WindowsServiceControlResult,
772
+ WindowsServicesParams: () => WindowsServicesParams,
773
+ WindowsServicesResult: () => WindowsServicesResult,
551
774
  announcedVersion: () => announcedVersion,
552
775
  assertFrameHeader: () => assertFrameHeader,
553
776
  buildToolStatus: () => buildToolStatus,
@@ -582,7 +805,7 @@ module.exports = __toCommonJS(src_exports);
582
805
  var import_zod = require("zod");
583
806
  var import_uuid = require("@ai-matrx/kit/uuid");
584
807
  var PROTOCOL_MAJOR = 1;
585
- var PROTOCOL_MINOR = 33;
808
+ var PROTOCOL_MINOR = 39;
586
809
  var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
587
810
  var ProtocolVersion = import_zod.z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
588
811
  var RequestId = import_zod.z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
@@ -666,8 +889,11 @@ var ErrorReason = import_zod2.z.enum([
666
889
  // AUTH_FORBIDDEN: the named browser is signed in to another account
667
890
  "browser_connection_off",
668
891
  // AUTH_FORBIDDEN: the person turned Browser connection off
669
- "awaiting_confirmation"
892
+ "awaiting_confirmation",
670
893
  // TIMEOUT: the person did not answer the browser's confirmation in time
894
+ // 1.34 (REASONS_SINCE): the per-device tool policy (src/tools/policy.ts)
895
+ "tool_disabled_on_device"
896
+ // AUTH_FORBIDDEN: the person turned this tool off for agents on this computer (Agents › Tools)
671
897
  ]);
672
898
  var FsPatchEditFailure = import_zod2.z.strictObject({ edit_index: nonNegInt, reason: import_zod2.z.string().max(300) });
673
899
  var ProtocolErrorBody = import_zod2.z.strictObject({
@@ -1503,7 +1729,22 @@ var AccountAgent = import_zod11.z.strictObject({
1503
1729
  shared_by: import_zod11.z.string().max(320).nullable(),
1504
1730
  /** The organization it belongs to. */
1505
1731
  organization: import_zod11.z.string().max(200).nullable(),
1506
- updated_at_ms: epochMs
1732
+ updated_at_ms: epochMs,
1733
+ // 1.39: the catalogue's own row (agx_get_list_full, read whole through @ai-matrx/agents/catalog).
1734
+ /** The agent's tags (the library's search and its inspector). */
1735
+ tags: import_zod11.z.array(import_zod11.z.string().max(120)).max(50).optional(),
1736
+ /** The model it runs (a model catalogue id); absent when it names none. */
1737
+ model_id: AccountRowId.optional(),
1738
+ /** The person's access: owner, admin, editor, viewer or system (the database's own words); absent when unknown. */
1739
+ access_level: import_zod11.z.string().min(1).max(40).optional(),
1740
+ /** The organization's id (the label is `organization`); absent when it has none. */
1741
+ organization_id: AccountRowId.optional(),
1742
+ /** Whose it is: the person's own, shared with them, or one AI Matrx ships (Gallery). */
1743
+ origin: import_zod11.z.enum(["mine", "shared", "system"]).optional(),
1744
+ /** Archived (the catalogue's archive filter decides whether the library lists it). */
1745
+ is_archived: import_zod11.z.boolean().optional(),
1746
+ /** An orchestra: it conducts other agents. */
1747
+ orchestra: import_zod11.z.boolean().optional()
1507
1748
  });
1508
1749
  var AccountAgentsListParams = import_zod11.z.strictObject({});
1509
1750
  var AccountAgentsListResult = import_zod11.z.strictObject({
@@ -1512,6 +1753,70 @@ var AccountAgentsListResult = import_zod11.z.strictObject({
1512
1753
  problem: import_zod11.z.string().max(300).nullable(),
1513
1754
  agents: import_zod11.z.array(AccountAgent).max(2e3)
1514
1755
  });
1756
+ var AccountAgentVariable = import_zod11.z.strictObject({
1757
+ name: import_zod11.z.string().min(1).max(200),
1758
+ /** The default value as text ("" when it has none). */
1759
+ default_value: import_zod11.z.string().max(4e3),
1760
+ required: import_zod11.z.boolean(),
1761
+ help: import_zod11.z.string().max(1e3)
1762
+ });
1763
+ var AccountAgentDetail = import_zod11.z.strictObject({
1764
+ agent: AccountAgent,
1765
+ /** The inputs a run asks for (the agent's variables). */
1766
+ variables: import_zod11.z.array(AccountAgentVariable).max(100),
1767
+ /** How many tools, custom tools, skills and connections it may use. */
1768
+ tool_count: import_zod11.z.int().min(0),
1769
+ custom_tool_count: import_zod11.z.int().min(0),
1770
+ skill_count: import_zod11.z.int().min(0),
1771
+ connection_count: import_zod11.z.int().min(0),
1772
+ /** The model's display name when the catalogue knows it. */
1773
+ model_name: import_zod11.z.string().max(200).nullable()
1774
+ });
1775
+ var AccountAgentsGetParams = import_zod11.z.strictObject({ agent_id: AccountRowId });
1776
+ var AccountAgentsGetResult = import_zod11.z.strictObject({
1777
+ state: AccountReadState,
1778
+ problem: import_zod11.z.string().max(300).nullable(),
1779
+ /** Null when the person cannot open it (not theirs, not shared with them, or gone). */
1780
+ detail: AccountAgentDetail.nullable()
1781
+ });
1782
+ var AccountAgentRunStatus = import_zod11.z.enum(["succeeded", "warned", "failed", "stopped", "waiting", "running"]);
1783
+ var AccountAgentRun = import_zod11.z.strictObject({
1784
+ run_id: AccountRowId,
1785
+ status: AccountAgentRunStatus,
1786
+ started_at_ms: epochMs,
1787
+ completed_at_ms: epochMs.nullable(),
1788
+ duration_ms: import_zod11.z.int().min(0).nullable(),
1789
+ cost: import_zod11.z.number().min(0).nullable(),
1790
+ tokens: import_zod11.z.int().min(0).nullable(),
1791
+ /** One line of the answer (at most 240 characters), when the run kept one. */
1792
+ output_preview: import_zod11.z.string().max(240).nullable(),
1793
+ /** The run's error, one line. */
1794
+ error: import_zod11.z.string().max(300).nullable(),
1795
+ /** The mandate it served, when one named it. */
1796
+ mandate_key: import_zod11.z.string().max(200).nullable(),
1797
+ organization: import_zod11.z.string().max(200).nullable(),
1798
+ /** The conversation that holds its transcript, when it kept one. */
1799
+ conversation_id: AccountRowId.nullable(),
1800
+ has_transcript: import_zod11.z.boolean()
1801
+ });
1802
+ var AccountAgentRunSort = import_zod11.z.enum(["started_at", "duration", "cost", "status"]);
1803
+ var AccountAgentsRunsParams = import_zod11.z.strictObject({
1804
+ agent_id: AccountRowId,
1805
+ status: AccountAgentRunStatus.optional(),
1806
+ sort: AccountAgentRunSort.optional(),
1807
+ descending: import_zod11.z.boolean().optional(),
1808
+ offset: import_zod11.z.int().min(0).max(1e5).optional(),
1809
+ limit: import_zod11.z.int().min(1).max(100).optional()
1810
+ });
1811
+ var AccountAgentsRunsResult = import_zod11.z.strictObject({
1812
+ state: AccountReadState,
1813
+ problem: import_zod11.z.string().max(300).nullable(),
1814
+ /** Every run of this agent the person may see (rows is one page of it). */
1815
+ total: import_zod11.z.int().min(0),
1816
+ rows: import_zod11.z.array(AccountAgentRun).max(100)
1817
+ });
1818
+ var AccountAgentsFavoriteParams = import_zod11.z.strictObject({ agent_id: AccountRowId, favorite: import_zod11.z.boolean() });
1819
+ var AccountAgentsFavoriteResult = import_zod11.z.strictObject({ favorite: import_zod11.z.boolean() });
1515
1820
  var VaultItemKind = import_zod11.z.enum(["login", "passkey", "key", "other"]);
1516
1821
  var VaultFieldSummary = import_zod11.z.strictObject({
1517
1822
  key: import_zod11.z.string().min(1).max(120),
@@ -1968,6 +2273,10 @@ var AppsProjectsToWindowParams = import_zod14.z.strictObject({
1968
2273
  group: import_zod14.z.boolean().default(false),
1969
2274
  /** 1.32: also pin them in that window (now if closed, else when it next closes). */
1970
2275
  pin: import_zod14.z.boolean().optional(),
2276
+ /** 1.36: a batch: exactly these chats of the project and no other (a reused marker is a label, never a sweep). */
2277
+ chat_ids: import_zod14.z.array(ChatId).min(1).max(5e3).optional(),
2278
+ /** 1.36: take them off this one side window only (a Move's origin), never main or another window that lists them. */
2279
+ take_off_from: ChatPlace.optional(),
1971
2280
  dry_run: import_zod14.z.boolean().default(false)
1972
2281
  });
1973
2282
  var AppsProjectsToWindowResult = import_zod14.z.strictObject({
@@ -2471,7 +2780,9 @@ var SystemSettingsPane = import_zod21.z.enum([
2471
2780
  "energy",
2472
2781
  "about",
2473
2782
  "storage",
2474
- "system_report"
2783
+ "system_report",
2784
+ /** (1.35) Privacy & Security › Microphone: where the person allows Matrx 2 the microphone. */
2785
+ "microphone"
2475
2786
  ]);
2476
2787
  var SystemOpenSettingsParams = import_zod21.z.strictObject({ pane: SystemSettingsPane });
2477
2788
  var SystemOpenSettingsResult = import_zod21.z.strictObject({ pane: SystemSettingsPane });
@@ -3251,22 +3562,387 @@ var CodingHistoryProgressEvent = import_zod32.z.strictObject({
3251
3562
  failed: nonNegInt
3252
3563
  });
3253
3564
 
3254
- // src/schema/browser.ts
3565
+ // src/schema/coding-sessions.ts
3255
3566
  var import_zod33 = require("zod");
3256
- var BrowserClientInstance = import_zod33.z.string().min(1).max(64).regex(/^[A-Za-z0-9_.:-]+$/);
3257
- var BrowserKind = import_zod33.z.enum(["chrome", "edge", "brave", "arc", "opera", "vivaldi", "chromium", "firefox", "other"]);
3258
- var BrowserSessionState = import_zod33.z.enum(["connected", "different_account", "extension_signed_out", "device_signed_out", "unverified"]);
3259
- var BrowserSession = import_zod33.z.strictObject({
3567
+ var CodingProviderName = import_zod33.z.enum(["claude", "codex"]);
3568
+ var CodingRunStatus = import_zod33.z.enum(["starting", "running", "completed", "stopped", "failed"]);
3569
+ var SessionKey = import_zod33.z.string().regex(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/);
3570
+ var IsoTime = import_zod33.z.string().min(10).max(40);
3571
+ var LocalPath = import_zod33.z.string().min(1).max(4096);
3572
+ var CodingClientRequestId = import_zod33.z.string().regex(/^[A-Za-z0-9_-]{8,64}$/);
3573
+ var ShortText = import_zod33.z.string().max(500);
3574
+ var CodingRunUsage = import_zod33.z.strictObject({
3575
+ inputTokens: nonNegInt,
3576
+ outputTokens: nonNegInt,
3577
+ cachedInputTokens: nonNegInt
3578
+ });
3579
+ var CodingStartedBy = import_zod33.z.strictObject({
3580
+ kind: import_zod33.z.enum(["this_computer", "web", "phone", "agent", "other"]),
3581
+ label: import_zod33.z.string().min(1).max(80)
3582
+ });
3583
+ var CodingRunRecord = import_zod33.z.strictObject({
3584
+ runId: import_zod33.z.string().min(1).max(64),
3585
+ sessionId: SessionKey,
3586
+ provider: CodingProviderName,
3587
+ cwd: LocalPath,
3588
+ prompt: import_zod33.z.string().max(1048576),
3589
+ model: import_zod33.z.string().max(200).nullable(),
3590
+ status: CodingRunStatus,
3591
+ startedAt: IsoTime,
3592
+ endedAt: IsoTime.nullable(),
3593
+ error: import_zod33.z.string().max(65536).nullable(),
3594
+ usage: CodingRunUsage.nullable(),
3595
+ costUsd: import_zod33.z.number().nullable(),
3596
+ billing: import_zod33.z.enum(["subscription", "api", "unknown"]).nullable(),
3597
+ startedBy: CodingStartedBy.nullable()
3598
+ });
3599
+ var CodingSessionAgentPart = import_zod33.z.strictObject({
3600
+ part: import_zod33.z.enum(["instructions", "skills", "tools"]),
3601
+ loaded: nonNegInt,
3602
+ total: nonNegInt
3603
+ });
3604
+ var CodingSessionAgent = import_zod33.z.strictObject({
3605
+ agentId: import_zod33.z.string().min(1).max(64),
3606
+ versionId: import_zod33.z.string().max(64).nullable(),
3607
+ versionNumber: nonNegInt.nullable(),
3608
+ name: import_zod33.z.string().max(300),
3609
+ definitionHash: import_zod33.z.string().max(200),
3610
+ loaded: import_zod33.z.array(CodingSessionAgentPart).max(3),
3611
+ unavailable: import_zod33.z.array(import_zod33.z.strictObject({ kind: import_zod33.z.string().max(60), name: import_zod33.z.string().max(300), reason: ShortText })).max(500),
3612
+ skills: import_zod33.z.array(import_zod33.z.string().max(300)).max(500),
3613
+ tools: import_zod33.z.array(import_zod33.z.string().max(300)).max(500),
3614
+ variables: import_zod33.z.record(import_zod33.z.string().max(200), import_zod33.z.unknown()),
3615
+ blockDue: import_zod33.z.boolean(),
3616
+ deliveredAt: IsoTime.nullable(),
3617
+ replaces: import_zod33.z.string().max(300).nullable()
3618
+ });
3619
+ var CodingSessionRecord = import_zod33.z.strictObject({
3620
+ id: SessionKey,
3621
+ provider: CodingProviderName,
3622
+ providerSessionId: SessionKey.nullable(),
3623
+ cwd: LocalPath,
3624
+ title: import_zod33.z.string().max(500),
3625
+ model: import_zod33.z.string().max(200).nullable(),
3626
+ effort: import_zod33.z.string().max(40).nullable(),
3627
+ origin: import_zod33.z.enum(["started", "takeover"]),
3628
+ createdAt: IsoTime,
3629
+ updatedAt: IsoTime,
3630
+ lastRunId: import_zod33.z.string().max(64).nullable(),
3631
+ lastRunStatus: CodingRunStatus.nullable(),
3632
+ queued: import_zod33.z.array(import_zod33.z.string().max(1048576)).max(100),
3633
+ agent: CodingSessionAgent.nullable(),
3634
+ agentRemovedDue: import_zod33.z.boolean()
3635
+ });
3636
+ var CodingActiveElsewhere = import_zod33.z.strictObject({
3637
+ reason: import_zod33.z.enum(["process", "recent-write", "open-tool-call", "open"]),
3638
+ message: ShortText,
3639
+ /** The process driving it, when the evidence is a process (re-checked before any stop). */
3640
+ pid: import_zod33.z.int().min(1).nullable()
3641
+ });
3642
+ var CodingTitleSource = import_zod33.z.enum(["app", "app-remembered", "custom-title", "ai-title", "agent-name", "summary", "first-prompt", "last-prompt", "unknown"]);
3643
+ var CodingDiscoveredChat = import_zod33.z.strictObject({
3644
+ provider: CodingProviderName,
3645
+ providerSessionId: SessionKey,
3646
+ cwd: LocalPath.nullable(),
3647
+ title: import_zod33.z.string().max(500),
3648
+ titleSource: CodingTitleSource.optional(),
3649
+ titlePending: import_zod33.z.boolean().optional(),
3650
+ archived: import_zod33.z.boolean().optional(),
3651
+ scheduled: import_zod33.z.boolean().optional(),
3652
+ unlisted: import_zod33.z.boolean().optional(),
3653
+ unavailable: ShortText.nullable(),
3654
+ updatedAt: IsoTime,
3655
+ source: import_zod33.z.string().max(60).nullable(),
3656
+ activeElsewhere: CodingActiveElsewhere.nullable()
3657
+ });
3658
+ var CodingTranscriptItem = import_zod33.z.discriminatedUnion("kind", [
3659
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("user"), id: import_zod33.z.string().max(200), text: import_zod33.z.string(), at: IsoTime.nullable() }),
3660
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("text"), id: import_zod33.z.string().max(200), text: import_zod33.z.string() }),
3661
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("text-delta"), id: import_zod33.z.string().max(200), text: import_zod33.z.string() }),
3662
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("reasoning"), id: import_zod33.z.string().max(200), text: import_zod33.z.string() }),
3663
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("tool-call"), id: import_zod33.z.string().max(200), name: import_zod33.z.string().max(300), input: import_zod33.z.unknown() }),
3664
+ import_zod33.z.strictObject({
3665
+ kind: import_zod33.z.literal("tool-result"),
3666
+ id: import_zod33.z.string().max(200),
3667
+ output: import_zod33.z.string(),
3668
+ isError: import_zod33.z.boolean(),
3669
+ /** The output's full size when only its start is here; `coding.item.full` reads the rest. */
3670
+ fullBytes: nonNegInt.optional()
3671
+ }),
3672
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("usage"), usage: CodingRunUsage, costUsd: import_zod33.z.number().nullable() }),
3673
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("notice"), id: import_zod33.z.string().max(200), level: import_zod33.z.enum(["info", "warning"]), text: import_zod33.z.string() }),
3674
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("error"), id: import_zod33.z.string().max(200), text: import_zod33.z.string() })
3675
+ ]);
3676
+ var CodingHistoryRecord = import_zod33.z.strictObject({
3677
+ items: import_zod33.z.array(CodingTranscriptItem),
3678
+ /** Only the end of the chat is here; "Show earlier" reads more (a bigger `max_bytes`). */
3679
+ truncated: import_zod33.z.boolean(),
3680
+ unavailable: ShortText.nullable(),
3681
+ /** The last live item `seq` this read already contains; a watch applies only newer ones. */
3682
+ seq: nonNegInt
3683
+ });
3684
+ var CodingQuotaWindow = import_zod33.z.strictObject({
3685
+ label: import_zod33.z.string().max(120),
3686
+ usedPercent: import_zod33.z.number().nullable(),
3687
+ resetsAt: import_zod33.z.string().max(80).nullable(),
3688
+ valueLabel: import_zod33.z.string().max(120).nullable()
3689
+ });
3690
+ var CodingProviderProblem = import_zod33.z.strictObject({
3691
+ kind: import_zod33.z.enum(["usage-limit", "signed-out"]),
3692
+ message: import_zod33.z.string().max(2e3),
3693
+ until: import_zod33.z.string().max(120).nullable(),
3694
+ at: IsoTime
3695
+ });
3696
+ var CodingProviderBinary = import_zod33.z.strictObject({
3697
+ path: LocalPath,
3698
+ version: import_zod33.z.string().max(80).nullable(),
3699
+ source: import_zod33.z.enum(["desktop-app", "path", "npm-global", "configured"]),
3700
+ sourceLabel: import_zod33.z.string().max(120),
3701
+ newer: import_zod33.z.strictObject({ path: LocalPath, version: import_zod33.z.string().max(80), sourceLabel: import_zod33.z.string().max(120) }).nullable()
3702
+ });
3703
+ var CodingProviderStatus = import_zod33.z.strictObject({
3704
+ provider: CodingProviderName,
3705
+ label: import_zod33.z.string().max(60),
3706
+ installed: import_zod33.z.boolean(),
3707
+ version: import_zod33.z.string().max(80).nullable(),
3708
+ loggedIn: import_zod33.z.boolean(),
3709
+ billing: import_zod33.z.enum(["subscription", "api", "unknown"]),
3710
+ plan: import_zod33.z.string().max(80).nullable(),
3711
+ account: import_zod33.z.string().max(320).nullable(),
3712
+ problem: ShortText.nullable(),
3713
+ fix: ShortText.nullable(),
3714
+ ready: import_zod33.z.boolean(),
3715
+ lastProblem: CodingProviderProblem.nullable(),
3716
+ quota: import_zod33.z.array(CodingQuotaWindow).max(20),
3717
+ models: import_zod33.z.array(import_zod33.z.strictObject({ id: import_zod33.z.string().max(200), label: import_zod33.z.string().max(200) })).max(200),
3718
+ efforts: import_zod33.z.array(import_zod33.z.string().max(40)).max(20),
3719
+ defaultModel: import_zod33.z.strictObject({ id: import_zod33.z.string().max(200), source: import_zod33.z.enum(["settings", "driver"]) }).nullable(),
3720
+ defaultEffort: import_zod33.z.string().max(40).nullable(),
3721
+ binary: CodingProviderBinary.nullable()
3722
+ });
3723
+ var CodingChatPreference = import_zod33.z.strictObject({
3724
+ title: import_zod33.z.string().max(500).nullable(),
3725
+ pinned: import_zod33.z.boolean(),
3726
+ hidden: import_zod33.z.boolean(),
3727
+ /** When the person last had this chat open on any screen of this computer (the "New output" dot). */
3728
+ lastSeenAt: IsoTime.nullable(),
3729
+ updatedAt: IsoTime.nullable()
3730
+ });
3731
+ var CodingTitleStatus = import_zod33.z.strictObject({
3732
+ owner: import_zod33.z.boolean(),
3733
+ pending: import_zod33.z.boolean(),
3734
+ problem: ShortText.nullable(),
3735
+ renames: ShortText.nullable()
3736
+ });
3737
+ var CodingRecentRow = import_zod33.z.strictObject({
3738
+ target: import_zod33.z.string().min(3).max(200),
3739
+ title: import_zod33.z.string().max(500),
3740
+ provider: CodingProviderName,
3741
+ sessionId: SessionKey.nullable(),
3742
+ providerSessionId: SessionKey.nullable(),
3743
+ cwd: LocalPath.nullable(),
3744
+ updatedAt: IsoTime,
3745
+ state: import_zod33.z.enum(["running", "needs_attention", "new_output", "elsewhere", "idle"]),
3746
+ stateLabel: import_zod33.z.string().max(120).nullable(),
3747
+ pinned: import_zod33.z.boolean(),
3748
+ startedBy: CodingStartedBy.nullable()
3749
+ });
3750
+ var CodingFolderCheck = import_zod33.z.strictObject({
3751
+ path: import_zod33.z.string().max(4096),
3752
+ exists: import_zod33.z.boolean(),
3753
+ isDirectory: import_zod33.z.boolean()
3754
+ });
3755
+ var CodingRecentFolder = import_zod33.z.strictObject({ path: LocalPath, lastUsedAt: IsoTime, exists: import_zod33.z.boolean() });
3756
+ var CodingAgentSelectionParams = import_zod33.z.strictObject({
3757
+ agent_id: import_zod33.z.string().min(1).max(64),
3758
+ version_id: import_zod33.z.string().min(1).max(64).optional(),
3759
+ variables: import_zod33.z.record(import_zod33.z.string().max(200), import_zod33.z.unknown()).optional()
3760
+ });
3761
+ var CodingSendResult = import_zod33.z.strictObject({
3762
+ session: CodingSessionRecord,
3763
+ run: CodingRunRecord.nullable(),
3764
+ /** The prompt waits behind a live run (it shows as a queued bubble). */
3765
+ queued: import_zod33.z.boolean()
3766
+ });
3767
+ var CodingProvidersParams = import_zod33.z.strictObject({});
3768
+ var CodingProvidersResult = import_zod33.z.strictObject({ providers: import_zod33.z.array(CodingProviderStatus).max(4) });
3769
+ var CodingSessionsListParams = import_zod33.z.strictObject({});
3770
+ var CodingSessionsListResult = import_zod33.z.strictObject({
3771
+ sessions: import_zod33.z.array(CodingSessionRecord),
3772
+ /** The latest run of each session, by session id. */
3773
+ runs: import_zod33.z.record(import_zod33.z.string().max(128), CodingRunRecord),
3774
+ recent: import_zod33.z.array(CodingRecentRow),
3775
+ title_status: CodingTitleStatus
3776
+ });
3777
+ var CodingDiscoverParams = import_zod33.z.strictObject({ limit: import_zod33.z.int().min(1).max(1e3).optional() });
3778
+ var CodingDiscoverResult = import_zod33.z.strictObject({ chats: import_zod33.z.array(CodingDiscoveredChat) });
3779
+ var CodingRunsListParams = import_zod33.z.strictObject({ session_id: SessionKey });
3780
+ var CodingRunsListResult = import_zod33.z.strictObject({ runs: import_zod33.z.array(CodingRunRecord) });
3781
+ var CodingHistoryParams = import_zod33.z.strictObject({ session_id: SessionKey, max_bytes: import_zod33.z.int().min(1024).max(209715200).optional() });
3782
+ var CodingHistoryResult = CodingHistoryRecord;
3783
+ var CodingTranscriptReadParams = import_zod33.z.strictObject({
3784
+ provider: CodingProviderName,
3785
+ provider_session_id: SessionKey,
3786
+ max_bytes: import_zod33.z.int().min(1024).max(209715200).optional()
3787
+ });
3788
+ var CodingTranscriptReadResult = CodingHistoryRecord;
3789
+ var CodingItemFullParams = import_zod33.z.strictObject({
3790
+ provider: CodingProviderName,
3791
+ provider_session_id: SessionKey,
3792
+ item_id: import_zod33.z.string().min(1).max(200)
3793
+ });
3794
+ var CodingItemFullResult = import_zod33.z.strictObject({ output: import_zod33.z.string(), bytes: nonNegInt });
3795
+ var CodingActivityParams = import_zod33.z.strictObject({ provider: CodingProviderName, provider_session_id: SessionKey });
3796
+ var CodingActivityResult = import_zod33.z.strictObject({ active: CodingActiveElsewhere.nullable() });
3797
+ var CodingFoldersRecentParams = import_zod33.z.strictObject({});
3798
+ var CodingFoldersRecentResult = import_zod33.z.strictObject({ folders: import_zod33.z.array(CodingRecentFolder).max(100) });
3799
+ var CodingFoldersCheckParams = import_zod33.z.strictObject({ path: import_zod33.z.string().min(1).max(4096) });
3800
+ var CodingFoldersCheckResult = CodingFolderCheck;
3801
+ var CodingFoldersCreateParams = import_zod33.z.strictObject({ path: import_zod33.z.string().min(1).max(4096) });
3802
+ var CodingFoldersCreateResult = CodingFolderCheck;
3803
+ var CodingStartParams = import_zod33.z.strictObject({
3804
+ provider: CodingProviderName,
3805
+ cwd: import_zod33.z.string().min(1).max(4096),
3806
+ prompt: import_zod33.z.string().min(1).max(1048576),
3807
+ model: import_zod33.z.string().min(1).max(200).optional(),
3808
+ effort: import_zod33.z.string().min(1).max(40).optional(),
3809
+ agent: CodingAgentSelectionParams.optional(),
3810
+ /** One of the person's coding accounts on this computer (Accounts); absent = the default login. */
3811
+ account_profile_id: import_zod33.z.string().min(1).max(64).optional(),
3812
+ client_request_id: CodingClientRequestId
3813
+ });
3814
+ var CodingStartResult = CodingSendResult;
3815
+ var CodingTakeoverParams = import_zod33.z.strictObject({
3816
+ provider: CodingProviderName,
3817
+ provider_session_id: SessionKey,
3818
+ cwd: import_zod33.z.string().min(1).max(4096),
3819
+ title: import_zod33.z.string().max(500).optional(),
3820
+ agent: CodingAgentSelectionParams.optional(),
3821
+ confirm_elsewhere: import_zod33.z.boolean().optional()
3822
+ });
3823
+ var CodingTakeoverResult = import_zod33.z.strictObject({ session: CodingSessionRecord });
3824
+ var CodingSendParams = import_zod33.z.strictObject({
3825
+ session_id: SessionKey,
3826
+ prompt: import_zod33.z.string().min(1).max(1048576),
3827
+ client_request_id: CodingClientRequestId
3828
+ });
3829
+ var CodingStopParams = import_zod33.z.strictObject({ run_id: import_zod33.z.string().min(1).max(64) });
3830
+ var CodingStopResult = import_zod33.z.strictObject({ run: CodingRunRecord.nullable() });
3831
+ var CodingStopElsewhereParams = import_zod33.z.strictObject({
3832
+ provider: CodingProviderName,
3833
+ provider_session_id: SessionKey,
3834
+ pid: import_zod33.z.int().min(1)
3835
+ });
3836
+ var CodingStopElsewhereResult = import_zod33.z.strictObject({ stopped: import_zod33.z.boolean(), message: ShortText });
3837
+ var CodingOptionsSetParams = import_zod33.z.strictObject({
3838
+ session_id: SessionKey,
3839
+ model: import_zod33.z.string().max(200).optional(),
3840
+ effort: import_zod33.z.string().max(40).optional()
3841
+ });
3842
+ var CodingOptionsSetResult = import_zod33.z.strictObject({ session: CodingSessionRecord });
3843
+ var CodingAgentSetParams = import_zod33.z.strictObject({ session_id: SessionKey, agent: CodingAgentSelectionParams.optional() });
3844
+ var CodingAgentSetResult = import_zod33.z.strictObject({ session: CodingSessionRecord });
3845
+ var CodingAgentsAccessParams = import_zod33.z.strictObject({});
3846
+ var CodingAgentsAccessResult = import_zod33.z.strictObject({
3847
+ signedIn: import_zod33.z.boolean(),
3848
+ userId: import_zod33.z.string().max(64).nullable(),
3849
+ organizationId: import_zod33.z.string().max(64).nullable(),
3850
+ configured: import_zod33.z.boolean()
3851
+ });
3852
+ var CodingTitlesStatusParams = import_zod33.z.strictObject({});
3853
+ var CodingTitlesStatusResult = CodingTitleStatus;
3854
+ var CodingPrefsListParams = import_zod33.z.strictObject({});
3855
+ var CodingPrefsListResult = import_zod33.z.strictObject({ preferences: import_zod33.z.record(import_zod33.z.string().max(200), CodingChatPreference) });
3856
+ var CodingPrefsSetParams = import_zod33.z.strictObject({
3857
+ key: import_zod33.z.string().min(1).max(200),
3858
+ title: import_zod33.z.string().min(1).max(500).optional(),
3859
+ clear_title: import_zod33.z.boolean().optional(),
3860
+ pinned: import_zod33.z.boolean().optional(),
3861
+ hidden: import_zod33.z.boolean().optional()
3862
+ });
3863
+ var CodingPrefsSetResult = CodingPrefsListResult;
3864
+ var CodingRecentSeenParams = import_zod33.z.strictObject({ target: import_zod33.z.string().min(3).max(200) });
3865
+ var CodingRecentSeenResult = import_zod33.z.strictObject({ recent: import_zod33.z.array(CodingRecentRow) });
3866
+ var CodingSearchParams = import_zod33.z.strictObject({
3867
+ query: import_zod33.z.string().min(1).max(500),
3868
+ cursor: nonNegInt.optional(),
3869
+ limit: import_zod33.z.int().min(1).max(100).optional()
3870
+ });
3871
+ var CodingSearchResult = import_zod33.z.strictObject({
3872
+ query: import_zod33.z.string().max(500),
3873
+ hits: import_zod33.z.array(
3874
+ import_zod33.z.strictObject({
3875
+ provider: CodingProviderName,
3876
+ providerSessionId: SessionKey,
3877
+ title: import_zod33.z.string().max(500),
3878
+ cwd: LocalPath.nullable(),
3879
+ updatedAt: IsoTime,
3880
+ where: import_zod33.z.enum(["title", "content"]),
3881
+ snippet: import_zod33.z.string().max(2e3).nullable()
3882
+ })
3883
+ ),
3884
+ scanned: nonNegInt,
3885
+ total: nonNegInt,
3886
+ nextCursor: nonNegInt.nullable()
3887
+ });
3888
+ var CodingReconcileParams = import_zod33.z.strictObject({ provider: CodingProviderName, provider_session_id: SessionKey });
3889
+ var CodingReconcileResult = import_zod33.z.strictObject({
3890
+ state: import_zod33.z.enum(["done", "blocked", "nothing_to_do"]),
3891
+ summary: import_zod33.z.string().max(400)
3892
+ });
3893
+ var CodingTranscriptRawParams = import_zod33.z.strictObject({ provider: CodingProviderName, provider_session_id: SessionKey });
3894
+ var CodingTranscriptRawResult = import_zod33.z.strictObject({
3895
+ available: import_zod33.z.boolean(),
3896
+ reason: ShortText.nullable(),
3897
+ file_name: import_zod33.z.string().max(300).nullable(),
3898
+ bytes: nonNegInt,
3899
+ /** The opt-in cloud backup was refreshed (false: off, unchanged, or signed out). */
3900
+ backup_refreshed: import_zod33.z.boolean(),
3901
+ /** Subagent transcripts beside the chat (Claude Code), downloaded separately. */
3902
+ subagents: nonNegInt
3903
+ });
3904
+ var CodingWatchParams = import_zod33.z.strictObject({});
3905
+ var CodingWatchResult = import_zod33.z.strictObject({ resource_id: ResourceId });
3906
+ var CodingSessionWatchParams = import_zod33.z.strictObject({ session_id: SessionKey, since_seq: nonNegInt.optional() });
3907
+ var CodingSessionWatchResult = import_zod33.z.strictObject({
3908
+ resource_id: ResourceId,
3909
+ /** The newest item seq the device has for this session right now. */
3910
+ seq: nonNegInt
3911
+ });
3912
+ var CodingChangedEvent = import_zod33.z.discriminatedUnion("kind", [
3913
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("session"), session: CodingSessionRecord }),
3914
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("run"), run: CodingRunRecord }),
3915
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("preferences"), preferences: import_zod33.z.record(import_zod33.z.string().max(200), CodingChatPreference) }),
3916
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("titles") }),
3917
+ import_zod33.z.strictObject({ kind: import_zod33.z.literal("recent"), recent: import_zod33.z.array(CodingRecentRow) })
3918
+ ]);
3919
+ var CodingWatchStateEvent = import_zod33.z.strictObject({ live: import_zod33.z.boolean(), reason: ShortText.nullable(), beat_ms: import_zod33.z.int().min(1e3) });
3920
+ var CodingItemEvent = import_zod33.z.strictObject({
3921
+ session_id: SessionKey,
3922
+ run_id: import_zod33.z.string().min(1).max(64),
3923
+ seq: nonNegInt,
3924
+ item: CodingTranscriptItem
3925
+ });
3926
+ var CodingGapEvent = import_zod33.z.strictObject({ session_id: SessionKey, since_seq: nonNegInt, seq: nonNegInt });
3927
+ var SessionIdentifyParams = import_zod33.z.strictObject({ label: import_zod33.z.string().min(1).max(60) });
3928
+ var SessionIdentifyResult = import_zod33.z.strictObject({ label: import_zod33.z.string().max(60) });
3929
+
3930
+ // src/schema/browser.ts
3931
+ var import_zod34 = require("zod");
3932
+ var BrowserClientInstance = import_zod34.z.string().min(1).max(64).regex(/^[A-Za-z0-9_.:-]+$/);
3933
+ var BrowserKind = import_zod34.z.enum(["chrome", "edge", "brave", "arc", "opera", "vivaldi", "chromium", "firefox", "other"]);
3934
+ var BrowserSessionState = import_zod34.z.enum(["connected", "different_account", "extension_signed_out", "device_signed_out", "unverified"]);
3935
+ var BrowserSession = import_zod34.z.strictObject({
3260
3936
  client_instance: BrowserClientInstance,
3261
3937
  /** What the person sees ("Chrome — Work"), set by the extension. */
3262
- client_label: import_zod33.z.string().min(1).max(128),
3938
+ client_label: import_zod34.z.string().min(1).max(128),
3263
3939
  browser: BrowserKind,
3264
- extension_version: import_zod33.z.string().min(1).max(32),
3940
+ extension_version: import_zod34.z.string().min(1).max(32),
3265
3941
  state: BrowserSessionState,
3266
3942
  /** True only for `connected`: an agent's call can reach this session. */
3267
- routable: import_zod33.z.boolean(),
3943
+ routable: import_zod34.z.boolean(),
3268
3944
  /** The extension's account email from its token (null when signed out or unknown). */
3269
- account_email: import_zod33.z.string().max(320).nullable(),
3945
+ account_email: import_zod34.z.string().max(320).nullable(),
3270
3946
  connected_at_ms: epochMs,
3271
3947
  last_call_at_ms: epochMs.nullable(),
3272
3948
  calls: nonNegInt,
@@ -3275,90 +3951,694 @@ var BrowserSession = import_zod33.z.strictObject({
3275
3951
  p50_ms: nonNegInt.nullable(),
3276
3952
  p95_ms: nonNegInt.nullable(),
3277
3953
  /** A call is waiting for the person to confirm it in the browser. */
3278
- awaiting_confirmation: import_zod33.z.boolean()
3954
+ awaiting_confirmation: import_zod34.z.boolean()
3279
3955
  });
3280
- var BrowserRegisterParams = import_zod33.z.strictObject({
3956
+ var BrowserRegisterParams = import_zod34.z.strictObject({
3281
3957
  client_instance: BrowserClientInstance,
3282
- client_label: import_zod33.z.string().min(1).max(128),
3958
+ client_label: import_zod34.z.string().min(1).max(128),
3283
3959
  browser: BrowserKind,
3284
- extension_version: import_zod33.z.string().min(1).max(32),
3960
+ extension_version: import_zod34.z.string().min(1).max(32),
3285
3961
  /** The extension's current AI Matrx access token, checked against the device owner; null when signed out. */
3286
- account_token: import_zod33.z.string().min(16).max(8192).nullable()
3962
+ account_token: import_zod34.z.string().min(16).max(8192).nullable()
3287
3963
  });
3288
- var BrowserRegisterResult = import_zod33.z.strictObject({ session: BrowserSession });
3289
- var BrowserCallError = import_zod33.z.strictObject({
3290
- message: import_zod33.z.string().max(1e3),
3964
+ var BrowserRegisterResult = import_zod34.z.strictObject({ session: BrowserSession });
3965
+ var BrowserCallError = import_zod34.z.strictObject({
3966
+ message: import_zod34.z.string().max(1e3),
3291
3967
  /** The extension's own error code, when it has one ("tool_not_found", "denied"). */
3292
- code: import_zod33.z.string().max(64).nullable()
3968
+ code: import_zod34.z.string().max(64).nullable()
3293
3969
  });
3294
- var BrowserResultParams = import_zod33.z.strictObject({
3295
- call_id: import_zod33.z.string().min(1).max(64),
3296
- ok: import_zod33.z.boolean(),
3970
+ var BrowserResultParams = import_zod34.z.strictObject({
3971
+ call_id: import_zod34.z.string().min(1).max(64),
3972
+ ok: import_zod34.z.boolean(),
3297
3973
  /** The tool's result when ok (any JSON). */
3298
- result: import_zod33.z.unknown(),
3974
+ result: import_zod34.z.unknown(),
3299
3975
  error: BrowserCallError.nullable()
3300
3976
  });
3301
- var BrowserResultResult = import_zod33.z.strictObject({ accepted: import_zod33.z.boolean() });
3302
- var BrowserCallPhase = import_zod33.z.enum(["awaiting_confirmation", "running"]);
3303
- var BrowserProgressParams = import_zod33.z.strictObject({ call_id: import_zod33.z.string().min(1).max(64), phase: BrowserCallPhase });
3304
- var BrowserProgressResult = import_zod33.z.strictObject({ accepted: import_zod33.z.boolean() });
3305
- var BrowserSessionsParams = import_zod33.z.strictObject({});
3306
- var BrowserSessionsResult = import_zod33.z.strictObject({
3977
+ var BrowserResultResult = import_zod34.z.strictObject({ accepted: import_zod34.z.boolean() });
3978
+ var BrowserCallPhase = import_zod34.z.enum(["awaiting_confirmation", "running"]);
3979
+ var BrowserProgressParams = import_zod34.z.strictObject({ call_id: import_zod34.z.string().min(1).max(64), phase: BrowserCallPhase });
3980
+ var BrowserProgressResult = import_zod34.z.strictObject({ accepted: import_zod34.z.boolean() });
3981
+ var BrowserSessionsParams = import_zod34.z.strictObject({});
3982
+ var BrowserSessionsResult = import_zod34.z.strictObject({
3307
3983
  /** The person's Browser connection switch. Off: no pairing, no extension sessions. */
3308
- enabled: import_zod33.z.boolean(),
3984
+ enabled: import_zod34.z.boolean(),
3309
3985
  /** Whether Matrx 2 is signed in (without an owner no session is routable). */
3310
- owner_signed_in: import_zod33.z.boolean(),
3311
- sessions: import_zod33.z.array(BrowserSession).max(64)
3312
- });
3313
- var BrowserDisconnectParams = import_zod33.z.strictObject({ client_instance: BrowserClientInstance });
3314
- var BrowserDisconnectResult = import_zod33.z.strictObject({ disconnected: import_zod33.z.boolean() });
3315
- var BrowserSetEnabledParams = import_zod33.z.strictObject({ enabled: import_zod33.z.boolean() });
3316
- var BrowserSetEnabledResult = import_zod33.z.strictObject({ enabled: import_zod33.z.boolean() });
3317
- var BrowserPairCodeParams = import_zod33.z.strictObject({});
3318
- var BrowserPairCodeResult = import_zod33.z.strictObject({ code: import_zod33.z.string().min(16).max(128) });
3319
- var BrowserPairResetParams = import_zod33.z.strictObject({});
3320
- var BrowserCallParams = import_zod33.z.strictObject({
3321
- tool: import_zod33.z.string().min(1).max(96).regex(/^[a-z][a-z0-9_]*$/),
3322
- args: import_zod33.z.record(import_zod33.z.string(), import_zod33.z.unknown()),
3986
+ owner_signed_in: import_zod34.z.boolean(),
3987
+ sessions: import_zod34.z.array(BrowserSession).max(64)
3988
+ });
3989
+ var BrowserDisconnectParams = import_zod34.z.strictObject({ client_instance: BrowserClientInstance });
3990
+ var BrowserDisconnectResult = import_zod34.z.strictObject({ disconnected: import_zod34.z.boolean() });
3991
+ var BrowserSetEnabledParams = import_zod34.z.strictObject({ enabled: import_zod34.z.boolean() });
3992
+ var BrowserSetEnabledResult = import_zod34.z.strictObject({ enabled: import_zod34.z.boolean() });
3993
+ var BrowserPairCodeParams = import_zod34.z.strictObject({});
3994
+ var BrowserPairCodeResult = import_zod34.z.strictObject({ code: import_zod34.z.string().min(16).max(128) });
3995
+ var BrowserPairResetParams = import_zod34.z.strictObject({});
3996
+ var BrowserCallParams = import_zod34.z.strictObject({
3997
+ tool: import_zod34.z.string().min(1).max(96).regex(/^[a-z][a-z0-9_]*$/),
3998
+ args: import_zod34.z.record(import_zod34.z.string(), import_zod34.z.unknown()),
3323
3999
  /** Which session; default: the most recently active routable one (BROWSER ambiguity → CONFLICT). */
3324
4000
  client_instance: BrowserClientInstance.optional(),
3325
4001
  /** How long to wait, including a person's confirmation; default 120 s. */
3326
- timeout_ms: import_zod33.z.int().min(1e3).max(6e5).optional()
4002
+ timeout_ms: import_zod34.z.int().min(1e3).max(6e5).optional()
3327
4003
  });
3328
- var BrowserCallResult = import_zod33.z.strictObject({
4004
+ var BrowserCallResult = import_zod34.z.strictObject({
3329
4005
  client_instance: BrowserClientInstance,
3330
- result: import_zod33.z.unknown(),
4006
+ result: import_zod34.z.unknown(),
3331
4007
  duration_ms: nonNegInt
3332
4008
  });
3333
- var BrowserInvokeEvent = import_zod33.z.strictObject({
3334
- call_id: import_zod33.z.string().min(1).max(64),
3335
- tool: import_zod33.z.string().min(1).max(96),
3336
- args: import_zod33.z.record(import_zod33.z.string(), import_zod33.z.unknown()),
4009
+ var BrowserToolMetricsParams = import_zod34.z.strictObject({ client_instance: BrowserClientInstance });
4010
+ var BrowserToolMetric = import_zod34.z.strictObject({
4011
+ tool: import_zod34.z.string().max(256),
4012
+ calls: nonNegInt,
4013
+ errors: nonNegInt,
4014
+ /** Over the last 200 answered calls; null before the first answer. */
4015
+ p50_ms: nonNegInt.nullable(),
4016
+ p95_ms: nonNegInt.nullable(),
4017
+ last_call_at_ms: epochMs.nullable(),
4018
+ last_error: import_zod34.z.string().max(2048).nullable()
4019
+ });
4020
+ var BrowserToolMetricsResult = import_zod34.z.strictObject({ client_instance: import_zod34.z.string(), tools: import_zod34.z.array(BrowserToolMetric) });
4021
+ var BrowserResetCountersParams = import_zod34.z.strictObject({ client_instance: BrowserClientInstance });
4022
+ var BrowserResetCountersResult = import_zod34.z.strictObject({ reset: import_zod34.z.boolean() });
4023
+ var BrowserLogParams = import_zod34.z.strictObject({
4024
+ /** Only messages after this seq (0: from the oldest kept; the core keeps the last 500). */
4025
+ after_seq: nonNegInt.default(0),
4026
+ limit: import_zod34.z.int().min(1).max(500).default(500)
4027
+ });
4028
+ var BrowserLogMessage = import_zod34.z.strictObject({
4029
+ seq: nonNegInt,
4030
+ at_ms: epochMs,
4031
+ direction: import_zod34.z.enum(["to_browser", "from_browser", "core"]),
4032
+ client_instance: import_zod34.z.string(),
4033
+ kind: import_zod34.z.enum(["register", "invoke", "result", "progress", "timeout", "closed"]),
4034
+ tool: import_zod34.z.string().nullable(),
4035
+ call_id: import_zod34.z.string().nullable(),
4036
+ ok: import_zod34.z.boolean().nullable(),
4037
+ detail: import_zod34.z.string().max(1024)
4038
+ });
4039
+ var BrowserLogResult = import_zod34.z.strictObject({
4040
+ messages: import_zod34.z.array(BrowserLogMessage),
4041
+ /** The newest seq the core has written (pass it back as after_seq to follow the log). */
4042
+ last_seq: nonNegInt
4043
+ });
4044
+ var BrowserInvokeEvent = import_zod34.z.strictObject({
4045
+ call_id: import_zod34.z.string().min(1).max(64),
4046
+ tool: import_zod34.z.string().min(1).max(96),
4047
+ args: import_zod34.z.record(import_zod34.z.string(), import_zod34.z.unknown()),
3337
4048
  deadline_ms: epochMs
3338
4049
  });
3339
- var BrowserSessionsChangedEvent = import_zod33.z.strictObject({ count: nonNegInt, enabled: import_zod33.z.boolean() });
3340
- var BrowserProgressEvent = import_zod33.z.strictObject({
3341
- call_id: import_zod33.z.string().min(1).max(64),
4050
+ var BrowserSessionsChangedEvent = import_zod34.z.strictObject({ count: nonNegInt, enabled: import_zod34.z.boolean() });
4051
+ var BrowserProgressEvent = import_zod34.z.strictObject({
4052
+ call_id: import_zod34.z.string().min(1).max(64),
3342
4053
  client_instance: BrowserClientInstance,
3343
4054
  phase: BrowserCallPhase
3344
4055
  });
3345
- var DesktopHealth = import_zod33.z.strictObject({
3346
- status: import_zod33.z.literal("ok"),
3347
- service: import_zod33.z.literal("matrx-desktop"),
3348
- version: import_zod33.z.string().max(32),
3349
- protocol_version: import_zod33.z.string().max(16),
3350
- ws_path: import_zod33.z.literal("/v1/connect"),
3351
- device_id: import_zod33.z.string().max(64),
3352
- browser_connection: import_zod33.z.enum(["on", "off"])
3353
- });
3354
- var BrowserPairRequest = import_zod33.z.strictObject({ client_instance: BrowserClientInstance });
3355
- var BrowserPairResult = import_zod33.z.strictObject({ pair_token: import_zod33.z.string().min(16).max(128), ws_path: import_zod33.z.literal("/v1/connect") });
4056
+ var DesktopHealth = import_zod34.z.strictObject({
4057
+ status: import_zod34.z.literal("ok"),
4058
+ service: import_zod34.z.literal("matrx-desktop"),
4059
+ version: import_zod34.z.string().max(32),
4060
+ protocol_version: import_zod34.z.string().max(16),
4061
+ ws_path: import_zod34.z.literal("/v1/connect"),
4062
+ device_id: import_zod34.z.string().max(64),
4063
+ browser_connection: import_zod34.z.enum(["on", "off"])
4064
+ });
4065
+ var BrowserPairRequest = import_zod34.z.strictObject({ client_instance: BrowserClientInstance });
4066
+ var BrowserPairResult = import_zod34.z.strictObject({ pair_token: import_zod34.z.string().min(16).max(128), ws_path: import_zod34.z.literal("/v1/connect") });
3356
4067
  var MATRX_EXTENSION_IDS = {
3357
4068
  store: "hnfolienncfklkgmdjjmhhegglimlamg",
3358
4069
  development: "cihdmkcdjjckfhjpgoedmgfpoljebaml"
3359
4070
  };
3360
4071
  var DISCOVERY_FILE = { live: "matrx2.json", development: "matrx2-dev.json" };
3361
4072
 
4073
+ // src/schema/net.ts
4074
+ var import_zod35 = require("zod");
4075
+ var NetInfoParams = import_zod35.z.strictObject({});
4076
+ var NetAddress = import_zod35.z.strictObject({
4077
+ address: import_zod35.z.string(),
4078
+ family: import_zod35.z.enum(["ipv4", "ipv6"]),
4079
+ netmask: import_zod35.z.string().nullable(),
4080
+ /** CIDR form ("192.168.1.20/24"); null where the OS gives no prefix. */
4081
+ cidr: import_zod35.z.string().nullable()
4082
+ });
4083
+ var NetInterface = import_zod35.z.strictObject({
4084
+ name: import_zod35.z.string(),
4085
+ mac: import_zod35.z.string().nullable(),
4086
+ /** Loopback and other internal interfaces. */
4087
+ internal: import_zod35.z.boolean(),
4088
+ addresses: import_zod35.z.array(NetAddress)
4089
+ });
4090
+ var NetInfoResult = import_zod35.z.strictObject({
4091
+ hostname: import_zod35.z.string(),
4092
+ interfaces: import_zod35.z.array(NetInterface),
4093
+ /** The default route's gateway; null when the OS does not say (or there is none). */
4094
+ gateway: import_zod35.z.string().nullable(),
4095
+ /** The DNS servers the OS uses; empty when it does not say. */
4096
+ dns: import_zod35.z.array(import_zod35.z.string())
4097
+ });
4098
+ var NetWifiParams = import_zod35.z.strictObject({});
4099
+ var NetWifiNetwork = import_zod35.z.strictObject({
4100
+ /** null: the OS hides the name (macOS without Location Services for this app). */
4101
+ ssid: import_zod35.z.string().nullable(),
4102
+ /** dBm; null where the OS does not say. */
4103
+ rssi: import_zod35.z.int().nullable(),
4104
+ channel: import_zod35.z.string().nullable(),
4105
+ security: import_zod35.z.string().nullable()
4106
+ });
4107
+ var NetWifiResult = import_zod35.z.strictObject({
4108
+ /** Whether the computer has a Wi-Fi interface at all. */
4109
+ available: import_zod35.z.boolean(),
4110
+ /** The network the computer is on; null when it is on none. */
4111
+ current: NetWifiNetwork.nullable(),
4112
+ /** Networks in range (may be empty where the OS lists none to apps). */
4113
+ networks: import_zod35.z.array(NetWifiNetwork)
4114
+ });
4115
+ var NetBluetoothParams = import_zod35.z.strictObject({});
4116
+ var NetBluetoothDevice = import_zod35.z.strictObject({
4117
+ name: import_zod35.z.string(),
4118
+ address: import_zod35.z.string().nullable(),
4119
+ connected: import_zod35.z.boolean(),
4120
+ /** What it is, in the OS's words ("Headphones", "Keyboard"); null where it does not say. */
4121
+ kind: import_zod35.z.string().nullable(),
4122
+ /** Battery percent, where the OS reports it. */
4123
+ battery: import_zod35.z.int().min(0).max(100).nullable()
4124
+ });
4125
+ var NetBluetoothResult = import_zod35.z.strictObject({
4126
+ /** Bluetooth is on; null where the OS does not say. */
4127
+ powered: import_zod35.z.boolean().nullable(),
4128
+ devices: import_zod35.z.array(NetBluetoothDevice)
4129
+ });
4130
+ var NetDevicesParams = import_zod35.z.strictObject({});
4131
+ var NetDevice = import_zod35.z.strictObject({
4132
+ ip: import_zod35.z.string(),
4133
+ mac: import_zod35.z.string().nullable(),
4134
+ interface: import_zod35.z.string().nullable(),
4135
+ /** The name the local network gives it (reverse DNS / mDNS), when the table carries one. */
4136
+ hostname: import_zod35.z.string().nullable()
4137
+ });
4138
+ var NetDevicesResult = import_zod35.z.strictObject({ devices: import_zod35.z.array(NetDevice) });
4139
+ var NetMdnsParams = import_zod35.z.strictObject({
4140
+ /** A service type ("_http._tcp"); absent lists the service types found. */
4141
+ service_type: import_zod35.z.string().min(1).max(64).regex(/^_[A-Za-z0-9-]+\._(tcp|udp)$/).optional(),
4142
+ /** How long to listen. */
4143
+ timeout_s: import_zod35.z.int().min(1).max(30).default(3)
4144
+ });
4145
+ var NetMdnsService = import_zod35.z.strictObject({
4146
+ name: import_zod35.z.string(),
4147
+ type: import_zod35.z.string(),
4148
+ domain: import_zod35.z.string(),
4149
+ interface: import_zod35.z.string().nullable()
4150
+ });
4151
+ var NetMdnsResult = import_zod35.z.strictObject({ services: import_zod35.z.array(NetMdnsService) });
4152
+ var NetScanParams = import_zod35.z.strictObject({
4153
+ /** A host name or address; a private or loopback address unless `allow_public`. */
4154
+ host: import_zod35.z.string().min(1).max(253),
4155
+ ports: import_zod35.z.array(import_zod35.z.int().min(1).max(65535)).min(1).max(1024),
4156
+ timeout_ms: import_zod35.z.int().min(50).max(1e4).default(800),
4157
+ /** Scanning a host on the public internet needs saying so. */
4158
+ allow_public: import_zod35.z.boolean().default(false)
4159
+ });
4160
+ var NetScanResult = import_zod35.z.strictObject({
4161
+ host: import_zod35.z.string(),
4162
+ /** The address the host resolved to. */
4163
+ address: import_zod35.z.string(),
4164
+ open: import_zod35.z.array(import_zod35.z.int().min(1).max(65535)),
4165
+ closed: nonNegInt,
4166
+ elapsed_ms: nonNegInt
4167
+ });
4168
+ var NetDownloadParams = import_zod35.z.strictObject({
4169
+ url: import_zod35.z.string().min(1).max(8192).regex(/^https?:\/\//),
4170
+ /** Where to save it: an absolute path (a folder keeps the URL's file name). */
4171
+ path: AbsPath,
4172
+ overwrite: import_zod35.z.boolean().default(false),
4173
+ timeout_s: import_zod35.z.int().min(1).max(3600).default(300),
4174
+ /** Refuse anything larger. */
4175
+ max_bytes: import_zod35.z.int().min(1).max(10737418240).default(2147483648)
4176
+ });
4177
+ var NetDownloadResult = import_zod35.z.strictObject({
4178
+ path: import_zod35.z.string(),
4179
+ bytes: nonNegInt,
4180
+ content_type: import_zod35.z.string().nullable(),
4181
+ /** The final URL after redirects. */
4182
+ url: import_zod35.z.string(),
4183
+ elapsed_ms: nonNegInt
4184
+ });
4185
+
4186
+ // src/schema/personal.ts
4187
+ var import_zod36 = require("zod");
4188
+ var Text = import_zod36.z.string().max(65536);
4189
+ var AutomationScriptParams = import_zod36.z.strictObject({
4190
+ /** applescript and jxa: macOS (osascript); powershell: Windows (and pwsh where installed). */
4191
+ language: import_zod36.z.enum(["applescript", "jxa", "powershell"]),
4192
+ script: import_zod36.z.string().min(1).max(262144),
4193
+ timeout_s: import_zod36.z.int().min(1).max(600).default(60)
4194
+ });
4195
+ var AutomationScriptResult = import_zod36.z.strictObject({
4196
+ stdout: import_zod36.z.string(),
4197
+ stderr: import_zod36.z.string(),
4198
+ exit_code: import_zod36.z.int(),
4199
+ timed_out: import_zod36.z.boolean(),
4200
+ /** stdout or stderr was cut at 1 MiB. */
4201
+ truncated: import_zod36.z.boolean(),
4202
+ elapsed_ms: nonNegInt
4203
+ });
4204
+ var MailAccountsParams = import_zod36.z.strictObject({});
4205
+ var MailAccount = import_zod36.z.strictObject({ name: import_zod36.z.string(), emails: import_zod36.z.array(import_zod36.z.string()), enabled: import_zod36.z.boolean() });
4206
+ var MailAccountsResult = import_zod36.z.strictObject({ accounts: import_zod36.z.array(MailAccount) });
4207
+ var MailListParams = import_zod36.z.strictObject({
4208
+ /** The account's name in Mail; absent: every account. */
4209
+ account: import_zod36.z.string().min(1).max(256).optional(),
4210
+ /** The mailbox's name ("INBOX", "Sent Messages"). */
4211
+ mailbox: import_zod36.z.string().min(1).max(256).default("INBOX"),
4212
+ unread_only: import_zod36.z.boolean().default(false),
4213
+ limit: import_zod36.z.int().min(1).max(200).default(25)
4214
+ });
4215
+ var MailMessage = import_zod36.z.strictObject({
4216
+ id: import_zod36.z.string(),
4217
+ subject: import_zod36.z.string(),
4218
+ sender: import_zod36.z.string(),
4219
+ received_at_ms: epochMs.nullable(),
4220
+ read: import_zod36.z.boolean(),
4221
+ account: import_zod36.z.string(),
4222
+ mailbox: import_zod36.z.string(),
4223
+ /** The first lines of the message's text. */
4224
+ preview: import_zod36.z.string()
4225
+ });
4226
+ var MailListResult = import_zod36.z.strictObject({ messages: import_zod36.z.array(MailMessage) });
4227
+ var MailSendParams = import_zod36.z.strictObject({
4228
+ to: import_zod36.z.array(import_zod36.z.string().min(3).max(320)).min(1).max(50),
4229
+ cc: import_zod36.z.array(import_zod36.z.string().min(3).max(320)).max(50).default([]),
4230
+ subject: import_zod36.z.string().max(998),
4231
+ body: Text,
4232
+ /** The sending account's address; absent: Mail's default. */
4233
+ from: import_zod36.z.string().min(3).max(320).optional(),
4234
+ /** false leaves it open in Mail as a draft for the person to send. */
4235
+ send: import_zod36.z.boolean().default(true)
4236
+ });
4237
+ var MailSendResult = import_zod36.z.strictObject({ sent: import_zod36.z.boolean() });
4238
+ var MessagesChatsParams = import_zod36.z.strictObject({ limit: import_zod36.z.int().min(1).max(200).default(25) });
4239
+ var MessagesChat = import_zod36.z.strictObject({
4240
+ chat_id: import_zod36.z.string(),
4241
+ name: import_zod36.z.string().nullable(),
4242
+ participants: import_zod36.z.array(import_zod36.z.string()),
4243
+ last_message_at_ms: epochMs.nullable(),
4244
+ service: import_zod36.z.string().nullable()
4245
+ });
4246
+ var MessagesChatsResult = import_zod36.z.strictObject({ chats: import_zod36.z.array(MessagesChat) });
4247
+ var MessagesListParams = import_zod36.z.strictObject({
4248
+ /** One chat (messages.chats' chat_id); absent: the newest across all. */
4249
+ chat_id: import_zod36.z.string().min(1).max(512).optional(),
4250
+ limit: import_zod36.z.int().min(1).max(500).default(50)
4251
+ });
4252
+ var MessagesMessage = import_zod36.z.strictObject({
4253
+ id: import_zod36.z.string(),
4254
+ chat_id: import_zod36.z.string().nullable(),
4255
+ text: import_zod36.z.string(),
4256
+ from_me: import_zod36.z.boolean(),
4257
+ /** The other person's handle (phone or email); null for the person's own messages. */
4258
+ sender: import_zod36.z.string().nullable(),
4259
+ sent_at_ms: epochMs.nullable()
4260
+ });
4261
+ var MessagesListResult = import_zod36.z.strictObject({ messages: import_zod36.z.array(MessagesMessage) });
4262
+ var MessagesSendParams = import_zod36.z.strictObject({
4263
+ /** A phone number or email the person can message. */
4264
+ to: import_zod36.z.string().min(3).max(320),
4265
+ text: import_zod36.z.string().min(1).max(2e4)
4266
+ });
4267
+ var MessagesSendResult = import_zod36.z.strictObject({ sent: import_zod36.z.boolean() });
4268
+ var ContactsSearchParams = import_zod36.z.strictObject({
4269
+ /** Matched against names, organizations, emails and phone numbers. */
4270
+ query: import_zod36.z.string().min(1).max(256),
4271
+ limit: import_zod36.z.int().min(1).max(200).default(25)
4272
+ });
4273
+ var ContactLabeled = import_zod36.z.strictObject({ label: import_zod36.z.string().nullable(), value: import_zod36.z.string() });
4274
+ var ContactSummary = import_zod36.z.strictObject({
4275
+ id: import_zod36.z.string(),
4276
+ name: import_zod36.z.string(),
4277
+ organization: import_zod36.z.string().nullable(),
4278
+ emails: import_zod36.z.array(ContactLabeled),
4279
+ phones: import_zod36.z.array(ContactLabeled)
4280
+ });
4281
+ var ContactsSearchResult = import_zod36.z.strictObject({ contacts: import_zod36.z.array(ContactSummary) });
4282
+ var ContactsGetParams = import_zod36.z.strictObject({ id: import_zod36.z.string().min(1).max(256) });
4283
+ var ContactDetail = import_zod36.z.strictObject({
4284
+ id: import_zod36.z.string(),
4285
+ name: import_zod36.z.string(),
4286
+ organization: import_zod36.z.string().nullable(),
4287
+ job_title: import_zod36.z.string().nullable(),
4288
+ emails: import_zod36.z.array(ContactLabeled),
4289
+ phones: import_zod36.z.array(ContactLabeled),
4290
+ addresses: import_zod36.z.array(ContactLabeled),
4291
+ birthday: import_zod36.z.string().nullable(),
4292
+ note: import_zod36.z.string().nullable()
4293
+ });
4294
+ var ContactsGetResult = import_zod36.z.strictObject({ contact: ContactDetail });
4295
+ var CalendarListParams = import_zod36.z.strictObject({
4296
+ from_ms: epochMs,
4297
+ to_ms: epochMs,
4298
+ /** One calendar's name; absent: every calendar. */
4299
+ calendar: import_zod36.z.string().min(1).max(256).optional(),
4300
+ limit: import_zod36.z.int().min(1).max(500).default(100)
4301
+ });
4302
+ var CalendarEvent = import_zod36.z.strictObject({
4303
+ id: import_zod36.z.string(),
4304
+ title: import_zod36.z.string(),
4305
+ start_ms: epochMs,
4306
+ end_ms: epochMs,
4307
+ all_day: import_zod36.z.boolean(),
4308
+ calendar: import_zod36.z.string(),
4309
+ location: import_zod36.z.string().nullable(),
4310
+ notes: import_zod36.z.string().nullable()
4311
+ });
4312
+ var CalendarListResult = import_zod36.z.strictObject({ events: import_zod36.z.array(CalendarEvent) });
4313
+ var CalendarCreateParams = import_zod36.z.strictObject({
4314
+ title: import_zod36.z.string().min(1).max(1024),
4315
+ start_ms: epochMs,
4316
+ end_ms: epochMs,
4317
+ all_day: import_zod36.z.boolean().default(false),
4318
+ /** The calendar's name; absent: the first writable calendar. */
4319
+ calendar: import_zod36.z.string().min(1).max(256).optional(),
4320
+ location: import_zod36.z.string().max(1024).optional(),
4321
+ notes: Text.optional()
4322
+ });
4323
+ var CalendarCreateResult = import_zod36.z.strictObject({ id: import_zod36.z.string(), calendar: import_zod36.z.string() });
4324
+ var RemindersListParams = import_zod36.z.strictObject({
4325
+ /** One list's name; absent: every list. */
4326
+ list: import_zod36.z.string().min(1).max(256).optional(),
4327
+ include_completed: import_zod36.z.boolean().default(false),
4328
+ limit: import_zod36.z.int().min(1).max(500).default(100)
4329
+ });
4330
+ var Reminder = import_zod36.z.strictObject({
4331
+ id: import_zod36.z.string(),
4332
+ title: import_zod36.z.string(),
4333
+ list: import_zod36.z.string(),
4334
+ due_ms: epochMs.nullable(),
4335
+ completed: import_zod36.z.boolean(),
4336
+ notes: import_zod36.z.string().nullable()
4337
+ });
4338
+ var RemindersListResult = import_zod36.z.strictObject({ reminders: import_zod36.z.array(Reminder) });
4339
+ var RemindersCreateParams = import_zod36.z.strictObject({
4340
+ title: import_zod36.z.string().min(1).max(1024),
4341
+ due_ms: epochMs.optional(),
4342
+ list: import_zod36.z.string().min(1).max(256).optional(),
4343
+ notes: Text.optional()
4344
+ });
4345
+ var RemindersCreateResult = import_zod36.z.strictObject({ id: import_zod36.z.string(), list: import_zod36.z.string() });
4346
+ var PhotosSearchParams = import_zod36.z.strictObject({
4347
+ /** Matched against file names, titles, descriptions and keywords; absent: the newest. */
4348
+ query: import_zod36.z.string().min(1).max(256).optional(),
4349
+ from_ms: epochMs.optional(),
4350
+ to_ms: epochMs.optional(),
4351
+ favorites_only: import_zod36.z.boolean().default(false),
4352
+ limit: import_zod36.z.int().min(1).max(200).default(25)
4353
+ });
4354
+ var Photo = import_zod36.z.strictObject({
4355
+ id: import_zod36.z.string(),
4356
+ filename: import_zod36.z.string(),
4357
+ taken_at_ms: epochMs.nullable(),
4358
+ width: nonNegInt.nullable(),
4359
+ height: nonNegInt.nullable(),
4360
+ favorite: import_zod36.z.boolean(),
4361
+ title: import_zod36.z.string().nullable()
4362
+ });
4363
+ var PhotosSearchResult = import_zod36.z.strictObject({ photos: import_zod36.z.array(Photo) });
4364
+ var PhotosGetParams = import_zod36.z.strictObject({
4365
+ id: import_zod36.z.string().min(1).max(256),
4366
+ /** Copy the original into a folder Matrx 2 owns and answer its path (then fs_read or desktop_documents reads it). */
4367
+ export: import_zod36.z.boolean().default(false)
4368
+ });
4369
+ var PhotosGetResult = import_zod36.z.strictObject({ photo: Photo, path: import_zod36.z.string().nullable() });
4370
+ var LocationGetParams = import_zod36.z.strictObject({ timeout_s: import_zod36.z.int().min(1).max(60).default(15) });
4371
+ var LocationGetResult = import_zod36.z.strictObject({
4372
+ latitude: import_zod36.z.number().min(-90).max(90),
4373
+ longitude: import_zod36.z.number().min(-180).max(180),
4374
+ /** Metres; null where the OS does not say. */
4375
+ accuracy_m: import_zod36.z.number().min(0).nullable(),
4376
+ at_ms: epochMs,
4377
+ /** Who answered: the OS's own location service. */
4378
+ source: import_zod36.z.enum(["corelocation", "windows", "geoclue"])
4379
+ });
4380
+
4381
+ // src/schema/windows.ts
4382
+ var import_zod37 = require("zod");
4383
+ var RegistryKey = import_zod37.z.string().min(6).max(1024).regex(/^(HKLM|HKCU|HKCR|HKU|HKCC|HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER|HKEY_CLASSES_ROOT|HKEY_USERS|HKEY_CURRENT_CONFIG)(\\.*)?$/);
4384
+ var RegistryValueType = import_zod37.z.enum(["REG_SZ", "REG_EXPAND_SZ", "REG_MULTI_SZ", "REG_DWORD", "REG_QWORD", "REG_BINARY", "REG_NONE"]);
4385
+ var WindowsRegistryReadParams = import_zod37.z.strictObject({
4386
+ key: RegistryKey,
4387
+ /** One value's name ("" is the key's default value); absent: every value and the subkeys. */
4388
+ name: import_zod37.z.string().max(16383).optional()
4389
+ });
4390
+ var RegistryValue = import_zod37.z.strictObject({ name: import_zod37.z.string(), type: RegistryValueType, data: import_zod37.z.string() });
4391
+ var WindowsRegistryReadResult = import_zod37.z.strictObject({
4392
+ key: import_zod37.z.string(),
4393
+ exists: import_zod37.z.boolean(),
4394
+ values: import_zod37.z.array(RegistryValue),
4395
+ subkeys: import_zod37.z.array(import_zod37.z.string())
4396
+ });
4397
+ var WindowsRegistryWriteParams = import_zod37.z.strictObject({
4398
+ key: RegistryKey,
4399
+ name: import_zod37.z.string().max(16383),
4400
+ type: RegistryValueType.default("REG_SZ"),
4401
+ /** As reg.exe takes it: text, a number, hex for binary, \\0 between the strings of a multi-string. */
4402
+ data: import_zod37.z.string().max(1048576),
4403
+ /** Remove the value instead of writing it. */
4404
+ delete: import_zod37.z.boolean().default(false)
4405
+ });
4406
+ var WindowsRegistryWriteResult = import_zod37.z.strictObject({ key: import_zod37.z.string(), name: import_zod37.z.string(), deleted: import_zod37.z.boolean() });
4407
+ var WindowsServicesParams = import_zod37.z.strictObject({
4408
+ /** Matched against the service's name and display name. */
4409
+ filter: import_zod37.z.string().min(1).max(256).optional(),
4410
+ limit: import_zod37.z.int().min(1).max(1e3).default(200)
4411
+ });
4412
+ var WindowsService = import_zod37.z.strictObject({
4413
+ name: import_zod37.z.string(),
4414
+ display_name: import_zod37.z.string(),
4415
+ /** Running, Stopped, Paused… as Windows says it. */
4416
+ status: import_zod37.z.string(),
4417
+ /** Automatic, Manual, Disabled…; null where Windows does not say. */
4418
+ start_type: import_zod37.z.string().nullable()
4419
+ });
4420
+ var WindowsServicesResult = import_zod37.z.strictObject({ services: import_zod37.z.array(WindowsService) });
4421
+ var WindowsServiceControlParams = import_zod37.z.strictObject({
4422
+ name: import_zod37.z.string().min(1).max(256),
4423
+ action: import_zod37.z.enum(["start", "stop", "restart"])
4424
+ });
4425
+ var WindowsServiceControlResult = import_zod37.z.strictObject({ name: import_zod37.z.string(), status: import_zod37.z.string() });
4426
+ var WindowsEventLogParams = import_zod37.z.strictObject({
4427
+ log: import_zod37.z.string().min(1).max(256).default("System"),
4428
+ /** Only these levels; absent: all. */
4429
+ levels: import_zod37.z.array(import_zod37.z.enum(["critical", "error", "warning", "information", "verbose"])).max(5).optional(),
4430
+ since_ms: epochMs.optional(),
4431
+ limit: import_zod37.z.int().min(1).max(500).default(50)
4432
+ });
4433
+ var WindowsEvent = import_zod37.z.strictObject({
4434
+ id: import_zod37.z.int(),
4435
+ level: import_zod37.z.string(),
4436
+ source: import_zod37.z.string(),
4437
+ at_ms: epochMs,
4438
+ message: import_zod37.z.string()
4439
+ });
4440
+ var WindowsEventLogResult = import_zod37.z.strictObject({ log: import_zod37.z.string(), events: import_zod37.z.array(WindowsEvent) });
4441
+ var WindowsFeaturesParams = import_zod37.z.strictObject({ filter: import_zod37.z.string().min(1).max(256).optional() });
4442
+ var WindowsFeature = import_zod37.z.strictObject({ name: import_zod37.z.string(), state: import_zod37.z.string() });
4443
+ var WindowsFeaturesResult = import_zod37.z.strictObject({ features: import_zod37.z.array(WindowsFeature) });
4444
+
4445
+ // src/schema/schedule.ts
4446
+ var import_zod38 = require("zod");
4447
+ var OpRef = import_zod38.z.string().min(3).max(128).regex(/^[a-z_]+(\.[a-z_]+)+$/);
4448
+ var ScheduleCreateParams = import_zod38.z.strictObject({
4449
+ name: import_zod38.z.string().min(1).max(200),
4450
+ op: OpRef,
4451
+ /** The op's params, exactly as the op takes them; checked when the task is created. */
4452
+ params: import_zod38.z.record(import_zod38.z.string(), import_zod38.z.unknown()).default({}),
4453
+ interval_s: import_zod38.z.int().min(10).max(2592e3),
4454
+ /** Stop after this many runs; absent: until cancelled. */
4455
+ max_runs: import_zod38.z.int().min(1).max(1e5).optional(),
4456
+ /** Run once now, before the first interval. */
4457
+ run_now: import_zod38.z.boolean().default(false)
4458
+ });
4459
+ var ScheduleRun = import_zod38.z.strictObject({
4460
+ at_ms: epochMs,
4461
+ ok: import_zod38.z.boolean(),
4462
+ elapsed_ms: nonNegInt,
4463
+ /** The error's code and message when the run failed. */
4464
+ error: import_zod38.z.string().nullable(),
4465
+ /** The start of the answer, as JSON (cut at 4 KiB). */
4466
+ result_preview: import_zod38.z.string().nullable()
4467
+ });
4468
+ var ScheduledTask = import_zod38.z.strictObject({
4469
+ id: import_zod38.z.string(),
4470
+ name: import_zod38.z.string(),
4471
+ op: import_zod38.z.string(),
4472
+ params: import_zod38.z.record(import_zod38.z.string(), import_zod38.z.unknown()),
4473
+ interval_s: nonNegInt,
4474
+ max_runs: nonNegInt.nullable(),
4475
+ runs: nonNegInt,
4476
+ created_at_ms: epochMs,
4477
+ next_run_at_ms: epochMs.nullable(),
4478
+ /** active, done (ran max_runs), cancelled. */
4479
+ state: import_zod38.z.enum(["active", "done", "cancelled"]),
4480
+ /** The newest runs, newest first (at most 10). */
4481
+ recent: import_zod38.z.array(ScheduleRun)
4482
+ });
4483
+ var ScheduleCreateResult = import_zod38.z.strictObject({ task: ScheduledTask });
4484
+ var ScheduleListParams = import_zod38.z.strictObject({ include_finished: import_zod38.z.boolean().default(false) });
4485
+ var ScheduleListResult = import_zod38.z.strictObject({ tasks: import_zod38.z.array(ScheduledTask) });
4486
+ var ScheduleCancelParams = import_zod38.z.strictObject({ id: import_zod38.z.string().min(1).max(64) });
4487
+ var ScheduleCancelResult = import_zod38.z.strictObject({ task: ScheduledTask });
4488
+
4489
+ // src/schema/notes.ts
4490
+ var import_zod39 = require("zod");
4491
+ var NoteFolder = import_zod39.z.string().min(1).max(512).regex(/^[^/\\:*?"<>|][^\\:*?"<>|]*$/);
4492
+ var NotePath = import_zod39.z.string().min(4).max(1024).regex(/^[^/\\:*?"<>|][^\\:*?"<>|]*\.md$/);
4493
+ var NotesFoldersParams = import_zod39.z.strictObject({});
4494
+ var NotesFolder = import_zod39.z.strictObject({ folder: import_zod39.z.string(), notes: nonNegInt });
4495
+ var NotesFoldersResult = import_zod39.z.strictObject({
4496
+ /** The notes root on this computer. */
4497
+ root: import_zod39.z.string(),
4498
+ folders: import_zod39.z.array(NotesFolder)
4499
+ });
4500
+ var NotesListParams = import_zod39.z.strictObject({
4501
+ folder: NoteFolder.optional(),
4502
+ limit: import_zod39.z.int().min(1).max(2e3).default(500)
4503
+ });
4504
+ var NoteEntry = import_zod39.z.strictObject({
4505
+ path: import_zod39.z.string(),
4506
+ label: import_zod39.z.string(),
4507
+ folder: import_zod39.z.string(),
4508
+ bytes: nonNegInt,
4509
+ modified_at_ms: epochMs
4510
+ });
4511
+ var NotesListResult = import_zod39.z.strictObject({ root: import_zod39.z.string(), notes: import_zod39.z.array(NoteEntry), total: nonNegInt });
4512
+ var NotesReadParams = import_zod39.z.strictObject({ path: NotePath });
4513
+ var NotesReadResult = import_zod39.z.strictObject({
4514
+ path: import_zod39.z.string(),
4515
+ content: import_zod39.z.string(),
4516
+ bytes: nonNegInt,
4517
+ modified_at_ms: epochMs,
4518
+ /** SHA-256 of the content: pass it back as `if_hash` to write only over this version. */
4519
+ hash: import_zod39.z.string()
4520
+ });
4521
+ var NotesWriteParams = import_zod39.z.strictObject({
4522
+ folder: NoteFolder.default("General"),
4523
+ /** The note's name, without ".md". */
4524
+ label: import_zod39.z.string().min(1).max(200).regex(/^[^/\\:*?"<>|]+$/),
4525
+ content: import_zod39.z.string().max(10485760),
4526
+ /** Write only when the note is still this version (notes.read's hash); a change since answers CONFLICT. */
4527
+ if_hash: import_zod39.z.string().length(64).optional()
4528
+ });
4529
+ var NotesWriteResult = import_zod39.z.strictObject({ path: import_zod39.z.string(), bytes: nonNegInt, created: import_zod39.z.boolean(), hash: import_zod39.z.string() });
4530
+ var NotesSearchParams = import_zod39.z.strictObject({
4531
+ query: import_zod39.z.string().min(1).max(512),
4532
+ limit: import_zod39.z.int().min(1).max(200).default(50)
4533
+ });
4534
+ var NotesMatch = import_zod39.z.strictObject({
4535
+ path: import_zod39.z.string(),
4536
+ label: import_zod39.z.string(),
4537
+ folder: import_zod39.z.string(),
4538
+ /** The matching lines (at most five), trimmed. */
4539
+ lines: import_zod39.z.array(import_zod39.z.string())
4540
+ });
4541
+ var NotesSearchResult = import_zod39.z.strictObject({ matches: import_zod39.z.array(NotesMatch), total: nonNegInt });
4542
+
4543
+ // src/schema/documents.ts
4544
+ var import_zod40 = require("zod");
4545
+ var DOCUMENTS_MAX_TEXT_CHARS = 1048576;
4546
+ var DocumentsPdfTextParams = import_zod40.z.strictObject({
4547
+ path: AbsPath,
4548
+ /** 1-based, inclusive. */
4549
+ first_page: import_zod40.z.int().min(1).optional(),
4550
+ last_page: import_zod40.z.int().min(1).optional(),
4551
+ max_chars: import_zod40.z.int().min(1).max(DOCUMENTS_MAX_TEXT_CHARS).default(2e5)
4552
+ });
4553
+ var DocumentsPdfPage = import_zod40.z.strictObject({ page: import_zod40.z.int().min(1), text: import_zod40.z.string() });
4554
+ var DocumentsPdfTextResult = import_zod40.z.strictObject({
4555
+ pages: nonNegInt,
4556
+ /** Each page read, in order (an image-only page has empty text: OCR it). */
4557
+ read: import_zod40.z.array(DocumentsPdfPage),
4558
+ truncated: import_zod40.z.boolean(),
4559
+ title: import_zod40.z.string().nullable(),
4560
+ author: import_zod40.z.string().nullable()
4561
+ });
4562
+ var DocumentsOcrParams = import_zod40.z.strictObject({
4563
+ path: AbsPath,
4564
+ /** BCP-47 language hints ("en-US", "fr-FR"); absent: the OS's own choice. */
4565
+ languages: import_zod40.z.array(import_zod40.z.string().min(2).max(16)).max(8).optional(),
4566
+ /** Faster, less accurate. */
4567
+ fast: import_zod40.z.boolean().default(false)
4568
+ });
4569
+ var DocumentsOcrLine = import_zod40.z.strictObject({
4570
+ text: import_zod40.z.string(),
4571
+ /** 0–1; null where the engine does not say. */
4572
+ confidence: import_zod40.z.number().min(0).max(1).nullable()
4573
+ });
4574
+ var DocumentsOcrResult = import_zod40.z.strictObject({
4575
+ text: import_zod40.z.string(),
4576
+ lines: import_zod40.z.array(DocumentsOcrLine),
4577
+ truncated: import_zod40.z.boolean(),
4578
+ /** Which engine read it ("vision" on macOS, "windows-ocr", "tesseract"). */
4579
+ engine: import_zod40.z.string()
4580
+ });
4581
+ var DocumentsImageResizeParams = import_zod40.z.strictObject({
4582
+ path: AbsPath,
4583
+ /** Where to write it; absent: next to the original, "<name>-resized.<ext>". */
4584
+ out_path: AbsPath.optional(),
4585
+ /** The longest side, kept in proportion; absent: the size stays (a format change only). */
4586
+ max_size: import_zod40.z.int().min(1).max(32768).optional(),
4587
+ format: import_zod40.z.enum(["png", "jpeg", "tiff", "heic", "bmp", "gif"]).optional(),
4588
+ overwrite: import_zod40.z.boolean().default(false)
4589
+ });
4590
+ var DocumentsImageResizeResult = import_zod40.z.strictObject({
4591
+ path: import_zod40.z.string(),
4592
+ width: nonNegInt,
4593
+ height: nonNegInt,
4594
+ bytes: nonNegInt
4595
+ });
4596
+ var DocumentsParagraph = import_zod40.z.strictObject({
4597
+ style: import_zod40.z.enum(["title", "heading1", "heading2", "heading3", "body", "bullet", "numbered", "quote", "code"]).default("body"),
4598
+ text: import_zod40.z.string().max(1e5)
4599
+ });
4600
+ var DocumentsSheet = import_zod40.z.strictObject({
4601
+ name: import_zod40.z.string().min(1).max(31),
4602
+ /** Rows of cells; the first row is the header when `header` is true. */
4603
+ rows: import_zod40.z.array(import_zod40.z.array(import_zod40.z.union([import_zod40.z.string().max(32767), import_zod40.z.number(), import_zod40.z.boolean(), import_zod40.z.null()])).max(16384)).max(1e5),
4604
+ header: import_zod40.z.boolean().default(true)
4605
+ });
4606
+ var DocumentsOfficeGenerateParams = import_zod40.z.strictObject({
4607
+ kind: import_zod40.z.enum(["docx", "xlsx"]),
4608
+ path: AbsPath,
4609
+ title: import_zod40.z.string().max(1024).optional(),
4610
+ /** docx: the document's paragraphs, in order. */
4611
+ paragraphs: import_zod40.z.array(DocumentsParagraph).max(5e4).optional(),
4612
+ /** xlsx: the workbook's sheets, in order. */
4613
+ sheets: import_zod40.z.array(DocumentsSheet).min(1).max(64).optional(),
4614
+ overwrite: import_zod40.z.boolean().default(false)
4615
+ });
4616
+ var DocumentsOfficeGenerateResult = import_zod40.z.strictObject({ path: import_zod40.z.string(), bytes: nonNegInt });
4617
+ var EntitiesNerParams = import_zod40.z.strictObject({
4618
+ text: import_zod40.z.string().min(1).max(DOCUMENTS_MAX_TEXT_CHARS),
4619
+ /** Which kinds to keep; absent: all three. */
4620
+ labels: import_zod40.z.array(import_zod40.z.enum(["person", "place", "organization"])).min(1).max(3).optional()
4621
+ });
4622
+ var EntitySpan = import_zod40.z.strictObject({
4623
+ text: import_zod40.z.string(),
4624
+ label: import_zod40.z.string(),
4625
+ /** Character offsets into the text (UTF-16, as JavaScript counts). */
4626
+ start: nonNegInt,
4627
+ end: nonNegInt
4628
+ });
4629
+ var EntitiesNerResult = import_zod40.z.strictObject({ entities: import_zod40.z.array(EntitySpan), engine: import_zod40.z.string() });
4630
+ var PiiKind = import_zod40.z.enum(["email", "phone", "credit_card", "us_ssn", "iban", "ip_address", "url", "api_key"]);
4631
+ var EntitiesPiiParams = import_zod40.z.strictObject({
4632
+ text: import_zod40.z.string().min(1).max(DOCUMENTS_MAX_TEXT_CHARS),
4633
+ kinds: import_zod40.z.array(PiiKind).min(1).max(8).optional(),
4634
+ /** Also answer the text with each finding replaced by its kind ("[email]"). */
4635
+ redact: import_zod40.z.boolean().default(false)
4636
+ });
4637
+ var EntitiesPiiResult = import_zod40.z.strictObject({
4638
+ findings: import_zod40.z.array(import_zod40.z.strictObject({ kind: PiiKind, text: import_zod40.z.string(), start: nonNegInt, end: nonNegInt })),
4639
+ redacted: import_zod40.z.string().nullable()
4640
+ });
4641
+
3362
4642
  // src/schema/registry.ts
3363
4643
  var FS_ERR = ["NOT_FOUND", "PERMISSION_DENIED_OS", "INVALID_PARAMS", "RESOURCE_BUSY", "INTERNAL"];
3364
4644
  var OPS = {
@@ -3490,6 +4770,36 @@ var OPS = {
3490
4770
  "apps.windows.shown": { params: AppsWindowsShownParams, result: AppsWindowsShownResult, kind: "unary", since: "1.21", errors: ["NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
3491
4771
  // Claude Code history (SPEC §6 coding): served by the `coding` Python service through SERVICES below.
3492
4772
  "coding.history.import_missing": { params: CodingHistoryImportMissingParams, result: CodingHistoryImportMissingResult, kind: "unary", since: "1.5", errors: ["RESOURCE_BUSY", "RESOURCE_GONE", "CANCELLED", "INTERNAL"] },
4773
+ // Code from anywhere (1.38): the coding engine's sessions, read and driven over any transport.
4774
+ "coding.providers": { params: CodingProvidersParams, result: CodingProvidersResult, kind: "unary", since: "1.38", errors: ["INTERNAL"] },
4775
+ "coding.sessions.list": { params: CodingSessionsListParams, result: CodingSessionsListResult, kind: "unary", since: "1.38", errors: ["PLATFORM_UNSUPPORTED", "INTERNAL"] },
4776
+ "coding.discover": { params: CodingDiscoverParams, result: CodingDiscoverResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4777
+ "coding.runs.list": { params: CodingRunsListParams, result: CodingRunsListResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "INTERNAL"] },
4778
+ "coding.history": { params: CodingHistoryParams, result: CodingHistoryResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "INTERNAL"] },
4779
+ "coding.transcript.read": { params: CodingTranscriptReadParams, result: CodingTranscriptReadResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "INTERNAL"] },
4780
+ "coding.item.full": { params: CodingItemFullParams, result: CodingItemFullResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "PAYLOAD_TOO_LARGE", "INTERNAL"] },
4781
+ "coding.activity": { params: CodingActivityParams, result: CodingActivityResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "INTERNAL"] },
4782
+ "coding.folders.recent": { params: CodingFoldersRecentParams, result: CodingFoldersRecentResult, kind: "unary", since: "1.38", errors: ["INTERNAL"] },
4783
+ "coding.folders.check": { params: CodingFoldersCheckParams, result: CodingFoldersCheckResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "AUTH_FORBIDDEN", "INTERNAL"] },
4784
+ "coding.folders.create": { params: CodingFoldersCreateParams, result: CodingFoldersCreateResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "AUTH_FORBIDDEN", "PERMISSION_DENIED_OS", "INTERNAL"] },
4785
+ "coding.start": { params: CodingStartParams, result: CodingStartResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "AUTH_FORBIDDEN", "RATE_LIMITED", "INTERNAL"] },
4786
+ "coding.takeover": { params: CodingTakeoverParams, result: CodingTakeoverResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "RESOURCE_BUSY", "AUTH_FORBIDDEN", "INTERNAL"] },
4787
+ "coding.send": { params: CodingSendParams, result: CodingSendResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "RATE_LIMITED", "INTERNAL"] },
4788
+ "coding.stop": { params: CodingStopParams, result: CodingStopResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "INTERNAL"] },
4789
+ "coding.stop_elsewhere": { params: CodingStopElsewhereParams, result: CodingStopElsewhereResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "CONFLICT", "PERMISSION_DENIED_OS", "INTERNAL"] },
4790
+ "coding.options.set": { params: CodingOptionsSetParams, result: CodingOptionsSetResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "INTERNAL"] },
4791
+ "coding.agent.set": { params: CodingAgentSetParams, result: CodingAgentSetResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "AUTH_FORBIDDEN", "INTERNAL"] },
4792
+ "coding.agents.access": { params: CodingAgentsAccessParams, result: CodingAgentsAccessResult, kind: "unary", since: "1.38", errors: ["INTERNAL"] },
4793
+ "coding.titles.status": { params: CodingTitlesStatusParams, result: CodingTitlesStatusResult, kind: "unary", since: "1.38", errors: ["INTERNAL"] },
4794
+ "coding.prefs.list": { params: CodingPrefsListParams, result: CodingPrefsListResult, kind: "unary", since: "1.38", errors: ["INTERNAL"] },
4795
+ "coding.prefs.set": { params: CodingPrefsSetParams, result: CodingPrefsSetResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "INTERNAL"] },
4796
+ "coding.recent.seen": { params: CodingRecentSeenParams, result: CodingRecentSeenResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "INTERNAL"] },
4797
+ "coding.search": { params: CodingSearchParams, result: CodingSearchResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "TIMEOUT", "INTERNAL"] },
4798
+ "coding.reconcile": { params: CodingReconcileParams, result: CodingReconcileResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "RESOURCE_BUSY", "CANCELLED", "INTERNAL"] },
4799
+ "coding.transcript.raw": { params: CodingTranscriptRawParams, result: CodingTranscriptRawResult, kind: "stream", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "CANCELLED", "INTERNAL"] },
4800
+ "coding.watch": { params: CodingWatchParams, result: CodingWatchResult, kind: "resource", since: "1.38", errors: ["PLATFORM_UNSUPPORTED", "RATE_LIMITED", "INTERNAL"] },
4801
+ "coding.session.watch": { params: CodingSessionWatchParams, result: CodingSessionWatchResult, kind: "resource", since: "1.38", errors: ["INVALID_PARAMS", "NOT_FOUND", "RATE_LIMITED", "INTERNAL"] },
4802
+ "session.identify": { params: SessionIdentifyParams, result: SessionIdentifyResult, kind: "unary", since: "1.38", errors: ["INVALID_PARAMS"] },
3493
4803
  // 1.22: git for agents (core `git`, the system git; the cloud sandbox's /git/* set, SPEC 6.1).
3494
4804
  "git.status": { params: GitStatusParams, result: GitStatusResult, kind: "unary", since: "1.22", errors: ["NOT_FOUND", "INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3495
4805
  "git.diff": { params: GitDiffParams, result: GitDiffResult, kind: "unary", since: "1.22", errors: ["NOT_FOUND", "INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
@@ -3510,6 +4820,10 @@ var OPS = {
3510
4820
  "account.agents.list": { params: AccountAgentsListParams, result: AccountAgentsListResult, kind: "unary", since: "1.23", errors: ["INTERNAL"] },
3511
4821
  "account.vault.list": { params: AccountVaultListParams, result: AccountVaultListResult, kind: "unary", since: "1.23", errors: ["INTERNAL"] },
3512
4822
  "account.vault.copy": { params: AccountVaultCopyParams, result: AccountVaultCopyResult, kind: "unary", since: "1.23", errors: ["AUTH_REQUIRED", "AUTH_FORBIDDEN", "NOT_FOUND", "INVALID_PARAMS", "DEVICE_OFFLINE", "INTERNAL"] },
4823
+ // 1.39: one agent opened (its inputs and what it uses), its runs (mandate.run_history, one agent at a time) and its star.
4824
+ "account.agents.get": { params: AccountAgentsGetParams, result: AccountAgentsGetResult, kind: "unary", since: "1.39", errors: ["INVALID_PARAMS", "INTERNAL"] },
4825
+ "account.agents.runs": { params: AccountAgentsRunsParams, result: AccountAgentsRunsResult, kind: "unary", since: "1.39", errors: ["INVALID_PARAMS", "INTERNAL"] },
4826
+ "account.agents.favorite": { params: AccountAgentsFavoriteParams, result: AccountAgentsFavoriteResult, kind: "unary", since: "1.39", errors: ["AUTH_REQUIRED", "NOT_FOUND", "INVALID_PARAMS", "DEVICE_OFFLINE", "INTERNAL"] },
3513
4827
  // 1.26: the app's own update (it installs only once every window quit) and bringing the windows back.
3514
4828
  "apps.windows.update_state": { params: AppsWindowsUpdateStateParams, result: AppsWindowsUpdateStateResult, kind: "unary", since: "1.26", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
3515
4829
  "apps.windows.reopen": { params: AppsWindowsReopenParams, result: AppsWindowsReopenResult, kind: "unary", since: "1.26", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
@@ -3523,7 +4837,55 @@ var OPS = {
3523
4837
  "browser.set_enabled": { params: BrowserSetEnabledParams, result: BrowserSetEnabledResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "INTERNAL"] },
3524
4838
  "browser.pair_code": { params: BrowserPairCodeParams, result: BrowserPairCodeResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "INTERNAL"] },
3525
4839
  "browser.pair_reset": { params: BrowserPairResetParams, result: BrowserPairCodeResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "INTERNAL"] },
3526
- "browser.call": { params: BrowserCallParams, result: BrowserCallResult, kind: "unary", since: "1.28", errors: ["NOT_FOUND", "CONFLICT", "AUTH_FORBIDDEN", "INVALID_PARAMS", "TIMEOUT", "CANCELLED", "RESOURCE_GONE", "PAYLOAD_TOO_LARGE", "INTERNAL"] }
4840
+ "browser.tool_metrics": { params: BrowserToolMetricsParams, result: BrowserToolMetricsResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS"] },
4841
+ "browser.reset_counters": { params: BrowserResetCountersParams, result: BrowserResetCountersResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS"] },
4842
+ "browser.log": { params: BrowserLogParams, result: BrowserLogResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS"] },
4843
+ "browser.call": { params: BrowserCallParams, result: BrowserCallResult, kind: "unary", since: "1.28", errors: ["NOT_FOUND", "CONFLICT", "AUTH_FORBIDDEN", "INVALID_PARAMS", "TIMEOUT", "CANCELLED", "RESOURCE_GONE", "PAYLOAD_TOO_LARGE", "INTERNAL"] },
4844
+ // 1.37: Matrx Local's remaining sidecar tools in the core (net, automation, the person's apps,
4845
+ // Windows administration, schedules, local notes, documents and entities).
4846
+ "net.info": { params: NetInfoParams, result: NetInfoResult, kind: "unary", since: "1.37", errors: ["PLATFORM_UNSUPPORTED", "INTERNAL"] },
4847
+ "net.wifi": { params: NetWifiParams, result: NetWifiResult, kind: "unary", since: "1.37", errors: ["PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4848
+ "net.bluetooth": { params: NetBluetoothParams, result: NetBluetoothResult, kind: "unary", since: "1.37", errors: ["PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4849
+ "net.devices": { params: NetDevicesParams, result: NetDevicesResult, kind: "unary", since: "1.37", errors: ["PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4850
+ "net.mdns": { params: NetMdnsParams, result: NetMdnsResult, kind: "unary", since: "1.37", errors: ["PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4851
+ "net.scan": { params: NetScanParams, result: NetScanResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "AUTH_FORBIDDEN", "TIMEOUT", "INTERNAL"] },
4852
+ "net.download": { params: NetDownloadParams, result: NetDownloadResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "CONFLICT", "PERMISSION_DENIED_OS", "PAYLOAD_TOO_LARGE", "TIMEOUT", "INTERNAL"] },
4853
+ "automation.script": { params: AutomationScriptParams, result: AutomationScriptResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4854
+ "mail.accounts": { params: MailAccountsParams, result: MailAccountsResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4855
+ "mail.list": { params: MailListParams, result: MailListResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4856
+ "mail.send": { params: MailSendParams, result: MailSendResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4857
+ "messages.chats": { params: MessagesChatsParams, result: MessagesChatsResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4858
+ "messages.list": { params: MessagesListParams, result: MessagesListResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4859
+ "messages.send": { params: MessagesSendParams, result: MessagesSendResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4860
+ "contacts.search": { params: ContactsSearchParams, result: ContactsSearchResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4861
+ "contacts.get": { params: ContactsGetParams, result: ContactsGetResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4862
+ "calendar.list": { params: CalendarListParams, result: CalendarListResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4863
+ "calendar.create": { params: CalendarCreateParams, result: CalendarCreateResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4864
+ "reminders.list": { params: RemindersListParams, result: RemindersListResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4865
+ "reminders.create": { params: RemindersCreateParams, result: RemindersCreateResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4866
+ "photos.search": { params: PhotosSearchParams, result: PhotosSearchResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4867
+ "photos.get": { params: PhotosGetParams, result: PhotosGetResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4868
+ "location.get": { params: LocationGetParams, result: LocationGetResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4869
+ "windows.registry_read": { params: WindowsRegistryReadParams, result: WindowsRegistryReadResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4870
+ "windows.registry_write": { params: WindowsRegistryWriteParams, result: WindowsRegistryWriteResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4871
+ "windows.services": { params: WindowsServicesParams, result: WindowsServicesResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4872
+ "windows.service_control": { params: WindowsServiceControlParams, result: WindowsServiceControlResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4873
+ "windows.event_log": { params: WindowsEventLogParams, result: WindowsEventLogResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4874
+ "windows.features": { params: WindowsFeaturesParams, result: WindowsFeaturesResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4875
+ "schedule.create": { params: ScheduleCreateParams, result: ScheduleCreateResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "INTERNAL"] },
4876
+ "schedule.list": { params: ScheduleListParams, result: ScheduleListResult, kind: "unary", since: "1.37", errors: ["INTERNAL"] },
4877
+ "schedule.cancel": { params: ScheduleCancelParams, result: ScheduleCancelResult, kind: "unary", since: "1.37", errors: ["NOT_FOUND", "INTERNAL"] },
4878
+ "notes.folders": { params: NotesFoldersParams, result: NotesFoldersResult, kind: "unary", since: "1.37", errors: ["INTERNAL"] },
4879
+ "notes.list": { params: NotesListParams, result: NotesListResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "INTERNAL"] },
4880
+ "notes.read": { params: NotesReadParams, result: NotesReadResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "INTERNAL"] },
4881
+ "notes.write": { params: NotesWriteParams, result: NotesWriteResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "CONFLICT", "PERMISSION_DENIED_OS", "INTERNAL"] },
4882
+ "notes.search": { params: NotesSearchParams, result: NotesSearchResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "INTERNAL"] },
4883
+ "documents.pdf_text": { params: DocumentsPdfTextParams, result: DocumentsPdfTextResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4884
+ "documents.ocr": { params: DocumentsOcrParams, result: DocumentsOcrResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4885
+ "documents.image_resize": { params: DocumentsImageResizeParams, result: DocumentsImageResizeResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "CONFLICT", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4886
+ "documents.office_generate": { params: DocumentsOfficeGenerateParams, result: DocumentsOfficeGenerateResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "CONFLICT", "PERMISSION_DENIED_OS", "INTERNAL"] },
4887
+ "entities.ner": { params: EntitiesNerParams, result: EntitiesNerResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
4888
+ "entities.pii": { params: EntitiesPiiParams, result: EntitiesPiiResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "INTERNAL"] }
3527
4889
  };
3528
4890
  var EVENTS = {
3529
4891
  "fs.changed": FsChangedEvent,
@@ -3535,6 +4897,10 @@ var EVENTS = {
3535
4897
  "session.control_changed": SessionControlChangedEvent,
3536
4898
  "models.progress": ModelsProgressEvent,
3537
4899
  "coding.history.progress": CodingHistoryProgressEvent,
4900
+ "coding.changed": CodingChangedEvent,
4901
+ "coding.watch_state": CodingWatchStateEvent,
4902
+ "coding.item": CodingItemEvent,
4903
+ "coding.gap": CodingGapEvent,
3538
4904
  "relay.device_status": RelayDeviceStatusEvent,
3539
4905
  "relay.auth_expiring": RelayAuthExpiringEvent,
3540
4906
  "diag.errors.changed": DiagErrorsChangedEvent,
@@ -3709,6 +5075,91 @@ var NAMED_SCHEMAS = {
3709
5075
  CodingHistoryImportMissingParams,
3710
5076
  CodingHistoryImportMissingResult,
3711
5077
  CodingHistoryProgressEvent,
5078
+ CodingProviderName,
5079
+ CodingRunStatus,
5080
+ CodingClientRequestId,
5081
+ CodingRunUsage,
5082
+ CodingStartedBy,
5083
+ CodingRunRecord,
5084
+ CodingSessionAgentPart,
5085
+ CodingSessionAgent,
5086
+ CodingSessionRecord,
5087
+ CodingActiveElsewhere,
5088
+ CodingDiscoveredChat,
5089
+ CodingTranscriptItem,
5090
+ CodingHistoryRecord,
5091
+ CodingQuotaWindow,
5092
+ CodingProviderProblem,
5093
+ CodingProviderBinary,
5094
+ CodingProviderStatus,
5095
+ CodingChatPreference,
5096
+ CodingTitleStatus,
5097
+ CodingRecentRow,
5098
+ CodingFolderCheck,
5099
+ CodingRecentFolder,
5100
+ CodingAgentSelectionParams,
5101
+ CodingSendResult,
5102
+ CodingProvidersParams,
5103
+ CodingProvidersResult,
5104
+ CodingSessionsListParams,
5105
+ CodingSessionsListResult,
5106
+ CodingDiscoverParams,
5107
+ CodingDiscoverResult,
5108
+ CodingRunsListParams,
5109
+ CodingRunsListResult,
5110
+ CodingHistoryParams,
5111
+ CodingHistoryResult,
5112
+ CodingTranscriptReadParams,
5113
+ CodingTranscriptReadResult,
5114
+ CodingItemFullParams,
5115
+ CodingItemFullResult,
5116
+ CodingActivityParams,
5117
+ CodingActivityResult,
5118
+ CodingFoldersRecentParams,
5119
+ CodingFoldersRecentResult,
5120
+ CodingFoldersCheckParams,
5121
+ CodingFoldersCheckResult,
5122
+ CodingFoldersCreateParams,
5123
+ CodingFoldersCreateResult,
5124
+ CodingStartParams,
5125
+ CodingStartResult,
5126
+ CodingTakeoverParams,
5127
+ CodingTakeoverResult,
5128
+ CodingSendParams,
5129
+ CodingStopParams,
5130
+ CodingStopResult,
5131
+ CodingStopElsewhereParams,
5132
+ CodingStopElsewhereResult,
5133
+ CodingOptionsSetParams,
5134
+ CodingOptionsSetResult,
5135
+ CodingAgentSetParams,
5136
+ CodingAgentSetResult,
5137
+ CodingAgentsAccessParams,
5138
+ CodingAgentsAccessResult,
5139
+ CodingTitlesStatusParams,
5140
+ CodingTitlesStatusResult,
5141
+ CodingPrefsListParams,
5142
+ CodingPrefsListResult,
5143
+ CodingPrefsSetParams,
5144
+ CodingPrefsSetResult,
5145
+ CodingRecentSeenParams,
5146
+ CodingRecentSeenResult,
5147
+ CodingSearchParams,
5148
+ CodingSearchResult,
5149
+ CodingReconcileParams,
5150
+ CodingReconcileResult,
5151
+ CodingTranscriptRawParams,
5152
+ CodingTranscriptRawResult,
5153
+ CodingWatchParams,
5154
+ CodingWatchResult,
5155
+ CodingSessionWatchParams,
5156
+ CodingSessionWatchResult,
5157
+ SessionIdentifyParams,
5158
+ SessionIdentifyResult,
5159
+ CodingChangedEvent,
5160
+ CodingWatchStateEvent,
5161
+ CodingItemEvent,
5162
+ CodingGapEvent,
3712
5163
  ServiceName,
3713
5164
  ContractHash,
3714
5165
  ServiceToken,
@@ -4018,6 +5469,17 @@ var NAMED_SCHEMAS = {
4018
5469
  AccountVaultListResult,
4019
5470
  AccountVaultCopyParams,
4020
5471
  AccountVaultCopyResult,
5472
+ AccountAgentVariable,
5473
+ AccountAgentDetail,
5474
+ AccountAgentsGetParams,
5475
+ AccountAgentsGetResult,
5476
+ AccountAgentRunStatus,
5477
+ AccountAgentRun,
5478
+ AccountAgentRunSort,
5479
+ AccountAgentsRunsParams,
5480
+ AccountAgentsRunsResult,
5481
+ AccountAgentsFavoriteParams,
5482
+ AccountAgentsFavoriteResult,
4021
5483
  AppsWindowsUpdateStateParams,
4022
5484
  AppsWindowsUpdateStateResult,
4023
5485
  AppsWindowsReopenParams,
@@ -4052,7 +5514,133 @@ var NAMED_SCHEMAS = {
4052
5514
  BrowserProgressEvent,
4053
5515
  DesktopHealth,
4054
5516
  BrowserPairRequest,
4055
- BrowserPairResult
5517
+ BrowserPairResult,
5518
+ BrowserToolMetricsParams,
5519
+ BrowserToolMetric,
5520
+ BrowserToolMetricsResult,
5521
+ BrowserResetCountersParams,
5522
+ BrowserResetCountersResult,
5523
+ BrowserLogParams,
5524
+ BrowserLogMessage,
5525
+ BrowserLogResult,
5526
+ NetInfoParams,
5527
+ NetAddress,
5528
+ NetInterface,
5529
+ NetInfoResult,
5530
+ NetWifiParams,
5531
+ NetWifiNetwork,
5532
+ NetWifiResult,
5533
+ NetBluetoothParams,
5534
+ NetBluetoothDevice,
5535
+ NetBluetoothResult,
5536
+ NetDevicesParams,
5537
+ NetDevice,
5538
+ NetDevicesResult,
5539
+ NetMdnsParams,
5540
+ NetMdnsService,
5541
+ NetMdnsResult,
5542
+ NetScanParams,
5543
+ NetScanResult,
5544
+ NetDownloadParams,
5545
+ NetDownloadResult,
5546
+ AutomationScriptParams,
5547
+ AutomationScriptResult,
5548
+ MailAccountsParams,
5549
+ MailAccount,
5550
+ MailAccountsResult,
5551
+ MailListParams,
5552
+ MailMessage,
5553
+ MailListResult,
5554
+ MailSendParams,
5555
+ MailSendResult,
5556
+ MessagesChatsParams,
5557
+ MessagesChat,
5558
+ MessagesChatsResult,
5559
+ MessagesListParams,
5560
+ MessagesMessage,
5561
+ MessagesListResult,
5562
+ MessagesSendParams,
5563
+ MessagesSendResult,
5564
+ ContactsSearchParams,
5565
+ ContactLabeled,
5566
+ ContactSummary,
5567
+ ContactsSearchResult,
5568
+ ContactsGetParams,
5569
+ ContactDetail,
5570
+ ContactsGetResult,
5571
+ CalendarListParams,
5572
+ CalendarEvent,
5573
+ CalendarListResult,
5574
+ CalendarCreateParams,
5575
+ CalendarCreateResult,
5576
+ RemindersListParams,
5577
+ Reminder,
5578
+ RemindersListResult,
5579
+ RemindersCreateParams,
5580
+ RemindersCreateResult,
5581
+ PhotosSearchParams,
5582
+ Photo,
5583
+ PhotosSearchResult,
5584
+ PhotosGetParams,
5585
+ PhotosGetResult,
5586
+ LocationGetParams,
5587
+ LocationGetResult,
5588
+ RegistryValueType,
5589
+ WindowsRegistryReadParams,
5590
+ RegistryValue,
5591
+ WindowsRegistryReadResult,
5592
+ WindowsRegistryWriteParams,
5593
+ WindowsRegistryWriteResult,
5594
+ WindowsServicesParams,
5595
+ WindowsService,
5596
+ WindowsServicesResult,
5597
+ WindowsServiceControlParams,
5598
+ WindowsServiceControlResult,
5599
+ WindowsEventLogParams,
5600
+ WindowsEvent,
5601
+ WindowsEventLogResult,
5602
+ WindowsFeaturesParams,
5603
+ WindowsFeature,
5604
+ WindowsFeaturesResult,
5605
+ ScheduleCreateParams,
5606
+ ScheduleRun,
5607
+ ScheduledTask,
5608
+ ScheduleCreateResult,
5609
+ ScheduleListParams,
5610
+ ScheduleListResult,
5611
+ ScheduleCancelParams,
5612
+ ScheduleCancelResult,
5613
+ NotesFoldersParams,
5614
+ NotesFolder,
5615
+ NotesFoldersResult,
5616
+ NotesListParams,
5617
+ NoteEntry,
5618
+ NotesListResult,
5619
+ NotesReadParams,
5620
+ NotesReadResult,
5621
+ NotesWriteParams,
5622
+ NotesWriteResult,
5623
+ NotesSearchParams,
5624
+ NotesMatch,
5625
+ NotesSearchResult,
5626
+ DocumentsPdfTextParams,
5627
+ DocumentsPdfPage,
5628
+ DocumentsPdfTextResult,
5629
+ DocumentsOcrParams,
5630
+ DocumentsOcrLine,
5631
+ DocumentsOcrResult,
5632
+ DocumentsImageResizeParams,
5633
+ DocumentsImageResizeResult,
5634
+ DocumentsParagraph,
5635
+ DocumentsSheet,
5636
+ DocumentsOfficeGenerateParams,
5637
+ DocumentsOfficeGenerateResult,
5638
+ EntitiesNerParams,
5639
+ EntitySpan,
5640
+ EntitiesNerResult,
5641
+ PiiKind,
5642
+ EntitiesPiiParams,
5643
+ EntitiesPiiResult
4056
5644
  };
4057
5645
 
4058
5646
  // src/versioning.ts
@@ -4074,9 +5662,10 @@ var FIELDS_SINCE = {
4074
5662
  PowerStatusResult: { energy: "1.24" },
4075
5663
  AppsSpendResult: { days: "1.24" },
4076
5664
  AppsWindowsUpdateStateResult: { closed_by_update: "1.27" },
4077
- AppsProjectsToWindowParams: { pin: "1.32" },
5665
+ AppsProjectsToWindowParams: { pin: "1.32", chat_ids: "1.36", take_off_from: "1.36" },
4078
5666
  AppsProjectsToWindowResult: { pin: "1.32" },
4079
- AppsChatsTitlesCheckResult: { stale_windows: "1.33" }
5667
+ AppsChatsTitlesCheckResult: { stale_windows: "1.33" },
5668
+ AccountAgent: { tags: "1.39", model_id: "1.39", access_level: "1.39", organization_id: "1.39", origin: "1.39", is_archived: "1.39", orchestra: "1.39" }
4080
5669
  };
4081
5670
  var NULL_SINCE = {
4082
5671
  "RelayDeviceStatusEvent.since_ms": { since: "1.1", olderPeersGet: 0 }
@@ -4093,7 +5682,8 @@ var REASONS_SINCE = {
4093
5682
  browser_ambiguous: "1.28",
4094
5683
  browser_account_mismatch: "1.28",
4095
5684
  browser_connection_off: "1.28",
4096
- awaiting_confirmation: "1.28"
5685
+ awaiting_confirmation: "1.28",
5686
+ tool_disabled_on_device: "1.34"
4097
5687
  };
4098
5688
  function statusForPeer(status, version) {
4099
5689
  const rule = NULL_SINCE["RelayDeviceStatusEvent.since_ms"];
@@ -4151,7 +5741,8 @@ var NESTED_RESULTS = /* @__PURE__ */ new Map([
4151
5741
  ["apps.chats.place", [["chat", "ChatRow"]]],
4152
5742
  ["apps.accounts.usage", [["accounts", "AccountUsage"]]],
4153
5743
  ["resources.snapshot", [["disks", "ResourcesDisk"]]],
4154
- ["stack.state", [["servers", "StackServer"]]]
5744
+ ["stack.state", [["servers", "StackServer"]]],
5745
+ ["account.agents.list", [["agents", "AccountAgent"]]]
4155
5746
  ]);
4156
5747
  function stripNested(value, nested, version) {
4157
5748
  if (value === null || typeof value !== "object" || Array.isArray(value)) return value;
@@ -4212,7 +5803,7 @@ function forPeer(op, part, value, version) {
4212
5803
  var VERSIONED_RESULT_OPS = [.../* @__PURE__ */ new Set([...RESULT_PATH.keys(), ...WINDOW_RESULTS.keys(), ...NESTED_RESULTS.keys()])];
4213
5804
 
4214
5805
  // src/contract.ts
4215
- var CONTRACT_SHA256 = "04a029fc56c9405f376906fc981659997f4617c98bd0b88bb052d1f6d587a7a2";
5806
+ var CONTRACT_SHA256 = "542bc69319741eea52154d413b4fe974ee5a56f7aef351e78b866b0562e82753";
4216
5807
 
4217
5808
  // src/close-policy.ts
4218
5809
  var CLOSE_RULES = {
@@ -4276,25 +5867,31 @@ var TOOL_CATALOG = [
4276
5867
  { name: "desktop_power", group: "os_control", state: "built", path: "device_op", ops: ["power.status", "power.history", "power.prevent_sleep"], platforms: ALL, summary: "Battery and keep awake" },
4277
5868
  { name: "desktop_resources", group: "os_control", state: "built", path: "device_op", ops: ["resources.snapshot", "resources.activity", "resources.stop_job", "resources.incidents"], platforms: ALL, summary: "CPU, memory and disk use; what is using them, grouped into jobs; stop a job; the slowdown log" },
4278
5869
  { name: "fs_watch", group: "os_control", state: "built", path: "device_op", ops: ["fs.watch.start", "fs.watch.events", "fs.watch.stop"], platforms: ALL, summary: "Watch a folder; read what changed" },
4279
- // ── 3. Personal apps and automation ──────────────────────────────────────────────────────────
4280
- { name: "desktop_automation", group: "personal_automation", state: "planned", path: "device_op", ops: ["automation.script"], platforms: ["darwin", "win32"], summary: "AppleScript on a Mac, PowerShell on Windows" },
4281
- { name: "desktop_mail", group: "personal_automation", state: "planned", path: "device_op", ops: ["mail.accounts", "mail.list", "mail.send"], platforms: ["darwin"], summary: "The Mail app" },
4282
- { name: "desktop_messages", group: "personal_automation", state: "planned", path: "device_op", ops: ["messages.conversations", "messages.list", "messages.send"], platforms: ["darwin"], summary: "The Messages app" },
4283
- { name: "desktop_contacts", group: "personal_automation", state: "planned", path: "device_op", ops: ["contacts.search", "contacts.get"], platforms: ["darwin"], summary: "Contacts" },
4284
- { name: "desktop_calendar", group: "personal_automation", state: "planned", path: "device_op", ops: ["calendar.list", "calendar.create", "reminders.list", "reminders.create"], platforms: ["darwin"], summary: "Calendar and reminders" },
4285
- { name: "desktop_photos", group: "personal_automation", state: "planned", path: "device_op", ops: ["photos.search", "photos.get"], platforms: ["darwin"], summary: "Photos library" },
4286
- { name: "desktop_location", group: "personal_automation", state: "planned", path: "device_op", ops: ["location.get"], platforms: ["darwin", "win32"], summary: "Where the computer is" },
4287
- { name: "desktop_net", group: "personal_automation", state: "planned", path: "device_op", ops: ["net.info", "net.wifi", "net.bluetooth", "net.devices", "net.mdns", "net.scan", "net.download"], platforms: ALL, summary: "Local network and downloads" },
4288
- // ── 4. Python `tools` service ────────────────────────────────────────────────────────────────
4289
- { name: "desktop_documents", group: "tools_service", state: "planned", path: "device_op", ops: ["tools.pdf_extract", "tools.office_generate", "tools.ocr", "tools.image_resize"], platforms: ALL, summary: "PDF text, Office files, OCR, images" },
5870
+ // ── 3. Personal apps and automation (1.37: the core's `automation`, `personal`, `net` and `schedule` owners) ──
5871
+ { name: "desktop_automation", group: "personal_automation", state: "built", path: "device_op", ops: ["automation.script"], platforms: ["darwin", "win32"], summary: "AppleScript or JavaScript for Automation on a Mac, PowerShell on Windows" },
5872
+ { name: "desktop_mail", group: "personal_automation", state: "built", path: "device_op", ops: ["mail.accounts", "mail.list", "mail.send"], platforms: ["darwin"], summary: "The Mail app: accounts, messages, send" },
5873
+ { name: "desktop_messages", group: "personal_automation", state: "built", path: "device_op", ops: ["messages.chats", "messages.list", "messages.send"], platforms: ["darwin"], summary: "The Messages app: chats, messages, send" },
5874
+ { name: "desktop_contacts", group: "personal_automation", state: "built", path: "device_op", ops: ["contacts.search", "contacts.get"], platforms: ["darwin"], summary: "Contacts: search, one card" },
5875
+ { name: "desktop_calendar", group: "personal_automation", state: "built", path: "device_op", ops: ["calendar.list", "calendar.create", "reminders.list", "reminders.create"], platforms: ["darwin"], summary: "Calendar and Reminders: list and add" },
5876
+ { name: "desktop_photos", group: "personal_automation", state: "built", path: "device_op", ops: ["photos.search", "photos.get"], platforms: ["darwin"], summary: "The Photos library: find, export an original" },
5877
+ { name: "desktop_location", group: "personal_automation", state: "built", path: "device_op", ops: ["location.get"], platforms: ["darwin", "win32"], summary: "Where the computer is (the OS's location service)" },
5878
+ { name: "desktop_net", group: "personal_automation", state: "built", path: "device_op", ops: ["net.info", "net.wifi", "net.bluetooth", "net.devices", "net.mdns", "net.scan", "net.download"], platforms: ALL, summary: "Local network, Wi-Fi, Bluetooth, open ports and downloads" },
5879
+ { name: "desktop_schedule", group: "personal_automation", state: "built", path: "device_op", ops: ["schedule.create", "schedule.list", "schedule.cancel"], platforms: ALL, summary: "Run a tool's op on this computer on an interval; list and cancel" },
5880
+ // 1.38, code from anywhere: the person's Claude Code and Codex sessions on this computer. Turning
5881
+ // either off in Agents › Tools refuses its ops on every relay connection (the existing switch).
5882
+ { name: "coding_sessions_read", group: "personal_automation", state: "built", path: "device_op", ops: ["coding.providers", "coding.sessions.list", "coding.discover", "coding.runs.list", "coding.history", "coding.transcript.read", "coding.item.full", "coding.activity", "coding.folders.recent", "coding.folders.check", "coding.agents.access", "coding.titles.status", "coding.prefs.list", "coding.recent.seen", "coding.search", "coding.transcript.raw", "coding.watch", "coding.session.watch"], platforms: ALL, summary: "Claude Code and Codex sessions: list, read live, search, download" },
5883
+ { name: "coding_sessions_drive", group: "personal_automation", state: "built", path: "device_op", ops: ["coding.start", "coding.takeover", "coding.send", "coding.stop", "coding.stop_elsewhere", "coding.options.set", "coding.agent.set", "coding.folders.create", "coding.prefs.set", "coding.reconcile"], platforms: ALL, summary: "Claude Code and Codex sessions: start, send, stop, take over, rename" },
5884
+ // ── 4. Documents, notes and entities (1.37: the core's `documents` and `notes` owners; desktop_web is the `tools` service) ──
5885
+ { name: "desktop_documents", group: "tools_service", state: "built", path: "device_op", ops: ["documents.pdf_text", "documents.ocr", "documents.image_resize", "documents.office_generate"], platforms: ALL, summary: "PDF text, OCR, images, Word and Excel files" },
4290
5886
  { name: "desktop_web", group: "tools_service", state: "built", path: "device_op", ops: ["web.fetch", "web.scrape", "web.search", "web.fetch_with_browser"], platforms: ALL, summary: "Fetch, scrape and search the web from this computer's own connection" },
4291
- { name: "desktop_entities", group: "tools_service", state: "planned", path: "device_op", ops: ["tools.ner", "tools.pii"], platforms: ALL, summary: "Names and private data, found on the device" },
5887
+ { name: "desktop_entities", group: "tools_service", state: "built", path: "device_op", ops: ["entities.ner", "entities.pii"], platforms: ALL, summary: "Names, places, organizations and private data, found on the device" },
5888
+ { name: "desktop_notes", group: "files_shell", state: "built", path: "device_op", ops: ["notes.folders", "notes.list", "notes.read", "notes.write", "notes.search"], platforms: ALL, summary: "The person's local notes (Documents/Matrx/Notes): list, read, write, search" },
4292
5889
  // ── 5. Python `ml` service ───────────────────────────────────────────────────────────────────
4293
5890
  // Built: models.transcribe through local_proxy's POST /op/{cap.op} (matrx-ai implementations/desktop.py).
4294
5891
  // Whisper detects the language itself, so matrx-local's speech_locales needs no op of its own.
4295
5892
  { name: "desktop_transcribe", group: "ml_service", state: "built", path: "device_op", ops: ["models.transcribe"], platforms: ALL, summary: "Speech to text on the device" },
4296
5893
  // ── 6. Windows administration ────────────────────────────────────────────────────────────────
4297
- { name: "desktop_windows_admin", group: "windows_admin", state: "planned", path: "device_op", ops: ["windows.registry_read", "windows.registry_write", "windows.services", "windows.service_control", "windows.event_log", "windows.features"], platforms: ["win32"], summary: "Registry, services, event log" }
5894
+ { name: "desktop_windows_admin", group: "windows_admin", state: "built", path: "device_op", ops: ["windows.registry_read", "windows.registry_write", "windows.services", "windows.service_control", "windows.event_log", "windows.features"], platforms: ["win32"], summary: "Registry, services, event log, optional features" }
4298
5895
  ];
4299
5896
  var EXCLUDED_TOOLS = {
4300
5897
  git_ingest: "Runs on the server: it ingests repository URLs. A local path on a bound computer or sandbox is refused with the fs_* and shell remedy, since the server cannot see it"
@@ -4383,15 +5980,17 @@ var LEGACY_ACTIONS = {
4383
5980
  "local_monitor.watch_events": tool("fs_watch"),
4384
5981
  "local_monitor.stop_watch": tool("fs_watch"),
4385
5982
  "local_monitor.heartbeat": dropped("The relay's device status replaces the heartbeat"),
4386
- "local_schedule.create": dropped("One scheduler: the platform's runs the agent on time and reaches the device through the relay"),
4387
- "local_schedule.list": dropped("One scheduler: the platform's runs the agent on time and reaches the device through the relay"),
4388
- "local_schedule.cancel": dropped("One scheduler: the platform's runs the agent on time and reaches the device through the relay"),
5983
+ // Matrx Local's scheduler ran one of its tools on an interval; desktop_schedule runs an op so.
5984
+ "local_schedule.create": tool("desktop_schedule"),
5985
+ "local_schedule.list": tool("desktop_schedule"),
5986
+ "local_schedule.cancel": tool("desktop_schedule"),
4389
5987
  "local_schedule.prevent_sleep": tool("desktop_power"),
4390
- "local_documents.list": dropped("matrx-local's private document store is gone; documents are files (fs_*) or cloud Knowledge"),
4391
- "local_documents.folders": dropped("matrx-local's private document store is gone; documents are files (fs_*) or cloud Knowledge"),
4392
- "local_documents.read": dropped("matrx-local's private document store is gone; documents are files (fs_*) or cloud Knowledge"),
4393
- "local_documents.write": dropped("matrx-local's private document store is gone; documents are files (fs_*) or cloud Knowledge"),
4394
- "local_documents.search": dropped("matrx-local's private document store is gone; documents are files (fs_*) or cloud Knowledge"),
5988
+ // Matrx Local's documents are the Markdown notes in Documents/Matrx/Notes; desktop_notes reads and writes them.
5989
+ "local_documents.list": tool("desktop_notes"),
5990
+ "local_documents.folders": tool("desktop_notes"),
5991
+ "local_documents.read": tool("desktop_notes"),
5992
+ "local_documents.write": tool("desktop_notes"),
5993
+ "local_documents.search": tool("desktop_notes"),
4395
5994
  "local_media.ocr": tool("desktop_documents"),
4396
5995
  "local_media.resize": tool("desktop_documents"),
4397
5996
  "local_media.pdf_extract": tool("desktop_documents"),