@ai-matrx/desktop-protocol 0.21.15 → 0.21.17
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 +787 -604
- 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 +787 -604
- package/dist/client.js.map +1 -1
- package/dist/index.cjs +997 -754
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +345 -6
- package/dist/index.d.ts +345 -6
- package/dist/index.js +997 -754
- package/dist/index.js.map +1 -1
- package/dist/{models-BFxuhPGw.d.cts → models-xHAz1vPQ.d.cts} +498 -1
- package/dist/{models-BFxuhPGw.d.ts → models-xHAz1vPQ.d.ts} +498 -1
- package/dist/react.d.cts +236 -0
- package/dist/react.d.ts +236 -0
- package/generated/desktop-protocol.schema.json +952 -19
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -21,8 +21,17 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var src_exports = {};
|
|
22
22
|
__export(src_exports, {
|
|
23
23
|
AbsPath: () => AbsPath,
|
|
24
|
+
AccountAgent: () => AccountAgent,
|
|
25
|
+
AccountAgentsListParams: () => AccountAgentsListParams,
|
|
26
|
+
AccountAgentsListResult: () => AccountAgentsListResult,
|
|
27
|
+
AccountReadState: () => AccountReadState,
|
|
24
28
|
AccountReset: () => AccountReset,
|
|
29
|
+
AccountRowId: () => AccountRowId,
|
|
25
30
|
AccountUsage: () => AccountUsage,
|
|
31
|
+
AccountVaultCopyParams: () => AccountVaultCopyParams,
|
|
32
|
+
AccountVaultCopyResult: () => AccountVaultCopyResult,
|
|
33
|
+
AccountVaultListParams: () => AccountVaultListParams,
|
|
34
|
+
AccountVaultListResult: () => AccountVaultListResult,
|
|
26
35
|
AppFeatureStatus: () => AppFeatureStatus,
|
|
27
36
|
AppInfo: () => AppInfo,
|
|
28
37
|
AppKey: () => AppKey,
|
|
@@ -98,10 +107,13 @@ __export(src_exports, {
|
|
|
98
107
|
AudioDevice: () => AudioDevice,
|
|
99
108
|
AudioDevicesParams: () => AudioDevicesParams,
|
|
100
109
|
AudioDevicesResult: () => AudioDevicesResult,
|
|
110
|
+
AudioLevelsParams: () => AudioLevelsParams,
|
|
111
|
+
AudioLevelsResult: () => AudioLevelsResult,
|
|
101
112
|
AudioPlayParams: () => AudioPlayParams,
|
|
102
113
|
AudioPlayResult: () => AudioPlayResult,
|
|
103
114
|
AudioRecordParams: () => AudioRecordParams,
|
|
104
115
|
AudioRecordResult: () => AudioRecordResult,
|
|
116
|
+
AudioSetLevelsParams: () => AudioSetLevelsParams,
|
|
105
117
|
BEARER_PREFIX: () => BEARER_PREFIX,
|
|
106
118
|
BROADCAST_CID: () => BROADCAST_CID,
|
|
107
119
|
CLOSE_RULES: () => CLOSE_RULES,
|
|
@@ -260,11 +272,14 @@ __export(src_exports, {
|
|
|
260
272
|
InputHotkeyParams: () => InputHotkeyParams,
|
|
261
273
|
InputHotkeyResult: () => InputHotkeyResult,
|
|
262
274
|
InputKey: () => InputKey,
|
|
275
|
+
InputKeyboardSettingsParams: () => InputKeyboardSettingsParams,
|
|
276
|
+
InputKeyboardSettingsResult: () => InputKeyboardSettingsResult,
|
|
263
277
|
InputMouseClickParams: () => InputMouseClickParams,
|
|
264
278
|
InputMouseClickResult: () => InputMouseClickResult,
|
|
265
279
|
InputMouseMoveParams: () => InputMouseMoveParams,
|
|
266
280
|
InputMouseMoveResult: () => InputMouseMoveResult,
|
|
267
281
|
InputPoint: () => InputPoint,
|
|
282
|
+
InputSetKeyboardSettingsParams: () => InputSetKeyboardSettingsParams,
|
|
268
283
|
InputTypeTextParams: () => InputTypeTextParams,
|
|
269
284
|
InputTypeTextResult: () => InputTypeTextResult,
|
|
270
285
|
LEGACY_ACTIONS: () => LEGACY_ACTIONS,
|
|
@@ -295,6 +310,10 @@ __export(src_exports, {
|
|
|
295
310
|
PROTOCOL_MAJOR: () => PROTOCOL_MAJOR,
|
|
296
311
|
PROTOCOL_MINOR: () => PROTOCOL_MINOR,
|
|
297
312
|
PROTOCOL_VERSION: () => PROTOCOL_VERSION,
|
|
313
|
+
PowerEnergy: () => PowerEnergy,
|
|
314
|
+
PowerHistoryParams: () => PowerHistoryParams,
|
|
315
|
+
PowerHistoryPoint: () => PowerHistoryPoint,
|
|
316
|
+
PowerHistoryResult: () => PowerHistoryResult,
|
|
298
317
|
PowerPreventSleepParams: () => PowerPreventSleepParams,
|
|
299
318
|
PowerPreventSleepResult: () => PowerPreventSleepResult,
|
|
300
319
|
PowerStatusParams: () => PowerStatusParams,
|
|
@@ -384,6 +403,7 @@ __export(src_exports, {
|
|
|
384
403
|
Signal: () => Signal,
|
|
385
404
|
SpendAccount: () => SpendAccount,
|
|
386
405
|
SpendChat: () => SpendChat,
|
|
406
|
+
SpendDay: () => SpendDay,
|
|
387
407
|
SpendHelper: () => SpendHelper,
|
|
388
408
|
SpendIdle: () => SpendIdle,
|
|
389
409
|
SpendIdleScope: () => SpendIdleScope,
|
|
@@ -411,12 +431,17 @@ __export(src_exports, {
|
|
|
411
431
|
StreamMsg: () => StreamMsg,
|
|
412
432
|
SysinfoGetParams: () => SysinfoGetParams,
|
|
413
433
|
SysinfoGetResult: () => SysinfoGetResult,
|
|
434
|
+
SysinfoHardwareParams: () => SysinfoHardwareParams,
|
|
435
|
+
SysinfoHardwareResult: () => SysinfoHardwareResult,
|
|
414
436
|
SystemNotifyParams: () => SystemNotifyParams,
|
|
415
437
|
SystemNotifyResult: () => SystemNotifyResult,
|
|
416
438
|
SystemOpenPathParams: () => SystemOpenPathParams,
|
|
417
439
|
SystemOpenPathResult: () => SystemOpenPathResult,
|
|
440
|
+
SystemOpenSettingsParams: () => SystemOpenSettingsParams,
|
|
441
|
+
SystemOpenSettingsResult: () => SystemOpenSettingsResult,
|
|
418
442
|
SystemOpenUrlParams: () => SystemOpenUrlParams,
|
|
419
443
|
SystemOpenUrlResult: () => SystemOpenUrlResult,
|
|
444
|
+
SystemSettingsPane: () => SystemSettingsPane,
|
|
420
445
|
TOOL_CATALOG: () => TOOL_CATALOG,
|
|
421
446
|
TOOL_GROUPS: () => TOOL_GROUPS,
|
|
422
447
|
TOOL_LEVELS: () => TOOL_LEVELS,
|
|
@@ -434,6 +459,9 @@ __export(src_exports, {
|
|
|
434
459
|
TranscriptionModelId: () => TranscriptionModelId,
|
|
435
460
|
TranscriptionModelInfo: () => TranscriptionModelInfo,
|
|
436
461
|
VERSIONED_RESULT_OPS: () => VERSIONED_RESULT_OPS,
|
|
462
|
+
VaultFieldSummary: () => VaultFieldSummary,
|
|
463
|
+
VaultItemKind: () => VaultItemKind,
|
|
464
|
+
VaultItemSummary: () => VaultItemSummary,
|
|
437
465
|
WEB_MAX_TEXT_CHARS: () => WEB_MAX_TEXT_CHARS,
|
|
438
466
|
WebBrowserFetchParams: () => WebBrowserFetchParams,
|
|
439
467
|
WebBrowserFetchResult: () => WebBrowserFetchResult,
|
|
@@ -488,7 +516,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
488
516
|
var import_zod = require("zod");
|
|
489
517
|
var import_uuid = require("@ai-matrx/kit/uuid");
|
|
490
518
|
var PROTOCOL_MAJOR = 1;
|
|
491
|
-
var PROTOCOL_MINOR =
|
|
519
|
+
var PROTOCOL_MINOR = 24;
|
|
492
520
|
var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
|
|
493
521
|
var ProtocolVersion = import_zod.z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
|
|
494
522
|
var RequestId = import_zod.z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
|
|
@@ -901,6 +929,23 @@ var SysinfoGetResult = import_zod5.z.strictObject({
|
|
|
901
929
|
})
|
|
902
930
|
)
|
|
903
931
|
});
|
|
932
|
+
var SysinfoHardwareParams = import_zod5.z.strictObject({});
|
|
933
|
+
var SysinfoHardwareResult = import_zod5.z.strictObject({
|
|
934
|
+
/** "Mac Studio", "MacBook Pro", "ThinkPad X1 Carbon". */
|
|
935
|
+
model_name: import_zod5.z.string().max(128).nullable(),
|
|
936
|
+
/** What tells two of that model apart: "M3 Ultra, 2025", "14-inch, Nov 2023". */
|
|
937
|
+
model_detail: import_zod5.z.string().max(128).nullable(),
|
|
938
|
+
/** "Mac15,14", the vendor's model number. */
|
|
939
|
+
model_identifier: import_zod5.z.string().max(128).nullable(),
|
|
940
|
+
/** "Apple M3 Ultra", "Intel Core i7-1185G7". */
|
|
941
|
+
chip: import_zod5.z.string().max(128).nullable(),
|
|
942
|
+
serial_number: import_zod5.z.string().max(128).nullable(),
|
|
943
|
+
/** The OS's own name with its release name: "macOS Tahoe", "Windows 11 Pro", "Ubuntu". */
|
|
944
|
+
os_name: import_zod5.z.string().max(64).nullable(),
|
|
945
|
+
/** "26.6.2". */
|
|
946
|
+
os_version: import_zod5.z.string().max(64).nullable(),
|
|
947
|
+
os_build: import_zod5.z.string().max(64).nullable()
|
|
948
|
+
});
|
|
904
949
|
|
|
905
950
|
// src/schema/fs.ts
|
|
906
951
|
var import_zod6 = require("zod");
|
|
@@ -1286,24 +1331,96 @@ var ModelsStatusResult = import_zod10.z.strictObject({
|
|
|
1286
1331
|
});
|
|
1287
1332
|
var ModelsProgressEvent = import_zod10.z.strictObject({ request_id: RequestId, progress: MlProgress });
|
|
1288
1333
|
|
|
1289
|
-
// src/schema/
|
|
1334
|
+
// src/schema/account.ts
|
|
1290
1335
|
var import_zod11 = require("zod");
|
|
1291
1336
|
var import_uuid2 = require("@ai-matrx/kit/uuid");
|
|
1292
|
-
var
|
|
1293
|
-
var
|
|
1294
|
-
var
|
|
1295
|
-
|
|
1296
|
-
|
|
1337
|
+
var AccountRowId = import_zod11.z.string().regex(import_uuid2.UUID_SHAPE_PATTERN);
|
|
1338
|
+
var AccountReadState = import_zod11.z.enum(["ok", "signed_out", "unavailable"]);
|
|
1339
|
+
var AccountAgent = import_zod11.z.strictObject({
|
|
1340
|
+
id: AccountRowId,
|
|
1341
|
+
name: import_zod11.z.string().min(1).max(200),
|
|
1342
|
+
description: import_zod11.z.string().max(2e3),
|
|
1343
|
+
/** The agent's category ("" when it has none): the library's folders. */
|
|
1344
|
+
category: import_zod11.z.string().max(120),
|
|
1345
|
+
/** The agent's kind as the platform names it (user, builtin, orchestra…). */
|
|
1346
|
+
agent_type: import_zod11.z.string().max(40),
|
|
1347
|
+
is_favorite: import_zod11.z.boolean(),
|
|
1348
|
+
/** The person owns it (false: shared with them). */
|
|
1349
|
+
is_owner: import_zod11.z.boolean(),
|
|
1350
|
+
/** Who shared it, when it is shared with the person. */
|
|
1351
|
+
shared_by: import_zod11.z.string().max(320).nullable(),
|
|
1352
|
+
/** The organization it belongs to. */
|
|
1353
|
+
organization: import_zod11.z.string().max(200).nullable(),
|
|
1354
|
+
updated_at_ms: epochMs
|
|
1355
|
+
});
|
|
1356
|
+
var AccountAgentsListParams = import_zod11.z.strictObject({});
|
|
1357
|
+
var AccountAgentsListResult = import_zod11.z.strictObject({
|
|
1358
|
+
state: AccountReadState,
|
|
1359
|
+
/** One line when state is not "ok" (what went wrong, in plain words); null otherwise. */
|
|
1360
|
+
problem: import_zod11.z.string().max(300).nullable(),
|
|
1361
|
+
agents: import_zod11.z.array(AccountAgent).max(2e3)
|
|
1362
|
+
});
|
|
1363
|
+
var VaultItemKind = import_zod11.z.enum(["login", "passkey", "key", "other"]);
|
|
1364
|
+
var VaultFieldSummary = import_zod11.z.strictObject({
|
|
1365
|
+
key: import_zod11.z.string().min(1).max(120),
|
|
1366
|
+
/** visible: shown as written; revealable: copyable on request; sealed: never leaves the server. */
|
|
1367
|
+
handling: import_zod11.z.enum(["visible", "revealable", "sealed"]),
|
|
1368
|
+
/** The masked hint the server keeps ("••••ab12"), or "" when it keeps none. */
|
|
1369
|
+
hint: import_zod11.z.string().max(200)
|
|
1370
|
+
});
|
|
1371
|
+
var VaultItemSummary = import_zod11.z.strictObject({
|
|
1372
|
+
id: AccountRowId,
|
|
1373
|
+
name: import_zod11.z.string().min(1).max(200),
|
|
1374
|
+
kind: VaultItemKind,
|
|
1375
|
+
/** The platform's definition ("website_login", "native_passkey", "custom"…). */
|
|
1376
|
+
definition: import_zod11.z.string().max(80),
|
|
1377
|
+
/** The sign-in's user name hint (its "username" field's hint); null when it has none. */
|
|
1378
|
+
username: import_zod11.z.string().max(200).nullable(),
|
|
1379
|
+
/** The sites a sign-in is for. */
|
|
1380
|
+
urls: import_zod11.z.array(import_zod11.z.string().max(2048)).max(20),
|
|
1381
|
+
notes: import_zod11.z.string().max(4e3).nullable(),
|
|
1382
|
+
fields: import_zod11.z.array(VaultFieldSummary).max(50),
|
|
1383
|
+
/** Shared with the person by someone else (Passwords' shared groups). */
|
|
1384
|
+
shared: import_zod11.z.boolean(),
|
|
1385
|
+
/** active, or the server's other states (a deleted item waits in "deleted"). */
|
|
1386
|
+
status: import_zod11.z.string().max(40),
|
|
1387
|
+
created_at_ms: epochMs,
|
|
1388
|
+
updated_at_ms: epochMs
|
|
1389
|
+
});
|
|
1390
|
+
var AccountVaultListParams = import_zod11.z.strictObject({});
|
|
1391
|
+
var AccountVaultListResult = import_zod11.z.strictObject({
|
|
1392
|
+
state: AccountReadState,
|
|
1393
|
+
problem: import_zod11.z.string().max(300).nullable(),
|
|
1394
|
+
items: import_zod11.z.array(VaultItemSummary).max(5e3)
|
|
1395
|
+
});
|
|
1396
|
+
var AccountVaultCopyParams = import_zod11.z.strictObject({
|
|
1397
|
+
item_id: AccountRowId,
|
|
1398
|
+
field_key: import_zod11.z.string().min(1).max(120)
|
|
1399
|
+
});
|
|
1400
|
+
var AccountVaultCopyResult = import_zod11.z.strictObject({
|
|
1401
|
+
copied: import_zod11.z.boolean(),
|
|
1402
|
+
/** When the clipboard is cleared again if it still holds the value (Passwords clears a copied password). */
|
|
1403
|
+
clears_at_ms: epochMs
|
|
1404
|
+
});
|
|
1405
|
+
|
|
1406
|
+
// src/schema/apps.ts
|
|
1407
|
+
var import_zod12 = require("zod");
|
|
1408
|
+
var import_uuid3 = require("@ai-matrx/kit/uuid");
|
|
1409
|
+
var AppKey = import_zod12.z.string().regex(/^[a-z][a-z0-9_-]{0,39}$/);
|
|
1410
|
+
var AppProfileId = import_zod12.z.string().regex(import_uuid3.UUID_SHAPE_PATTERN);
|
|
1411
|
+
var AppProfileLocator = import_zod12.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}$/);
|
|
1412
|
+
var AppSupport = import_zod12.z.enum(["supported", "partial", "unsupported"]);
|
|
1413
|
+
var AppFeatureStatus = import_zod12.z.strictObject({
|
|
1297
1414
|
status: AppSupport,
|
|
1298
1415
|
/** One line, set whenever status is not "supported". */
|
|
1299
|
-
reason:
|
|
1416
|
+
reason: import_zod12.z.string().max(140).nullable()
|
|
1300
1417
|
});
|
|
1301
|
-
var AppInfo =
|
|
1418
|
+
var AppInfo = import_zod12.z.strictObject({
|
|
1302
1419
|
app_key: AppKey,
|
|
1303
|
-
name:
|
|
1304
|
-
installed:
|
|
1420
|
+
name: import_zod12.z.string().max(64),
|
|
1421
|
+
installed: import_zod12.z.boolean(),
|
|
1305
1422
|
/** The app's own version string, or null when it is not installed or does not say. */
|
|
1306
|
-
version:
|
|
1423
|
+
version: import_zod12.z.string().max(64).nullable(),
|
|
1307
1424
|
/** The install found (an .app bundle, an .exe, a binary), or null. */
|
|
1308
1425
|
location: AbsPath.nullable(),
|
|
1309
1426
|
/** Open the app at all on this OS. */
|
|
@@ -1313,148 +1430,148 @@ var AppInfo = import_zod11.z.strictObject({
|
|
|
1313
1430
|
/** Plan usage read from the app's own files on this OS. */
|
|
1314
1431
|
usage: AppFeatureStatus
|
|
1315
1432
|
});
|
|
1316
|
-
var AppUsageReading =
|
|
1317
|
-
window:
|
|
1433
|
+
var AppUsageReading = import_zod12.z.strictObject({
|
|
1434
|
+
window: import_zod12.z.enum(["five_hour", "weekly", "extra"]),
|
|
1318
1435
|
/** 0–100 for five_hour and weekly; extra-usage spend as a percent of its cap (may pass 100). */
|
|
1319
|
-
percent:
|
|
1436
|
+
percent: import_zod12.z.number().min(0).max(1e4),
|
|
1320
1437
|
/** When the app recorded it. */
|
|
1321
1438
|
sampled_at_ms: epochMs,
|
|
1322
1439
|
/** True when the window has rolled over since the sample, so the figure has reset. */
|
|
1323
|
-
reset_since:
|
|
1440
|
+
reset_since: import_zod12.z.boolean()
|
|
1324
1441
|
});
|
|
1325
|
-
var AppProfile =
|
|
1442
|
+
var AppProfile = import_zod12.z.strictObject({
|
|
1326
1443
|
/** The row's id; null for a folder found on disk that no row names yet. */
|
|
1327
1444
|
id: AppProfileId.nullable(),
|
|
1328
1445
|
app_key: AppKey,
|
|
1329
|
-
display_name:
|
|
1446
|
+
display_name: import_zod12.z.string().min(1).max(120),
|
|
1330
1447
|
/** The account the person means to be signed in here; null when not stated (never guessed). */
|
|
1331
|
-
account_identity:
|
|
1448
|
+
account_identity: import_zod12.z.string().min(3).max(320).nullable(),
|
|
1332
1449
|
profile_locator: AppProfileLocator.nullable(),
|
|
1333
1450
|
/** The device the row is tied to; null when the row names none. */
|
|
1334
1451
|
device_id: DeviceId.nullable(),
|
|
1335
1452
|
/** The folder this profile resolves to on this device; null for a row tied to another device. */
|
|
1336
1453
|
folder: AbsPath.nullable(),
|
|
1337
1454
|
/** The folder exists on this device. */
|
|
1338
|
-
on_disk:
|
|
1455
|
+
on_disk: import_zod12.z.boolean(),
|
|
1339
1456
|
/** An instance with this profile is running; null when it could not be determined. */
|
|
1340
|
-
running:
|
|
1457
|
+
running: import_zod12.z.boolean().nullable(),
|
|
1341
1458
|
/** Usage the app recorded for this profile; null when the app exposes none here. */
|
|
1342
|
-
usage:
|
|
1459
|
+
usage: import_zod12.z.array(AppUsageReading).nullable(),
|
|
1343
1460
|
last_opened_ms: epochMs.nullable()
|
|
1344
1461
|
});
|
|
1345
|
-
var AppsListParams =
|
|
1346
|
-
var AppsListResult =
|
|
1347
|
-
var AppsProfilesListParams =
|
|
1462
|
+
var AppsListParams = import_zod12.z.strictObject({});
|
|
1463
|
+
var AppsListResult = import_zod12.z.strictObject({ apps: import_zod12.z.array(AppInfo) });
|
|
1464
|
+
var AppsProfilesListParams = import_zod12.z.strictObject({
|
|
1348
1465
|
/** Only this app's profiles; every app's when absent. */
|
|
1349
1466
|
app_key: AppKey.optional()
|
|
1350
1467
|
});
|
|
1351
|
-
var AppsProfilesListResult =
|
|
1352
|
-
profiles:
|
|
1468
|
+
var AppsProfilesListResult = import_zod12.z.strictObject({
|
|
1469
|
+
profiles: import_zod12.z.array(AppProfile),
|
|
1353
1470
|
/**
|
|
1354
1471
|
* Whether the saved rows could be read: false while signed out or offline, when only folders
|
|
1355
1472
|
* found on disk are listed.
|
|
1356
1473
|
*/
|
|
1357
|
-
registry:
|
|
1474
|
+
registry: import_zod12.z.enum(["ok", "signed_out", "unavailable"])
|
|
1358
1475
|
});
|
|
1359
|
-
var AppsProfilesSaveParams =
|
|
1476
|
+
var AppsProfilesSaveParams = import_zod12.z.strictObject({
|
|
1360
1477
|
id: AppProfileId.optional(),
|
|
1361
1478
|
app_key: AppKey,
|
|
1362
|
-
display_name:
|
|
1363
|
-
account_identity:
|
|
1479
|
+
display_name: import_zod12.z.string().min(1).max(120),
|
|
1480
|
+
account_identity: import_zod12.z.string().min(3).max(320).nullable(),
|
|
1364
1481
|
/** On create: the folder to use (one found on disk), or null for the app's default profile. Ignored on update. */
|
|
1365
1482
|
profile_locator: AppProfileLocator.nullable(),
|
|
1366
1483
|
/** On create with profile_locator null: make a new folder named after display_name instead. */
|
|
1367
|
-
new_folder:
|
|
1484
|
+
new_folder: import_zod12.z.boolean().default(false)
|
|
1368
1485
|
});
|
|
1369
1486
|
var AppsProfilesSaveResult = AppProfile;
|
|
1370
|
-
var AppsProfilesRemoveParams =
|
|
1371
|
-
var AppsProfilesRemoveResult =
|
|
1372
|
-
var AppsOpenParams =
|
|
1487
|
+
var AppsProfilesRemoveParams = import_zod12.z.strictObject({ id: AppProfileId });
|
|
1488
|
+
var AppsProfilesRemoveResult = import_zod12.z.strictObject({ removed: import_zod12.z.boolean() });
|
|
1489
|
+
var AppsOpenParams = import_zod12.z.strictObject({
|
|
1373
1490
|
app_key: AppKey,
|
|
1374
1491
|
profile_id: AppProfileId.optional()
|
|
1375
1492
|
});
|
|
1376
|
-
var AppsOpenResult =
|
|
1493
|
+
var AppsOpenResult = import_zod12.z.strictObject({
|
|
1377
1494
|
/** True when an instance with this profile was already running; it is brought forward. */
|
|
1378
|
-
already_running:
|
|
1495
|
+
already_running: import_zod12.z.boolean(),
|
|
1379
1496
|
folder: AbsPath.nullable()
|
|
1380
1497
|
});
|
|
1381
1498
|
|
|
1382
1499
|
// src/schema/apps-chats.ts
|
|
1383
|
-
var
|
|
1384
|
-
var ChatId =
|
|
1385
|
-
var ChatPlace =
|
|
1386
|
-
var ChatProjectId =
|
|
1387
|
-
var ChatWindow =
|
|
1500
|
+
var import_zod13 = require("zod");
|
|
1501
|
+
var ChatId = import_zod13.z.string().regex(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/);
|
|
1502
|
+
var ChatPlace = import_zod13.z.string().regex(/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/);
|
|
1503
|
+
var ChatProjectId = import_zod13.z.string().regex(/^[a-z0-9][a-z0-9-]{0,63}$/);
|
|
1504
|
+
var ChatWindow = import_zod13.z.strictObject({
|
|
1388
1505
|
key: ChatPlace,
|
|
1389
1506
|
/** The app's default profile (Claude: the main window, which lists every account's chats). */
|
|
1390
|
-
main:
|
|
1507
|
+
main: import_zod13.z.boolean(),
|
|
1391
1508
|
/** The account the window is signed into, when known. */
|
|
1392
|
-
account:
|
|
1509
|
+
account: import_zod13.z.string().max(320).nullable()
|
|
1393
1510
|
});
|
|
1394
|
-
var ChatProject =
|
|
1511
|
+
var ChatProject = import_zod13.z.strictObject({
|
|
1395
1512
|
id: ChatProjectId,
|
|
1396
|
-
name:
|
|
1397
|
-
archived:
|
|
1513
|
+
name: import_zod13.z.string().min(1).max(200),
|
|
1514
|
+
archived: import_zod13.z.boolean(),
|
|
1398
1515
|
/** Chats in it. */
|
|
1399
1516
|
count: nonNegInt
|
|
1400
1517
|
});
|
|
1401
|
-
var ChatPin =
|
|
1518
|
+
var ChatPin = import_zod13.z.strictObject({
|
|
1402
1519
|
/** The window whose account pins it; an account with no window of its own is named by its email. */
|
|
1403
|
-
window:
|
|
1520
|
+
window: import_zod13.z.string().min(1).max(320),
|
|
1404
1521
|
/** When that account's pin list was last read; null when the reading has no time. */
|
|
1405
1522
|
observed_at_ms: epochMs.nullable()
|
|
1406
1523
|
});
|
|
1407
|
-
var ChatRunning =
|
|
1524
|
+
var ChatRunning = import_zod13.z.strictObject({
|
|
1408
1525
|
window: ChatPlace,
|
|
1409
1526
|
/** process: a live process resumed this chat there (exact); activity: that window's own record moved in the last 3 minutes. */
|
|
1410
|
-
how:
|
|
1527
|
+
how: import_zod13.z.enum(["process", "activity"])
|
|
1411
1528
|
});
|
|
1412
|
-
var ChatHidden =
|
|
1529
|
+
var ChatHidden = import_zod13.z.strictObject({
|
|
1413
1530
|
window: ChatPlace,
|
|
1414
|
-
reason:
|
|
1531
|
+
reason: import_zod13.z.string().max(200)
|
|
1415
1532
|
});
|
|
1416
|
-
var ChatLastUse =
|
|
1533
|
+
var ChatLastUse = import_zod13.z.strictObject({
|
|
1417
1534
|
/** The conversation's last reply. */
|
|
1418
1535
|
at_ms: epochMs,
|
|
1419
1536
|
window: ChatPlace.nullable(),
|
|
1420
|
-
account:
|
|
1537
|
+
account: import_zod13.z.string().max(320).nullable(),
|
|
1421
1538
|
/** How the window was decided (one short line). */
|
|
1422
|
-
how:
|
|
1539
|
+
how: import_zod13.z.string().max(120).nullable(),
|
|
1423
1540
|
/** The account's 1-hour prompt cache is still warm. */
|
|
1424
|
-
cache_warm:
|
|
1541
|
+
cache_warm: import_zod13.z.boolean(),
|
|
1425
1542
|
cache_minutes_left: nonNegInt
|
|
1426
1543
|
});
|
|
1427
|
-
var ChatAppProject =
|
|
1428
|
-
id:
|
|
1429
|
-
name:
|
|
1544
|
+
var ChatAppProject = import_zod13.z.strictObject({
|
|
1545
|
+
id: import_zod13.z.string().min(1).max(200),
|
|
1546
|
+
name: import_zod13.z.string().max(200)
|
|
1430
1547
|
});
|
|
1431
|
-
var ChatTitleSource =
|
|
1432
|
-
var ChatRow =
|
|
1548
|
+
var ChatTitleSource = import_zod13.z.enum(["app", "app-remembered", "custom-title", "ai-title", "agent-name", "summary", "first-prompt", "last-prompt"]);
|
|
1549
|
+
var ChatRow = import_zod13.z.strictObject({
|
|
1433
1550
|
id: ChatId,
|
|
1434
1551
|
/** The short id people see (the listing's first 8 characters). */
|
|
1435
|
-
short_id:
|
|
1552
|
+
short_id: import_zod13.z.string().max(16),
|
|
1436
1553
|
/** The listing's own name (Claude: local_<id>), null for a chat only in the holder. */
|
|
1437
|
-
record:
|
|
1438
|
-
title:
|
|
1554
|
+
record: import_zod13.z.string().max(160).nullable(),
|
|
1555
|
+
title: import_zod13.z.string().max(1e3),
|
|
1439
1556
|
last_active_ms: epochMs.nullable(),
|
|
1440
1557
|
created_ms: epochMs.nullable(),
|
|
1441
|
-
projects:
|
|
1442
|
-
starred:
|
|
1443
|
-
pinned_in:
|
|
1558
|
+
projects: import_zod13.z.array(ChatProjectId).max(500),
|
|
1559
|
+
starred: import_zod13.z.boolean(),
|
|
1560
|
+
pinned_in: import_zod13.z.array(ChatPin).max(200),
|
|
1444
1561
|
/** Every place it is listed now: window keys, plus "holder". */
|
|
1445
|
-
places:
|
|
1446
|
-
held:
|
|
1447
|
-
running:
|
|
1448
|
-
hidden_in:
|
|
1562
|
+
places: import_zod13.z.array(ChatPlace).max(200),
|
|
1563
|
+
held: import_zod13.z.boolean(),
|
|
1564
|
+
running: import_zod13.z.array(ChatRunning).max(200),
|
|
1565
|
+
hidden_in: import_zod13.z.array(ChatHidden).max(200),
|
|
1449
1566
|
/** Kept out of the main window on purpose. */
|
|
1450
|
-
hidden_from_main:
|
|
1567
|
+
hidden_from_main: import_zod13.z.boolean(),
|
|
1451
1568
|
/** Listed in a side window and not yet copied into main. */
|
|
1452
|
-
main_pending:
|
|
1569
|
+
main_pending: import_zod13.z.boolean(),
|
|
1453
1570
|
/** A scheduled routine's run (its task id). */
|
|
1454
|
-
scheduled:
|
|
1571
|
+
scheduled: import_zod13.z.string().max(200).nullable(),
|
|
1455
1572
|
/** Created recently and in no project: offered for filing. */
|
|
1456
|
-
new_unfiled:
|
|
1457
|
-
warnings:
|
|
1573
|
+
new_unfiled: import_zod13.z.boolean(),
|
|
1574
|
+
warnings: import_zod13.z.array(import_zod13.z.string().max(400)).max(20),
|
|
1458
1575
|
last_use: ChatLastUse.nullable(),
|
|
1459
1576
|
/** 1.13: the app's own project the chat is grouped under in the app (Codex), read only; absent = none or not an app that groups. */
|
|
1460
1577
|
app_project: ChatAppProject.optional(),
|
|
@@ -1464,718 +1581,742 @@ var ChatRow = import_zod12.z.strictObject({
|
|
|
1464
1581
|
* 1.14: the chat's own title before the person's rename (the one title rule, `@ai-matrx/coding-sessions/sessions`);
|
|
1465
1582
|
* `title` is what to show (`title_override` when set, else this).
|
|
1466
1583
|
*/
|
|
1467
|
-
original_title:
|
|
1584
|
+
original_title: import_zod13.z.string().max(1e3).optional(),
|
|
1468
1585
|
/** 1.14: where `original_title` came from (the one rule's sources, strongest first; 1.15: a closed set). */
|
|
1469
1586
|
title_source: ChatTitleSource.optional(),
|
|
1470
1587
|
/** 1.14: the person's rename inside Matrx (Coding Sessions), applied once by the row builder; absent = none. */
|
|
1471
|
-
title_override:
|
|
1588
|
+
title_override: import_zod13.z.string().min(1).max(300).optional(),
|
|
1472
1589
|
/** 1.15: the app itself archived it (hidden_in says where and why, in words for people; this is the typed fact). */
|
|
1473
|
-
archived:
|
|
1590
|
+
archived: import_zod13.z.boolean().optional()
|
|
1474
1591
|
});
|
|
1475
|
-
var ChatFamily =
|
|
1592
|
+
var ChatFamily = import_zod13.z.strictObject({
|
|
1476
1593
|
id: ChatId,
|
|
1477
1594
|
fork_of: ChatId.nullable(),
|
|
1478
1595
|
copy_of: ChatId.nullable()
|
|
1479
1596
|
});
|
|
1480
|
-
var AppsChatsListParams =
|
|
1597
|
+
var AppsChatsListParams = import_zod13.z.strictObject({
|
|
1481
1598
|
app_key: AppKey,
|
|
1482
1599
|
/** Only these chats (a live update re-reads just what changed). */
|
|
1483
|
-
ids:
|
|
1600
|
+
ids: import_zod13.z.array(ChatId).max(500).optional()
|
|
1484
1601
|
});
|
|
1485
|
-
var AppsChatsListResult =
|
|
1602
|
+
var AppsChatsListResult = import_zod13.z.strictObject({
|
|
1486
1603
|
app_key: AppKey,
|
|
1487
1604
|
/** Bumps on every change the index sees; `apps.chats.changed` carries the same number. */
|
|
1488
1605
|
version: nonNegInt,
|
|
1489
|
-
windows:
|
|
1490
|
-
projects:
|
|
1491
|
-
chats:
|
|
1606
|
+
windows: import_zod13.z.array(ChatWindow).max(200),
|
|
1607
|
+
projects: import_zod13.z.array(ChatProject).max(5e3),
|
|
1608
|
+
chats: import_zod13.z.array(ChatRow).max(2e4),
|
|
1492
1609
|
/** How long a chat in no project counts as new. */
|
|
1493
1610
|
new_window_ms: nonNegInt,
|
|
1494
1611
|
/** 1.9: this is the copy saved at the last read, shown while everything is read again. */
|
|
1495
|
-
updating:
|
|
1612
|
+
updating: import_zod13.z.boolean().optional(),
|
|
1496
1613
|
/** 1.9: false while the folder watches are down (changes are not arriving); `apps.chats.watch_state` says when it changes. */
|
|
1497
|
-
live:
|
|
1614
|
+
live: import_zod13.z.boolean().optional(),
|
|
1498
1615
|
/** 1.10: every listed chat that is a fork or a copy of another (read from the conversations' first lines). */
|
|
1499
|
-
families:
|
|
1616
|
+
families: import_zod13.z.array(ChatFamily).max(2e4).optional()
|
|
1500
1617
|
});
|
|
1501
|
-
var AppsChatsWatchParams =
|
|
1502
|
-
var AppsChatsWatchResult =
|
|
1503
|
-
var AppsChatsChangedEvent =
|
|
1618
|
+
var AppsChatsWatchParams = import_zod13.z.strictObject({ app_key: AppKey });
|
|
1619
|
+
var AppsChatsWatchResult = import_zod13.z.strictObject({ resource_id: ResourceId, version: nonNegInt });
|
|
1620
|
+
var AppsChatsChangedEvent = import_zod13.z.strictObject({
|
|
1504
1621
|
app_key: AppKey,
|
|
1505
1622
|
version: nonNegInt,
|
|
1506
|
-
ids:
|
|
1507
|
-
all:
|
|
1623
|
+
ids: import_zod13.z.array(ChatId).max(1e3),
|
|
1624
|
+
all: import_zod13.z.boolean()
|
|
1508
1625
|
});
|
|
1509
|
-
var AppsChatsWatchStateEvent =
|
|
1626
|
+
var AppsChatsWatchStateEvent = import_zod13.z.strictObject({
|
|
1510
1627
|
app_key: AppKey,
|
|
1511
|
-
live:
|
|
1512
|
-
updating:
|
|
1513
|
-
reason:
|
|
1628
|
+
live: import_zod13.z.boolean(),
|
|
1629
|
+
updating: import_zod13.z.boolean(),
|
|
1630
|
+
reason: import_zod13.z.string().max(300).nullable()
|
|
1514
1631
|
});
|
|
1515
|
-
var AppsChatsPlaceParams =
|
|
1632
|
+
var AppsChatsPlaceParams = import_zod13.z.strictObject({
|
|
1516
1633
|
app_key: AppKey,
|
|
1517
1634
|
chat_id: ChatId,
|
|
1518
|
-
action:
|
|
1635
|
+
action: import_zod13.z.enum(["place", "take_off", "hold"]),
|
|
1519
1636
|
/** The window (for place and take_off). */
|
|
1520
1637
|
window: ChatPlace.optional(),
|
|
1521
1638
|
/** take_off where it is open: stop it there first (the person confirmed). */
|
|
1522
|
-
stop_if_open:
|
|
1639
|
+
stop_if_open: import_zod13.z.boolean().default(false)
|
|
1523
1640
|
});
|
|
1524
|
-
var AppsChatsPlaceResult =
|
|
1525
|
-
var AppsProjectsFileManyParams =
|
|
1641
|
+
var AppsChatsPlaceResult = import_zod13.z.strictObject({ chat: ChatRow, message: import_zod13.z.string().max(400) });
|
|
1642
|
+
var AppsProjectsFileManyParams = import_zod13.z.strictObject({
|
|
1526
1643
|
app_key: AppKey,
|
|
1527
|
-
chat_ids:
|
|
1644
|
+
chat_ids: import_zod13.z.array(ChatId).min(1).max(500),
|
|
1528
1645
|
project_id: ChatProjectId.optional(),
|
|
1529
|
-
new_project_name:
|
|
1646
|
+
new_project_name: import_zod13.z.string().min(1).max(200).optional()
|
|
1530
1647
|
});
|
|
1531
|
-
var AppsProjectsFileManyResult =
|
|
1532
|
-
var AppsProjectsUpdateParams =
|
|
1648
|
+
var AppsProjectsFileManyResult = import_zod13.z.strictObject({ chats: import_zod13.z.array(ChatRow).max(500), project: ChatProject });
|
|
1649
|
+
var AppsProjectsUpdateParams = import_zod13.z.strictObject({
|
|
1533
1650
|
app_key: AppKey,
|
|
1534
1651
|
project_id: ChatProjectId,
|
|
1535
|
-
name:
|
|
1536
|
-
archived:
|
|
1652
|
+
name: import_zod13.z.string().min(1).max(200).optional(),
|
|
1653
|
+
archived: import_zod13.z.boolean().optional()
|
|
1537
1654
|
});
|
|
1538
|
-
var AppsProjectsUpdateResult =
|
|
1539
|
-
var AppsProjectsCopyParams =
|
|
1540
|
-
var AppsProjectsCopyResult =
|
|
1541
|
-
var AppsProjectsFileParams =
|
|
1655
|
+
var AppsProjectsUpdateResult = import_zod13.z.strictObject({ project: ChatProject });
|
|
1656
|
+
var AppsProjectsCopyParams = import_zod13.z.strictObject({ app_key: AppKey, project_id: ChatProjectId, new_project_name: import_zod13.z.string().min(1).max(200) });
|
|
1657
|
+
var AppsProjectsCopyResult = import_zod13.z.strictObject({ project: ChatProject });
|
|
1658
|
+
var AppsProjectsFileParams = import_zod13.z.strictObject({
|
|
1542
1659
|
app_key: AppKey,
|
|
1543
1660
|
chat_id: ChatId,
|
|
1544
1661
|
project_id: ChatProjectId.optional(),
|
|
1545
|
-
new_project_name:
|
|
1662
|
+
new_project_name: import_zod13.z.string().min(1).max(200).optional()
|
|
1546
1663
|
});
|
|
1547
|
-
var AppsProjectsFileResult =
|
|
1548
|
-
var AppsProjectsUnfileParams =
|
|
1549
|
-
var AppsProjectsUnfileResult =
|
|
1550
|
-
var AppsChatsStarParams =
|
|
1551
|
-
var AppsChatsStarResult =
|
|
1664
|
+
var AppsProjectsFileResult = import_zod13.z.strictObject({ chat: ChatRow, project: ChatProject });
|
|
1665
|
+
var AppsProjectsUnfileParams = import_zod13.z.strictObject({ app_key: AppKey, chat_id: ChatId, project_id: ChatProjectId });
|
|
1666
|
+
var AppsProjectsUnfileResult = import_zod13.z.strictObject({ chat: ChatRow });
|
|
1667
|
+
var AppsChatsStarParams = import_zod13.z.strictObject({ app_key: AppKey, chat_id: ChatId, starred: import_zod13.z.boolean() });
|
|
1668
|
+
var AppsChatsStarResult = import_zod13.z.strictObject({ chat: ChatRow });
|
|
1552
1669
|
|
|
1553
1670
|
// src/schema/apps-accounts.ts
|
|
1554
|
-
var
|
|
1555
|
-
var AppWindowInfo =
|
|
1671
|
+
var import_zod14 = require("zod");
|
|
1672
|
+
var AppWindowInfo = import_zod14.z.strictObject({
|
|
1556
1673
|
key: ChatPlace,
|
|
1557
1674
|
/** The app's default profile (Claude: main, which may sign into any account). */
|
|
1558
|
-
main:
|
|
1675
|
+
main: import_zod14.z.boolean(),
|
|
1559
1676
|
/** The account the window is meant for (null for main). */
|
|
1560
|
-
account:
|
|
1677
|
+
account: import_zod14.z.string().max(320).nullable(),
|
|
1561
1678
|
/** The account signed in there now: an email, or the account id while it has no saved name. */
|
|
1562
|
-
signed_in:
|
|
1563
|
-
signed_in_is_email:
|
|
1679
|
+
signed_in: import_zod14.z.string().max(320).nullable(),
|
|
1680
|
+
signed_in_is_email: import_zod14.z.boolean(),
|
|
1564
1681
|
/** Signed into another account than the one it is meant for. */
|
|
1565
|
-
mismatch:
|
|
1682
|
+
mismatch: import_zod14.z.boolean(),
|
|
1566
1683
|
/** Its folder exists. */
|
|
1567
|
-
created:
|
|
1684
|
+
created: import_zod14.z.boolean(),
|
|
1568
1685
|
/** Open now. */
|
|
1569
|
-
running:
|
|
1686
|
+
running: import_zod14.z.boolean(),
|
|
1570
1687
|
/** Chats open in it now (a process resuming each one). */
|
|
1571
1688
|
open_chats: nonNegInt
|
|
1572
1689
|
});
|
|
1573
|
-
var AccountUsage =
|
|
1690
|
+
var AccountUsage = import_zod14.z.strictObject({
|
|
1574
1691
|
/** The account's email, or "org <8 chars>" when no window has ever sampled that org. */
|
|
1575
|
-
account:
|
|
1576
|
-
org:
|
|
1692
|
+
account: import_zod14.z.string().max(320),
|
|
1693
|
+
org: import_zod14.z.string().max(80).nullable(),
|
|
1577
1694
|
/** False when the org was sampled in several accounts' windows and the vote is not clear (≥ 75 %). */
|
|
1578
|
-
account_certain:
|
|
1695
|
+
account_certain: import_zod14.z.boolean(),
|
|
1579
1696
|
/** 5-hour use in percent (0 once the reading is over 5 hours old). */
|
|
1580
|
-
five_hour:
|
|
1581
|
-
five_hour_reset_since:
|
|
1697
|
+
five_hour: import_zod14.z.number().nullable(),
|
|
1698
|
+
five_hour_reset_since: import_zod14.z.boolean(),
|
|
1582
1699
|
/** Weekly use in percent (0 once the week reset after the reading). */
|
|
1583
|
-
weekly:
|
|
1584
|
-
weekly_reset_since:
|
|
1700
|
+
weekly: import_zod14.z.number().nullable(),
|
|
1701
|
+
weekly_reset_since: import_zod14.z.boolean(),
|
|
1585
1702
|
/** Extra-usage spend in percent of its cap, when on. */
|
|
1586
|
-
extra_usage:
|
|
1703
|
+
extra_usage: import_zod14.z.number().nullable(),
|
|
1587
1704
|
extra_usage_as_of_ms: epochMs.nullable(),
|
|
1588
1705
|
as_of_ms: epochMs,
|
|
1589
1706
|
/** The windows meant for this account (and main when main took the reading). */
|
|
1590
|
-
windows:
|
|
1707
|
+
windows: import_zod14.z.array(ChatPlace).max(200),
|
|
1591
1708
|
/** The window that took the reading is open now and the reading is under 30 minutes old. */
|
|
1592
|
-
live:
|
|
1709
|
+
live: import_zod14.z.boolean(),
|
|
1593
1710
|
/** The next weekly reset, when known. */
|
|
1594
1711
|
weekly_resets_at_ms: epochMs.nullable(),
|
|
1595
1712
|
/** That reset time is Claude's own (its reading, or a reset seen in its usage history). */
|
|
1596
|
-
weekly_reset_official:
|
|
1713
|
+
weekly_reset_official: import_zod14.z.boolean().nullable(),
|
|
1597
1714
|
/** 1.13: the account's plan as the app names it (Codex: "pro", "prolite"), when recorded. */
|
|
1598
|
-
plan:
|
|
1715
|
+
plan: import_zod14.z.string().max(80).optional(),
|
|
1599
1716
|
/** 1.13: the account's credit balance as the app records it (Codex), when recorded. */
|
|
1600
|
-
credits:
|
|
1717
|
+
credits: import_zod14.z.string().max(40).optional()
|
|
1601
1718
|
});
|
|
1602
|
-
var AccountReset =
|
|
1719
|
+
var AccountReset = import_zod14.z.strictObject({
|
|
1603
1720
|
window: ChatPlace,
|
|
1604
|
-
account:
|
|
1721
|
+
account: import_zod14.z.string().max(320).nullable(),
|
|
1605
1722
|
next_reset_ms: epochMs.nullable(),
|
|
1606
1723
|
/** claude: the app's own reading; usage_history: a weekly drop seen in its usage record; your_list: the person's own entry. */
|
|
1607
|
-
source:
|
|
1724
|
+
source: import_zod14.z.enum(["claude", "usage_history", "your_list"]).nullable(),
|
|
1608
1725
|
/** claude or usage_history. */
|
|
1609
|
-
official:
|
|
1726
|
+
official: import_zod14.z.boolean(),
|
|
1610
1727
|
/** Set when the person's list disagrees with the official time. */
|
|
1611
|
-
note:
|
|
1728
|
+
note: import_zod14.z.string().max(200).nullable()
|
|
1612
1729
|
});
|
|
1613
|
-
var AppsWindowsListParams =
|
|
1614
|
-
var AppsWindowsListResult =
|
|
1615
|
-
var AppsAccountsUsageParams =
|
|
1616
|
-
var AppsAccountsUsageResult =
|
|
1730
|
+
var AppsWindowsListParams = import_zod14.z.strictObject({ app_key: AppKey });
|
|
1731
|
+
var AppsWindowsListResult = import_zod14.z.strictObject({ app_key: AppKey, windows: import_zod14.z.array(AppWindowInfo).max(200) });
|
|
1732
|
+
var AppsAccountsUsageParams = import_zod14.z.strictObject({ app_key: AppKey });
|
|
1733
|
+
var AppsAccountsUsageResult = import_zod14.z.strictObject({
|
|
1617
1734
|
app_key: AppKey,
|
|
1618
|
-
accounts:
|
|
1735
|
+
accounts: import_zod14.z.array(AccountUsage).max(500),
|
|
1619
1736
|
/** 1.12: the rows are right but something around them failed (a newly read reset time could not be saved); shown, never hidden. */
|
|
1620
|
-
problem:
|
|
1737
|
+
problem: import_zod14.z.string().max(400).optional()
|
|
1621
1738
|
});
|
|
1622
|
-
var AppsAccountsResetsParams =
|
|
1623
|
-
var AppsAccountsResetsResult =
|
|
1739
|
+
var AppsAccountsResetsParams = import_zod14.z.strictObject({ app_key: AppKey });
|
|
1740
|
+
var AppsAccountsResetsResult = import_zod14.z.strictObject({
|
|
1624
1741
|
app_key: AppKey,
|
|
1625
|
-
resets:
|
|
1742
|
+
resets: import_zod14.z.array(AccountReset).max(200),
|
|
1626
1743
|
/** 1.12: as on `apps.accounts.usage`. */
|
|
1627
|
-
problem:
|
|
1744
|
+
problem: import_zod14.z.string().max(400).optional()
|
|
1628
1745
|
});
|
|
1629
|
-
var AppsWindowActionResult =
|
|
1630
|
-
var AppsWindowsOpenParams =
|
|
1631
|
-
var AppsWindowsReloadParams =
|
|
1632
|
-
var ShownSection =
|
|
1633
|
-
title:
|
|
1746
|
+
var AppsWindowActionResult = import_zod14.z.strictObject({ message: import_zod14.z.string().max(400) });
|
|
1747
|
+
var AppsWindowsOpenParams = import_zod14.z.strictObject({ app_key: AppKey, window: ChatPlace });
|
|
1748
|
+
var AppsWindowsReloadParams = import_zod14.z.strictObject({ app_key: AppKey, window: ChatPlace });
|
|
1749
|
+
var ShownSection = import_zod14.z.strictObject({
|
|
1750
|
+
title: import_zod14.z.string().max(300),
|
|
1634
1751
|
/** Rows drawn under it (a collapsed section draws none). */
|
|
1635
|
-
rows:
|
|
1636
|
-
expanded:
|
|
1752
|
+
rows: import_zod14.z.number().int().nonnegative(),
|
|
1753
|
+
expanded: import_zod14.z.boolean()
|
|
1637
1754
|
});
|
|
1638
|
-
var AppsWindowsShownParams =
|
|
1639
|
-
var AppsWindowsShownResult =
|
|
1755
|
+
var AppsWindowsShownParams = import_zod14.z.strictObject({ app_key: AppKey, window: ChatPlace });
|
|
1756
|
+
var AppsWindowsShownResult = import_zod14.z.strictObject({
|
|
1640
1757
|
window: ChatPlace,
|
|
1641
|
-
open:
|
|
1642
|
-
sections:
|
|
1643
|
-
problem:
|
|
1758
|
+
open: import_zod14.z.boolean(),
|
|
1759
|
+
sections: import_zod14.z.array(ShownSection).max(200),
|
|
1760
|
+
problem: import_zod14.z.string().max(400).nullable()
|
|
1644
1761
|
});
|
|
1645
|
-
var AppsWindowsRestartParams =
|
|
1646
|
-
var AppsWindowsRefreshUsageParams =
|
|
1647
|
-
var AppsProjectsMoveParams =
|
|
1762
|
+
var AppsWindowsRestartParams = import_zod14.z.strictObject({ app_key: AppKey, window: ChatPlace, force: import_zod14.z.boolean().default(false) });
|
|
1763
|
+
var AppsWindowsRefreshUsageParams = import_zod14.z.strictObject({ app_key: AppKey, window: ChatPlace });
|
|
1764
|
+
var AppsProjectsMoveParams = import_zod14.z.strictObject({
|
|
1648
1765
|
app_key: AppKey,
|
|
1649
1766
|
chat_id: ChatId,
|
|
1650
1767
|
from_project_id: ChatProjectId,
|
|
1651
1768
|
to_project_id: ChatProjectId.optional(),
|
|
1652
|
-
new_project_name:
|
|
1653
|
-
});
|
|
1654
|
-
var AppsProjectsMoveResult =
|
|
1655
|
-
var AppsProjectsCreateParams =
|
|
1656
|
-
var AppsProjectsCreateResult =
|
|
1657
|
-
var AppsProjectsImportPinsParams =
|
|
1658
|
-
var AppsProjectsImportPinsResult =
|
|
1659
|
-
var ProjectMoveChat =
|
|
1660
|
-
var ProjectMoveSkip =
|
|
1661
|
-
var ProjectMoveGroup =
|
|
1662
|
-
ok:
|
|
1663
|
-
name:
|
|
1769
|
+
new_project_name: import_zod14.z.string().min(1).max(200).optional()
|
|
1770
|
+
});
|
|
1771
|
+
var AppsProjectsMoveResult = import_zod14.z.strictObject({ chat: ChatRow, project: ChatProject });
|
|
1772
|
+
var AppsProjectsCreateParams = import_zod14.z.strictObject({ app_key: AppKey, name: import_zod14.z.string().min(1).max(200) });
|
|
1773
|
+
var AppsProjectsCreateResult = import_zod14.z.strictObject({ project: ChatProject });
|
|
1774
|
+
var AppsProjectsImportPinsParams = import_zod14.z.strictObject({ app_key: AppKey });
|
|
1775
|
+
var AppsProjectsImportPinsResult = import_zod14.z.strictObject({ message: import_zod14.z.string().max(400) });
|
|
1776
|
+
var ProjectMoveChat = import_zod14.z.strictObject({ chat_id: ChatId, title: import_zod14.z.string().max(300) });
|
|
1777
|
+
var ProjectMoveSkip = import_zod14.z.strictObject({ chat_id: ChatId, title: import_zod14.z.string().max(300), window: ChatPlace.nullable(), reason: import_zod14.z.string().max(400) });
|
|
1778
|
+
var ProjectMoveGroup = import_zod14.z.strictObject({
|
|
1779
|
+
ok: import_zod14.z.boolean(),
|
|
1780
|
+
name: import_zod14.z.string().max(200),
|
|
1664
1781
|
/** Why it is not (or was not) grouped — e.g. the window is open. */
|
|
1665
|
-
reason:
|
|
1782
|
+
reason: import_zod14.z.string().max(400).optional(),
|
|
1666
1783
|
/** Chats that get (or got) the group; already in it; taken from another group of the window. */
|
|
1667
1784
|
assign: nonNegInt.optional(),
|
|
1668
1785
|
already: nonNegInt.optional(),
|
|
1669
1786
|
from_other_groups: nonNegInt.optional(),
|
|
1670
1787
|
/** A group of that name was already there (reused, never doubled). */
|
|
1671
|
-
group_exists:
|
|
1788
|
+
group_exists: import_zod14.z.boolean().optional()
|
|
1672
1789
|
});
|
|
1673
|
-
var AppsProjectsToWindowParams =
|
|
1790
|
+
var AppsProjectsToWindowParams = import_zod14.z.strictObject({
|
|
1674
1791
|
app_key: AppKey,
|
|
1675
1792
|
project_id: ChatProjectId,
|
|
1676
1793
|
window: ChatPlace,
|
|
1677
1794
|
/** Also take each chat off its other side windows where safe (never main, the holder, an open window). */
|
|
1678
|
-
take_off:
|
|
1795
|
+
take_off: import_zod14.z.boolean().default(false),
|
|
1679
1796
|
/** Also group them under the project's name in that window's sidebar (closed windows only). */
|
|
1680
|
-
group:
|
|
1681
|
-
dry_run:
|
|
1797
|
+
group: import_zod14.z.boolean().default(false),
|
|
1798
|
+
dry_run: import_zod14.z.boolean().default(false)
|
|
1682
1799
|
});
|
|
1683
|
-
var AppsProjectsToWindowResult =
|
|
1800
|
+
var AppsProjectsToWindowResult = import_zod14.z.strictObject({
|
|
1684
1801
|
project_id: ChatProjectId,
|
|
1685
1802
|
window: ChatPlace,
|
|
1686
|
-
dry_run:
|
|
1687
|
-
place:
|
|
1688
|
-
already:
|
|
1689
|
-
take_off:
|
|
1690
|
-
skipped:
|
|
1803
|
+
dry_run: import_zod14.z.boolean(),
|
|
1804
|
+
place: import_zod14.z.array(ProjectMoveChat).max(5e3),
|
|
1805
|
+
already: import_zod14.z.array(ProjectMoveChat).max(5e3),
|
|
1806
|
+
take_off: import_zod14.z.array(ProjectMoveChat.extend({ window: ChatPlace })).max(2e4),
|
|
1807
|
+
skipped: import_zod14.z.array(ProjectMoveSkip).max(2e4),
|
|
1691
1808
|
/** Chats of the project from other apps (no windows to place into), left as they are. */
|
|
1692
1809
|
other_apps: nonNegInt,
|
|
1693
1810
|
group: ProjectMoveGroup.nullable(),
|
|
1694
|
-
message:
|
|
1811
|
+
message: import_zod14.z.string().max(400)
|
|
1695
1812
|
});
|
|
1696
|
-
var ColdChat =
|
|
1813
|
+
var ColdChat = import_zod14.z.strictObject({
|
|
1697
1814
|
id: ChatId,
|
|
1698
|
-
title:
|
|
1699
|
-
repo:
|
|
1700
|
-
window:
|
|
1701
|
-
account:
|
|
1702
|
-
model_name:
|
|
1815
|
+
title: import_zod14.z.string().max(1e3),
|
|
1816
|
+
repo: import_zod14.z.string().max(200).nullable(),
|
|
1817
|
+
window: import_zod14.z.string().max(64).nullable(),
|
|
1818
|
+
account: import_zod14.z.string().max(320).nullable(),
|
|
1819
|
+
model_name: import_zod14.z.string().max(120).nullable(),
|
|
1703
1820
|
context_tokens: nonNegInt,
|
|
1704
1821
|
cold_at_ms: epochMs,
|
|
1705
1822
|
/** Waking it once the cache is cold. */
|
|
1706
|
-
cold_cost:
|
|
1823
|
+
cold_cost: import_zod14.z.number().nullable(),
|
|
1707
1824
|
/** Waking it while the cache is warm. */
|
|
1708
|
-
warm_cost:
|
|
1825
|
+
warm_cost: import_zod14.z.number().nullable(),
|
|
1709
1826
|
/** Its account is on extra usage (a 5-minute cache, and real money). */
|
|
1710
|
-
extra_usage:
|
|
1827
|
+
extra_usage: import_zod14.z.boolean(),
|
|
1711
1828
|
/** A scheduled routine's run. */
|
|
1712
|
-
scheduled:
|
|
1829
|
+
scheduled: import_zod14.z.boolean(),
|
|
1713
1830
|
/** It can be shown in its window (started in the desktop app). */
|
|
1714
|
-
openable:
|
|
1831
|
+
openable: import_zod14.z.boolean(),
|
|
1715
1832
|
/** How its window was decided, or why it can't be opened. */
|
|
1716
|
-
how:
|
|
1833
|
+
how: import_zod14.z.string().max(200).nullable()
|
|
1717
1834
|
});
|
|
1718
|
-
var AppsChatsColdParams =
|
|
1719
|
-
var AppsChatsColdResult =
|
|
1835
|
+
var AppsChatsColdParams = import_zod14.z.strictObject({ app_key: AppKey });
|
|
1836
|
+
var AppsChatsColdResult = import_zod14.z.strictObject({
|
|
1720
1837
|
app_key: AppKey,
|
|
1721
1838
|
/** Waiting for the person with a warm cache, most urgent first. */
|
|
1722
|
-
waiting:
|
|
1839
|
+
waiting: import_zod14.z.array(ColdChat).max(2e3),
|
|
1723
1840
|
/** Went cold in the last while. */
|
|
1724
|
-
recently_cold:
|
|
1841
|
+
recently_cold: import_zod14.z.array(ColdChat).max(2e3),
|
|
1725
1842
|
/** Chats working right now (not waiting). */
|
|
1726
1843
|
working: nonNegInt
|
|
1727
1844
|
});
|
|
1728
|
-
var AppsChatsOpenParams =
|
|
1729
|
-
var SpendSplit =
|
|
1730
|
-
var SpendScopes =
|
|
1731
|
-
var SpendAccount =
|
|
1732
|
-
account:
|
|
1845
|
+
var AppsChatsOpenParams = import_zod14.z.strictObject({ app_key: AppKey, chat_id: ChatId, window: ChatPlace.optional() });
|
|
1846
|
+
var SpendSplit = import_zod14.z.strictObject({ main: import_zod14.z.number(), helpers: import_zod14.z.number() });
|
|
1847
|
+
var SpendScopes = import_zod14.z.strictObject({ today: SpendSplit, week: SpendSplit });
|
|
1848
|
+
var SpendAccount = import_zod14.z.strictObject({
|
|
1849
|
+
account: import_zod14.z.string().max(320),
|
|
1733
1850
|
spend: SpendScopes,
|
|
1734
|
-
last_hour:
|
|
1735
|
-
last_5h:
|
|
1736
|
-
five_hour:
|
|
1737
|
-
weekly:
|
|
1851
|
+
last_hour: import_zod14.z.number().nullable(),
|
|
1852
|
+
last_5h: import_zod14.z.number().nullable(),
|
|
1853
|
+
five_hour: import_zod14.z.number().nullable(),
|
|
1854
|
+
weekly: import_zod14.z.number().nullable(),
|
|
1738
1855
|
as_of_ms: epochMs.nullable(),
|
|
1739
1856
|
weekly_resets_at_ms: epochMs.nullable(),
|
|
1740
1857
|
/** When the 5-hour or weekly limit is projected to be reached at the current burn. */
|
|
1741
1858
|
five_hour_full_at_ms: epochMs.nullable(),
|
|
1742
1859
|
weekly_full_at_ms: epochMs.nullable(),
|
|
1743
1860
|
/** The reading is too old to project. */
|
|
1744
|
-
stale:
|
|
1861
|
+
stale: import_zod14.z.boolean()
|
|
1745
1862
|
});
|
|
1746
|
-
var SpendModel =
|
|
1747
|
-
var SpendChat =
|
|
1863
|
+
var SpendModel = import_zod14.z.strictObject({ model: import_zod14.z.string().max(120), name: import_zod14.z.string().max(120), spend: SpendScopes });
|
|
1864
|
+
var SpendChat = import_zod14.z.strictObject({
|
|
1748
1865
|
id: ChatId,
|
|
1749
|
-
title:
|
|
1750
|
-
repo:
|
|
1751
|
-
window:
|
|
1866
|
+
title: import_zod14.z.string().max(1e3),
|
|
1867
|
+
repo: import_zod14.z.string().max(200).nullable(),
|
|
1868
|
+
window: import_zod14.z.string().max(64).nullable(),
|
|
1752
1869
|
spend: SpendScopes,
|
|
1753
1870
|
helpers: nonNegInt
|
|
1754
1871
|
});
|
|
1755
|
-
var SpendHelper =
|
|
1756
|
-
var SpendLive =
|
|
1757
|
-
var SpendIdleScope =
|
|
1758
|
-
var SpendIdle =
|
|
1759
|
-
var SpendStart =
|
|
1760
|
-
var
|
|
1761
|
-
var
|
|
1872
|
+
var SpendHelper = import_zod14.z.strictObject({ model: import_zod14.z.string().max(120), steps: nonNegInt, over_steps: import_zod14.z.boolean(), description: import_zod14.z.string().max(400) });
|
|
1873
|
+
var SpendLive = import_zod14.z.strictObject({ id: ChatId, title: import_zod14.z.string().max(1e3), window: import_zod14.z.string().max(64).nullable(), helpers: import_zod14.z.array(SpendHelper).max(200) });
|
|
1874
|
+
var SpendIdleScope = import_zod14.z.strictObject({ count: nonNegInt, tokens: nonNegInt, cost: import_zod14.z.number(), avoidable: import_zod14.z.number() });
|
|
1875
|
+
var SpendIdle = import_zod14.z.strictObject({ id: ChatId, chat: import_zod14.z.string().max(1e3), who: import_zod14.z.string().max(400), today: SpendIdleScope, week: SpendIdleScope, last_ms: epochMs });
|
|
1876
|
+
var SpendStart = import_zod14.z.strictObject({ repo: import_zod14.z.string().max(200), count: nonNegInt, median: nonNegInt, latest: import_zod14.z.array(nonNegInt).max(20), alarm: import_zod14.z.string().max(400).nullable() });
|
|
1877
|
+
var SpendDay = import_zod14.z.strictObject({ date: import_zod14.z.string().regex(/^\d{4}-\d{2}-\d{2}$/), main: import_zod14.z.number(), helpers: import_zod14.z.number() });
|
|
1878
|
+
var AppsSpendParams = import_zod14.z.strictObject({ app_key: AppKey });
|
|
1879
|
+
var AppsSpendResult = import_zod14.z.strictObject({
|
|
1762
1880
|
app_key: AppKey,
|
|
1763
1881
|
/** False while older chats are still being read. */
|
|
1764
|
-
complete:
|
|
1765
|
-
today_total:
|
|
1766
|
-
week_total:
|
|
1767
|
-
idle_today:
|
|
1768
|
-
idle_week:
|
|
1882
|
+
complete: import_zod14.z.boolean(),
|
|
1883
|
+
today_total: import_zod14.z.number(),
|
|
1884
|
+
week_total: import_zod14.z.number(),
|
|
1885
|
+
idle_today: import_zod14.z.number(),
|
|
1886
|
+
idle_week: import_zod14.z.number(),
|
|
1769
1887
|
/** Models with no known list price. */
|
|
1770
|
-
unpriced:
|
|
1888
|
+
unpriced: import_zod14.z.array(import_zod14.z.string().max(120)).max(100),
|
|
1771
1889
|
/** Helpers past their step budget, unusual starting sizes. */
|
|
1772
|
-
alarms:
|
|
1773
|
-
live:
|
|
1774
|
-
accounts:
|
|
1775
|
-
models:
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1890
|
+
alarms: import_zod14.z.array(import_zod14.z.string().max(400)).max(200),
|
|
1891
|
+
live: import_zod14.z.array(SpendLive).max(200),
|
|
1892
|
+
accounts: import_zod14.z.array(SpendAccount).max(200),
|
|
1893
|
+
models: import_zod14.z.array(SpendModel).max(100),
|
|
1894
|
+
/** (1.24) The last 7 days, oldest first (today last). */
|
|
1895
|
+
days: import_zod14.z.array(SpendDay).max(14).optional(),
|
|
1896
|
+
chats: import_zod14.z.array(SpendChat).max(500),
|
|
1897
|
+
idle: import_zod14.z.array(SpendIdle).max(500),
|
|
1898
|
+
starts: import_zod14.z.array(SpendStart).max(200)
|
|
1899
|
+
});
|
|
1900
|
+
var AppsSyncStatusParams = import_zod14.z.strictObject({ app_key: AppKey });
|
|
1901
|
+
var AppsSyncStatusResult = import_zod14.z.strictObject({
|
|
1902
|
+
healthy: import_zod14.z.boolean(),
|
|
1903
|
+
summary: import_zod14.z.string().max(400),
|
|
1904
|
+
problems: import_zod14.z.array(import_zod14.z.string().max(400)).max(200),
|
|
1905
|
+
warnings: import_zod14.z.array(import_zod14.z.string().max(400)).max(200),
|
|
1786
1906
|
/** Accounts seen with no saved name yet (Save account names fixes them). */
|
|
1787
|
-
unnamed_accounts:
|
|
1907
|
+
unnamed_accounts: import_zod14.z.array(import_zod14.z.string().max(80)).max(200),
|
|
1788
1908
|
/** The full report. */
|
|
1789
|
-
output:
|
|
1909
|
+
output: import_zod14.z.string().max(2e5)
|
|
1790
1910
|
});
|
|
1791
|
-
var AppsSyncRunParams =
|
|
1792
|
-
var AppsWindowsProcessesParams =
|
|
1793
|
-
var AppsWindowsProcessesResult =
|
|
1794
|
-
var AppsWindowsAddParams =
|
|
1795
|
-
var AppsWindowsSaveNamesParams =
|
|
1911
|
+
var AppsSyncRunParams = import_zod14.z.strictObject({ app_key: AppKey });
|
|
1912
|
+
var AppsWindowsProcessesParams = import_zod14.z.strictObject({ app_key: AppKey });
|
|
1913
|
+
var AppsWindowsProcessesResult = import_zod14.z.strictObject({ processes: import_zod14.z.array(import_zod14.z.string().max(2e3)).max(2e3) });
|
|
1914
|
+
var AppsWindowsAddParams = import_zod14.z.strictObject({ app_key: AppKey, window: ChatPlace, email: import_zod14.z.string().min(3).max(320) });
|
|
1915
|
+
var AppsWindowsSaveNamesParams = import_zod14.z.strictObject({ app_key: AppKey });
|
|
1796
1916
|
|
|
1797
1917
|
// src/schema/service.ts
|
|
1798
|
-
var
|
|
1918
|
+
var import_zod15 = require("zod");
|
|
1799
1919
|
var SERVICE_MAX_FRAME_BYTES = 16777216;
|
|
1800
|
-
var ServiceName =
|
|
1801
|
-
var ContractHash =
|
|
1802
|
-
var ServiceToken =
|
|
1920
|
+
var ServiceName = import_zod15.z.enum(["ml", "coding", "tools"]);
|
|
1921
|
+
var ContractHash = import_zod15.z.string().regex(/^[0-9a-f]{64}$/);
|
|
1922
|
+
var ServiceToken = import_zod15.z.string().regex(/^[A-Za-z0-9_-]{43}$/);
|
|
1803
1923
|
var ServiceRequestId = u32;
|
|
1804
|
-
var ServiceHello =
|
|
1805
|
-
var ServiceWelcome =
|
|
1806
|
-
type:
|
|
1924
|
+
var ServiceHello = import_zod15.z.strictObject({ type: import_zod15.z.literal("hello"), token: ServiceToken, contract: ContractHash });
|
|
1925
|
+
var ServiceWelcome = import_zod15.z.strictObject({
|
|
1926
|
+
type: import_zod15.z.literal("welcome"),
|
|
1807
1927
|
service: ServiceName,
|
|
1808
1928
|
contract: ContractHash,
|
|
1809
1929
|
pid: nonNegInt,
|
|
1810
1930
|
/** The interpreter's version, e.g. "3.13.15". */
|
|
1811
|
-
python:
|
|
1931
|
+
python: import_zod15.z.string().max(32),
|
|
1812
1932
|
/** Every op this service serves; must equal SERVICES[service] exactly. */
|
|
1813
|
-
ops:
|
|
1933
|
+
ops: import_zod15.z.array(import_zod15.z.string().min(1).max(64)).max(64)
|
|
1814
1934
|
});
|
|
1815
|
-
var ServiceRequest =
|
|
1816
|
-
type:
|
|
1935
|
+
var ServiceRequest = import_zod15.z.strictObject({
|
|
1936
|
+
type: import_zod15.z.literal("request"),
|
|
1817
1937
|
id: ServiceRequestId,
|
|
1818
|
-
op:
|
|
1819
|
-
params:
|
|
1938
|
+
op: import_zod15.z.string().min(1).max(64),
|
|
1939
|
+
params: import_zod15.z.unknown()
|
|
1820
1940
|
// validated by the service against SERVICES[service][op].params
|
|
1821
1941
|
});
|
|
1822
|
-
var ServiceResponse =
|
|
1823
|
-
type:
|
|
1942
|
+
var ServiceResponse = import_zod15.z.strictObject({
|
|
1943
|
+
type: import_zod15.z.literal("response"),
|
|
1824
1944
|
id: ServiceRequestId,
|
|
1825
|
-
result:
|
|
1945
|
+
result: import_zod15.z.unknown()
|
|
1826
1946
|
// validated by the core against SERVICES[service][op].result
|
|
1827
1947
|
});
|
|
1828
|
-
var ServiceErrorMsg =
|
|
1829
|
-
var ServiceProgressMsg =
|
|
1830
|
-
var ServiceCancel =
|
|
1831
|
-
var ServicePing =
|
|
1832
|
-
var ServicePong =
|
|
1833
|
-
type:
|
|
1948
|
+
var ServiceErrorMsg = import_zod15.z.strictObject({ type: import_zod15.z.literal("error"), id: ServiceRequestId, error: ProtocolErrorBody });
|
|
1949
|
+
var ServiceProgressMsg = import_zod15.z.strictObject({ type: import_zod15.z.literal("progress"), id: ServiceRequestId, progress: import_zod15.z.unknown() });
|
|
1950
|
+
var ServiceCancel = import_zod15.z.strictObject({ type: import_zod15.z.literal("cancel"), id: ServiceRequestId });
|
|
1951
|
+
var ServicePing = import_zod15.z.strictObject({ type: import_zod15.z.literal("ping"), id: ServiceRequestId });
|
|
1952
|
+
var ServicePong = import_zod15.z.strictObject({
|
|
1953
|
+
type: import_zod15.z.literal("pong"),
|
|
1834
1954
|
id: ServiceRequestId,
|
|
1835
1955
|
/** Requests running now. */
|
|
1836
1956
|
busy: nonNegInt
|
|
1837
1957
|
});
|
|
1838
|
-
var ServiceShutdown =
|
|
1839
|
-
var CoreToServiceMsg =
|
|
1840
|
-
var ServiceToCoreMsg =
|
|
1958
|
+
var ServiceShutdown = import_zod15.z.strictObject({ type: import_zod15.z.literal("shutdown") });
|
|
1959
|
+
var CoreToServiceMsg = import_zod15.z.discriminatedUnion("type", [ServiceHello, ServiceRequest, ServiceCancel, ServicePing, ServiceShutdown]);
|
|
1960
|
+
var ServiceToCoreMsg = import_zod15.z.discriminatedUnion("type", [ServiceWelcome, ServiceResponse, ServiceErrorMsg, ServiceProgressMsg, ServicePong]);
|
|
1841
1961
|
|
|
1842
1962
|
// src/schema/tools.ts
|
|
1843
|
-
var
|
|
1844
|
-
var ToolLevel =
|
|
1845
|
-
var ToolOutcome =
|
|
1846
|
-
var ToolPlatform =
|
|
1847
|
-
var ToolTransport =
|
|
1848
|
-
var ToolName =
|
|
1849
|
-
var ToolLevelResult =
|
|
1963
|
+
var import_zod16 = require("zod");
|
|
1964
|
+
var ToolLevel = import_zod16.z.enum(["programmatic", "protocol", "chat"]);
|
|
1965
|
+
var ToolOutcome = import_zod16.z.enum(["pass", "fail", "skip"]);
|
|
1966
|
+
var ToolPlatform = import_zod16.z.enum(["darwin", "win32", "linux"]);
|
|
1967
|
+
var ToolTransport = import_zod16.z.enum(["in_process", "localhost", "relay", "agent"]);
|
|
1968
|
+
var ToolName = import_zod16.z.string().min(1).max(64).regex(/^[a-z][a-z0-9_]*$/);
|
|
1969
|
+
var ToolLevelResult = import_zod16.z.strictObject({
|
|
1850
1970
|
tool: ToolName,
|
|
1851
1971
|
level: ToolLevel,
|
|
1852
1972
|
platform: ToolPlatform,
|
|
1853
1973
|
transport: ToolTransport,
|
|
1854
1974
|
outcome: ToolOutcome,
|
|
1855
1975
|
/** True when the caller sat on a different network from the device (a phone on cellular, CI). */
|
|
1856
|
-
remote_network:
|
|
1976
|
+
remote_network: import_zod16.z.boolean(),
|
|
1857
1977
|
/** One line: what was asserted, or why it failed. Never a token, a file's contents or a path under a real home. */
|
|
1858
|
-
detail:
|
|
1978
|
+
detail: import_zod16.z.string().max(500),
|
|
1859
1979
|
/** The harness that produced it, e.g. `matrx-desktop test/tools/programmatic.test.ts`. */
|
|
1860
|
-
suite:
|
|
1980
|
+
suite: import_zod16.z.string().min(1).max(200),
|
|
1861
1981
|
/** The test case inside the suite. */
|
|
1862
|
-
test:
|
|
1863
|
-
run_at_ms:
|
|
1982
|
+
test: import_zod16.z.string().min(1).max(300),
|
|
1983
|
+
run_at_ms: import_zod16.z.int().min(0)
|
|
1864
1984
|
});
|
|
1865
|
-
var ToolResultsFile =
|
|
1866
|
-
schema:
|
|
1985
|
+
var ToolResultsFile = import_zod16.z.strictObject({
|
|
1986
|
+
schema: import_zod16.z.literal("matrx.tool-results.v1"),
|
|
1867
1987
|
/** The producing repo's commit (short or full SHA). */
|
|
1868
|
-
commit:
|
|
1869
|
-
results:
|
|
1988
|
+
commit: import_zod16.z.string().min(4).max(64),
|
|
1989
|
+
results: import_zod16.z.array(ToolLevelResult).max(1e4)
|
|
1870
1990
|
});
|
|
1871
1991
|
|
|
1872
1992
|
// src/schema/proc.ts
|
|
1873
|
-
var
|
|
1874
|
-
var ProcSort =
|
|
1875
|
-
var ProcListParams =
|
|
1993
|
+
var import_zod17 = require("zod");
|
|
1994
|
+
var ProcSort = import_zod17.z.enum(["cpu", "memory", "pid", "name"]);
|
|
1995
|
+
var ProcListParams = import_zod17.z.strictObject({
|
|
1876
1996
|
/** Case-insensitive substring of the process name or its command line. */
|
|
1877
|
-
name:
|
|
1997
|
+
name: import_zod17.z.string().min(1).max(128).optional(),
|
|
1878
1998
|
sort: ProcSort.default("cpu"),
|
|
1879
|
-
limit:
|
|
1999
|
+
limit: import_zod17.z.int().min(1).max(500).default(50)
|
|
1880
2000
|
});
|
|
1881
|
-
var ProcInfo =
|
|
1882
|
-
pid:
|
|
2001
|
+
var ProcInfo = import_zod17.z.strictObject({
|
|
2002
|
+
pid: import_zod17.z.int().min(0),
|
|
1883
2003
|
/** Parent process id; null where the OS does not report it. */
|
|
1884
|
-
ppid:
|
|
1885
|
-
name:
|
|
2004
|
+
ppid: import_zod17.z.int().min(0).nullable(),
|
|
2005
|
+
name: import_zod17.z.string().max(256),
|
|
1886
2006
|
/** The command line, cut to 1024 characters. */
|
|
1887
|
-
command:
|
|
2007
|
+
command: import_zod17.z.string().max(1024),
|
|
1888
2008
|
/** Share of one core, as `ps` and Task Manager report it; null where the OS does not say. */
|
|
1889
|
-
cpu_percent:
|
|
2009
|
+
cpu_percent: import_zod17.z.number().min(0).nullable(),
|
|
1890
2010
|
memory_bytes: nonNegInt.nullable(),
|
|
1891
|
-
user:
|
|
2011
|
+
user: import_zod17.z.string().max(128).nullable()
|
|
1892
2012
|
});
|
|
1893
|
-
var ProcListResult =
|
|
1894
|
-
processes:
|
|
2013
|
+
var ProcListResult = import_zod17.z.strictObject({
|
|
2014
|
+
processes: import_zod17.z.array(ProcInfo).max(500),
|
|
1895
2015
|
/** Processes that matched before `limit`. */
|
|
1896
2016
|
total: nonNegInt,
|
|
1897
|
-
truncated:
|
|
2017
|
+
truncated: import_zod17.z.boolean()
|
|
1898
2018
|
});
|
|
1899
|
-
var ProcPortsParams =
|
|
2019
|
+
var ProcPortsParams = import_zod17.z.strictObject({
|
|
1900
2020
|
/** Only this port. */
|
|
1901
|
-
port:
|
|
2021
|
+
port: import_zod17.z.int().min(1).max(65535).optional()
|
|
1902
2022
|
});
|
|
1903
|
-
var ProcPort =
|
|
1904
|
-
port:
|
|
1905
|
-
protocol:
|
|
2023
|
+
var ProcPort = import_zod17.z.strictObject({
|
|
2024
|
+
port: import_zod17.z.int().min(1).max(65535),
|
|
2025
|
+
protocol: import_zod17.z.enum(["tcp", "udp"]),
|
|
1906
2026
|
/** The local address it listens on ("127.0.0.1", "*", "::"). */
|
|
1907
|
-
address:
|
|
1908
|
-
pid:
|
|
1909
|
-
process:
|
|
2027
|
+
address: import_zod17.z.string().max(64),
|
|
2028
|
+
pid: import_zod17.z.int().min(0).nullable(),
|
|
2029
|
+
process: import_zod17.z.string().max(256).nullable()
|
|
1910
2030
|
});
|
|
1911
|
-
var ProcPortsResult =
|
|
1912
|
-
var ProcKillParams =
|
|
1913
|
-
pid:
|
|
2031
|
+
var ProcPortsResult = import_zod17.z.strictObject({ ports: import_zod17.z.array(ProcPort).max(4e3) });
|
|
2032
|
+
var ProcKillParams = import_zod17.z.strictObject({
|
|
2033
|
+
pid: import_zod17.z.int().min(1),
|
|
1914
2034
|
/** Kill outright (SIGKILL; on Windows the same /F) instead of asking it to quit. */
|
|
1915
|
-
force:
|
|
2035
|
+
force: import_zod17.z.boolean().default(false)
|
|
1916
2036
|
});
|
|
1917
|
-
var ProcKillResult =
|
|
1918
|
-
pid:
|
|
1919
|
-
signal:
|
|
2037
|
+
var ProcKillResult = import_zod17.z.strictObject({
|
|
2038
|
+
pid: import_zod17.z.int().min(1),
|
|
2039
|
+
signal: import_zod17.z.enum(["SIGTERM", "SIGKILL"]),
|
|
1920
2040
|
/** True when the process was gone within 3 s. */
|
|
1921
|
-
exited:
|
|
2041
|
+
exited: import_zod17.z.boolean()
|
|
1922
2042
|
});
|
|
1923
2043
|
|
|
1924
2044
|
// src/schema/clipboard.ts
|
|
1925
|
-
var
|
|
1926
|
-
var ClipboardReadParams =
|
|
1927
|
-
var ClipboardReadResult =
|
|
2045
|
+
var import_zod18 = require("zod");
|
|
2046
|
+
var ClipboardReadParams = import_zod18.z.strictObject({});
|
|
2047
|
+
var ClipboardReadResult = import_zod18.z.strictObject({
|
|
1928
2048
|
/** The clipboard's text ("" when it holds none), cut to 1 MiB. */
|
|
1929
|
-
text:
|
|
1930
|
-
truncated:
|
|
2049
|
+
text: import_zod18.z.string().max(1048576),
|
|
2050
|
+
truncated: import_zod18.z.boolean()
|
|
1931
2051
|
});
|
|
1932
|
-
var ClipboardWriteParams =
|
|
1933
|
-
var ClipboardWriteResult =
|
|
2052
|
+
var ClipboardWriteParams = import_zod18.z.strictObject({ text: import_zod18.z.string().max(1048576) });
|
|
2053
|
+
var ClipboardWriteResult = import_zod18.z.strictObject({ bytes: nonNegInt });
|
|
1934
2054
|
|
|
1935
2055
|
// src/schema/git.ts
|
|
1936
|
-
var
|
|
2056
|
+
var import_zod19 = require("zod");
|
|
1937
2057
|
var GIT_MAX_OUTPUT_CHARS = 262144;
|
|
1938
|
-
var GitText =
|
|
1939
|
-
var GitName =
|
|
1940
|
-
var GitOutputResult =
|
|
1941
|
-
var GitStatusParams =
|
|
1942
|
-
var GitStatusFile =
|
|
1943
|
-
path:
|
|
2058
|
+
var GitText = import_zod19.z.string().max(GIT_MAX_OUTPUT_CHARS);
|
|
2059
|
+
var GitName = import_zod19.z.string().min(1).max(255).regex(/^[^-\s][^\s]*$/);
|
|
2060
|
+
var GitOutputResult = import_zod19.z.strictObject({ output: GitText, truncated: import_zod19.z.boolean() });
|
|
2061
|
+
var GitStatusParams = import_zod19.z.strictObject({ cwd: AbsPath });
|
|
2062
|
+
var GitStatusFile = import_zod19.z.strictObject({
|
|
2063
|
+
path: import_zod19.z.string(),
|
|
1944
2064
|
/** Porcelain v1 status letters: index (staged) and worktree; "?" for untracked. */
|
|
1945
|
-
index:
|
|
1946
|
-
worktree:
|
|
2065
|
+
index: import_zod19.z.string().length(1),
|
|
2066
|
+
worktree: import_zod19.z.string().length(1)
|
|
1947
2067
|
});
|
|
1948
|
-
var GitStatusResult =
|
|
2068
|
+
var GitStatusResult = import_zod19.z.strictObject({
|
|
1949
2069
|
/** The checked-out branch; null when HEAD is detached. */
|
|
1950
|
-
branch:
|
|
1951
|
-
upstream:
|
|
2070
|
+
branch: import_zod19.z.string().nullable(),
|
|
2071
|
+
upstream: import_zod19.z.string().nullable(),
|
|
1952
2072
|
ahead: nonNegInt,
|
|
1953
2073
|
behind: nonNegInt,
|
|
1954
|
-
files:
|
|
1955
|
-
clean:
|
|
2074
|
+
files: import_zod19.z.array(GitStatusFile).max(5e3),
|
|
2075
|
+
clean: import_zod19.z.boolean(),
|
|
1956
2076
|
/** More than 5000 changed files: the list is cut. */
|
|
1957
|
-
truncated:
|
|
1958
|
-
});
|
|
1959
|
-
var GitDiffParams =
|
|
1960
|
-
var GitDiffResult =
|
|
1961
|
-
var GitLogParams =
|
|
1962
|
-
var GitLogCommit =
|
|
1963
|
-
var GitLogResult =
|
|
1964
|
-
var GitAddParams =
|
|
1965
|
-
var GitCommitParams =
|
|
2077
|
+
truncated: import_zod19.z.boolean()
|
|
2078
|
+
});
|
|
2079
|
+
var GitDiffParams = import_zod19.z.strictObject({ cwd: AbsPath, path: import_zod19.z.string().max(4096).optional(), staged: import_zod19.z.boolean().default(false) });
|
|
2080
|
+
var GitDiffResult = import_zod19.z.strictObject({ diff: GitText, truncated: import_zod19.z.boolean() });
|
|
2081
|
+
var GitLogParams = import_zod19.z.strictObject({ cwd: AbsPath, limit: import_zod19.z.int().min(1).max(500).default(50) });
|
|
2082
|
+
var GitLogCommit = import_zod19.z.strictObject({ sha: import_zod19.z.string(), short: import_zod19.z.string(), author: import_zod19.z.string(), date: import_zod19.z.string(), subject: import_zod19.z.string() });
|
|
2083
|
+
var GitLogResult = import_zod19.z.strictObject({ commits: import_zod19.z.array(GitLogCommit).max(500) });
|
|
2084
|
+
var GitAddParams = import_zod19.z.strictObject({ cwd: AbsPath, paths: import_zod19.z.array(import_zod19.z.string().min(1).max(4096)).min(1).max(1e3) });
|
|
2085
|
+
var GitCommitParams = import_zod19.z.strictObject({
|
|
1966
2086
|
cwd: AbsPath,
|
|
1967
|
-
message:
|
|
1968
|
-
amend:
|
|
2087
|
+
message: import_zod19.z.string().min(1).max(65536),
|
|
2088
|
+
amend: import_zod19.z.boolean().default(false),
|
|
1969
2089
|
/** "Name <email>"; absent = the computer's own git identity. */
|
|
1970
|
-
author:
|
|
2090
|
+
author: import_zod19.z.string().max(512).optional()
|
|
1971
2091
|
});
|
|
1972
|
-
var GitCommitResult =
|
|
1973
|
-
var GitPushParams =
|
|
1974
|
-
var GitPullParams =
|
|
1975
|
-
var GitBranchParams =
|
|
1976
|
-
var GitBranchResult =
|
|
2092
|
+
var GitCommitResult = import_zod19.z.strictObject({ sha: import_zod19.z.string(), output: GitText, truncated: import_zod19.z.boolean() });
|
|
2093
|
+
var GitPushParams = import_zod19.z.strictObject({ cwd: AbsPath, remote: GitName.default("origin"), branch: GitName.optional(), force_with_lease: import_zod19.z.boolean().default(false) });
|
|
2094
|
+
var GitPullParams = import_zod19.z.strictObject({ cwd: AbsPath, remote: GitName.default("origin"), branch: GitName.optional(), rebase: import_zod19.z.boolean().default(false) });
|
|
2095
|
+
var GitBranchParams = import_zod19.z.strictObject({ cwd: AbsPath, action: import_zod19.z.enum(["list", "create", "delete", "switch"]), name: GitName.optional() });
|
|
2096
|
+
var GitBranchResult = import_zod19.z.strictObject({
|
|
1977
2097
|
/** The branch checked out after the action; null when detached. */
|
|
1978
|
-
current:
|
|
2098
|
+
current: import_zod19.z.string().nullable(),
|
|
1979
2099
|
/** Local branches (filled by `list`; empty otherwise). */
|
|
1980
|
-
branches:
|
|
2100
|
+
branches: import_zod19.z.array(import_zod19.z.string()).max(5e3),
|
|
1981
2101
|
output: GitText,
|
|
1982
|
-
truncated:
|
|
2102
|
+
truncated: import_zod19.z.boolean()
|
|
1983
2103
|
});
|
|
1984
|
-
var GitStashParams =
|
|
1985
|
-
var GitCloneParams =
|
|
1986
|
-
url:
|
|
2104
|
+
var GitStashParams = import_zod19.z.strictObject({ cwd: AbsPath, action: import_zod19.z.enum(["push", "pop", "list", "drop"]), message: import_zod19.z.string().max(4096).optional() });
|
|
2105
|
+
var GitCloneParams = import_zod19.z.strictObject({
|
|
2106
|
+
url: import_zod19.z.string().min(1).max(4096).regex(/^[^-]/),
|
|
1987
2107
|
/** The folder to create; must not exist yet (or be empty). */
|
|
1988
2108
|
dest: AbsPath,
|
|
1989
2109
|
branch: GitName.optional(),
|
|
1990
|
-
depth:
|
|
2110
|
+
depth: import_zod19.z.int().min(1).max(1e6).optional()
|
|
1991
2111
|
});
|
|
1992
2112
|
|
|
1993
2113
|
// src/schema/web.ts
|
|
1994
|
-
var
|
|
2114
|
+
var import_zod20 = require("zod");
|
|
1995
2115
|
var WEB_MAX_TEXT_CHARS = 524288;
|
|
1996
|
-
var WebUrl =
|
|
1997
|
-
var WebText =
|
|
1998
|
-
var WebHeader =
|
|
1999
|
-
var WebFetchParams =
|
|
2116
|
+
var WebUrl = import_zod20.z.string().min(1).max(8192).regex(/^https?:\/\//);
|
|
2117
|
+
var WebText = import_zod20.z.string().max(WEB_MAX_TEXT_CHARS);
|
|
2118
|
+
var WebHeader = import_zod20.z.strictObject({ name: import_zod20.z.string().min(1).max(256), value: import_zod20.z.string().max(8192) });
|
|
2119
|
+
var WebFetchParams = import_zod20.z.strictObject({
|
|
2000
2120
|
url: WebUrl,
|
|
2001
|
-
method:
|
|
2002
|
-
headers:
|
|
2003
|
-
body:
|
|
2004
|
-
follow_redirects:
|
|
2005
|
-
timeout_s:
|
|
2006
|
-
});
|
|
2007
|
-
var WebFetchResult =
|
|
2008
|
-
status:
|
|
2009
|
-
reason:
|
|
2121
|
+
method: import_zod20.z.enum(["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]).default("GET"),
|
|
2122
|
+
headers: import_zod20.z.array(WebHeader).max(64).default([]),
|
|
2123
|
+
body: import_zod20.z.string().max(1048576).optional(),
|
|
2124
|
+
follow_redirects: import_zod20.z.boolean().default(true),
|
|
2125
|
+
timeout_s: import_zod20.z.int().min(1).max(300).default(30)
|
|
2126
|
+
});
|
|
2127
|
+
var WebFetchResult = import_zod20.z.strictObject({
|
|
2128
|
+
status: import_zod20.z.int().min(100).max(999),
|
|
2129
|
+
reason: import_zod20.z.string(),
|
|
2010
2130
|
/** The final URL after redirects. */
|
|
2011
|
-
url:
|
|
2012
|
-
content_type:
|
|
2013
|
-
headers:
|
|
2131
|
+
url: import_zod20.z.string(),
|
|
2132
|
+
content_type: import_zod20.z.string().nullable(),
|
|
2133
|
+
headers: import_zod20.z.array(WebHeader),
|
|
2014
2134
|
body: WebText,
|
|
2015
|
-
truncated:
|
|
2135
|
+
truncated: import_zod20.z.boolean(),
|
|
2016
2136
|
bytes: nonNegInt,
|
|
2017
2137
|
elapsed_ms: nonNegInt
|
|
2018
2138
|
});
|
|
2019
|
-
var WebScrapeParams =
|
|
2020
|
-
urls:
|
|
2021
|
-
use_cache:
|
|
2022
|
-
get_links:
|
|
2139
|
+
var WebScrapeParams = import_zod20.z.strictObject({
|
|
2140
|
+
urls: import_zod20.z.array(WebUrl).min(1).max(20),
|
|
2141
|
+
use_cache: import_zod20.z.boolean().default(true),
|
|
2142
|
+
get_links: import_zod20.z.boolean().default(false)
|
|
2023
2143
|
});
|
|
2024
|
-
var WebScrapePage =
|
|
2025
|
-
url:
|
|
2026
|
-
ok:
|
|
2027
|
-
status:
|
|
2028
|
-
title:
|
|
2144
|
+
var WebScrapePage = import_zod20.z.strictObject({
|
|
2145
|
+
url: import_zod20.z.string(),
|
|
2146
|
+
ok: import_zod20.z.boolean(),
|
|
2147
|
+
status: import_zod20.z.int().min(0).max(999).nullable(),
|
|
2148
|
+
title: import_zod20.z.string().nullable(),
|
|
2029
2149
|
/** The page's readable content (markdown-like text from the scraper's parse). */
|
|
2030
2150
|
text: WebText,
|
|
2031
|
-
truncated:
|
|
2151
|
+
truncated: import_zod20.z.boolean(),
|
|
2032
2152
|
/** Links found on the page (only with get_links). */
|
|
2033
|
-
links:
|
|
2153
|
+
links: import_zod20.z.array(import_zod20.z.string()).max(2e3),
|
|
2034
2154
|
/** Why the page failed (blocked, timeout, not found…), in the scraper's words; null when ok. */
|
|
2035
|
-
error:
|
|
2155
|
+
error: import_zod20.z.string().nullable(),
|
|
2036
2156
|
/** How the page was fetched (http, browser, cache). */
|
|
2037
|
-
via:
|
|
2038
|
-
});
|
|
2039
|
-
var WebScrapeResult =
|
|
2040
|
-
var WebSearchParams =
|
|
2041
|
-
keywords:
|
|
2042
|
-
country:
|
|
2043
|
-
count:
|
|
2044
|
-
freshness:
|
|
2045
|
-
});
|
|
2046
|
-
var WebSearchHit =
|
|
2047
|
-
var WebSearchQueryResult =
|
|
2048
|
-
var WebSearchResult =
|
|
2049
|
-
var ToolsWebSearchParams =
|
|
2050
|
-
keywords:
|
|
2051
|
-
country:
|
|
2052
|
-
count:
|
|
2053
|
-
freshness:
|
|
2054
|
-
});
|
|
2055
|
-
var WebBrowserFetchParams =
|
|
2157
|
+
via: import_zod20.z.string().nullable()
|
|
2158
|
+
});
|
|
2159
|
+
var WebScrapeResult = import_zod20.z.strictObject({ pages: import_zod20.z.array(WebScrapePage), elapsed_ms: nonNegInt });
|
|
2160
|
+
var WebSearchParams = import_zod20.z.strictObject({
|
|
2161
|
+
keywords: import_zod20.z.array(import_zod20.z.string().min(1).max(400)).min(1).max(5),
|
|
2162
|
+
country: import_zod20.z.string().min(2).max(2).default("us"),
|
|
2163
|
+
count: import_zod20.z.int().min(1).max(20).default(10),
|
|
2164
|
+
freshness: import_zod20.z.enum(["pd", "pw", "pm", "py"]).optional()
|
|
2165
|
+
});
|
|
2166
|
+
var WebSearchHit = import_zod20.z.strictObject({ title: import_zod20.z.string(), url: import_zod20.z.string(), description: import_zod20.z.string() });
|
|
2167
|
+
var WebSearchQueryResult = import_zod20.z.strictObject({ keyword: import_zod20.z.string(), hits: import_zod20.z.array(WebSearchHit), error: import_zod20.z.string().nullable() });
|
|
2168
|
+
var WebSearchResult = import_zod20.z.strictObject({ queries: import_zod20.z.array(WebSearchQueryResult), elapsed_ms: nonNegInt });
|
|
2169
|
+
var ToolsWebSearchParams = import_zod20.z.strictObject({
|
|
2170
|
+
keywords: import_zod20.z.array(import_zod20.z.string().min(1).max(400)).min(1).max(5),
|
|
2171
|
+
country: import_zod20.z.string().min(2).max(2).default("us"),
|
|
2172
|
+
count: import_zod20.z.int().min(1).max(20).default(10),
|
|
2173
|
+
freshness: import_zod20.z.enum(["pd", "pw", "pm", "py"]).optional()
|
|
2174
|
+
});
|
|
2175
|
+
var WebBrowserFetchParams = import_zod20.z.strictObject({
|
|
2056
2176
|
url: WebUrl,
|
|
2057
2177
|
/** A CSS selector to wait for before reading the page. */
|
|
2058
|
-
wait_for:
|
|
2059
|
-
wait_timeout_ms:
|
|
2178
|
+
wait_for: import_zod20.z.string().max(1024).optional(),
|
|
2179
|
+
wait_timeout_ms: import_zod20.z.int().min(100).max(12e4).default(3e4),
|
|
2060
2180
|
/** true: readable text; false: the rendered HTML. */
|
|
2061
|
-
extract_text:
|
|
2181
|
+
extract_text: import_zod20.z.boolean().default(true)
|
|
2062
2182
|
});
|
|
2063
|
-
var WebBrowserFetchResult =
|
|
2064
|
-
url:
|
|
2065
|
-
status:
|
|
2066
|
-
title:
|
|
2183
|
+
var WebBrowserFetchResult = import_zod20.z.strictObject({
|
|
2184
|
+
url: import_zod20.z.string(),
|
|
2185
|
+
status: import_zod20.z.int().min(0).max(999).nullable(),
|
|
2186
|
+
title: import_zod20.z.string().nullable(),
|
|
2067
2187
|
content: WebText,
|
|
2068
|
-
truncated:
|
|
2188
|
+
truncated: import_zod20.z.boolean(),
|
|
2069
2189
|
elapsed_ms: nonNegInt
|
|
2070
2190
|
});
|
|
2071
|
-
var ToolsServiceProgress =
|
|
2191
|
+
var ToolsServiceProgress = import_zod20.z.strictObject({ phase: import_zod20.z.enum(["fetching", "installing"]), done: nonNegInt, total: nonNegInt });
|
|
2072
2192
|
|
|
2073
2193
|
// src/schema/system.ts
|
|
2074
|
-
var
|
|
2075
|
-
var SystemOpenUrlParams =
|
|
2194
|
+
var import_zod21 = require("zod");
|
|
2195
|
+
var SystemOpenUrlParams = import_zod21.z.strictObject({
|
|
2076
2196
|
/** http, https or mailto; opened in the person's default app for it. */
|
|
2077
|
-
url:
|
|
2197
|
+
url: import_zod21.z.string().min(1).max(4096)
|
|
2078
2198
|
});
|
|
2079
|
-
var SystemOpenUrlResult =
|
|
2080
|
-
var SystemOpenPathParams =
|
|
2199
|
+
var SystemOpenUrlResult = import_zod21.z.strictObject({ url: import_zod21.z.string().max(4096) });
|
|
2200
|
+
var SystemOpenPathParams = import_zod21.z.strictObject({
|
|
2081
2201
|
path: AbsPath,
|
|
2082
2202
|
/** Show it in the file manager (Finder, Explorer) instead of opening it. */
|
|
2083
|
-
reveal:
|
|
2203
|
+
reveal: import_zod21.z.boolean().default(false)
|
|
2084
2204
|
});
|
|
2085
|
-
var SystemOpenPathResult =
|
|
2086
|
-
var SystemNotifyParams =
|
|
2087
|
-
title:
|
|
2088
|
-
body:
|
|
2205
|
+
var SystemOpenPathResult = import_zod21.z.strictObject({ path: AbsPath, revealed: import_zod21.z.boolean() });
|
|
2206
|
+
var SystemNotifyParams = import_zod21.z.strictObject({
|
|
2207
|
+
title: import_zod21.z.string().min(1).max(128),
|
|
2208
|
+
body: import_zod21.z.string().max(1024).default("")
|
|
2089
2209
|
});
|
|
2090
|
-
var SystemNotifyResult =
|
|
2210
|
+
var SystemNotifyResult = import_zod21.z.strictObject({
|
|
2091
2211
|
/** False when this computer has no notification service to show it (a bare Linux box). */
|
|
2092
|
-
shown:
|
|
2093
|
-
});
|
|
2212
|
+
shown: import_zod21.z.boolean()
|
|
2213
|
+
});
|
|
2214
|
+
var SystemSettingsPane = import_zod21.z.enum([
|
|
2215
|
+
"displays",
|
|
2216
|
+
"night_shift",
|
|
2217
|
+
"sound",
|
|
2218
|
+
"keyboard",
|
|
2219
|
+
"keyboard_shortcuts",
|
|
2220
|
+
"text_input",
|
|
2221
|
+
"dictation",
|
|
2222
|
+
"energy",
|
|
2223
|
+
"about",
|
|
2224
|
+
"storage",
|
|
2225
|
+
"system_report"
|
|
2226
|
+
]);
|
|
2227
|
+
var SystemOpenSettingsParams = import_zod21.z.strictObject({ pane: SystemSettingsPane });
|
|
2228
|
+
var SystemOpenSettingsResult = import_zod21.z.strictObject({ pane: SystemSettingsPane });
|
|
2094
2229
|
|
|
2095
2230
|
// src/schema/screen.ts
|
|
2096
|
-
var
|
|
2097
|
-
var ScreenDisplay =
|
|
2231
|
+
var import_zod22 = require("zod");
|
|
2232
|
+
var ScreenDisplay = import_zod22.z.strictObject({
|
|
2098
2233
|
/** The OS's display id; pass it to screen.capture. */
|
|
2099
2234
|
id: nonNegInt,
|
|
2100
|
-
name:
|
|
2235
|
+
name: import_zod22.z.string().max(128),
|
|
2101
2236
|
/** Position and size in the OS's logical points (x and y may be negative left of or above the main display). */
|
|
2102
|
-
x:
|
|
2103
|
-
y:
|
|
2104
|
-
width:
|
|
2105
|
-
height:
|
|
2237
|
+
x: import_zod22.z.int(),
|
|
2238
|
+
y: import_zod22.z.int(),
|
|
2239
|
+
width: import_zod22.z.int().min(1),
|
|
2240
|
+
height: import_zod22.z.int().min(1),
|
|
2106
2241
|
/** Pixels per point (2 on a Retina display). */
|
|
2107
|
-
scale:
|
|
2108
|
-
primary:
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2242
|
+
scale: import_zod22.z.number().min(0.1).max(8),
|
|
2243
|
+
primary: import_zod22.z.boolean(),
|
|
2244
|
+
/** (1.24) Clockwise rotation in degrees (Displays' Rotation: 0 is Standard). */
|
|
2245
|
+
rotation: import_zod22.z.int().min(0).max(359).optional(),
|
|
2246
|
+
/** (1.24) Refresh rate in hertz; absent where the OS does not say. */
|
|
2247
|
+
refresh_hz: import_zod22.z.number().min(0).max(1e3).optional(),
|
|
2248
|
+
/** (1.24) The computer's own screen (a laptop's), not one plugged in. */
|
|
2249
|
+
builtin: import_zod22.z.boolean().optional()
|
|
2250
|
+
});
|
|
2251
|
+
var ScreenListParams = import_zod22.z.strictObject({});
|
|
2252
|
+
var ScreenListResult = import_zod22.z.strictObject({ displays: import_zod22.z.array(ScreenDisplay).max(32) });
|
|
2253
|
+
var ScreenCaptureParams = import_zod22.z.strictObject({
|
|
2113
2254
|
/** The display (from screen.list); the primary display when absent. */
|
|
2114
2255
|
display_id: nonNegInt.optional(),
|
|
2115
|
-
format:
|
|
2256
|
+
format: import_zod22.z.enum(["jpeg", "png"]).default("jpeg"),
|
|
2116
2257
|
/** Scale the picture down to at most this width in pixels (kept when already smaller). */
|
|
2117
|
-
max_width:
|
|
2258
|
+
max_width: import_zod22.z.int().min(160).max(7680).default(1600)
|
|
2118
2259
|
});
|
|
2119
|
-
var ScreenCaptureResult =
|
|
2260
|
+
var ScreenCaptureResult = import_zod22.z.strictObject({
|
|
2120
2261
|
display_id: nonNegInt,
|
|
2121
|
-
mime_type:
|
|
2122
|
-
width:
|
|
2123
|
-
height:
|
|
2262
|
+
mime_type: import_zod22.z.enum(["image/jpeg", "image/png"]),
|
|
2263
|
+
width: import_zod22.z.int().min(1),
|
|
2264
|
+
height: import_zod22.z.int().min(1),
|
|
2124
2265
|
/** The display's full resolution in pixels, before scaling. */
|
|
2125
|
-
source_width:
|
|
2126
|
-
source_height:
|
|
2266
|
+
source_width: import_zod22.z.int().min(1),
|
|
2267
|
+
source_height: import_zod22.z.int().min(1),
|
|
2127
2268
|
/** The image, base64 (at most 6 MiB of text). */
|
|
2128
|
-
data_base64:
|
|
2269
|
+
data_base64: import_zod22.z.string().max(6291456)
|
|
2129
2270
|
});
|
|
2130
2271
|
|
|
2131
2272
|
// src/schema/window.ts
|
|
2132
|
-
var
|
|
2133
|
-
var WindowInfo =
|
|
2273
|
+
var import_zod23 = require("zod");
|
|
2274
|
+
var WindowInfo = import_zod23.z.strictObject({
|
|
2134
2275
|
/** The OS's window handle (macOS window number, Windows HWND, X11 window id). */
|
|
2135
2276
|
id: nonNegInt,
|
|
2136
|
-
title:
|
|
2277
|
+
title: import_zod23.z.string().max(512),
|
|
2137
2278
|
/** Position and size in logical points. */
|
|
2138
|
-
x:
|
|
2139
|
-
y:
|
|
2140
|
-
width:
|
|
2141
|
-
height:
|
|
2279
|
+
x: import_zod23.z.int(),
|
|
2280
|
+
y: import_zod23.z.int(),
|
|
2281
|
+
width: import_zod23.z.int().min(0),
|
|
2282
|
+
height: import_zod23.z.int().min(0),
|
|
2142
2283
|
/**
|
|
2143
2284
|
* The application that owns the window, by the name the OS shows people; absent when the OS does
|
|
2144
2285
|
* not say. Optional (never null, the schema rule) because it was added in protocol 1.7: an older
|
|
2145
2286
|
* app's answer has no such field (FIELDS_SINCE).
|
|
2146
2287
|
*/
|
|
2147
|
-
app:
|
|
2288
|
+
app: import_zod23.z.string().max(256).optional(),
|
|
2148
2289
|
/** The owning process id; absent when the OS does not say. Added in protocol 1.7. */
|
|
2149
|
-
pid:
|
|
2290
|
+
pid: import_zod23.z.int().min(0).optional()
|
|
2150
2291
|
});
|
|
2151
|
-
var WindowListParams =
|
|
2292
|
+
var WindowListParams = import_zod23.z.strictObject({
|
|
2152
2293
|
/** Case-insensitive substring of the window title. */
|
|
2153
|
-
title:
|
|
2154
|
-
limit:
|
|
2294
|
+
title: import_zod23.z.string().min(1).max(256).optional(),
|
|
2295
|
+
limit: import_zod23.z.int().min(1).max(500).default(100)
|
|
2155
2296
|
});
|
|
2156
|
-
var WindowListResult =
|
|
2157
|
-
windows:
|
|
2297
|
+
var WindowListResult = import_zod23.z.strictObject({
|
|
2298
|
+
windows: import_zod23.z.array(WindowInfo).max(500),
|
|
2158
2299
|
total: nonNegInt,
|
|
2159
|
-
truncated:
|
|
2300
|
+
truncated: import_zod23.z.boolean()
|
|
2160
2301
|
});
|
|
2161
|
-
var WindowFocusParams =
|
|
2162
|
-
var WindowFocusResult =
|
|
2163
|
-
var WindowMoveParams =
|
|
2302
|
+
var WindowFocusParams = import_zod23.z.strictObject({ id: nonNegInt });
|
|
2303
|
+
var WindowFocusResult = import_zod23.z.strictObject({ window: WindowInfo });
|
|
2304
|
+
var WindowMoveParams = import_zod23.z.strictObject({
|
|
2164
2305
|
id: nonNegInt,
|
|
2165
2306
|
/** New top-left corner; unchanged when absent. */
|
|
2166
|
-
x:
|
|
2167
|
-
y:
|
|
2307
|
+
x: import_zod23.z.int().optional(),
|
|
2308
|
+
y: import_zod23.z.int().optional(),
|
|
2168
2309
|
/** New size; unchanged when absent. */
|
|
2169
|
-
width:
|
|
2170
|
-
height:
|
|
2310
|
+
width: import_zod23.z.int().min(50).max(16384).optional(),
|
|
2311
|
+
height: import_zod23.z.int().min(50).max(16384).optional()
|
|
2171
2312
|
});
|
|
2172
|
-
var WindowMoveResult =
|
|
2173
|
-
var WindowMinimizeParams =
|
|
2174
|
-
var WindowMinimizeResult =
|
|
2313
|
+
var WindowMoveResult = import_zod23.z.strictObject({ window: WindowInfo });
|
|
2314
|
+
var WindowMinimizeParams = import_zod23.z.strictObject({ id: nonNegInt });
|
|
2315
|
+
var WindowMinimizeResult = import_zod23.z.strictObject({ id: nonNegInt });
|
|
2175
2316
|
|
|
2176
2317
|
// src/schema/input.ts
|
|
2177
|
-
var
|
|
2178
|
-
var InputKey =
|
|
2318
|
+
var import_zod24 = require("zod");
|
|
2319
|
+
var InputKey = import_zod24.z.enum([
|
|
2179
2320
|
"cmd",
|
|
2180
2321
|
"ctrl",
|
|
2181
2322
|
"alt",
|
|
@@ -2255,65 +2396,107 @@ var InputKey = import_zod23.z.enum([
|
|
|
2255
2396
|
"backslash",
|
|
2256
2397
|
"grave"
|
|
2257
2398
|
]);
|
|
2258
|
-
var InputTypeTextParams =
|
|
2259
|
-
var InputTypeTextResult =
|
|
2260
|
-
var InputHotkeyParams =
|
|
2399
|
+
var InputTypeTextParams = import_zod24.z.strictObject({ text: import_zod24.z.string().min(1).max(1e4) });
|
|
2400
|
+
var InputTypeTextResult = import_zod24.z.strictObject({ characters: import_zod24.z.int().min(1) });
|
|
2401
|
+
var InputHotkeyParams = import_zod24.z.strictObject({
|
|
2261
2402
|
/** Pressed together in order and released in reverse: ["cmd", "shift", "t"]. */
|
|
2262
|
-
keys:
|
|
2403
|
+
keys: import_zod24.z.array(InputKey).min(1).max(6)
|
|
2263
2404
|
});
|
|
2264
|
-
var InputHotkeyResult =
|
|
2265
|
-
var InputPoint =
|
|
2266
|
-
var InputMouseMoveParams =
|
|
2405
|
+
var InputHotkeyResult = import_zod24.z.strictObject({ keys: import_zod24.z.array(InputKey) });
|
|
2406
|
+
var InputPoint = import_zod24.z.strictObject({ x: import_zod24.z.int(), y: import_zod24.z.int() });
|
|
2407
|
+
var InputMouseMoveParams = import_zod24.z.strictObject({
|
|
2267
2408
|
/** Screen position in logical points (the coordinates screen.list and window.list report). */
|
|
2268
|
-
x:
|
|
2269
|
-
y:
|
|
2409
|
+
x: import_zod24.z.int(),
|
|
2410
|
+
y: import_zod24.z.int()
|
|
2270
2411
|
});
|
|
2271
|
-
var InputMouseMoveResult =
|
|
2412
|
+
var InputMouseMoveResult = import_zod24.z.strictObject({
|
|
2272
2413
|
/** Where the pointer is now, read back from the OS. */
|
|
2273
2414
|
position: InputPoint
|
|
2274
2415
|
});
|
|
2275
|
-
var InputMouseClickParams =
|
|
2416
|
+
var InputMouseClickParams = import_zod24.z.strictObject({
|
|
2276
2417
|
/** Move here first; clicks where the pointer is when absent. */
|
|
2277
|
-
x:
|
|
2278
|
-
y:
|
|
2279
|
-
button:
|
|
2280
|
-
double:
|
|
2418
|
+
x: import_zod24.z.int().optional(),
|
|
2419
|
+
y: import_zod24.z.int().optional(),
|
|
2420
|
+
button: import_zod24.z.enum(["left", "right", "middle"]).default("left"),
|
|
2421
|
+
double: import_zod24.z.boolean().default(false)
|
|
2281
2422
|
});
|
|
2282
|
-
var InputMouseClickResult =
|
|
2423
|
+
var InputMouseClickResult = import_zod24.z.strictObject({
|
|
2283
2424
|
position: InputPoint,
|
|
2284
|
-
button:
|
|
2285
|
-
double:
|
|
2425
|
+
button: import_zod24.z.enum(["left", "right", "middle"]),
|
|
2426
|
+
double: import_zod24.z.boolean()
|
|
2427
|
+
});
|
|
2428
|
+
var InputKeyboardSettingsParams = import_zod24.z.strictObject({});
|
|
2429
|
+
var InputKeyboardSettingsResult = import_zod24.z.strictObject({
|
|
2430
|
+
/** Key repeat is off (a held key types once). */
|
|
2431
|
+
repeat_off: import_zod24.z.boolean().nullable(),
|
|
2432
|
+
/** Time between repeats while a key is held (Key repeat rate: shorter is faster). */
|
|
2433
|
+
repeat_interval_ms: nonNegInt.nullable(),
|
|
2434
|
+
/** Time a key is held before it starts repeating (Delay until repeat). */
|
|
2435
|
+
repeat_delay_ms: nonNegInt.nullable(),
|
|
2436
|
+
/** What the fn / globe key does alone. */
|
|
2437
|
+
fn_key: import_zod24.z.enum(["nothing", "input_source", "emoji", "dictation"]).nullable(),
|
|
2438
|
+
/** Tab moves focus between every control. */
|
|
2439
|
+
keyboard_navigation: import_zod24.z.boolean().nullable(),
|
|
2440
|
+
/** The enabled input sources by name ("U.S.", "ABC – Extended"). */
|
|
2441
|
+
input_sources: import_zod24.z.array(import_zod24.z.string().max(128)).max(64),
|
|
2442
|
+
/** A key repeat change takes effect only after the person logs out and in again (macOS). */
|
|
2443
|
+
applies_after_login: import_zod24.z.boolean()
|
|
2444
|
+
});
|
|
2445
|
+
var InputSetKeyboardSettingsParams = import_zod24.z.strictObject({
|
|
2446
|
+
repeat_off: import_zod24.z.boolean().optional(),
|
|
2447
|
+
repeat_interval_ms: import_zod24.z.int().min(15).max(2e3).optional(),
|
|
2448
|
+
repeat_delay_ms: import_zod24.z.int().min(150).max(2e3).optional(),
|
|
2449
|
+
keyboard_navigation: import_zod24.z.boolean().optional()
|
|
2286
2450
|
});
|
|
2287
2451
|
|
|
2288
2452
|
// src/schema/power.ts
|
|
2289
|
-
var
|
|
2290
|
-
var
|
|
2291
|
-
|
|
2292
|
-
|
|
2453
|
+
var import_zod25 = require("zod");
|
|
2454
|
+
var PowerEnergy = import_zod25.z.strictObject({
|
|
2455
|
+
display_sleep_minutes: nonNegInt.nullable(),
|
|
2456
|
+
/** The computer itself sleeps after this long idle; null = never (Prevent automatic sleeping). */
|
|
2457
|
+
sleep_minutes: nonNegInt.nullable(),
|
|
2458
|
+
/** Hard disks sleep after this long; null = never. */
|
|
2459
|
+
disk_sleep_minutes: nonNegInt.nullable(),
|
|
2460
|
+
wake_for_network: import_zod25.z.boolean().nullable(),
|
|
2461
|
+
restart_after_power_failure: import_zod25.z.boolean().nullable(),
|
|
2462
|
+
/** Low Power Mode (Energy Mode "Low Power"). */
|
|
2463
|
+
low_power_mode: import_zod25.z.boolean().nullable()
|
|
2464
|
+
});
|
|
2465
|
+
var PowerStatusParams = import_zod25.z.strictObject({});
|
|
2466
|
+
var PowerStatusResult = import_zod25.z.strictObject({
|
|
2467
|
+
has_battery: import_zod25.z.boolean(),
|
|
2293
2468
|
/** 0–100; null without a battery. */
|
|
2294
|
-
percent:
|
|
2295
|
-
charging:
|
|
2469
|
+
percent: import_zod25.z.number().min(0).max(100).nullable(),
|
|
2470
|
+
charging: import_zod25.z.boolean().nullable(),
|
|
2296
2471
|
/** On wall power; null where the OS does not say. */
|
|
2297
|
-
plugged_in:
|
|
2472
|
+
plugged_in: import_zod25.z.boolean().nullable(),
|
|
2298
2473
|
/** Minutes of battery left; null when charging, unknown or without a battery. */
|
|
2299
2474
|
minutes_left: nonNegInt.nullable(),
|
|
2300
2475
|
/** Matrx 2 is keeping the computer awake (power.prevent_sleep) until this time; null when it is not. */
|
|
2301
|
-
awake_until_ms: epochMs.nullable()
|
|
2476
|
+
awake_until_ms: epochMs.nullable(),
|
|
2477
|
+
/** (1.24) The OS's own energy settings; absent where it keeps none Matrx 2 can read. */
|
|
2478
|
+
energy: PowerEnergy.optional()
|
|
2479
|
+
});
|
|
2480
|
+
var PowerHistoryParams = import_zod25.z.strictObject({});
|
|
2481
|
+
var PowerHistoryPoint = import_zod25.z.strictObject({ at_ms: epochMs, percent: import_zod25.z.number().min(0).max(100), plugged_in: import_zod25.z.boolean() });
|
|
2482
|
+
var PowerHistoryResult = import_zod25.z.strictObject({
|
|
2483
|
+
/** Oldest first; empty without a battery or where the OS keeps no log. */
|
|
2484
|
+
points: import_zod25.z.array(PowerHistoryPoint).max(5e3)
|
|
2302
2485
|
});
|
|
2303
|
-
var PowerPreventSleepParams =
|
|
2486
|
+
var PowerPreventSleepParams = import_zod25.z.strictObject({
|
|
2304
2487
|
/** Keep the computer awake this long; 0 lets it sleep again now. */
|
|
2305
|
-
seconds:
|
|
2488
|
+
seconds: import_zod25.z.int().min(0).max(86400),
|
|
2306
2489
|
/** Shown where the OS lists what keeps it awake. */
|
|
2307
|
-
reason:
|
|
2490
|
+
reason: import_zod25.z.string().min(1).max(128).default("Matrx 2 is working")
|
|
2308
2491
|
});
|
|
2309
|
-
var PowerPreventSleepResult =
|
|
2492
|
+
var PowerPreventSleepResult = import_zod25.z.strictObject({
|
|
2310
2493
|
/** When it may sleep again; null after seconds 0. */
|
|
2311
2494
|
awake_until_ms: epochMs.nullable()
|
|
2312
2495
|
});
|
|
2313
2496
|
|
|
2314
2497
|
// src/schema/diag.ts
|
|
2315
|
-
var
|
|
2316
|
-
var DiagProcess =
|
|
2498
|
+
var import_zod26 = require("zod");
|
|
2499
|
+
var DiagProcess = import_zod26.z.enum([
|
|
2317
2500
|
"main",
|
|
2318
2501
|
"renderer",
|
|
2319
2502
|
"hosted_page",
|
|
@@ -2326,7 +2509,7 @@ var DiagProcess = import_zod25.z.enum([
|
|
|
2326
2509
|
"coding_sessions",
|
|
2327
2510
|
"claude_accounts"
|
|
2328
2511
|
]);
|
|
2329
|
-
var DiagErrorKind =
|
|
2512
|
+
var DiagErrorKind = import_zod26.z.enum([
|
|
2330
2513
|
"uncaught_exception",
|
|
2331
2514
|
"unhandled_rejection",
|
|
2332
2515
|
"renderer_crash",
|
|
@@ -2338,148 +2521,148 @@ var DiagErrorKind = import_zod25.z.enum([
|
|
|
2338
2521
|
"banner",
|
|
2339
2522
|
"logged_error"
|
|
2340
2523
|
]);
|
|
2341
|
-
var DiagErrorStatus =
|
|
2342
|
-
var DiagErrorEntry =
|
|
2524
|
+
var DiagErrorStatus = import_zod26.z.enum(["waiting", "sent", "resolved"]);
|
|
2525
|
+
var DiagErrorEntry = import_zod26.z.strictObject({
|
|
2343
2526
|
/** sha256 prefix over process, kind, source, code and the normalized message. */
|
|
2344
|
-
signature:
|
|
2527
|
+
signature: import_zod26.z.string().regex(/^[0-9a-f]{32}$/),
|
|
2345
2528
|
process: DiagProcess,
|
|
2346
2529
|
kind: DiagErrorKind,
|
|
2347
2530
|
/** Where: a cap.op, a log event, a screen or page name. */
|
|
2348
|
-
source:
|
|
2531
|
+
source: import_zod26.z.string().min(1).max(128),
|
|
2349
2532
|
/** An ErrorCode, an exit code or signal, an error class; null when there is none. */
|
|
2350
|
-
code:
|
|
2533
|
+
code: import_zod26.z.string().max(64).nullable(),
|
|
2351
2534
|
/** The first occurrence's message, personal data removed. */
|
|
2352
|
-
message:
|
|
2535
|
+
message: import_zod26.z.string().max(500),
|
|
2353
2536
|
count: nonNegInt,
|
|
2354
2537
|
first_seen_ms: epochMs,
|
|
2355
2538
|
last_seen_ms: epochMs,
|
|
2356
2539
|
status: DiagErrorStatus,
|
|
2357
2540
|
/** What the agent who resolved it wrote; null until resolved. */
|
|
2358
|
-
resolution_note:
|
|
2359
|
-
app_version:
|
|
2541
|
+
resolution_note: import_zod26.z.string().max(500).nullable(),
|
|
2542
|
+
app_version: import_zod26.z.string().max(64)
|
|
2360
2543
|
});
|
|
2361
|
-
var DiagErrorsListParams =
|
|
2544
|
+
var DiagErrorsListParams = import_zod26.z.strictObject({
|
|
2362
2545
|
/** open = waiting or sent; all includes resolved. */
|
|
2363
|
-
status:
|
|
2364
|
-
limit:
|
|
2546
|
+
status: import_zod26.z.enum(["open", "all"]).default("open"),
|
|
2547
|
+
limit: import_zod26.z.int().min(1).max(500).default(200)
|
|
2365
2548
|
});
|
|
2366
|
-
var DiagErrorsListResult =
|
|
2549
|
+
var DiagErrorsListResult = import_zod26.z.strictObject({
|
|
2367
2550
|
/** Newest last_seen first. */
|
|
2368
|
-
entries:
|
|
2551
|
+
entries: import_zod26.z.array(DiagErrorEntry).max(500),
|
|
2369
2552
|
total_signatures: nonNegInt,
|
|
2370
2553
|
total_occurrences: nonNegInt,
|
|
2371
2554
|
/** Signatures with occurrences not yet delivered. */
|
|
2372
2555
|
waiting: nonNegInt,
|
|
2373
2556
|
/** signed_out = kept until sign-in; ok = the last delivery worked; failing = the last delivery failed (kept, retried). */
|
|
2374
|
-
delivery:
|
|
2557
|
+
delivery: import_zod26.z.enum(["signed_out", "ok", "failing"]),
|
|
2375
2558
|
last_delivery_ms: epochMs.nullable()
|
|
2376
2559
|
});
|
|
2377
|
-
var DiagErrorsReportParams =
|
|
2378
|
-
process:
|
|
2379
|
-
kind:
|
|
2560
|
+
var DiagErrorsReportParams = import_zod26.z.strictObject({
|
|
2561
|
+
process: import_zod26.z.enum(["renderer", "hosted_page"]),
|
|
2562
|
+
kind: import_zod26.z.enum(["uncaught_exception", "unhandled_rejection", "console_error", "banner"]),
|
|
2380
2563
|
/** The screen or page, e.g. "code.chats". */
|
|
2381
|
-
source:
|
|
2382
|
-
message:
|
|
2383
|
-
code:
|
|
2384
|
-
stack:
|
|
2564
|
+
source: import_zod26.z.string().min(1).max(128),
|
|
2565
|
+
message: import_zod26.z.string().min(1).max(2e3),
|
|
2566
|
+
code: import_zod26.z.string().max(64).optional(),
|
|
2567
|
+
stack: import_zod26.z.string().max(8e3).optional()
|
|
2385
2568
|
});
|
|
2386
|
-
var DiagErrorsReportResult =
|
|
2387
|
-
signature:
|
|
2569
|
+
var DiagErrorsReportResult = import_zod26.z.strictObject({
|
|
2570
|
+
signature: import_zod26.z.string().regex(/^[0-9a-f]{32}$/)
|
|
2388
2571
|
});
|
|
2389
|
-
var DiagErrorsChangedEvent =
|
|
2572
|
+
var DiagErrorsChangedEvent = import_zod26.z.strictObject({
|
|
2390
2573
|
total_signatures: nonNegInt,
|
|
2391
2574
|
waiting: nonNegInt
|
|
2392
2575
|
});
|
|
2393
2576
|
|
|
2394
2577
|
// src/schema/resources.ts
|
|
2395
|
-
var
|
|
2396
|
-
var ResourcesDisk =
|
|
2578
|
+
var import_zod27 = require("zod");
|
|
2579
|
+
var ResourcesDisk = import_zod27.z.strictObject({
|
|
2397
2580
|
/** Where it is mounted ("/", "C:"). */
|
|
2398
|
-
mount:
|
|
2581
|
+
mount: import_zod27.z.string().max(512),
|
|
2399
2582
|
/** The volume's name as the file manager shows it ("Macintosh HD", "Local Disk (C:)"). Since 1.17. */
|
|
2400
|
-
name:
|
|
2583
|
+
name: import_zod27.z.string().max(256).optional(),
|
|
2401
2584
|
/** The file system ("apfs", "NTFS", "ext4"). */
|
|
2402
|
-
fs:
|
|
2585
|
+
fs: import_zod27.z.string().max(64),
|
|
2403
2586
|
size_bytes: nonNegInt,
|
|
2404
2587
|
used_bytes: nonNegInt,
|
|
2405
2588
|
available_bytes: nonNegInt
|
|
2406
2589
|
});
|
|
2407
|
-
var ResourcesSnapshotParams =
|
|
2408
|
-
var ResourcesSnapshotResult =
|
|
2409
|
-
cpu:
|
|
2590
|
+
var ResourcesSnapshotParams = import_zod27.z.strictObject({});
|
|
2591
|
+
var ResourcesSnapshotResult = import_zod27.z.strictObject({
|
|
2592
|
+
cpu: import_zod27.z.strictObject({
|
|
2410
2593
|
/** Busy share of all cores, 0–100, measured now. */
|
|
2411
|
-
percent:
|
|
2412
|
-
cores:
|
|
2594
|
+
percent: import_zod27.z.number().min(0).max(100),
|
|
2595
|
+
cores: import_zod27.z.int().min(1),
|
|
2413
2596
|
/** 1, 5 and 15 minute load averages; null on Windows. */
|
|
2414
|
-
load:
|
|
2597
|
+
load: import_zod27.z.array(import_zod27.z.number().min(0)).length(3).nullable()
|
|
2415
2598
|
}),
|
|
2416
|
-
memory:
|
|
2417
|
-
swap:
|
|
2418
|
-
disks:
|
|
2599
|
+
memory: import_zod27.z.strictObject({ total_bytes: nonNegInt, used_bytes: nonNegInt, available_bytes: nonNegInt }),
|
|
2600
|
+
swap: import_zod27.z.strictObject({ total_bytes: nonNegInt, used_bytes: nonNegInt }),
|
|
2601
|
+
disks: import_zod27.z.array(ResourcesDisk).max(64),
|
|
2419
2602
|
uptime_seconds: nonNegInt
|
|
2420
2603
|
});
|
|
2421
|
-
var ResourcesJobKind =
|
|
2422
|
-
var ResourcesStrain =
|
|
2423
|
-
var ResourcesPressure =
|
|
2424
|
-
var ResourcesJob =
|
|
2604
|
+
var ResourcesJobKind = import_zod27.z.enum(["type-check", "tests", "build", "lint", "dev server", "language server", "search"]);
|
|
2605
|
+
var ResourcesStrain = import_zod27.z.enum(["good", "strain", "overloaded"]);
|
|
2606
|
+
var ResourcesPressure = import_zod27.z.enum(["normal", "warning", "critical"]);
|
|
2607
|
+
var ResourcesJob = import_zod27.z.strictObject({
|
|
2425
2608
|
/** The job's root process (Stop takes its whole tree). */
|
|
2426
|
-
pid:
|
|
2609
|
+
pid: import_zod27.z.int().min(0),
|
|
2427
2610
|
kind: ResourcesJobKind,
|
|
2428
2611
|
/** Its heaviest process's command line, shortened ("…/lib/tsc --noEmit -p tsconfig.json"). */
|
|
2429
|
-
command:
|
|
2612
|
+
command: import_zod27.z.string().max(256),
|
|
2430
2613
|
/** Who started it: "Claude Code", "Codex", "Cursor", "VS Code", "Terminal", "local stack", "detached"; null when unknown. */
|
|
2431
|
-
started_by:
|
|
2614
|
+
started_by: import_zod27.z.string().max(64).nullable(),
|
|
2432
2615
|
/** Whatever started it is gone and nothing waits for it. */
|
|
2433
|
-
orphan:
|
|
2616
|
+
orphan: import_zod27.z.boolean(),
|
|
2434
2617
|
/** A type-check queued for its turn (no compiler running yet). */
|
|
2435
|
-
waiting:
|
|
2618
|
+
waiting: import_zod27.z.boolean(),
|
|
2436
2619
|
/** The project folder it runs in ("matrx-frontend"); null when not in one. */
|
|
2437
|
-
folder:
|
|
2620
|
+
folder: import_zod27.z.string().max(256).nullable(),
|
|
2438
2621
|
/** The same command in the same folder, running this many times (1 = no duplicate). */
|
|
2439
|
-
duplicates:
|
|
2440
|
-
processes:
|
|
2622
|
+
duplicates: import_zod27.z.int().min(1),
|
|
2623
|
+
processes: import_zod27.z.int().min(1),
|
|
2441
2624
|
/** Sum over the tree, as `ps` reports it: 100 = one full core. */
|
|
2442
|
-
cpu_percent:
|
|
2625
|
+
cpu_percent: import_zod27.z.number().min(0),
|
|
2443
2626
|
/** Real memory (macOS: the physical footprint Activity Monitor shows, compressed included). */
|
|
2444
2627
|
memory_bytes: nonNegInt,
|
|
2445
2628
|
started_at_ms: epochMs.nullable(),
|
|
2446
2629
|
/** False for an app, an agent session, a terminal, a system process, the local stack or Matrx 2 itself. */
|
|
2447
|
-
stoppable:
|
|
2630
|
+
stoppable: import_zod27.z.boolean()
|
|
2448
2631
|
});
|
|
2449
|
-
var ResourcesProcess =
|
|
2450
|
-
pid:
|
|
2632
|
+
var ResourcesProcess = import_zod27.z.strictObject({
|
|
2633
|
+
pid: import_zod27.z.int().min(0),
|
|
2451
2634
|
/** The command line, shortened. */
|
|
2452
|
-
name:
|
|
2453
|
-
cpu_percent:
|
|
2635
|
+
name: import_zod27.z.string().max(256),
|
|
2636
|
+
cpu_percent: import_zod27.z.number().min(0),
|
|
2454
2637
|
memory_bytes: nonNegInt,
|
|
2455
|
-
started_by:
|
|
2638
|
+
started_by: import_zod27.z.string().max(64).nullable(),
|
|
2456
2639
|
/** The job it belongs to ("type-check in aidream"); null when none. */
|
|
2457
|
-
job:
|
|
2640
|
+
job: import_zod27.z.string().max(256).nullable(),
|
|
2458
2641
|
started_at_ms: epochMs.nullable()
|
|
2459
2642
|
});
|
|
2460
|
-
var ResourcesVerdict =
|
|
2643
|
+
var ResourcesVerdict = import_zod27.z.strictObject({
|
|
2461
2644
|
level: ResourcesStrain,
|
|
2462
2645
|
/** One sentence ("Your Mac is under strain. 3 type-checks are running at once."). */
|
|
2463
|
-
text:
|
|
2646
|
+
text: import_zod27.z.string().max(256),
|
|
2464
2647
|
/** The biggest jobs behind it; null when all is well. */
|
|
2465
|
-
cause:
|
|
2648
|
+
cause: import_zod27.z.string().max(1024).nullable()
|
|
2466
2649
|
});
|
|
2467
|
-
var ResourcesSample =
|
|
2650
|
+
var ResourcesSample = import_zod27.z.strictObject({
|
|
2468
2651
|
at_ms: epochMs,
|
|
2469
2652
|
/** The 1-minute load average. */
|
|
2470
|
-
load:
|
|
2653
|
+
load: import_zod27.z.number().min(0),
|
|
2471
2654
|
memory_used_bytes: nonNegInt,
|
|
2472
2655
|
typechecks: nonNegInt
|
|
2473
2656
|
});
|
|
2474
|
-
var ResourcesActivityParams =
|
|
2475
|
-
var ResourcesActivityResult =
|
|
2657
|
+
var ResourcesActivityParams = import_zod27.z.strictObject({});
|
|
2658
|
+
var ResourcesActivityResult = import_zod27.z.strictObject({
|
|
2476
2659
|
/** False until the first reading (a second or two after start). */
|
|
2477
|
-
ready:
|
|
2660
|
+
ready: import_zod27.z.boolean(),
|
|
2478
2661
|
sampled_at_ms: epochMs.nullable(),
|
|
2479
|
-
cores:
|
|
2662
|
+
cores: import_zod27.z.int().min(1),
|
|
2480
2663
|
/** 1, 5 and 15 minute load averages. */
|
|
2481
|
-
load:
|
|
2482
|
-
memory:
|
|
2664
|
+
load: import_zod27.z.array(import_zod27.z.number().min(0)).length(3),
|
|
2665
|
+
memory: import_zod27.z.strictObject({
|
|
2483
2666
|
total_bytes: nonNegInt,
|
|
2484
2667
|
/** Activity Monitor's Memory Used: app memory + wired + compressed. */
|
|
2485
2668
|
used_bytes: nonNegInt,
|
|
@@ -2490,252 +2673,269 @@ var ResourcesActivityResult = import_zod26.z.strictObject({
|
|
|
2490
2673
|
pressure: ResourcesPressure.nullable()
|
|
2491
2674
|
}),
|
|
2492
2675
|
verdict: ResourcesVerdict,
|
|
2493
|
-
typechecks:
|
|
2676
|
+
typechecks: import_zod27.z.strictObject({ running: nonNegInt, waiting: nonNegInt, comfort: nonNegInt }),
|
|
2494
2677
|
/** Heaviest first (1 GB weighs as much as 16 % of a core). */
|
|
2495
|
-
jobs:
|
|
2678
|
+
jobs: import_zod27.z.array(ResourcesJob).max(200),
|
|
2496
2679
|
/** The 15 heaviest by memory and the 15 busiest by CPU, together. */
|
|
2497
|
-
top:
|
|
2680
|
+
top: import_zod27.z.array(ResourcesProcess).max(30),
|
|
2498
2681
|
/** The last hour, oldest first. */
|
|
2499
|
-
history:
|
|
2682
|
+
history: import_zod27.z.array(ResourcesSample).max(1200)
|
|
2500
2683
|
});
|
|
2501
|
-
var ResourcesStopJobParams =
|
|
2502
|
-
var ResourcesStopJobResult =
|
|
2684
|
+
var ResourcesStopJobParams = import_zod27.z.strictObject({ pid: import_zod27.z.int().min(1) });
|
|
2685
|
+
var ResourcesStopJobResult = import_zod27.z.strictObject({
|
|
2503
2686
|
/** Processes signalled; whatever is still running 5 seconds later is force-stopped. */
|
|
2504
2687
|
processes: nonNegInt,
|
|
2505
2688
|
/** It had finished before the request arrived. */
|
|
2506
|
-
already_finished:
|
|
2689
|
+
already_finished: import_zod27.z.boolean()
|
|
2507
2690
|
});
|
|
2508
|
-
var ResourcesIncident =
|
|
2691
|
+
var ResourcesIncident = import_zod27.z.strictObject({
|
|
2509
2692
|
at_ms: epochMs,
|
|
2510
2693
|
verdict: ResourcesVerdict,
|
|
2511
|
-
load:
|
|
2694
|
+
load: import_zod27.z.number().min(0),
|
|
2512
2695
|
memory_used_bytes: nonNegInt,
|
|
2513
2696
|
compressed_bytes: nonNegInt,
|
|
2514
2697
|
pressure: ResourcesPressure.nullable(),
|
|
2515
|
-
jobs:
|
|
2516
|
-
|
|
2698
|
+
jobs: import_zod27.z.array(
|
|
2699
|
+
import_zod27.z.strictObject({
|
|
2517
2700
|
kind: ResourcesJobKind,
|
|
2518
|
-
started_by:
|
|
2519
|
-
folder:
|
|
2520
|
-
command:
|
|
2521
|
-
cpu_percent:
|
|
2701
|
+
started_by: import_zod27.z.string().max(64).nullable(),
|
|
2702
|
+
folder: import_zod27.z.string().max(256).nullable(),
|
|
2703
|
+
command: import_zod27.z.string().max(256),
|
|
2704
|
+
cpu_percent: import_zod27.z.number().min(0),
|
|
2522
2705
|
memory_bytes: nonNegInt,
|
|
2523
|
-
duplicates:
|
|
2706
|
+
duplicates: import_zod27.z.int().min(1)
|
|
2524
2707
|
})
|
|
2525
2708
|
).max(8)
|
|
2526
2709
|
});
|
|
2527
|
-
var ResourcesIncidentsParams =
|
|
2528
|
-
var ResourcesIncidentsResult =
|
|
2710
|
+
var ResourcesIncidentsParams = import_zod27.z.strictObject({ limit: import_zod27.z.int().min(1).max(200).default(50) });
|
|
2711
|
+
var ResourcesIncidentsResult = import_zod27.z.strictObject({
|
|
2529
2712
|
/** Newest first; at most one a minute is written. */
|
|
2530
|
-
incidents:
|
|
2713
|
+
incidents: import_zod27.z.array(ResourcesIncident).max(200)
|
|
2531
2714
|
});
|
|
2532
2715
|
|
|
2533
2716
|
// src/schema/stack.ts
|
|
2534
|
-
var
|
|
2535
|
-
var StackServerName =
|
|
2536
|
-
var StackTone =
|
|
2537
|
-
var StackServer =
|
|
2717
|
+
var import_zod28 = require("zod");
|
|
2718
|
+
var StackServerName = import_zod28.z.string().regex(/^[a-z0-9_-]{1,64}$/);
|
|
2719
|
+
var StackTone = import_zod28.z.enum(["good", "wait", "bad", "off"]);
|
|
2720
|
+
var StackServer = import_zod28.z.strictObject({
|
|
2538
2721
|
name: StackServerName,
|
|
2539
2722
|
/** One word: Healthy, Starting, Unhealthy, Restarting, Stopping, Waiting, Stopped, Crashed, Off. */
|
|
2540
|
-
label:
|
|
2723
|
+
label: import_zod28.z.string().max(32),
|
|
2541
2724
|
tone: StackTone,
|
|
2542
2725
|
/** What is going on, in one or two plain sentences. */
|
|
2543
|
-
sentence:
|
|
2726
|
+
sentence: import_zod28.z.string().max(2e3),
|
|
2544
2727
|
/** The config's own description of the server. */
|
|
2545
|
-
description:
|
|
2728
|
+
description: import_zod28.z.string().max(512),
|
|
2546
2729
|
/** Where the server answers, when its description names an address. */
|
|
2547
|
-
open_url:
|
|
2548
|
-
log_file:
|
|
2730
|
+
open_url: import_zod28.z.string().max(2048).nullable(),
|
|
2731
|
+
log_file: import_zod28.z.string().max(4096),
|
|
2549
2732
|
/** When its log file was last written. */
|
|
2550
2733
|
last_output_at_ms: epochMs.nullable(),
|
|
2551
2734
|
started_at_ms: epochMs.nullable(),
|
|
2552
2735
|
restarts: nonNegInt,
|
|
2553
|
-
exit_code:
|
|
2554
|
-
pid:
|
|
2736
|
+
exit_code: import_zod28.z.int().nullable(),
|
|
2737
|
+
pid: import_zod28.z.int().nullable(),
|
|
2555
2738
|
/** (1.18) CPU of the server's process and everything under it, in percent of one core; absent when it is not running. */
|
|
2556
|
-
cpu_percent:
|
|
2739
|
+
cpu_percent: import_zod28.z.number().min(0).optional(),
|
|
2557
2740
|
/** (1.18) Memory of the same processes: the physical footprint (Activity Monitor's Memory) summed; absent when it is not running. */
|
|
2558
2741
|
memory_bytes: nonNegInt.optional()
|
|
2559
2742
|
});
|
|
2560
|
-
var StackEvent =
|
|
2743
|
+
var StackEvent = import_zod28.z.strictObject({
|
|
2561
2744
|
at_ms: epochMs,
|
|
2562
2745
|
/** A server name, or "stack" for the stack as a whole. */
|
|
2563
|
-
server:
|
|
2746
|
+
server: import_zod28.z.string().max(64),
|
|
2564
2747
|
/** started · stopped · healthy · unhealthy · crashed · exited · restarting · stopping · action · action-done · action-failed · setup · error */
|
|
2565
|
-
kind:
|
|
2566
|
-
text:
|
|
2748
|
+
kind: import_zod28.z.string().max(32),
|
|
2749
|
+
text: import_zod28.z.string().max(4e3)
|
|
2567
2750
|
});
|
|
2568
|
-
var StackStateParams =
|
|
2569
|
-
var StackStateResult =
|
|
2751
|
+
var StackStateParams = import_zod28.z.strictObject({});
|
|
2752
|
+
var StackStateResult = import_zod28.z.strictObject({
|
|
2570
2753
|
/** The stack's config file, when found. */
|
|
2571
|
-
config_path:
|
|
2754
|
+
config_path: import_zod28.z.string().max(4096).nullable(),
|
|
2572
2755
|
/** Why the stack cannot be run from here (no config, no process-compose), else null. */
|
|
2573
|
-
problem:
|
|
2574
|
-
stack_up:
|
|
2756
|
+
problem: import_zod28.z.string().max(1e3).nullable(),
|
|
2757
|
+
stack_up: import_zod28.z.boolean(),
|
|
2575
2758
|
stack_started_at_ms: epochMs.nullable(),
|
|
2576
|
-
servers:
|
|
2759
|
+
servers: import_zod28.z.array(StackServer).max(64),
|
|
2577
2760
|
/** One line about the one-shot setup steps ("Docker Desktop: running."), or null. */
|
|
2578
|
-
setup_note:
|
|
2761
|
+
setup_note: import_zod28.z.string().max(500).nullable(),
|
|
2579
2762
|
/** Start everything / Stop everything in flight. */
|
|
2580
|
-
pending:
|
|
2763
|
+
pending: import_zod28.z.strictObject({ verb: import_zod28.z.enum(["start", "stop"]), label: import_zod28.z.string().max(64), since_ms: epochMs }).nullable(),
|
|
2581
2764
|
/** The newest entries last. */
|
|
2582
|
-
events:
|
|
2765
|
+
events: import_zod28.z.array(StackEvent).max(300)
|
|
2583
2766
|
});
|
|
2584
|
-
var StackStartParams =
|
|
2585
|
-
var StackStopParams =
|
|
2586
|
-
var StackRunResult =
|
|
2587
|
-
var StackServerActionParams =
|
|
2767
|
+
var StackStartParams = import_zod28.z.strictObject({});
|
|
2768
|
+
var StackStopParams = import_zod28.z.strictObject({});
|
|
2769
|
+
var StackRunResult = import_zod28.z.strictObject({ accepted: import_zod28.z.boolean() });
|
|
2770
|
+
var StackServerActionParams = import_zod28.z.strictObject({
|
|
2588
2771
|
name: StackServerName,
|
|
2589
|
-
verb:
|
|
2772
|
+
verb: import_zod28.z.enum(["start", "stop", "restart"])
|
|
2590
2773
|
});
|
|
2591
|
-
var StackServerActionResult =
|
|
2592
|
-
var StackLogsParams =
|
|
2774
|
+
var StackServerActionResult = import_zod28.z.strictObject({ message: import_zod28.z.string().max(1e3) });
|
|
2775
|
+
var StackLogsParams = import_zod28.z.strictObject({
|
|
2593
2776
|
name: StackServerName,
|
|
2594
2777
|
/** Without `offset`: the last this-many complete lines. With it: new lines after it, at most this many. */
|
|
2595
|
-
lines:
|
|
2778
|
+
lines: import_zod28.z.int().min(1).max(2e5).default(2e3),
|
|
2596
2779
|
/** Byte offset the last read ended at: answer only what was written after it (follow). */
|
|
2597
2780
|
offset: nonNegInt.optional(),
|
|
2598
2781
|
/** A "Clear" point: the lines written after this byte offset (no `offset`). */
|
|
2599
2782
|
since: nonNegInt.optional(),
|
|
2600
2783
|
/** With `offset`: wait up to this long for a new line when none is waiting (0 answers at once). */
|
|
2601
|
-
wait_ms:
|
|
2784
|
+
wait_ms: import_zod28.z.int().min(0).max(25e3).default(0)
|
|
2602
2785
|
});
|
|
2603
|
-
var StackLogsResult =
|
|
2786
|
+
var StackLogsResult = import_zod28.z.strictObject({
|
|
2604
2787
|
/** Complete lines, colour codes removed. */
|
|
2605
|
-
lines:
|
|
2788
|
+
lines: import_zod28.z.array(import_zod28.z.string().max(65536)).max(2e5),
|
|
2606
2789
|
/** Where these lines end: pass it back as `offset` to follow. */
|
|
2607
2790
|
offset: nonNegInt,
|
|
2608
2791
|
/** False when `since` no longer exists (the log rotated): the lines are the plain tail instead. */
|
|
2609
|
-
since_valid:
|
|
2792
|
+
since_valid: import_zod28.z.boolean(),
|
|
2610
2793
|
/** The log was rotated or truncated since `offset`: these lines start the file again. */
|
|
2611
|
-
reset:
|
|
2612
|
-
log_file:
|
|
2794
|
+
reset: import_zod28.z.boolean(),
|
|
2795
|
+
log_file: import_zod28.z.string().max(4096)
|
|
2613
2796
|
});
|
|
2614
|
-
var StackErrorsParams =
|
|
2615
|
-
window_minutes:
|
|
2797
|
+
var StackErrorsParams = import_zod28.z.strictObject({
|
|
2798
|
+
window_minutes: import_zod28.z.int().min(1).max(1440).default(60)
|
|
2616
2799
|
});
|
|
2617
|
-
var StackErrorsResult =
|
|
2800
|
+
var StackErrorsResult = import_zod28.z.strictObject({
|
|
2618
2801
|
/** Per server: a heading line ("=== aidream — errors in the last 60 minutes (<file>) ===") and each error with the 10 lines after it. */
|
|
2619
|
-
sections:
|
|
2620
|
-
window_minutes:
|
|
2802
|
+
sections: import_zod28.z.array(import_zod28.z.strictObject({ name: StackServerName, heading: import_zod28.z.string().max(4096), lines: import_zod28.z.array(import_zod28.z.string().max(65536)).max(5e3) })).max(64),
|
|
2803
|
+
window_minutes: import_zod28.z.int().min(1).max(1440)
|
|
2621
2804
|
});
|
|
2622
2805
|
|
|
2623
2806
|
// src/schema/audio.ts
|
|
2624
|
-
var
|
|
2625
|
-
var AudioDevice =
|
|
2807
|
+
var import_zod29 = require("zod");
|
|
2808
|
+
var AudioDevice = import_zod29.z.strictObject({
|
|
2626
2809
|
/** The OS's name for it, as audio.record takes it. */
|
|
2627
|
-
id:
|
|
2628
|
-
name:
|
|
2629
|
-
default:
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2810
|
+
id: import_zod29.z.string().min(1).max(256),
|
|
2811
|
+
name: import_zod29.z.string().max(256),
|
|
2812
|
+
default: import_zod29.z.boolean(),
|
|
2813
|
+
/** (1.24) How it is connected, as Sound's Type column says it: "Built-in", "USB", "Bluetooth",
|
|
2814
|
+
* "DisplayPort", "HDMI", "AirPlay", "Virtual". Absent where the OS does not say. */
|
|
2815
|
+
kind: import_zod29.z.string().max(64).optional()
|
|
2816
|
+
});
|
|
2817
|
+
var AudioDevicesParams = import_zod29.z.strictObject({});
|
|
2818
|
+
var AudioDevicesResult = import_zod29.z.strictObject({
|
|
2819
|
+
inputs: import_zod29.z.array(AudioDevice).max(64),
|
|
2820
|
+
outputs: import_zod29.z.array(AudioDevice).max(64)
|
|
2821
|
+
});
|
|
2822
|
+
var AudioRecordParams = import_zod29.z.strictObject({
|
|
2823
|
+
seconds: import_zod29.z.number().min(0.5).max(600),
|
|
2638
2824
|
/** The microphone (from audio.devices); the default input when absent. */
|
|
2639
|
-
device_id:
|
|
2825
|
+
device_id: import_zod29.z.string().min(1).max(256).optional(),
|
|
2640
2826
|
/** Where the WAV file goes; a new file in the temp folder when absent. */
|
|
2641
2827
|
path: AbsPath.optional()
|
|
2642
2828
|
});
|
|
2643
|
-
var AudioRecordResult =
|
|
2829
|
+
var AudioRecordResult = import_zod29.z.strictObject({
|
|
2644
2830
|
path: AbsPath,
|
|
2645
|
-
seconds:
|
|
2831
|
+
seconds: import_zod29.z.number().min(0),
|
|
2646
2832
|
bytes: nonNegInt,
|
|
2647
2833
|
/** Loudest sample, 0–1: 0 means the device gave silence. */
|
|
2648
|
-
peak:
|
|
2834
|
+
peak: import_zod29.z.number().min(0).max(1)
|
|
2835
|
+
});
|
|
2836
|
+
var AudioPlayParams = import_zod29.z.strictObject({ path: AbsPath });
|
|
2837
|
+
var AudioPlayResult = import_zod29.z.strictObject({ path: AbsPath, seconds: import_zod29.z.number().min(0) });
|
|
2838
|
+
var AudioLevelsParams = import_zod29.z.strictObject({});
|
|
2839
|
+
var AudioLevelsResult = import_zod29.z.strictObject({
|
|
2840
|
+
output_volume: import_zod29.z.number().min(0).max(100).nullable(),
|
|
2841
|
+
output_muted: import_zod29.z.boolean().nullable(),
|
|
2842
|
+
input_volume: import_zod29.z.number().min(0).max(100).nullable(),
|
|
2843
|
+
/** The alert (beep) volume, a share of the output volume. */
|
|
2844
|
+
alert_volume: import_zod29.z.number().min(0).max(100).nullable()
|
|
2845
|
+
});
|
|
2846
|
+
var AudioSetLevelsParams = import_zod29.z.strictObject({
|
|
2847
|
+
output_volume: import_zod29.z.number().min(0).max(100).optional(),
|
|
2848
|
+
output_muted: import_zod29.z.boolean().optional(),
|
|
2849
|
+
input_volume: import_zod29.z.number().min(0).max(100).optional(),
|
|
2850
|
+
alert_volume: import_zod29.z.number().min(0).max(100).optional()
|
|
2649
2851
|
});
|
|
2650
|
-
var AudioPlayParams = import_zod28.z.strictObject({ path: AbsPath });
|
|
2651
|
-
var AudioPlayResult = import_zod28.z.strictObject({ path: AbsPath, seconds: import_zod28.z.number().min(0) });
|
|
2652
2852
|
|
|
2653
2853
|
// src/schema/fs-watch.ts
|
|
2654
|
-
var
|
|
2655
|
-
var FsWatchId =
|
|
2656
|
-
var FsWatchStartParams =
|
|
2854
|
+
var import_zod30 = require("zod");
|
|
2855
|
+
var FsWatchId = import_zod30.z.string().regex(/^fw_[A-Za-z0-9]{12,40}$/);
|
|
2856
|
+
var FsWatchStartParams = import_zod30.z.strictObject({
|
|
2657
2857
|
path: AbsPath,
|
|
2658
|
-
recursive:
|
|
2858
|
+
recursive: import_zod30.z.boolean().default(true),
|
|
2659
2859
|
/** Globs relative to `path` whose changes are not reported (".git/**", "node_modules/**"). */
|
|
2660
|
-
ignore:
|
|
2860
|
+
ignore: import_zod30.z.array(import_zod30.z.string().max(256)).max(64).default([])
|
|
2661
2861
|
});
|
|
2662
|
-
var FsWatchStartResult =
|
|
2862
|
+
var FsWatchStartResult = import_zod30.z.strictObject({
|
|
2663
2863
|
watch_id: FsWatchId,
|
|
2664
2864
|
path: AbsPath,
|
|
2665
2865
|
/** The watch ends by itself if nobody reads it for 30 minutes. */
|
|
2666
2866
|
expires_at_ms: epochMs
|
|
2667
2867
|
});
|
|
2668
|
-
var FsWatchEventsParams =
|
|
2868
|
+
var FsWatchEventsParams = import_zod30.z.strictObject({
|
|
2669
2869
|
watch_id: FsWatchId,
|
|
2670
2870
|
/** Wait up to this long for a first change when none is waiting (0 answers at once). */
|
|
2671
|
-
wait_ms:
|
|
2871
|
+
wait_ms: import_zod30.z.int().min(0).max(25e3).default(0)
|
|
2672
2872
|
});
|
|
2673
|
-
var FsWatchEventsResult =
|
|
2873
|
+
var FsWatchEventsResult = import_zod30.z.strictObject({
|
|
2674
2874
|
/** What changed since the last read, oldest first; re-checked against the disk when read. */
|
|
2675
|
-
changes:
|
|
2875
|
+
changes: import_zod30.z.array(FsChange).max(1e3),
|
|
2676
2876
|
/** Changes were dropped (more than 1000 waited): list the folder again. */
|
|
2677
|
-
overflow:
|
|
2877
|
+
overflow: import_zod30.z.boolean(),
|
|
2678
2878
|
expires_at_ms: epochMs
|
|
2679
2879
|
});
|
|
2680
|
-
var FsWatchStopParams =
|
|
2681
|
-
var FsWatchStopResult =
|
|
2880
|
+
var FsWatchStopParams = import_zod30.z.strictObject({ watch_id: FsWatchId });
|
|
2881
|
+
var FsWatchStopResult = import_zod30.z.strictObject({ watch_id: FsWatchId });
|
|
2682
2882
|
|
|
2683
2883
|
// src/schema/exec-job.ts
|
|
2684
|
-
var
|
|
2685
|
-
var ExecJobId =
|
|
2686
|
-
var ExecJobStartParams =
|
|
2687
|
-
command:
|
|
2884
|
+
var import_zod31 = require("zod");
|
|
2885
|
+
var ExecJobId = import_zod31.z.string().regex(/^job_[A-Za-z0-9]{12,40}$/);
|
|
2886
|
+
var ExecJobStartParams = import_zod31.z.strictObject({
|
|
2887
|
+
command: import_zod31.z.string().min(1).max(131072),
|
|
2688
2888
|
/** The folder it runs in; the home folder when absent. */
|
|
2689
2889
|
cwd: AbsPath.optional(),
|
|
2690
|
-
env:
|
|
2890
|
+
env: import_zod31.z.record(import_zod31.z.string().regex(/^[A-Za-z_][A-Za-z0-9_]*$/).max(128), import_zod31.z.string().max(32768)).optional()
|
|
2691
2891
|
});
|
|
2692
|
-
var ExecJobStartResult =
|
|
2693
|
-
var ExecJobOutputParams =
|
|
2892
|
+
var ExecJobStartResult = import_zod31.z.strictObject({ job_id: ExecJobId, pid: import_zod31.z.int().min(1), cwd: AbsPath });
|
|
2893
|
+
var ExecJobOutputParams = import_zod31.z.strictObject({
|
|
2694
2894
|
job_id: ExecJobId,
|
|
2695
2895
|
/** Byte offset into the job's output to read from (next_offset of the last read; 0 = the start). */
|
|
2696
2896
|
offset: nonNegInt.default(0),
|
|
2697
2897
|
/** Wait up to this long for new output or the exit when none is waiting (0 answers at once). */
|
|
2698
|
-
wait_ms:
|
|
2699
|
-
max_bytes:
|
|
2898
|
+
wait_ms: import_zod31.z.int().min(0).max(25e3).default(0),
|
|
2899
|
+
max_bytes: import_zod31.z.int().min(1024).max(1048576).default(65536)
|
|
2700
2900
|
});
|
|
2701
|
-
var ExecJobOutputResult =
|
|
2901
|
+
var ExecJobOutputResult = import_zod31.z.strictObject({
|
|
2702
2902
|
/** stdout and stderr interleaved as they arrived (UTF-8). */
|
|
2703
|
-
output:
|
|
2903
|
+
output: import_zod31.z.string(),
|
|
2704
2904
|
next_offset: nonNegInt,
|
|
2705
2905
|
/** Bytes before `offset` that are gone (the job keeps its last 4 MiB). */
|
|
2706
2906
|
dropped_bytes: nonNegInt,
|
|
2707
|
-
running:
|
|
2708
|
-
exit_code:
|
|
2907
|
+
running: import_zod31.z.boolean(),
|
|
2908
|
+
exit_code: import_zod31.z.int().nullable()
|
|
2709
2909
|
});
|
|
2710
|
-
var ExecJobStopParams =
|
|
2910
|
+
var ExecJobStopParams = import_zod31.z.strictObject({
|
|
2711
2911
|
job_id: ExecJobId,
|
|
2712
2912
|
/** End it at once (SIGKILL; on Windows the whole tree with /F) instead of asking it to quit. */
|
|
2713
|
-
force:
|
|
2913
|
+
force: import_zod31.z.boolean().default(false)
|
|
2714
2914
|
});
|
|
2715
|
-
var ExecJobStopResult =
|
|
2716
|
-
var ExecJobInfo =
|
|
2915
|
+
var ExecJobStopResult = import_zod31.z.strictObject({ job_id: ExecJobId, exited: import_zod31.z.boolean(), exit_code: import_zod31.z.int().nullable() });
|
|
2916
|
+
var ExecJobInfo = import_zod31.z.strictObject({
|
|
2717
2917
|
job_id: ExecJobId,
|
|
2718
|
-
command:
|
|
2719
|
-
pid:
|
|
2918
|
+
command: import_zod31.z.string().max(1024),
|
|
2919
|
+
pid: import_zod31.z.int().min(1),
|
|
2720
2920
|
cwd: AbsPath,
|
|
2721
|
-
running:
|
|
2722
|
-
exit_code:
|
|
2921
|
+
running: import_zod31.z.boolean(),
|
|
2922
|
+
exit_code: import_zod31.z.int().nullable(),
|
|
2723
2923
|
started_at_ms: epochMs,
|
|
2724
2924
|
output_bytes: nonNegInt
|
|
2725
2925
|
});
|
|
2726
|
-
var ExecJobListParams =
|
|
2727
|
-
var ExecJobListResult =
|
|
2926
|
+
var ExecJobListParams = import_zod31.z.strictObject({});
|
|
2927
|
+
var ExecJobListResult = import_zod31.z.strictObject({ jobs: import_zod31.z.array(ExecJobInfo).max(64) });
|
|
2728
2928
|
|
|
2729
2929
|
// src/schema/coding.ts
|
|
2730
|
-
var
|
|
2731
|
-
var
|
|
2732
|
-
var CodingServiceCredentials =
|
|
2733
|
-
access_token:
|
|
2734
|
-
user_id:
|
|
2930
|
+
var import_zod32 = require("zod");
|
|
2931
|
+
var import_uuid4 = require("@ai-matrx/kit/uuid");
|
|
2932
|
+
var CodingServiceCredentials = import_zod32.z.strictObject({
|
|
2933
|
+
access_token: import_zod32.z.string().min(16).max(16384),
|
|
2934
|
+
user_id: import_zod32.z.string().regex(import_uuid4.UUID_SHAPE_PATTERN),
|
|
2735
2935
|
/** The AI Matrx server this app talks to (production, or a local server on the nightly copy). */
|
|
2736
|
-
server_url:
|
|
2936
|
+
server_url: import_zod32.z.string().min(1).max(2048).regex(/^https?:\/\/[^\s/?#]+(\/[^\s?#]*)?$/)
|
|
2737
2937
|
});
|
|
2738
|
-
var CodingHistoryBlocked =
|
|
2938
|
+
var CodingHistoryBlocked = import_zod32.z.enum([
|
|
2739
2939
|
"signed_out",
|
|
2740
2940
|
"offline",
|
|
2741
2941
|
"organization_required",
|
|
@@ -2743,11 +2943,11 @@ var CodingHistoryBlocked = import_zod31.z.enum([
|
|
|
2743
2943
|
"cloud_list_unavailable",
|
|
2744
2944
|
"history_too_large"
|
|
2745
2945
|
]);
|
|
2746
|
-
var CodingHistoryFailure =
|
|
2747
|
-
session_id:
|
|
2748
|
-
reason:
|
|
2946
|
+
var CodingHistoryFailure = import_zod32.z.strictObject({
|
|
2947
|
+
session_id: import_zod32.z.string().max(64),
|
|
2948
|
+
reason: import_zod32.z.string().max(300)
|
|
2749
2949
|
});
|
|
2750
|
-
var CodingHistoryRun =
|
|
2950
|
+
var CodingHistoryRun = import_zod32.z.strictObject({
|
|
2751
2951
|
/** Claude Code sessions found on this computer. */
|
|
2752
2952
|
local_sessions: nonNegInt,
|
|
2753
2953
|
/** Of those, already complete in AI Matrx. */
|
|
@@ -2762,39 +2962,39 @@ var CodingHistoryRun = import_zod31.z.strictObject({
|
|
|
2762
2962
|
/** Changed while being read; a later run takes them. */
|
|
2763
2963
|
changed: nonNegInt,
|
|
2764
2964
|
failed: nonNegInt,
|
|
2765
|
-
failures:
|
|
2965
|
+
failures: import_zod32.z.array(CodingHistoryFailure).max(20),
|
|
2766
2966
|
/** Candidates not reached yet. */
|
|
2767
2967
|
remaining: nonNegInt,
|
|
2768
2968
|
/** The one line a person reads, e.g. "Imported 12 of 14 sessions. 140 already in AI Matrx." */
|
|
2769
|
-
summary:
|
|
2969
|
+
summary: import_zod32.z.string().max(400)
|
|
2770
2970
|
});
|
|
2771
|
-
var CodingHistoryStep =
|
|
2971
|
+
var CodingHistoryStep = import_zod32.z.strictObject({
|
|
2772
2972
|
/** Null when the run could not start (blocked before a plan existed). */
|
|
2773
|
-
plan_id:
|
|
2774
|
-
finished:
|
|
2973
|
+
plan_id: import_zod32.z.string().regex(/^[0-9a-f]{32}$/).nullable(),
|
|
2974
|
+
finished: import_zod32.z.boolean(),
|
|
2775
2975
|
blocked: CodingHistoryBlocked.nullable(),
|
|
2776
2976
|
run: CodingHistoryRun
|
|
2777
2977
|
});
|
|
2778
|
-
var CodingPlanMissingParams =
|
|
2779
|
-
var CodingImportNextParams =
|
|
2780
|
-
plan_id:
|
|
2978
|
+
var CodingPlanMissingParams = import_zod32.z.strictObject({ credentials: CodingServiceCredentials.nullable() });
|
|
2979
|
+
var CodingImportNextParams = import_zod32.z.strictObject({
|
|
2980
|
+
plan_id: import_zod32.z.string().regex(/^[0-9a-f]{32}$/),
|
|
2781
2981
|
credentials: CodingServiceCredentials.nullable()
|
|
2782
2982
|
});
|
|
2783
|
-
var CodingServiceProgress =
|
|
2784
|
-
phase:
|
|
2983
|
+
var CodingServiceProgress = import_zod32.z.strictObject({
|
|
2984
|
+
phase: import_zod32.z.enum(["checking", "importing"]),
|
|
2785
2985
|
done: nonNegInt,
|
|
2786
2986
|
total: nonNegInt
|
|
2787
2987
|
});
|
|
2788
|
-
var CodingHistoryImportMissingParams =
|
|
2789
|
-
var CodingHistoryImportMissingResult =
|
|
2790
|
-
state:
|
|
2988
|
+
var CodingHistoryImportMissingParams = import_zod32.z.strictObject({});
|
|
2989
|
+
var CodingHistoryImportMissingResult = import_zod32.z.strictObject({
|
|
2990
|
+
state: import_zod32.z.enum(["done", "blocked", "cancelled"]),
|
|
2791
2991
|
blocked: CodingHistoryBlocked.nullable(),
|
|
2792
2992
|
run: CodingHistoryRun,
|
|
2793
2993
|
elapsed_ms: nonNegInt
|
|
2794
2994
|
});
|
|
2795
|
-
var CodingHistoryProgressEvent =
|
|
2995
|
+
var CodingHistoryProgressEvent = import_zod32.z.strictObject({
|
|
2796
2996
|
request_id: RequestId,
|
|
2797
|
-
phase:
|
|
2997
|
+
phase: import_zod32.z.enum(["checking", "importing"]),
|
|
2798
2998
|
/** Sessions settled so far, of `total` candidates (0 of 0 while checking). */
|
|
2799
2999
|
done: nonNegInt,
|
|
2800
3000
|
total: nonNegInt,
|
|
@@ -2806,6 +3006,7 @@ var CodingHistoryProgressEvent = import_zod31.z.strictObject({
|
|
|
2806
3006
|
var FS_ERR = ["NOT_FOUND", "PERMISSION_DENIED_OS", "INVALID_PARAMS", "RESOURCE_BUSY", "INTERNAL"];
|
|
2807
3007
|
var OPS = {
|
|
2808
3008
|
"sysinfo.get": { params: SysinfoGetParams, result: SysinfoGetResult, kind: "unary", since: "1.0", errors: ["INTERNAL"] },
|
|
3009
|
+
"sysinfo.hardware": { params: SysinfoHardwareParams, result: SysinfoHardwareResult, kind: "unary", since: "1.24", errors: ["INTERNAL"] },
|
|
2809
3010
|
"fs.list": { params: FsListParams, result: FsListResult, kind: "unary", since: "1.0", errors: FS_ERR },
|
|
2810
3011
|
"fs.stat": { params: FsStatParams, result: FsStatResult, kind: "unary", since: "1.0", errors: FS_ERR },
|
|
2811
3012
|
"fs.read": { params: FsReadParams, result: FsReadResult, kind: "unary", since: "1.0", errors: [...FS_ERR, "PAYLOAD_TOO_LARGE"] },
|
|
@@ -2882,6 +3083,7 @@ var OPS = {
|
|
|
2882
3083
|
"exec.job.stop": { params: ExecJobStopParams, result: ExecJobStopResult, kind: "unary", since: "1.4", errors: ["RESOURCE_GONE", "INVALID_PARAMS", "INTERNAL"] },
|
|
2883
3084
|
"exec.job.list": { params: ExecJobListParams, result: ExecJobListResult, kind: "unary", since: "1.4", errors: ["INTERNAL"] },
|
|
2884
3085
|
"system.open_url": { params: SystemOpenUrlParams, result: SystemOpenUrlResult, kind: "unary", since: "1.4", errors: ["INVALID_PARAMS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
3086
|
+
"system.open_settings": { params: SystemOpenSettingsParams, result: SystemOpenSettingsResult, kind: "unary", since: "1.24", errors: ["PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2885
3087
|
"system.open_path": { params: SystemOpenPathParams, result: SystemOpenPathResult, kind: "unary", since: "1.4", errors: ["NOT_FOUND", "INVALID_PARAMS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2886
3088
|
"system.notify": { params: SystemNotifyParams, result: SystemNotifyResult, kind: "unary", since: "1.4", errors: ["PERMISSION_DENIED_OS", "INTERNAL"] },
|
|
2887
3089
|
"screen.list": { params: ScreenListParams, result: ScreenListResult, kind: "unary", since: "1.4", errors: ["PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
@@ -2891,16 +3093,21 @@ var OPS = {
|
|
|
2891
3093
|
"window.move": { params: WindowMoveParams, result: WindowMoveResult, kind: "unary", since: "1.4", errors: ["NOT_FOUND", "INVALID_PARAMS", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2892
3094
|
"window.minimize": { params: WindowMinimizeParams, result: WindowMinimizeResult, kind: "unary", since: "1.4", errors: ["NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2893
3095
|
"input.type_text": { params: InputTypeTextParams, result: InputTypeTextResult, kind: "unary", since: "1.4", errors: ["PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
3096
|
+
"input.keyboard_settings": { params: InputKeyboardSettingsParams, result: InputKeyboardSettingsResult, kind: "unary", since: "1.24", errors: ["PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
3097
|
+
"input.set_keyboard_settings": { params: InputSetKeyboardSettingsParams, result: InputKeyboardSettingsResult, kind: "unary", since: "1.24", errors: ["INVALID_PARAMS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2894
3098
|
"input.hotkey": { params: InputHotkeyParams, result: InputHotkeyResult, kind: "unary", since: "1.4", errors: ["INVALID_PARAMS", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2895
3099
|
"input.mouse_move": { params: InputMouseMoveParams, result: InputMouseMoveResult, kind: "unary", since: "1.4", errors: ["PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2896
3100
|
"input.mouse_click": { params: InputMouseClickParams, result: InputMouseClickResult, kind: "unary", since: "1.4", errors: ["INVALID_PARAMS", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2897
3101
|
"power.status": { params: PowerStatusParams, result: PowerStatusResult, kind: "unary", since: "1.4", errors: ["INTERNAL"] },
|
|
3102
|
+
"power.history": { params: PowerHistoryParams, result: PowerHistoryResult, kind: "unary", since: "1.24", errors: ["INTERNAL"] },
|
|
2898
3103
|
"power.prevent_sleep": { params: PowerPreventSleepParams, result: PowerPreventSleepResult, kind: "unary", since: "1.4", errors: ["PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2899
3104
|
"resources.snapshot": { params: ResourcesSnapshotParams, result: ResourcesSnapshotResult, kind: "unary", since: "1.4", errors: ["INTERNAL"] },
|
|
2900
3105
|
"resources.activity": { params: ResourcesActivityParams, result: ResourcesActivityResult, kind: "unary", since: "1.17", errors: ["PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2901
3106
|
"resources.stop_job": { params: ResourcesStopJobParams, result: ResourcesStopJobResult, kind: "unary", since: "1.17", errors: ["NOT_FOUND", "CONFLICT", "AUTH_FORBIDDEN", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2902
3107
|
"resources.incidents": { params: ResourcesIncidentsParams, result: ResourcesIncidentsResult, kind: "unary", since: "1.17", errors: ["INTERNAL"] },
|
|
2903
3108
|
"audio.devices": { params: AudioDevicesParams, result: AudioDevicesResult, kind: "unary", since: "1.6", errors: ["PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
3109
|
+
"audio.levels": { params: AudioLevelsParams, result: AudioLevelsResult, kind: "unary", since: "1.24", errors: ["PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
3110
|
+
"audio.set_levels": { params: AudioSetLevelsParams, result: AudioLevelsResult, kind: "unary", since: "1.24", errors: ["INVALID_PARAMS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2904
3111
|
"audio.record": { params: AudioRecordParams, result: AudioRecordResult, kind: "unary", since: "1.6", errors: ["NOT_FOUND", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "RESOURCE_BUSY", "INTERNAL"] },
|
|
2905
3112
|
"audio.play": { params: AudioPlayParams, result: AudioPlayResult, kind: "unary", since: "1.6", errors: ["NOT_FOUND", "INVALID_PARAMS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2906
3113
|
// The local AI Matrx servers (aidream's process-compose stack), supervised from Matrx 2's core.
|
|
@@ -2932,7 +3139,11 @@ var OPS = {
|
|
|
2932
3139
|
"web.fetch": { params: WebFetchParams, result: WebFetchResult, kind: "unary", since: "1.22", errors: ["INVALID_PARAMS", "TIMEOUT", "RESOURCE_BUSY", "AUTH_REQUIRED", "INTERNAL"] },
|
|
2933
3140
|
"web.scrape": { params: WebScrapeParams, result: WebScrapeResult, kind: "unary", since: "1.22", errors: ["INVALID_PARAMS", "TIMEOUT", "RESOURCE_BUSY", "AUTH_REQUIRED", "INTERNAL"] },
|
|
2934
3141
|
"web.search": { params: WebSearchParams, result: WebSearchResult, kind: "unary", since: "1.22", errors: ["INVALID_PARAMS", "TIMEOUT", "RESOURCE_BUSY", "AUTH_REQUIRED", "INTERNAL"] },
|
|
2935
|
-
"web.fetch_with_browser": { params: WebBrowserFetchParams, result: WebBrowserFetchResult, kind: "unary", since: "1.22", errors: ["INVALID_PARAMS", "TIMEOUT", "RESOURCE_BUSY", "AUTH_REQUIRED", "INTERNAL"] }
|
|
3142
|
+
"web.fetch_with_browser": { params: WebBrowserFetchParams, result: WebBrowserFetchResult, kind: "unary", since: "1.22", errors: ["INVALID_PARAMS", "TIMEOUT", "RESOURCE_BUSY", "AUTH_REQUIRED", "INTERNAL"] },
|
|
3143
|
+
// 1.23: the signed-in person's own agents and Vault, read as them (the desktop's Agents library and Vault).
|
|
3144
|
+
"account.agents.list": { params: AccountAgentsListParams, result: AccountAgentsListResult, kind: "unary", since: "1.23", errors: ["INTERNAL"] },
|
|
3145
|
+
"account.vault.list": { params: AccountVaultListParams, result: AccountVaultListResult, kind: "unary", since: "1.23", errors: ["INTERNAL"] },
|
|
3146
|
+
"account.vault.copy": { params: AccountVaultCopyParams, result: AccountVaultCopyResult, kind: "unary", since: "1.23", errors: ["AUTH_REQUIRED", "AUTH_FORBIDDEN", "NOT_FOUND", "INVALID_PARAMS", "DEVICE_OFFLINE", "INTERNAL"] }
|
|
2936
3147
|
};
|
|
2937
3148
|
var EVENTS = {
|
|
2938
3149
|
"fs.changed": FsChangedEvent,
|
|
@@ -3006,6 +3217,8 @@ var NAMED_SCHEMAS = {
|
|
|
3006
3217
|
OsPermissionName,
|
|
3007
3218
|
SysinfoGetParams,
|
|
3008
3219
|
SysinfoGetResult,
|
|
3220
|
+
SysinfoHardwareParams,
|
|
3221
|
+
SysinfoHardwareResult,
|
|
3009
3222
|
FsKind,
|
|
3010
3223
|
FsEntry,
|
|
3011
3224
|
FsListParams,
|
|
@@ -3132,6 +3345,9 @@ var NAMED_SCHEMAS = {
|
|
|
3132
3345
|
SystemOpenUrlResult,
|
|
3133
3346
|
SystemOpenPathParams,
|
|
3134
3347
|
SystemOpenPathResult,
|
|
3348
|
+
SystemSettingsPane,
|
|
3349
|
+
SystemOpenSettingsParams,
|
|
3350
|
+
SystemOpenSettingsResult,
|
|
3135
3351
|
SystemNotifyParams,
|
|
3136
3352
|
SystemNotifyResult,
|
|
3137
3353
|
ScreenDisplay,
|
|
@@ -3149,6 +3365,9 @@ var NAMED_SCHEMAS = {
|
|
|
3149
3365
|
WindowMinimizeParams,
|
|
3150
3366
|
WindowMinimizeResult,
|
|
3151
3367
|
InputKey,
|
|
3368
|
+
InputKeyboardSettingsParams,
|
|
3369
|
+
InputKeyboardSettingsResult,
|
|
3370
|
+
InputSetKeyboardSettingsParams,
|
|
3152
3371
|
InputPoint,
|
|
3153
3372
|
InputTypeTextParams,
|
|
3154
3373
|
InputTypeTextResult,
|
|
@@ -3162,6 +3381,10 @@ var NAMED_SCHEMAS = {
|
|
|
3162
3381
|
PowerStatusResult,
|
|
3163
3382
|
PowerPreventSleepParams,
|
|
3164
3383
|
PowerPreventSleepResult,
|
|
3384
|
+
PowerEnergy,
|
|
3385
|
+
PowerHistoryParams,
|
|
3386
|
+
PowerHistoryPoint,
|
|
3387
|
+
PowerHistoryResult,
|
|
3165
3388
|
ResourcesDisk,
|
|
3166
3389
|
ResourcesSnapshotParams,
|
|
3167
3390
|
ResourcesSnapshotResult,
|
|
@@ -3186,6 +3409,9 @@ var NAMED_SCHEMAS = {
|
|
|
3186
3409
|
AudioRecordResult,
|
|
3187
3410
|
AudioPlayParams,
|
|
3188
3411
|
AudioPlayResult,
|
|
3412
|
+
AudioLevelsParams,
|
|
3413
|
+
AudioLevelsResult,
|
|
3414
|
+
AudioSetLevelsParams,
|
|
3189
3415
|
StackServerName,
|
|
3190
3416
|
StackTone,
|
|
3191
3417
|
StackServer,
|
|
@@ -3325,6 +3551,7 @@ var NAMED_SCHEMAS = {
|
|
|
3325
3551
|
SpendIdleScope,
|
|
3326
3552
|
SpendIdle,
|
|
3327
3553
|
SpendStart,
|
|
3554
|
+
SpendDay,
|
|
3328
3555
|
AppsSpendParams,
|
|
3329
3556
|
AppsSpendResult,
|
|
3330
3557
|
AppsSyncStatusParams,
|
|
@@ -3365,7 +3592,19 @@ var NAMED_SCHEMAS = {
|
|
|
3365
3592
|
ToolsWebSearchParams,
|
|
3366
3593
|
WebBrowserFetchParams,
|
|
3367
3594
|
WebBrowserFetchResult,
|
|
3368
|
-
ToolsServiceProgress
|
|
3595
|
+
ToolsServiceProgress,
|
|
3596
|
+
AccountRowId,
|
|
3597
|
+
AccountReadState,
|
|
3598
|
+
AccountAgent,
|
|
3599
|
+
AccountAgentsListParams,
|
|
3600
|
+
AccountAgentsListResult,
|
|
3601
|
+
VaultItemKind,
|
|
3602
|
+
VaultFieldSummary,
|
|
3603
|
+
VaultItemSummary,
|
|
3604
|
+
AccountVaultListParams,
|
|
3605
|
+
AccountVaultListResult,
|
|
3606
|
+
AccountVaultCopyParams,
|
|
3607
|
+
AccountVaultCopyResult
|
|
3369
3608
|
};
|
|
3370
3609
|
|
|
3371
3610
|
// src/versioning.ts
|
|
@@ -3381,7 +3620,11 @@ var FIELDS_SINCE = {
|
|
|
3381
3620
|
ChatRow: { app_project: "1.13", tokens: "1.13", original_title: "1.14", title_source: "1.14", title_override: "1.14", archived: "1.15" },
|
|
3382
3621
|
AccountUsage: { plan: "1.13", credits: "1.13" },
|
|
3383
3622
|
ResourcesDisk: { name: "1.17" },
|
|
3384
|
-
StackServer: { cpu_percent: "1.18", memory_bytes: "1.18" }
|
|
3623
|
+
StackServer: { cpu_percent: "1.18", memory_bytes: "1.18" },
|
|
3624
|
+
AudioDevice: { kind: "1.24" },
|
|
3625
|
+
ScreenDisplay: { rotation: "1.24", refresh_hz: "1.24", builtin: "1.24" },
|
|
3626
|
+
PowerStatusResult: { energy: "1.24" },
|
|
3627
|
+
AppsSpendResult: { days: "1.24" }
|
|
3385
3628
|
};
|
|
3386
3629
|
var NULL_SINCE = {
|
|
3387
3630
|
"RelayDeviceStatusEvent.since_ms": { since: "1.1", olderPeersGet: 0 }
|
|
@@ -3511,7 +3754,7 @@ function forPeer(op, part, value, version) {
|
|
|
3511
3754
|
var VERSIONED_RESULT_OPS = [.../* @__PURE__ */ new Set([...RESULT_PATH.keys(), ...WINDOW_RESULTS.keys(), ...NESTED_RESULTS.keys()])];
|
|
3512
3755
|
|
|
3513
3756
|
// src/contract.ts
|
|
3514
|
-
var CONTRACT_SHA256 = "
|
|
3757
|
+
var CONTRACT_SHA256 = "89943d5297e89b0ae7433b24c3076be1f65ca39a5edc3f338620597b24009226";
|
|
3515
3758
|
|
|
3516
3759
|
// src/close-policy.ts
|
|
3517
3760
|
var CLOSE_RULES = {
|
|
@@ -3565,13 +3808,13 @@ var TOOL_CATALOG = [
|
|
|
3565
3808
|
// ── 2. Computer control (TS owners) ──────────────────────────────────────────────────────────
|
|
3566
3809
|
{ name: "desktop_process", group: "os_control", state: "built", path: "device_op", ops: ["proc.list", "proc.ports", "proc.kill"], platforms: ALL, summary: "Running processes and ports; stop one" },
|
|
3567
3810
|
{ name: "desktop_apps", group: "os_control", state: "built", path: "device_op", ops: ["apps.list", "apps.open"], platforms: ALL, summary: "Installed apps; open or bring one forward" },
|
|
3568
|
-
{ name: "desktop_system", group: "os_control", state: "built", path: "device_op", ops: ["sysinfo.get", "system.open_url", "system.open_path", "system.notify"], platforms: ALL, summary: "System facts, open, notify" },
|
|
3811
|
+
{ 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" },
|
|
3569
3812
|
{ 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" },
|
|
3570
3813
|
{ name: "desktop_screen", group: "os_control", state: "built", path: "device_op", ops: ["screen.list", "screen.capture"], platforms: ALL, summary: "Displays and screenshots" },
|
|
3571
3814
|
{ 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" },
|
|
3572
|
-
{ name: "desktop_input", group: "os_control", state: "built", path: "device_op", ops: ["input.type_text", "input.hotkey", "input.mouse_click", "input.mouse_move"], platforms: ALL, summary: "Keyboard and mouse" },
|
|
3573
|
-
{ name: "desktop_audio", group: "os_control", state: "built", path: "device_op", ops: ["audio.devices", "audio.record", "audio.play"], platforms: ALL, summary: "Audio devices, record, play" },
|
|
3574
|
-
{ name: "desktop_power", group: "os_control", state: "built", path: "device_op", ops: ["power.status", "power.prevent_sleep"], platforms: ALL, summary: "Battery and keep awake" },
|
|
3815
|
+
{ 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" },
|
|
3816
|
+
{ 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" },
|
|
3817
|
+
{ name: "desktop_power", group: "os_control", state: "built", path: "device_op", ops: ["power.status", "power.history", "power.prevent_sleep"], platforms: ALL, summary: "Battery and keep awake" },
|
|
3575
3818
|
{ name: "desktop_resources", group: "os_control", state: "built", path: "device_op", ops: ["resources.snapshot", "resources.activity", "resources.stop_job", "resources.incidents"], platforms: ALL, summary: "CPU, memory and disk use; what is using them, grouped into jobs; stop a job; the slowdown log" },
|
|
3576
3819
|
{ name: "fs_watch", group: "os_control", state: "built", path: "device_op", ops: ["fs.watch.start", "fs.watch.events", "fs.watch.stop"], platforms: ALL, summary: "Watch a folder; read what changed" },
|
|
3577
3820
|
// ── 3. Personal apps and automation ──────────────────────────────────────────────────────────
|