@ai-matrx/desktop-protocol 0.21.28 → 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 = 33;
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({
@@ -1891,7 +1898,9 @@ var SystemSettingsPane = z21.enum([
1891
1898
  "energy",
1892
1899
  "about",
1893
1900
  "storage",
1894
- "system_report"
1901
+ "system_report",
1902
+ /** (1.35) Privacy & Security › Microphone: where the person allows Matrx 2 the microphone. */
1903
+ "microphone"
1895
1904
  ]);
1896
1905
  var SystemOpenSettingsParams = z21.strictObject({ pane: SystemSettingsPane });
1897
1906
  var SystemOpenSettingsResult = z21.strictObject({ pane: SystemSettingsPane });
@@ -2750,6 +2759,41 @@ var BrowserCallResult = z33.strictObject({
2750
2759
  result: z33.unknown(),
2751
2760
  duration_ms: nonNegInt
2752
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
+ });
2753
2797
  var BrowserInvokeEvent = z33.strictObject({
2754
2798
  call_id: z33.string().min(1).max(64),
2755
2799
  tool: z33.string().min(1).max(96),
@@ -2779,6 +2823,575 @@ var MATRX_EXTENSION_IDS = {
2779
2823
  };
2780
2824
  var DISCOVERY_FILE = { live: "matrx2.json", development: "matrx2-dev.json" };
2781
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
+
2782
3395
  // src/schema/registry.ts
2783
3396
  var FS_ERR = ["NOT_FOUND", "PERMISSION_DENIED_OS", "INVALID_PARAMS", "RESOURCE_BUSY", "INTERNAL"];
2784
3397
  var OPS = {
@@ -2943,7 +3556,55 @@ var OPS = {
2943
3556
  "browser.set_enabled": { params: BrowserSetEnabledParams, result: BrowserSetEnabledResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "INTERNAL"] },
2944
3557
  "browser.pair_code": { params: BrowserPairCodeParams, result: BrowserPairCodeResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "INTERNAL"] },
2945
3558
  "browser.pair_reset": { params: BrowserPairResetParams, result: BrowserPairCodeResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "INTERNAL"] },
2946
- "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"] }
2947
3608
  };
