@ai-matrx/desktop-protocol 0.17.13 → 0.19.0
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 +13 -0
- package/dist/client.cjs +50 -5
- 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 +50 -5
- package/dist/client.js.map +1 -1
- package/dist/index.cjs +65 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +88 -6
- package/dist/index.d.ts +88 -6
- package/dist/index.js +65 -8
- package/dist/index.js.map +1 -1
- package/dist/{models-BOPMXUz-.d.cts → models-DTtWH_yC.d.cts} +117 -1
- package/dist/{models-BOPMXUz-.d.ts → models-DTtWH_yC.d.ts} +117 -1
- package/dist/react.d.cts +50 -0
- package/dist/react.d.ts +50 -0
- package/generated/desktop-protocol.schema.json +240 -1
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.19.0 (protocol 1.19)
|
|
4
|
+
|
|
5
|
+
- **A whole project into one window.** `apps.projects.to_window {app_key, project_id, window, take_off, group, dry_run}` puts every chat of a project into one window in one pass. `take_off` also takes each off its other side windows where safe (never main, the holder, a window where it is open, or its last place); every chat left alone comes back in `skipped` with the window and the reason. `group` files them under a sidebar group named after the project in that window (only while it is closed; `group.reason` says why not). `dry_run` returns the plan and writes nothing. Additive; older peers never call it.
|
|
6
|
+
- Includes protocol 1.18 (a local server's `cpu_percent`, `memory_bytes`).
|
|
7
|
+
|
|
8
|
+
**Consumer action:** none (new op).
|
|
9
|
+
|
|
10
|
+
## 0.18.0
|
|
11
|
+
|
|
12
|
+
The three UUID-shaped ids (`DeviceId`, the desktop app profile id, a coding session's `user_id`) take their pattern from `@ai-matrx/kit/uuid`'s `UUID_SHAPE_PATTERN` instead of spelling the regex. The generated JSON Schema and Pydantic models are byte-identical (`generate --check` contract hash unchanged). New dependency: `@ai-matrx/kit`.
|
|
13
|
+
|
|
14
|
+
**Consumer action:** none.
|
|
15
|
+
|
|
3
16
|
## 0.17.13
|
|
4
17
|
### Unreleased
|
|
5
18
|
### (protocol 1.17)
|
package/dist/client.cjs
CHANGED
|
@@ -142,13 +142,14 @@ var import_zod2 = require("zod");
|
|
|
142
142
|
|
|
143
143
|
// src/schema/primitives.ts
|
|
144
144
|
var import_zod = require("zod");
|
|
145
|
+
var import_uuid = require("@ai-matrx/kit/uuid");
|
|
145
146
|
var PROTOCOL_MAJOR = 1;
|
|
146
|
-
var PROTOCOL_MINOR =
|
|
147
|
+
var PROTOCOL_MINOR = 19;
|
|
147
148
|
var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
|
|
148
149
|
var ProtocolVersion = import_zod.z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
|
|
149
150
|
var RequestId = import_zod.z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
|
|
150
151
|
var ResourceId = import_zod.z.string().regex(/^(pty|watch)_[A-Za-z0-9]{16,40}$/);
|
|
151
|
-
var DeviceId = import_zod.z.string().regex(
|
|
152
|
+
var DeviceId = import_zod.z.string().regex(import_uuid.UUID_SHAPE_PATTERN);
|
|
152
153
|
var AbsPath = import_zod.z.string().min(1).max(4096).regex(/^(\/|[A-Za-z]:\/)[^\\\u0000]*$/);
|
|
153
154
|
var u32 = import_zod.z.int().min(0).max(4294967295);
|
|
154
155
|
var nonNegInt = import_zod.z.int().min(0);
|
|
@@ -1324,7 +1325,11 @@ var StackServer = import_zod20.z.strictObject({
|
|
|
1324
1325
|
started_at_ms: epochMs.nullable(),
|
|
1325
1326
|
restarts: nonNegInt,
|
|
1326
1327
|
exit_code: import_zod20.z.int().nullable(),
|
|
1327
|
-
pid: import_zod20.z.int().nullable()
|
|
1328
|
+
pid: import_zod20.z.int().nullable(),
|
|
1329
|
+
/** (1.18) CPU of the server's process and everything under it, in percent of one core; absent when it is not running. */
|
|
1330
|
+
cpu_percent: import_zod20.z.number().min(0).optional(),
|
|
1331
|
+
/** (1.18) Memory of the same processes: the physical footprint (Activity Monitor's Memory) summed; absent when it is not running. */
|
|
1332
|
+
memory_bytes: nonNegInt.optional()
|
|
1328
1333
|
});
|
|
1329
1334
|
var StackEvent = import_zod20.z.strictObject({
|
|
1330
1335
|
at_ms: epochMs,
|
|
@@ -1467,9 +1472,10 @@ var ExecJobListResult = import_zod22.z.strictObject({ jobs: import_zod22.z.array
|
|
|
1467
1472
|
|
|
1468
1473
|
// src/schema/coding.ts
|
|
1469
1474
|
var import_zod23 = require("zod");
|
|
1475
|
+
var import_uuid2 = require("@ai-matrx/kit/uuid");
|
|
1470
1476
|
var CodingServiceCredentials = import_zod23.z.strictObject({
|
|
1471
1477
|
access_token: import_zod23.z.string().min(16).max(16384),
|
|
1472
|
-
user_id: import_zod23.z.string().regex(
|
|
1478
|
+
user_id: import_zod23.z.string().regex(import_uuid2.UUID_SHAPE_PATTERN),
|
|
1473
1479
|
/** The AI Matrx server this app talks to (production, or a local server on the nightly copy). */
|
|
1474
1480
|
server_url: import_zod23.z.string().min(1).max(2048).regex(/^https?:\/\/[^\s/?#]+(\/[^\s?#]*)?$/)
|
|
1475
1481
|
});
|
|
@@ -1542,8 +1548,9 @@ var CodingHistoryProgressEvent = import_zod23.z.strictObject({
|
|
|
1542
1548
|
|
|
1543
1549
|
// src/schema/apps.ts
|
|
1544
1550
|
var import_zod24 = require("zod");
|
|
1551
|
+
var import_uuid3 = require("@ai-matrx/kit/uuid");
|
|
1545
1552
|
var AppKey = import_zod24.z.string().regex(/^[a-z][a-z0-9_-]{0,39}$/);
|
|
1546
|
-
var AppProfileId = import_zod24.z.string().regex(
|
|
1553
|
+
var AppProfileId = import_zod24.z.string().regex(import_uuid3.UUID_SHAPE_PATTERN);
|
|
1547
1554
|
var AppProfileLocator = import_zod24.z.string().min(1).max(512).regex(/^[A-Za-z0-9 _()+@,-][A-Za-z0-9 ._()+@,-]{0,127}(\/[A-Za-z0-9 _()+@,-][A-Za-z0-9 ._()+@,-]{0,127}){0,7}$/);
|
|
1548
1555
|
var AppSupport = import_zod24.z.enum(["supported", "partial", "unsupported"]);
|
|
1549
1556
|
var AppFeatureStatus = import_zod24.z.strictObject({
|
|
@@ -1896,6 +1903,43 @@ var AppsProjectsCreateParams = import_zod26.z.strictObject({ app_key: AppKey, na
|
|
|
1896
1903
|
var AppsProjectsCreateResult = import_zod26.z.strictObject({ project: ChatProject });
|
|
1897
1904
|
var AppsProjectsImportPinsParams = import_zod26.z.strictObject({ app_key: AppKey });
|
|
1898
1905
|
var AppsProjectsImportPinsResult = import_zod26.z.strictObject({ message: import_zod26.z.string().max(400) });
|
|
1906
|
+
var ProjectMoveChat = import_zod26.z.strictObject({ chat_id: ChatId, title: import_zod26.z.string().max(300) });
|
|
1907
|
+
var ProjectMoveSkip = import_zod26.z.strictObject({ chat_id: ChatId, title: import_zod26.z.string().max(300), window: ChatPlace.nullable(), reason: import_zod26.z.string().max(400) });
|
|
1908
|
+
var ProjectMoveGroup = import_zod26.z.strictObject({
|
|
1909
|
+
ok: import_zod26.z.boolean(),
|
|
1910
|
+
name: import_zod26.z.string().max(200),
|
|
1911
|
+
/** Why it is not (or was not) grouped — e.g. the window is open. */
|
|
1912
|
+
reason: import_zod26.z.string().max(400).optional(),
|
|
1913
|
+
/** Chats that get (or got) the group; already in it; taken from another group of the window. */
|
|
1914
|
+
assign: nonNegInt.optional(),
|
|
1915
|
+
already: nonNegInt.optional(),
|
|
1916
|
+
from_other_groups: nonNegInt.optional(),
|
|
1917
|
+
/** A group of that name was already there (reused, never doubled). */
|
|
1918
|
+
group_exists: import_zod26.z.boolean().optional()
|
|
1919
|
+
});
|
|
1920
|
+
var AppsProjectsToWindowParams = import_zod26.z.strictObject({
|
|
1921
|
+
app_key: AppKey,
|
|
1922
|
+
project_id: ChatProjectId,
|
|
1923
|
+
window: ChatPlace,
|
|
1924
|
+
/** Also take each chat off its other side windows where safe (never main, the holder, an open window). */
|
|
1925
|
+
take_off: import_zod26.z.boolean().default(false),
|
|
1926
|
+
/** Also group them under the project's name in that window's sidebar (closed windows only). */
|
|
1927
|
+
group: import_zod26.z.boolean().default(false),
|
|
1928
|
+
dry_run: import_zod26.z.boolean().default(false)
|
|
1929
|
+
});
|
|
1930
|
+
var AppsProjectsToWindowResult = import_zod26.z.strictObject({
|
|
1931
|
+
project_id: ChatProjectId,
|
|
1932
|
+
window: ChatPlace,
|
|
1933
|
+
dry_run: import_zod26.z.boolean(),
|
|
1934
|
+
place: import_zod26.z.array(ProjectMoveChat).max(5e3),
|
|
1935
|
+
already: import_zod26.z.array(ProjectMoveChat).max(5e3),
|
|
1936
|
+
take_off: import_zod26.z.array(ProjectMoveChat.extend({ window: ChatPlace })).max(2e4),
|
|
1937
|
+
skipped: import_zod26.z.array(ProjectMoveSkip).max(2e4),
|
|
1938
|
+
/** Chats of the project from other apps (no windows to place into), left as they are. */
|
|
1939
|
+
other_apps: nonNegInt,
|
|
1940
|
+
group: ProjectMoveGroup.nullable(),
|
|
1941
|
+
message: import_zod26.z.string().max(400)
|
|
1942
|
+
});
|
|
1899
1943
|
var ColdChat = import_zod26.z.strictObject({
|
|
1900
1944
|
id: ChatId,
|
|
1901
1945
|
title: import_zod26.z.string().max(1e3),
|
|
@@ -2054,6 +2098,7 @@ var OPS = {
|
|
|
2054
2098
|
"apps.projects.move": { params: AppsProjectsMoveParams, result: AppsProjectsMoveResult, kind: "unary", since: "1.10", errors: ["NOT_FOUND", "INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2055
2099
|
"apps.projects.create": { params: AppsProjectsCreateParams, result: AppsProjectsCreateResult, kind: "unary", since: "1.10", errors: ["INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2056
2100
|
"apps.projects.import_pins": { params: AppsProjectsImportPinsParams, result: AppsProjectsImportPinsResult, kind: "unary", since: "1.10", errors: ["CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2101
|
+
"apps.projects.to_window": { params: AppsProjectsToWindowParams, result: AppsProjectsToWindowResult, kind: "unary", since: "1.19", errors: ["NOT_FOUND", "INVALID_PARAMS", "CONFLICT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2057
2102
|
// 1.11: Going cold, Spend, sync health, windows upkeep.
|
|
2058
2103
|
"apps.chats.cold": { params: AppsChatsColdParams, result: AppsChatsColdResult, kind: "unary", since: "1.11", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2059
2104
|
"apps.chats.open": { params: AppsChatsOpenParams, result: AppsWindowActionResult, kind: "unary", since: "1.11", errors: ["NOT_FOUND", "CONFLICT", "TIMEOUT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|