@ai-matrx/desktop-protocol 0.21.30 → 0.21.32
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 +271 -19
- 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 +271 -19
- package/dist/client.js.map +1 -1
- package/dist/index.cjs +382 -21
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +795 -17
- package/dist/index.d.ts +795 -17
- package/dist/index.js +382 -21
- package/dist/index.js.map +1 -1
- package/dist/{models-CzKyJhDP.d.cts → models-BNbWn8EL.d.cts} +1257 -38
- package/dist/{models-CzKyJhDP.d.ts → models-BNbWn8EL.d.ts} +1257 -38
- package/dist/react.d.cts +404 -2
- package/dist/react.d.ts +404 -2
- package/generated/desktop-protocol.schema.json +1329 -81
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.21.32
|
|
4
|
+
|
|
5
|
+
Automatic changed-only republish (docs/metadata drift since the last tag — see
|
|
6
|
+
`git diff npm/desktop-protocol/v0.21.31..npm/desktop-protocol/v0.21.32 -- apps/shared/desktop-protocol`).
|
|
7
|
+
No source changes intended and no consumer action required.
|
|
8
|
+
|
|
9
|
+
## 0.21.31
|
|
10
|
+
|
|
11
|
+
Automatic changed-only republish (docs/metadata drift since the last tag — see
|
|
12
|
+
`git diff npm/desktop-protocol/v0.21.30..npm/desktop-protocol/v0.21.31 -- apps/shared/desktop-protocol`).
|
|
13
|
+
No source changes intended and no consumer action required.
|
|
14
|
+
|
|
3
15
|
## 0.21.30
|
|
4
16
|
|
|
5
17
|
Automatic changed-only republish (docs/metadata drift since the last tag — see
|
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 =
|
|
147
|
+
var PROTOCOL_MINOR = 42;
|
|
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_-]+$/);
|
|
@@ -427,8 +427,17 @@ var OsPermissionName = import_zod5.z.enum([
|
|
|
427
427
|
"location",
|
|
428
428
|
"local_network",
|
|
429
429
|
"bluetooth",
|
|
430
|
-
"notifications"
|
|
430
|
+
"notifications",
|
|
431
|
+
// (1.41) Matrx Local's remaining kinds, checked on every OS (its permissions checker): a peer
|
|
432
|
+
// older than 1.41 is never sent these rows (versioning.ts PERMISSIONS_SINCE).
|
|
433
|
+
"reminders",
|
|
434
|
+
"speech_recognition",
|
|
435
|
+
"messages",
|
|
436
|
+
"mail",
|
|
437
|
+
"wifi"
|
|
431
438
|
]);
|
|
439
|
+
var OsGrantState = import_zod5.z.enum(["granted", "denied", "not_determined", "not_applicable"]);
|
|
440
|
+
var OsRequirementName = import_zod5.z.enum(["secret_storage", "tray", "display_server", "helper_programs", "smart_app_control", "path_length"]);
|
|
432
441
|
var SysinfoGetParams = import_zod5.z.strictObject({});
|
|
433
442
|
var SysinfoGetResult = import_zod5.z.strictObject({
|
|
434
443
|
device_id: DeviceId,
|
|
@@ -458,9 +467,20 @@ var SysinfoGetResult = import_zod5.z.strictObject({
|
|
|
458
467
|
import_zod5.z.strictObject({
|
|
459
468
|
name: OsPermissionName,
|
|
460
469
|
state: import_zod5.z.enum(["granted", "denied", "not_determined", "not_applicable"]),
|
|
461
|
-
settings_url: import_zod5.z.string().max(512).nullable()
|
|
470
|
+
settings_url: import_zod5.z.string().max(512).nullable(),
|
|
471
|
+
/** (1.41) One short fact when the state alone does not say it ("No camera", "Bluetooth is off"); absent when there is none. */
|
|
472
|
+
detail: import_zod5.z.string().max(256).optional()
|
|
462
473
|
})
|
|
463
|
-
)
|
|
474
|
+
),
|
|
475
|
+
/** (1.41) The requirements beyond the grants (OsRequirementName), each read when asked. */
|
|
476
|
+
requirements: import_zod5.z.array(
|
|
477
|
+
import_zod5.z.strictObject({
|
|
478
|
+
name: OsRequirementName,
|
|
479
|
+
state: OsGrantState,
|
|
480
|
+
settings_url: import_zod5.z.string().max(512).nullable(),
|
|
481
|
+
detail: import_zod5.z.string().max(256).nullable()
|
|
482
|
+
})
|
|
483
|
+
).optional()
|
|
464
484
|
});
|
|
465
485
|
var SysinfoHardwareParams = import_zod5.z.strictObject({});
|
|
466
486
|
var SysinfoHardwareResult = import_zod5.z.strictObject({
|
|
@@ -1007,10 +1027,12 @@ var GitCloneParams = import_zod12.z.strictObject({
|
|
|
1007
1027
|
});
|
|
1008
1028
|
|
|
1009
1029
|
// src/schema/web.ts
|
|
1030
|
+
var import_uuid2 = require("@ai-matrx/kit/uuid");
|
|
1010
1031
|
var import_zod13 = require("zod");
|
|
1011
1032
|
var WEB_MAX_TEXT_CHARS = 524288;
|
|
1012
1033
|
var WebUrl = import_zod13.z.string().min(1).max(8192).regex(/^https?:\/\//);
|
|
1013
1034
|
var WebText = import_zod13.z.string().max(WEB_MAX_TEXT_CHARS);
|
|
1035
|
+
var OrgId = import_zod13.z.string().regex(import_uuid2.UUID_SHAPE_PATTERN);
|
|
1014
1036
|
var WebHeader = import_zod13.z.strictObject({ name: import_zod13.z.string().min(1).max(256), value: import_zod13.z.string().max(8192) });
|
|
1015
1037
|
var WebFetchParams = import_zod13.z.strictObject({
|
|
1016
1038
|
url: WebUrl,
|
|
@@ -1032,10 +1054,65 @@ var WebFetchResult = import_zod13.z.strictObject({
|
|
|
1032
1054
|
bytes: nonNegInt,
|
|
1033
1055
|
elapsed_ms: nonNegInt
|
|
1034
1056
|
});
|
|
1057
|
+
var WebAttachTarget = import_zod13.z.strictObject({
|
|
1058
|
+
entity_type: import_zod13.z.string().min(1).max(64),
|
|
1059
|
+
entity_id: import_zod13.z.string().min(1).max(128),
|
|
1060
|
+
label: import_zod13.z.string().max(200).optional()
|
|
1061
|
+
});
|
|
1062
|
+
var WebLand = import_zod13.z.strictObject({
|
|
1063
|
+
/** The organization the page is saved in; absent: this computer's active organization. */
|
|
1064
|
+
organization_id: OrgId.optional(),
|
|
1065
|
+
/** Keep it: AI processing starts (chunks, search). Unkept pages are saved and wait. */
|
|
1066
|
+
keep: import_zod13.z.boolean().default(false),
|
|
1067
|
+
attach_to: import_zod13.z.array(WebAttachTarget).max(8).default([])
|
|
1068
|
+
});
|
|
1069
|
+
var WebNotSavedReason = import_zod13.z.enum([
|
|
1070
|
+
/** Nobody is signed in on this computer. Saved on sign-in. */
|
|
1071
|
+
"signed_out",
|
|
1072
|
+
/** AI Matrx could not be reached. Retried on its own. */
|
|
1073
|
+
"offline",
|
|
1074
|
+
/** AI Matrx refused it (the message says why). Kept until the person retries or discards it. */
|
|
1075
|
+
"rejected",
|
|
1076
|
+
/** Waiting its turn behind other pages (retried on its own). */
|
|
1077
|
+
"queued"
|
|
1078
|
+
]);
|
|
1079
|
+
var WebSourceNotice = import_zod13.z.strictObject({ code: import_zod13.z.string().max(120), message: import_zod13.z.string().max(2e3), remedy: import_zod13.z.string().max(120) });
|
|
1080
|
+
var WebSourceState = import_zod13.z.discriminatedUnion("state", [
|
|
1081
|
+
import_zod13.z.strictObject({
|
|
1082
|
+
state: import_zod13.z.literal("saved"),
|
|
1083
|
+
processed_document_id: import_zod13.z.string().min(1).max(64),
|
|
1084
|
+
source_id: import_zod13.z.string().min(1).max(128),
|
|
1085
|
+
/** The page was already saved and nothing changed ("Already saved, no change"). */
|
|
1086
|
+
reused_existing: import_zod13.z.boolean(),
|
|
1087
|
+
/** The page changed: this is a new version of that Source. */
|
|
1088
|
+
new_version_of: import_zod13.z.string().max(64).nullable(),
|
|
1089
|
+
kept: import_zod13.z.boolean(),
|
|
1090
|
+
intelligence: import_zod13.z.enum(["queued", "deferred", "never"]),
|
|
1091
|
+
/** The original page as captured, kept by AI Matrx (null: the organization keeps none). */
|
|
1092
|
+
original_file_id: import_zod13.z.string().max(128).nullable(),
|
|
1093
|
+
/** The organization it was saved in. */
|
|
1094
|
+
organization_id: OrgId,
|
|
1095
|
+
notices: import_zod13.z.array(WebSourceNotice).max(20)
|
|
1096
|
+
}),
|
|
1097
|
+
import_zod13.z.strictObject({
|
|
1098
|
+
state: import_zod13.z.literal("not_saved"),
|
|
1099
|
+
outbox_id: import_zod13.z.string().min(1).max(64),
|
|
1100
|
+
reason: WebNotSavedReason,
|
|
1101
|
+
message: import_zod13.z.string().max(2e3)
|
|
1102
|
+
})
|
|
1103
|
+
]);
|
|
1035
1104
|
var WebScrapeParams = import_zod13.z.strictObject({
|
|
1036
1105
|
urls: import_zod13.z.array(WebUrl).min(1).max(20),
|
|
1037
1106
|
use_cache: import_zod13.z.boolean().default(true),
|
|
1038
|
-
get_links: import_zod13.z.boolean().default(false)
|
|
1107
|
+
get_links: import_zod13.z.boolean().default(false),
|
|
1108
|
+
/**
|
|
1109
|
+
* Since 1.38. `auto` (absent): this computer's scraper (HTTP, its browser only when a page needs
|
|
1110
|
+
* it). `browser`: this computer's own browser renders every page. `server`: AI Matrx's servers
|
|
1111
|
+
* read it (their connection, not this computer's; saved there as a web capture).
|
|
1112
|
+
*/
|
|
1113
|
+
engine: import_zod13.z.enum(["auto", "browser", "server"]).optional(),
|
|
1114
|
+
/** Since 1.38: where the pages are saved (see WebLand). */
|
|
1115
|
+
land: WebLand.optional()
|
|
1039
1116
|
});
|
|
1040
1117
|
var WebScrapePage = import_zod13.z.strictObject({
|
|
1041
1118
|
url: import_zod13.z.string(),
|
|
@@ -1050,7 +1127,9 @@ var WebScrapePage = import_zod13.z.strictObject({
|
|
|
1050
1127
|
/** Why the page failed (blocked, timeout, not found…), in the scraper's words; null when ok. */
|
|
1051
1128
|
error: import_zod13.z.string().nullable(),
|
|
1052
1129
|
/** How the page was fetched (http, browser, cache). */
|
|
1053
|
-
via: import_zod13.z.string().nullable()
|
|
1130
|
+
via: import_zod13.z.string().nullable(),
|
|
1131
|
+
/** Since 1.38: the page's Source (absent from a 1.37 core, and for a page that failed). */
|
|
1132
|
+
source: WebSourceState.optional()
|
|
1054
1133
|
});
|
|
1055
1134
|
var WebScrapeResult = import_zod13.z.strictObject({ pages: import_zod13.z.array(WebScrapePage), elapsed_ms: nonNegInt });
|
|
1056
1135
|
var WebSearchParams = import_zod13.z.strictObject({
|
|
@@ -1074,7 +1153,9 @@ var WebBrowserFetchParams = import_zod13.z.strictObject({
|
|
|
1074
1153
|
wait_for: import_zod13.z.string().max(1024).optional(),
|
|
1075
1154
|
wait_timeout_ms: import_zod13.z.int().min(100).max(12e4).default(3e4),
|
|
1076
1155
|
/** true: readable text; false: the rendered HTML. */
|
|
1077
|
-
extract_text: import_zod13.z.boolean().default(true)
|
|
1156
|
+
extract_text: import_zod13.z.boolean().default(true),
|
|
1157
|
+
/** Since 1.38: where the rendered page is saved (see WebLand). */
|
|
1158
|
+
land: WebLand.optional()
|
|
1078
1159
|
});
|
|
1079
1160
|
var WebBrowserFetchResult = import_zod13.z.strictObject({
|
|
1080
1161
|
url: import_zod13.z.string(),
|
|
@@ -1082,14 +1163,144 @@ var WebBrowserFetchResult = import_zod13.z.strictObject({
|
|
|
1082
1163
|
title: import_zod13.z.string().nullable(),
|
|
1083
1164
|
content: WebText,
|
|
1084
1165
|
truncated: import_zod13.z.boolean(),
|
|
1085
|
-
elapsed_ms: nonNegInt
|
|
1166
|
+
elapsed_ms: nonNegInt,
|
|
1167
|
+
/** Since 1.38: the rendered page's Source (absent from a 1.37 core). */
|
|
1168
|
+
source: WebSourceState.optional()
|
|
1169
|
+
});
|
|
1170
|
+
var ToolsParseFile = import_zod13.z.strictObject({
|
|
1171
|
+
/** Absolute path of the gzipped JSON the core reads, saves and then removes. */
|
|
1172
|
+
path: import_zod13.z.string().min(1).max(4096),
|
|
1173
|
+
bytes: nonNegInt
|
|
1174
|
+
});
|
|
1175
|
+
var ToolsWebScrapeParams = import_zod13.z.strictObject({
|
|
1176
|
+
urls: import_zod13.z.array(WebUrl).min(1).max(20),
|
|
1177
|
+
use_cache: import_zod13.z.boolean().default(true),
|
|
1178
|
+
get_links: import_zod13.z.boolean().default(false),
|
|
1179
|
+
/** `browser`: render every page in this computer's browser, then parse it. */
|
|
1180
|
+
engine: import_zod13.z.enum(["auto", "browser"]).default("auto"),
|
|
1181
|
+
/** Pages read at once (desktop.web/scrape_concurrency). */
|
|
1182
|
+
concurrency: import_zod13.z.int().min(1).max(20).default(5),
|
|
1183
|
+
/** The wait between pages from the same site (desktop.web/request_delay_ms). */
|
|
1184
|
+
delay_ms: import_zod13.z.int().min(0).max(3e4).default(0),
|
|
1185
|
+
/** Where the parse files go (the core's spool folder). */
|
|
1186
|
+
spool_dir: import_zod13.z.string().min(1).max(4096)
|
|
1187
|
+
});
|
|
1188
|
+
var ToolsWebScrapePage = import_zod13.z.strictObject({
|
|
1189
|
+
page: WebScrapePage,
|
|
1190
|
+
/** The page's whole parse, for the door; null when the page failed or had no words. */
|
|
1191
|
+
parse: ToolsParseFile.nullable(),
|
|
1192
|
+
/** The page as fetched, for research (rendered HTML or the HTTP body); null when not kept. */
|
|
1193
|
+
html: ToolsParseFile.nullable()
|
|
1194
|
+
});
|
|
1195
|
+
var ToolsWebScrapeResult = import_zod13.z.strictObject({ pages: import_zod13.z.array(ToolsWebScrapePage), elapsed_ms: nonNegInt });
|
|
1196
|
+
var ToolsWebBrowserFetchParams = import_zod13.z.strictObject({
|
|
1197
|
+
url: WebUrl,
|
|
1198
|
+
wait_for: import_zod13.z.string().max(1024).optional(),
|
|
1199
|
+
wait_timeout_ms: import_zod13.z.int().min(100).max(12e4).default(3e4),
|
|
1200
|
+
extract_text: import_zod13.z.boolean().default(true),
|
|
1201
|
+
spool_dir: import_zod13.z.string().min(1).max(4096)
|
|
1202
|
+
});
|
|
1203
|
+
var ToolsWebBrowserFetchResult = import_zod13.z.strictObject({ result: WebBrowserFetchResult, parse: ToolsParseFile.nullable() });
|
|
1204
|
+
var WebRuntimeStateName = import_zod13.z.enum(["not_installed", "installing", "installed", "failed"]);
|
|
1205
|
+
var WebRuntimeParams = import_zod13.z.strictObject({});
|
|
1206
|
+
var WebRuntimeState = import_zod13.z.strictObject({
|
|
1207
|
+
state: WebRuntimeStateName,
|
|
1208
|
+
/** Why it failed, in the installer's words; null otherwise. */
|
|
1209
|
+
error: import_zod13.z.string().max(2e3).nullable(),
|
|
1210
|
+
/** Bytes the browser takes on this computer (its packages and Chromium); null when unknown. */
|
|
1211
|
+
size_bytes: nonNegInt.nullable(),
|
|
1212
|
+
/** Whether it can show a window while it works (false: only the headless shell is installed). */
|
|
1213
|
+
can_show_window: import_zod13.z.boolean()
|
|
1214
|
+
});
|
|
1215
|
+
var WebOutboxItem = import_zod13.z.strictObject({
|
|
1216
|
+
outbox_id: import_zod13.z.string().min(1).max(64),
|
|
1217
|
+
url: import_zod13.z.string().max(8192),
|
|
1218
|
+
title: import_zod13.z.string().max(500).nullable(),
|
|
1219
|
+
organization_id: OrgId.nullable(),
|
|
1220
|
+
reason: WebNotSavedReason,
|
|
1221
|
+
message: import_zod13.z.string().max(2e3),
|
|
1222
|
+
attempts: nonNegInt,
|
|
1223
|
+
created_at_ms: nonNegInt,
|
|
1224
|
+
last_attempt_at_ms: nonNegInt.nullable(),
|
|
1225
|
+
bytes: nonNegInt
|
|
1226
|
+
});
|
|
1227
|
+
var WebOutboxListParams = import_zod13.z.strictObject({});
|
|
1228
|
+
var WebOutboxListResult = import_zod13.z.strictObject({
|
|
1229
|
+
items: import_zod13.z.array(WebOutboxItem),
|
|
1230
|
+
bytes: nonNegInt,
|
|
1231
|
+
/** The most the outbox holds; past it the oldest pages are dropped (and the log says so). */
|
|
1232
|
+
cap_bytes: nonNegInt
|
|
1233
|
+
});
|
|
1234
|
+
var WebOutboxRetryParams = import_zod13.z.strictObject({ outbox_id: import_zod13.z.string().min(1).max(64).optional() });
|
|
1235
|
+
var WebOutboxRetryResult = import_zod13.z.strictObject({ saved: nonNegInt, waiting: nonNegInt });
|
|
1236
|
+
var WebOutboxDiscardParams = import_zod13.z.strictObject({ outbox_id: import_zod13.z.string().min(1).max(64) });
|
|
1237
|
+
var WebOutboxDiscardResult = import_zod13.z.strictObject({ discarded: import_zod13.z.boolean() });
|
|
1238
|
+
var WebLogVia = import_zod13.z.enum(["this_computer", "browser", "server"]);
|
|
1239
|
+
var WebLogCaller = import_zod13.z.enum(["person", "agent", "research", "phone", "other"]);
|
|
1240
|
+
var WebLogResult = import_zod13.z.enum(["saved", "not_saved", "failed", "blocked", "read"]);
|
|
1241
|
+
var WebLogEntry = import_zod13.z.strictObject({
|
|
1242
|
+
id: import_zod13.z.string().min(1).max(64),
|
|
1243
|
+
at_ms: nonNegInt,
|
|
1244
|
+
caller: WebLogCaller,
|
|
1245
|
+
url: import_zod13.z.string().max(8192),
|
|
1246
|
+
title: import_zod13.z.string().max(500).nullable(),
|
|
1247
|
+
result: WebLogResult,
|
|
1248
|
+
/** One sentence: why it failed or was blocked, or the save's notice. Never page text. */
|
|
1249
|
+
detail: import_zod13.z.string().max(1e3).nullable(),
|
|
1250
|
+
via: WebLogVia,
|
|
1251
|
+
duration_ms: nonNegInt,
|
|
1252
|
+
processed_document_id: import_zod13.z.string().max(64).nullable()
|
|
1253
|
+
});
|
|
1254
|
+
var WebLogListParams = import_zod13.z.strictObject({ since_ms: nonNegInt.optional(), limit: import_zod13.z.int().min(1).max(1e3).default(200) });
|
|
1255
|
+
var WebLogListResult = import_zod13.z.strictObject({ entries: import_zod13.z.array(WebLogEntry) });
|
|
1256
|
+
var WebLogClearParams = import_zod13.z.strictObject({});
|
|
1257
|
+
var WebLogClearResult = import_zod13.z.strictObject({ cleared: nonNegInt });
|
|
1258
|
+
var WebProgressEvent = import_zod13.z.strictObject({
|
|
1259
|
+
request_id: RequestId,
|
|
1260
|
+
phase: import_zod13.z.enum(["installing", "fetching", "saving"]),
|
|
1261
|
+
done: nonNegInt,
|
|
1262
|
+
total: nonNegInt
|
|
1263
|
+
});
|
|
1264
|
+
var WebResearchItemState = import_zod13.z.enum(["waiting", "fetching", "saved", "thin", "failed", "cannot_edit", "blocked"]);
|
|
1265
|
+
var WebResearchItem = import_zod13.z.strictObject({
|
|
1266
|
+
topic_id: import_zod13.z.string().min(1).max(64),
|
|
1267
|
+
topic_name: import_zod13.z.string().max(500),
|
|
1268
|
+
source_id: import_zod13.z.string().min(1).max(64),
|
|
1269
|
+
url: import_zod13.z.string().max(8192),
|
|
1270
|
+
title: import_zod13.z.string().max(500).nullable(),
|
|
1271
|
+
/** The capture level this computer would try (1 quick, 2 scroll); 3+ is the extension's. */
|
|
1272
|
+
level: import_zod13.z.int().min(1).max(4),
|
|
1273
|
+
last_failure: import_zod13.z.string().max(1e3).nullable(),
|
|
1274
|
+
state: WebResearchItemState,
|
|
1275
|
+
/** One sentence after a fetch: what happened. */
|
|
1276
|
+
message: import_zod13.z.string().max(1e3).nullable()
|
|
1277
|
+
});
|
|
1278
|
+
var WebResearchQueueParams = import_zod13.z.strictObject({ topic_id: import_zod13.z.string().min(1).max(64).optional() });
|
|
1279
|
+
var WebResearchQueueResult = import_zod13.z.strictObject({
|
|
1280
|
+
state: import_zod13.z.enum(["ready", "signed_out", "unavailable"]),
|
|
1281
|
+
problem: import_zod13.z.string().max(1e3).nullable(),
|
|
1282
|
+
/** L1/L2 items on topics this person can edit: what this computer can fetch. */
|
|
1283
|
+
items: import_zod13.z.array(WebResearchItem),
|
|
1284
|
+
/** Items on topics the person can view but not add to (shown, never fetched). */
|
|
1285
|
+
view_only: nonNegInt
|
|
1286
|
+
});
|
|
1287
|
+
var WebResearchFetchParams = import_zod13.z.strictObject({
|
|
1288
|
+
topic_id: import_zod13.z.string().min(1).max(64).optional(),
|
|
1289
|
+
source_ids: import_zod13.z.array(import_zod13.z.string().min(1).max(64)).max(200).optional()
|
|
1290
|
+
});
|
|
1291
|
+
var WebResearchFetchResult = import_zod13.z.strictObject({
|
|
1292
|
+
items: import_zod13.z.array(WebResearchItem),
|
|
1293
|
+
saved: nonNegInt,
|
|
1294
|
+
thin: nonNegInt,
|
|
1295
|
+
failed: nonNegInt,
|
|
1296
|
+
cannot_edit: nonNegInt
|
|
1086
1297
|
});
|
|
1087
1298
|
var ToolsServiceProgress = import_zod13.z.strictObject({ phase: import_zod13.z.enum(["fetching", "installing"]), done: nonNegInt, total: nonNegInt });
|
|
1088
1299
|
|
|
1089
1300
|
// src/schema/account.ts
|
|
1090
1301
|
var import_zod14 = require("zod");
|
|
1091
|
-
var
|
|
1092
|
-
var AccountRowId = import_zod14.z.string().regex(
|
|
1302
|
+
var import_uuid3 = require("@ai-matrx/kit/uuid");
|
|
1303
|
+
var AccountRowId = import_zod14.z.string().regex(import_uuid3.UUID_SHAPE_PATTERN);
|
|
1093
1304
|
var AccountReadState = import_zod14.z.enum(["ok", "signed_out", "unavailable"]);
|
|
1094
1305
|
var AccountAgent = import_zod14.z.strictObject({
|
|
1095
1306
|
id: AccountRowId,
|
|
@@ -1323,7 +1534,27 @@ var SystemSettingsPane = import_zod16.z.enum([
|
|
|
1323
1534
|
"storage",
|
|
1324
1535
|
"system_report",
|
|
1325
1536
|
/** (1.35) Privacy & Security › Microphone: where the person allows Matrx 2 the microphone. */
|
|
1326
|
-
"microphone"
|
|
1537
|
+
"microphone",
|
|
1538
|
+
// (1.41) Each other privacy grant's own page (Settings › Permissions and privacy's buttons), named
|
|
1539
|
+
// as sysinfo's OsPermissionName so a row opens its pane by its own name. A 1.40 core refuses these
|
|
1540
|
+
// as INVALID_PARAMS, so a client asks only a 1.41 core for them.
|
|
1541
|
+
"full_disk_access",
|
|
1542
|
+
"accessibility",
|
|
1543
|
+
"screen_recording",
|
|
1544
|
+
"camera",
|
|
1545
|
+
"automation",
|
|
1546
|
+
"contacts",
|
|
1547
|
+
"calendars",
|
|
1548
|
+
"reminders",
|
|
1549
|
+
"photos",
|
|
1550
|
+
"location",
|
|
1551
|
+
"local_network",
|
|
1552
|
+
"bluetooth",
|
|
1553
|
+
"wifi",
|
|
1554
|
+
"notifications",
|
|
1555
|
+
"speech_recognition",
|
|
1556
|
+
"messages",
|
|
1557
|
+
"mail"
|
|
1327
1558
|
]);
|
|
1328
1559
|
var SystemOpenSettingsParams = import_zod16.z.strictObject({ pane: SystemSettingsPane });
|
|
1329
1560
|
var SystemOpenSettingsResult = import_zod16.z.strictObject({ pane: SystemSettingsPane });
|
|
@@ -2029,10 +2260,10 @@ var ExecJobListResult = import_zod26.z.strictObject({ jobs: import_zod26.z.array
|
|
|
2029
2260
|
|
|
2030
2261
|
// src/schema/coding.ts
|
|
2031
2262
|
var import_zod27 = require("zod");
|
|
2032
|
-
var
|
|
2263
|
+
var import_uuid4 = require("@ai-matrx/kit/uuid");
|
|
2033
2264
|
var CodingServiceCredentials = import_zod27.z.strictObject({
|
|
2034
2265
|
access_token: import_zod27.z.string().min(16).max(16384),
|
|
2035
|
-
user_id: import_zod27.z.string().regex(
|
|
2266
|
+
user_id: import_zod27.z.string().regex(import_uuid4.UUID_SHAPE_PATTERN),
|
|
2036
2267
|
/** The AI Matrx server this app talks to (production, or a local server on the nightly copy). */
|
|
2037
2268
|
server_url: import_zod27.z.string().min(1).max(2048).regex(/^https?:\/\/[^\s/?#]+(\/[^\s?#]*)?$/)
|
|
2038
2269
|
});
|
|
@@ -2470,9 +2701,9 @@ var SessionIdentifyResult = import_zod28.z.strictObject({ label: import_zod28.z.
|
|
|
2470
2701
|
|
|
2471
2702
|
// src/schema/apps.ts
|
|
2472
2703
|
var import_zod29 = require("zod");
|
|
2473
|
-
var
|
|
2704
|
+
var import_uuid5 = require("@ai-matrx/kit/uuid");
|
|
2474
2705
|
var AppKey = import_zod29.z.string().regex(/^[a-z][a-z0-9_-]{0,39}$/);
|
|
2475
|
-
var AppProfileId = import_zod29.z.string().regex(
|
|
2706
|
+
var AppProfileId = import_zod29.z.string().regex(import_uuid5.UUID_SHAPE_PATTERN);
|
|
2476
2707
|
var AppProfileLocator = import_zod29.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}$/);
|
|
2477
2708
|
var AppSupport = import_zod29.z.enum(["supported", "partial", "unsupported"]);
|
|
2478
2709
|
var AppFeatureStatus = import_zod29.z.strictObject({
|
|
@@ -3410,7 +3641,12 @@ var MessagesListResult = import_zod34.z.strictObject({ messages: import_zod34.z.
|
|
|
3410
3641
|
var MessagesSendParams = import_zod34.z.strictObject({
|
|
3411
3642
|
/** A phone number or email the person can message. */
|
|
3412
3643
|
to: import_zod34.z.string().min(3).max(320),
|
|
3413
|
-
text: import_zod34.z.string().min(1).max(2e4)
|
|
3644
|
+
text: import_zod34.z.string().min(1).max(2e4),
|
|
3645
|
+
/**
|
|
3646
|
+
* Send only over this service (Matrx Local's SendMessage `service`). Absent: iMessage first, and
|
|
3647
|
+
* SMS when the recipient has no iMessage (since 1.42).
|
|
3648
|
+
*/
|
|
3649
|
+
service: import_zod34.z.enum(["iMessage", "SMS"]).optional()
|
|
3414
3650
|
});
|
|
3415
3651
|
var MessagesSendResult = import_zod34.z.strictObject({ sent: import_zod34.z.boolean() });
|
|
3416
3652
|
var ContactsSearchParams = import_zod34.z.strictObject({
|
|
@@ -3964,6 +4200,16 @@ var OPS = {
|
|
|
3964
4200
|
"web.scrape": { params: WebScrapeParams, result: WebScrapeResult, kind: "unary", since: "1.22", errors: ["INVALID_PARAMS", "TIMEOUT", "RESOURCE_BUSY", "AUTH_REQUIRED", "INTERNAL"] },
|
|
3965
4201
|
"web.search": { params: WebSearchParams, result: WebSearchResult, kind: "unary", since: "1.22", errors: ["INVALID_PARAMS", "TIMEOUT", "RESOURCE_BUSY", "AUTH_REQUIRED", "INTERNAL"] },
|
|
3966
4202
|
"web.fetch_with_browser": { params: WebBrowserFetchParams, result: WebBrowserFetchResult, kind: "unary", since: "1.22", errors: ["INVALID_PARAMS", "TIMEOUT", "RESOURCE_BUSY", "AUTH_REQUIRED", "INTERNAL"] },
|
|
4203
|
+
"web.runtime.state": { params: WebRuntimeParams, result: WebRuntimeState, kind: "unary", since: "1.40", errors: ["INTERNAL"] },
|
|
4204
|
+
"web.runtime.install": { params: WebRuntimeParams, result: WebRuntimeState, kind: "unary", since: "1.40", errors: ["TIMEOUT", "RESOURCE_BUSY", "CANCELLED", "INTERNAL"] },
|
|
4205
|
+
"web.runtime.remove": { params: WebRuntimeParams, result: WebRuntimeState, kind: "unary", since: "1.40", errors: ["RESOURCE_BUSY", "INTERNAL"] },
|
|
4206
|
+
"web.outbox.list": { params: WebOutboxListParams, result: WebOutboxListResult, kind: "unary", since: "1.40", errors: ["INTERNAL"] },
|
|
4207
|
+
"web.outbox.retry": { params: WebOutboxRetryParams, result: WebOutboxRetryResult, kind: "unary", since: "1.40", errors: ["NOT_FOUND", "AUTH_REQUIRED", "INTERNAL"] },
|
|
4208
|
+
"web.outbox.discard": { params: WebOutboxDiscardParams, result: WebOutboxDiscardResult, kind: "unary", since: "1.40", errors: ["NOT_FOUND", "INTERNAL"] },
|
|
4209
|
+
"web.log.list": { params: WebLogListParams, result: WebLogListResult, kind: "unary", since: "1.40", errors: ["INVALID_PARAMS"] },
|
|
4210
|
+
"web.log.clear": { params: WebLogClearParams, result: WebLogClearResult, kind: "unary", since: "1.40", errors: ["INTERNAL"] },
|
|
4211
|
+
"web.research.queue": { params: WebResearchQueueParams, result: WebResearchQueueResult, kind: "unary", since: "1.40", errors: ["INVALID_PARAMS", "INTERNAL"] },
|
|
4212
|
+
"web.research.fetch": { params: WebResearchFetchParams, result: WebResearchFetchResult, kind: "unary", since: "1.40", errors: ["INVALID_PARAMS", "AUTH_REQUIRED", "RESOURCE_BUSY", "CANCELLED", "INTERNAL"] },
|
|
3967
4213
|
// 1.23: the signed-in person's own agents and Vault, read as them (the desktop's Agents library and Vault).
|
|
3968
4214
|
"account.agents.list": { params: AccountAgentsListParams, result: AccountAgentsListResult, kind: "unary", since: "1.23", errors: ["INTERNAL"] },
|
|
3969
4215
|
"account.vault.list": { params: AccountVaultListParams, result: AccountVaultListResult, kind: "unary", since: "1.23", errors: ["INTERNAL"] },
|
|
@@ -4054,7 +4300,9 @@ var EVENTS = {
|
|
|
4054
4300
|
"diag.errors.changed": DiagErrorsChangedEvent,
|
|
4055
4301
|
"browser.invoke": BrowserInvokeEvent,
|
|
4056
4302
|
"browser.sessions_changed": BrowserSessionsChangedEvent,
|
|
4057
|
-
"browser.progress": BrowserProgressEvent
|
|
4303
|
+
"browser.progress": BrowserProgressEvent,
|
|
4304
|
+
"web.log.entry": WebLogEntry,
|
|
4305
|
+
"web.progress": WebProgressEvent
|
|
4058
4306
|
};
|
|
4059
4307
|
|
|
4060
4308
|
// src/versioning.ts
|
|
@@ -4071,7 +4319,9 @@ var RESULT_PATH = /* @__PURE__ */ new Map([
|
|
|
4071
4319
|
["apps.chats.list", "AppsChatsListResult"],
|
|
4072
4320
|
["apps.accounts.usage", "AppsAccountsUsageResult"],
|
|
4073
4321
|
["apps.accounts.resets", "AppsAccountsResetsResult"],
|
|
4074
|
-
["apps.windows.update_state", "AppsWindowsUpdateStateResult"]
|
|
4322
|
+
["apps.windows.update_state", "AppsWindowsUpdateStateResult"],
|
|
4323
|
+
["web.fetch_with_browser", "WebBrowserFetchResult"],
|
|
4324
|
+
["sysinfo.get", "SysinfoGetResult"]
|
|
4075
4325
|
]);
|
|
4076
4326
|
var NESTED_RESULTS = /* @__PURE__ */ new Map([
|
|
4077
4327
|
["apps.chats.list", [["chats", "ChatRow"]]],
|
|
@@ -4084,7 +4334,9 @@ var NESTED_RESULTS = /* @__PURE__ */ new Map([
|
|
|
4084
4334
|
["apps.accounts.usage", [["accounts", "AccountUsage"]]],
|
|
4085
4335
|
["resources.snapshot", [["disks", "ResourcesDisk"]]],
|
|
4086
4336
|
["stack.state", [["servers", "StackServer"]]],
|
|
4087
|
-
["account.agents.list", [["agents", "AccountAgent"]]]
|
|
4337
|
+
["account.agents.list", [["agents", "AccountAgent"]]],
|
|
4338
|
+
["web.scrape", [["pages", "WebScrapePage"]]],
|
|
4339
|
+
["sysinfo.get", [["permissions", "SysinfoGetResult.permissions[]"]]]
|
|
4088
4340
|
]);
|
|
4089
4341
|
var WINDOW_RESULTS = /* @__PURE__ */ new Map([
|
|
4090
4342
|
["window.list", "windows"],
|