@ai-matrx/desktop-protocol 0.21.27 → 0.21.29

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.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import { z } from "zod";
3
3
  import { UUID_SHAPE_PATTERN } from "@ai-matrx/kit/uuid";
4
4
  var PROTOCOL_MAJOR = 1;
5
- var PROTOCOL_MINOR = 32;
5
+ var PROTOCOL_MINOR = 37;
6
6
  var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
7
7
  var ProtocolVersion = z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
8
8
  var RequestId = z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
@@ -86,8 +86,11 @@ var ErrorReason = z2.enum([
86
86
  // AUTH_FORBIDDEN: the named browser is signed in to another account
87
87
  "browser_connection_off",
88
88
  // AUTH_FORBIDDEN: the person turned Browser connection off
89
- "awaiting_confirmation"
89
+ "awaiting_confirmation",
90
90
  // TIMEOUT: the person did not answer the browser's confirmation in time
91
+ // 1.34 (REASONS_SINCE): the per-device tool policy (src/tools/policy.ts)
92
+ "tool_disabled_on_device"
93
+ // AUTH_FORBIDDEN: the person turned this tool off for agents on this computer (Agents › Tools)
91
94
  ]);
92
95
  var FsPatchEditFailure = z2.strictObject({ edit_index: nonNegInt, reason: z2.string().max(300) });
