@ai-matrx/desktop-protocol 0.21.36 → 0.21.37

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 CHANGED
@@ -1,8 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.21.37
4
+
5
+ UNVERIFIED: this release has no Unreleased entry and the source comparison could not be made (the caller supplied no source comparison). Whether source changed is unknown; consumer action is unknown.
6
+ Check the package's gitHead on npm against this version's gitHead: `git diff <previous gitHead> <this gitHead> -- apps/shared/desktop-protocol/src`.
7
+
3
8
  ## 0.21.36
4
9
  ### Unreleased
5
10
 
11
+ - Protocol 1.45 (additive). `sysinfo.hardware` gains optional `graphics`
12
+ (`SysinfoGraphicsAdapter`: name, vendor, memory_bytes, memory_approximate, unified), stripped for
13
+ older peers. New ops `models.downloads.list` / `models.downloads.cancel` (key only), forwarded to
14
+ the ml service's new `ml.downloads` / `ml.download_cancel`. Consumer action: Matrx 2 regenerates
15
+ its Python contract (`node scripts/python-contract.mjs`) and implements the two service ops.
16
+
6
17
  - `ToolLevelResult.calls_made` (optional): at the chat level, how many tool calls the agent's turn
7
18
  made. `buildToolStatus` never lets a result that made zero calls, or a `skip`, replace a decisive
8
19
  pass or fail: such a run never exercised the tool, so it is no evidence about it. Before this, one
package/dist/client.cjs CHANGED
@@ -144,7 +144,7 @@ var import_zod2 = require("zod");
144
144
  var import_zod = require("zod");
145
145
  var import_uuid = require("@ai-matrx/kit/uuid");
146
146
  var PROTOCOL_MAJOR = 1;
147
- var PROTOCOL_MINOR = 44;
147
+ var PROTOCOL_MINOR = 45;
148
148
  var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
149
149
  var ProtocolVersion = import_zod.z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
150
150
  var RequestId = import_zod.z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
@@ -482,6 +482,14 @@ var SysinfoGetResult = import_zod5.z.strictObject({
482
482
  })
483
483
  ).optional()
484
484
  });
485
+ var SysinfoGraphicsAdapter = import_zod5.z.strictObject({
486
+ name: import_zod5.z.string().max(128),
487
+ vendor: import_zod5.z.string().max(64).nullable(),
488
+ memory_bytes: nonNegInt.nullable(),
489
+ /** True when the OS gives only an approximate size (Windows AdapterRAM, capped at 4 GB). */
490
+ memory_approximate: import_zod5.z.boolean(),
491
+ unified: import_zod5.z.boolean()
492
+ });
485
493
  var SysinfoHardwareParams = import_zod5.z.strictObject({});