2948
3609
  var EVENTS = {
2949
3610
  "fs.changed": FsChangedEvent,
@@ -3472,7 +4133,133 @@ var NAMED_SCHEMAS = {
3472
4133
  BrowserProgressEvent,
3473
4134
  DesktopHealth,
3474
4135
  BrowserPairRequest,
3475
- 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
3476
4263
  };
3477
4264
 
3478
4265
  // src/versioning.ts
@@ -3494,7 +4281,7 @@ var FIELDS_SINCE = {
3494
4281
  PowerStatusResult: { energy: "1.24" },
3495
4282
  AppsSpendResult: { days: "1.24" },
3496
4283
  AppsWindowsUpdateStateResult: { closed_by_update: "1.27" },
3497
- AppsProjectsToWindowParams: { pin: "1.32" },
4284
+ AppsProjectsToWindowParams: { pin: "1.32", chat_ids: "1.36", take_off_from: "1.36" },
3498
4285
  AppsProjectsToWindowResult: { pin: "1.32" },
3499
4286
  AppsChatsTitlesCheckResult: { stale_windows: "1.33" }
3500
4287
  };
@@ -3513,7 +4300,8 @@ var REASONS_SINCE = {
3513
4300
  browser_ambiguous: "1.28",
3514
4301
  browser_account_mismatch: "1.28",
3515
4302
  browser_connection_off: "1.28",
3516
- awaiting_confirmation: "1.28"
4303
+ awaiting_confirmation: "1.28",
4304
+ tool_disabled_on_device: "1.34"
3517
4305
  };
3518
4306
  function statusForPeer(status, version) {
3519
4307
  const rule = NULL_SINCE["RelayDeviceStatusEvent.since_ms"];
@@ -3632,7 +4420,7 @@ function forPeer(op, part, value, version) {
3632
4420
  var VERSIONED_RESULT_OPS = [.../* @__PURE__ */ new Set([...RESULT_PATH.keys(), ...WINDOW_RESULTS.keys(), ...NESTED_RESULTS.keys()])];
3633
4421
 
3634
4422
  // src/contract.ts
3635
- var CONTRACT_SHA256 = "04a029fc56c9405f376906fc981659997f4617c98bd0b88bb052d1f6d587a7a2";
4423
+ var CONTRACT_SHA256 = "1091ef68a5cb45a35a85998fc34560b4ddc035fe67d2d34594e935e92a2081dd";
3636
4424
 
3637
4425
  // src/close-policy.ts
3638
4426
  var CLOSE_RULES = {
@@ -3696,25 +4484,27 @@ var TOOL_CATALOG = [
3696
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" },
3697
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" },
3698
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" },
3699
- // ── 3. Personal apps and automation ──────────────────────────────────────────────────────────
3700
- { 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" },
3701
- { name: "desktop_mail", group: "personal_automation", state: "planned", path: "device_op", ops: ["mail.accounts", "mail.list", "mail.send"], platforms: ["darwin"], summary: "The Mail app" },
3702
- { name: "desktop_messages", group: "personal_automation", state: "planned", path: "device_op", ops: ["messages.conversations", "messages.list", "messages.send"], platforms: ["darwin"], summary: "The Messages app" },
3703
- { name: "desktop_contacts", group: "personal_automation", state: "planned", path: "device_op", ops: ["contacts.search", "contacts.get"], platforms: ["darwin"], summary: "Contacts" },
3704
- { 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" },
3705
- { name: "desktop_photos", group: "personal_automation", state: "planned", path: "device_op", ops: ["photos.search", "photos.get"], platforms: ["darwin"], summary: "Photos library" },
3706
- { name: "desktop_location", group: "personal_automation", state: "planned", path: "device_op", ops: ["location.get"], platforms: ["darwin", "win32"], summary: "Where the computer is" },
3707
- { 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" },
3708
- // ── 4. Python `tools` service ────────────────────────────────────────────────────────────────
3709
- { 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" },
3710
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" },
3711
- { 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" },
3712
4502
  // ── 5. Python `ml` service ───────────────────────────────────────────────────────────────────
3713
4503
  // Built: models.transcribe through local_proxy's POST /op/{cap.op} (matrx-ai implementations/desktop.py).
3714
4504
  // Whisper detects the language itself, so matrx-local's speech_locales needs no op of its own.
3715
4505
  { name: "desktop_transcribe", group: "ml_service", state: "built", path: "device_op", ops: ["models.transcribe"], platforms: ALL, summary: "Speech to text on the device" },
3716
4506
  // ── 6. Windows administration ────────────────────────────────────────────────────────────────
3717
- { 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" }
3718
4508
  ];
3719
4509
  var EXCLUDED_TOOLS = {
3720
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"
@@ -3803,15 +4593,17 @@ var LEGACY_ACTIONS = {
3803
4593
  "local_monitor.watch_events": tool("fs_watch"),
3804
4594
  "local_monitor.stop_watch": tool("fs_watch"),
3805
4595
  "local_monitor.heartbeat": dropped("The relay's device status replaces the heartbeat"),
3806
- "local_schedule.create": dropped("One scheduler: the platform's runs the agent on time and reaches the device through the relay"),
3807
- "local_schedule.list": dropped("One scheduler: the platform's runs the agent on time and reaches the device through the relay"),
3808
- "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"),
3809
4600
  "local_schedule.prevent_sleep": tool("desktop_power"),
3810
- "local_documents.list": dropped("matrx-local's private document store is gone; documents are files (fs_*) or cloud Knowledge"),
3811
- "local_documents.folders": dropped("matrx-local's private document store is gone; documents are files (fs_*) or cloud Knowledge"),
3812
- "local_documents.read": dropped("matrx-local's private document store is gone; documents are files (fs_*) or cloud Knowledge"),
3813
- "local_documents.write": dropped("matrx-local's private document store is gone; documents are files (fs_*) or cloud Knowledge"),
3814
- "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"),
3815
4607
  "local_media.ocr": tool("desktop_documents"),
3816
4608
  "local_media.resize": tool("desktop_documents"),
3817
4609
  "local_media.pdf_extract": tool("desktop_documents"),
@@ -4104,6 +4896,8 @@ export {
4104
4896
  AudioRecordParams,
4105
4897
  AudioRecordResult,
4106
4898
  AudioSetLevelsParams,
4899
+ AutomationScriptParams,
4900
+ AutomationScriptResult,
4107
4901
  BEARER_PREFIX,
4108
4902
  BROADCAST_CID,
4109
4903
  BrowserCallError,
@@ -4115,6 +4909,9 @@ export {
4115
4909
  BrowserDisconnectResult,
4116
4910
  BrowserInvokeEvent,
4117
4911
  BrowserKind,
4912
+ BrowserLogMessage,
4913
+ BrowserLogParams,
4914
+ BrowserLogResult,
4118
4915
  BrowserPairCodeParams,
4119
4916
  BrowserPairCodeResult,
4120
4917
  BrowserPairRequest,
@@ -4125,6 +4922,8 @@ export {
4125
4922
  BrowserProgressResult,
4126
4923
  BrowserRegisterParams,
4127
4924
  BrowserRegisterResult,
4925
+ BrowserResetCountersParams,
4926
+ BrowserResetCountersResult,
4128
4927
  BrowserResultParams,
4129
4928
  BrowserResultResult,
4130
4929
  BrowserSession,
@@ -4134,8 +4933,16 @@ export {
4134
4933
  BrowserSessionsResult,
4135
4934
  BrowserSetEnabledParams,
4136
4935
  BrowserSetEnabledResult,
4936
+ BrowserToolMetric,
4937
+ BrowserToolMetricsParams,
4938
+ BrowserToolMetricsResult,
4137
4939
  CLOSE_RULES,
4138
4940
  CONTRACT_SHA256,
4941
+ CalendarCreateParams,
4942
+ CalendarCreateResult,
4943
+ CalendarEvent,
4944
+ CalendarListParams,
4945
+ CalendarListResult,
4139
4946
  CancelMsg,
4140
4947
  ChatAppProject,
4141
4948
  ChatFamily,
@@ -4169,6 +4976,13 @@ export {
4169
4976
  CodingServiceCredentials,
4170
4977
  CodingServiceProgress,
4171
4978
  ColdChat,
4979
+ ContactDetail,
4980
+ ContactLabeled,
4981
+ ContactSummary,
4982
+ ContactsGetParams,
4983
+ ContactsGetResult,
4984
+ ContactsSearchParams,
4985
+ ContactsSearchResult,
4172
4986
  ContractHash,
4173
4987
  CoreToClientMsg,
4174
4988
  CoreToServiceMsg,
@@ -4177,6 +4991,7 @@ export {
4177
4991
  DEFAULT_MAX_MESSAGE_BYTES,
4178
4992
  DEFAULT_WINDOW_BYTES,
4179
4993
  DISCOVERY_FILE,
4994
+ DOCUMENTS_MAX_TEXT_CHARS,
4180
4995
  DesktopHealth,
4181
4996
  DesktopProtocolError,
4182
4997
  DeviceId,
@@ -4189,10 +5004,27 @@ export {
4189
5004
  DiagErrorsReportParams,
4190
5005
  DiagErrorsReportResult,
4191
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,
4192
5019
  EVENTS,
4193
5020
  EXCLUDED_TOOLS,
4194
5021
  EndMsg,
4195
5022
  EndReason,
5023
+ EntitiesNerParams,
5024
+ EntitiesNerResult,
5025
+ EntitiesPiiParams,
5026
+ EntitiesPiiResult,
5027
+ EntitySpan,
4196
5028
  ErrorCode,
4197
5029
  ErrorMsg,
4198
5030
  ErrorReason,
@@ -4313,7 +5145,25 @@ export {
4313
5145
  Limits,
4314
5146
  LlmRunning,
4315
5147
  LlmServerState,
5148
+ LocationGetParams,
5149
+ LocationGetResult,
4316
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,
4317
5167
  MlInstallPhase,
4318
5168
  MlInstallProgress,
4319
5169
  MlProgress,
@@ -4339,6 +5189,39 @@ export {
4339
5189
  ModelsTranscribeResult,
4340
5190
  NAMED_SCHEMAS,
4341
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,
4342
5225
  OPS,
4343
5226
  OpDescriptor,
4344
5227
  OsPermissionName,
@@ -4347,6 +5230,12 @@ export {
4347
5230
  PROTOCOL_MAJOR,
4348
5231
  PROTOCOL_MINOR,
4349
5232
  PROTOCOL_VERSION,
5233
+ Photo,
5234
+ PhotosGetParams,
5235
+ PhotosGetResult,
5236
+ PhotosSearchParams,
5237
+ PhotosSearchResult,
5238
+ PiiKind,
4350
5239
  PowerEnergy,
4351
5240
  PowerHistoryParams,
4352
5241
  PowerHistoryPoint,
@@ -4375,6 +5264,8 @@ export {
4375
5264
  RELAY_CALL_HELLO_ID,
4376
5265
  RELAY_CALL_REQUEST_ID,
4377
5266
  RELAY_CALL_VERSION_HEADER,
5267
+ RegistryValue,
5268
+ RegistryValueType,
4378
5269
  RelayAuthExpiringEvent,
4379
5270
  RelayCallEnvelope,
4380
5271
  RelayCallHello,
@@ -4385,6 +5276,11 @@ export {
4385
5276
  RelayHopEnvelopeHeader,
4386
5277
  RelayMsg,
4387
5278
  RelayStatusResponse,
5279
+ Reminder,
5280
+ RemindersCreateParams,
5281
+ RemindersCreateResult,
5282
+ RemindersListParams,
5283
+ RemindersListResult,
4388
5284
  RequestId,
4389
5285
  RequestMsg,
4390
5286
  ResourceId,
@@ -4410,6 +5306,14 @@ export {
4410
5306
  SERVICES,
4411
5307
  SERVICE_MAX_FRAME_BYTES,
4412
5308
  SUBPROTOCOL,
5309
+ ScheduleCancelParams,
5310
+ ScheduleCancelResult,
5311
+ ScheduleCreateParams,
5312
+ ScheduleCreateResult,
5313
+ ScheduleListParams,
5314
+ ScheduleListResult,
5315
+ ScheduleRun,
5316
+ ScheduledTask,
4413
5317
  ScreenCaptureParams,
4414
5318
  ScreenCaptureResult,
4415
5319
  ScreenDisplay,
@@ -4528,6 +5432,21 @@ export {
4528
5432
  WindowMinimizeResult,
4529
5433
  WindowMoveParams,
4530
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,
4531
5450
  announcedVersion,
4532
5451
  assertFrameHeader,
4533
5452
  buildToolStatus,