93
96
  var ProtocolErrorBody = z2.strictObject({
@@ -1388,6 +1391,10 @@ var AppsProjectsToWindowParams = z14.strictObject({
1388
1391
  group: z14.boolean().default(false),
1389
1392
  /** 1.32: also pin them in that window (now if closed, else when it next closes). */
1390
1393
  pin: z14.boolean().optional(),
1394
+ /** 1.36: a batch: exactly these chats of the project and no other (a reused marker is a label, never a sweep). */
1395
+ chat_ids: z14.array(ChatId).min(1).max(5e3).optional(),
1396
+ /** 1.36: take them off this one side window only (a Move's origin), never main or another window that lists them. */
1397
+ take_off_from: ChatPlace.optional(),
1391
1398
  dry_run: z14.boolean().default(false)
1392
1399
  });
1393
1400
  var AppsProjectsToWindowResult = z14.strictObject({
@@ -1454,6 +1461,12 @@ var TitleMismatch = z14.strictObject({
1454
1461
  windows: z14.array(ChatPlace).max(200),
1455
1462
  differs_in: z14.array(TitleCopies).max(200)
1456
1463
  });
1464
+ var StaleTitleWindow = z14.strictObject({
1465
+ window: ChatPlace,
1466
+ /** First and latest time (ms) it was seen writing an old name back. */
1467
+ since_ms: nonNegInt,
1468
+ last_ms: nonNegInt
1469
+ });
1457
1470
  var AppsChatsTitlesCheckParams = z14.strictObject({ app_key: AppKey });
1458
1471
  var AppsChatsTitlesCheckResult = z14.strictObject({
1459
1472
  app_key: AppKey,
@@ -1462,7 +1475,9 @@ var AppsChatsTitlesCheckResult = z14.strictObject({
1462
1475
  /** Chats with a different name in some window (or in Matrx). */
1463
1476
  chats_with_a_different_name: nonNegInt,
1464
1477
  copies_to_write: nonNegInt,
1465
- chats: z14.array(TitleMismatch).max(5e3)
1478
+ chats: z14.array(TitleMismatch).max(5e3),
1479
+ /** Windows that keep writing old names back (each is fixed every pass; reloading it, Cmd+R, stops it). Since 1.33. */
1480
+ stale_windows: z14.array(StaleTitleWindow).max(200).optional()
1466
1481
  });
1467
1482
  var AppsChatsTitlesPushParams = z14.strictObject({ app_key: AppKey, chat_id: ChatId.optional(), dry_run: z14.boolean().optional() });
1468
1483
  var AppsChatsTitlesPushResult = z14.strictObject({
@@ -1883,7 +1898,9 @@ var SystemSettingsPane = z21.enum([
1883
1898
  "energy",
1884
1899
  "about",
1885
1900
  "storage",
1886
- "system_report"
1901
+ "system_report",
1902
+ /** (1.35) Privacy & Security › Microphone: where the person allows Matrx 2 the microphone. */
1903
+ "microphone"
1887
1904
  ]);
1888
1905
  var SystemOpenSettingsParams = z21.strictObject({ pane: SystemSettingsPane });
1889
1906
  var SystemOpenSettingsResult = z21.strictObject({ pane: SystemSettingsPane });
@@ -2742,6 +2759,41 @@ var BrowserCallResult = z33.strictObject({
2742
2759
  result: z33.unknown(),
2743
2760
  duration_ms: nonNegInt
2744
2761
  });
2762
+ var BrowserToolMetricsParams = z33.strictObject({ client_instance: BrowserClientInstance });
2763
+ var BrowserToolMetric = z33.strictObject({
2764
+ tool: z33.string().max(256),
2765
+ calls: nonNegInt,
2766
+ errors: nonNegInt,
2767
+ /** Over the last 200 answered calls; null before the first answer. */
2768
+ p50_ms: nonNegInt.nullable(),
2769
+ p95_ms: nonNegInt.nullable(),
2770
+ last_call_at_ms: epochMs.nullable(),
2771
+ last_error: z33.string().max(2048).nullable()
2772
+ });
2773
+ var BrowserToolMetricsResult = z33.strictObject({ client_instance: z33.string(), tools: z33.array(BrowserToolMetric) });
2774
+ var BrowserResetCountersParams = z33.strictObject({ client_instance: BrowserClientInstance });
2775
+ var BrowserResetCountersResult = z33.strictObject({ reset: z33.boolean() });
2776
+ var BrowserLogParams = z33.strictObject({
2777
+ /** Only messages after this seq (0: from the oldest kept; the core keeps the last 500). */
2778
+ after_seq: nonNegInt.default(0),
2779
+ limit: z33.int().min(1).max(500).default(500)
2780
+ });
2781
+ var BrowserLogMessage = z33.strictObject({
2782
+ seq: nonNegInt,
2783
+ at_ms: epochMs,
2784
+ direction: z33.enum(["to_browser", "from_browser", "core"]),
2785
+ client_instance: z33.string(),
2786
+ kind: z33.enum(["register", "invoke", "result", "progress", "timeout", "closed"]),
2787
+ tool: z33.string().nullable(),
2788
+ call_id: z33.string().nullable(),
2789
+ ok: z33.boolean().nullable(),
2790
+ detail: z33.string().max(1024)
2791
+ });
2792
+ var BrowserLogResult = z33.strictObject({
2793
+ messages: z33.array(BrowserLogMessage),
2794
+ /** The newest seq the core has written (pass it back as after_seq to follow the log). */
2795
+ last_seq: nonNegInt
2796
+ });
2745
2797
  var BrowserInvokeEvent = z33.strictObject({
2746
2798
  call_id: z33.string().min(1).max(64),
2747
2799
  tool: z33.string().min(1).max(96),
@@ -2771,6 +2823,575 @@ var MATRX_EXTENSION_IDS = {
2771
2823
  };
2772
2824
  var DISCOVERY_FILE = { live: "matrx2.json", development: "matrx2-dev.json" };
2773
2825
 
2826
+ // src/schema/net.ts
2827
+ import { z as z34 } from "zod";
2828
+ var NetInfoParams = z34.strictObject({});
2829
+ var NetAddress = z34.strictObject({
2830
+ address: z34.string(),
2831
+ family: z34.enum(["ipv4", "ipv6"]),
2832
+ netmask: z34.string().nullable(),
2833
+ /** CIDR form ("192.168.1.20/24"); null where the OS gives no prefix. */
2834
+ cidr: z34.string().nullable()
2835
+ });
2836
+ var NetInterface = z34.strictObject({
2837
+ name: z34.string(),
2838
+ mac: z34.string().nullable(),
2839
+ /** Loopback and other internal interfaces. */
2840
+ internal: z34.boolean(),
2841
+ addresses: z34.array(NetAddress)
2842
+ });
2843
+ var NetInfoResult = z34.strictObject({
2844
+ hostname: z34.string(),
2845
+ interfaces: z34.array(NetInterface),
2846
+ /** The default route's gateway; null when the OS does not say (or there is none). */
2847
+ gateway: z34.string().nullable(),
2848
+ /** The DNS servers the OS uses; empty when it does not say. */
2849
+ dns: z34.array(z34.string())
2850
+ });
2851
+ var NetWifiParams = z34.strictObject({});
2852
+ var NetWifiNetwork = z34.strictObject({
2853
+ /** null: the OS hides the name (macOS without Location Services for this app). */
2854
+ ssid: z34.string().nullable(),
2855
+ /** dBm; null where the OS does not say. */
2856
+ rssi: z34.int().nullable(),
2857
+ channel: z34.string().nullable(),
2858
+ security: z34.string().nullable()
2859
+ });
2860
+ var NetWifiResult = z34.strictObject({
2861
+ /** Whether the computer has a Wi-Fi interface at all. */
2862
+ available: z34.boolean(),
2863
+ /** The network the computer is on; null when it is on none. */
2864
+ current: NetWifiNetwork.nullable(),
2865
+ /** Networks in range (may be empty where the OS lists none to apps). */
2866
+ networks: z34.array(NetWifiNetwork)
2867
+ });
2868
+ var NetBluetoothParams = z34.strictObject({});
2869
+ var NetBluetoothDevice = z34.strictObject({
2870
+ name: z34.string(),
2871
+ address: z34.string().nullable(),
2872
+ connected: z34.boolean(),
2873
+ /** What it is, in the OS's words ("Headphones", "Keyboard"); null where it does not say. */
2874
+ kind: z34.string().nullable(),
2875
+ /** Battery percent, where the OS reports it. */
2876
+ battery: z34.int().min(0).max(100).nullable()
2877
+ });
2878
+ var NetBluetoothResult = z34.strictObject({
2879
+ /** Bluetooth is on; null where the OS does not say. */
2880
+ powered: z34.boolean().nullable(),
2881
+ devices: z34.array(NetBluetoothDevice)
2882
+ });
2883
+ var NetDevicesParams = z34.strictObject({});
2884
+ var NetDevice = z34.strictObject({
2885
+ ip: z34.string(),
2886
+ mac: z34.string().nullable(),
2887
+ interface: z34.string().nullable(),
2888
+ /** The name the local network gives it (reverse DNS / mDNS), when the table carries one. */
2889
+ hostname: z34.string().nullable()
2890
+ });
2891
+ var NetDevicesResult = z34.strictObject({ devices: z34.array(NetDevice) });
2892
+ var NetMdnsParams = z34.strictObject({
2893
+ /** A service type ("_http._tcp"); absent lists the service types found. */
2894
+ service_type: z34.string().min(1).max(64).regex(/^_[A-Za-z0-9-]+\._(tcp|udp)$/).optional(),
2895
+ /** How long to listen. */
2896
+ timeout_s: z34.int().min(1).max(30).default(3)
2897
+ });
2898
+ var NetMdnsService = z34.strictObject({
2899
+ name: z34.string(),
2900
+ type: z34.string(),
2901
+ domain: z34.string(),
2902
+ interface: z34.string().nullable()
2903
+ });
2904
+ var NetMdnsResult = z34.strictObject({ services: z34.array(NetMdnsService) });
2905
+ var NetScanParams = z34.strictObject({
2906
+ /** A host name or address; a private or loopback address unless `allow_public`. */
2907
+ host: z34.string().min(1).max(253),
2908
+ ports: z34.array(z34.int().min(1).max(65535)).min(1).max(1024),
2909
+ timeout_ms: z34.int().min(50).max(1e4).default(800),
2910
+ /** Scanning a host on the public internet needs saying so. */
2911
+ allow_public: z34.boolean().default(false)
2912
+ });
2913
+ var NetScanResult = z34.strictObject({
2914
+ host: z34.string(),
2915
+ /** The address the host resolved to. */
2916
+ address: z34.string(),
2917
+ open: z34.array(z34.int().min(1).max(65535)),
2918
+ closed: nonNegInt,
2919
+ elapsed_ms: nonNegInt
2920
+ });
2921
+ var NetDownloadParams = z34.strictObject({
2922
+ url: z34.string().min(1).max(8192).regex(/^https?:\/\//),
2923
+ /** Where to save it: an absolute path (a folder keeps the URL's file name). */
2924
+ path: AbsPath,
2925
+ overwrite: z34.boolean().default(false),
2926
+ timeout_s: z34.int().min(1).max(3600).default(300),
2927
+ /** Refuse anything larger. */
2928
+ max_bytes: z34.int().min(1).max(10737418240).default(2147483648)
2929
+ });
2930
+ var NetDownloadResult = z34.strictObject({
2931
+ path: z34.string(),
2932
+ bytes: nonNegInt,
2933
+ content_type: z34.string().nullable(),
2934
+ /** The final URL after redirects. */
2935
+ url: z34.string(),
2936
+ elapsed_ms: nonNegInt
2937
+ });
2938
+
2939
+ // src/schema/personal.ts
2940
+ import { z as z35 } from "zod";
2941
+ var Text = z35.string().max(65536);
2942
+ var AutomationScriptParams = z35.strictObject({
2943
+ /** applescript and jxa: macOS (osascript); powershell: Windows (and pwsh where installed). */
2944
+ language: z35.enum(["applescript", "jxa", "powershell"]),
2945
+ script: z35.string().min(1).max(262144),
2946
+ timeout_s: z35.int().min(1).max(600).default(60)
2947
+ });
2948
+ var AutomationScriptResult = z35.strictObject({
2949
+ stdout: z35.string(),
2950
+ stderr: z35.string(),
2951
+ exit_code: z35.int(),
2952
+ timed_out: z35.boolean(),
2953
+ /** stdout or stderr was cut at 1 MiB. */
2954
+ truncated: z35.boolean(),
2955
+ elapsed_ms: nonNegInt
2956
+ });
2957
+ var MailAccountsParams = z35.strictObject({});
2958
+ var MailAccount = z35.strictObject({ name: z35.string(), emails: z35.array(z35.string()), enabled: z35.boolean() });
2959
+ var MailAccountsResult = z35.strictObject({ accounts: z35.array(MailAccount) });
2960
+ var MailListParams = z35.strictObject({
2961
+ /** The account's name in Mail; absent: every account. */
2962
+ account: z35.string().min(1).max(256).optional(),
2963
+ /** The mailbox's name ("INBOX", "Sent Messages"). */
2964
+ mailbox: z35.string().min(1).max(256).default("INBOX"),
2965
+ unread_only: z35.boolean().default(false),
2966
+ limit: z35.int().min(1).max(200).default(25)
2967
+ });
2968
+ var MailMessage = z35.strictObject({
2969
+ id: z35.string(),
2970
+ subject: z35.string(),
2971
+ sender: z35.string(),
2972
+ received_at_ms: epochMs.nullable(),
2973
+ read: z35.boolean(),
2974
+ account: z35.string(),
2975
+ mailbox: z35.string(),
2976
+ /** The first lines of the message's text. */
2977
+ preview: z35.string()
2978
+ });
2979
+ var MailListResult = z35.strictObject({ messages: z35.array(MailMessage) });
2980
+ var MailSendParams = z35.strictObject({
2981
+ to: z35.array(z35.string().min(3).max(320)).min(1).max(50),
2982
+ cc: z35.array(z35.string().min(3).max(320)).max(50).default([]),
2983
+ subject: z35.string().max(998),
2984
+ body: Text,
2985
+ /** The sending account's address; absent: Mail's default. */
2986
+ from: z35.string().min(3).max(320).optional(),
2987
+ /** false leaves it open in Mail as a draft for the person to send. */
2988
+ send: z35.boolean().default(true)
2989
+ });
2990
+ var MailSendResult = z35.strictObject({ sent: z35.boolean() });
2991
+ var MessagesChatsParams = z35.strictObject({ limit: z35.int().min(1).max(200).default(25) });
2992
+ var MessagesChat = z35.strictObject({
2993
+ chat_id: z35.string(),
2994
+ name: z35.string().nullable(),
2995
+ participants: z35.array(z35.string()),
2996
+ last_message_at_ms: epochMs.nullable(),
2997
+ service: z35.string().nullable()
2998
+ });
2999
+ var MessagesChatsResult = z35.strictObject({ chats: z35.array(MessagesChat) });
3000
+ var MessagesListParams = z35.strictObject({
3001
+ /** One chat (messages.chats' chat_id); absent: the newest across all. */
3002
+ chat_id: z35.string().min(1).max(512).optional(),
3003
+ limit: z35.int().min(1).max(500).default(50)
3004
+ });
3005
+ var MessagesMessage = z35.strictObject({
3006
+ id: z35.string(),
3007
+ chat_id: z35.string().nullable(),
3008
+ text: z35.string(),
3009
+ from_me: z35.boolean(),
3010
+ /** The other person's handle (phone or email); null for the person's own messages. */
3011
+ sender: z35.string().nullable(),
3012
+ sent_at_ms: epochMs.nullable()
3013
+ });
3014
+ var MessagesListResult = z35.strictObject({ messages: z35.array(MessagesMessage) });
3015
+ var MessagesSendParams = z35.strictObject({
3016
+ /** A phone number or email the person can message. */
3017
+ to: z35.string().min(3).max(320),
3018
+ text: z35.string().min(1).max(2e4)
3019
+ });
3020
+ var MessagesSendResult = z35.strictObject({ sent: z35.boolean() });
3021
+ var ContactsSearchParams = z35.strictObject({
3022
+ /** Matched against names, organizations, emails and phone numbers. */
3023
+ query: z35.string().min(1).max(256),
3024
+ limit: z35.int().min(1).max(200).default(25)
3025
+ });
3026
+ var ContactLabeled = z35.strictObject({ label: z35.string().nullable(), value: z35.string() });
3027
+ var ContactSummary = z35.strictObject({
3028
+ id: z35.string(),
3029
+ name: z35.string(),
3030
+ organization: z35.string().nullable(),
3031
+ emails: z35.array(ContactLabeled),
3032
+ phones: z35.array(ContactLabeled)
3033
+ });
3034
+ var ContactsSearchResult = z35.strictObject({ contacts: z35.array(ContactSummary) });
3035
+ var ContactsGetParams = z35.strictObject({ id: z35.string().min(1).max(256) });
3036
+ var ContactDetail = z35.strictObject({
3037
+ id: z35.string(),
3038
+ name: z35.string(),
3039
+ organization: z35.string().nullable(),
3040
+ job_title: z35.string().nullable(),
3041
+ emails: z35.array(ContactLabeled),
3042
+ phones: z35.array(ContactLabeled),
3043
+ addresses: z35.array(ContactLabeled),
3044
+ birthday: z35.string().nullable(),
3045
+ note: z35.string().nullable()
3046
+ });
3047
+ var ContactsGetResult = z35.strictObject({ contact: ContactDetail });
3048
+ var CalendarListParams = z35.strictObject({
3049
+ from_ms: epochMs,
3050
+ to_ms: epochMs,
3051
+ /** One calendar's name; absent: every calendar. */
3052
+ calendar: z35.string().min(1).max(256).optional(),
3053
+ limit: z35.int().min(1).max(500).default(100)
3054
+ });
3055
+ var CalendarEvent = z35.strictObject({
3056
+ id: z35.string(),
3057
+ title: z35.string(),
3058
+ start_ms: epochMs,
3059
+ end_ms: epochMs,
3060
+ all_day: z35.boolean(),
3061
+ calendar: z35.string(),
3062
+ location: z35.string().nullable(),
3063
+ notes: z35.string().nullable()
3064
+ });
3065
+ var CalendarListResult = z35.strictObject({ events: z35.array(CalendarEvent) });
3066
+ var CalendarCreateParams = z35.strictObject({
3067
+ title: z35.string().min(1).max(1024),
3068
+ start_ms: epochMs,
3069
+ end_ms: epochMs,
3070
+ all_day: z35.boolean().default(false),
3071
+ /** The calendar's name; absent: the first writable calendar. */
3072
+ calendar: z35.string().min(1).max(256).optional(),
3073
+ location: z35.string().max(1024).optional(),
3074
+ notes: Text.optional()
3075
+ });
3076
+ var CalendarCreateResult = z35.strictObject({ id: z35.string(), calendar: z35.string() });
3077
+ var RemindersListParams = z35.strictObject({
3078
+ /** One list's name; absent: every list. */
3079
+ list: z35.string().min(1).max(256).optional(),
3080
+ include_completed: z35.boolean().default(false),
3081
+ limit: z35.int().min(1).max(500).default(100)
3082
+ });
3083
+ var Reminder = z35.strictObject({
3084
+ id: z35.string(),
3085
+ title: z35.string(),
3086
+ list: z35.string(),
3087
+ due_ms: epochMs.nullable(),
3088
+ completed: z35.boolean(),
3089
+ notes: z35.string().nullable()
3090
+ });
3091
+ var RemindersListResult = z35.strictObject({ reminders: z35.array(Reminder) });
3092
+ var RemindersCreateParams = z35.strictObject({
3093
+ title: z35.string().min(1).max(1024),
3094
+ due_ms: epochMs.optional(),
3095
+ list: z35.string().min(1).max(256).optional(),
3096
+ notes: Text.optional()
3097
+ });
3098
+ var RemindersCreateResult = z35.strictObject({ id: z35.string(), list: z35.string() });
3099
+ var PhotosSearchParams = z35.strictObject({
3100
+ /** Matched against file names, titles, descriptions and keywords; absent: the newest. */
3101
+ query: z35.string().min(1).max(256).optional(),
3102
+ from_ms: epochMs.optional(),
3103
+ to_ms: epochMs.optional(),
3104
+ favorites_only: z35.boolean().default(false),
3105
+ limit: z35.int().min(1).max(200).default(25)
3106
+ });
3107
+ var Photo = z35.strictObject({
3108
+ id: z35.string(),
3109
+ filename: z35.string(),
3110
+ taken_at_ms: epochMs.nullable(),
3111
+ width: nonNegInt.nullable(),
3112
+ height: nonNegInt.nullable(),
3113
+ favorite: z35.boolean(),
3114
+ title: z35.string().nullable()
3115
+ });
3116
+ var PhotosSearchResult = z35.strictObject({ photos: z35.array(Photo) });
3117
+ var PhotosGetParams = z35.strictObject({
3118
+ id: z35.string().min(1).max(256),
3119
+ /** Copy the original into a folder Matrx 2 owns and answer its path (then fs_read or desktop_documents reads it). */
3120
+ export: z35.boolean().default(false)
3121
+ });
3122
+ var PhotosGetResult = z35.strictObject({ photo: Photo, path: z35.string().nullable() });
3123
+ var LocationGetParams = z35.strictObject({ timeout_s: z35.int().min(1).max(60).default(15) });
3124
+ var LocationGetResult = z35.strictObject({
3125
+ latitude: z35.number().min(-90).max(90),
3126
+ longitude: z35.number().min(-180).max(180),
3127
+ /** Metres; null where the OS does not say. */
3128
+ accuracy_m: z35.number().min(0).nullable(),
3129
+ at_ms: epochMs,
3130
+ /** Who answered: the OS's own location service. */
3131
+ source: z35.enum(["corelocation", "windows", "geoclue"])
3132
+ });
3133
+
3134
+ // src/schema/windows.ts
3135
+ import { z as z36 } from "zod";
3136
+ var RegistryKey = z36.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)(\\.*)?$/);
3137
+ var RegistryValueType = z36.enum(["REG_SZ", "REG_EXPAND_SZ", "REG_MULTI_SZ", "REG_DWORD", "REG_QWORD", "REG_BINARY", "REG_NONE"]);
3138
+ var WindowsRegistryReadParams = z36.strictObject({
3139
+ key: RegistryKey,
3140
+ /** One value's name ("" is the key's default value); absent: every value and the subkeys. */
3141
+ name: z36.string().max(16383).optional()
3142
+ });
3143
+ var RegistryValue = z36.strictObject({ name: z36.string(), type: RegistryValueType, data: z36.string() });
3144
+ var WindowsRegistryReadResult = z36.strictObject({
3145
+ key: z36.string(),
3146
+ exists: z36.boolean(),
3147
+ values: z36.array(RegistryValue),
3148
+ subkeys: z36.array(z36.string())
3149
+ });
3150
+ var WindowsRegistryWriteParams = z36.strictObject({
3151
+ key: RegistryKey,
3152
+ name: z36.string().max(16383),
3153
+ type: RegistryValueType.default("REG_SZ"),
3154
+ /** As reg.exe takes it: text, a number, hex for binary, \\0 between the strings of a multi-string. */
3155
+ data: z36.string().max(1048576),
3156
+ /** Remove the value instead of writing it. */
3157
+ delete: z36.boolean().default(false)
3158
+ });
3159
+ var WindowsRegistryWriteResult = z36.strictObject({ key: z36.string(), name: z36.string(), deleted: z36.boolean() });
3160
+ var WindowsServicesParams = z36.strictObject({
3161
+ /** Matched against the service's name and display name. */
3162
+ filter: z36.string().min(1).max(256).optional(),
3163
+ limit: z36.int().min(1).max(1e3).default(200)
3164
+ });
3165
+ var WindowsService = z36.strictObject({
3166
+ name: z36.string(),
3167
+ display_name: z36.string(),
3168
+ /** Running, Stopped, Paused… as Windows says it. */
3169
+ status: z36.string(),
3170
+ /** Automatic, Manual, Disabled…; null where Windows does not say. */
3171
+ start_type: z36.string().nullable()
3172
+ });
3173
+ var WindowsServicesResult = z36.strictObject({ services: z36.array(WindowsService) });
3174
+ var WindowsServiceControlParams = z36.strictObject({
3175
+ name: z36.string().min(1).max(256),
3176
+ action: z36.enum(["start", "stop", "restart"])
3177
+ });
3178
+ var WindowsServiceControlResult = z36.strictObject({ name: z36.string(), status: z36.string() });
3179
+ var WindowsEventLogParams = z36.strictObject({
3180
+ log: z36.string().min(1).max(256).default("System"),
3181
+ /** Only these levels; absent: all. */
3182
+ levels: z36.array(z36.enum(["critical", "error", "warning", "information", "verbose"])).max(5).optional(),
3183
+ since_ms: epochMs.optional(),
3184
+ limit: z36.int().min(1).max(500).default(50)
3185
+ });
3186
+ var WindowsEvent = z36.strictObject({
3187
+ id: z36.int(),
3188
+ level: z36.string(),
3189
+ source: z36.string(),
3190
+ at_ms: epochMs,
3191
+ message: z36.string()
3192
+ });
3193
+ var WindowsEventLogResult = z36.strictObject({ log: z36.string(), events: z36.array(WindowsEvent) });
3194
+ var WindowsFeaturesParams = z36.strictObject({ filter: z36.string().min(1).max(256).optional() });
3195
+ var WindowsFeature = z36.strictObject({ name: z36.string(), state: z36.string() });
3196
+ var WindowsFeaturesResult = z36.strictObject({ features: z36.array(WindowsFeature) });
3197
+
3198
+ // src/schema/schedule.ts
3199
+ import { z as z37 } from "zod";
3200
+ var OpRef = z37.string().min(3).max(128).regex(/^[a-z_]+(\.[a-z_]+)+$/);
3201
+ var ScheduleCreateParams = z37.strictObject({
3202
+ name: z37.string().min(1).max(200),
3203
+ op: OpRef,
3204
+ /** The op's params, exactly as the op takes them; checked when the task is created. */
3205
+ params: z37.record(z37.string(), z37.unknown()).default({}),
3206
+ interval_s: z37.int().min(10).max(2592e3),
3207
+ /** Stop after this many runs; absent: until cancelled. */
3208
+ max_runs: z37.int().min(1).max(1e5).optional(),
3209
+ /** Run once now, before the first interval. */
3210
+ run_now: z37.boolean().default(false)
3211
+ });
3212
+ var ScheduleRun = z37.strictObject({
3213
+ at_ms: epochMs,
3214
+ ok: z37.boolean(),
3215
+ elapsed_ms: nonNegInt,
3216
+ /** The error's code and message when the run failed. */
3217
+ error: z37.string().nullable(),
3218
+ /** The start of the answer, as JSON (cut at 4 KiB). */
3219
+ result_preview: z37.string().nullable()
3220
+ });
3221
+ var ScheduledTask = z37.strictObject({
3222
+ id: z37.string(),
3223
+ name: z37.string(),
3224
+ op: z37.string(),
3225
+ params: z37.record(z37.string(), z37.unknown()),
3226
+ interval_s: nonNegInt,
3227
+ max_runs: nonNegInt.nullable(),
3228
+ runs: nonNegInt,
3229
+ created_at_ms: epochMs,
3230
+ next_run_at_ms: epochMs.nullable(),
3231
+ /** active, done (ran max_runs), cancelled. */
3232
+ state: z37.enum(["active", "done", "cancelled"]),
3233
+ /** The newest runs, newest first (at most 10). */
3234
+ recent: z37.array(ScheduleRun)
3235
+ });
3236
+ var ScheduleCreateResult = z37.strictObject({ task: ScheduledTask });
3237
+ var ScheduleListParams = z37.strictObject({ include_finished: z37.boolean().default(false) });
3238
+ var ScheduleListResult = z37.strictObject({ tasks: z37.array(ScheduledTask) });
3239
+ var ScheduleCancelParams = z37.strictObject({ id: z37.string().min(1).max(64) });
3240
+ var ScheduleCancelResult = z37.strictObject({ task: ScheduledTask });
3241
+
3242
+ // src/schema/notes.ts
3243
+ import { z as z38 } from "zod";
3244
+ var NoteFolder = z38.string().min(1).max(512).regex(/^[^/\\:*?"<>|][^\\:*?"<>|]*$/);
3245
+ var NotePath = z38.string().min(4).max(1024).regex(/^[^/\\:*?"<>|][^\\:*?"<>|]*\.md$/);
3246
+ var NotesFoldersParams = z38.strictObject({});
3247
+ var NotesFolder = z38.strictObject({ folder: z38.string(), notes: nonNegInt });
3248
+ var NotesFoldersResult = z38.strictObject({
3249
+ /** The notes root on this computer. */
3250
+ root: z38.string(),
3251
+ folders: z38.array(NotesFolder)
3252
+ });
3253
+ var NotesListParams = z38.strictObject({
3254
+ folder: NoteFolder.optional(),
3255
+ limit: z38.int().min(1).max(2e3).default(500)
3256
+ });
3257
+ var NoteEntry = z38.strictObject({
3258
+ path: z38.string(),
3259
+ label: z38.string(),
3260
+ folder: z38.string(),
3261
+ bytes: nonNegInt,
3262
+ modified_at_ms: epochMs
3263
+ });
3264
+ var NotesListResult = z38.strictObject({ root: z38.string(), notes: z38.array(NoteEntry), total: nonNegInt });
3265
+ var NotesReadParams = z38.strictObject({ path: NotePath });
3266
+ var NotesReadResult = z38.strictObject({
3267
+ path: z38.string(),
3268
+ content: z38.string(),
3269
+ bytes: nonNegInt,
3270
+ modified_at_ms: epochMs,
3271
+ /** SHA-256 of the content: pass it back as `if_hash` to write only over this version. */
3272
+ hash: z38.string()
3273
+ });
3274
+ var NotesWriteParams = z38.strictObject({
3275
+ folder: NoteFolder.default("General"),
3276
+ /** The note's name, without ".md". */
3277
+ label: z38.string().min(1).max(200).regex(/^[^/\\:*?"<>|]+$/),
3278
+ content: z38.string().max(10485760),
3279
+ /** Write only when the note is still this version (notes.read's hash); a change since answers CONFLICT. */
3280
+ if_hash: z38.string().length(64).optional()
3281
+ });
3282
+ var NotesWriteResult = z38.strictObject({ path: z38.string(), bytes: nonNegInt, created: z38.boolean(), hash: z38.string() });
3283
+ var NotesSearchParams = z38.strictObject({
3284
+ query: z38.string().min(1).max(512),
3285
+ limit: z38.int().min(1).max(200).default(50)
3286
+ });
3287
+ var NotesMatch = z38.strictObject({
3288
+ path: z38.string(),
3289
+ label: z38.string(),
3290
+ folder: z38.string(),
3291
+ /** The matching lines (at most five), trimmed. */
3292
+ lines: z38.array(z38.string())
3293
+ });
3294
+ var NotesSearchResult = z38.strictObject({ matches: z38.array(NotesMatch), total: nonNegInt });
3295
+
3296
+ // src/schema/documents.ts
3297
+ import { z as z39 } from "zod";
3298
+ var DOCUMENTS_MAX_TEXT_CHARS = 1048576;
3299
+ var DocumentsPdfTextParams = z39.strictObject({
3300
+ path: AbsPath,
3301
+ /** 1-based, inclusive. */
3302
+ first_page: z39.int().min(1).optional(),
3303
+ last_page: z39.int().min(1).optional(),
3304
+ max_chars: z39.int().min(1).max(DOCUMENTS_MAX_TEXT_CHARS).default(2e5)
3305
+ });
3306
+ var DocumentsPdfPage = z39.strictObject({ page: z39.int().min(1), text: z39.string() });
3307
+ var DocumentsPdfTextResult = z39.strictObject({
3308
+ pages: nonNegInt,
3309
+ /** Each page read, in order (an image-only page has empty text: OCR it). */
3310
+ read: z39.array(DocumentsPdfPage),
3311
+ truncated: z39.boolean(),
3312
+ title: z39.string().nullable(),
3313
+ author: z39.string().nullable()
3314
+ });
3315
+ var DocumentsOcrParams = z39.strictObject({
3316
+ path: AbsPath,
3317
+ /** BCP-47 language hints ("en-US", "fr-FR"); absent: the OS's own choice. */
3318
+ languages: z39.array(z39.string().min(2).max(16)).max(8).optional(),
3319
+ /** Faster, less accurate. */
3320
+ fast: z39.boolean().default(false)
3321
+ });
3322
+ var DocumentsOcrLine = z39.strictObject({
3323
+ text: z39.string(),
3324
+ /** 0–1; null where the engine does not say. */
3325
+ confidence: z39.number().min(0).max(1).nullable()
3326
+ });
3327
+ var DocumentsOcrResult = z39.strictObject({
3328
+ text: z39.string(),
3329
+ lines: z39.array(DocumentsOcrLine),
3330
+ truncated: z39.boolean(),
3331
+ /** Which engine read it ("vision" on macOS, "windows-ocr", "tesseract"). */
3332
+ engine: z39.string()
3333
+ });
3334
+ var DocumentsImageResizeParams = z39.strictObject({
3335
+ path: AbsPath,
3336
+ /** Where to write it; absent: next to the original, "<name>-resized.<ext>". */
3337
+ out_path: AbsPath.optional(),
3338
+ /** The longest side, kept in proportion; absent: the size stays (a format change only). */
3339
+ max_size: z39.int().min(1).max(32768).optional(),
3340
+ format: z39.enum(["png", "jpeg", "tiff", "heic", "bmp", "gif"]).optional(),
3341
+ overwrite: z39.boolean().default(false)
3342
+ });
3343
+ var DocumentsImageResizeResult = z39.strictObject({
3344
+ path: z39.string(),
3345
+ width: nonNegInt,
3346
+ height: nonNegInt,
3347
+ bytes: nonNegInt
3348
+ });
3349
+ var DocumentsParagraph = z39.strictObject({
3350
+ style: z39.enum(["title", "heading1", "heading2", "heading3", "body", "bullet", "numbered", "quote", "code"]).default("body"),
3351
+ text: z39.string().max(1e5)
3352
+ });
3353
+ var DocumentsSheet = z39.strictObject({
3354
+ name: z39.string().min(1).max(31),
3355
+ /** Rows of cells; the first row is the header when `header` is true. */
3356
+ rows: z39.array(z39.array(z39.union([z39.string().max(32767), z39.number(), z39.boolean(), z39.null()])).max(16384)).max(1e5),
3357
+ header: z39.boolean().default(true)
3358
+ });
3359
+ var DocumentsOfficeGenerateParams = z39.strictObject({
3360
+ kind: z39.enum(["docx", "xlsx"]),
3361
+ path: AbsPath,
3362
+ title: z39.string().max(1024).optional(),
3363
+ /** docx: the document's paragraphs, in order. */
3364
+ paragraphs: z39.array(DocumentsParagraph).max(5e4).optional(),
3365
+ /** xlsx: the workbook's sheets, in order. */
3366
+ sheets: z39.array(DocumentsSheet).min(1).max(64).optional(),
3367
+ overwrite: z39.boolean().default(false)
3368
+ });
3369
+ var DocumentsOfficeGenerateResult = z39.strictObject({ path: z39.string(), bytes: nonNegInt });
3370
+ var EntitiesNerParams = z39.strictObject({
3371
+ text: z39.string().min(1).max(DOCUMENTS_MAX_TEXT_CHARS),
3372
+ /** Which kinds to keep; absent: all three. */
3373
+ labels: z39.array(z39.enum(["person", "place", "organization"])).min(1).max(3).optional()
3374
+ });
3375
+ var EntitySpan = z39.strictObject({
3376
+ text: z39.string(),
3377
+ label: z39.string(),
3378
+ /** Character offsets into the text (UTF-16, as JavaScript counts). */
3379
+ start: nonNegInt,
3380
+ end: nonNegInt
3381
+ });
3382
+ var EntitiesNerResult = z39.strictObject({ entities: z39.array(EntitySpan), engine: z39.string() });
3383
+ var PiiKind = z39.enum(["email", "phone", "credit_card", "us_ssn", "iban", "ip_address", "url", "api_key"]);
3384
+ var EntitiesPiiParams = z39.strictObject({
3385
+ text: z39.string().min(1).max(DOCUMENTS_MAX_TEXT_CHARS),
3386
+ kinds: z39.array(PiiKind).min(1).max(8).optional(),
3387
+ /** Also answer the text with each finding replaced by its kind ("[email]"). */
3388
+ redact: z39.boolean().default(false)
3389
+ });
3390
+ var EntitiesPiiResult = z39.strictObject({
3391
+ findings: z39.array(z39.strictObject({ kind: PiiKind, text: z39.string(), start: nonNegInt, end: nonNegInt })),
3392
+ redacted: z39.string().nullable()
3393
+ });
3394
+
2774
3395
  // src/schema/registry.ts
2775
3396
  var FS_ERR = ["NOT_FOUND", "PERMISSION_DENIED_OS", "INVALID_PARAMS", "RESOURCE_BUSY", "INTERNAL"];
2776
3397
  var OPS = {
@@ -2935,7 +3556,55 @@ var OPS = {
2935
3556
  "browser.set_enabled": { params: BrowserSetEnabledParams, result: BrowserSetEnabledResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "INTERNAL"] },
2936
3557
  "browser.pair_code": { params: BrowserPairCodeParams, result: BrowserPairCodeResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "INTERNAL"] },
2937
3558
  "browser.pair_reset": { params: BrowserPairResetParams, result: BrowserPairCodeResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "INTERNAL"] },
2938
- "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"] }
3559
+ "browser.tool_metrics": { params: BrowserToolMetricsParams, result: BrowserToolMetricsResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS"] },
3560
+ "browser.reset_counters": { params: BrowserResetCountersParams, result: BrowserResetCountersResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS"] },
3561
+ "browser.log": { params: BrowserLogParams, result: BrowserLogResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS"] },
3562
+ "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"] },
3563
+ // 1.37: Matrx Local's remaining sidecar tools in the core (net, automation, the person's apps,
3564
+ // Windows administration, schedules, local notes, documents and entities).
3565
+ "net.info": { params: NetInfoParams, result: NetInfoResult, kind: "unary", since: "1.37", errors: ["PLATFORM_UNSUPPORTED", "INTERNAL"] },
3566
+ "net.wifi": { params: NetWifiParams, result: NetWifiResult, kind: "unary", since: "1.37", errors: ["PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3567
+ "net.bluetooth": { params: NetBluetoothParams, result: NetBluetoothResult, kind: "unary", since: "1.37", errors: ["PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3568
+ "net.devices": { params: NetDevicesParams, result: NetDevicesResult, kind: "unary", since: "1.37", errors: ["PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3569
+ "net.mdns": { params: NetMdnsParams, result: NetMdnsResult, kind: "unary", since: "1.37", errors: ["PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3570
+ "net.scan": { params: NetScanParams, result: NetScanResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "AUTH_FORBIDDEN", "TIMEOUT", "INTERNAL"] },
3571
+ "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"] },
3572
+ "automation.script": { params: AutomationScriptParams, result: AutomationScriptResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3573
+ "mail.accounts": { params: MailAccountsParams, result: MailAccountsResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3574
+ "mail.list": { params: MailListParams, result: MailListResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3575
+ "mail.send": { params: MailSendParams, result: MailSendResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3576
+ "messages.chats": { params: MessagesChatsParams, result: MessagesChatsResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3577
+ "messages.list": { params: MessagesListParams, result: MessagesListResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3578
+ "messages.send": { params: MessagesSendParams, result: MessagesSendResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3579
+ "contacts.search": { params: ContactsSearchParams, result: ContactsSearchResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3580
+ "contacts.get": { params: ContactsGetParams, result: ContactsGetResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3581
+ "calendar.list": { params: CalendarListParams, result: CalendarListResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3582
+ "calendar.create": { params: CalendarCreateParams, result: CalendarCreateResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3583
+ "reminders.list": { params: RemindersListParams, result: RemindersListResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3584
+ "reminders.create": { params: RemindersCreateParams, result: RemindersCreateResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3585
+ "photos.search": { params: PhotosSearchParams, result: PhotosSearchResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3586
+ "photos.get": { params: PhotosGetParams, result: PhotosGetResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3587
+ "location.get": { params: LocationGetParams, result: LocationGetResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3588
+ "windows.registry_read": { params: WindowsRegistryReadParams, result: WindowsRegistryReadResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3589
+ "windows.registry_write": { params: WindowsRegistryWriteParams, result: WindowsRegistryWriteResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3590
+ "windows.services": { params: WindowsServicesParams, result: WindowsServicesResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3591
+ "windows.service_control": { params: WindowsServiceControlParams, result: WindowsServiceControlResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3592
+ "windows.event_log": { params: WindowsEventLogParams, result: WindowsEventLogResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3593
+ "windows.features": { params: WindowsFeaturesParams, result: WindowsFeaturesResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3594
+ "schedule.create": { params: ScheduleCreateParams, result: ScheduleCreateResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "INTERNAL"] },
3595
+ "schedule.list": { params: ScheduleListParams, result: ScheduleListResult, kind: "unary", since: "1.37", errors: ["INTERNAL"] },
3596
+ "schedule.cancel": { params: ScheduleCancelParams, result: ScheduleCancelResult, kind: "unary", since: "1.37", errors: ["NOT_FOUND", "INTERNAL"] },
3597
+ "notes.folders": { params: NotesFoldersParams, result: NotesFoldersResult, kind: "unary", since: "1.37", errors: ["INTERNAL"] },
3598
+ "notes.list": { params: NotesListParams, result: NotesListResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "INTERNAL"] },
3599
+ "notes.read": { params: NotesReadParams, result: NotesReadResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "INTERNAL"] },
3600
+ "notes.write": { params: NotesWriteParams, result: NotesWriteResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "CONFLICT", "PERMISSION_DENIED_OS", "INTERNAL"] },
3601
+ "notes.search": { params: NotesSearchParams, result: NotesSearchResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "INTERNAL"] },
3602
+ "documents.pdf_text": { params: DocumentsPdfTextParams, result: DocumentsPdfTextResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3603
+ "documents.ocr": { params: DocumentsOcrParams, result: DocumentsOcrResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3604
+ "documents.image_resize": { params: DocumentsImageResizeParams, result: DocumentsImageResizeResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "CONFLICT", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3605
+ "documents.office_generate": { params: DocumentsOfficeGenerateParams, result: DocumentsOfficeGenerateResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "NOT_FOUND", "CONFLICT", "PERMISSION_DENIED_OS", "INTERNAL"] },
3606
+ "entities.ner": { params: EntitiesNerParams, result: EntitiesNerResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "PLATFORM_UNSUPPORTED", "TIMEOUT", "INTERNAL"] },
3607
+ "entities.pii": { params: EntitiesPiiParams, result: EntitiesPiiResult, kind: "unary", since: "1.37", errors: ["INVALID_PARAMS", "INTERNAL"] }
2939
3608
  };
2940
3609
  var EVENTS = {
2941
3610
  "fs.changed": FsChangedEvent,
@@ -3361,6 +4030,7 @@ var NAMED_SCHEMAS = {
3361
4030
  AppsChatsOpenParams,
3362
4031
  TitleCopies,
3363
4032
  TitleMismatch,
4033
+ StaleTitleWindow,
3364
4034
  AppsChatsTitlesCheckParams,
3365
4035
  AppsChatsTitlesCheckResult,
3366
4036
  AppsChatsTitlesPushParams,
@@ -3463,7 +4133,133 @@ var NAMED_SCHEMAS = {
3463
4133
  BrowserProgressEvent,
3464
4134
  DesktopHealth,
3465
4135
  BrowserPairRequest,
3466
- BrowserPairResult
4136
+ BrowserPairResult,
4137
+ BrowserToolMetricsParams,
4138
+ BrowserToolMetric,
4139
+ BrowserToolMetricsResult,
4140
+ BrowserResetCountersParams,
4141
+ BrowserResetCountersResult,
4142
+ BrowserLogParams,
4143
+ BrowserLogMessage,
4144
+ BrowserLogResult,
4145
+ NetInfoParams,
4146
+ NetAddress,
4147
+ NetInterface,
4148
+ NetInfoResult,
4149
+ NetWifiParams,
4150
+ NetWifiNetwork,
4151
+ NetWifiResult,
4152
+ NetBluetoothParams,
4153
+ NetBluetoothDevice,
4154
+ NetBluetoothResult,
4155
+ NetDevicesParams,
4156
+ NetDevice,
4157
+ NetDevicesResult,
4158
+ NetMdnsParams,
4159
+ NetMdnsService,
4160
+ NetMdnsResult,
4161
+ NetScanParams,
4162
+ NetScanResult,
4163
+ NetDownloadParams,
4164
+ NetDownloadResult,
4165
+ AutomationScriptParams,
4166
+ AutomationScriptResult,
4167
+ MailAccountsParams,
4168
+ MailAccount,
4169
+ MailAccountsResult,
4170
+ MailListParams,
4171
+ MailMessage,
4172
+ MailListResult,
4173
+ MailSendParams,
4174
+ MailSendResult,
4175
+ MessagesChatsParams,
4176
+ MessagesChat,
4177
+ MessagesChatsResult,
4178
+ MessagesListParams,
4179
+ MessagesMessage,
4180
+ MessagesListResult,
4181
+ MessagesSendParams,
4182
+ MessagesSendResult,
4183
+ ContactsSearchParams,
4184
+ ContactLabeled,
4185
+ ContactSummary,
4186
+ ContactsSearchResult,
4187
+ ContactsGetParams,
4188
+ ContactDetail,
4189
+ ContactsGetResult,
4190
+ CalendarListParams,
4191
+ CalendarEvent,
4192
+ CalendarListResult,
4193
+ CalendarCreateParams,
4194
+ CalendarCreateResult,
4195
+ RemindersListParams,
4196
+ Reminder,
4197
+ RemindersListResult,
4198
+ RemindersCreateParams,
4199
+ RemindersCreateResult,
4200
+ PhotosSearchParams,
4201
+ Photo,
4202
+ PhotosSearchResult,
4203
+ PhotosGetParams,
4204
+ PhotosGetResult,
4205
+ LocationGetParams,
4206
+ LocationGetResult,
4207
+ RegistryValueType,
4208
+ WindowsRegistryReadParams,
4209
+ RegistryValue,
4210
+ WindowsRegistryReadResult,
4211
+ WindowsRegistryWriteParams,
4212
+ WindowsRegistryWriteResult,
4213
+ WindowsServicesParams,
4214
+ WindowsService,
4215
+ WindowsServicesResult,
4216
+ WindowsServiceControlParams,
4217
+ WindowsServiceControlResult,
4218
+ WindowsEventLogParams,
4219
+ WindowsEvent,
4220
+ WindowsEventLogResult,
4221
+ WindowsFeaturesParams,
4222
+ WindowsFeature,
4223
+ WindowsFeaturesResult,
4224
+ ScheduleCreateParams,
4225
+ ScheduleRun,
4226
+ ScheduledTask,
4227
+ ScheduleCreateResult,
4228
+ ScheduleListParams,
4229
+ ScheduleListResult,
4230
+ ScheduleCancelParams,
4231
+ ScheduleCancelResult,
4232
+ NotesFoldersParams,
4233
+ NotesFolder,
4234
+ NotesFoldersResult,
4235
+ NotesListParams,
4236
+ NoteEntry,
4237
+ NotesListResult,
4238
+ NotesReadParams,
4239
+ NotesReadResult,
4240
+ NotesWriteParams,
4241
+ NotesWriteResult,
4242
+ NotesSearchParams,
4243
+ NotesMatch,
4244
+ NotesSearchResult,
4245
+ DocumentsPdfTextParams,
4246
+ DocumentsPdfPage,
4247
+ DocumentsPdfTextResult,
4248
+ DocumentsOcrParams,
4249
+ DocumentsOcrLine,
4250
+ DocumentsOcrResult,
4251
+ DocumentsImageResizeParams,
4252
+ DocumentsImageResizeResult,
4253
+ DocumentsParagraph,
4254
+ DocumentsSheet,
4255
+ DocumentsOfficeGenerateParams,
4256
+ DocumentsOfficeGenerateResult,
4257
+ EntitiesNerParams,
4258
+ EntitySpan,
4259
+ EntitiesNerResult,
4260
+ PiiKind,
4261
+ EntitiesPiiParams,
4262
+ EntitiesPiiResult
3467
4263
  };
3468
4264
 
3469
4265
  // src/versioning.ts
@@ -3485,8 +4281,9 @@ var FIELDS_SINCE = {
3485
4281
  PowerStatusResult: { energy: "1.24" },
3486
4282
  AppsSpendResult: { days: "1.24" },
3487
4283
  AppsWindowsUpdateStateResult: { closed_by_update: "1.27" },
3488
- AppsProjectsToWindowParams: { pin: "1.32" },
3489
- AppsProjectsToWindowResult: { pin: "1.32" }
4284
+ AppsProjectsToWindowParams: { pin: "1.32", chat_ids: "1.36", take_off_from: "1.36" },
4285
+ AppsProjectsToWindowResult: { pin: "1.32" },
4286
+ AppsChatsTitlesCheckResult: { stale_windows: "1.33" }
3490
4287
  };
3491
4288
  var NULL_SINCE = {
3492
4289
  "RelayDeviceStatusEvent.since_ms": { since: "1.1", olderPeersGet: 0 }
@@ -3503,7 +4300,8 @@ var REASONS_SINCE = {
3503
4300
  browser_ambiguous: "1.28",
3504
4301
  browser_account_mismatch: "1.28",
3505
4302
  browser_connection_off: "1.28",
3506
- awaiting_confirmation: "1.28"
4303
+ awaiting_confirmation: "1.28",
4304
+ tool_disabled_on_device: "1.34"
3507
4305
  };
3508
4306
  function statusForPeer(status, version) {
3509
4307
  const rule = NULL_SINCE["RelayDeviceStatusEvent.since_ms"];
@@ -3622,7 +4420,7 @@ function forPeer(op, part, value, version) {
3622
4420
  var VERSIONED_RESULT_OPS = [.../* @__PURE__ */ new Set([...RESULT_PATH.keys(), ...WINDOW_RESULTS.keys(), ...NESTED_RESULTS.keys()])];
3623
4421
 
3624
4422
  // src/contract.ts
3625
- var CONTRACT_SHA256 = "ee8e6c98c76f3557f832157e3b2b21bb23ebb74b67b79151f3b9ff788f5273ee";
4423
+ var CONTRACT_SHA256 = "1091ef68a5cb45a35a85998fc34560b4ddc035fe67d2d34594e935e92a2081dd";
3626
4424
 
3627
4425
  // src/close-policy.ts
3628
4426
  var CLOSE_RULES = {
@@ -3686,25 +4484,27 @@ var TOOL_CATALOG = [
3686
4484
  { 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" },
3687
4485
  { 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" },
3688
4486
  { 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" },
3689
- // ── 3. Personal apps and automation ──────────────────────────────────────────────────────────
3690
- { 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" },
3691
- { name: "desktop_mail", group: "personal_automation", state: "planned", path: "device_op", ops: ["mail.accounts", "mail.list", "mail.send"], platforms: ["darwin"], summary: "The Mail app" },
3692
- { name: "desktop_messages", group: "personal_automation", state: "planned", path: "device_op", ops: ["messages.conversations", "messages.list", "messages.send"], platforms: ["darwin"], summary: "The Messages app" },
3693
- { name: "desktop_contacts", group: "personal_automation", state: "planned", path: "device_op", ops: ["contacts.search", "contacts.get"], platforms: ["darwin"], summary: "Contacts" },
3694
- { 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" },
3695
- { name: "desktop_photos", group: "personal_automation", state: "planned", path: "device_op", ops: ["photos.search", "photos.get"], platforms: ["darwin"], summary: "Photos library" },
3696
- { name: "desktop_location", group: "personal_automation", state: "planned", path: "device_op", ops: ["location.get"], platforms: ["darwin", "win32"], summary: "Where the computer is" },
3697
- { 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" },
3698
- // ── 4. Python `tools` service ────────────────────────────────────────────────────────────────
3699
- { 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" },
4487
+ // ── 3. Personal apps and automation (1.37: the core's `automation`, `personal`, `net` and `schedule` owners) ──
4488
+ { 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" },
4489
+ { 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" },
4490
+ { 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" },
4491
+ { name: "desktop_contacts", group: "personal_automation", state: "built", path: "device_op", ops: ["contacts.search", "contacts.get"], platforms: ["darwin"], summary: "Contacts: search, one card" },
4492
+ { 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" },
4493
+ { 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" },
4494
+ { 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)" },
4495
+ { 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" },
4496
+ { 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" },
4497
+ // ── 4. Documents, notes and entities (1.37: the core's `documents` and `notes` owners; desktop_web is the `tools` service) ──
4498
+ { 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" },
3700
4499
  { 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" },
3701
- { 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" },
4500
+ { 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" },
4501
+ { 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" },
3702
4502
  // ── 5. Python `ml` service ───────────────────────────────────────────────────────────────────
3703
4503
  // Built: models.transcribe through local_proxy's POST /op/{cap.op} (matrx-ai implementations/desktop.py).
3704
4504
  // Whisper detects the language itself, so matrx-local's speech_locales needs no op of its own.
3705
4505
  { name: "desktop_transcribe", group: "ml_service", state: "built", path: "device_op", ops: ["models.transcribe"], platforms: ALL, summary: "Speech to text on the device" },
3706
4506
  // ── 6. Windows administration ────────────────────────────────────────────────────────────────
3707
- { 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" }
4507
+ { 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" }
3708
4508
  ];
3709
4509
  var EXCLUDED_TOOLS = {
3710
4510
  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"
@@ -3793,15 +4593,17 @@ var LEGACY_ACTIONS = {
3793
4593
  "local_monitor.watch_events": tool("fs_watch"),
3794
4594
  "local_monitor.stop_watch": tool("fs_watch"),
3795
4595
  "local_monitor.heartbeat": dropped("The relay's device status replaces the heartbeat"),
3796
- "local_schedule.create": dropped("One scheduler: the platform's runs the agent on time and reaches the device through the relay"),
3797
- "local_schedule.list": dropped("One scheduler: the platform's runs the agent on time and reaches the device through the relay"),
3798
- "local_schedule.cancel": dropped("One scheduler: the platform's runs the agent on time and reaches the device through the relay"),
4596
+ // Matrx Local's scheduler ran one of its tools on an interval; desktop_schedule runs an op so.
4597
+ "local_schedule.create": tool("desktop_schedule"),
4598
+ "local_schedule.list": tool("desktop_schedule"),
4599
+ "local_schedule.cancel": tool("desktop_schedule"),
3799
4600
  "local_schedule.prevent_sleep": tool("desktop_power"),
3800
- "local_documents.list": dropped("matrx-local's private document store is gone; documents are files (fs_*) or cloud Knowledge"),
3801
- "local_documents.folders": dropped("matrx-local's private document store is gone; documents are files (fs_*) or cloud Knowledge"),
3802
- "local_documents.read": dropped("matrx-local's private document store is gone; documents are files (fs_*) or cloud Knowledge"),
3803
- "local_documents.write": dropped("matrx-local's private document store is gone; documents are files (fs_*) or cloud Knowledge"),
3804
- "local_documents.search": dropped("matrx-local's private document store is gone; documents are files (fs_*) or cloud Knowledge"),
4601
+ // Matrx Local's documents are the Markdown notes in Documents/Matrx/Notes; desktop_notes reads and writes them.
4602
+ "local_documents.list": tool("desktop_notes"),
4603
+ "local_documents.folders": tool("desktop_notes"),
4604
+ "local_documents.read": tool("desktop_notes"),
4605
+ "local_documents.write": tool("desktop_notes"),
4606
+ "local_documents.search": tool("desktop_notes"),
3805
4607
  "local_media.ocr": tool("desktop_documents"),
3806
4608
  "local_media.resize": tool("desktop_documents"),
3807
4609
  "local_media.pdf_extract": tool("desktop_documents"),
@@ -4094,6 +4896,8 @@ export {
4094
4896
  AudioRecordParams,
4095
4897
  AudioRecordResult,
4096
4898
  AudioSetLevelsParams,
4899
+ AutomationScriptParams,
4900
+ AutomationScriptResult,
4097
4901
  BEARER_PREFIX,
4098
4902
  BROADCAST_CID,
4099
4903
  BrowserCallError,
@@ -4105,6 +4909,9 @@ export {
4105
4909
  BrowserDisconnectResult,
4106
4910
  BrowserInvokeEvent,
4107
4911
  BrowserKind,
4912
+ BrowserLogMessage,
4913
+ BrowserLogParams,
4914
+ BrowserLogResult,
4108
4915
  BrowserPairCodeParams,
4109
4916
  BrowserPairCodeResult,
4110
4917
  BrowserPairRequest,
@@ -4115,6 +4922,8 @@ export {
4115
4922
  BrowserProgressResult,
4116
4923
  BrowserRegisterParams,
4117
4924
  BrowserRegisterResult,
4925
+ BrowserResetCountersParams,
4926
+ BrowserResetCountersResult,
4118
4927
  BrowserResultParams,
4119
4928
  BrowserResultResult,
4120
4929
  BrowserSession,
@@ -4124,8 +4933,16 @@ export {
4124
4933
  BrowserSessionsResult,
4125
4934
  BrowserSetEnabledParams,
4126
4935
  BrowserSetEnabledResult,
4936
+ BrowserToolMetric,
4937
+ BrowserToolMetricsParams,
4938
+ BrowserToolMetricsResult,
4127
4939
  CLOSE_RULES,
4128
4940
  CONTRACT_SHA256,
4941
+ CalendarCreateParams,
4942
+ CalendarCreateResult,
4943
+ CalendarEvent,
4944
+ CalendarListParams,
4945
+ CalendarListResult,
4129
4946
  CancelMsg,
4130
4947
  ChatAppProject,
4131
4948
  ChatFamily,
@@ -4159,6 +4976,13 @@ export {
4159
4976
  CodingServiceCredentials,
4160
4977
  CodingServiceProgress,
4161
4978
  ColdChat,
4979
+ ContactDetail,
4980
+ ContactLabeled,
4981
+ ContactSummary,
4982
+ ContactsGetParams,
4983
+ ContactsGetResult,
4984
+ ContactsSearchParams,
4985
+ ContactsSearchResult,
4162
4986
  ContractHash,
4163
4987
  CoreToClientMsg,
4164
4988
  CoreToServiceMsg,
@@ -4167,6 +4991,7 @@ export {
4167
4991
  DEFAULT_MAX_MESSAGE_BYTES,
4168
4992
  DEFAULT_WINDOW_BYTES,
4169
4993
  DISCOVERY_FILE,
4994
+ DOCUMENTS_MAX_TEXT_CHARS,
4170
4995
  DesktopHealth,
4171
4996
  DesktopProtocolError,
4172
4997
  DeviceId,
@@ -4179,10 +5004,27 @@ export {
4179
5004
  DiagErrorsReportParams,
4180
5005
  DiagErrorsReportResult,
4181
5006
  DiagProcess,
5007
+ DocumentsImageResizeParams,
5008
+ DocumentsImageResizeResult,
5009
+ DocumentsOcrLine,
5010
+ DocumentsOcrParams,
5011
+ DocumentsOcrResult,
5012
+ DocumentsOfficeGenerateParams,
5013
+ DocumentsOfficeGenerateResult,
5014
+ DocumentsParagraph,
5015
+ DocumentsPdfPage,
5016
+ DocumentsPdfTextParams,
5017
+ DocumentsPdfTextResult,
5018
+ DocumentsSheet,
4182
5019
  EVENTS,
4183
5020
  EXCLUDED_TOOLS,
4184
5021
  EndMsg,
4185
5022
  EndReason,
5023
+ EntitiesNerParams,
5024
+ EntitiesNerResult,
5025
+ EntitiesPiiParams,
5026
+ EntitiesPiiResult,
5027
+ EntitySpan,
4186
5028
  ErrorCode,
4187
5029
  ErrorMsg,
4188
5030
  ErrorReason,
@@ -4303,7 +5145,25 @@ export {
4303
5145
  Limits,
4304
5146
  LlmRunning,
4305
5147
  LlmServerState,
5148
+ LocationGetParams,
5149
+ LocationGetResult,
4306
5150
  MATRX_EXTENSION_IDS,
5151
+ MailAccount,
5152
+ MailAccountsParams,
5153
+ MailAccountsResult,
5154
+ MailListParams,
5155
+ MailListResult,
5156
+ MailMessage,
5157
+ MailSendParams,
5158
+ MailSendResult,
5159
+ MessagesChat,
5160
+ MessagesChatsParams,
5161
+ MessagesChatsResult,
5162
+ MessagesListParams,
5163
+ MessagesListResult,
5164
+ MessagesMessage,
5165
+ MessagesSendParams,
5166
+ MessagesSendResult,
4307
5167
  MlInstallPhase,
4308
5168
  MlInstallProgress,
4309
5169
  MlProgress,
@@ -4329,6 +5189,39 @@ export {
4329
5189
  ModelsTranscribeResult,
4330
5190
  NAMED_SCHEMAS,
4331
5191
  NULL_SINCE,
5192
+ NetAddress,
5193
+ NetBluetoothDevice,
5194
+ NetBluetoothParams,
5195
+ NetBluetoothResult,
5196
+ NetDevice,
5197
+ NetDevicesParams,
5198
+ NetDevicesResult,
5199
+ NetDownloadParams,
5200
+ NetDownloadResult,
5201
+ NetInfoParams,
5202
+ NetInfoResult,
5203
+ NetInterface,
5204
+ NetMdnsParams,
5205
+ NetMdnsResult,
5206
+ NetMdnsService,
5207
+ NetScanParams,
5208
+ NetScanResult,
5209
+ NetWifiNetwork,
5210
+ NetWifiParams,
5211
+ NetWifiResult,
5212
+ NoteEntry,
5213
+ NotesFolder,
5214
+ NotesFoldersParams,
5215
+ NotesFoldersResult,
5216
+ NotesListParams,
5217
+ NotesListResult,
5218
+ NotesMatch,
5219
+ NotesReadParams,
5220
+ NotesReadResult,
5221
+ NotesSearchParams,
5222
+ NotesSearchResult,
5223
+ NotesWriteParams,
5224
+ NotesWriteResult,
4332
5225
  OPS,
4333
5226
  OpDescriptor,
4334
5227
  OsPermissionName,
@@ -4337,6 +5230,12 @@ export {
4337
5230
  PROTOCOL_MAJOR,
4338
5231
  PROTOCOL_MINOR,
4339
5232
  PROTOCOL_VERSION,
5233
+ Photo,
5234
+ PhotosGetParams,
5235
+ PhotosGetResult,
5236
+ PhotosSearchParams,
5237
+ PhotosSearchResult,
5238
+ PiiKind,
4340
5239
  PowerEnergy,
4341
5240
  PowerHistoryParams,
4342
5241
  PowerHistoryPoint,
@@ -4365,6 +5264,8 @@ export {
4365
5264
  RELAY_CALL_HELLO_ID,
4366
5265
  RELAY_CALL_REQUEST_ID,
4367
5266
  RELAY_CALL_VERSION_HEADER,
5267
+ RegistryValue,
5268
+ RegistryValueType,
4368
5269
  RelayAuthExpiringEvent,
4369
5270
  RelayCallEnvelope,
4370
5271
  RelayCallHello,
@@ -4375,6 +5276,11 @@ export {
4375
5276
  RelayHopEnvelopeHeader,
4376
5277
  RelayMsg,
4377
5278
  RelayStatusResponse,
5279
+ Reminder,
5280
+ RemindersCreateParams,
5281
+ RemindersCreateResult,
5282
+ RemindersListParams,
5283
+ RemindersListResult,
4378
5284
  RequestId,
4379
5285
  RequestMsg,
4380
5286
  ResourceId,
@@ -4400,6 +5306,14 @@ export {
4400
5306
  SERVICES,
4401
5307
  SERVICE_MAX_FRAME_BYTES,
4402
5308
  SUBPROTOCOL,
5309
+ ScheduleCancelParams,
5310
+ ScheduleCancelResult,
5311
+ ScheduleCreateParams,
5312
+ ScheduleCreateResult,
5313
+ ScheduleListParams,
5314
+ ScheduleListResult,
5315
+ ScheduleRun,
5316
+ ScheduledTask,
4403
5317
  ScreenCaptureParams,
4404
5318
  ScreenCaptureResult,
4405
5319
  ScreenDisplay,
@@ -4455,6 +5369,7 @@ export {
4455
5369
  StackStateResult,
4456
5370
  StackStopParams,
4457
5371
  StackTone,
5372
+ StaleTitleWindow,
4458
5373
  StreamMeta,
4459
5374
  StreamMsg,
4460
5375
  SysinfoGetParams,
@@ -4517,6 +5432,21 @@ export {
4517
5432
  WindowMinimizeResult,
4518
5433
  WindowMoveParams,
4519
5434
  WindowMoveResult,
5435
+ WindowsEvent,
5436
+ WindowsEventLogParams,
5437
+ WindowsEventLogResult,
5438
+ WindowsFeature,
5439
+ WindowsFeaturesParams,
5440
+ WindowsFeaturesResult,
5441
+ WindowsRegistryReadParams,
5442
+ WindowsRegistryReadResult,
5443
+ WindowsRegistryWriteParams,
5444
+ WindowsRegistryWriteResult,
5445
+ WindowsService,
5446
+ WindowsServiceControlParams,
5447
+ WindowsServiceControlResult,
5448
+ WindowsServicesParams,
5449
+ WindowsServicesResult,
4520
5450
  announcedVersion,
4521
5451
  assertFrameHeader,
4522
5452
  buildToolStatus,