@ai-matrx/desktop-protocol 0.17.5 → 0.17.6
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 +16 -0
- package/dist/client.cjs +100 -2
- 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 +100 -2
- package/dist/client.js.map +1 -1
- package/dist/index.cjs +404 -264
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +250 -6
- package/dist/index.d.ts +250 -6
- package/dist/index.js +404 -264
- package/dist/index.js.map +1 -1
- package/dist/{models-Bb87iuvw.d.cts → models-B9tM6Hnx.d.cts} +414 -1
- package/dist/{models-Bb87iuvw.d.ts → models-B9tM6Hnx.d.ts} +414 -1
- package/dist/react.d.cts +214 -0
- package/dist/react.d.ts +214 -0
- package/generated/desktop-protocol.schema.json +799 -123
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -21,6 +21,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var src_exports = {};
|
|
22
22
|
__export(src_exports, {
|
|
23
23
|
AbsPath: () => AbsPath,
|
|
24
|
+
AccountReset: () => AccountReset,
|
|
25
|
+
AccountUsage: () => AccountUsage,
|
|
24
26
|
AppFeatureStatus: () => AppFeatureStatus,
|
|
25
27
|
AppInfo: () => AppInfo,
|
|
26
28
|
AppKey: () => AppKey,
|
|
@@ -29,6 +31,11 @@ __export(src_exports, {
|
|
|
29
31
|
AppProfileLocator: () => AppProfileLocator,
|
|
30
32
|
AppSupport: () => AppSupport,
|
|
31
33
|
AppUsageReading: () => AppUsageReading,
|
|
34
|
+
AppWindowInfo: () => AppWindowInfo,
|
|
35
|
+
AppsAccountsResetsParams: () => AppsAccountsResetsParams,
|
|
36
|
+
AppsAccountsResetsResult: () => AppsAccountsResetsResult,
|
|
37
|
+
AppsAccountsUsageParams: () => AppsAccountsUsageParams,
|
|
38
|
+
AppsAccountsUsageResult: () => AppsAccountsUsageResult,
|
|
32
39
|
AppsChatsChangedEvent: () => AppsChatsChangedEvent,
|
|
33
40
|
AppsChatsListParams: () => AppsChatsListParams,
|
|
34
41
|
AppsChatsListResult: () => AppsChatsListResult,
|
|
@@ -51,14 +58,27 @@ __export(src_exports, {
|
|
|
51
58
|
AppsProfilesSaveResult: () => AppsProfilesSaveResult,
|
|
52
59
|
AppsProjectsCopyParams: () => AppsProjectsCopyParams,
|
|
53
60
|
AppsProjectsCopyResult: () => AppsProjectsCopyResult,
|
|
61
|
+
AppsProjectsCreateParams: () => AppsProjectsCreateParams,
|
|
62
|
+
AppsProjectsCreateResult: () => AppsProjectsCreateResult,
|
|
54
63
|
AppsProjectsFileManyParams: () => AppsProjectsFileManyParams,
|
|
55
64
|
AppsProjectsFileManyResult: () => AppsProjectsFileManyResult,
|
|
56
65
|
AppsProjectsFileParams: () => AppsProjectsFileParams,
|
|
57
66
|
AppsProjectsFileResult: () => AppsProjectsFileResult,
|
|
67
|
+
AppsProjectsImportPinsParams: () => AppsProjectsImportPinsParams,
|
|
68
|
+
AppsProjectsImportPinsResult: () => AppsProjectsImportPinsResult,
|
|
69
|
+
AppsProjectsMoveParams: () => AppsProjectsMoveParams,
|
|
70
|
+
AppsProjectsMoveResult: () => AppsProjectsMoveResult,
|
|
58
71
|
AppsProjectsUnfileParams: () => AppsProjectsUnfileParams,
|
|
59
72
|
AppsProjectsUnfileResult: () => AppsProjectsUnfileResult,
|
|
60
73
|
AppsProjectsUpdateParams: () => AppsProjectsUpdateParams,
|
|
61
74
|
AppsProjectsUpdateResult: () => AppsProjectsUpdateResult,
|
|
75
|
+
AppsWindowActionResult: () => AppsWindowActionResult,
|
|
76
|
+
AppsWindowsListParams: () => AppsWindowsListParams,
|
|
77
|
+
AppsWindowsListResult: () => AppsWindowsListResult,
|
|
78
|
+
AppsWindowsOpenParams: () => AppsWindowsOpenParams,
|
|
79
|
+
AppsWindowsRefreshUsageParams: () => AppsWindowsRefreshUsageParams,
|
|
80
|
+
AppsWindowsReloadParams: () => AppsWindowsReloadParams,
|
|
81
|
+
AppsWindowsRestartParams: () => AppsWindowsRestartParams,
|
|
62
82
|
AudioDevice: () => AudioDevice,
|
|
63
83
|
AudioDevicesParams: () => AudioDevicesParams,
|
|
64
84
|
AudioDevicesResult: () => AudioDevicesResult,
|
|
@@ -71,6 +91,7 @@ __export(src_exports, {
|
|
|
71
91
|
CLOSE_RULES: () => CLOSE_RULES,
|
|
72
92
|
CONTRACT_SHA256: () => CONTRACT_SHA256,
|
|
73
93
|
CancelMsg: () => CancelMsg,
|
|
94
|
+
ChatFamily: () => ChatFamily,
|
|
74
95
|
ChatHidden: () => ChatHidden,
|
|
75
96
|
ChatId: () => ChatId,
|
|
76
97
|
ChatLastUse: () => ChatLastUse,
|
|
@@ -362,7 +383,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
362
383
|
// src/schema/primitives.ts
|
|
363
384
|
var import_zod = require("zod");
|
|
364
385
|
var PROTOCOL_MAJOR = 1;
|
|
365
|
-
var PROTOCOL_MINOR =
|
|
386
|
+
var PROTOCOL_MINOR = 10;
|
|
366
387
|
var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
|
|
367
388
|
var ProtocolVersion = import_zod.z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
|
|
368
389
|
var RequestId = import_zod.z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
|
|
@@ -1325,6 +1346,11 @@ var ChatRow = import_zod12.z.strictObject({
|
|
|
1325
1346
|
warnings: import_zod12.z.array(import_zod12.z.string().max(400)).max(20),
|
|
1326
1347
|
last_use: ChatLastUse.nullable()
|
|
1327
1348
|
});
|
|
1349
|
+
var ChatFamily = import_zod12.z.strictObject({
|
|
1350
|
+
id: ChatId,
|
|
1351
|
+
fork_of: ChatId.nullable(),
|
|
1352
|
+
copy_of: ChatId.nullable()
|
|
1353
|
+
});
|
|
1328
1354
|
var AppsChatsListParams = import_zod12.z.strictObject({
|
|
1329
1355
|
app_key: AppKey,
|
|
1330
1356
|
/** Only these chats (a live update re-reads just what changed). */
|
|
@@ -1342,7 +1368,9 @@ var AppsChatsListResult = import_zod12.z.strictObject({
|
|
|
1342
1368
|
/** 1.9: this is the copy saved at the last read, shown while everything is read again. */
|
|
1343
1369
|
updating: import_zod12.z.boolean().optional(),
|
|
1344
1370
|
/** 1.9: false while the folder watches are down (changes are not arriving); `apps.chats.watch_state` says when it changes. */
|
|
1345
|
-
live: import_zod12.z.boolean().optional()
|
|
1371
|
+
live: import_zod12.z.boolean().optional(),
|
|
1372
|
+
/** 1.10: every listed chat that is a fork or a copy of another (read from the conversations' first lines). */
|
|
1373
|
+
families: import_zod12.z.array(ChatFamily).max(2e4).optional()
|
|
1346
1374
|
});
|
|
1347
1375
|
var AppsChatsWatchParams = import_zod12.z.strictObject({ app_key: AppKey });
|
|
1348
1376
|
var AppsChatsWatchResult = import_zod12.z.strictObject({ resource_id: ResourceId, version: nonNegInt });
|
|
@@ -1396,250 +1424,330 @@ var AppsProjectsUnfileResult = import_zod12.z.strictObject({ chat: ChatRow });
|
|
|
1396
1424
|
var AppsChatsStarParams = import_zod12.z.strictObject({ app_key: AppKey, chat_id: ChatId, starred: import_zod12.z.boolean() });
|
|
1397
1425
|
var AppsChatsStarResult = import_zod12.z.strictObject({ chat: ChatRow });
|
|
1398
1426
|
|
|
1399
|
-
// src/schema/
|
|
1427
|
+
// src/schema/apps-accounts.ts
|
|
1400
1428
|
var import_zod13 = require("zod");
|
|
1429
|
+
var AppWindowInfo = import_zod13.z.strictObject({
|
|
1430
|
+
key: ChatPlace,
|
|
1431
|
+
/** The app's default profile (Claude: main, which may sign into any account). */
|
|
1432
|
+
main: import_zod13.z.boolean(),
|
|
1433
|
+
/** The account the window is meant for (null for main). */
|
|
1434
|
+
account: import_zod13.z.string().max(320).nullable(),
|
|
1435
|
+
/** The account signed in there now: an email, or the account id while it has no saved name. */
|
|
1436
|
+
signed_in: import_zod13.z.string().max(320).nullable(),
|
|
1437
|
+
signed_in_is_email: import_zod13.z.boolean(),
|
|
1438
|
+
/** Signed into another account than the one it is meant for. */
|
|
1439
|
+
mismatch: import_zod13.z.boolean(),
|
|
1440
|
+
/** Its folder exists. */
|
|
1441
|
+
created: import_zod13.z.boolean(),
|
|
1442
|
+
/** Open now. */
|
|
1443
|
+
running: import_zod13.z.boolean(),
|
|
1444
|
+
/** Chats open in it now (a process resuming each one). */
|
|
1445
|
+
open_chats: nonNegInt
|
|
1446
|
+
});
|
|
1447
|
+
var AccountUsage = import_zod13.z.strictObject({
|
|
1448
|
+
/** The account's email, or "org <8 chars>" when no window has ever sampled that org. */
|
|
1449
|
+
account: import_zod13.z.string().max(320),
|
|
1450
|
+
org: import_zod13.z.string().max(80).nullable(),
|
|
1451
|
+
/** False when the org was sampled in several accounts' windows and the vote is not clear (≥ 75 %). */
|
|
1452
|
+
account_certain: import_zod13.z.boolean(),
|
|
1453
|
+
/** 5-hour use in percent (0 once the reading is over 5 hours old). */
|
|
1454
|
+
five_hour: import_zod13.z.number().nullable(),
|
|
1455
|
+
five_hour_reset_since: import_zod13.z.boolean(),
|
|
1456
|
+
/** Weekly use in percent (0 once the week reset after the reading). */
|
|
1457
|
+
weekly: import_zod13.z.number().nullable(),
|
|
1458
|
+
weekly_reset_since: import_zod13.z.boolean(),
|
|
1459
|
+
/** Extra-usage spend in percent of its cap, when on. */
|
|
1460
|
+
extra_usage: import_zod13.z.number().nullable(),
|
|
1461
|
+
extra_usage_as_of_ms: epochMs.nullable(),
|
|
1462
|
+
as_of_ms: epochMs,
|
|
1463
|
+
/** The windows meant for this account (and main when main took the reading). */
|
|
1464
|
+
windows: import_zod13.z.array(ChatPlace).max(200),
|
|
1465
|
+
/** The window that took the reading is open now and the reading is under 30 minutes old. */
|
|
1466
|
+
live: import_zod13.z.boolean(),
|
|
1467
|
+
/** The next weekly reset, when known. */
|
|
1468
|
+
weekly_resets_at_ms: epochMs.nullable(),
|
|
1469
|
+
/** That reset time is Claude's own (its reading, or a reset seen in its usage history). */
|
|
1470
|
+
weekly_reset_official: import_zod13.z.boolean().nullable()
|
|
1471
|
+
});
|
|
1472
|
+
var AccountReset = import_zod13.z.strictObject({
|
|
1473
|
+
window: ChatPlace,
|
|
1474
|
+
account: import_zod13.z.string().max(320).nullable(),
|
|
1475
|
+
next_reset_ms: epochMs.nullable(),
|
|
1476
|
+
/** claude: the app's own reading; usage_history: a weekly drop seen in its usage record; your_list: the person's own entry. */
|
|
1477
|
+
source: import_zod13.z.enum(["claude", "usage_history", "your_list"]).nullable(),
|
|
1478
|
+
/** claude or usage_history. */
|
|
1479
|
+
official: import_zod13.z.boolean(),
|
|
1480
|
+
/** Set when the person's list disagrees with the official time. */
|
|
1481
|
+
note: import_zod13.z.string().max(200).nullable()
|
|
1482
|
+
});
|
|
1483
|
+
var AppsWindowsListParams = import_zod13.z.strictObject({ app_key: AppKey });
|
|
1484
|
+
var AppsWindowsListResult = import_zod13.z.strictObject({ app_key: AppKey, windows: import_zod13.z.array(AppWindowInfo).max(200) });
|
|
1485
|
+
var AppsAccountsUsageParams = import_zod13.z.strictObject({ app_key: AppKey });
|
|
1486
|
+
var AppsAccountsUsageResult = import_zod13.z.strictObject({ app_key: AppKey, accounts: import_zod13.z.array(AccountUsage).max(500) });
|
|
1487
|
+
var AppsAccountsResetsParams = import_zod13.z.strictObject({ app_key: AppKey });
|
|
1488
|
+
var AppsAccountsResetsResult = import_zod13.z.strictObject({ app_key: AppKey, resets: import_zod13.z.array(AccountReset).max(200) });
|
|
1489
|
+
var AppsWindowActionResult = import_zod13.z.strictObject({ message: import_zod13.z.string().max(400) });
|
|
1490
|
+
var AppsWindowsOpenParams = import_zod13.z.strictObject({ app_key: AppKey, window: ChatPlace });
|
|
1491
|
+
var AppsWindowsReloadParams = import_zod13.z.strictObject({ app_key: AppKey, window: ChatPlace });
|
|
1492
|
+
var AppsWindowsRestartParams = import_zod13.z.strictObject({ app_key: AppKey, window: ChatPlace, force: import_zod13.z.boolean().default(false) });
|
|
1493
|
+
var AppsWindowsRefreshUsageParams = import_zod13.z.strictObject({ app_key: AppKey, window: ChatPlace });
|
|
1494
|
+
var AppsProjectsMoveParams = import_zod13.z.strictObject({
|
|
1495
|
+
app_key: AppKey,
|
|
1496
|
+
chat_id: ChatId,
|
|
1497
|
+
from_project_id: ChatProjectId,
|
|
1498
|
+
to_project_id: ChatProjectId.optional(),
|
|
1499
|
+
new_project_name: import_zod13.z.string().min(1).max(200).optional()
|
|
1500
|
+
});
|
|
1501
|
+
var AppsProjectsMoveResult = import_zod13.z.strictObject({ chat: ChatRow, project: ChatProject });
|
|
1502
|
+
var AppsProjectsCreateParams = import_zod13.z.strictObject({ app_key: AppKey, name: import_zod13.z.string().min(1).max(200) });
|
|
1503
|
+
var AppsProjectsCreateResult = import_zod13.z.strictObject({ project: ChatProject });
|
|
1504
|
+
var AppsProjectsImportPinsParams = import_zod13.z.strictObject({ app_key: AppKey });
|
|
1505
|
+
var AppsProjectsImportPinsResult = import_zod13.z.strictObject({ message: import_zod13.z.string().max(400) });
|
|
1506
|
+
|
|
1507
|
+
// src/schema/service.ts
|
|
1508
|
+
var import_zod14 = require("zod");
|
|
1401
1509
|
var SERVICE_MAX_FRAME_BYTES = 16777216;
|
|
1402
|
-
var ServiceName =
|
|
1403
|
-
var ContractHash =
|
|
1404
|
-
var ServiceToken =
|
|
1510
|
+
var ServiceName = import_zod14.z.enum(["ml", "coding"]);
|
|
1511
|
+
var ContractHash = import_zod14.z.string().regex(/^[0-9a-f]{64}$/);
|
|
1512
|
+
var ServiceToken = import_zod14.z.string().regex(/^[A-Za-z0-9_-]{43}$/);
|
|
1405
1513
|
var ServiceRequestId = u32;
|
|
1406
|
-
var ServiceHello =
|
|
1407
|
-
var ServiceWelcome =
|
|
1408
|
-
type:
|
|
1514
|
+
var ServiceHello = import_zod14.z.strictObject({ type: import_zod14.z.literal("hello"), token: ServiceToken, contract: ContractHash });
|
|
1515
|
+
var ServiceWelcome = import_zod14.z.strictObject({
|
|
1516
|
+
type: import_zod14.z.literal("welcome"),
|
|
1409
1517
|
service: ServiceName,
|
|
1410
1518
|
contract: ContractHash,
|
|
1411
1519
|
pid: nonNegInt,
|
|
1412
1520
|
/** The interpreter's version, e.g. "3.13.15". */
|
|
1413
|
-
python:
|
|
1521
|
+
python: import_zod14.z.string().max(32),
|
|
1414
1522
|
/** Every op this service serves; must equal SERVICES[service] exactly. */
|
|
1415
|
-
ops:
|
|
1523
|
+
ops: import_zod14.z.array(import_zod14.z.string().min(1).max(64)).max(64)
|
|
1416
1524
|
});
|
|
1417
|
-
var ServiceRequest =
|
|
1418
|
-
type:
|
|
1525
|
+
var ServiceRequest = import_zod14.z.strictObject({
|
|
1526
|
+
type: import_zod14.z.literal("request"),
|
|
1419
1527
|
id: ServiceRequestId,
|
|
1420
|
-
op:
|
|
1421
|
-
params:
|
|
1528
|
+
op: import_zod14.z.string().min(1).max(64),
|
|
1529
|
+
params: import_zod14.z.unknown()
|
|
1422
1530
|
// validated by the service against SERVICES[service][op].params
|
|
1423
1531
|
});
|
|
1424
|
-
var ServiceResponse =
|
|
1425
|
-
type:
|
|
1532
|
+
var ServiceResponse = import_zod14.z.strictObject({
|
|
1533
|
+
type: import_zod14.z.literal("response"),
|
|
1426
1534
|
id: ServiceRequestId,
|
|
1427
|
-
result:
|
|
1535
|
+
result: import_zod14.z.unknown()
|
|
1428
1536
|
// validated by the core against SERVICES[service][op].result
|
|
1429
1537
|
});
|
|
1430
|
-
var ServiceErrorMsg =
|
|
1431
|
-
var ServiceProgressMsg =
|
|
1432
|
-
var ServiceCancel =
|
|
1433
|
-
var ServicePing =
|
|
1434
|
-
var ServicePong =
|
|
1435
|
-
type:
|
|
1538
|
+
var ServiceErrorMsg = import_zod14.z.strictObject({ type: import_zod14.z.literal("error"), id: ServiceRequestId, error: ProtocolErrorBody });
|
|
1539
|
+
var ServiceProgressMsg = import_zod14.z.strictObject({ type: import_zod14.z.literal("progress"), id: ServiceRequestId, progress: import_zod14.z.unknown() });
|
|
1540
|
+
var ServiceCancel = import_zod14.z.strictObject({ type: import_zod14.z.literal("cancel"), id: ServiceRequestId });
|
|
1541
|
+
var ServicePing = import_zod14.z.strictObject({ type: import_zod14.z.literal("ping"), id: ServiceRequestId });
|
|
1542
|
+
var ServicePong = import_zod14.z.strictObject({
|
|
1543
|
+
type: import_zod14.z.literal("pong"),
|
|
1436
1544
|
id: ServiceRequestId,
|
|
1437
1545
|
/** Requests running now. */
|
|
1438
1546
|
busy: nonNegInt
|
|
1439
1547
|
});
|
|
1440
|
-
var ServiceShutdown =
|
|
1441
|
-
var CoreToServiceMsg =
|
|
1442
|
-
var ServiceToCoreMsg =
|
|
1548
|
+
var ServiceShutdown = import_zod14.z.strictObject({ type: import_zod14.z.literal("shutdown") });
|
|
1549
|
+
var CoreToServiceMsg = import_zod14.z.discriminatedUnion("type", [ServiceHello, ServiceRequest, ServiceCancel, ServicePing, ServiceShutdown]);
|
|
1550
|
+
var ServiceToCoreMsg = import_zod14.z.discriminatedUnion("type", [ServiceWelcome, ServiceResponse, ServiceErrorMsg, ServiceProgressMsg, ServicePong]);
|
|
1443
1551
|
|
|
1444
1552
|
// src/schema/tools.ts
|
|
1445
|
-
var
|
|
1446
|
-
var ToolLevel =
|
|
1447
|
-
var ToolOutcome =
|
|
1448
|
-
var ToolPlatform =
|
|
1449
|
-
var ToolTransport =
|
|
1450
|
-
var ToolName =
|
|
1451
|
-
var ToolLevelResult =
|
|
1553
|
+
var import_zod15 = require("zod");
|
|
1554
|
+
var ToolLevel = import_zod15.z.enum(["programmatic", "protocol", "chat"]);
|
|
1555
|
+
var ToolOutcome = import_zod15.z.enum(["pass", "fail", "skip"]);
|
|
1556
|
+
var ToolPlatform = import_zod15.z.enum(["darwin", "win32", "linux"]);
|
|
1557
|
+
var ToolTransport = import_zod15.z.enum(["in_process", "localhost", "relay", "agent"]);
|
|
1558
|
+
var ToolName = import_zod15.z.string().min(1).max(64).regex(/^[a-z][a-z0-9_]*$/);
|
|
1559
|
+
var ToolLevelResult = import_zod15.z.strictObject({
|
|
1452
1560
|
tool: ToolName,
|
|
1453
1561
|
level: ToolLevel,
|
|
1454
1562
|
platform: ToolPlatform,
|
|
1455
1563
|
transport: ToolTransport,
|
|
1456
1564
|
outcome: ToolOutcome,
|
|
1457
1565
|
/** True when the caller sat on a different network from the device (a phone on cellular, CI). */
|
|
1458
|
-
remote_network:
|
|
1566
|
+
remote_network: import_zod15.z.boolean(),
|
|
1459
1567
|
/** One line: what was asserted, or why it failed. Never a token, a file's contents or a path under a real home. */
|
|
1460
|
-
detail:
|
|
1568
|
+
detail: import_zod15.z.string().max(500),
|
|
1461
1569
|
/** The harness that produced it, e.g. `matrx-desktop test/tools/programmatic.test.ts`. */
|
|
1462
|
-
suite:
|
|
1570
|
+
suite: import_zod15.z.string().min(1).max(200),
|
|
1463
1571
|
/** The test case inside the suite. */
|
|
1464
|
-
test:
|
|
1465
|
-
run_at_ms:
|
|
1572
|
+
test: import_zod15.z.string().min(1).max(300),
|
|
1573
|
+
run_at_ms: import_zod15.z.int().min(0)
|
|
1466
1574
|
});
|
|
1467
|
-
var ToolResultsFile =
|
|
1468
|
-
schema:
|
|
1575
|
+
var ToolResultsFile = import_zod15.z.strictObject({
|
|
1576
|
+
schema: import_zod15.z.literal("matrx.tool-results.v1"),
|
|
1469
1577
|
/** The producing repo's commit (short or full SHA). */
|
|
1470
|
-
commit:
|
|
1471
|
-
results:
|
|
1578
|
+
commit: import_zod15.z.string().min(4).max(64),
|
|
1579
|
+
results: import_zod15.z.array(ToolLevelResult).max(1e4)
|
|
1472
1580
|
});
|
|
1473
1581
|
|
|
1474
1582
|
// src/schema/proc.ts
|
|
1475
|
-
var
|
|
1476
|
-
var ProcSort =
|
|
1477
|
-
var ProcListParams =
|
|
1583
|
+
var import_zod16 = require("zod");
|
|
1584
|
+
var ProcSort = import_zod16.z.enum(["cpu", "memory", "pid", "name"]);
|
|
1585
|
+
var ProcListParams = import_zod16.z.strictObject({
|
|
1478
1586
|
/** Case-insensitive substring of the process name or its command line. */
|
|
1479
|
-
name:
|
|
1587
|
+
name: import_zod16.z.string().min(1).max(128).optional(),
|
|
1480
1588
|
sort: ProcSort.default("cpu"),
|
|
1481
|
-
limit:
|
|
1589
|
+
limit: import_zod16.z.int().min(1).max(500).default(50)
|
|
1482
1590
|
});
|
|
1483
|
-
var ProcInfo =
|
|
1484
|
-
pid:
|
|
1591
|
+
var ProcInfo = import_zod16.z.strictObject({
|
|
1592
|
+
pid: import_zod16.z.int().min(0),
|
|
1485
1593
|
/** Parent process id; null where the OS does not report it. */
|
|
1486
|
-
ppid:
|
|
1487
|
-
name:
|
|
1594
|
+
ppid: import_zod16.z.int().min(0).nullable(),
|
|
1595
|
+
name: import_zod16.z.string().max(256),
|
|
1488
1596
|
/** The command line, cut to 1024 characters. */
|
|
1489
|
-
command:
|
|
1597
|
+
command: import_zod16.z.string().max(1024),
|
|
1490
1598
|
/** Share of one core, as `ps` and Task Manager report it; null where the OS does not say. */
|
|
1491
|
-
cpu_percent:
|
|
1599
|
+
cpu_percent: import_zod16.z.number().min(0).nullable(),
|
|
1492
1600
|
memory_bytes: nonNegInt.nullable(),
|
|
1493
|
-
user:
|
|
1601
|
+
user: import_zod16.z.string().max(128).nullable()
|
|
1494
1602
|
});
|
|
1495
|
-
var ProcListResult =
|
|
1496
|
-
processes:
|
|
1603
|
+
var ProcListResult = import_zod16.z.strictObject({
|
|
1604
|
+
processes: import_zod16.z.array(ProcInfo).max(500),
|
|
1497
1605
|
/** Processes that matched before `limit`. */
|
|
1498
1606
|
total: nonNegInt,
|
|
1499
|
-
truncated:
|
|
1607
|
+
truncated: import_zod16.z.boolean()
|
|
1500
1608
|
});
|
|
1501
|
-
var ProcPortsParams =
|
|
1609
|
+
var ProcPortsParams = import_zod16.z.strictObject({
|
|
1502
1610
|
/** Only this port. */
|
|
1503
|
-
port:
|
|
1611
|
+
port: import_zod16.z.int().min(1).max(65535).optional()
|
|
1504
1612
|
});
|
|
1505
|
-
var ProcPort =
|
|
1506
|
-
port:
|
|
1507
|
-
protocol:
|
|
1613
|
+
var ProcPort = import_zod16.z.strictObject({
|
|
1614
|
+
port: import_zod16.z.int().min(1).max(65535),
|
|
1615
|
+
protocol: import_zod16.z.enum(["tcp", "udp"]),
|
|
1508
1616
|
/** The local address it listens on ("127.0.0.1", "*", "::"). */
|
|
1509
|
-
address:
|
|
1510
|
-
pid:
|
|
1511
|
-
process:
|
|
1617
|
+
address: import_zod16.z.string().max(64),
|
|
1618
|
+
pid: import_zod16.z.int().min(0).nullable(),
|
|
1619
|
+
process: import_zod16.z.string().max(256).nullable()
|
|
1512
1620
|
});
|
|
1513
|
-
var ProcPortsResult =
|
|
1514
|
-
var ProcKillParams =
|
|
1515
|
-
pid:
|
|
1621
|
+
var ProcPortsResult = import_zod16.z.strictObject({ ports: import_zod16.z.array(ProcPort).max(4e3) });
|
|
1622
|
+
var ProcKillParams = import_zod16.z.strictObject({
|
|
1623
|
+
pid: import_zod16.z.int().min(1),
|
|
1516
1624
|
/** Kill outright (SIGKILL; on Windows the same /F) instead of asking it to quit. */
|
|
1517
|
-
force:
|
|
1625
|
+
force: import_zod16.z.boolean().default(false)
|
|
1518
1626
|
});
|
|
1519
|
-
var ProcKillResult =
|
|
1520
|
-
pid:
|
|
1521
|
-
signal:
|
|
1627
|
+
var ProcKillResult = import_zod16.z.strictObject({
|
|
1628
|
+
pid: import_zod16.z.int().min(1),
|
|
1629
|
+
signal: import_zod16.z.enum(["SIGTERM", "SIGKILL"]),
|
|
1522
1630
|
/** True when the process was gone within 3 s. */
|
|
1523
|
-
exited:
|
|
1631
|
+
exited: import_zod16.z.boolean()
|
|
1524
1632
|
});
|
|
1525
1633
|
|
|
1526
1634
|
// src/schema/clipboard.ts
|
|
1527
|
-
var
|
|
1528
|
-
var ClipboardReadParams =
|
|
1529
|
-
var ClipboardReadResult =
|
|
1635
|
+
var import_zod17 = require("zod");
|
|
1636
|
+
var ClipboardReadParams = import_zod17.z.strictObject({});
|
|
1637
|
+
var ClipboardReadResult = import_zod17.z.strictObject({
|
|
1530
1638
|
/** The clipboard's text ("" when it holds none), cut to 1 MiB. */
|
|
1531
|
-
text:
|
|
1532
|
-
truncated:
|
|
1639
|
+
text: import_zod17.z.string().max(1048576),
|
|
1640
|
+
truncated: import_zod17.z.boolean()
|
|
1533
1641
|
});
|
|
1534
|
-
var ClipboardWriteParams =
|
|
1535
|
-
var ClipboardWriteResult =
|
|
1642
|
+
var ClipboardWriteParams = import_zod17.z.strictObject({ text: import_zod17.z.string().max(1048576) });
|
|
1643
|
+
var ClipboardWriteResult = import_zod17.z.strictObject({ bytes: nonNegInt });
|
|
1536
1644
|
|
|
1537
1645
|
// src/schema/system.ts
|
|
1538
|
-
var
|
|
1539
|
-
var SystemOpenUrlParams =
|
|
1646
|
+
var import_zod18 = require("zod");
|
|
1647
|
+
var SystemOpenUrlParams = import_zod18.z.strictObject({
|
|
1540
1648
|
/** http, https or mailto; opened in the person's default app for it. */
|
|
1541
|
-
url:
|
|
1649
|
+
url: import_zod18.z.string().min(1).max(4096)
|
|
1542
1650
|
});
|
|
1543
|
-
var SystemOpenUrlResult =
|
|
1544
|
-
var SystemOpenPathParams =
|
|
1651
|
+
var SystemOpenUrlResult = import_zod18.z.strictObject({ url: import_zod18.z.string().max(4096) });
|
|
1652
|
+
var SystemOpenPathParams = import_zod18.z.strictObject({
|
|
1545
1653
|
path: AbsPath,
|
|
1546
1654
|
/** Show it in the file manager (Finder, Explorer) instead of opening it. */
|
|
1547
|
-
reveal:
|
|
1655
|
+
reveal: import_zod18.z.boolean().default(false)
|
|
1548
1656
|
});
|
|
1549
|
-
var SystemOpenPathResult =
|
|
1550
|
-
var SystemNotifyParams =
|
|
1551
|
-
title:
|
|
1552
|
-
body:
|
|
1657
|
+
var SystemOpenPathResult = import_zod18.z.strictObject({ path: AbsPath, revealed: import_zod18.z.boolean() });
|
|
1658
|
+
var SystemNotifyParams = import_zod18.z.strictObject({
|
|
1659
|
+
title: import_zod18.z.string().min(1).max(128),
|
|
1660
|
+
body: import_zod18.z.string().max(1024).default("")
|
|
1553
1661
|
});
|
|
1554
|
-
var SystemNotifyResult =
|
|
1662
|
+
var SystemNotifyResult = import_zod18.z.strictObject({
|
|
1555
1663
|
/** False when this computer has no notification service to show it (a bare Linux box). */
|
|
1556
|
-
shown:
|
|
1664
|
+
shown: import_zod18.z.boolean()
|
|
1557
1665
|
});
|
|
1558
1666
|
|
|
1559
1667
|
// src/schema/screen.ts
|
|
1560
|
-
var
|
|
1561
|
-
var ScreenDisplay =
|
|
1668
|
+
var import_zod19 = require("zod");
|
|
1669
|
+
var ScreenDisplay = import_zod19.z.strictObject({
|
|
1562
1670
|
/** The OS's display id; pass it to screen.capture. */
|
|
1563
1671
|
id: nonNegInt,
|
|
1564
|
-
name:
|
|
1672
|
+
name: import_zod19.z.string().max(128),
|
|
1565
1673
|
/** Position and size in the OS's logical points (x and y may be negative left of or above the main display). */
|
|
1566
|
-
x:
|
|
1567
|
-
y:
|
|
1568
|
-
width:
|
|
1569
|
-
height:
|
|
1674
|
+
x: import_zod19.z.int(),
|
|
1675
|
+
y: import_zod19.z.int(),
|
|
1676
|
+
width: import_zod19.z.int().min(1),
|
|
1677
|
+
height: import_zod19.z.int().min(1),
|
|
1570
1678
|
/** Pixels per point (2 on a Retina display). */
|
|
1571
|
-
scale:
|
|
1572
|
-
primary:
|
|
1679
|
+
scale: import_zod19.z.number().min(0.1).max(8),
|
|
1680
|
+
primary: import_zod19.z.boolean()
|
|
1573
1681
|
});
|
|
1574
|
-
var ScreenListParams =
|
|
1575
|
-
var ScreenListResult =
|
|
1576
|
-
var ScreenCaptureParams =
|
|
1682
|
+
var ScreenListParams = import_zod19.z.strictObject({});
|
|
1683
|
+
var ScreenListResult = import_zod19.z.strictObject({ displays: import_zod19.z.array(ScreenDisplay).max(32) });
|
|
1684
|
+
var ScreenCaptureParams = import_zod19.z.strictObject({
|
|
1577
1685
|
/** The display (from screen.list); the primary display when absent. */
|
|
1578
1686
|
display_id: nonNegInt.optional(),
|
|
1579
|
-
format:
|
|
1687
|
+
format: import_zod19.z.enum(["jpeg", "png"]).default("jpeg"),
|
|
1580
1688
|
/** Scale the picture down to at most this width in pixels (kept when already smaller). */
|
|
1581
|
-
max_width:
|
|
1689
|
+
max_width: import_zod19.z.int().min(160).max(7680).default(1600)
|
|
1582
1690
|
});
|
|
1583
|
-
var ScreenCaptureResult =
|
|
1691
|
+
var ScreenCaptureResult = import_zod19.z.strictObject({
|
|
1584
1692
|
display_id: nonNegInt,
|
|
1585
|
-
mime_type:
|
|
1586
|
-
width:
|
|
1587
|
-
height:
|
|
1693
|
+
mime_type: import_zod19.z.enum(["image/jpeg", "image/png"]),
|
|
1694
|
+
width: import_zod19.z.int().min(1),
|
|
1695
|
+
height: import_zod19.z.int().min(1),
|
|
1588
1696
|
/** The display's full resolution in pixels, before scaling. */
|
|
1589
|
-
source_width:
|
|
1590
|
-
source_height:
|
|
1697
|
+
source_width: import_zod19.z.int().min(1),
|
|
1698
|
+
source_height: import_zod19.z.int().min(1),
|
|
1591
1699
|
/** The image, base64 (at most 6 MiB of text). */
|
|
1592
|
-
data_base64:
|
|
1700
|
+
data_base64: import_zod19.z.string().max(6291456)
|
|
1593
1701
|
});
|
|
1594
1702
|
|
|
1595
1703
|
// src/schema/window.ts
|
|
1596
|
-
var
|
|
1597
|
-
var WindowInfo =
|
|
1704
|
+
var import_zod20 = require("zod");
|
|
1705
|
+
var WindowInfo = import_zod20.z.strictObject({
|
|
1598
1706
|
/** The OS's window handle (macOS window number, Windows HWND, X11 window id). */
|
|
1599
1707
|
id: nonNegInt,
|
|
1600
|
-
title:
|
|
1708
|
+
title: import_zod20.z.string().max(512),
|
|
1601
1709
|
/** Position and size in logical points. */
|
|
1602
|
-
x:
|
|
1603
|
-
y:
|
|
1604
|
-
width:
|
|
1605
|
-
height:
|
|
1710
|
+
x: import_zod20.z.int(),
|
|
1711
|
+
y: import_zod20.z.int(),
|
|
1712
|
+
width: import_zod20.z.int().min(0),
|
|
1713
|
+
height: import_zod20.z.int().min(0),
|
|
1606
1714
|
/**
|
|
1607
1715
|
* The application that owns the window, by the name the OS shows people; absent when the OS does
|
|
1608
1716
|
* not say. Optional (never null, the schema rule) because it was added in protocol 1.7: an older
|
|
1609
1717
|
* app's answer has no such field (FIELDS_SINCE).
|
|
1610
1718
|
*/
|
|
1611
|
-
app:
|
|
1719
|
+
app: import_zod20.z.string().max(256).optional(),
|
|
1612
1720
|
/** The owning process id; absent when the OS does not say. Added in protocol 1.7. */
|
|
1613
|
-
pid:
|
|
1721
|
+
pid: import_zod20.z.int().min(0).optional()
|
|
1614
1722
|
});
|
|
1615
|
-
var WindowListParams =
|
|
1723
|
+
var WindowListParams = import_zod20.z.strictObject({
|
|
1616
1724
|
/** Case-insensitive substring of the window title. */
|
|
1617
|
-
title:
|
|
1618
|
-
limit:
|
|
1725
|
+
title: import_zod20.z.string().min(1).max(256).optional(),
|
|
1726
|
+
limit: import_zod20.z.int().min(1).max(500).default(100)
|
|
1619
1727
|
});
|
|
1620
|
-
var WindowListResult =
|
|
1621
|
-
windows:
|
|
1728
|
+
var WindowListResult = import_zod20.z.strictObject({
|
|
1729
|
+
windows: import_zod20.z.array(WindowInfo).max(500),
|
|
1622
1730
|
total: nonNegInt,
|
|
1623
|
-
truncated:
|
|
1731
|
+
truncated: import_zod20.z.boolean()
|
|
1624
1732
|
});
|
|
1625
|
-
var WindowFocusParams =
|
|
1626
|
-
var WindowFocusResult =
|
|
1627
|
-
var WindowMoveParams =
|
|
1733
|
+
var WindowFocusParams = import_zod20.z.strictObject({ id: nonNegInt });
|
|
1734
|
+
var WindowFocusResult = import_zod20.z.strictObject({ window: WindowInfo });
|
|
1735
|
+
var WindowMoveParams = import_zod20.z.strictObject({
|
|
1628
1736
|
id: nonNegInt,
|
|
1629
1737
|
/** New top-left corner; unchanged when absent. */
|
|
1630
|
-
x:
|
|
1631
|
-
y:
|
|
1738
|
+
x: import_zod20.z.int().optional(),
|
|
1739
|
+
y: import_zod20.z.int().optional(),
|
|
1632
1740
|
/** New size; unchanged when absent. */
|
|
1633
|
-
width:
|
|
1634
|
-
height:
|
|
1741
|
+
width: import_zod20.z.int().min(50).max(16384).optional(),
|
|
1742
|
+
height: import_zod20.z.int().min(50).max(16384).optional()
|
|
1635
1743
|
});
|
|
1636
|
-
var WindowMoveResult =
|
|
1637
|
-
var WindowMinimizeParams =
|
|
1638
|
-
var WindowMinimizeResult =
|
|
1744
|
+
var WindowMoveResult = import_zod20.z.strictObject({ window: WindowInfo });
|
|
1745
|
+
var WindowMinimizeParams = import_zod20.z.strictObject({ id: nonNegInt });
|
|
1746
|
+
var WindowMinimizeResult = import_zod20.z.strictObject({ id: nonNegInt });
|
|
1639
1747
|
|
|
1640
1748
|
// src/schema/input.ts
|
|
1641
|
-
var
|
|
1642
|
-
var InputKey =
|
|
1749
|
+
var import_zod21 = require("zod");
|
|
1750
|
+
var InputKey = import_zod21.z.enum([
|
|
1643
1751
|
"cmd",
|
|
1644
1752
|
"ctrl",
|
|
1645
1753
|
"alt",
|
|
@@ -1719,203 +1827,203 @@ var InputKey = import_zod20.z.enum([
|
|
|
1719
1827
|
"backslash",
|
|
1720
1828
|
"grave"
|
|
1721
1829
|
]);
|
|
1722
|
-
var InputTypeTextParams =
|
|
1723
|
-
var InputTypeTextResult =
|
|
1724
|
-
var InputHotkeyParams =
|
|
1830
|
+
var InputTypeTextParams = import_zod21.z.strictObject({ text: import_zod21.z.string().min(1).max(1e4) });
|
|
1831
|
+
var InputTypeTextResult = import_zod21.z.strictObject({ characters: import_zod21.z.int().min(1) });
|
|
1832
|
+
var InputHotkeyParams = import_zod21.z.strictObject({
|
|
1725
1833
|
/** Pressed together in order and released in reverse: ["cmd", "shift", "t"]. */
|
|
1726
|
-
keys:
|
|
1834
|
+
keys: import_zod21.z.array(InputKey).min(1).max(6)
|
|
1727
1835
|
});
|
|
1728
|
-
var InputHotkeyResult =
|
|
1729
|
-
var InputPoint =
|
|
1730
|
-
var InputMouseMoveParams =
|
|
1836
|
+
var InputHotkeyResult = import_zod21.z.strictObject({ keys: import_zod21.z.array(InputKey) });
|
|
1837
|
+
var InputPoint = import_zod21.z.strictObject({ x: import_zod21.z.int(), y: import_zod21.z.int() });
|
|
1838
|
+
var InputMouseMoveParams = import_zod21.z.strictObject({
|
|
1731
1839
|
/** Screen position in logical points (the coordinates screen.list and window.list report). */
|
|
1732
|
-
x:
|
|
1733
|
-
y:
|
|
1840
|
+
x: import_zod21.z.int(),
|
|
1841
|
+
y: import_zod21.z.int()
|
|
1734
1842
|
});
|
|
1735
|
-
var InputMouseMoveResult =
|
|
1843
|
+
var InputMouseMoveResult = import_zod21.z.strictObject({
|
|
1736
1844
|
/** Where the pointer is now, read back from the OS. */
|
|
1737
1845
|
position: InputPoint
|
|
1738
1846
|
});
|
|
1739
|
-
var InputMouseClickParams =
|
|
1847
|
+
var InputMouseClickParams = import_zod21.z.strictObject({
|
|
1740
1848
|
/** Move here first; clicks where the pointer is when absent. */
|
|
1741
|
-
x:
|
|
1742
|
-
y:
|
|
1743
|
-
button:
|
|
1744
|
-
double:
|
|
1849
|
+
x: import_zod21.z.int().optional(),
|
|
1850
|
+
y: import_zod21.z.int().optional(),
|
|
1851
|
+
button: import_zod21.z.enum(["left", "right", "middle"]).default("left"),
|
|
1852
|
+
double: import_zod21.z.boolean().default(false)
|
|
1745
1853
|
});
|
|
1746
|
-
var InputMouseClickResult =
|
|
1854
|
+
var InputMouseClickResult = import_zod21.z.strictObject({
|
|
1747
1855
|
position: InputPoint,
|
|
1748
|
-
button:
|
|
1749
|
-
double:
|
|
1856
|
+
button: import_zod21.z.enum(["left", "right", "middle"]),
|
|
1857
|
+
double: import_zod21.z.boolean()
|
|
1750
1858
|
});
|
|
1751
1859
|
|
|
1752
1860
|
// src/schema/power.ts
|
|
1753
|
-
var
|
|
1754
|
-
var PowerStatusParams =
|
|
1755
|
-
var PowerStatusResult =
|
|
1756
|
-
has_battery:
|
|
1861
|
+
var import_zod22 = require("zod");
|
|
1862
|
+
var PowerStatusParams = import_zod22.z.strictObject({});
|
|
1863
|
+
var PowerStatusResult = import_zod22.z.strictObject({
|
|
1864
|
+
has_battery: import_zod22.z.boolean(),
|
|
1757
1865
|
/** 0–100; null without a battery. */
|
|
1758
|
-
percent:
|
|
1759
|
-
charging:
|
|
1866
|
+
percent: import_zod22.z.number().min(0).max(100).nullable(),
|
|
1867
|
+
charging: import_zod22.z.boolean().nullable(),
|
|
1760
1868
|
/** On wall power; null where the OS does not say. */
|
|
1761
|
-
plugged_in:
|
|
1869
|
+
plugged_in: import_zod22.z.boolean().nullable(),
|
|
1762
1870
|
/** Minutes of battery left; null when charging, unknown or without a battery. */
|
|
1763
1871
|
minutes_left: nonNegInt.nullable(),
|
|
1764
1872
|
/** Matrx 2 is keeping the computer awake (power.prevent_sleep) until this time; null when it is not. */
|
|
1765
1873
|
awake_until_ms: epochMs.nullable()
|
|
1766
1874
|
});
|
|
1767
|
-
var PowerPreventSleepParams =
|
|
1875
|
+
var PowerPreventSleepParams = import_zod22.z.strictObject({
|
|
1768
1876
|
/** Keep the computer awake this long; 0 lets it sleep again now. */
|
|
1769
|
-
seconds:
|
|
1877
|
+
seconds: import_zod22.z.int().min(0).max(86400),
|
|
1770
1878
|
/** Shown where the OS lists what keeps it awake. */
|
|
1771
|
-
reason:
|
|
1879
|
+
reason: import_zod22.z.string().min(1).max(128).default("Matrx 2 is working")
|
|
1772
1880
|
});
|
|
1773
|
-
var PowerPreventSleepResult =
|
|
1881
|
+
var PowerPreventSleepResult = import_zod22.z.strictObject({
|
|
1774
1882
|
/** When it may sleep again; null after seconds 0. */
|
|
1775
1883
|
awake_until_ms: epochMs.nullable()
|
|
1776
1884
|
});
|
|
1777
1885
|
|
|
1778
1886
|
// src/schema/resources.ts
|
|
1779
|
-
var
|
|
1780
|
-
var ResourcesDisk =
|
|
1887
|
+
var import_zod23 = require("zod");
|
|
1888
|
+
var ResourcesDisk = import_zod23.z.strictObject({
|
|
1781
1889
|
/** Where it is mounted ("/", "C:"). */
|
|
1782
|
-
mount:
|
|
1890
|
+
mount: import_zod23.z.string().max(512),
|
|
1783
1891
|
/** The file system ("apfs", "NTFS", "ext4"). */
|
|
1784
|
-
fs:
|
|
1892
|
+
fs: import_zod23.z.string().max(64),
|
|
1785
1893
|
size_bytes: nonNegInt,
|
|
1786
1894
|
used_bytes: nonNegInt,
|
|
1787
1895
|
available_bytes: nonNegInt
|
|
1788
1896
|
});
|
|
1789
|
-
var ResourcesSnapshotParams =
|
|
1790
|
-
var ResourcesSnapshotResult =
|
|
1791
|
-
cpu:
|
|
1897
|
+
var ResourcesSnapshotParams = import_zod23.z.strictObject({});
|
|
1898
|
+
var ResourcesSnapshotResult = import_zod23.z.strictObject({
|
|
1899
|
+
cpu: import_zod23.z.strictObject({
|
|
1792
1900
|
/** Busy share of all cores, 0–100, measured now. */
|
|
1793
|
-
percent:
|
|
1794
|
-
cores:
|
|
1901
|
+
percent: import_zod23.z.number().min(0).max(100),
|
|
1902
|
+
cores: import_zod23.z.int().min(1),
|
|
1795
1903
|
/** 1, 5 and 15 minute load averages; null on Windows. */
|
|
1796
|
-
load:
|
|
1904
|
+
load: import_zod23.z.array(import_zod23.z.number().min(0)).length(3).nullable()
|
|
1797
1905
|
}),
|
|
1798
|
-
memory:
|
|
1799
|
-
swap:
|
|
1800
|
-
disks:
|
|
1906
|
+
memory: import_zod23.z.strictObject({ total_bytes: nonNegInt, used_bytes: nonNegInt, available_bytes: nonNegInt }),
|
|
1907
|
+
swap: import_zod23.z.strictObject({ total_bytes: nonNegInt, used_bytes: nonNegInt }),
|
|
1908
|
+
disks: import_zod23.z.array(ResourcesDisk).max(64),
|
|
1801
1909
|
uptime_seconds: nonNegInt
|
|
1802
1910
|
});
|
|
1803
1911
|
|
|
1804
1912
|
// src/schema/audio.ts
|
|
1805
|
-
var
|
|
1806
|
-
var AudioDevice =
|
|
1913
|
+
var import_zod24 = require("zod");
|
|
1914
|
+
var AudioDevice = import_zod24.z.strictObject({
|
|
1807
1915
|
/** The OS's name for it, as audio.record takes it. */
|
|
1808
|
-
id:
|
|
1809
|
-
name:
|
|
1810
|
-
default:
|
|
1916
|
+
id: import_zod24.z.string().min(1).max(256),
|
|
1917
|
+
name: import_zod24.z.string().max(256),
|
|
1918
|
+
default: import_zod24.z.boolean()
|
|
1811
1919
|
});
|
|
1812
|
-
var AudioDevicesParams =
|
|
1813
|
-
var AudioDevicesResult =
|
|
1814
|
-
inputs:
|
|
1815
|
-
outputs:
|
|
1920
|
+
var AudioDevicesParams = import_zod24.z.strictObject({});
|
|
1921
|
+
var AudioDevicesResult = import_zod24.z.strictObject({
|
|
1922
|
+
inputs: import_zod24.z.array(AudioDevice).max(64),
|
|
1923
|
+
outputs: import_zod24.z.array(AudioDevice).max(64)
|
|
1816
1924
|
});
|
|
1817
|
-
var AudioRecordParams =
|
|
1818
|
-
seconds:
|
|
1925
|
+
var AudioRecordParams = import_zod24.z.strictObject({
|
|
1926
|
+
seconds: import_zod24.z.number().min(0.5).max(600),
|
|
1819
1927
|
/** The microphone (from audio.devices); the default input when absent. */
|
|
1820
|
-
device_id:
|
|
1928
|
+
device_id: import_zod24.z.string().min(1).max(256).optional(),
|
|
1821
1929
|
/** Where the WAV file goes; a new file in the temp folder when absent. */
|
|
1822
1930
|
path: AbsPath.optional()
|
|
1823
1931
|
});
|
|
1824
|
-
var AudioRecordResult =
|
|
1932
|
+
var AudioRecordResult = import_zod24.z.strictObject({
|
|
1825
1933
|
path: AbsPath,
|
|
1826
|
-
seconds:
|
|
1934
|
+
seconds: import_zod24.z.number().min(0),
|
|
1827
1935
|
bytes: nonNegInt,
|
|
1828
1936
|
/** Loudest sample, 0–1: 0 means the device gave silence. */
|
|
1829
|
-
peak:
|
|
1937
|
+
peak: import_zod24.z.number().min(0).max(1)
|
|
1830
1938
|
});
|
|
1831
|
-
var AudioPlayParams =
|
|
1832
|
-
var AudioPlayResult =
|
|
1939
|
+
var AudioPlayParams = import_zod24.z.strictObject({ path: AbsPath });
|
|
1940
|
+
var AudioPlayResult = import_zod24.z.strictObject({ path: AbsPath, seconds: import_zod24.z.number().min(0) });
|
|
1833
1941
|
|
|
1834
1942
|
// src/schema/fs-watch.ts
|
|
1835
|
-
var
|
|
1836
|
-
var FsWatchId =
|
|
1837
|
-
var FsWatchStartParams =
|
|
1943
|
+
var import_zod25 = require("zod");
|
|
1944
|
+
var FsWatchId = import_zod25.z.string().regex(/^fw_[A-Za-z0-9]{12,40}$/);
|
|
1945
|
+
var FsWatchStartParams = import_zod25.z.strictObject({
|
|
1838
1946
|
path: AbsPath,
|
|
1839
|
-
recursive:
|
|
1947
|
+
recursive: import_zod25.z.boolean().default(true),
|
|
1840
1948
|
/** Globs relative to `path` whose changes are not reported (".git/**", "node_modules/**"). */
|
|
1841
|
-
ignore:
|
|
1949
|
+
ignore: import_zod25.z.array(import_zod25.z.string().max(256)).max(64).default([])
|
|
1842
1950
|
});
|
|
1843
|
-
var FsWatchStartResult =
|
|
1951
|
+
var FsWatchStartResult = import_zod25.z.strictObject({
|
|
1844
1952
|
watch_id: FsWatchId,
|
|
1845
1953
|
path: AbsPath,
|
|
1846
1954
|
/** The watch ends by itself if nobody reads it for 30 minutes. */
|
|
1847
1955
|
expires_at_ms: epochMs
|
|
1848
1956
|
});
|
|
1849
|
-
var FsWatchEventsParams =
|
|
1957
|
+
var FsWatchEventsParams = import_zod25.z.strictObject({
|
|
1850
1958
|
watch_id: FsWatchId,
|
|
1851
1959
|
/** Wait up to this long for a first change when none is waiting (0 answers at once). */
|
|
1852
|
-
wait_ms:
|
|
1960
|
+
wait_ms: import_zod25.z.int().min(0).max(25e3).default(0)
|
|
1853
1961
|
});
|
|
1854
|
-
var FsWatchEventsResult =
|
|
1962
|
+
var FsWatchEventsResult = import_zod25.z.strictObject({
|
|
1855
1963
|
/** What changed since the last read, oldest first; re-checked against the disk when read. */
|
|
1856
|
-
changes:
|
|
1964
|
+
changes: import_zod25.z.array(FsChange).max(1e3),
|
|
1857
1965
|
/** Changes were dropped (more than 1000 waited): list the folder again. */
|
|
1858
|
-
overflow:
|
|
1966
|
+
overflow: import_zod25.z.boolean(),
|
|
1859
1967
|
expires_at_ms: epochMs
|
|
1860
1968
|
});
|
|
1861
|
-
var FsWatchStopParams =
|
|
1862
|
-
var FsWatchStopResult =
|
|
1969
|
+
var FsWatchStopParams = import_zod25.z.strictObject({ watch_id: FsWatchId });
|
|
1970
|
+
var FsWatchStopResult = import_zod25.z.strictObject({ watch_id: FsWatchId });
|
|
1863
1971
|
|
|
1864
1972
|
// src/schema/exec-job.ts
|
|
1865
|
-
var
|
|
1866
|
-
var ExecJobId =
|
|
1867
|
-
var ExecJobStartParams =
|
|
1868
|
-
command:
|
|
1973
|
+
var import_zod26 = require("zod");
|
|
1974
|
+
var ExecJobId = import_zod26.z.string().regex(/^job_[A-Za-z0-9]{12,40}$/);
|
|
1975
|
+
var ExecJobStartParams = import_zod26.z.strictObject({
|
|
1976
|
+
command: import_zod26.z.string().min(1).max(131072),
|
|
1869
1977
|
/** The folder it runs in; the home folder when absent. */
|
|
1870
1978
|
cwd: AbsPath.optional(),
|
|
1871
|
-
env:
|
|
1979
|
+
env: import_zod26.z.record(import_zod26.z.string().regex(/^[A-Za-z_][A-Za-z0-9_]*$/).max(128), import_zod26.z.string().max(32768)).optional()
|
|
1872
1980
|
});
|
|
1873
|
-
var ExecJobStartResult =
|
|
1874
|
-
var ExecJobOutputParams =
|
|
1981
|
+
var ExecJobStartResult = import_zod26.z.strictObject({ job_id: ExecJobId, pid: import_zod26.z.int().min(1), cwd: AbsPath });
|
|
1982
|
+
var ExecJobOutputParams = import_zod26.z.strictObject({
|
|
1875
1983
|
job_id: ExecJobId,
|
|
1876
1984
|
/** Byte offset into the job's output to read from (next_offset of the last read; 0 = the start). */
|
|
1877
1985
|
offset: nonNegInt.default(0),
|
|
1878
1986
|
/** Wait up to this long for new output or the exit when none is waiting (0 answers at once). */
|
|
1879
|
-
wait_ms:
|
|
1880
|
-
max_bytes:
|
|
1987
|
+
wait_ms: import_zod26.z.int().min(0).max(25e3).default(0),
|
|
1988
|
+
max_bytes: import_zod26.z.int().min(1024).max(1048576).default(65536)
|
|
1881
1989
|
});
|
|
1882
|
-
var ExecJobOutputResult =
|
|
1990
|
+
var ExecJobOutputResult = import_zod26.z.strictObject({
|
|
1883
1991
|
/** stdout and stderr interleaved as they arrived (UTF-8). */
|
|
1884
|
-
output:
|
|
1992
|
+
output: import_zod26.z.string(),
|
|
1885
1993
|
next_offset: nonNegInt,
|
|
1886
1994
|
/** Bytes before `offset` that are gone (the job keeps its last 4 MiB). */
|
|
1887
1995
|
dropped_bytes: nonNegInt,
|
|
1888
|
-
running:
|
|
1889
|
-
exit_code:
|
|
1996
|
+
running: import_zod26.z.boolean(),
|
|
1997
|
+
exit_code: import_zod26.z.int().nullable()
|
|
1890
1998
|
});
|
|
1891
|
-
var ExecJobStopParams =
|
|
1999
|
+
var ExecJobStopParams = import_zod26.z.strictObject({
|
|
1892
2000
|
job_id: ExecJobId,
|
|
1893
2001
|
/** End it at once (SIGKILL; on Windows the whole tree with /F) instead of asking it to quit. */
|
|
1894
|
-
force:
|
|
2002
|
+
force: import_zod26.z.boolean().default(false)
|
|
1895
2003
|
});
|
|
1896
|
-
var ExecJobStopResult =
|
|
1897
|
-
var ExecJobInfo =
|
|
2004
|
+
var ExecJobStopResult = import_zod26.z.strictObject({ job_id: ExecJobId, exited: import_zod26.z.boolean(), exit_code: import_zod26.z.int().nullable() });
|
|
2005
|
+
var ExecJobInfo = import_zod26.z.strictObject({
|
|
1898
2006
|
job_id: ExecJobId,
|
|
1899
|
-
command:
|
|
1900
|
-
pid:
|
|
2007
|
+
command: import_zod26.z.string().max(1024),
|
|
2008
|
+
pid: import_zod26.z.int().min(1),
|
|
1901
2009
|
cwd: AbsPath,
|
|
1902
|
-
running:
|
|
1903
|
-
exit_code:
|
|
2010
|
+
running: import_zod26.z.boolean(),
|
|
2011
|
+
exit_code: import_zod26.z.int().nullable(),
|
|
1904
2012
|
started_at_ms: epochMs,
|
|
1905
2013
|
output_bytes: nonNegInt
|
|
1906
2014
|
});
|
|
1907
|
-
var ExecJobListParams =
|
|
1908
|
-
var ExecJobListResult =
|
|
2015
|
+
var ExecJobListParams = import_zod26.z.strictObject({});
|
|
2016
|
+
var ExecJobListResult = import_zod26.z.strictObject({ jobs: import_zod26.z.array(ExecJobInfo).max(64) });
|
|
1909
2017
|
|
|
1910
2018
|
// src/schema/coding.ts
|
|
1911
|
-
var
|
|
1912
|
-
var CodingServiceCredentials =
|
|
1913
|
-
access_token:
|
|
1914
|
-
user_id:
|
|
2019
|
+
var import_zod27 = require("zod");
|
|
2020
|
+
var CodingServiceCredentials = import_zod27.z.strictObject({
|
|
2021
|
+
access_token: import_zod27.z.string().min(16).max(16384),
|
|
2022
|
+
user_id: import_zod27.z.string().regex(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/),
|
|
1915
2023
|
/** The AI Matrx server this app talks to (production, or a local server on the nightly copy). */
|
|
1916
|
-
server_url:
|
|
2024
|
+
server_url: import_zod27.z.string().min(1).max(2048).regex(/^https?:\/\/[^\s/?#]+(\/[^\s?#]*)?$/)
|
|
1917
2025
|
});
|
|
1918
|
-
var CodingHistoryBlocked =
|
|
2026
|
+
var CodingHistoryBlocked = import_zod27.z.enum([
|
|
1919
2027
|
"signed_out",
|
|
1920
2028
|
"offline",
|
|
1921
2029
|
"organization_required",
|
|
@@ -1923,11 +2031,11 @@ var CodingHistoryBlocked = import_zod26.z.enum([
|
|
|
1923
2031
|
"cloud_list_unavailable",
|
|
1924
2032
|
"history_too_large"
|
|
1925
2033
|
]);
|
|
1926
|
-
var CodingHistoryFailure =
|
|
1927
|
-
session_id:
|
|
1928
|
-
reason:
|
|
2034
|
+
var CodingHistoryFailure = import_zod27.z.strictObject({
|
|
2035
|
+
session_id: import_zod27.z.string().max(64),
|
|
2036
|
+
reason: import_zod27.z.string().max(300)
|
|
1929
2037
|
});
|
|
1930
|
-
var CodingHistoryRun =
|
|
2038
|
+
var CodingHistoryRun = import_zod27.z.strictObject({
|
|
1931
2039
|
/** Claude Code sessions found on this computer. */
|
|
1932
2040
|
local_sessions: nonNegInt,
|
|
1933
2041
|
/** Of those, already complete in AI Matrx. */
|
|
@@ -1942,39 +2050,39 @@ var CodingHistoryRun = import_zod26.z.strictObject({
|
|
|
1942
2050
|
/** Changed while being read; a later run takes them. */
|
|
1943
2051
|
changed: nonNegInt,
|
|
1944
2052
|
failed: nonNegInt,
|
|
1945
|
-
failures:
|
|
2053
|
+
failures: import_zod27.z.array(CodingHistoryFailure).max(20),
|
|
1946
2054
|
/** Candidates not reached yet. */
|
|
1947
2055
|
remaining: nonNegInt,
|
|
1948
2056
|
/** The one line a person reads, e.g. "Imported 12 of 14 sessions. 140 already in AI Matrx." */
|
|
1949
|
-
summary:
|
|
2057
|
+
summary: import_zod27.z.string().max(400)
|
|
1950
2058
|
});
|
|
1951
|
-
var CodingHistoryStep =
|
|
2059
|
+
var CodingHistoryStep = import_zod27.z.strictObject({
|
|
1952
2060
|
/** Null when the run could not start (blocked before a plan existed). */
|
|
1953
|
-
plan_id:
|
|
1954
|
-
finished:
|
|
2061
|
+
plan_id: import_zod27.z.string().regex(/^[0-9a-f]{32}$/).nullable(),
|
|
2062
|
+
finished: import_zod27.z.boolean(),
|
|
1955
2063
|
blocked: CodingHistoryBlocked.nullable(),
|
|
1956
2064
|
run: CodingHistoryRun
|
|
1957
2065
|
});
|
|
1958
|
-
var CodingPlanMissingParams =
|
|
1959
|
-
var CodingImportNextParams =
|
|
1960
|
-
plan_id:
|
|
2066
|
+
var CodingPlanMissingParams = import_zod27.z.strictObject({ credentials: CodingServiceCredentials.nullable() });
|
|
2067
|
+
var CodingImportNextParams = import_zod27.z.strictObject({
|
|
2068
|
+
plan_id: import_zod27.z.string().regex(/^[0-9a-f]{32}$/),
|
|
1961
2069
|
credentials: CodingServiceCredentials.nullable()
|
|
1962
2070
|
});
|
|
1963
|
-
var CodingServiceProgress =
|
|
1964
|
-
phase:
|
|
2071
|
+
var CodingServiceProgress = import_zod27.z.strictObject({
|
|
2072
|
+
phase: import_zod27.z.enum(["checking", "importing"]),
|
|
1965
2073
|
done: nonNegInt,
|
|
1966
2074
|
total: nonNegInt
|
|
1967
2075
|
});
|
|
1968
|
-
var CodingHistoryImportMissingParams =
|
|
1969
|
-
var CodingHistoryImportMissingResult =
|
|
1970
|
-
state:
|
|
2076
|
+
var CodingHistoryImportMissingParams = import_zod27.z.strictObject({});
|
|
2077
|
+
var CodingHistoryImportMissingResult = import_zod27.z.strictObject({
|
|
2078
|
+
state: import_zod27.z.enum(["done", "blocked", "cancelled"]),
|
|
1971
2079
|
blocked: CodingHistoryBlocked.nullable(),
|
|
1972
2080
|
run: CodingHistoryRun,
|
|
1973
2081
|
elapsed_ms: nonNegInt
|
|
1974
2082
|
});
|
|
1975
|
-
var CodingHistoryProgressEvent =
|
|
2083
|
+
var CodingHistoryProgressEvent = import_zod27.z.strictObject({
|
|
1976
2084
|
request_id: RequestId,
|
|
1977
|
-
phase:
|
|
2085
|
+
phase: import_zod27.z.enum(["checking", "importing"]),
|
|
1978
2086
|
/** Sessions settled so far, of `total` candidates (0 of 0 while checking). */
|
|
1979
2087
|
done: nonNegInt,
|
|
1980
2088
|
total: nonNegInt,
|
|
@@ -2028,6 +2136,17 @@ var OPS = {
|
|
|
2028
2136
|
"apps.projects.update": { params: AppsProjectsUpdateParams, result: AppsProjectsUpdateResult, kind: "unary", since: "1.9", errors: ["NOT_FOUND", "INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2029
2137
|
"apps.projects.copy": { params: AppsProjectsCopyParams, result: AppsProjectsCopyResult, kind: "unary", since: "1.9", errors: ["NOT_FOUND", "INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2030
2138
|
"apps.projects.unfile": { params: AppsProjectsUnfileParams, result: AppsProjectsUnfileResult, kind: "unary", since: "1.8", errors: ["NOT_FOUND", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2139
|
+
// 1.10: the app's windows and accounts (usage by vote, weekly resets, window actions), project move/create, Refresh pins.
|
|
2140
|
+
"apps.windows.list": { params: AppsWindowsListParams, result: AppsWindowsListResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2141
|
+
"apps.windows.open": { params: AppsWindowsOpenParams, result: AppsWindowActionResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2142
|
+
"apps.windows.reload": { params: AppsWindowsReloadParams, result: AppsWindowActionResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "CONFLICT", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2143
|
+
"apps.windows.restart": { params: AppsWindowsRestartParams, result: AppsWindowActionResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "CONFLICT", "TIMEOUT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2144
|
+
"apps.windows.refresh_usage": { params: AppsWindowsRefreshUsageParams, result: AppsWindowActionResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "TIMEOUT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2145
|
+
"apps.accounts.usage": { params: AppsAccountsUsageParams, result: AppsAccountsUsageResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2146
|
+
"apps.accounts.resets": { params: AppsAccountsResetsParams, result: AppsAccountsResetsResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2147
|
+
"apps.projects.move": { params: AppsProjectsMoveParams, result: AppsProjectsMoveResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2148
|
+
"apps.projects.create": { params: AppsProjectsCreateParams, result: AppsProjectsCreateResult, kind: "unary", since: "1.10", errors: ["INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2149
|
+
"apps.projects.import_pins": { params: AppsProjectsImportPinsParams, result: AppsProjectsImportPinsResult, kind: "unary", since: "1.10", errors: ["CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2031
2150
|
"proc.list": { params: ProcListParams, result: ProcListResult, kind: "unary", since: "1.3", errors: ["INVALID_PARAMS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2032
2151
|
"proc.ports": { params: ProcPortsParams, result: ProcPortsResult, kind: "unary", since: "1.3", errors: ["INVALID_PARAMS", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2033
2152
|
"proc.kill": { params: ProcKillParams, result: ProcKillResult, kind: "unary", since: "1.3", errors: ["NOT_FOUND", "AUTH_FORBIDDEN", "PERMISSION_DENIED_OS", "INVALID_PARAMS", "INTERNAL"] },
|
|
@@ -2360,7 +2479,28 @@ var NAMED_SCHEMAS = {
|
|
|
2360
2479
|
AppsProjectsUpdateParams,
|
|
2361
2480
|
AppsProjectsUpdateResult,
|
|
2362
2481
|
AppsProjectsCopyParams,
|
|
2363
|
-
AppsProjectsCopyResult
|
|
2482
|
+
AppsProjectsCopyResult,
|
|
2483
|
+
ChatFamily,
|
|
2484
|
+
AppWindowInfo,
|
|
2485
|
+
AccountUsage,
|
|
2486
|
+
AccountReset,
|
|
2487
|
+
AppsWindowsListParams,
|
|
2488
|
+
AppsWindowsListResult,
|
|
2489
|
+
AppsAccountsUsageParams,
|
|
2490
|
+
AppsAccountsUsageResult,
|
|
2491
|
+
AppsAccountsResetsParams,
|
|
2492
|
+
AppsAccountsResetsResult,
|
|
2493
|
+
AppsWindowActionResult,
|
|
2494
|
+
AppsWindowsOpenParams,
|
|
2495
|
+
AppsWindowsReloadParams,
|
|
2496
|
+
AppsWindowsRestartParams,
|
|
2497
|
+
AppsWindowsRefreshUsageParams,
|
|
2498
|
+
AppsProjectsMoveParams,
|
|
2499
|
+
AppsProjectsMoveResult,
|
|
2500
|
+
AppsProjectsCreateParams,
|
|
2501
|
+
AppsProjectsCreateResult,
|
|
2502
|
+
AppsProjectsImportPinsParams,
|
|
2503
|
+
AppsProjectsImportPinsResult
|
|
2364
2504
|
};
|
|
2365
2505
|
|
|
2366
2506
|
// src/versioning.ts
|
|
@@ -2370,7 +2510,7 @@ var FIELDS_SINCE = {
|
|
|
2370
2510
|
"RelayCallResponse|0": { protocol_version: "1.1" },
|
|
2371
2511
|
"RelayCallResponse|1": { protocol_version: "1.1" },
|
|
2372
2512
|
WindowInfo: { app: "1.7", pid: "1.7" },
|
|
2373
|
-
AppsChatsListResult: { updating: "1.9", live: "1.9" }
|
|
2513
|
+
AppsChatsListResult: { updating: "1.9", live: "1.9", families: "1.10" }
|
|
2374
2514
|
};
|
|
2375
2515
|
var NULL_SINCE = {
|
|
2376
2516
|
"RelayDeviceStatusEvent.since_ms": { since: "1.1", olderPeersGet: 0 }
|
|
@@ -2467,7 +2607,7 @@ function forPeer(op, part, value, version) {
|
|
|
2467
2607
|
var VERSIONED_RESULT_OPS = [...RESULT_PATH.keys(), ...WINDOW_RESULTS.keys()];
|
|
2468
2608
|
|
|
2469
2609
|
// src/contract.ts
|
|
2470
|
-
var CONTRACT_SHA256 = "
|
|
2610
|
+
var CONTRACT_SHA256 = "f1891d7e5c64c11112bb7baf5db06bd293daccff85a7f5adcdf760b2bbb92bda";
|
|
2471
2611
|
|
|
2472
2612
|
// src/close-policy.ts
|
|
2473
2613
|
var CLOSE_RULES = {
|