@ai-matrx/desktop-protocol 0.21.37 → 0.21.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.js CHANGED
@@ -112,7 +112,7 @@ import { z as z2 } from "zod";
112
112
  import { z } from "zod";
113
113
  import { UUID_SHAPE_PATTERN } from "@ai-matrx/kit/uuid";
114
114
  var PROTOCOL_MAJOR = 1;
115
- var PROTOCOL_MINOR = 45;
115
+ var PROTOCOL_MINOR = 47;
116
116
  var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
117
117
  var ProtocolVersion = z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
118
118
  var RequestId = z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
@@ -884,7 +884,9 @@ var DownloadRow = z9.strictObject({
884
884
  /** Unix ms; null when stopped. */
885
885
  started_at: nonNegInt.nullable(),
886
886
  /** The folder it downloads into (Show in Finder). */
887
- path: z9.string().max(1024).nullable()
887
+ path: z9.string().max(1024).nullable(),
888
+ /** (1.46) Why it stopped, when it failed (one human line); absent otherwise. */
889
+ error: z9.string().max(300).optional()
888
890
  });
889
891
  var ModelsDownloadsListParams = z9.strictObject({});
890
892
  var ModelsDownloadsListResult = z9.strictObject({ downloads: z9.array(DownloadRow).max(64) });
@@ -3339,22 +3341,104 @@ var AppsWindowsUpdateAndReopenResult = z31.strictObject({
3339
3341
  installed_version: z31.string().max(64).nullable()
3340
3342
  });
3341
3343
 
3342
- // src/schema/browser.ts
3344
+ // src/schema/apps-instances.ts
3343
3345
  import { z as z32 } from "zod";
