@ai-matrx/desktop-protocol 0.21.48 → 0.21.50

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,26 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.21.50
4
+ ### Unreleased
5
+ ### Protocol 1.55 — copy chats to another account with their organisation
6
+
7
+ - New op `apps.chats.copy_to_account` ({origin, target, chat_ids, mode, restart, mirror_groups,
8
+ pins_follow, source_group}): one engine pass; each chat lands in the target group named as its
9
+ origin group (made when missing), pins follow, a copy groups them in the origin as `source_group`,
10
+ and every chat is read back (`state` verified | queued | failed, with `reason`). `restart:
11
+ "restart_verify"` closes both windows, applies, verifies and reopens them; a window with chats
12
+ running falls back to queued and says why (`restart.reason`).
13
+ Consumer action: call it once for the whole selection; a 1.54 core answers UNKNOWN_OPERATION.
14
+
15
+ ## 0.21.49
16
+ ### Unreleased
17
+ ### Protocol 1.54 — a default model can come from the account
18
+
19
+ - `CodingProviderStatus.defaultModel.source` gains `"account"` (the signed-in account's default model,
20
+ e.g. Codex's; @ai-matrx/coding-sessions >= 0.3.235 emits it). `forPeer` sends a 1.53 peer `"driver"`
21
+ instead, so its strict enum never refuses the whole `coding.providers` answer.
22
+ Consumer action: label `"account"` as the account's default; a core on 1.53 or older cannot carry it.
23
+
3
24
  ## 0.21.48
4
25
  ### Unreleased
5
26
  ### Protocol 1.53 — one coding account list
package/dist/client.cjs CHANGED
@@ -144,7 +144,7 @@ var import_zod2 = require("zod");
144
144
  var import_zod = require("zod");
145
145
  var import_uuid = require("@ai-matrx/kit/uuid");
146
146
  var PROTOCOL_MAJOR = 1;
147
- var PROTOCOL_MINOR = 53;
147
+ var PROTOCOL_MINOR = 55;
148
148
  var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
149
149
  var ProtocolVersion = import_zod.z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
150
150
  var RequestId = import_zod.z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
@@ -2566,7 +2566,12 @@ var CodingProviderStatus = import_zod28.z.strictObject({
2566
2566
  quota: import_zod28.z.array(CodingQuotaWindow).max(20),
2567
2567
  models: import_zod28.z.array(import_zod28.z.strictObject({ id: import_zod28.z.string().max(200), label: import_zod28.z.string().max(200) })).max(200),
2568
2568
  efforts: import_zod28.z.array(import_zod28.z.string().max(40)).max(20),
2569
- defaultModel: import_zod28.z.strictObject({ id: import_zod28.z.string().max(200), source: import_zod28.z.enum(["settings", "driver"]) }).nullable(),
2569
+ /**
2570
+ * Where the default model came from: the app's own settings file, the account (1.54: the signed-in
2571
+ * account's default, e.g. Codex's), or the driver's built-in pick. A peer older than 1.54 is sent
2572
+ * "driver" for "account" (its enum does not know the value).
2573
+ */
2574
+ defaultModel: import_zod28.z.strictObject({ id: import_zod28.z.string().max(200), source: import_zod28.z.enum(["settings", "driver", "account"]) }).nullable(),
2570
2575
  defaultEffort: import_zod28.z.string().max(40).nullable(),
2571
2576
  binary: CodingProviderBinary.nullable(),
2572
2577
  /**
@@ -3448,6 +3453,50 @@ var AppsWindowsUpdateAndReopenResult = import_zod31.z.strictObject({
3448
3453
  /** The version installed, null when the install did not happen (or dry_run). */
3449
3454
  installed_version: import_zod31.z.string().max(64).nullable()
3450
3455
  });
3456
+ var AppsChatsCopyToAccountParams = import_zod31.z.strictObject({
3457
+ app_key: AppKey,
3458
+ origin: ChatPlace,
3459
+ target: ChatPlace,
3460
+ chat_ids: import_zod31.z.array(ChatId).min(1).max(500),
3461
+ mode: import_zod31.z.enum(["copy", "move"]).default("copy"),
3462
+ restart: import_zod31.z.enum(["queued", "restart_verify"]).default("queued"),
3463
+ /** Put each chat in the target group named as its origin group (default true). */
3464
+ mirror_groups: import_zod31.z.boolean().default(true),
3465
+ /** Pin in the target the chats pinned in the origin (default true). */
3466
+ pins_follow: import_zod31.z.boolean().default(true),
3467
+ /** A copy: group them in the origin under this name ("Copied to <target>"). */
3468
+ source_group: import_zod31.z.string().trim().min(1).max(200).optional()
3469
+ });
3470
+ var CopiedChat = import_zod31.z.strictObject({
3471
+ chat_id: ChatId,
3472
+ title: import_zod31.z.string().max(500),
3473
+ outcome: import_zod31.z.enum(["copied", "moved", "already", "skipped"]),
3474
+ /** The target group it was put in (its origin group's name), or null. */
3475
+ group: import_zod31.z.string().max(200).nullable(),
3476
+ group_state: import_zod31.z.enum(["now", "next_close", "failed"]).nullable(),
3477
+ pinned: import_zod31.z.boolean(),
3478
+ pin_state: import_zod31.z.enum(["now", "next_close", "failed"]).nullable(),
3479
+ /** The read-back: verified, waiting for a window to close (queued), or failed. */
3480
+ state: import_zod31.z.enum(["verified", "queued", "failed"]),
3481
+ reason: import_zod31.z.string().max(400).nullable()
3482
+ });
3483
+ var AppsChatsCopyToAccountResult = import_zod31.z.strictObject({
3484
+ message: import_zod31.z.string().max(400),
3485
+ origin: ChatPlace,
3486
+ target: ChatPlace,
3487
+ mode: import_zod31.z.enum(["copy", "move"]),
3488
+ /** The marker the chats are filed under ("From <origin>"), for Bring back. */
3489
+ project: import_zod31.z.strictObject({ id: ChatProjectId, name: import_zod31.z.string().max(200) }),
3490
+ /** The target groups used, by name: made or reused, now or at the next close. */
3491
+ groups: import_zod31.z.array(import_zod31.z.strictObject({ name: import_zod31.z.string().max(200), chats: import_zod31.z.number().int().nonnegative(), ok: import_zod31.z.boolean(), when: import_zod31.z.enum(["now", "next_close"]).nullable(), reason: import_zod31.z.string().max(400).nullable() })).max(500),
3492
+ source_group: import_zod31.z.strictObject({ name: import_zod31.z.string().max(200), ok: import_zod31.z.boolean(), when: import_zod31.z.enum(["now", "next_close"]).nullable(), reason: import_zod31.z.string().max(400).nullable() }).nullable(),
3493
+ chats: import_zod31.z.array(CopiedChat).max(500),
3494
+ verified: import_zod31.z.number().int().nonnegative(),
3495
+ queued: import_zod31.z.number().int().nonnegative(),
3496
+ failed: import_zod31.z.number().int().nonnegative(),
3497
+ /** What the restart choice did: "restart_verify" closed and reopened `windows`; a fall back to "queued" says why. */
3498
+ restart: import_zod31.z.strictObject({ asked: import_zod31.z.enum(["queued", "restart_verify"]), done: import_zod31.z.enum(["queued", "restart_verify"]), windows: import_zod31.z.array(ChatPlace).max(2), reason: import_zod31.z.string().max(400).nullable() })
3499
+ });
3451
3500
 
3452
3501
  // src/schema/apps-instances.ts
3453
3502
  var import_zod32 = require("zod");
@@ -4383,6 +4432,8 @@ var OPS = {
4383
4432
  "apps.projects.move": { params: AppsProjectsMoveParams, result: AppsProjectsMoveResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4384
4433
  "apps.projects.create": { params: AppsProjectsCreateParams, result: AppsProjectsCreateResult, kind: "unary", since: "1.10", errors: ["INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4385
4434
  "apps.projects.import_pins": { params: AppsProjectsImportPinsParams, result: AppsProjectsImportPinsResult, kind: "unary", since: "1.10", errors: ["CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4435
+ // 1.55: copy (or move) chats to another account with their groups and pins, in one engine pass, read back.
4436
+ "apps.chats.copy_to_account": { params: AppsChatsCopyToAccountParams, result: AppsChatsCopyToAccountResult, kind: "unary", since: "1.55", errors: ["NOT_FOUND", "INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4386
4437
  "apps.projects.to_window": { params: AppsProjectsToWindowParams, result: AppsProjectsToWindowResult, kind: "unary", since: "1.19", errors: ["NOT_FOUND", "INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4387
4438
  // 1.11: Going cold, Spend, sync health, windows upkeep.
4388
4439
  "apps.chats.cold": { params: AppsChatsColdParams, result: AppsChatsColdResult, kind: "unary", since: "1.11", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },