@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 CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.17.6
4
+ ### (protocol 1.10)
5
+
6
+ - **A coding app's windows and accounts.** New ops `apps.windows.list` (each window: meant-for
7
+ account, signed-in account, mismatch, open, chats open), `apps.windows.open` (bring to front, or
8
+ open), `apps.windows.reload` (⌘R: re-read the chat list, chats keep running),
9
+ `apps.windows.restart` (CONFLICT while chats are open unless `force`), `apps.windows.refresh_usage`
10
+ (open in the background for a fresh reading, then close); `apps.accounts.usage` (5-hour, weekly,
11
+ extra per account; org → account by sample vote with `account_certain`; weekly reset time and
12
+ whether it is official) and `apps.accounts.resets` (next weekly reset per window: claude /
13
+ usage_history / your_list). Chats: `apps.projects.move`, `apps.projects.create`,
14
+ `apps.projects.import_pins` (Refresh pins), and `apps.chats.list` gains optional `families`
15
+ (fork of / copy of), stripped for peers below 1.10 (guard: versioning.test.ts "apps chats 1.10").
16
+
17
+ Consumer action: none for older peers.
18
+
3
19
  ## 0.17.5
4
20
  ### (protocol 1.9)
5
21
 
package/dist/client.cjs CHANGED
@@ -143,7 +143,7 @@ var import_zod2 = require("zod");
143
143
  // src/schema/primitives.ts
144
144
  var import_zod = require("zod");
145
145
  var PROTOCOL_MAJOR = 1;
146
- var PROTOCOL_MINOR = 9;
146
+ var PROTOCOL_MINOR = 10;
147
147
  var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
148
148
  var ProtocolVersion = import_zod.z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
149
149
  var RequestId = import_zod.z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
@@ -1506,6 +1506,11 @@ var ChatRow = import_zod24.z.strictObject({
1506
1506
  warnings: import_zod24.z.array(import_zod24.z.string().max(400)).max(20),
1507
1507
  last_use: ChatLastUse.nullable()
1508
1508
  });
