@ai-matrx/desktop-protocol 0.21.21 → 0.21.22
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 +6 -0
- package/dist/client.cjs +131 -4
- 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 +131 -4
- package/dist/client.js.map +1 -1
- package/dist/index.cjs +204 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +329 -6
- package/dist/index.d.ts +329 -6
- package/dist/index.js +204 -7
- package/dist/index.js.map +1 -1
- package/dist/{models-ZQtKshfc.d.cts → models-qdApKBdY.d.cts} +495 -2
- package/dist/{models-ZQtKshfc.d.ts → models-qdApKBdY.d.ts} +495 -2
- package/dist/react.d.cts +205 -1
- package/dist/react.d.ts +205 -1
- package/generated/desktop-protocol.schema.json +707 -3
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { UUID_SHAPE_PATTERN } from "@ai-matrx/kit/uuid";
|
|
4
4
|
var PROTOCOL_MAJOR = 1;
|
|
5
|
-
var PROTOCOL_MINOR =
|
|
5
|
+
var PROTOCOL_MINOR = 28;
|
|
6
6
|
var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
|
|
7
7
|
var ProtocolVersion = z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
|
|
8
8
|
var RequestId = z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
|
|
@@ -75,8 +75,19 @@ var ErrorReason = z2.enum([
|
|
|
75
75
|
// RESOURCE_BUSY (retryable): the service is starting or restarting
|
|
76
76
|
"service_restarted",
|
|
77
77
|
// RESOURCE_GONE: the service died while this request ran
|
|
78
|
-
"service_failed"
|
|
78
|
+
"service_failed",
|
|
79
79
|
// INTERNAL: the service could not be started (see models.status)
|
|
80
|
+
// 1.28 (REASONS_SINCE): the `browser` capability (the AI Matrx extension as Matrx 2's client)
|
|
81
|
+
"browser_not_connected",
|
|
82
|
+
// NOT_FOUND: no browser with the extension is connected (or none routable)
|
|
83
|
+
"browser_ambiguous",
|
|
84
|
+
// CONFLICT: several browsers are connected and none was named
|
|
85
|
+
"browser_account_mismatch",
|
|
86
|
+
// AUTH_FORBIDDEN: the named browser is signed in to another account
|
|
87
|
+
"browser_connection_off",
|
|
88
|
+
// AUTH_FORBIDDEN: the person turned Browser connection off
|
|
89
|
+
"awaiting_confirmation"
|
|
90
|
+
// TIMEOUT: the person did not answer the browser's confirmation in time
|
|
80
91
|
]);
|
|
81
92
|
var FsPatchEditFailure = z2.strictObject({ edit_index: nonNegInt, reason: z2.string().max(300) });
|
|
82
93
|
var ProtocolErrorBody = z2.strictObject({
|
|
@@ -2522,6 +2533,114 @@ var CodingHistoryProgressEvent = z32.strictObject({
|
|
|
2522
2533
|
failed: nonNegInt
|
|
2523
2534
|
});
|
|
2524
2535
|
|
|
2536
|
+
// src/schema/browser.ts
|
|
2537
|
+
import { z as z33 } from "zod";
|
|
2538
|
+
var BrowserClientInstance = z33.string().min(1).max(64).regex(/^[A-Za-z0-9_.:-]+$/);
|
|
2539
|
+
var BrowserKind = z33.enum(["chrome", "edge", "brave", "arc", "opera", "vivaldi", "chromium", "firefox", "other"]);
|
|
2540
|
+
var BrowserSessionState = z33.enum(["connected", "different_account", "extension_signed_out", "device_signed_out", "unverified"]);
|
|
2541
|
+
var BrowserSession = z33.strictObject({
|
|
2542
|
+
client_instance: BrowserClientInstance,
|
|
2543
|
+
/** What the person sees ("Chrome — Work"), set by the extension. */
|
|
2544
|
+
client_label: z33.string().min(1).max(128),
|
|
2545
|
+
browser: BrowserKind,
|
|
2546
|
+
extension_version: z33.string().min(1).max(32),
|
|
2547
|
+
state: BrowserSessionState,
|
|
2548
|
+
/** True only for `connected`: an agent's call can reach this session. */
|
|
2549
|
+
routable: z33.boolean(),
|
|
2550
|
+
/** The extension's account email from its token (null when signed out or unknown). */
|
|
2551
|
+
account_email: z33.string().max(320).nullable(),
|
|
2552
|
+
connected_at_ms: epochMs,
|
|
2553
|
+
last_call_at_ms: epochMs.nullable(),
|
|
2554
|
+
calls: nonNegInt,
|
|
2555
|
+
errors: nonNegInt,
|
|
2556
|
+
/** Call latency over the last 200 calls; null before the first. */
|
|
2557
|
+
p50_ms: nonNegInt.nullable(),
|
|
2558
|
+
p95_ms: nonNegInt.nullable(),
|
|
2559
|
+
/** A call is waiting for the person to confirm it in the browser. */
|
|
2560
|
+
awaiting_confirmation: z33.boolean()
|
|
2561
|
+
});
|
|
2562
|
+
var BrowserRegisterParams = z33.strictObject({
|
|
2563
|
+
client_instance: BrowserClientInstance,
|
|
2564
|
+
client_label: z33.string().min(1).max(128),
|
|
2565
|
+
browser: BrowserKind,
|
|
2566
|
+
extension_version: z33.string().min(1).max(32),
|
|
2567
|
+
/** The extension's current AI Matrx access token, checked against the device owner; null when signed out. */
|
|
2568
|
+
account_token: z33.string().min(16).max(8192).nullable()
|
|
2569
|
+
});
|
|
2570
|
+
var BrowserRegisterResult = z33.strictObject({ session: BrowserSession });
|
|
2571
|
+
var BrowserCallError = z33.strictObject({
|
|
2572
|
+
message: z33.string().max(1e3),
|
|
2573
|
+
/** The extension's own error code, when it has one ("tool_not_found", "denied"). */
|
|
2574
|
+
code: z33.string().max(64).nullable()
|
|
2575
|
+
});
|
|
2576
|
+
var BrowserResultParams = z33.strictObject({
|
|
2577
|
+
call_id: z33.string().min(1).max(64),
|
|
2578
|
+
ok: z33.boolean(),
|
|
2579
|
+
/** The tool's result when ok (any JSON). */
|
|
2580
|
+
result: z33.unknown(),
|
|
2581
|
+
error: BrowserCallError.nullable()
|
|
2582
|
+
});
|
|
2583
|
+
var BrowserResultResult = z33.strictObject({ accepted: z33.boolean() });
|
|
2584
|
+
var BrowserCallPhase = z33.enum(["awaiting_confirmation", "running"]);
|
|
2585
|
+
var BrowserProgressParams = z33.strictObject({ call_id: z33.string().min(1).max(64), phase: BrowserCallPhase });
|
|
2586
|
+
var BrowserProgressResult = z33.strictObject({ accepted: z33.boolean() });
|
|
2587
|
+
var BrowserSessionsParams = z33.strictObject({});
|
|
2588
|
+
var BrowserSessionsResult = z33.strictObject({
|
|
2589
|
+
/** The person's Browser connection switch. Off: no pairing, no extension sessions. */
|
|
2590
|
+
enabled: z33.boolean(),
|
|
2591
|
+
/** Whether Matrx 2 is signed in (without an owner no session is routable). */
|
|
2592
|
+
owner_signed_in: z33.boolean(),
|
|
2593
|
+
sessions: z33.array(BrowserSession).max(64)
|
|
2594
|
+
});
|
|
2595
|
+
var BrowserDisconnectParams = z33.strictObject({ client_instance: BrowserClientInstance });
|
|
2596
|
+
var BrowserDisconnectResult = z33.strictObject({ disconnected: z33.boolean() });
|
|
2597
|
+
var BrowserSetEnabledParams = z33.strictObject({ enabled: z33.boolean() });
|
|
2598
|
+
var BrowserSetEnabledResult = z33.strictObject({ enabled: z33.boolean() });
|
|
2599
|
+
var BrowserPairCodeParams = z33.strictObject({});
|
|
2600
|
+
var BrowserPairCodeResult = z33.strictObject({ code: z33.string().min(16).max(128) });
|
|
2601
|
+
var BrowserPairResetParams = z33.strictObject({});
|
|
2602
|
+
var BrowserCallParams = z33.strictObject({
|
|
2603
|
+
tool: z33.string().min(1).max(96).regex(/^[a-z][a-z0-9_]*$/),
|
|
2604
|
+
args: z33.record(z33.string(), z33.unknown()),
|
|
2605
|
+
/** Which session; default: the most recently active routable one (BROWSER ambiguity → CONFLICT). */
|
|
2606
|
+
client_instance: BrowserClientInstance.optional(),
|
|
2607
|
+
/** How long to wait, including a person's confirmation; default 120 s. */
|
|
2608
|
+
timeout_ms: z33.int().min(1e3).max(6e5).optional()
|
|
2609
|
+
});
|
|
2610
|
+
var BrowserCallResult = z33.strictObject({
|
|
2611
|
+
client_instance: BrowserClientInstance,
|
|
2612
|
+
result: z33.unknown(),
|
|
2613
|
+
duration_ms: nonNegInt
|
|
2614
|
+
});
|
|
2615
|
+
var BrowserInvokeEvent = z33.strictObject({
|
|
2616
|
+
call_id: z33.string().min(1).max(64),
|
|
2617
|
+
tool: z33.string().min(1).max(96),
|
|
2618
|
+
args: z33.record(z33.string(), z33.unknown()),
|
|
2619
|
+
deadline_ms: epochMs
|
|
2620
|
+
});
|
|
2621
|
+
var BrowserSessionsChangedEvent = z33.strictObject({ count: nonNegInt, enabled: z33.boolean() });
|
|
2622
|
+
var BrowserProgressEvent = z33.strictObject({
|
|
2623
|
+
call_id: z33.string().min(1).max(64),
|
|
2624
|
+
client_instance: BrowserClientInstance,
|
|
2625
|
+
phase: BrowserCallPhase
|
|
2626
|
+
});
|
|
2627
|
+
var DesktopHealth = z33.strictObject({
|
|
2628
|
+
status: z33.literal("ok"),
|
|
2629
|
+
service: z33.literal("matrx-desktop"),
|
|
2630
|
+
version: z33.string().max(32),
|
|
2631
|
+
protocol_version: z33.string().max(16),
|
|
2632
|
+
ws_path: z33.literal("/v1/connect"),
|
|
2633
|
+
device_id: z33.string().max(64),
|
|
2634
|
+
browser_connection: z33.enum(["on", "off"])
|
|
2635
|
+
});
|
|
2636
|
+
var BrowserPairRequest = z33.strictObject({ client_instance: BrowserClientInstance });
|
|
2637
|
+
var BrowserPairResult = z33.strictObject({ pair_token: z33.string().min(16).max(128), ws_path: z33.literal("/v1/connect") });
|
|
2638
|
+
var MATRX_EXTENSION_IDS = {
|
|
2639
|
+
store: "hnfolienncfklkgmdjjmhhegglimlamg",
|
|
2640
|
+
development: "cihdmkcdjjckfhjpgoedmgfpoljebaml"
|
|
2641
|
+
};
|
|
2642
|
+
var DISCOVERY_FILE = { live: "matrx2.json", development: "matrx2-dev.json" };
|
|
2643
|
+
|
|
2525
2644
|
// src/schema/registry.ts
|
|
2526
2645
|
var FS_ERR = ["NOT_FOUND", "PERMISSION_DENIED_OS", "INVALID_PARAMS", "RESOURCE_BUSY", "INTERNAL"];
|
|
2527
2646
|
var OPS = {
|
|
@@ -2667,7 +2786,17 @@ var OPS = {
|
|
|
2667
2786
|
// 1.26: the app's own update (it installs only once every window quit) and bringing the windows back.
|
|
2668
2787
|
"apps.windows.update_state": { params: AppsWindowsUpdateStateParams, result: AppsWindowsUpdateStateResult, kind: "unary", since: "1.26", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2669
2788
|
"apps.windows.reopen": { params: AppsWindowsReopenParams, result: AppsWindowsReopenResult, kind: "unary", since: "1.26", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2670
|
-
"apps.windows.update_and_reopen": { params: AppsWindowsUpdateAndReopenParams, result: AppsWindowsUpdateAndReopenResult, kind: "unary", since: "1.26", errors: ["NOT_FOUND", "CONFLICT", "TIMEOUT", "PLATFORM_UNSUPPORTED", "INTERNAL"] }
|
|
2789
|
+
"apps.windows.update_and_reopen": { params: AppsWindowsUpdateAndReopenParams, result: AppsWindowsUpdateAndReopenResult, kind: "unary", since: "1.26", errors: ["NOT_FOUND", "CONFLICT", "TIMEOUT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2790
|
+
// 1.28: the AI Matrx extension as a client (register, result, progress), the Browsers screen, and agents' calls.
|
|
2791
|
+
"browser.register": { params: BrowserRegisterParams, result: BrowserRegisterResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "INVALID_PARAMS", "INTERNAL"] },
|
|
2792
|
+
"browser.result": { params: BrowserResultParams, result: BrowserResultResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "PAYLOAD_TOO_LARGE"] },
|
|
2793
|
+
"browser.progress": { params: BrowserProgressParams, result: BrowserProgressResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN"] },
|
|
2794
|
+
"browser.sessions": { params: BrowserSessionsParams, result: BrowserSessionsResult, kind: "unary", since: "1.28", errors: ["INTERNAL"] },
|
|
2795
|
+
"browser.disconnect": { params: BrowserDisconnectParams, result: BrowserDisconnectResult, kind: "unary", since: "1.28", errors: ["NOT_FOUND", "AUTH_FORBIDDEN"] },
|
|
2796
|
+
"browser.set_enabled": { params: BrowserSetEnabledParams, result: BrowserSetEnabledResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "INTERNAL"] },
|
|
2797
|
+
"browser.pair_code": { params: BrowserPairCodeParams, result: BrowserPairCodeResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "INTERNAL"] },
|
|
2798
|
+
"browser.pair_reset": { params: BrowserPairResetParams, result: BrowserPairCodeResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "INTERNAL"] },
|
|
2799
|
+
"browser.call": { params: BrowserCallParams, result: BrowserCallResult, kind: "unary", since: "1.28", errors: ["NOT_FOUND", "CONFLICT", "AUTH_FORBIDDEN", "INVALID_PARAMS", "TIMEOUT", "CANCELLED", "RESOURCE_GONE", "PAYLOAD_TOO_LARGE", "INTERNAL"] }
|
|
2671
2800
|
};
|
|
2672
2801
|
var EVENTS = {
|
|
2673
2802
|
"fs.changed": FsChangedEvent,
|
|
@@ -2681,7 +2810,10 @@ var EVENTS = {
|
|
|
2681
2810
|
"coding.history.progress": CodingHistoryProgressEvent,
|
|
2682
2811
|
"relay.device_status": RelayDeviceStatusEvent,
|
|
2683
2812
|
"relay.auth_expiring": RelayAuthExpiringEvent,
|
|
2684
|
-
"diag.errors.changed": DiagErrorsChangedEvent
|
|
2813
|
+
"diag.errors.changed": DiagErrorsChangedEvent,
|
|
2814
|
+
"browser.invoke": BrowserInvokeEvent,
|
|
2815
|
+
"browser.sessions_changed": BrowserSessionsChangedEvent,
|
|
2816
|
+
"browser.progress": BrowserProgressEvent
|
|
2685
2817
|
};
|
|
2686
2818
|
var SERVICES = {
|
|
2687
2819
|
ml: {
|
|
@@ -3134,7 +3266,36 @@ var NAMED_SCHEMAS = {
|
|
|
3134
3266
|
AppsWindowsReopenParams,
|
|
3135
3267
|
AppsWindowsReopenResult,
|
|
3136
3268
|
AppsWindowsUpdateAndReopenParams,
|
|
3137
|
-
AppsWindowsUpdateAndReopenResult
|
|
3269
|
+
AppsWindowsUpdateAndReopenResult,
|
|
3270
|
+
BrowserClientInstance,
|
|
3271
|
+
BrowserKind,
|
|
3272
|
+
BrowserSessionState,
|
|
3273
|
+
BrowserSession,
|
|
3274
|
+
BrowserRegisterParams,
|
|
3275
|
+
BrowserRegisterResult,
|
|
3276
|
+
BrowserCallError,
|
|
3277
|
+
BrowserResultParams,
|
|
3278
|
+
BrowserResultResult,
|
|
3279
|
+
BrowserCallPhase,
|
|
3280
|
+
BrowserProgressParams,
|
|
3281
|
+
BrowserProgressResult,
|
|
3282
|
+
BrowserSessionsParams,
|
|
3283
|
+
BrowserSessionsResult,
|
|
3284
|
+
BrowserDisconnectParams,
|
|
3285
|
+
BrowserDisconnectResult,
|
|
3286
|
+
BrowserSetEnabledParams,
|
|
3287
|
+
BrowserSetEnabledResult,
|
|
3288
|
+
BrowserPairCodeParams,
|
|
3289
|
+
BrowserPairCodeResult,
|
|
3290
|
+
BrowserPairResetParams,
|
|
3291
|
+
BrowserCallParams,
|
|
3292
|
+
BrowserCallResult,
|
|
3293
|
+
BrowserInvokeEvent,
|
|
3294
|
+
BrowserSessionsChangedEvent,
|
|
3295
|
+
BrowserProgressEvent,
|
|
3296
|
+
DesktopHealth,
|
|
3297
|
+
BrowserPairRequest,
|
|
3298
|
+
BrowserPairResult
|
|
3138
3299
|
};
|
|
3139
3300
|
|
|
3140
3301
|
// src/versioning.ts
|
|
@@ -3167,7 +3328,12 @@ var REASONS_SINCE = {
|
|
|
3167
3328
|
download_failed: "1.2",
|
|
3168
3329
|
service_starting: "1.2",
|
|
3169
3330
|
service_restarted: "1.2",
|
|
3170
|
-
service_failed: "1.2"
|
|
3331
|
+
service_failed: "1.2",
|
|
3332
|
+
browser_not_connected: "1.28",
|
|
3333
|
+
browser_ambiguous: "1.28",
|
|
3334
|
+
browser_account_mismatch: "1.28",
|
|
3335
|
+
browser_connection_off: "1.28",
|
|
3336
|
+
awaiting_confirmation: "1.28"
|
|
3171
3337
|
};
|
|
3172
3338
|
function statusForPeer(status, version) {
|
|
3173
3339
|
const rule = NULL_SINCE["RelayDeviceStatusEvent.since_ms"];
|
|
@@ -3286,7 +3452,7 @@ function forPeer(op, part, value, version) {
|
|
|
3286
3452
|
var VERSIONED_RESULT_OPS = [.../* @__PURE__ */ new Set([...RESULT_PATH.keys(), ...WINDOW_RESULTS.keys(), ...NESTED_RESULTS.keys()])];
|
|
3287
3453
|
|
|
3288
3454
|
// src/contract.ts
|
|
3289
|
-
var CONTRACT_SHA256 = "
|
|
3455
|
+
var CONTRACT_SHA256 = "d328d624d1de854696a07e9fb8f1e85894047e5c41164647944db79b3c1a638d";
|
|
3290
3456
|
|
|
3291
3457
|
// src/close-policy.ts
|
|
3292
3458
|
var CLOSE_RULES = {
|
|
@@ -3731,6 +3897,34 @@ export {
|
|
|
3731
3897
|
AudioSetLevelsParams,
|
|
3732
3898
|
BEARER_PREFIX,
|
|
3733
3899
|
BROADCAST_CID,
|
|
3900
|
+
BrowserCallError,
|
|
3901
|
+
BrowserCallParams,
|
|
3902
|
+
BrowserCallPhase,
|
|
3903
|
+
BrowserCallResult,
|
|
3904
|
+
BrowserClientInstance,
|
|
3905
|
+
BrowserDisconnectParams,
|
|
3906
|
+
BrowserDisconnectResult,
|
|
3907
|
+
BrowserInvokeEvent,
|
|
3908
|
+
BrowserKind,
|
|
3909
|
+
BrowserPairCodeParams,
|
|
3910
|
+
BrowserPairCodeResult,
|
|
3911
|
+
BrowserPairRequest,
|
|
3912
|
+
BrowserPairResetParams,
|
|
3913
|
+
BrowserPairResult,
|
|
3914
|
+
BrowserProgressEvent,
|
|
3915
|
+
BrowserProgressParams,
|
|
3916
|
+
BrowserProgressResult,
|
|
3917
|
+
BrowserRegisterParams,
|
|
3918
|
+
BrowserRegisterResult,
|
|
3919
|
+
BrowserResultParams,
|
|
3920
|
+
BrowserResultResult,
|
|
3921
|
+
BrowserSession,
|
|
3922
|
+
BrowserSessionState,
|
|
3923
|
+
BrowserSessionsChangedEvent,
|
|
3924
|
+
BrowserSessionsParams,
|
|
3925
|
+
BrowserSessionsResult,
|
|
3926
|
+
BrowserSetEnabledParams,
|
|
3927
|
+
BrowserSetEnabledResult,
|
|
3734
3928
|
CLOSE_RULES,
|
|
3735
3929
|
CONTRACT_SHA256,
|
|
3736
3930
|
CancelMsg,
|
|
@@ -3773,6 +3967,8 @@ export {
|
|
|
3773
3967
|
DEFAULT_MAX_FRAME_PAYLOAD_BYTES,
|
|
3774
3968
|
DEFAULT_MAX_MESSAGE_BYTES,
|
|
3775
3969
|
DEFAULT_WINDOW_BYTES,
|
|
3970
|
+
DISCOVERY_FILE,
|
|
3971
|
+
DesktopHealth,
|
|
3776
3972
|
DesktopProtocolError,
|
|
3777
3973
|
DeviceId,
|
|
3778
3974
|
DiagErrorEntry,
|
|
@@ -3900,6 +4096,7 @@ export {
|
|
|
3900
4096
|
LEGACY_ACTIONS,
|
|
3901
4097
|
LEGACY_DISPATCHERS,
|
|
3902
4098
|
Limits,
|
|
4099
|
+
MATRX_EXTENSION_IDS,
|
|
3903
4100
|
MlInstallPhase,
|
|
3904
4101
|
MlInstallProgress,
|
|
3905
4102
|
MlProgress,
|