@ai-matrx/desktop-protocol 0.21.26 → 0.21.28
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 +12 -0
- package/dist/client.cjs +10 -2
- 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 +10 -2
- package/dist/client.js.map +1 -1
- package/dist/index.cjs +51 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +117 -84
- package/dist/index.d.ts +117 -84
- package/dist/index.js +51 -12
- package/dist/index.js.map +1 -1
- package/dist/{models-BJsUM5sC.d.cts → models-NgxBS190.d.cts} +15 -0
- package/dist/{models-BJsUM5sC.d.ts → models-NgxBS190.d.ts} +15 -0
- package/dist/react.d.cts +5 -0
- package/dist/react.d.ts +5 -0
- package/generated/desktop-protocol.schema.json +35 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -485,6 +485,7 @@ __export(src_exports, {
|
|
|
485
485
|
StackStateResult: () => StackStateResult,
|
|
486
486
|
StackStopParams: () => StackStopParams,
|
|
487
487
|
StackTone: () => StackTone,
|
|
488
|
+
StaleTitleWindow: () => StaleTitleWindow,
|
|
488
489
|
StreamMeta: () => StreamMeta,
|
|
489
490
|
StreamMsg: () => StreamMsg,
|
|
490
491
|
SysinfoGetParams: () => SysinfoGetParams,
|
|
@@ -566,9 +567,12 @@ __export(src_exports, {
|
|
|
566
567
|
negotiate: () => negotiate,
|
|
567
568
|
nonNegInt: () => nonNegInt,
|
|
568
569
|
readCid: () => readCid,
|
|
570
|
+
refusedOps: () => refusedOps,
|
|
569
571
|
renderToolStatusMarkdown: () => renderToolStatusMarkdown,
|
|
572
|
+
sharedOpsBlocking: () => sharedOpsBlocking,
|
|
570
573
|
stampCid: () => stampCid,
|
|
571
574
|
statusForPeer: () => statusForPeer,
|
|
575
|
+
toolsSending: () => toolsSending,
|
|
572
576
|
u32: () => u32,
|
|
573
577
|
versionSubprotocol: () => versionSubprotocol
|
|
574
578
|
});
|
|
@@ -578,7 +582,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
578
582
|
var import_zod = require("zod");
|
|
579
583
|
var import_uuid = require("@ai-matrx/kit/uuid");
|
|
580
584
|
var PROTOCOL_MAJOR = 1;
|
|
581
|
-
var PROTOCOL_MINOR =
|
|
585
|
+
var PROTOCOL_MINOR = 33;
|
|
582
586
|
var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
|
|
583
587
|
var ProtocolVersion = import_zod.z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
|
|
584
588
|
var RequestId = import_zod.z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
|
|
@@ -2030,6 +2034,12 @@ var TitleMismatch = import_zod14.z.strictObject({
|
|
|
2030
2034
|
windows: import_zod14.z.array(ChatPlace).max(200),
|
|
2031
2035
|
differs_in: import_zod14.z.array(TitleCopies).max(200)
|
|
2032
2036
|
});
|
|
2037
|
+
var StaleTitleWindow = import_zod14.z.strictObject({
|
|
2038
|
+
window: ChatPlace,
|
|
2039
|
+
/** First and latest time (ms) it was seen writing an old name back. */
|
|
2040
|
+
since_ms: nonNegInt,
|
|
2041
|
+
last_ms: nonNegInt
|
|
2042
|
+
});
|
|
2033
2043
|
var AppsChatsTitlesCheckParams = import_zod14.z.strictObject({ app_key: AppKey });
|
|
2034
2044
|
var AppsChatsTitlesCheckResult = import_zod14.z.strictObject({
|
|
2035
2045
|
app_key: AppKey,
|
|
@@ -2038,7 +2048,9 @@ var AppsChatsTitlesCheckResult = import_zod14.z.strictObject({
|
|
|
2038
2048
|
/** Chats with a different name in some window (or in Matrx). */
|
|
2039
2049
|
chats_with_a_different_name: nonNegInt,
|
|
2040
2050
|
copies_to_write: nonNegInt,
|
|
2041
|
-
chats: import_zod14.z.array(TitleMismatch).max(5e3)
|
|
2051
|
+
chats: import_zod14.z.array(TitleMismatch).max(5e3),
|
|
2052
|
+
/** Windows that keep writing old names back (each is fixed every pass; reloading it, Cmd+R, stops it). Since 1.33. */
|
|
2053
|
+
stale_windows: import_zod14.z.array(StaleTitleWindow).max(200).optional()
|
|
2042
2054
|
});
|
|
2043
2055
|
var AppsChatsTitlesPushParams = import_zod14.z.strictObject({ app_key: AppKey, chat_id: ChatId.optional(), dry_run: import_zod14.z.boolean().optional() });
|
|
2044
2056
|
var AppsChatsTitlesPushResult = import_zod14.z.strictObject({
|
|
@@ -3937,6 +3949,7 @@ var NAMED_SCHEMAS = {
|
|
|
3937
3949
|
AppsChatsOpenParams,
|
|
3938
3950
|
TitleCopies,
|
|
3939
3951
|
TitleMismatch,
|
|
3952
|
+
StaleTitleWindow,
|
|
3940
3953
|
AppsChatsTitlesCheckParams,
|
|
3941
3954
|
AppsChatsTitlesCheckResult,
|
|
3942
3955
|
AppsChatsTitlesPushParams,
|
|
@@ -4062,7 +4075,8 @@ var FIELDS_SINCE = {
|
|
|
4062
4075
|
AppsSpendResult: { days: "1.24" },
|
|
4063
4076
|
AppsWindowsUpdateStateResult: { closed_by_update: "1.27" },
|
|
4064
4077
|
AppsProjectsToWindowParams: { pin: "1.32" },
|
|
4065
|
-
AppsProjectsToWindowResult: { pin: "1.32" }
|
|
4078
|
+
AppsProjectsToWindowResult: { pin: "1.32" },
|
|
4079
|
+
AppsChatsTitlesCheckResult: { stale_windows: "1.33" }
|
|
4066
4080
|
};
|
|
4067
4081
|
var NULL_SINCE = {
|
|
4068
4082
|
"RelayDeviceStatusEvent.since_ms": { since: "1.1", olderPeersGet: 0 }
|
|
@@ -4198,7 +4212,7 @@ function forPeer(op, part, value, version) {
|
|
|
4198
4212
|
var VERSIONED_RESULT_OPS = [.../* @__PURE__ */ new Set([...RESULT_PATH.keys(), ...WINDOW_RESULTS.keys(), ...NESTED_RESULTS.keys()])];
|
|
4199
4213
|
|
|
4200
4214
|
// src/contract.ts
|
|
4201
|
-
var CONTRACT_SHA256 = "
|
|
4215
|
+
var CONTRACT_SHA256 = "04a029fc56c9405f376906fc981659997f4617c98bd0b88bb052d1f6d587a7a2";
|
|
4202
4216
|
|
|
4203
4217
|
// src/close-policy.ts
|
|
4204
4218
|
var CLOSE_RULES = {
|
|
@@ -4255,6 +4269,7 @@ var TOOL_CATALOG = [
|
|
|
4255
4269
|
{ name: "desktop_system", group: "os_control", state: "built", path: "device_op", ops: ["sysinfo.get", "sysinfo.hardware", "system.open_url", "system.open_path", "system.open_settings", "system.notify"], platforms: ALL, summary: "System facts, open, notify" },
|
|
4256
4270
|
{ name: "desktop_clipboard", group: "os_control", state: "built", path: "device_op", ops: ["clipboard.read", "clipboard.write"], platforms: ALL, summary: "Read and write the clipboard's text" },
|
|
4257
4271
|
{ name: "desktop_screen", group: "os_control", state: "built", path: "device_op", ops: ["screen.list", "screen.capture"], platforms: ALL, summary: "Displays and screenshots" },
|
|
4272
|
+
{ name: "desktop_browser", group: "os_control", state: "built", path: "device_op", ops: ["browser.sessions", "browser.call"], platforms: ALL, summary: "The person's own browser through the AI Matrx extension: tabs, read, screenshot, navigate, click, type" },
|
|
4258
4273
|
{ name: "desktop_window", group: "os_control", state: "built", path: "device_op", ops: ["window.list", "window.focus", "window.move", "window.minimize"], platforms: ALL, summary: "Find, focus and arrange windows" },
|
|
4259
4274
|
{ name: "desktop_input", group: "os_control", state: "built", path: "device_op", ops: ["input.type_text", "input.hotkey", "input.mouse_click", "input.mouse_move", "input.keyboard_settings", "input.set_keyboard_settings"], platforms: ALL, summary: "Keyboard and mouse" },
|
|
4260
4275
|
{ name: "desktop_audio", group: "os_control", state: "built", path: "device_op", ops: ["audio.devices", "audio.levels", "audio.set_levels", "audio.record", "audio.play"], platforms: ALL, summary: "Audio devices, record, play" },
|
|
@@ -4337,14 +4352,15 @@ var LEGACY_ACTIONS = {
|
|
|
4337
4352
|
"local_system.open_url": tool("desktop_system"),
|
|
4338
4353
|
"local_system.open_path": tool("desktop_system"),
|
|
4339
4354
|
"local_system.notify": tool("desktop_system"),
|
|
4340
|
-
|
|
4341
|
-
"local_browser.
|
|
4342
|
-
"local_browser.
|
|
4343
|
-
"local_browser.
|
|
4344
|
-
"local_browser.
|
|
4345
|
-
"local_browser.
|
|
4346
|
-
"local_browser.
|
|
4347
|
-
"local_browser.
|
|
4355
|
+
// The person's own browser is the AI Matrx extension paired with Matrx 2 (cap browser).
|
|
4356
|
+
"local_browser.navigate": tool("desktop_browser"),
|
|
4357
|
+
"local_browser.click": tool("desktop_browser"),
|
|
4358
|
+
"local_browser.type_text": tool("desktop_browser"),
|
|
4359
|
+
"local_browser.extract": tool("desktop_browser"),
|
|
4360
|
+
"local_browser.screenshot": tool("desktop_browser"),
|
|
4361
|
+
"local_browser.eval": dropped("The extension runs no page script for Matrx 2: its script and cdp tools are privileged and refused over the desktop path; read, click and type cover what eval was used for"),
|
|
4362
|
+
"local_browser.tabs": tool("desktop_browser"),
|
|
4363
|
+
"local_browser.close": tool("desktop_browser"),
|
|
4348
4364
|
"local_web.fetch": tool("desktop_web"),
|
|
4349
4365
|
"local_web.fetch_with_browser": tool("desktop_web"),
|
|
4350
4366
|
"local_web.scrape": tool("desktop_web"),
|
|
@@ -4540,4 +4556,27 @@ function renderToolStatusMarkdown(status) {
|
|
|
4540
4556
|
}
|
|
4541
4557
|
return lines.join("\n");
|
|
4542
4558
|
}
|
|
4559
|
+
|
|
4560
|
+
// src/tools/policy.ts
|
|
4561
|
+
function refusedOps(disabledTools) {
|
|
4562
|
+
const off = new Set(disabledTools);
|
|
4563
|
+
const senders = /* @__PURE__ */ new Map();
|
|
4564
|
+
for (const tool2 of TOOL_CATALOG) for (const op of tool2.ops) senders.set(op, [...senders.get(op) ?? [], tool2.name]);
|
|
4565
|
+
const refused = /* @__PURE__ */ new Set();
|
|
4566
|
+
for (const [op, tools] of senders) if (tools.every((t) => off.has(t))) refused.add(op);
|
|
4567
|
+
return refused;
|
|
4568
|
+
}
|
|
4569
|
+
function toolsSending(op) {
|
|
4570
|
+
return TOOL_CATALOG.filter((t) => t.ops.includes(op)).map((t) => t.name);
|
|
4571
|
+
}
|
|
4572
|
+
function sharedOpsBlocking(tool2, disabledTools) {
|
|
4573
|
+
const entry = TOOL_CATALOG.find((t) => t.name === tool2);
|
|
4574
|
+
if (!entry || entry.ops.length === 0) return [];
|
|
4575
|
+
const off = /* @__PURE__ */ new Set([...disabledTools, tool2]);
|
|
4576
|
+
const refused = refusedOps([...off]);
|
|
4577
|
+
if (entry.ops.some((op) => refused.has(op))) return [];
|
|
4578
|
+
const keepers = /* @__PURE__ */ new Set();
|
|
4579
|
+
for (const op of entry.ops) for (const other of TOOL_CATALOG) if (other.name !== tool2 && !off.has(other.name) && other.ops.includes(op)) keepers.add(other.name);
|
|
4580
|
+
return [...keepers].sort();
|
|
4581
|
+
}
|
|
4543
4582
|
//# sourceMappingURL=index.cjs.map
|