@ai-matrx/desktop-protocol 0.21.62 → 0.21.64
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 +17 -1
- package/dist/{chunk-server-EQCCXWD7.js → chunk-server-B5W6NL7W.js} +64 -2
- package/dist/chunk-server-B5W6NL7W.js.map +1 -0
- package/dist/client.cjs +36 -1
- 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 +1 -1
- package/dist/index.cjs +64 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +104 -6
- package/dist/index.d.ts +104 -6
- package/dist/index.js +16 -2
- package/dist/index.js.map +1 -1
- package/dist/{models-yHB4kGxD.d.cts → models-B13QkIMu.d.cts} +156 -1
- package/dist/{models-yHB4kGxD.d.ts → models-B13QkIMu.d.ts} +156 -1
- package/dist/react.d.cts +76 -0
- package/dist/react.d.ts +76 -0
- package/generated/desktop-protocol.schema.json +302 -1
- package/package.json +2 -2
- package/dist/chunk-server-EQCCXWD7.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,16 +2,32 @@
|
|
|
2
2
|
|
|
3
3
|
### Unreleased
|
|
4
4
|
|
|
5
|
+
- **Protocol 1.65 — "Continued from <account>" is a transcript item (2026-10-21).** `CodingTranscriptItem` gains `continued` (`id`, `from`, `text`, `at`): the line across a coding chat where it moved from another account (@ai-matrx/coding-sessions emits it where it used to emit an info `notice`). `forPeer` sends a 1.64 peer's `coding.history` / `coding.transcript.read` each as that `notice`, so its strict union never refuses the whole transcript. Consumer action: draw it as a divider at its place (the coding-sessions screen does).
|
|
6
|
+
- **Protocol 1.64 — agent versions in Matrx 2 (2026-10-21).** New ops `account.agents.versions` (an agent's saved versions: number, age, note; the current version), `account.agents.version_diff` (one version and the current one as agent-definition records for `@ai-matrx/agents/versions/react` AgentDiffViewer) and `account.agents.restore_version` (`agx_promote_version`). New ops only; an older peer never sees them. Consumer action: none.
|
|
5
7
|
- **Protocol 1.63 — a chat's instance, and what an instance record lacks (2026-10-21).** `ChatRow.home` (`ChatPlace`): the instance whose folder holds the chat, read only (Claude: the side window holding its newest record copy, else main; Codex: the home whose database holds it). `AppInstance.missing` (`InstanceGap[]`: account / email / version): what the record still lacks after Matrx filled what it remembered (Matrx 2 ledger D10). Optional; stripped for a 1.62 peer by `forPeer`. Consumer action: none.
|
|
6
8
|
- **Protocol 1.62 — moves as records (2026-10-20).** `ChatRow.moved` (`ChatMove[]`, newest first: `kind` move / copy, `from`, `to`, `at_ms`, `back_at_ms`): every Move and Copy of a chat between instances as Matrx recorded it, so a screen reads where a chat went and whether it came back from the record, never from a project named "From X". Optional; stripped for a 1.61 peer by `forPeer`. Consumer action: none.
|
|
7
9
|
- **Protocol 1.61 — where a chat's title shows (2026-10-20).** `ChatRow.title_sync` (`ChatTitleSync`: `state` synced / not_synced / unsupported, and a `note`): the title facet's sync state for the chat's app, so a screen can say honestly whether the app shows the person's name. Optional; stripped for a 1.60 peer by `forPeer`. Consumer action: none.
|
|
8
10
|
- **Shared code ships once per side (2026-10-18).** Built `splitting: false`, the root, `/frame` and `/client` each carried their own copy of 44 shared modules. ESM now builds them in one split pass (`chunk-server-*.js`, no banner); `/react` builds alone, stamped. CJS unsplit; declarations per group. ESM JS 610,843 -> 398,722 bytes; root + `/client` together 597 KB -> 390 KB; `/frame` stays zod-free (6 KB); every entry's export names identical (ESM and CJS). Guard: `../scripts/check-ships-once.mjs`, run in `build`. Consumer action: none.
|
|
9
11
|
|
|
10
|
-
## 0.21.
|
|
12
|
+
## 0.21.64
|
|
11
13
|
|
|
12
14
|
UNVERIFIED: this release has no Unreleased entry and the source comparison could not be made (the caller supplied no source comparison). Whether source changed is unknown; consumer action is unknown.
|
|
13
15
|
Check the package's gitHead on npm against this version's gitHead: `git diff <previous gitHead> <this gitHead> -- apps/shared/desktop-protocol/src`.
|
|
14
16
|
|
|
17
|
+
## 0.21.62
|
|
18
|
+
|
|
19
|
+
SOURCE CHANGED WITH NO RELEASE NOTE. This release shipped source changes that nobody described in an Unreleased entry,
|
|
20
|
+
so they may include breaking API changes. Consumer action is UNKNOWN: read the diff before upgrading.
|
|
21
|
+
Diff: `git diff e86170a22e 920791a7ff -- apps/shared/desktop-protocol/src`
|
|
22
|
+
|
|
23
|
+
Changed shipped source files (6):
|
|
24
|
+
- `apps/shared/desktop-protocol/src/contract.ts`
|
|
25
|
+
- `apps/shared/desktop-protocol/src/schema/apps-chats.ts`
|
|
26
|
+
- `apps/shared/desktop-protocol/src/schema/apps-instances.ts`
|
|
27
|
+
- `apps/shared/desktop-protocol/src/schema/primitives.ts`
|
|
28
|
+
- `apps/shared/desktop-protocol/src/schema/registry.ts`
|
|
29
|
+
- `apps/shared/desktop-protocol/src/versioning.ts`
|
|
30
|
+
|
|
15
31
|
## 0.21.61
|
|
16
32
|
|
|
17
33
|
SOURCE CHANGED WITH NO RELEASE NOTE. This release shipped source changes that nobody described in an Unreleased entry,
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
import { UUID_SHAPE_PATTERN } from "@ai-matrx/kit/uuid";
|
|
8
8
|
var PROTOCOL_MAJOR = 1;
|
|
9
|
-
var PROTOCOL_MINOR =
|
|
9
|
+
var PROTOCOL_MINOR = 65;
|
|
10
10
|
var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
|
|
11
11
|
var ProtocolVersion = z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
|
|
12
12
|
var RequestId = z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
|
|
@@ -1002,6 +1002,36 @@ var AccountAgentsRunsResult = z11.strictObject({
|
|
|
1002
1002
|
});
|
|
1003
1003
|
var AccountAgentsFavoriteParams = z11.strictObject({ agent_id: AccountRowId, favorite: z11.boolean() });
|
|
1004
1004
|
var AccountAgentsFavoriteResult = z11.strictObject({ favorite: z11.boolean() });
|
|
1005
|
+
var AccountAgentVersion = z11.strictObject({
|
|
1006
|
+
version_id: AccountRowId,
|
|
1007
|
+
version_number: z11.int().min(1),
|
|
1008
|
+
changed_at_ms: epochMs,
|
|
1009
|
+
/** The change note the person wrote when saving, when they wrote one. */
|
|
1010
|
+
note: z11.string().max(1e3).nullable()
|
|
1011
|
+
});
|
|
1012
|
+
var AccountAgentsVersionsParams = z11.strictObject({
|
|
1013
|
+
agent_id: AccountRowId,
|
|
1014
|
+
offset: z11.int().min(0).max(1e5).optional(),
|
|
1015
|
+
limit: z11.int().min(1).max(200).optional()
|
|
1016
|
+
});
|
|
1017
|
+
var AccountAgentsVersionsResult = z11.strictObject({
|
|
1018
|
+
state: AccountReadState,
|
|
1019
|
+
problem: z11.string().max(300).nullable(),
|
|
1020
|
+
/** The version the agent is at now (null: no saved version yet). */
|
|
1021
|
+
current_version: z11.int().min(1).nullable(),
|
|
1022
|
+
rows: z11.array(AccountAgentVersion).max(200)
|
|
1023
|
+
});
|
|
1024
|
+
var AccountAgentsVersionDiffParams = z11.strictObject({ agent_id: AccountRowId, version_number: z11.int().min(1) });
|
|
1025
|
+
var AccountAgentsVersionDiffResult = z11.strictObject({
|
|
1026
|
+
state: AccountReadState,
|
|
1027
|
+
problem: z11.string().max(300).nullable(),
|
|
1028
|
+
version_number: z11.int().min(1),
|
|
1029
|
+
current_version: z11.int().min(1).nullable(),
|
|
1030
|
+
old: z11.record(z11.string().max(200), z11.unknown()).nullable(),
|
|
1031
|
+
current: z11.record(z11.string().max(200), z11.unknown()).nullable()
|
|
1032
|
+
});
|
|
1033
|
+
var AccountAgentsRestoreVersionParams = z11.strictObject({ agent_id: AccountRowId, version_number: z11.int().min(1) });
|
|
1034
|
+
var AccountAgentsRestoreVersionResult = z11.strictObject({ restored_version: z11.int().min(1) });
|
|
1005
1035
|
var VaultItemKind = z11.enum(["login", "passkey", "key", "other"]);
|
|
1006
1036
|
var VaultFieldSummary = z11.strictObject({
|
|
1007
1037
|
key: z11.string().min(1).max(120),
|
|
@@ -3311,6 +3341,8 @@ var CodingTranscriptItem = z34.discriminatedUnion("kind", [
|
|
|
3311
3341
|
}),
|
|
3312
3342
|
z34.strictObject({ kind: z34.literal("usage"), usage: CodingRunUsage, costUsd: z34.number().nullable() }),
|
|
3313
3343
|
z34.strictObject({ kind: z34.literal("notice"), id: z34.string().max(200), level: z34.enum(["info", "warning"]), text: z34.string() }),
|
|
3344
|
+
/** "Continue on <account>": the line across the transcript where the chat moved from `from`. */
|
|
3345
|
+
z34.strictObject({ kind: z34.literal("continued"), id: z34.string().max(200), from: z34.string().max(300), text: z34.string(), at: IsoTime.nullable() }),
|
|
3314
3346
|
z34.strictObject({ kind: z34.literal("error"), id: z34.string().max(200), text: z34.string() })
|
|
3315
3347
|
]);
|
|
3316
3348
|
var CodingHistoryRecord = z34.strictObject({
|
|
@@ -4620,6 +4652,9 @@ var OPS = {
|
|
|
4620
4652
|
"account.agents.get": { params: AccountAgentsGetParams, result: AccountAgentsGetResult, kind: "unary", since: "1.39", errors: ["INVALID_PARAMS", "INTERNAL"] },
|
|
4621
4653
|
"account.agents.runs": { params: AccountAgentsRunsParams, result: AccountAgentsRunsResult, kind: "unary", since: "1.39", errors: ["INVALID_PARAMS", "INTERNAL"] },
|
|
4622
4654
|
"account.agents.favorite": { params: AccountAgentsFavoriteParams, result: AccountAgentsFavoriteResult, kind: "unary", since: "1.39", errors: ["AUTH_REQUIRED", "NOT_FOUND", "INVALID_PARAMS", "DEVICE_OFFLINE", "INTERNAL"] },
|
|
4655
|
+
"account.agents.versions": { params: AccountAgentsVersionsParams, result: AccountAgentsVersionsResult, kind: "unary", since: "1.64", errors: ["INVALID_PARAMS", "INTERNAL"] },
|
|
4656
|
+
"account.agents.version_diff": { params: AccountAgentsVersionDiffParams, result: AccountAgentsVersionDiffResult, kind: "unary", since: "1.64", errors: ["INVALID_PARAMS", "INTERNAL"] },
|
|
4657
|
+
"account.agents.restore_version": { params: AccountAgentsRestoreVersionParams, result: AccountAgentsRestoreVersionResult, kind: "unary", since: "1.64", errors: ["AUTH_REQUIRED", "NOT_FOUND", "INVALID_PARAMS", "DEVICE_OFFLINE", "INTERNAL"] },
|
|
4623
4658
|
// 1.26: the app's own update (it installs only once every window quit) and bringing the windows back.
|
|
4624
4659
|
"apps.windows.update_state": { params: AppsWindowsUpdateStateParams, result: AppsWindowsUpdateStateResult, kind: "unary", since: "1.26", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
4625
4660
|
"apps.windows.reopen": { params: AppsWindowsReopenParams, result: AppsWindowsReopenResult, kind: "unary", since: "1.26", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
@@ -5379,6 +5414,13 @@ var NAMED_SCHEMAS = {
|
|
|
5379
5414
|
AccountAgentsRunsResult,
|
|
5380
5415
|
AccountAgentsFavoriteParams,
|
|
5381
5416
|
AccountAgentsFavoriteResult,
|
|
5417
|
+
AccountAgentVersion,
|
|
5418
|
+
AccountAgentsVersionsParams,
|
|
5419
|
+
AccountAgentsVersionsResult,
|
|
5420
|
+
AccountAgentsVersionDiffParams,
|
|
5421
|
+
AccountAgentsVersionDiffResult,
|
|
5422
|
+
AccountAgentsRestoreVersionParams,
|
|
5423
|
+
AccountAgentsRestoreVersionResult,
|
|
5382
5424
|
AppsWindowsUpdateStateParams,
|
|
5383
5425
|
AppsWindowsUpdateStateResult,
|
|
5384
5426
|
AppsWindowsReopenParams,
|
|
@@ -5775,6 +5817,18 @@ function providersForPeer(value, version) {
|
|
|
5775
5817
|
});
|
|
5776
5818
|
return next.some((p, i) => p !== providers[i]) ? { ...body, providers: next } : value;
|
|
5777
5819
|
}
|
|
5820
|
+
function transcriptItemsForPeer(value, version) {
|
|
5821
|
+
if (knows(version, "1.65") || value === null || typeof value !== "object") return value;
|
|
5822
|
+
const body = value;
|
|
5823
|
+
if (!Array.isArray(body.items)) return value;
|
|
5824
|
+
const items = body.items;
|
|
5825
|
+
const next = items.map((item) => {
|
|
5826
|
+
const it = item;
|
|
5827
|
+
if (it?.kind !== "continued") return item;
|
|
5828
|
+
return { kind: "notice", id: it.id, level: "info", text: it.text };
|
|
5829
|
+
});
|
|
5830
|
+
return next.some((it, i) => it !== items[i]) ? { ...body, items: next } : value;
|
|
5831
|
+
}
|
|
5778
5832
|
var WINDOW_RESULTS = /* @__PURE__ */ new Map([
|
|
5779
5833
|
["window.list", "windows"],
|
|
5780
5834
|
["window.focus", "window"],
|
|
@@ -5803,6 +5857,7 @@ function forPeer(op, part, value, version) {
|
|
|
5803
5857
|
const nested = op ? NESTED_RESULTS.get(op) : void 0;
|
|
5804
5858
|
const stripped = nested ? stripNested(top, nested, version) : top;
|
|
5805
5859
|
if (op === "coding.providers") return providersForPeer(stripped, version);
|
|
5860
|
+
if (op === "coding.history" || op === "coding.transcript.read") return transcriptItemsForPeer(stripped, version);
|
|
5806
5861
|
return op === "apps.windows.list" ? windowListRemoteControlForPeer(stripped, version) : stripped;
|
|
5807
5862
|
}
|
|
5808
5863
|
if (value === null || typeof value !== "object") return value;
|
|
@@ -6033,6 +6088,13 @@ export {
|
|
|
6033
6088
|
AccountAgentsRunsResult,
|
|
6034
6089
|
AccountAgentsFavoriteParams,
|
|
6035
6090
|
AccountAgentsFavoriteResult,
|
|
6091
|
+
AccountAgentVersion,
|
|
6092
|
+
AccountAgentsVersionsParams,
|
|
6093
|
+
AccountAgentsVersionsResult,
|
|
6094
|
+
AccountAgentsVersionDiffParams,
|
|
6095
|
+
AccountAgentsVersionDiffResult,
|
|
6096
|
+
AccountAgentsRestoreVersionParams,
|
|
6097
|
+
AccountAgentsRestoreVersionResult,
|
|
6036
6098
|
VaultItemKind,
|
|
6037
6099
|
VaultFieldSummary,
|
|
6038
6100
|
VaultItemSummary,
|
|
@@ -6696,4 +6758,4 @@ export {
|
|
|
6696
6758
|
closeRule,
|
|
6697
6759
|
isTerminalClose
|
|
6698
6760
|
};
|
|
6699
|
-
//# sourceMappingURL=chunk-server-
|
|
6761
|
+
//# sourceMappingURL=chunk-server-B5W6NL7W.js.map
|