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