@ai-matrx/desktop-protocol 0.17.8 → 0.17.10

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,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.17.10
4
+ ### (protocol 1.14)
5
+
6
+ - **One title rule.** `ChatRow` gains optional `original_title` (the chat's own title by the rule in `@ai-matrx/coding-sessions/sessions`), `title_source` (where it came from) and `title_override` (the person's rename inside Matrx, applied once by the row builder); `title` stays what to show. Stripped for peers below 1.14 (guard: versioning.test.ts "chat titles 1.14").
7
+
8
+ Consumer action: none for older peers; a row builder sets all three.
9
+
10
+ ## 0.17.9
11
+ ### (protocol 1.13)
12
+
13
+ - **Codex, the second coding app.** `ChatRow` gains optional `app_project` (the app's own sidebar project, read only) and `tokens` (tokens the conversation used, when the app records it); `AccountUsage` gains optional `plan` and `credits`. Stripped for peers below 1.13 wherever a ChatRow or AccountUsage travels (`apps.chats.list`, `apps.projects.file/file_many/unfile/move`, `apps.chats.star/place`, `apps.accounts.usage`) — `forPeer` now strips nested named schemas (guard: versioning.test.ts "apps codex 1.13").
14
+
15
+ Consumer action: none for older peers.
16
+
3
17
  ## 0.17.8
4
18
  ### (protocol 1.12)
5
19
 
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 = 12;
146
+ var PROTOCOL_MINOR = 14;
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_-]+$/);
@@ -1478,6 +1478,10 @@ var ChatLastUse = import_zod24.z.strictObject({
1478
1478
  cache_warm: import_zod24.z.boolean(),
1479
1479
  cache_minutes_left: nonNegInt
1480
1480
  });
1481
+ var ChatAppProject = import_zod24.z.strictObject({
1482
+ id: import_zod24.z.string().min(1).max(200),
1483
+ name: import_zod24.z.string().max(200)
1484
+ });
1481
1485
  var ChatRow = import_zod24.z.strictObject({
1482
1486
  id: ChatId,
1483
1487
  /** The short id people see (the listing's first 8 characters). */
@@ -1504,7 +1508,20 @@ var ChatRow = import_zod24.z.strictObject({
1504
1508
  /** Created recently and in no project: offered for filing. */
1505
1509
  new_unfiled: import_zod24.z.boolean(),
1506
1510
  warnings: import_zod24.z.array(import_zod24.z.string().max(400)).max(20),
1507
- last_use: ChatLastUse.nullable()
1511
+ last_use: ChatLastUse.nullable(),
1512
+ /** 1.13: the app's own project the chat is grouped under in the app (Codex), read only; absent = none or not an app that groups. */
1513
+ app_project: ChatAppProject.optional(),
1514
+ /** 1.13: tokens the conversation has used, when the app records it (Codex); absent when not recorded; prices are not on disk. */
1515
+ tokens: nonNegInt.optional(),
1516
+ /**
1517
+ * 1.14: the chat's own title before the person's rename (the one title rule, `@ai-matrx/coding-sessions/sessions`);
1518
+ * `title` is what to show (`title_override` when set, else this).
1519
+ */
1520
+ original_title: import_zod24.z.string().max(1e3).optional(),
1521
+ /** 1.14: where `original_title` came from (app record, remembered, custom-title, ai-title, agent-name, summary, first-prompt, last-prompt). */
1522
+ title_source: import_zod24.z.string().min(1).max(40).optional(),
1523
+ /** 1.14: the person's rename inside Matrx (Coding Sessions), applied once by the row builder; absent = none. */
1524
+ title_override: import_zod24.z.string().min(1).max(300).optional()
1508
1525
  });
1509
1526
  var ChatFamily = import_zod24.z.strictObject({
1510
1527
  id: ChatId,
@@ -1627,7 +1644,11 @@ var AccountUsage = import_zod25.z.strictObject({
1627
1644
  /** The next weekly reset, when known. */
1628
1645
  weekly_resets_at_ms: epochMs.nullable(),
1629
1646
  /** 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()
1647
+ weekly_reset_official: import_zod25.z.boolean().nullable(),
1648
+ /** 1.13: the account's plan as the app names it (Codex: "pro", "prolite"), when recorded. */
1649
+ plan: import_zod25.z.string().max(80).optional(),
1650
+ /** 1.13: the account's credit balance as the app records it (Codex), when recorded. */
1651
+ credits: import_zod25.z.string().max(40).optional()
1631
1652
  });
1632
1653
  var AccountReset = import_zod25.z.strictObject({
1633
1654
  window: ChatPlace,