@ai-matrx/desktop-protocol 0.21.20 → 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 +12 -0
- package/dist/client.cjs +137 -5
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.cts +2 -2
- package/dist/client.d.ts +2 -2
- package/dist/client.js +137 -5
- package/dist/client.js.map +1 -1
- package/dist/index.cjs +214 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +335 -6
- package/dist/index.d.ts +335 -6
- package/dist/index.js +214 -10
- package/dist/index.js.map +1 -1
- package/dist/{models-Cx6q_tRu.d.cts → models-qdApKBdY.d.cts} +497 -2
- package/dist/{models-Cx6q_tRu.d.ts → models-qdApKBdY.d.ts} +497 -2
- package/dist/react.d.cts +206 -1
- package/dist/react.d.ts +206 -1
- package/generated/desktop-protocol.schema.json +717 -3
- package/package.json +2 -2
package/dist/client.d.cts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BackoffOptions } from '@ai-matrx/realtime';
|
|
2
2
|
export { RECONNECT_ALARM_ATTEMPTS } from '@ai-matrx/realtime';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
import { W as Welcome, D as DesktopProtocolError, C as CloseOutcome, O as OpName, a as OpParams, b as OpResult, c as OPS, S as StreamMeta, E as EndReason, d as EVENTS, e as ClientType, M as ModelsTranscribeResult, T as TranscriptionModelId, f as MlProgress } from './models-
|
|
5
|
-
export { i as isDesktopProtocolError } from './models-
|
|
4
|
+
import { W as Welcome, D as DesktopProtocolError, C as CloseOutcome, O as OpName, a as OpParams, b as OpResult, c as OPS, S as StreamMeta, E as EndReason, d as EVENTS, e as ClientType, M as ModelsTranscribeResult, T as TranscriptionModelId, f as MlProgress } from './models-qdApKBdY.cjs';
|
|
5
|
+
export { i as isDesktopProtocolError } from './models-qdApKBdY.cjs';
|
|
6
6
|
import { FrameHeader } from './frame.cjs';
|
|
7
7
|
|
|
8
8
|
/** The subset of the WHATWG WebSocket the client uses — browser, React Native, `ws` and Workers all fit. */
|
package/dist/client.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BackoffOptions } from '@ai-matrx/realtime';
|
|
2
2
|
export { RECONNECT_ALARM_ATTEMPTS } from '@ai-matrx/realtime';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
import { W as Welcome, D as DesktopProtocolError, C as CloseOutcome, O as OpName, a as OpParams, b as OpResult, c as OPS, S as StreamMeta, E as EndReason, d as EVENTS, e as ClientType, M as ModelsTranscribeResult, T as TranscriptionModelId, f as MlProgress } from './models-
|
|
5
|
-
export { i as isDesktopProtocolError } from './models-
|
|
4
|
+
import { W as Welcome, D as DesktopProtocolError, C as CloseOutcome, O as OpName, a as OpParams, b as OpResult, c as OPS, S as StreamMeta, E as EndReason, d as EVENTS, e as ClientType, M as ModelsTranscribeResult, T as TranscriptionModelId, f as MlProgress } from './models-qdApKBdY.js';
|
|
5
|
+
export { i as isDesktopProtocolError } from './models-qdApKBdY.js';
|
|
6
6
|
import { FrameHeader } from './frame.js';
|
|
7
7
|
|
|
8
8
|
/** The subset of the WHATWG WebSocket the client uses — browser, React Native, `ws` and Workers all fit. */
|
package/dist/client.js
CHANGED
|
@@ -112,7 +112,7 @@ import { z as z2 } from "zod";
|
|
|
112
112
|
import { z } from "zod";
|
|
113
113
|
import { UUID_SHAPE_PATTERN } from "@ai-matrx/kit/uuid";
|
|
114
114
|
var PROTOCOL_MAJOR = 1;
|
|
115
|
-
var PROTOCOL_MINOR =
|
|
115
|
+
var PROTOCOL_MINOR = 28;
|
|
116
116
|
var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
|
|
117
117
|
var ProtocolVersion = z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
|
|
118
118
|
var RequestId = z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
|
|
@@ -184,8 +184,19 @@ var ErrorReason = z2.enum([
|
|
|
184
184
|
// RESOURCE_BUSY (retryable): the service is starting or restarting
|
|
185
185
|
"service_restarted",
|
|
186
186
|
// RESOURCE_GONE: the service died while this request ran
|
|
187
|
-
"service_failed"
|
|
187
|
+
"service_failed",
|
|
188
188
|
// INTERNAL: the service could not be started (see models.status)
|
|
189
|
+
// 1.28 (REASONS_SINCE): the `browser` capability (the AI Matrx extension as Matrx 2's client)
|
|
190
|
+
"browser_not_connected",
|
|
191
|
+
// NOT_FOUND: no browser with the extension is connected (or none routable)
|
|
192
|
+
"browser_ambiguous",
|
|
193
|
+
// CONFLICT: several browsers are connected and none was named
|
|
194
|
+
"browser_account_mismatch",
|
|
195
|
+
// AUTH_FORBIDDEN: the named browser is signed in to another account
|
|
196
|
+
"browser_connection_off",
|
|
197
|
+
// AUTH_FORBIDDEN: the person turned Browser connection off
|
|
198
|
+
"awaiting_confirmation"
|
|
199
|
+
// TIMEOUT: the person did not answer the browser's confirmation in time
|
|
189
200
|
]);
|
|
190
201
|
var FsPatchEditFailure = z2.strictObject({ edit_index: nonNegInt, reason: z2.string().max(300) });
|
|
191
202
|
var ProtocolErrorBody = z2.strictObject({
|
|
@@ -2426,7 +2437,12 @@ var AppsWindowsUpdateStateResult = z30.strictObject({
|
|
|
2426
2437
|
/** When the update became pending (the download's time), when known. */
|
|
2427
2438
|
since_ms: epochMs.nullable(),
|
|
2428
2439
|
/** Windows open when the update became pending (or last seen open) that are closed now. */
|
|
2429
|
-
closed: z30.array(ChatPlace).max(200)
|
|
2440
|
+
closed: z30.array(ChatPlace).max(200),
|
|
2441
|
+
/**
|
|
2442
|
+
* Since 1.27: the windows in `closed` that the update itself quit (the app's log records a quit for
|
|
2443
|
+
* the update within a minute of when each was last seen running). Absent: not known.
|
|
2444
|
+
*/
|
|
2445
|
+
closed_by_update: z30.array(ChatPlace).max(200).optional()
|
|
2430
2446
|
});
|
|
2431
2447
|
var AppsWindowsReopenParams = z30.strictObject({ app_key: AppKey, windows: z30.array(ChatPlace).min(1).max(200) });
|
|
2432
2448
|
var AppsWindowsReopenResult = z30.strictObject({ message: z30.string().max(400), opened: z30.array(ChatPlace).max(200) });
|
|
@@ -2441,6 +2457,109 @@ var AppsWindowsUpdateAndReopenResult = z30.strictObject({
|
|
|
2441
2457
|
installed_version: z30.string().max(64).nullable()
|
|
2442
2458
|
});
|
|
2443
2459
|
|
|
2460
|
+
// src/schema/browser.ts
|
|
2461
|
+
import { z as z31 } from "zod";
|
|
2462
|
+
var BrowserClientInstance = z31.string().min(1).max(64).regex(/^[A-Za-z0-9_.:-]+$/);
|
|
2463
|
+
var BrowserKind = z31.enum(["chrome", "edge", "brave", "arc", "opera", "vivaldi", "chromium", "firefox", "other"]);
|
|
2464
|
+
var BrowserSessionState = z31.enum(["connected", "different_account", "extension_signed_out", "device_signed_out", "unverified"]);
|
|
2465
|
+
var BrowserSession = z31.strictObject({
|
|
2466
|
+
client_instance: BrowserClientInstance,
|
|
2467
|
+
/** What the person sees ("Chrome — Work"), set by the extension. */
|
|
2468
|
+
client_label: z31.string().min(1).max(128),
|
|
2469
|
+
browser: BrowserKind,
|
|
2470
|
+
extension_version: z31.string().min(1).max(32),
|
|
2471
|
+
state: BrowserSessionState,
|
|
2472
|
+
/** True only for `connected`: an agent's call can reach this session. */
|
|
2473
|
+
routable: z31.boolean(),
|
|
2474
|
+
/** The extension's account email from its token (null when signed out or unknown). */
|
|
2475
|
+
account_email: z31.string().max(320).nullable(),
|
|
2476
|
+
connected_at_ms: epochMs,
|
|
2477
|
+
last_call_at_ms: epochMs.nullable(),
|
|
2478
|
+
calls: nonNegInt,
|
|
2479
|
+
errors: nonNegInt,
|
|
2480
|
+
/** Call latency over the last 200 calls; null before the first. */
|
|
2481
|
+
p50_ms: nonNegInt.nullable(),
|
|
2482
|
+
p95_ms: nonNegInt.nullable(),
|
|
2483
|
+
/** A call is waiting for the person to confirm it in the browser. */
|
|
2484
|
+
awaiting_confirmation: z31.boolean()
|
|
2485
|
+
});
|
|
2486
|
+
var BrowserRegisterParams = z31.strictObject({
|
|
2487
|
+
client_instance: BrowserClientInstance,
|
|
2488
|
+
client_label: z31.string().min(1).max(128),
|
|
2489
|
+
browser: BrowserKind,
|
|
2490
|
+
extension_version: z31.string().min(1).max(32),
|
|
2491
|
+
/** The extension's current AI Matrx access token, checked against the device owner; null when signed out. */
|
|
2492
|
+
account_token: z31.string().min(16).max(8192).nullable()
|
|
2493
|
+
});
|
|
2494
|
+
var BrowserRegisterResult = z31.strictObject({ session: BrowserSession });
|
|
2495
|
+
var BrowserCallError = z31.strictObject({
|
|
2496
|
+
message: z31.string().max(1e3),
|
|
2497
|
+
/** The extension's own error code, when it has one ("tool_not_found", "denied"). */
|
|
2498
|
+
code: z31.string().max(64).nullable()
|
|
2499
|
+
});
|
|
2500
|
+
var BrowserResultParams = z31.strictObject({
|
|
2501
|
+
call_id: z31.string().min(1).max(64),
|
|
2502
|
+
ok: z31.boolean(),
|
|
2503
|
+
/** The tool's result when ok (any JSON). */
|
|
2504
|
+
result: z31.unknown(),
|
|
2505
|
+
error: BrowserCallError.nullable()
|
|
2506
|
+
});
|
|
2507
|
+
var BrowserResultResult = z31.strictObject({ accepted: z31.boolean() });
|
|
2508
|
+
var BrowserCallPhase = z31.enum(["awaiting_confirmation", "running"]);
|
|
2509
|
+
var BrowserProgressParams = z31.strictObject({ call_id: z31.string().min(1).max(64), phase: BrowserCallPhase });
|
|
2510
|
+
var BrowserProgressResult = z31.strictObject({ accepted: z31.boolean() });
|
|
2511
|
+
var BrowserSessionsParams = z31.strictObject({});
|
|
2512
|
+
var BrowserSessionsResult = z31.strictObject({
|
|
2513
|
+
/** The person's Browser connection switch. Off: no pairing, no extension sessions. */
|
|
2514
|
+
enabled: z31.boolean(),
|
|
2515
|
+
/** Whether Matrx 2 is signed in (without an owner no session is routable). */
|
|
2516
|
+
owner_signed_in: z31.boolean(),
|
|
2517
|
+
sessions: z31.array(BrowserSession).max(64)
|
|
2518
|
+
});
|
|
2519
|
+
var BrowserDisconnectParams = z31.strictObject({ client_instance: BrowserClientInstance });
|
|
2520
|
+
var BrowserDisconnectResult = z31.strictObject({ disconnected: z31.boolean() });
|
|
2521
|
+
var BrowserSetEnabledParams = z31.strictObject({ enabled: z31.boolean() });
|
|
2522
|
+
var BrowserSetEnabledResult = z31.strictObject({ enabled: z31.boolean() });
|
|
2523
|
+
var BrowserPairCodeParams = z31.strictObject({});
|
|
2524
|
+
var BrowserPairCodeResult = z31.strictObject({ code: z31.string().min(16).max(128) });
|
|
2525
|
+
var BrowserPairResetParams = z31.strictObject({});
|
|
2526
|
+
var BrowserCallParams = z31.strictObject({
|
|
2527
|
+
tool: z31.string().min(1).max(96).regex(/^[a-z][a-z0-9_]*$/),
|
|
2528
|
+
args: z31.record(z31.string(), z31.unknown()),
|
|
2529
|
+
/** Which session; default: the most recently active routable one (BROWSER ambiguity → CONFLICT). */
|
|
2530
|
+
client_instance: BrowserClientInstance.optional(),
|
|
2531
|
+
/** How long to wait, including a person's confirmation; default 120 s. */
|
|
2532
|
+
timeout_ms: z31.int().min(1e3).max(6e5).optional()
|
|
2533
|
+
});
|
|
2534
|
+
var BrowserCallResult = z31.strictObject({
|
|
2535
|
+
client_instance: BrowserClientInstance,
|
|
2536
|
+
result: z31.unknown(),
|
|
2537
|
+
duration_ms: nonNegInt
|
|
2538
|
+
});
|
|
2539
|
+
var BrowserInvokeEvent = z31.strictObject({
|
|
2540
|
+
call_id: z31.string().min(1).max(64),
|
|
2541
|
+
tool: z31.string().min(1).max(96),
|
|
2542
|
+
args: z31.record(z31.string(), z31.unknown()),
|
|
2543
|
+
deadline_ms: epochMs
|
|
2544
|
+
});
|
|
2545
|
+
var BrowserSessionsChangedEvent = z31.strictObject({ count: nonNegInt, enabled: z31.boolean() });
|
|
2546
|
+
var BrowserProgressEvent = z31.strictObject({
|
|
2547
|
+
call_id: z31.string().min(1).max(64),
|
|
2548
|
+
client_instance: BrowserClientInstance,
|
|
2549
|
+
phase: BrowserCallPhase
|
|
2550
|
+
});
|
|
2551
|
+
var DesktopHealth = z31.strictObject({
|
|
2552
|
+
status: z31.literal("ok"),
|
|
2553
|
+
service: z31.literal("matrx-desktop"),
|
|
2554
|
+
version: z31.string().max(32),
|
|
2555
|
+
protocol_version: z31.string().max(16),
|
|
2556
|
+
ws_path: z31.literal("/v1/connect"),
|
|
2557
|
+
device_id: z31.string().max(64),
|
|
2558
|
+
browser_connection: z31.enum(["on", "off"])
|
|
2559
|
+
});
|
|
2560
|
+
var BrowserPairRequest = z31.strictObject({ client_instance: BrowserClientInstance });
|
|
2561
|
+
var BrowserPairResult = z31.strictObject({ pair_token: z31.string().min(16).max(128), ws_path: z31.literal("/v1/connect") });
|
|
2562
|
+
|
|
2444
2563
|
// src/schema/registry.ts
|
|
2445
2564
|
var FS_ERR = ["NOT_FOUND", "PERMISSION_DENIED_OS", "INVALID_PARAMS", "RESOURCE_BUSY", "INTERNAL"];
|
|
2446
2565
|
var OPS = {
|
|
@@ -2586,7 +2705,17 @@ var OPS = {
|
|
|
2586
2705
|
// 1.26: the app's own update (it installs only once every window quit) and bringing the windows back.
|
|
2587
2706
|
"apps.windows.update_state": { params: AppsWindowsUpdateStateParams, result: AppsWindowsUpdateStateResult, kind: "unary", since: "1.26", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2588
2707
|
"apps.windows.reopen": { params: AppsWindowsReopenParams, result: AppsWindowsReopenResult, kind: "unary", since: "1.26", errors: ["NOT_FOUND", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2589
|
-
"apps.windows.update_and_reopen": { params: AppsWindowsUpdateAndReopenParams, result: AppsWindowsUpdateAndReopenResult, kind: "unary", since: "1.26", errors: ["NOT_FOUND", "CONFLICT", "TIMEOUT", "PLATFORM_UNSUPPORTED", "INTERNAL"] }
|
|
2708
|
+
"apps.windows.update_and_reopen": { params: AppsWindowsUpdateAndReopenParams, result: AppsWindowsUpdateAndReopenResult, kind: "unary", since: "1.26", errors: ["NOT_FOUND", "CONFLICT", "TIMEOUT", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
|
|
2709
|
+
// 1.28: the AI Matrx extension as a client (register, result, progress), the Browsers screen, and agents' calls.
|
|
2710
|
+
"browser.register": { params: BrowserRegisterParams, result: BrowserRegisterResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "INVALID_PARAMS", "INTERNAL"] },
|
|
2711
|
+
"browser.result": { params: BrowserResultParams, result: BrowserResultResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "PAYLOAD_TOO_LARGE"] },
|
|
2712
|
+
"browser.progress": { params: BrowserProgressParams, result: BrowserProgressResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN"] },
|
|
2713
|
+
"browser.sessions": { params: BrowserSessionsParams, result: BrowserSessionsResult, kind: "unary", since: "1.28", errors: ["INTERNAL"] },
|
|
2714
|
+
"browser.disconnect": { params: BrowserDisconnectParams, result: BrowserDisconnectResult, kind: "unary", since: "1.28", errors: ["NOT_FOUND", "AUTH_FORBIDDEN"] },
|
|
2715
|
+
"browser.set_enabled": { params: BrowserSetEnabledParams, result: BrowserSetEnabledResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "INTERNAL"] },
|
|
2716
|
+
"browser.pair_code": { params: BrowserPairCodeParams, result: BrowserPairCodeResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "INTERNAL"] },
|
|
2717
|
+
"browser.pair_reset": { params: BrowserPairResetParams, result: BrowserPairCodeResult, kind: "unary", since: "1.28", errors: ["AUTH_FORBIDDEN", "INTERNAL"] },
|
|
2718
|
+
"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"] }
|
|
2590
2719
|
};
|
|
2591
2720
|
var EVENTS = {
|
|
2592
2721
|
"fs.changed": FsChangedEvent,
|
|
@@ -2600,7 +2729,10 @@ var EVENTS = {
|
|
|
2600
2729
|
"coding.history.progress": CodingHistoryProgressEvent,
|
|
2601
2730
|
"relay.device_status": RelayDeviceStatusEvent,
|
|
2602
2731
|
"relay.auth_expiring": RelayAuthExpiringEvent,
|
|
2603
|
-
"diag.errors.changed": DiagErrorsChangedEvent
|
|
2732
|
+
"diag.errors.changed": DiagErrorsChangedEvent,
|
|
2733
|
+
"browser.invoke": BrowserInvokeEvent,
|
|
2734
|
+
"browser.sessions_changed": BrowserSessionsChangedEvent,
|
|
2735
|
+
"browser.progress": BrowserProgressEvent
|
|
2604
2736
|
};
|
|
2605
2737
|
|
|
2606
2738
|
// src/client/client.ts
|