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