486
494
  var SysinfoHardwareResult = import_zod5.z.strictObject({
487
495
  /** "Mac Studio", "MacBook Pro", "ThinkPad X1 Carbon". */
@@ -497,7 +505,10 @@ var SysinfoHardwareResult = import_zod5.z.strictObject({
497
505
  os_name: import_zod5.z.string().max(64).nullable(),
498
506
  /** "26.6.2". */
499
507
  os_version: import_zod5.z.string().max(64).nullable(),
500
- os_build: import_zod5.z.string().max(64).nullable()
508
+ os_build: import_zod5.z.string().max(64).nullable(),
509
+ /** (1.45) Every graphics adapter, as System Information's Graphics/Displays lists them. Optional:
510
+ * a core older than 1.45 omits it. */
511
+ graphics: import_zod5.z.array(SysinfoGraphicsAdapter).max(16).optional()
501
512
  });
502
513
 
503
514
  // src/schema/fs.ts
@@ -888,6 +899,29 @@ var ModelsLlmStartParams = import_zod9.z.strictObject({
888
899
  var ModelsLlmStartResult = import_zod9.z.strictObject({ running: LlmRunning, elapsed_ms: nonNegInt });
889
900
  var ModelsLlmStopParams = import_zod9.z.strictObject({});
890
901
  var ModelsLlmStopResult = import_zod9.z.strictObject({ stopped: import_zod9.z.boolean() });
902
+ var DownloadKind = import_zod9.z.enum(["speech_model", "text_model", "runtime"]);
903
+ var DownloadRow = import_zod9.z.strictObject({
904
+ /** The job's key in the service: "model:base", "llm:smollm2-135m", "llm-server", "runtime". */
905
+ key: import_zod9.z.string().max(64),
906
+ kind: DownloadKind,
907
+ /** The model id for a model download; null for a runtime. */
908
+ model: import_zod9.z.string().max(64).nullable(),
909
+ /** "running" while it downloads; "stopped" when only its half-done file is left (Resume re-runs the install). */
910
+ state: import_zod9.z.enum(["running", "stopped"]),
911
+ /** What it is doing now ("download", "verify", …); null when stopped. */
912
+ step: import_zod9.z.string().max(32).nullable(),
913
+ bytes_done: nonNegInt,
914
+ bytes_total: nonNegInt.nullable(),
915
+ fraction: import_zod9.z.number().min(0).max(1).nullable(),
916
+ /** Unix ms; null when stopped. */
917
+ started_at: nonNegInt.nullable(),
918
+ /** The folder it downloads into (Show in Finder). */
919
+ path: import_zod9.z.string().max(1024).nullable()
920
+ });
921
+ var ModelsDownloadsListParams = import_zod9.z.strictObject({});
922
+ var ModelsDownloadsListResult = import_zod9.z.strictObject({ downloads: import_zod9.z.array(DownloadRow).max(64) });
923
+ var ModelsDownloadsCancelParams = import_zod9.z.strictObject({ key: import_zod9.z.string().max(64) });
924
+ var ModelsDownloadsCancelResult = import_zod9.z.strictObject({ cancelled: import_zod9.z.boolean() });
891
925
  var MlServiceState = import_zod9.z.enum(["starting", "ready", "restarting", "failed", "stopped"]);
892
926
  var MlServiceStatus = import_zod9.z.strictObject({
893
927
  state: MlServiceState,
@@ -4152,6 +4186,8 @@ var OPS = {
4152
4186
  "models.llm.install": { params: ModelsLlmInstallParams, result: ModelsLlmInstallResult, kind: "unary", since: "1.31", errors: ["RESOURCE_BUSY", "RESOURCE_GONE", "TIMEOUT", "CANCELLED", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4153
4187
  "models.llm.start": { params: ModelsLlmStartParams, result: ModelsLlmStartResult, kind: "unary", since: "1.31", errors: ["NOT_FOUND", "RESOURCE_BUSY", "RESOURCE_GONE", "TIMEOUT", "CANCELLED", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
4154
4188
  "models.llm.stop": { params: ModelsLlmStopParams, result: ModelsLlmStopResult, kind: "unary", since: "1.31", errors: ["INTERNAL"] },
4189
+ "models.downloads.list": { params: ModelsDownloadsListParams, result: ModelsDownloadsListResult, kind: "unary", since: "1.45", errors: ["INTERNAL"] },
4190
+ "models.downloads.cancel": { params: ModelsDownloadsCancelParams, result: ModelsDownloadsCancelResult, kind: "unary", since: "1.45", errors: ["NOT_FOUND", "INTERNAL"] },
4155
4191
  // Desktop apps and their profiles (SPEC §6 apps); profiles are rows in users.desktop_app_profile.
4156
4192
  "apps.list": { params: AppsListParams, result: AppsListResult, kind: "unary", since: "1.2", errors: ["INTERNAL"] },
4157
4193
  "apps.profiles.list": { params: AppsProfilesListParams, result: AppsProfilesListResult, kind: "unary", since: "1.2", errors: ["NOT_FOUND", "INVALID_PARAMS", "INTERNAL"] },
@@ -4417,6 +4453,7 @@ var RESULT_PATH = /* @__PURE__ */ new Map([
4417
4453
  ["apps.windows.update_state", "AppsWindowsUpdateStateResult"],
4418
4454
  ["web.fetch_with_browser", "WebBrowserFetchResult"],
4419
4455
  ["sysinfo.get", "SysinfoGetResult"],
4456
+ ["sysinfo.hardware", "SysinfoHardwareResult"],
4420
4457
  ["apps.projects.to_window", "AppsProjectsToWindowResult"]
4421
4458
  ]);
4422
4459
  var NESTED_RESULTS = /* @__PURE__ */ new Map([