3344
- var BrowserClientInstance = z32.string().min(1).max(64).regex(/^[A-Za-z0-9_.:-]+$/);
3345
- var BrowserKind = z32.enum(["chrome", "edge", "brave", "arc", "opera", "vivaldi", "chromium", "firefox", "other"]);
3346
- var BrowserSessionState = z32.enum(["connected", "different_account", "extension_signed_out", "device_signed_out", "unverified"]);
3347
- var BrowserSession = z32.strictObject({
3346
+ var InstanceStatus = z32.enum(["open", "closed", "wrong_account", "update_waiting", "folder_missing"]);
3347
+ var AppInstall = z32.strictObject({
3348
+ location: z32.string().max(1024),
3349
+ version: z32.string().max(80).nullable()
3350
+ });
3351
+ var AppInstance = z32.strictObject({
3352
+ app_key: AppKey,
3353
+ /** "main", or the instance's name: the same key every window action takes. */
3354
+ key: ChatPlace,
3355
+ main: z32.boolean(),
3356
+ status: InstanceStatus,
3357
+ running: z32.boolean(),
3358
+ /** Its process while open. */
3359
+ pid: nonNegInt.nullable(),
3360
+ /** Its data folder on this device. */
3361
+ folder: z32.string().max(1024).nullable(),
3362
+ folder_exists: z32.boolean(),
3363
+ /** The provider's id of the account signed in there now, when the app records it. */
3364
+ account_id: z32.string().max(200).nullable(),
3365
+ /** That account's email, when known. */
3366
+ account: z32.string().max(320).nullable(),
3367
+ /** The account this instance is kept for (null for main: it signs into any). */
3368
+ meant_for: z32.string().max(320).nullable(),
3369
+ /** The version running in it now, or the one it last ran when closed. */
3370
+ version: z32.string().max(80).nullable(),
3371
+ installed_version: z32.string().max(80).nullable(),
3372
+ /** Chats open in it now. */
3373
+ open_chats: nonNegInt,
3374
+ launched_ms: epochMs.nullable(),
3375
+ quit_ms: epochMs.nullable(),
3376
+ first_launch_ms: epochMs.nullable()
3377
+ });
3378
+ var AccountResetSource = z32.enum(["app", "usage_history", "your_list"]);
3379
+ var AccountGap = z32.enum(["email", "plan", "usage"]);
3380
+ var AppAccount = z32.strictObject({
3381
+ app_key: AppKey,
3382
+ /** The provider's own account id (Claude's account uuid, ChatGPT's account id); `org:<uuid>` when only its organization is known. */
3383
+ account_id: z32.string().max(200),
3384
+ email: z32.string().max(320).nullable(),
3385
+ plan: z32.string().max(80).nullable(),
3386
+ /** The provider organizations its readings are filed under. */
3387
+ orgs: z32.array(z32.string().max(80)).max(20),
3388
+ /** Weekly use in percent; 0 once the week reset after the reading. */
3389
+ weekly: z32.number().nullable(),
3390
+ weekly_reset_since: z32.boolean(),
3391
+ weekly_resets_at_ms: epochMs.nullable(),
3392
+ weekly_reset_source: AccountResetSource.nullable(),
3393
+ /** 5-hour use in percent; 0 once the 5-hour window passed after the reading. */
3394
+ five_hour: z32.number().nullable(),
3395
+ five_hour_reset_since: z32.boolean(),
3396
+ /** The latest the 5-hour window resets. */
3397
+ five_hour_resets_at_ms: epochMs.nullable(),
3398
+ /** Claude: extra-usage spend as a percent of its cap. */
3399
+ extra_usage: z32.number().nullable(),
3400
+ /** Codex: the credit balance. */
3401
+ credits: z32.number().nullable(),
3402
+ /** When the newest reading was taken, and in which instance. */
3403
+ read_at_ms: epochMs.nullable(),
3404
+ read_in: ChatPlace.nullable(),
3405
+ /** Instances signed into it now. */
3406
+ instances: z32.array(ChatPlace).max(200),
3407
+ first_seen_ms: epochMs.nullable(),
3408
+ last_seen_ms: epochMs.nullable(),
3409
+ missing: z32.array(AccountGap).max(3)
3410
+ });
3411
+ var AppsInstancesListParams = z32.strictObject({ app_key: AppKey });
3412
+ var AppsInstancesListResult = z32.strictObject({
3413
+ app_key: AppKey,
3414
+ install: AppInstall.nullable(),
3415
+ instances: z32.array(AppInstance).max(200),
3416
+ /** The rows are right but something around them failed; shown, never hidden. */
3417
+ problem: z32.string().max(400).optional()
3418
+ });
3419
+ var AppsAccountsListParams = z32.strictObject({ app_key: AppKey });
3420
+ var AppsAccountsListResult = z32.strictObject({
3421
+ app_key: AppKey,
3422
+ accounts: z32.array(AppAccount).max(500),
3423
+ problem: z32.string().max(400).optional()
3424
+ });
3425
+
3426
+ // src/schema/browser.ts
3427
+ import { z as z33 } from "zod";
3428
+ var BrowserClientInstance = z33.string().min(1).max(64).regex(/^[A-Za-z0-9_.:-]+$/);
3429
+ var BrowserKind = z33.enum(["chrome", "edge", "brave", "arc", "opera", "vivaldi", "chromium", "firefox", "other"]);
3430
+ var BrowserSessionState = z33.enum(["connected", "different_account", "extension_signed_out", "device_signed_out", "unverified"]);
3431
+ var BrowserSession = z33.strictObject({
3348
3432
  client_instance: BrowserClientInstance,
3349
3433
  /** What the person sees ("Chrome — Work"), set by the extension. */
3350
- client_label: z32.string().min(1).max(128),
3434
+ client_label: z33.string().min(1).max(128),
3351
3435
  browser: BrowserKind,
3352
- extension_version: z32.string().min(1).max(32),
3436
+ extension_version: z33.string().min(1).max(32),
3353
3437
  state: BrowserSessionState,
3354
3438
  /** True only for `connected`: an agent's call can reach this session. */
3355
- routable: z32.boolean(),
3439
+ routable: z33.boolean(),
3356
3440
  /** The extension's account email from its token (null when signed out or unknown). */
3357
- account_email: z32.string().max(320).nullable(),
3441
+ account_email: z33.string().max(320).nullable(),
3358
3442
  connected_at_ms: epochMs,
3359
3443
  last_call_at_ms: epochMs.nullable(),
3360
3444
  calls: nonNegInt,
@@ -3363,756 +3447,756 @@ var BrowserSession = z32.strictObject({
3363
3447
  p50_ms: nonNegInt.nullable(),
3364
3448
  p95_ms: nonNegInt.nullable(),
3365
3449
  /** A call is waiting for the person to confirm it in the browser. */
3366
- awaiting_confirmation: z32.boolean()
3450
+ awaiting_confirmation: z33.boolean()
3367
3451
  });
3368
- var BrowserRegisterParams = z32.strictObject({
3452
+ var BrowserRegisterParams = z33.strictObject({
3369
3453
  client_instance: BrowserClientInstance,
3370
- client_label: z32.string().min(1).max(128),
3454
+ client_label: z33.string().min(1).max(128),
3371
3455
  browser: BrowserKind,
3372
- extension_version: z32.string().min(1).max(32),
3456
+ extension_version: z33.string().min(1).max(32),
3373
3457
  /** The extension's current AI Matrx access token, checked against the device owner; null when signed out. */
3374
- account_token: z32.string().min(16).max(8192).nullable()
3458
+ account_token: z33.string().min(16).max(8192).nullable()
3375
3459
  });
3376
- var BrowserRegisterResult = z32.strictObject({ session: BrowserSession });
3377
- var BrowserCallError = z32.strictObject({
3378
- message: z32.string().max(1e3),
3460
+ var BrowserRegisterResult = z33.strictObject({ session: BrowserSession });
3461
+ var BrowserCallError = z33.strictObject({
3462
+ message: z33.string().max(1e3),
3379
3463
  /** The extension's own error code, when it has one ("tool_not_found", "denied"). */
3380
- code: z32.string().max(64).nullable()
3464
+ code: z33.string().max(64).nullable()
3381
3465
  });
3382
- var BrowserResultParams = z32.strictObject({
3383
- call_id: z32.string().min(1).max(64),
3384
- ok: z32.boolean(),
3466
+ var BrowserResultParams = z33.strictObject({
3467
+ call_id: z33.string().min(1).max(64),
3468
+ ok: z33.boolean(),
3385
3469
  /** The tool's result when ok (any JSON). */
3386
- result: z32.unknown(),
3470
+ result: z33.unknown(),
3387
3471
  error: BrowserCallError.nullable()
3388
3472
  });
3389
- var BrowserResultResult = z32.strictObject({ accepted: z32.boolean() });
3390
- var BrowserCallPhase = z32.enum(["awaiting_confirmation", "running"]);
3391
- var BrowserProgressParams = z32.strictObject({ call_id: z32.string().min(1).max(64), phase: BrowserCallPhase });
3392
- var BrowserProgressResult = z32.strictObject({ accepted: z32.boolean() });
3393
- var BrowserSessionsParams = z32.strictObject({});
3394
- var BrowserSessionsResult = z32.strictObject({
3473
+ var BrowserResultResult = z33.strictObject({ accepted: z33.boolean() });
3474
+ var BrowserCallPhase = z33.enum(["awaiting_confirmation", "running"]);
3475
+ var BrowserProgressParams = z33.strictObject({ call_id: z33.string().min(1).max(64), phase: BrowserCallPhase });
3476
+ var BrowserProgressResult = z33.strictObject({ accepted: z33.boolean() });
3477
+ var BrowserSessionsParams = z33.strictObject({});
3478
+ var BrowserSessionsResult = z33.strictObject({
3395
3479
  /** The person's Browser connection switch. Off: no pairing, no extension sessions. */
3396
- enabled: z32.boolean(),
3480
+ enabled: z33.boolean(),
3397
3481
  /** Whether Matrx 2 is signed in (without an owner no session is routable). */
3398
- owner_signed_in: z32.boolean(),
3399
- sessions: z32.array(BrowserSession).max(64)
3400
- });
3401
- var BrowserDisconnectParams = z32.strictObject({ client_instance: BrowserClientInstance });
3402
- var BrowserDisconnectResult = z32.strictObject({ disconnected: z32.boolean() });
3403
- var BrowserSetEnabledParams = z32.strictObject({ enabled: z32.boolean() });
3404
- var BrowserSetEnabledResult = z32.strictObject({ enabled: z32.boolean() });
3405
- var BrowserPairCodeParams = z32.strictObject({});
3406
- var BrowserPairCodeResult = z32.strictObject({ code: z32.string().min(16).max(128) });
3407
- var BrowserPairResetParams = z32.strictObject({});
3408
- var BrowserCallParams = z32.strictObject({
3409
- tool: z32.string().min(1).max(96).regex(/^[a-z][a-z0-9_]*$/),
3410
- args: z32.record(z32.string(), z32.unknown()),
3482
+ owner_signed_in: z33.boolean(),
3483
+ sessions: z33.array(BrowserSession).max(64)
3484
+ });
3485
+ var BrowserDisconnectParams = z33.strictObject({ client_instance: BrowserClientInstance });
3486
+ var BrowserDisconnectResult = z33.strictObject({ disconnected: z33.boolean() });
3487
+ var BrowserSetEnabledParams = z33.strictObject({ enabled: z33.boolean() });
3488
+ var BrowserSetEnabledResult = z33.strictObject({ enabled: z33.boolean() });
3489
+ var BrowserPairCodeParams = z33.strictObject({});
3490
+ var BrowserPairCodeResult = z33.strictObject({ code: z33.string().min(16).max(128) });
3491
+ var BrowserPairResetParams = z33.strictObject({});
3492
+ var BrowserCallParams = z33.strictObject({
3493
+ tool: z33.string().min(1).max(96).regex(/^[a-z][a-z0-9_]*$/),
3494
+ args: z33.record(z33.string(), z33.unknown()),
3411
3495
  /** Which session; default: the most recently active routable one (BROWSER ambiguity → CONFLICT). */
3412
3496
  client_instance: BrowserClientInstance.optional(),
3413
3497
  /** How long to wait, including a person's confirmation; default 120 s. */
3414
- timeout_ms: z32.int().min(1e3).max(6e5).optional()
3498
+ timeout_ms: z33.int().min(1e3).max(6e5).optional()
3415
3499
  });
3416
- var BrowserCallResult = z32.strictObject({
3500
+ var BrowserCallResult = z33.strictObject({
3417
3501
  client_instance: BrowserClientInstance,
3418
- result: z32.unknown(),
3502
+ result: z33.unknown(),
3419
3503
  duration_ms: nonNegInt
3420
3504
  });
3421
- var BrowserToolMetricsParams = z32.strictObject({ client_instance: BrowserClientInstance });
3422
- var BrowserToolMetric = z32.strictObject({
3423
- tool: z32.string().max(256),
3505
+ var BrowserToolMetricsParams = z33.strictObject({ client_instance: BrowserClientInstance });
3506
+ var BrowserToolMetric = z33.strictObject({
3507
+ tool: z33.string().max(256),
3424
3508
  calls: nonNegInt,
3425
3509
  errors: nonNegInt,
3426
3510
  /** Over the last 200 answered calls; null before the first answer. */
3427
3511
  p50_ms: nonNegInt.nullable(),
3428
3512
  p95_ms: nonNegInt.nullable(),
3429
3513
  last_call_at_ms: epochMs.nullable(),
3430
- last_error: z32.string().max(2048).nullable()
3514
+ last_error: z33.string().max(2048).nullable()
3431
3515
  });
3432
- var BrowserToolMetricsResult = z32.strictObject({ client_instance: z32.string(), tools: z32.array(BrowserToolMetric) });
3433
- var BrowserResetCountersParams = z32.strictObject({ client_instance: BrowserClientInstance });
3434
- var BrowserResetCountersResult = z32.strictObject({ reset: z32.boolean() });
3435
- var BrowserLogParams = z32.strictObject({
3516
+ var BrowserToolMetricsResult = z33.strictObject({ client_instance: z33.string(), tools: z33.array(BrowserToolMetric) });
3517
+ var BrowserResetCountersParams = z33.strictObject({ client_instance: BrowserClientInstance });
3518
+ var BrowserResetCountersResult = z33.strictObject({ reset: z33.boolean() });
3519
+ var BrowserLogParams = z33.strictObject({
3436
3520
  /** Only messages after this seq (0: from the oldest kept; the core keeps the last 500). */
3437
3521
  after_seq: nonNegInt.default(0),
3438
- limit: z32.int().min(1).max(500).default(500)
3522
+ limit: z33.int().min(1).max(500).default(500)
3439
3523
  });
3440
- var BrowserLogMessage = z32.strictObject({
3524
+ var BrowserLogMessage = z33.strictObject({
3441
3525
  seq: nonNegInt,
3442
3526
  at_ms: epochMs,
3443
- direction: z32.enum(["to_browser", "from_browser", "core"]),
3444
- client_instance: z32.string(),
3445
- kind: z32.enum(["register", "invoke", "result", "progress", "timeout", "closed"]),
3446
- tool: z32.string().nullable(),
3447
- call_id: z32.string().nullable(),
3448
- ok: z32.boolean().nullable(),
3449
- detail: z32.string().max(1024)
3450
- });
3451
- var BrowserLogResult = z32.strictObject({
3452
- messages: z32.array(BrowserLogMessage),
3527
+ direction: z33.enum(["to_browser", "from_browser", "core"]),
3528
+ client_instance: z33.string(),
3529
+ kind: z33.enum(["register", "invoke", "result", "progress", "timeout", "closed"]),
3530
+ tool: z33.string().nullable(),
3531
+ call_id: z33.string().nullable(),
3532
+ ok: z33.boolean().nullable(),
3533
+ detail: z33.string().max(1024)
3534
+ });
3535
+ var BrowserLogResult = z33.strictObject({
3536
+ messages: z33.array(BrowserLogMessage),
3453
3537
  /** The newest seq the core has written (pass it back as after_seq to follow the log). */
3454
3538
  last_seq: nonNegInt
3455
3539
  });
3456
- var BrowserInvokeEvent = z32.strictObject({
3457
- call_id: z32.string().min(1).max(64),
3458
- tool: z32.string().min(1).max(96),
3459
- args: z32.record(z32.string(), z32.unknown()),
3540
+ var BrowserInvokeEvent = z33.strictObject({
3541
+ call_id: z33.string().min(1).max(64),
3542
+ tool: z33.string().min(1).max(96),
3543
+ args: z33.record(z33.string(), z33.unknown()),
3460
3544
  deadline_ms: epochMs
3461
3545
  });
3462
- var BrowserSessionsChangedEvent = z32.strictObject({ count: nonNegInt, enabled: z32.boolean() });
3463
- var BrowserProgressEvent = z32.strictObject({
3464
- call_id: z32.string().min(1).max(64),
3546
+ var BrowserSessionsChangedEvent = z33.strictObject({ count: nonNegInt, enabled: z33.boolean() });
3547
+ var BrowserProgressEvent = z33.strictObject({
3548
+ call_id: z33.string().min(1).max(64),
3465
3549
  client_instance: BrowserClientInstance,
3466
3550
  phase: BrowserCallPhase
3467
3551
  });
3468
- var DesktopHealth = z32.strictObject({
3469
- status: z32.literal("ok"),
3470
- service: z32.literal("matrx-desktop"),
3471
- version: z32.string().max(32),
3472
- protocol_version: z32.string().max(16),
3473
- ws_path: z32.literal("/v1/connect"),
3474
- device_id: z32.string().max(64),
3475
- browser_connection: z32.enum(["on", "off"])
3476
- });
3477
- var BrowserPairRequest = z32.strictObject({ client_instance: BrowserClientInstance });
3478
- var BrowserPairResult = z32.strictObject({ pair_token: z32.string().min(16).max(128), ws_path: z32.literal("/v1/connect") });
3552
+ var DesktopHealth = z33.strictObject({
3553
+ status: z33.literal("ok"),
3554
+ service: z33.literal("matrx-desktop"),
3555
+ version: z33.string().max(32),
3556
+ protocol_version: z33.string().max(16),
3557
+ ws_path: z33.literal("/v1/connect"),
3558
+ device_id: z33.string().max(64),
3559
+ browser_connection: z33.enum(["on", "off"])
3560
+ });
3561
+ var BrowserPairRequest = z33.strictObject({ client_instance: BrowserClientInstance });
3562
+ var BrowserPairResult = z33.strictObject({ pair_token: z33.string().min(16).max(128), ws_path: z33.literal("/v1/connect") });
3479
3563
 
3480
3564
  // src/schema/net.ts
3481
- import { z as z33 } from "zod";
3482
- var NetInfoParams = z33.strictObject({});
3483
- var NetAddress = z33.strictObject({
3484
- address: z33.string(),
3485
- family: z33.enum(["ipv4", "ipv6"]),
3486
- netmask: z33.string().nullable(),
3565
+ import { z as z34 } from "zod";
3566
+ var NetInfoParams = z34.strictObject({});
3567
+ var NetAddress = z34.strictObject({
3568
+ address: z34.string(),
3569
+ family: z34.enum(["ipv4", "ipv6"]),
3570
+ netmask: z34.string().nullable(),
3487
3571
  /** CIDR form ("192.168.1.20/24"); null where the OS gives no prefix. */
3488
- cidr: z33.string().nullable()
3572
+ cidr: z34.string().nullable()
3489
3573
  });
3490
- var NetInterface = z33.strictObject({
3491
- name: z33.string(),
3492
- mac: z33.string().nullable(),
3574
+ var NetInterface = z34.strictObject({
3575
+ name: z34.string(),
3576
+ mac: z34.string().nullable(),
3493
3577
  /** Loopback and other internal interfaces. */
3494
- internal: z33.boolean(),
3495
- addresses: z33.array(NetAddress)
3578
+ internal: z34.boolean(),
3579
+ addresses: z34.array(NetAddress)
3496
3580
  });
3497
- var NetInfoResult = z33.strictObject({
3498
- hostname: z33.string(),
3499
- interfaces: z33.array(NetInterface),
3581
+ var NetInfoResult = z34.strictObject({
3582
+ hostname: z34.string(),
3583
+ interfaces: z34.array(NetInterface),
3500
3584
  /** The default route's gateway; null when the OS does not say (or there is none). */
3501
- gateway: z33.string().nullable(),
3585
+ gateway: z34.string().nullable(),
3502
3586
  /** The DNS servers the OS uses; empty when it does not say. */
3503
- dns: z33.array(z33.string())
3587
+ dns: z34.array(z34.string())
3504
3588
  });
3505
- var NetWifiParams = z33.strictObject({});
3506
- var NetWifiNetwork = z33.strictObject({
3589
+ var NetWifiParams = z34.strictObject({});
3590
+ var NetWifiNetwork = z34.strictObject({
3507
3591
  /** null: the OS hides the name (macOS without Location Services for this app). */
3508
- ssid: z33.string().nullable(),
3592
+ ssid: z34.string().nullable(),
3509
3593
  /** dBm; null where the OS does not say. */
3510
- rssi: z33.int().nullable(),
3511
- channel: z33.string().nullable(),
3512
- security: z33.string().nullable()
3594
+ rssi: z34.int().nullable(),
3595
+ channel: z34.string().nullable(),
3596
+ security: z34.string().nullable()
3513
3597
  });
3514
- var NetWifiResult = z33.strictObject({
3598
+ var NetWifiResult = z34.strictObject({
3515
3599
  /** Whether the computer has a Wi-Fi interface at all. */
3516
- available: z33.boolean(),
3600
+ available: z34.boolean(),
3517
3601
  /** The network the computer is on; null when it is on none. */
3518
3602
  current: NetWifiNetwork.nullable(),
3519
3603
  /** Networks in range (may be empty where the OS lists none to apps). */
3520
- networks: z33.array(NetWifiNetwork)
3604
+ networks: z34.array(NetWifiNetwork)
3521
3605
  });
3522
- var NetBluetoothParams = z33.strictObject({});
3523
- var NetBluetoothDevice = z33.strictObject({
3524
- name: z33.string(),
3525
- address: z33.string().nullable(),
3526
- connected: z33.boolean(),
3606
+ var NetBluetoothParams = z34.strictObject({});
3607
+ var NetBluetoothDevice = z34.strictObject({
3608
+ name: z34.string(),
3609
+ address: z34.string().nullable(),
3610
+ connected: z34.boolean(),
3527
3611
  /** What it is, in the OS's words ("Headphones", "Keyboard"); null where it does not say. */
3528
- kind: z33.string().nullable(),
3612
+ kind: z34.string().nullable(),
3529
3613
  /** Battery percent, where the OS reports it. */
3530
- battery: z33.int().min(0).max(100).nullable()
3614
+ battery: z34.int().min(0).max(100).nullable()
3531
3615
  });
3532
- var NetBluetoothResult = z33.strictObject({
3616
+ var NetBluetoothResult = z34.strictObject({
3533
3617
  /** Bluetooth is on; null where the OS does not say. */
3534
- powered: z33.boolean().nullable(),
3535
- devices: z33.array(NetBluetoothDevice)
3536
- });
3537
- var NetDevicesParams = z33.strictObject({});
3538
- var NetDevice = z33.strictObject({
3539
- ip: z33.string(),
3540
- mac: z33.string().nullable(),
3541
- interface: z33.string().nullable(),
3618
+ powered: z34.boolean().nullable(),
3619
+ devices: z34.array(NetBluetoothDevice)
3620
+ });
3621
+ var NetDevicesParams = z34.strictObject({});
3622
+ var NetDevice = z34.strictObject({
3623
+ ip: z34.string(),
3624
+ mac: z34.string().nullable(),
3625
+ interface: z34.string().nullable(),
3542
3626
  /** The name the local network gives it (reverse DNS / mDNS), when the table carries one. */
3543
- hostname: z33.string().nullable()
3627
+ hostname: z34.string().nullable()
3544
3628
  });
3545
- var NetDevicesResult = z33.strictObject({ devices: z33.array(NetDevice) });
3546
- var NetMdnsParams = z33.strictObject({
3629
+ var NetDevicesResult = z34.strictObject({ devices: z34.array(NetDevice) });
3630
+ var NetMdnsParams = z34.strictObject({
3547
3631
  /** A service type ("_http._tcp"); absent lists the service types found. */
3548
- service_type: z33.string().min(1).max(64).regex(/^_[A-Za-z0-9-]+\._(tcp|udp)$/).optional(),
3632
+ service_type: z34.string().min(1).max(64).regex(/^_[A-Za-z0-9-]+\._(tcp|udp)$/).optional(),
3549
3633
  /** How long to listen. */
3550
- timeout_s: z33.int().min(1).max(30).default(3)
3634
+ timeout_s: z34.int().min(1).max(30).default(3)
3551
3635
  });
3552
- var NetMdnsService = z33.strictObject({
3553
- name: z33.string(),
3554
- type: z33.string(),
3555
- domain: z33.string(),
3556
- interface: z33.string().nullable()
3636
+ var NetMdnsService = z34.strictObject({
3637
+ name: z34.string(),
3638
+ type: z34.string(),
3639
+ domain: z34.string(),
3640
+ interface: z34.string().nullable()
3557
3641
  });
3558
- var NetMdnsResult = z33.strictObject({ services: z33.array(NetMdnsService) });
3559
- var NetScanParams = z33.strictObject({
3642
+ var NetMdnsResult = z34.strictObject({ services: z34.array(NetMdnsService) });
3643
+ var NetScanParams = z34.strictObject({
3560
3644
  /** A host name or address; a private or loopback address unless `allow_public`. */
3561
- host: z33.string().min(1).max(253),
3562
- ports: z33.array(z33.int().min(1).max(65535)).min(1).max(1024),
3563
- timeout_ms: z33.int().min(50).max(1e4).default(800),
3645
+ host: z34.string().min(1).max(253),
3646
+ ports: z34.array(z34.int().min(1).max(65535)).min(1).max(1024),
3647
+ timeout_ms: z34.int().min(50).max(1e4).default(800),
3564
3648
  /** Scanning a host on the public internet needs saying so. */
3565
- allow_public: z33.boolean().default(false)
3649
+ allow_public: z34.boolean().default(false)
3566
3650
  });
3567
- var NetScanResult = z33.strictObject({
3568
- host: z33.string(),
3651
+ var NetScanResult = z34.strictObject({
3652
+ host: z34.string(),
3569
3653
  /** The address the host resolved to. */
3570
- address: z33.string(),
3571
- open: z33.array(z33.int().min(1).max(65535)),
3654
+ address: z34.string(),
3655
+ open: z34.array(z34.int().min(1).max(65535)),
3572
3656
  closed: nonNegInt,
3573
3657
  elapsed_ms: nonNegInt
3574
3658
  });
3575
- var NetDownloadParams = z33.strictObject({
3576
- url: z33.string().min(1).max(8192).regex(/^https?:\/\//),
3659
+ var NetDownloadParams = z34.strictObject({
3660
+ url: z34.string().min(1).max(8192).regex(/^https?:\/\//),
3577
3661
  /** Where to save it: an absolute path (a folder keeps the URL's file name). */
3578
3662
  path: AbsPath,
3579
- overwrite: z33.boolean().default(false),
3580
- timeout_s: z33.int().min(1).max(3600).default(300),
3663
+ overwrite: z34.boolean().default(false),
3664
+ timeout_s: z34.int().min(1).max(3600).default(300),
3581
3665
  /** Refuse anything larger. */
3582
- max_bytes: z33.int().min(1).max(10737418240).default(2147483648)
3666
+ max_bytes: z34.int().min(1).max(10737418240).default(2147483648)
3583
3667
  });
3584
- var NetDownloadResult = z33.strictObject({
3585
- path: z33.string(),
3668
+ var NetDownloadResult = z34.strictObject({
3669
+ path: z34.string(),
3586
3670
  bytes: nonNegInt,
3587
- content_type: z33.string().nullable(),
3671
+ content_type: z34.string().nullable(),
3588
3672
  /** The final URL after redirects. */
3589
- url: z33.string(),
3673
+ url: z34.string(),
3590
3674
  elapsed_ms: nonNegInt
3591
3675
  });
3592
3676
 
3593
3677
  // src/schema/personal.ts
3594
- import { z as z34 } from "zod";
3595
- var Text = z34.string().max(65536);
3596
- var AutomationScriptParams = z34.strictObject({
3678
+ import { z as z35 } from "zod";
3679
+ var Text = z35.string().max(65536);
3680
+ var AutomationScriptParams = z35.strictObject({
3597
3681
  /** applescript and jxa: macOS (osascript); powershell: Windows (and pwsh where installed). */
3598
- language: z34.enum(["applescript", "jxa", "powershell"]),
3599
- script: z34.string().min(1).max(262144),
3600
- timeout_s: z34.int().min(1).max(600).default(60)
3601
- });
3602
- var AutomationScriptResult = z34.strictObject({
3603
- stdout: z34.string(),
3604
- stderr: z34.string(),
3605
- exit_code: z34.int(),
3606
- timed_out: z34.boolean(),
3682
+ language: z35.enum(["applescript", "jxa", "powershell"]),
3683
+ script: z35.string().min(1).max(262144),
3684
+ timeout_s: z35.int().min(1).max(600).default(60)
3685
+ });
3686
+ var AutomationScriptResult = z35.strictObject({
3687
+ stdout: z35.string(),
3688
+ stderr: z35.string(),
3689
+ exit_code: z35.int(),
3690
+ timed_out: z35.boolean(),
3607
3691
  /** stdout or stderr was cut at 1 MiB. */
3608
- truncated: z34.boolean(),
3692
+ truncated: z35.boolean(),
3609
3693
  elapsed_ms: nonNegInt
3610
3694
  });
3611
- var MailAccountsParams = z34.strictObject({});
3612
- var MailAccount = z34.strictObject({ name: z34.string(), emails: z34.array(z34.string()), enabled: z34.boolean() });
3613
- var MailAccountsResult = z34.strictObject({ accounts: z34.array(MailAccount) });
3614
- var MailListParams = z34.strictObject({
3695
+ var MailAccountsParams = z35.strictObject({});
3696
+ var MailAccount = z35.strictObject({ name: z35.string(), emails: z35.array(z35.string()), enabled: z35.boolean() });
3697
+ var MailAccountsResult = z35.strictObject({ accounts: z35.array(MailAccount) });
3698
+ var MailListParams = z35.strictObject({
3615
3699
  /** The account's name in Mail; absent: every account. */
3616
- account: z34.string().min(1).max(256).optional(),
3700
+ account: z35.string().min(1).max(256).optional(),
3617
3701
  /** The mailbox's name ("INBOX", "Sent Messages"). */
3618
- mailbox: z34.string().min(1).max(256).default("INBOX"),
3619
- unread_only: z34.boolean().default(false),
3620
- limit: z34.int().min(1).max(200).default(25)
3621
- });
3622
- var MailMessage = z34.strictObject({
3623
- id: z34.string(),
3624
- subject: z34.string(),
3625
- sender: z34.string(),
3702
+ mailbox: z35.string().min(1).max(256).default("INBOX"),
3703
+ unread_only: z35.boolean().default(false),
3704
+ limit: z35.int().min(1).max(200).default(25)
3705
+ });
3706
+ var MailMessage = z35.strictObject({
3707
+ id: z35.string(),
3708
+ subject: z35.string(),
3709
+ sender: z35.string(),
3626
3710
  received_at_ms: epochMs.nullable(),
3627
- read: z34.boolean(),
3628
- account: z34.string(),
3629
- mailbox: z34.string(),
3711
+ read: z35.boolean(),
3712
+ account: z35.string(),
3713
+ mailbox: z35.string(),
3630
3714
  /** The first lines of the message's text. */
3631
- preview: z34.string()
3715
+ preview: z35.string()
3632
3716
  });
3633
- var MailListResult = z34.strictObject({ messages: z34.array(MailMessage) });
3634
- var MailSendParams = z34.strictObject({
3635
- to: z34.array(z34.string().min(3).max(320)).min(1).max(50),
3636
- cc: z34.array(z34.string().min(3).max(320)).max(50).default([]),
3637
- subject: z34.string().max(998),
3717
+ var MailListResult = z35.strictObject({ messages: z35.array(MailMessage) });
3718
+ var MailSendParams = z35.strictObject({
3719
+ to: z35.array(z35.string().min(3).max(320)).min(1).max(50),
3720
+ cc: z35.array(z35.string().min(3).max(320)).max(50).default([]),
3721
+ subject: z35.string().max(998),
3638
3722
  body: Text,
3639
3723
  /** The sending account's address; absent: Mail's default. */
3640
- from: z34.string().min(3).max(320).optional(),
3724
+ from: z35.string().min(3).max(320).optional(),
3641
3725
  /** false leaves it open in Mail as a draft for the person to send. */
3642
- send: z34.boolean().default(true)
3726
+ send: z35.boolean().default(true)
3643
3727
  });
3644
- var MailSendResult = z34.strictObject({ sent: z34.boolean() });
3645
- var OutlookStatusParams = z34.strictObject({});
3646
- var OutlookAccount = z34.strictObject({ name: z34.string(), email: z34.string().nullable() });
3647
- var OutlookStatusResult = z34.strictObject({
3728
+ var MailSendResult = z35.strictObject({ sent: z35.boolean() });
3729
+ var OutlookStatusParams = z35.strictObject({});
3730
+ var OutlookAccount = z35.strictObject({ name: z35.string(), email: z35.string().nullable() });
3731
+ var OutlookStatusResult = z35.strictObject({
3648
3732
  /** classic_windows: scriptable. new_windows / mac: installed, not scriptable. none: not found. */
3649
- client: z34.enum(["classic_windows", "new_windows", "mac", "none"]),
3650
- scriptable: z34.boolean(),
3651
- version: z34.string().nullable(),
3652
- accounts: z34.array(OutlookAccount),
3733
+ client: z35.enum(["classic_windows", "new_windows", "mac", "none"]),
3734
+ scriptable: z35.boolean(),
3735
+ version: z35.string().nullable(),
3736
+ accounts: z35.array(OutlookAccount),
3653
3737
  /** Why it is not scriptable here, in a sentence the person can act on; null when it is. */
3654
- reason: z34.string().nullable()
3655
- });
3656
- var Address = z34.string().min(3).max(320);
3657
- var OutlookDraftParams = z34.strictObject({
3658
- to: z34.array(Address).max(100).default([]),
3659
- cc: z34.array(Address).max(100).default([]),
3660
- bcc: z34.array(Address).max(100).default([]),
3661
- subject: z34.string().max(998).default(""),
3662
- body: z34.string().max(1048576).default(""),
3663
- body_format: z34.enum(["text", "html"]).default("text"),
3738
+ reason: z35.string().nullable()
3739
+ });
3740
+ var Address = z35.string().min(3).max(320);
3741
+ var OutlookDraftParams = z35.strictObject({
3742
+ to: z35.array(Address).max(100).default([]),
3743
+ cc: z35.array(Address).max(100).default([]),
3744
+ bcc: z35.array(Address).max(100).default([]),
3745
+ subject: z35.string().max(998).default(""),
3746
+ body: z35.string().max(1048576).default(""),
3747
+ body_format: z35.enum(["text", "html"]).default("text"),
3664
3748
  /** Files on this computer to attach (absolute paths). */
3665
- attachments: z34.array(z34.string().min(1).max(4096)).max(50).default([]),
3749
+ attachments: z35.array(z35.string().min(1).max(4096)).max(50).default([]),
3666
3750
  /** The sending account's address (one of outlook.status's accounts); absent: Outlook's default. */
3667
3751
  account: Address.optional(),
3668
3752
  /** true also opens the draft in a window for the person. */
3669
- display: z34.boolean().default(false)
3753
+ display: z35.boolean().default(false)
3670
3754
  });
3671
- var OutlookDraftResult = z34.strictObject({
3755
+ var OutlookDraftResult = z35.strictObject({
3672
3756
  /** The draft's id in Outlook (outlook.read takes it). */
3673
- id: z34.string(),
3674
- account: z34.string().nullable(),
3675
- folder: z34.string(),
3757
+ id: z35.string(),
3758
+ account: z35.string().nullable(),
3759
+ folder: z35.string(),
3676
3760
  attachments: nonNegInt,
3677
- displayed: z34.boolean()
3761
+ displayed: z35.boolean()
3678
3762
  });
3679
- var OutlookListParams = z34.strictObject({
3680
- folder: z34.enum(["inbox", "sent", "drafts"]).default("inbox"),
3763
+ var OutlookListParams = z35.strictObject({
3764
+ folder: z35.enum(["inbox", "sent", "drafts"]).default("inbox"),
3681
3765
  /** The account's address; absent: the default account. */
3682
3766
  account: Address.optional(),
3683
- unread_only: z34.boolean().default(false),
3684
- limit: z34.int().min(1).max(200).default(25)
3767
+ unread_only: z35.boolean().default(false),
3768
+ limit: z35.int().min(1).max(200).default(25)
3685
3769
  });
3686
- var OutlookMessage = z34.strictObject({
3687
- id: z34.string(),
3688
- subject: z34.string(),
3689
- sender: z34.string(),
3770
+ var OutlookMessage = z35.strictObject({
3771
+ id: z35.string(),
3772
+ subject: z35.string(),
3773
+ sender: z35.string(),
3690
3774
  received_at_ms: epochMs.nullable(),
3691
- read: z34.boolean(),
3692
- has_attachments: z34.boolean(),
3775
+ read: z35.boolean(),
3776
+ has_attachments: z35.boolean(),
3693
3777
  /** The first lines of the message's text. */
3694
- preview: z34.string()
3695
- });
3696
- var OutlookListResult = z34.strictObject({ folder: z34.string(), messages: z34.array(OutlookMessage) });
3697
- var OutlookReadParams = z34.strictObject({ id: z34.string().min(1).max(1024) });
3698
- var OutlookReadResult = z34.strictObject({
3699
- id: z34.string(),
3700
- subject: z34.string(),
3701
- sender: z34.string(),
3702
- to: z34.array(z34.string()),
3703
- cc: z34.array(z34.string()),
3778
+ preview: z35.string()
3779
+ });
3780
+ var OutlookListResult = z35.strictObject({ folder: z35.string(), messages: z35.array(OutlookMessage) });
3781
+ var OutlookReadParams = z35.strictObject({ id: z35.string().min(1).max(1024) });
3782
+ var OutlookReadResult = z35.strictObject({
3783
+ id: z35.string(),
3784
+ subject: z35.string(),
3785
+ sender: z35.string(),
3786
+ to: z35.array(z35.string()),
3787
+ cc: z35.array(z35.string()),
3704
3788
  received_at_ms: epochMs.nullable(),
3705
3789
  /** The plain text body, cut at 1 MiB. */
3706
- body: z34.string(),
3707
- attachments: z34.array(z34.strictObject({ name: z34.string(), size: nonNegInt }))
3708
- });
3709
- var MessagesChatsParams = z34.strictObject({ limit: z34.int().min(1).max(200).default(25) });
3710
- var MessagesChat = z34.strictObject({
3711
- chat_id: z34.string(),
3712
- name: z34.string().nullable(),
3713
- participants: z34.array(z34.string()),
3790
+ body: z35.string(),
3791
+ attachments: z35.array(z35.strictObject({ name: z35.string(), size: nonNegInt }))
3792
+ });
3793
+ var MessagesChatsParams = z35.strictObject({ limit: z35.int().min(1).max(200).default(25) });
3794
+ var MessagesChat = z35.strictObject({
3795
+ chat_id: z35.string(),
3796
+ name: z35.string().nullable(),
3797
+ participants: z35.array(z35.string()),
3714
3798
  last_message_at_ms: epochMs.nullable(),
3715
- service: z34.string().nullable()
3799
+ service: z35.string().nullable()
3716
3800
  });
3717
- var MessagesChatsResult = z34.strictObject({ chats: z34.array(MessagesChat) });
3718
- var MessagesListParams = z34.strictObject({
3801
+ var MessagesChatsResult = z35.strictObject({ chats: z35.array(MessagesChat) });
3802
+ var MessagesListParams = z35.strictObject({
3719
3803
  /** One chat (messages.chats' chat_id); absent: the newest across all. */
3720
- chat_id: z34.string().min(1).max(512).optional(),
3721
- limit: z34.int().min(1).max(500).default(50)
3722
- });
3723
- var MessagesMessage = z34.strictObject({
3724
- id: z34.string(),
3725
- chat_id: z34.string().nullable(),
3726
- text: z34.string(),
3727
- from_me: z34.boolean(),
3804
+ chat_id: z35.string().min(1).max(512).optional(),
3805
+ limit: z35.int().min(1).max(500).default(50)
3806
+ });
3807
+ var MessagesMessage = z35.strictObject({
3808
+ id: z35.string(),
3809
+ chat_id: z35.string().nullable(),
3810
+ text: z35.string(),
3811
+ from_me: z35.boolean(),
3728
3812
  /** The other person's handle (phone or email); null for the person's own messages. */
3729
- sender: z34.string().nullable(),
3813
+ sender: z35.string().nullable(),
3730
3814
  sent_at_ms: epochMs.nullable()
3731
3815
  });
3732
- var MessagesListResult = z34.strictObject({ messages: z34.array(MessagesMessage) });
3733
- var MessagesSendParams = z34.strictObject({
3816
+ var MessagesListResult = z35.strictObject({ messages: z35.array(MessagesMessage) });
3817
+ var MessagesSendParams = z35.strictObject({
3734
3818
  /** A phone number or email the person can message. */
3735
- to: z34.string().min(3).max(320),
3736
- text: z34.string().min(1).max(2e4),
3819
+ to: z35.string().min(3).max(320),
3820
+ text: z35.string().min(1).max(2e4),
3737
3821
  /**
3738
3822
  * Send only over this service (Matrx Local's SendMessage `service`). Absent: iMessage first, and
3739
3823
  * SMS when the recipient has no iMessage (since 1.42).
3740
3824
  */
3741
- service: z34.enum(["iMessage", "SMS"]).optional()
3825
+ service: z35.enum(["iMessage", "SMS"]).optional()
3742
3826
  });
3743
- var MessagesSendResult = z34.strictObject({ sent: z34.boolean() });
3744
- var ContactsSearchParams = z34.strictObject({
3827
+ var MessagesSendResult = z35.strictObject({ sent: z35.boolean() });
3828
+ var ContactsSearchParams = z35.strictObject({
3745
3829
  /** Matched against names, organizations, emails and phone numbers. */
3746
- query: z34.string().min(1).max(256),
3747
- limit: z34.int().min(1).max(200).default(25)
3830
+ query: z35.string().min(1).max(256),
3831
+ limit: z35.int().min(1).max(200).default(25)
3748
3832
  });
3749
- var ContactLabeled = z34.strictObject({ label: z34.string().nullable(), value: z34.string() });
3750
- var ContactSummary = z34.strictObject({
3751
- id: z34.string(),
3752
- name: z34.string(),
3753
- organization: z34.string().nullable(),
3754
- emails: z34.array(ContactLabeled),
3755
- phones: z34.array(ContactLabeled)
3756
- });
3757
- var ContactsSearchResult = z34.strictObject({ contacts: z34.array(ContactSummary) });
3758
- var ContactsGetParams = z34.strictObject({ id: z34.string().min(1).max(256) });
3759
- var ContactDetail = z34.strictObject({
3760
- id: z34.string(),
3761
- name: z34.string(),
3762
- organization: z34.string().nullable(),
3763
- job_title: z34.string().nullable(),
3764
- emails: z34.array(ContactLabeled),
3765
- phones: z34.array(ContactLabeled),
3766
- addresses: z34.array(ContactLabeled),
3767
- birthday: z34.string().nullable(),
3768
- note: z34.string().nullable()
3769
- });
3770
- var ContactsGetResult = z34.strictObject({ contact: ContactDetail });
3771
- var CalendarListParams = z34.strictObject({
3833
+ var ContactLabeled = z35.strictObject({ label: z35.string().nullable(), value: z35.string() });
3834
+ var ContactSummary = z35.strictObject({
3835
+ id: z35.string(),
3836
+ name: z35.string(),
3837
+ organization: z35.string().nullable(),
3838
+ emails: z35.array(ContactLabeled),
3839
+ phones: z35.array(ContactLabeled)
3840
+ });
3841
+ var ContactsSearchResult = z35.strictObject({ contacts: z35.array(ContactSummary) });
3842
+ var ContactsGetParams = z35.strictObject({ id: z35.string().min(1).max(256) });
3843
+ var ContactDetail = z35.strictObject({
3844
+ id: z35.string(),
3845
+ name: z35.string(),
3846
+ organization: z35.string().nullable(),
3847
+ job_title: z35.string().nullable(),
3848
+ emails: z35.array(ContactLabeled),
3849
+ phones: z35.array(ContactLabeled),
3850
+ addresses: z35.array(ContactLabeled),
3851
+ birthday: z35.string().nullable(),
3852
+ note: z35.string().nullable()
3853
+ });
3854
+ var ContactsGetResult = z35.strictObject({ contact: ContactDetail });
3855
+ var CalendarListParams = z35.strictObject({
3772
3856
  from_ms: epochMs,
3773
3857
  to_ms: epochMs,
3774
3858
  /** One calendar's name; absent: every calendar. */
3775
- calendar: z34.string().min(1).max(256).optional(),
3776
- limit: z34.int().min(1).max(500).default(100)
3859
+ calendar: z35.string().min(1).max(256).optional(),
3860
+ limit: z35.int().min(1).max(500).default(100)
3777
3861
  });
3778
- var CalendarEvent = z34.strictObject({
3779
- id: z34.string(),
3780
- title: z34.string(),
3862
+ var CalendarEvent = z35.strictObject({
3863
+ id: z35.string(),
3864
+ title: z35.string(),
3781
3865
  start_ms: epochMs,
3782
3866
  end_ms: epochMs,
3783
- all_day: z34.boolean(),
3784
- calendar: z34.string(),
3785
- location: z34.string().nullable(),
3786
- notes: z34.string().nullable()
3787
- });
3788
- var CalendarListResult = z34.strictObject({ events: z34.array(CalendarEvent) });
3789
- var CalendarCreateParams = z34.strictObject({
3790
- title: z34.string().min(1).max(1024),
3867
+ all_day: z35.boolean(),
3868
+ calendar: z35.string(),
3869
+ location: z35.string().nullable(),
3870
+ notes: z35.string().nullable()
3871
+ });
3872
+ var CalendarListResult = z35.strictObject({ events: z35.array(CalendarEvent) });
3873
+ var CalendarCreateParams = z35.strictObject({
3874
+ title: z35.string().min(1).max(1024),
3791
3875
  start_ms: epochMs,
3792
3876
  end_ms: epochMs,
3793
- all_day: z34.boolean().default(false),
3877
+ all_day: z35.boolean().default(false),
3794
3878
  /** The calendar's name; absent: the first writable calendar. */
3795
- calendar: z34.string().min(1).max(256).optional(),
3796
- location: z34.string().max(1024).optional(),
3879
+ calendar: z35.string().min(1).max(256).optional(),
3880
+ location: z35.string().max(1024).optional(),
3797
3881
  notes: Text.optional()
3798
3882
  });
3799
- var CalendarCreateResult = z34.strictObject({ id: z34.string(), calendar: z34.string() });
3800
- var RemindersListParams = z34.strictObject({
3883
+ var CalendarCreateResult = z35.strictObject({ id: z35.string(), calendar: z35.string() });
3884
+ var RemindersListParams = z35.strictObject({
3801
3885
  /** One list's name; absent: every list. */
3802
- list: z34.string().min(1).max(256).optional(),
3803
- include_completed: z34.boolean().default(false),
3804
- limit: z34.int().min(1).max(500).default(100)
3805
- });
3806
- var Reminder = z34.strictObject({
3807
- id: z34.string(),
3808
- title: z34.string(),
3809
- list: z34.string(),
3886
+ list: z35.string().min(1).max(256).optional(),
3887
+ include_completed: z35.boolean().default(false),
3888
+ limit: z35.int().min(1).max(500).default(100)
3889
+ });
3890
+ var Reminder = z35.strictObject({
3891
+ id: z35.string(),
3892
+ title: z35.string(),
3893
+ list: z35.string(),
3810
3894
  due_ms: epochMs.nullable(),
3811
- completed: z34.boolean(),
3812
- notes: z34.string().nullable()
3895
+ completed: z35.boolean(),
3896
+ notes: z35.string().nullable()
3813
3897
  });
3814
- var RemindersListResult = z34.strictObject({ reminders: z34.array(Reminder) });
3815
- var RemindersCreateParams = z34.strictObject({
3816
- title: z34.string().min(1).max(1024),
3898
+ var RemindersListResult = z35.strictObject({ reminders: z35.array(Reminder) });
3899
+ var RemindersCreateParams = z35.strictObject({
3900
+ title: z35.string().min(1).max(1024),
3817
3901
  due_ms: epochMs.optional(),
3818
- list: z34.string().min(1).max(256).optional(),
3902
+ list: z35.string().min(1).max(256).optional(),
3819
3903
  notes: Text.optional()
3820
3904
  });
3821
- var RemindersCreateResult = z34.strictObject({ id: z34.string(), list: z34.string() });
3822
- var PhotosSearchParams = z34.strictObject({
3905
+ var RemindersCreateResult = z35.strictObject({ id: z35.string(), list: z35.string() });
3906
+ var PhotosSearchParams = z35.strictObject({
3823
3907
  /** Matched against file names, titles, descriptions and keywords; absent: the newest. */
3824
- query: z34.string().min(1).max(256).optional(),
3908
+ query: z35.string().min(1).max(256).optional(),
3825
3909
  from_ms: epochMs.optional(),
3826
3910
  to_ms: epochMs.optional(),
3827
- favorites_only: z34.boolean().default(false),
3828
- limit: z34.int().min(1).max(200).default(25)
3911
+ favorites_only: z35.boolean().default(false),
3912
+ limit: z35.int().min(1).max(200).default(25)
3829
3913
  });
3830
- var Photo = z34.strictObject({
3831
- id: z34.string(),
3832
- filename: z34.string(),
3914
+ var Photo = z35.strictObject({
3915
+ id: z35.string(),
3916
+ filename: z35.string(),
3833
3917
  taken_at_ms: epochMs.nullable(),
3834
3918
  width: nonNegInt.nullable(),
3835
3919
  height: nonNegInt.nullable(),
3836
- favorite: z34.boolean(),
3837
- title: z34.string().nullable()
3920
+ favorite: z35.boolean(),
3921
+ title: z35.string().nullable()
3838
3922
  });
3839
- var PhotosSearchResult = z34.strictObject({ photos: z34.array(Photo) });
3840
- var PhotosGetParams = z34.strictObject({
3841
- id: z34.string().min(1).max(256),
3923
+ var PhotosSearchResult = z35.strictObject({ photos: z35.array(Photo) });
3924
+ var PhotosGetParams = z35.strictObject({
3925
+ id: z35.string().min(1).max(256),
3842
3926
  /** Copy the original into a folder Matrx 2 owns and answer its path (then fs_read or desktop_documents reads it). */
3843
- export: z34.boolean().default(false)
3927
+ export: z35.boolean().default(false)
3844
3928
  });
3845
- var PhotosGetResult = z34.strictObject({ photo: Photo, path: z34.string().nullable() });
3846
- var LocationGetParams = z34.strictObject({ timeout_s: z34.int().min(1).max(60).default(15) });
3847
- var LocationGetResult = z34.strictObject({
3848
- latitude: z34.number().min(-90).max(90),
3849
- longitude: z34.number().min(-180).max(180),
3929
+ var PhotosGetResult = z35.strictObject({ photo: Photo, path: z35.string().nullable() });
3930
+ var LocationGetParams = z35.strictObject({ timeout_s: z35.int().min(1).max(60).default(15) });
3931
+ var LocationGetResult = z35.strictObject({
3932
+ latitude: z35.number().min(-90).max(90),
3933
+ longitude: z35.number().min(-180).max(180),
3850
3934
  /** Metres; null where the OS does not say. */
3851
- accuracy_m: z34.number().min(0).nullable(),
3935
+ accuracy_m: z35.number().min(0).nullable(),
3852
3936
  at_ms: epochMs,
3853
3937
  /** Who answered: the OS's own location service. */
3854
- source: z34.enum(["corelocation", "windows", "geoclue"])
3938
+ source: z35.enum(["corelocation", "windows", "geoclue"])
3855
3939
  });
3856
3940
 
3857
3941
  // src/schema/windows.ts
3858
- import { z as z35 } from "zod";
3859
- var RegistryKey = z35.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)(\\.*)?$/);
3860
- var RegistryValueType = z35.enum(["REG_SZ", "REG_EXPAND_SZ", "REG_MULTI_SZ", "REG_DWORD", "REG_QWORD", "REG_BINARY", "REG_NONE"]);
3861
- var WindowsRegistryReadParams = z35.strictObject({
3942
+ import { z as z36 } from "zod";
3943
+ 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)(\\.*)?$/);
3944
+ var RegistryValueType = z36.enum(["REG_SZ", "REG_EXPAND_SZ", "REG_MULTI_SZ", "REG_DWORD", "REG_QWORD", "REG_BINARY", "REG_NONE"]);
3945
+ var WindowsRegistryReadParams = z36.strictObject({
3862
3946
  key: RegistryKey,
3863
3947
  /** One value's name ("" is the key's default value); absent: every value and the subkeys. */
3864
- name: z35.string().max(16383).optional()
3948
+ name: z36.string().max(16383).optional()
3865
3949
  });
3866
- var RegistryValue = z35.strictObject({ name: z35.string(), type: RegistryValueType, data: z35.string() });
3867
- var WindowsRegistryReadResult = z35.strictObject({
3868
- key: z35.string(),
3869
- exists: z35.boolean(),
3870
- values: z35.array(RegistryValue),
3871
- subkeys: z35.array(z35.string())
3950
+ var RegistryValue = z36.strictObject({ name: z36.string(), type: RegistryValueType, data: z36.string() });
3951
+ var WindowsRegistryReadResult = z36.strictObject({
3952
+ key: z36.string(),
3953
+ exists: z36.boolean(),
3954
+ values: z36.array(RegistryValue),
3955
+ subkeys: z36.array(z36.string())
3872
3956
  });
3873
- var WindowsRegistryWriteParams = z35.strictObject({
3957
+ var WindowsRegistryWriteParams = z36.strictObject({
3874
3958
  key: RegistryKey,
3875
- name: z35.string().max(16383),
3959
+ name: z36.string().max(16383),
3876
3960
  type: RegistryValueType.default("REG_SZ"),
3877
3961
  /** As reg.exe takes it: text, a number, hex for binary, \\0 between the strings of a multi-string. */
3878
- data: z35.string().max(1048576),
3962
+ data: z36.string().max(1048576),
3879
3963
  /** Remove the value instead of writing it. */
3880
- delete: z35.boolean().default(false)
3964
+ delete: z36.boolean().default(false)
3881
3965
  });
3882
- var WindowsRegistryWriteResult = z35.strictObject({ key: z35.string(), name: z35.string(), deleted: z35.boolean() });
3883
- var WindowsServicesParams = z35.strictObject({
3966
+ var WindowsRegistryWriteResult = z36.strictObject({ key: z36.string(), name: z36.string(), deleted: z36.boolean() });
3967
+ var WindowsServicesParams = z36.strictObject({
3884
3968
  /** Matched against the service's name and display name. */
3885
- filter: z35.string().min(1).max(256).optional(),
3886
- limit: z35.int().min(1).max(1e3).default(200)
3969
+ filter: z36.string().min(1).max(256).optional(),
3970
+ limit: z36.int().min(1).max(1e3).default(200)
3887
3971
  });
3888
- var WindowsService = z35.strictObject({
3889
- name: z35.string(),
3890
- display_name: z35.string(),
3972
+ var WindowsService = z36.strictObject({
3973
+ name: z36.string(),
3974
+ display_name: z36.string(),
3891
3975
  /** Running, Stopped, Paused… as Windows says it. */
3892
- status: z35.string(),
3976
+ status: z36.string(),
3893
3977
  /** Automatic, Manual, Disabled…; null where Windows does not say. */
3894
- start_type: z35.string().nullable()
3978
+ start_type: z36.string().nullable()
3895
3979
  });
3896
- var WindowsServicesResult = z35.strictObject({ services: z35.array(WindowsService) });
3897
- var WindowsServiceControlParams = z35.strictObject({
3898
- name: z35.string().min(1).max(256),
3899
- action: z35.enum(["start", "stop", "restart"])
3980
+ var WindowsServicesResult = z36.strictObject({ services: z36.array(WindowsService) });
3981
+ var WindowsServiceControlParams = z36.strictObject({
3982
+ name: z36.string().min(1).max(256),
3983
+ action: z36.enum(["start", "stop", "restart"])
3900
3984
  });
3901
- var WindowsServiceControlResult = z35.strictObject({ name: z35.string(), status: z35.string() });
3902
- var WindowsEventLogParams = z35.strictObject({
3903
- log: z35.string().min(1).max(256).default("System"),
3985
+ var WindowsServiceControlResult = z36.strictObject({ name: z36.string(), status: z36.string() });
3986
+ var WindowsEventLogParams = z36.strictObject({
3987
+ log: z36.string().min(1).max(256).default("System"),
3904
3988
  /** Only these levels; absent: all. */
3905
- levels: z35.array(z35.enum(["critical", "error", "warning", "information", "verbose"])).max(5).optional(),
3989
+ levels: z36.array(z36.enum(["critical", "error", "warning", "information", "verbose"])).max(5).optional(),
3906
3990
  since_ms: epochMs.optional(),
3907
- limit: z35.int().min(1).max(500).default(50)
3991
+ limit: z36.int().min(1).max(500).default(50)
3908
3992
  });
3909
- var WindowsEvent = z35.strictObject({
3910
- id: z35.int(),
3911
- level: z35.string(),
3912
- source: z35.string(),
3993
+ var WindowsEvent = z36.strictObject({
3994
+ id: z36.int(),
3995
+ level: z36.string(),
3996
+ source: z36.string(),
3913
3997
  at_ms: epochMs,
3914
- message: z35.string()
3998
+ message: z36.string()
3915
3999
  });
3916
- var WindowsEventLogResult = z35.strictObject({ log: z35.string(), events: z35.array(WindowsEvent) });
3917
- var WindowsFeaturesParams = z35.strictObject({ filter: z35.string().min(1).max(256).optional() });
3918
- var WindowsFeature = z35.strictObject({ name: z35.string(), state: z35.string() });
3919
- var WindowsFeaturesResult = z35.strictObject({ features: z35.array(WindowsFeature) });
4000
+ var WindowsEventLogResult = z36.strictObject({ log: z36.string(), events: z36.array(WindowsEvent) });
4001
+ var WindowsFeaturesParams = z36.strictObject({ filter: z36.string().min(1).max(256).optional() });
4002
+ var WindowsFeature = z36.strictObject({ name: z36.string(), state: z36.string() });
4003
+ var WindowsFeaturesResult = z36.strictObject({ features: z36.array(WindowsFeature) });
3920
4004
 
3921
4005
  // src/schema/schedule.ts
3922
- import { z as z36 } from "zod";
3923
- var OpRef = z36.string().min(3).max(128).regex(/^[a-z_]+(\.[a-z_]+)+$/);
3924
- var ScheduleCreateParams = z36.strictObject({
3925
- name: z36.string().min(1).max(200),
4006
+ import { z as z37 } from "zod";
4007
+ var OpRef = z37.string().min(3).max(128).regex(/^[a-z_]+(\.[a-z_]+)+$/);
4008
+ var ScheduleCreateParams = z37.strictObject({
4009
+ name: z37.string().min(1).max(200),
3926
4010
  op: OpRef,
3927
4011
  /** The op's params, exactly as the op takes them; checked when the task is created. */
3928
- params: z36.record(z36.string(), z36.unknown()).default({}),
3929
- interval_s: z36.int().min(10).max(2592e3),
4012
+ params: z37.record(z37.string(), z37.unknown()).default({}),
4013
+ interval_s: z37.int().min(10).max(2592e3),
3930
4014
  /** Stop after this many runs; absent: until cancelled. */
3931
- max_runs: z36.int().min(1).max(1e5).optional(),
4015
+ max_runs: z37.int().min(1).max(1e5).optional(),
3932
4016
  /** Run once now, before the first interval. */
3933
- run_now: z36.boolean().default(false)
4017
+ run_now: z37.boolean().default(false)
3934
4018
  });
3935
- var ScheduleRun = z36.strictObject({
4019
+ var ScheduleRun = z37.strictObject({
3936
4020
  at_ms: epochMs,
3937
- ok: z36.boolean(),
4021
+ ok: z37.boolean(),
3938
4022
  elapsed_ms: nonNegInt,
3939
4023
  /** The error's code and message when the run failed. */
3940
- error: z36.string().nullable(),
4024
+ error: z37.string().nullable(),
3941
4025
  /** The start of the answer, as JSON (cut at 4 KiB). */
3942
- result_preview: z36.string().nullable()
4026
+ result_preview: z37.string().nullable()
3943
4027
  });
3944
- var ScheduledTask = z36.strictObject({
3945
- id: z36.string(),
3946
- name: z36.string(),
3947
- op: z36.string(),
3948
- params: z36.record(z36.string(), z36.unknown()),
4028
+ var ScheduledTask = z37.strictObject({
4029
+ id: z37.string(),
4030
+ name: z37.string(),
4031
+ op: z37.string(),
4032
+ params: z37.record(z37.string(), z37.unknown()),
3949
4033
  interval_s: nonNegInt,
3950
4034
  max_runs: nonNegInt.nullable(),
3951
4035
  runs: nonNegInt,
3952
4036
  created_at_ms: epochMs,
3953
4037
  next_run_at_ms: epochMs.nullable(),
3954
4038
  /** active, done (ran max_runs), cancelled. */
3955
- state: z36.enum(["active", "done", "cancelled"]),
4039
+ state: z37.enum(["active", "done", "cancelled"]),
3956
4040
  /** The newest runs, newest first (at most 10). */
3957
- recent: z36.array(ScheduleRun)
4041
+ recent: z37.array(ScheduleRun)
3958
4042
  });
3959
- var ScheduleCreateResult = z36.strictObject({ task: ScheduledTask });
3960
- var ScheduleListParams = z36.strictObject({ include_finished: z36.boolean().default(false) });
3961
- var ScheduleListResult = z36.strictObject({ tasks: z36.array(ScheduledTask) });
3962
- var ScheduleCancelParams = z36.strictObject({ id: z36.string().min(1).max(64) });
3963
- var ScheduleCancelResult = z36.strictObject({ task: ScheduledTask });
4043
+ var ScheduleCreateResult = z37.strictObject({ task: ScheduledTask });
4044
+ var ScheduleListParams = z37.strictObject({ include_finished: z37.boolean().default(false) });
4045
+ var ScheduleListResult = z37.strictObject({ tasks: z37.array(ScheduledTask) });
4046
+ var ScheduleCancelParams = z37.strictObject({ id: z37.string().min(1).max(64) });
4047
+ var ScheduleCancelResult = z37.strictObject({ task: ScheduledTask });
3964
4048
 
3965
4049
  // src/schema/notes.ts
3966
- import { z as z37 } from "zod";
3967
- var NoteFolder = z37.string().min(1).max(512).regex(/^[^/\\:*?"<>|][^\\:*?"<>|]*$/);
3968
- var NotePath = z37.string().min(4).max(1024).regex(/^[^/\\:*?"<>|][^\\:*?"<>|]*\.md$/);
3969
- var NotesFoldersParams = z37.strictObject({});
3970
- var NotesFolder = z37.strictObject({ folder: z37.string(), notes: nonNegInt });
3971
- var NotesFoldersResult = z37.strictObject({
4050
+ import { z as z38 } from "zod";
4051
+ var NoteFolder = z38.string().min(1).max(512).regex(/^[^/\\:*?"<>|][^\\:*?"<>|]*$/);
4052
+ var NotePath = z38.string().min(4).max(1024).regex(/^[^/\\:*?"<>|][^\\:*?"<>|]*\.md$/);
4053
+ var NotesFoldersParams = z38.strictObject({});
4054
+ var NotesFolder = z38.strictObject({ folder: z38.string(), notes: nonNegInt });
4055
+ var NotesFoldersResult = z38.strictObject({
3972
4056
  /** The notes root on this computer. */
3973
- root: z37.string(),
3974
- folders: z37.array(NotesFolder)
4057
+ root: z38.string(),
4058
+ folders: z38.array(NotesFolder)
3975
4059
  });
3976
- var NotesListParams = z37.strictObject({
4060
+ var NotesListParams = z38.strictObject({
3977
4061
  folder: NoteFolder.optional(),
3978
- limit: z37.int().min(1).max(2e3).default(500)
4062
+ limit: z38.int().min(1).max(2e3).default(500)
3979
4063
  });
3980
- var NoteEntry = z37.strictObject({
3981
- path: z37.string(),
3982
- label: z37.string(),
3983
- folder: z37.string(),
4064
+ var NoteEntry = z38.strictObject({
4065
+ path: z38.string(),
4066
+ label: z38.string(),
4067
+ folder: z38.string(),
3984
4068
  bytes: nonNegInt,
3985
4069
  modified_at_ms: epochMs
3986
4070
  });
3987
- var NotesListResult = z37.strictObject({ root: z37.string(), notes: z37.array(NoteEntry), total: nonNegInt });
3988
- var NotesReadParams = z37.strictObject({ path: NotePath });
3989
- var NotesReadResult = z37.strictObject({
3990
- path: z37.string(),
3991
- content: z37.string(),
4071
+ var NotesListResult = z38.strictObject({ root: z38.string(), notes: z38.array(NoteEntry), total: nonNegInt });
4072
+ var NotesReadParams = z38.strictObject({ path: NotePath });
4073
+ var NotesReadResult = z38.strictObject({
4074
+ path: z38.string(),
4075
+ content: z38.string(),
3992
4076
  bytes: nonNegInt,
3993
4077
  modified_at_ms: epochMs,
3994
4078
  /** SHA-256 of the content: pass it back as `if_hash` to write only over this version. */
3995
- hash: z37.string()
4079
+ hash: z38.string()
3996
4080
  });
3997
- var NotesWriteParams = z37.strictObject({
4081
+ var NotesWriteParams = z38.strictObject({
3998
4082
  folder: NoteFolder.default("General"),
3999
4083
  /** The note's name, without ".md". */
4000
- label: z37.string().min(1).max(200).regex(/^[^/\\:*?"<>|]+$/),
4001
- content: z37.string().max(10485760),
4084
+ label: z38.string().min(1).max(200).regex(/^[^/\\:*?"<>|]+$/),
4085
+ content: z38.string().max(10485760),
4002
4086
  /** Write only when the note is still this version (notes.read's hash); a change since answers CONFLICT. */
4003
- if_hash: z37.string().length(64).optional()
4087
+ if_hash: z38.string().length(64).optional()
4004
4088
  });
4005
- var NotesWriteResult = z37.strictObject({ path: z37.string(), bytes: nonNegInt, created: z37.boolean(), hash: z37.string() });
4006
- var NotesSearchParams = z37.strictObject({
4007
- query: z37.string().min(1).max(512),
4008
- limit: z37.int().min(1).max(200).default(50)
4089
+ var NotesWriteResult = z38.strictObject({ path: z38.string(), bytes: nonNegInt, created: z38.boolean(), hash: z38.string() });
4090
+ var NotesSearchParams = z38.strictObject({
4091
+ query: z38.string().min(1).max(512),
4092
+ limit: z38.int().min(1).max(200).default(50)
4009
4093
  });
4010
- var NotesMatch = z37.strictObject({
4011
- path: z37.string(),
4012
- label: z37.string(),
4013
- folder: z37.string(),
4094
+ var NotesMatch = z38.strictObject({
4095
+ path: z38.string(),
4096
+ label: z38.string(),
4097
+ folder: z38.string(),
4014
4098
  /** The matching lines (at most five), trimmed. */
4015
- lines: z37.array(z37.string())
4099
+ lines: z38.array(z38.string())
4016
4100
  });
4017
- var NotesSearchResult = z37.strictObject({ matches: z37.array(NotesMatch), total: nonNegInt });
4101
+ var NotesSearchResult = z38.strictObject({ matches: z38.array(NotesMatch), total: nonNegInt });
4018
4102
 
4019
4103
  // src/schema/documents.ts
4020
- import { z as z38 } from "zod";
4104
+ import { z as z39 } from "zod";
4021
4105
  var DOCUMENTS_MAX_TEXT_CHARS = 1048576;
4022
- var DocumentsPdfTextParams = z38.strictObject({
4106
+ var DocumentsPdfTextParams = z39.strictObject({
4023
4107
  path: AbsPath,
4024
4108
  /** 1-based, inclusive. */
4025
- first_page: z38.int().min(1).optional(),
4026
- last_page: z38.int().min(1).optional(),
4027
- max_chars: z38.int().min(1).max(DOCUMENTS_MAX_TEXT_CHARS).default(2e5)
4109
+ first_page: z39.int().min(1).optional(),
4110
+ last_page: z39.int().min(1).optional(),
4111
+ max_chars: z39.int().min(1).max(DOCUMENTS_MAX_TEXT_CHARS).default(2e5)
4028
4112
  });
4029
- var DocumentsPdfPage = z38.strictObject({ page: z38.int().min(1), text: z38.string() });
4030
- var DocumentsPdfTextResult = z38.strictObject({
4113
+ var DocumentsPdfPage = z39.strictObject({ page: z39.int().min(1), text: z39.string() });
4114
+ var DocumentsPdfTextResult = z39.strictObject({
4031
4115
  pages: nonNegInt,
4032
4116
  /** Each page read, in order (an image-only page has empty text: OCR it). */
4033
- read: z38.array(DocumentsPdfPage),
4034
- truncated: z38.boolean(),
4035
- title: z38.string().nullable(),
4036
- author: z38.string().nullable()
4117
+ read: z39.array(DocumentsPdfPage),
4118
+ truncated: z39.boolean(),
4119
+ title: z39.string().nullable(),
4120
+ author: z39.string().nullable()
4037
4121
  });
4038
- var DocumentsOcrParams = z38.strictObject({
4122
+ var DocumentsOcrParams = z39.strictObject({
4039
4123
  path: AbsPath,
4040
4124
  /** BCP-47 language hints ("en-US", "fr-FR"); absent: the OS's own choice. */
4041
- languages: z38.array(z38.string().min(2).max(16)).max(8).optional(),
4125
+ languages: z39.array(z39.string().min(2).max(16)).max(8).optional(),
4042
4126
  /** Faster, less accurate. */
4043
- fast: z38.boolean().default(false)
4127
+ fast: z39.boolean().default(false)
4044
4128
  });
4045
- var DocumentsOcrLine = z38.strictObject({
4046
- text: z38.string(),
4129
+ var DocumentsOcrLine = z39.strictObject({
4130
+ text: z39.string(),
4047
4131
  /** 0–1; null where the engine does not say. */
4048
- confidence: z38.number().min(0).max(1).nullable()
4132
+ confidence: z39.number().min(0).max(1).nullable()
4049
4133
  });
4050
- var DocumentsOcrResult = z38.strictObject({
4051
- text: z38.string(),
4052
- lines: z38.array(DocumentsOcrLine),
4053
- truncated: z38.boolean(),
4134
+ var DocumentsOcrResult = z39.strictObject({
4135
+ text: z39.string(),
4136
+ lines: z39.array(DocumentsOcrLine),
4137
+ truncated: z39.boolean(),
4054
4138
  /** Which engine read it ("vision" on macOS, "windows-ocr", "tesseract"). */
4055
- engine: z38.string()
4139
+ engine: z39.string()
4056
4140
  });
4057
- var DocumentsImageResizeParams = z38.strictObject({
4141
+ var DocumentsImageResizeParams = z39.strictObject({
4058
4142
  path: AbsPath,
4059
4143
  /** Where to write it; absent: next to the original, "<name>-resized.<ext>". */
4060
4144
  out_path: AbsPath.optional(),
4061
4145
  /** The longest side, kept in proportion; absent: the size stays (a format change only). */
4062
- max_size: z38.int().min(1).max(32768).optional(),
4063
- format: z38.enum(["png", "jpeg", "tiff", "heic", "bmp", "gif"]).optional(),
4064
- overwrite: z38.boolean().default(false)
4146
+ max_size: z39.int().min(1).max(32768).optional(),
4147
+ format: z39.enum(["png", "jpeg", "tiff", "heic", "bmp", "gif"]).optional(),
4148
+ overwrite: z39.boolean().default(false)
4065
4149
  });
4066
- var DocumentsImageResizeResult = z38.strictObject({
4067
- path: z38.string(),
4150
+ var DocumentsImageResizeResult = z39.strictObject({
4151
+ path: z39.string(),
4068
4152
  width: nonNegInt,
4069
4153
  height: nonNegInt,
4070
4154
  bytes: nonNegInt
4071
4155
  });
4072
- var DocumentsParagraph = z38.strictObject({
4073
- style: z38.enum(["title", "heading1", "heading2", "heading3", "body", "bullet", "numbered", "quote", "code"]).default("body"),
4074
- text: z38.string().max(1e5)
4156
+ var DocumentsParagraph = z39.strictObject({
4157
+ style: z39.enum(["title", "heading1", "heading2", "heading3", "body", "bullet", "numbered", "quote", "code"]).default("body"),
4158
+ text: z39.string().max(1e5)
4075
4159
  });
4076
- var DocumentsSheet = z38.strictObject({
4077
- name: z38.string().min(1).max(31),
4160
+ var DocumentsSheet = z39.strictObject({
4161
+ name: z39.string().min(1).max(31),
4078
4162
  /** Rows of cells; the first row is the header when `header` is true. */
4079
- rows: z38.array(z38.array(z38.union([z38.string().max(32767), z38.number(), z38.boolean(), z38.null()])).max(16384)).max(1e5),
4080
- header: z38.boolean().default(true)
4163
+ rows: z39.array(z39.array(z39.union([z39.string().max(32767), z39.number(), z39.boolean(), z39.null()])).max(16384)).max(1e5),
4164
+ header: z39.boolean().default(true)
4081
4165
  });
4082
- var DocumentsOfficeGenerateParams = z38.strictObject({
4083
- kind: z38.enum(["docx", "xlsx"]),
4166
+ var DocumentsOfficeGenerateParams = z39.strictObject({
4167
+ kind: z39.enum(["docx", "xlsx"]),
4084
4168
  path: AbsPath,
4085
- title: z38.string().max(1024).optional(),
4169
+ title: z39.string().max(1024).optional(),
4086
4170
  /** docx: the document's paragraphs, in order. */
4087
- paragraphs: z38.array(DocumentsParagraph).max(5e4).optional(),
4171
+ paragraphs: z39.array(DocumentsParagraph).max(5e4).optional(),
4088
4172
  /** xlsx: the workbook's sheets, in order. */
4089
- sheets: z38.array(DocumentsSheet).min(1).max(64).optional(),
4090
- overwrite: z38.boolean().default(false)
4173
+ sheets: z39.array(DocumentsSheet).min(1).max(64).optional(),
4174
+ overwrite: z39.boolean().default(false)
4091
4175
  });
4092
- var DocumentsOfficeGenerateResult = z38.strictObject({ path: z38.string(), bytes: nonNegInt });
4093
- var EntitiesNerParams = z38.strictObject({
4094
- text: z38.string().min(1).max(DOCUMENTS_MAX_TEXT_CHARS),
4176
+ var DocumentsOfficeGenerateResult = z39.strictObject({ path: z39.string(), bytes: nonNegInt });
4177
+ var EntitiesNerParams = z39.strictObject({
4178
+ text: z39.string().min(1).max(DOCUMENTS_MAX_TEXT_CHARS),
4095
4179
  /** Which kinds to keep; absent: all three. */
4096
- labels: z38.array(z38.enum(["person", "place", "organization"])).min(1).max(3).optional()
4180
+ labels: z39.array(z39.enum(["person", "place", "organization"])).min(1).max(3).optional()
4097
4181
  });
4098
- var EntitySpan = z38.strictObject({
4099
- text: z38.string(),
4100
- label: z38.string(),
4182
+ var EntitySpan = z39.strictObject({
4183
+ text: z39.string(),
4184
+ label: z39.string(),
4101
4185
  /** Character offsets into the text (UTF-16, as JavaScript counts). */
4102
4186
  start: nonNegInt,
4103
4187
  end: nonNegInt
4104
4188
  });
4105
- var EntitiesNerResult = z38.strictObject({ entities: z38.array(EntitySpan), engine: z38.string() });
4106
- var PiiKind = z38.enum(["email", "phone", "credit_card", "us_ssn", "iban", "ip_address", "url", "api_key"]);
4107
- var EntitiesPiiParams = z38.strictObject({
4108
- text: z38.string().min(1).max(DOCUMENTS_MAX_TEXT_CHARS),
4109
- kinds: z38.array(PiiKind).min(1).max(8).optional(),
4189
+ var EntitiesNerResult = z39.strictObject({ entities: z39.array(EntitySpan), engine: z39.string() });
4190
+ var PiiKind = z39.enum(["email", "phone", "credit_card", "us_ssn", "iban", "ip_address", "url", "api_key"]);
4191
+ var EntitiesPiiParams = z39.strictObject({
4192
+ text: z39.string().min(1).max(DOCUMENTS_MAX_TEXT_CHARS),
4193
+ kinds: z39.array(PiiKind).min(1).max(8).optional(),
4110
4194
  /** Also answer the text with each finding replaced by its kind ("[email]"). */
4111
- redact: z38.boolean().default(false)
4195
+ redact: z39.boolean().default(false)
4112
4196
  });
4113
- var EntitiesPiiResult = z38.strictObject({
4114
- findings: z38.array(z38.strictObject({ kind: PiiKind, text: z38.string(), start: nonNegInt, end: nonNegInt })),
4115
- redacted: z38.string().nullable()
4197
+ var EntitiesPiiResult = z39.strictObject({
4198
+ findings: z39.array(z39.strictObject({ kind: PiiKind, text: z39.string(), start: nonNegInt, end: nonNegInt })),
4199
+ redacted: z39.string().nullable()
4116
4200
  });
4117
4201
 
4118
4202
  // src/schema/registry.ts
@@ -4179,6 +4263,9 @@ var OPS = {
4179
4263
  "apps.windows.refresh_usage": { params: AppsWindowsRefreshUsageParams, result: AppsWindowActionResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "TIMEOUT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4180
4264
  "apps.accounts.usage": { params: AppsAccountsUsageParams, result: AppsAccountsUsageResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4181
4265
  "apps.accounts.resets": { params: AppsAccountsResetsParams, result: AppsAccountsResetsResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4266
+ // 1.47: instances and accounts kept apart — an account's usage is the account's, every instance shows it by id.
4267
+ "apps.instances.list": { params: AppsInstancesListParams, result: AppsInstancesListResult, kind: "unary", since: "1.47", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4268
+ "apps.accounts.list": { params: AppsAccountsListParams, result: AppsAccountsListResult, kind: "unary", since: "1.47", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4182
4269
  "apps.projects.move": { params: AppsProjectsMoveParams, result: AppsProjectsMoveResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4183
4270
  "apps.projects.create": { params: AppsProjectsCreateParams, result: AppsProjectsCreateResult, kind: "unary", since: "1.10", errors: ["INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4184
4271
  "apps.projects.import_pins": { params: AppsProjectsImportPinsParams, result: AppsProjectsImportPinsResult, kind: "unary", since: "1.10", errors: ["CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
@@ -4438,6 +4525,7 @@ var NESTED_RESULTS = /* @__PURE__ */ new Map([
4438
4525
  ["account.agents.list", [["agents", "AccountAgent"]]],
4439
4526
  ["web.scrape", [["pages", "WebScrapePage"]]],
4440
4527
  ["sysinfo.get", [["permissions", "SysinfoGetResult.permissions[]"]]],
4528
+ ["models.downloads.list", [["downloads", "DownloadRow"]]],
4441
4529
  ["apps.projects.to_window", [["group", "ProjectMoveGroup"]]]
4442
4530
  ]);
4443
4531
  var WINDOW_RESULTS = /* @__PURE__ */ new Map([