1509
+ var ChatFamily = import_zod24.z.strictObject({
1510
+ id: ChatId,
1511
+ fork_of: ChatId.nullable(),
1512
+ copy_of: ChatId.nullable()
1513
+ });
1509
1514
  var AppsChatsListParams = import_zod24.z.strictObject({
1510
1515
  app_key: AppKey,
1511
1516
  /** Only these chats (a live update re-reads just what changed). */
@@ -1523,7 +1528,9 @@ var AppsChatsListResult = import_zod24.z.strictObject({
1523
1528
  /** 1.9: this is the copy saved at the last read, shown while everything is read again. */
1524
1529
  updating: import_zod24.z.boolean().optional(),
1525
1530
  /** 1.9: false while the folder watches are down (changes are not arriving); `apps.chats.watch_state` says when it changes. */
1526
- live: import_zod24.z.boolean().optional()
1531
+ live: import_zod24.z.boolean().optional(),
1532
+ /** 1.10: every listed chat that is a fork or a copy of another (read from the conversations' first lines). */
1533
+ families: import_zod24.z.array(ChatFamily).max(2e4).optional()
1527
1534
  });
1528
1535
  var AppsChatsWatchParams = import_zod24.z.strictObject({ app_key: AppKey });
1529
1536
  var AppsChatsWatchResult = import_zod24.z.strictObject({ resource_id: ResourceId, version: nonNegInt });
@@ -1577,6 +1584,86 @@ var AppsProjectsUnfileResult = import_zod24.z.strictObject({ chat: ChatRow });
1577
1584
  var AppsChatsStarParams = import_zod24.z.strictObject({ app_key: AppKey, chat_id: ChatId, starred: import_zod24.z.boolean() });
1578
1585
  var AppsChatsStarResult = import_zod24.z.strictObject({ chat: ChatRow });
1579
1586
 
1587
+ // src/schema/apps-accounts.ts
1588
+ var import_zod25 = require("zod");
1589
+ var AppWindowInfo = import_zod25.z.strictObject({
1590
+ key: ChatPlace,
1591
+ /** The app's default profile (Claude: main, which may sign into any account). */
1592
+ main: import_zod25.z.boolean(),
1593
+ /** The account the window is meant for (null for main). */
1594
+ account: import_zod25.z.string().max(320).nullable(),
1595
+ /** The account signed in there now: an email, or the account id while it has no saved name. */
1596
+ signed_in: import_zod25.z.string().max(320).nullable(),
1597
+ signed_in_is_email: import_zod25.z.boolean(),
1598
+ /** Signed into another account than the one it is meant for. */
1599
+ mismatch: import_zod25.z.boolean(),
1600
+ /** Its folder exists. */
1601
+ created: import_zod25.z.boolean(),
1602
+ /** Open now. */
1603
+ running: import_zod25.z.boolean(),
1604
+ /** Chats open in it now (a process resuming each one). */
1605
+ open_chats: nonNegInt
1606
+ });
1607
+ var AccountUsage = import_zod25.z.strictObject({
1608
+ /** The account's email, or "org <8 chars>" when no window has ever sampled that org. */
1609
+ account: import_zod25.z.string().max(320),
1610
+ org: import_zod25.z.string().max(80).nullable(),
1611
+ /** False when the org was sampled in several accounts' windows and the vote is not clear (≥ 75 %). */
1612
+ account_certain: import_zod25.z.boolean(),
1613
+ /** 5-hour use in percent (0 once the reading is over 5 hours old). */
1614
+ five_hour: import_zod25.z.number().nullable(),
1615
+ five_hour_reset_since: import_zod25.z.boolean(),
1616
+ /** Weekly use in percent (0 once the week reset after the reading). */
1617
+ weekly: import_zod25.z.number().nullable(),
1618
+ weekly_reset_since: import_zod25.z.boolean(),
1619
+ /** Extra-usage spend in percent of its cap, when on. */
1620
+ extra_usage: import_zod25.z.number().nullable(),
1621
+ extra_usage_as_of_ms: epochMs.nullable(),
1622
+ as_of_ms: epochMs,
1623
+ /** The windows meant for this account (and main when main took the reading). */
1624
+ windows: import_zod25.z.array(ChatPlace).max(200),
1625
+ /** The window that took the reading is open now and the reading is under 30 minutes old. */
1626
+ live: import_zod25.z.boolean(),
1627
+ /** The next weekly reset, when known. */
1628
+ weekly_resets_at_ms: epochMs.nullable(),
1629
+ /** That reset time is Claude's own (its reading, or a reset seen in its usage history). */
1630
+ weekly_reset_official: import_zod25.z.boolean().nullable()
1631
+ });
1632
+ var AccountReset = import_zod25.z.strictObject({
1633
+ window: ChatPlace,
1634
+ account: import_zod25.z.string().max(320).nullable(),
1635
+ next_reset_ms: epochMs.nullable(),
1636
+ /** claude: the app's own reading; usage_history: a weekly drop seen in its usage record; your_list: the person's own entry. */
1637
+ source: import_zod25.z.enum(["claude", "usage_history", "your_list"]).nullable(),
1638
+ /** claude or usage_history. */
1639
+ official: import_zod25.z.boolean(),
1640
+ /** Set when the person's list disagrees with the official time. */
1641
+ note: import_zod25.z.string().max(200).nullable()
1642
+ });
1643
+ var AppsWindowsListParams = import_zod25.z.strictObject({ app_key: AppKey });
1644
+ var AppsWindowsListResult = import_zod25.z.strictObject({ app_key: AppKey, windows: import_zod25.z.array(AppWindowInfo).max(200) });
1645
+ var AppsAccountsUsageParams = import_zod25.z.strictObject({ app_key: AppKey });
1646
+ var AppsAccountsUsageResult = import_zod25.z.strictObject({ app_key: AppKey, accounts: import_zod25.z.array(AccountUsage).max(500) });
1647
+ var AppsAccountsResetsParams = import_zod25.z.strictObject({ app_key: AppKey });
1648
+ var AppsAccountsResetsResult = import_zod25.z.strictObject({ app_key: AppKey, resets: import_zod25.z.array(AccountReset).max(200) });
1649
+ var AppsWindowActionResult = import_zod25.z.strictObject({ message: import_zod25.z.string().max(400) });
1650
+ var AppsWindowsOpenParams = import_zod25.z.strictObject({ app_key: AppKey, window: ChatPlace });
1651
+ var AppsWindowsReloadParams = import_zod25.z.strictObject({ app_key: AppKey, window: ChatPlace });
1652
+ var AppsWindowsRestartParams = import_zod25.z.strictObject({ app_key: AppKey, window: ChatPlace, force: import_zod25.z.boolean().default(false) });
1653
+ var AppsWindowsRefreshUsageParams = import_zod25.z.strictObject({ app_key: AppKey, window: ChatPlace });
1654
+ var AppsProjectsMoveParams = import_zod25.z.strictObject({
1655
+ app_key: AppKey,
1656
+ chat_id: ChatId,
1657
+ from_project_id: ChatProjectId,
1658
+ to_project_id: ChatProjectId.optional(),
1659
+ new_project_name: import_zod25.z.string().min(1).max(200).optional()
1660
+ });
1661
+ var AppsProjectsMoveResult = import_zod25.z.strictObject({ chat: ChatRow, project: ChatProject });
1662
+ var AppsProjectsCreateParams = import_zod25.z.strictObject({ app_key: AppKey, name: import_zod25.z.string().min(1).max(200) });
1663
+ var AppsProjectsCreateResult = import_zod25.z.strictObject({ project: ChatProject });
1664
+ var AppsProjectsImportPinsParams = import_zod25.z.strictObject({ app_key: AppKey });
1665
+ var AppsProjectsImportPinsResult = import_zod25.z.strictObject({ message: import_zod25.z.string().max(400) });
1666
+
1580
1667
  // src/schema/registry.ts
1581
1668
  var FS_ERR = ["NOT_FOUND", "PERMISSION_DENIED_OS", "INVALID_PARAMS", "RESOURCE_BUSY", "INTERNAL"];
1582
1669
  var OPS = {
@@ -1623,6 +1710,17 @@ var OPS = {
1623
1710
  "apps.projects.update": { params: AppsProjectsUpdateParams, result: AppsProjectsUpdateResult, kind: "unary", since: "1.9", errors: ["NOT_FOUND", "INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
1624
1711
  "apps.projects.copy": { params: AppsProjectsCopyParams, result: AppsProjectsCopyResult, kind: "unary", since: "1.9", errors: ["NOT_FOUND", "INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
1625
1712
  "apps.projects.unfile": { params: AppsProjectsUnfileParams, result: AppsProjectsUnfileResult, kind: "unary", since: "1.8", errors: ["NOT_FOUND", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
1713
+ // 1.10: the app's windows and accounts (usage by vote, weekly resets, window actions), project move/create, Refresh pins.
1714
+ "apps.windows.list": { params: AppsWindowsListParams, result: AppsWindowsListResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
1715
+ "apps.windows.open": { params: AppsWindowsOpenParams, result: AppsWindowActionResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
1716
+ "apps.windows.reload": { params: AppsWindowsReloadParams, result: AppsWindowActionResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "CONFLICT", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
1717
+ "apps.windows.restart": { params: AppsWindowsRestartParams, result: AppsWindowActionResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "CONFLICT", "TIMEOUT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
1718
+ "apps.windows.refresh_usage": { params: AppsWindowsRefreshUsageParams, result: AppsWindowActionResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "TIMEOUT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
1719
+ "apps.accounts.usage": { params: AppsAccountsUsageParams, result: AppsAccountsUsageResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
1720
+ "apps.accounts.resets": { params: AppsAccountsResetsParams, result: AppsAccountsResetsResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
1721
+ "apps.projects.move": { params: AppsProjectsMoveParams, result: AppsProjectsMoveResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
1722
+ "apps.projects.create": { params: AppsProjectsCreateParams, result: AppsProjectsCreateResult, kind: "unary", since: "1.10", errors: ["INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
1723
+ "apps.projects.import_pins": { params: AppsProjectsImportPinsParams, result: AppsProjectsImportPinsResult, kind: "unary", since: "1.10", errors: ["CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
1626
1724
  "proc.list": { params: ProcListParams, result: ProcListResult, kind: "unary", since: "1.3", errors: ["INVALID_PARAMS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
1627
1725
  "proc.ports": { params: ProcPortsParams, result: ProcPortsResult, kind: "unary", since: "1.3", errors: ["INVALID_PARAMS", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
1628
1726
  "proc.kill": { params: ProcKillParams, result: ProcKillResult, kind: "unary", since: "1.3", errors: ["NOT_FOUND", "AUTH_FORBIDDEN", "PERMISSION_DENIED_OS", "INVALID_PARAMS", "INTERNAL"] },