@alwith/module-computer 0.1.5 → 0.1.7

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Computer module
2
2
 
3
- Computer access using Cua Driver 0.36.0 (contract 0.8.0). The TypeScript entry
3
+ Computer access using Cua Driver 0.37.0 (contract 0.8.0). The TypeScript entry
4
4
  composes MCP descriptors from native authority without storing conversations.
5
5
  It returns a generation revision so clients can refresh existing threads when
6
6
  the host's grant changes. New, resumed and forked threads receive the same tools
@@ -40,3 +40,13 @@ Stage it as an application resource. `preview::capture` independently captures t
40
40
  owned window as a bounded JPEG without changing the Driver's grounding cache.
41
41
  Consumers scope subscriptions to visible windows and discard stale target revisions.
42
42
  Frames are ephemeral and are not a video recording or conversation storage.
43
+
44
+ Startup verifies the driver's screenshot and accessibility-tree path against a visible
45
+ host window before publishing a connection. Keep a host window open during recovery.
46
+ Tool replies have a 150-second deadline (the driver's maximum 120-second tool budget
47
+ plus transport headroom); protocol discovery has a 20-second deadline. Notifications
48
+ do not extend these deadlines. A timed-out action has an unknown outcome: stop the
49
+ Driver before resetting the gateway, reconnect, and observe rather than replaying it.
50
+ Driver stderr and content-free tool timing records are kept in bounded in-memory
51
+ buffers for the current application session only. Raw stderr may contain driver
52
+ error details; it is never automatically persisted or uploaded.
@@ -1,7 +1,7 @@
1
1
  # Third-party notices
2
2
 
3
- This integration pins the separately distributed MIT-licensed Cua Driver 0.36.0.
4
- Upstream: https://github.com/trycua/cua/tree/cua-driver-rs-v0.36.0/libs/cua-driver
3
+ This integration pins the separately distributed MIT-licensed Cua Driver 0.37.0.
4
+ Upstream: https://github.com/trycua/cua/tree/cua-driver-rs-v0.37.0/libs/cua-driver
5
5
 
6
6
  Applications staging the executable must distribute the included upstream
7
7
  `licenses/cua-driver-LICENSE.md` and `licenses/cua-driver-THIRD_PARTY_NOTICES.md`.
@@ -1,34 +1,34 @@
1
1
  declare const _default: {
2
- readonly version: "0.36.0";
2
+ readonly version: "0.37.0";
3
3
  readonly artifacts: {
4
4
  readonly "aarch64-apple-darwin": {
5
- readonly bundled: "../artifacts/cua-driver-0.36.0-alwith.1-aarch64-apple-darwin.tar.gz";
6
- readonly sha256: "67620fc43928f06ddebe09e442a15f1bc997772268f427bbb368e3add38c86bb";
7
- readonly archive: "cua-driver-0.36.0-alwith.1-aarch64-apple-darwin.tar.gz";
5
+ readonly bundled: "../artifacts/cua-driver-0.37.0-alwith.1-aarch64-apple-darwin.tar.gz";
6
+ readonly sha256: "d1288acc021d5f830fbeb993c3a32e43123330488bb507f7a280da46b3bb6bce";
7
+ readonly archive: "cua-driver-0.37.0-alwith.1-aarch64-apple-darwin.tar.gz";
8
8
  readonly executable: "cua-driver";
9
9
  };
10
10
  readonly "x86_64-unknown-linux-gnu": {
11
- readonly url: "https://github.com/trycua/cua/releases/download/cua-driver-rs-v0.36.0/cua-driver-rs-0.36.0-linux-x86_64-binary.tar.gz";
12
- readonly sha256: "05dae2160c86bdf4855c279d30898213d7a150edb1992b7470afdd69f0df4064";
13
- readonly archive: "cua-driver-rs-0.36.0-linux-x86_64-binary.tar.gz";
11
+ readonly url: "https://github.com/trycua/cua/releases/download/cua-driver-rs-v0.37.0/cua-driver-rs-0.37.0-linux-x86_64-binary.tar.gz";
12
+ readonly sha256: "c7ac376b10da7c207e510b2d90b88a9588bec9852a237962c273fe81b9cd5623";
13
+ readonly archive: "cua-driver-rs-0.37.0-linux-x86_64-binary.tar.gz";
14
14
  readonly executable: "cua-driver";
15
15
  };
16
16
  readonly "aarch64-unknown-linux-gnu": {
17
- readonly url: "https://github.com/trycua/cua/releases/download/cua-driver-rs-v0.36.0/cua-driver-rs-0.36.0-linux-arm64-binary.tar.gz";
18
- readonly sha256: "f64a33889605944a4e5af0e6036496137a25d6375f041d7c56e65c3be456aab2";
19
- readonly archive: "cua-driver-rs-0.36.0-linux-arm64-binary.tar.gz";
17
+ readonly url: "https://github.com/trycua/cua/releases/download/cua-driver-rs-v0.37.0/cua-driver-rs-0.37.0-linux-arm64-binary.tar.gz";
18
+ readonly sha256: "879e8040a4ce24caeee34b2e4ac6119be01661082202919db1bcc1ab0b97e4c8";
19
+ readonly archive: "cua-driver-rs-0.37.0-linux-arm64-binary.tar.gz";
20
20
  readonly executable: "cua-driver";
21
21
  };
22
22
  readonly "x86_64-pc-windows-msvc": {
23
- readonly url: "https://github.com/trycua/cua/releases/download/cua-driver-rs-v0.36.0/cua-driver-rs-0.36.0-windows-x86_64-binary.zip";
24
- readonly sha256: "f8c47024b626f4e0e70f8428d2998df39e4879110c5722a29d5fd03e367353ad";
25
- readonly archive: "cua-driver-rs-0.36.0-windows-x86_64-binary.zip";
23
+ readonly url: "https://github.com/trycua/cua/releases/download/cua-driver-rs-v0.37.0/cua-driver-rs-0.37.0-windows-x86_64-binary.zip";
24
+ readonly sha256: "40481b55073f1225b0010235b30217bd640ef1f323e982aec0a5f6131d3e4a99";
25
+ readonly archive: "cua-driver-rs-0.37.0-windows-x86_64-binary.zip";
26
26
  readonly executable: "cua-driver.exe";
27
27
  };
28
28
  readonly "aarch64-pc-windows-msvc": {
29
- readonly url: "https://github.com/trycua/cua/releases/download/cua-driver-rs-v0.36.0/cua-driver-rs-0.36.0-windows-arm64-binary.zip";
30
- readonly sha256: "520ea584cf11c074bccc4fd2328e8f2b34ec43de9328d97afb7fd03f761b55ee";
31
- readonly archive: "cua-driver-rs-0.36.0-windows-arm64-binary.zip";
29
+ readonly url: "https://github.com/trycua/cua/releases/download/cua-driver-rs-v0.37.0/cua-driver-rs-0.37.0-windows-arm64-binary.zip";
30
+ readonly sha256: "0fce682b251775e25fd76bf29ff856f7f5ab5aae5759d6b76a40f8312a194a5a";
31
+ readonly archive: "cua-driver-rs-0.37.0-windows-arm64-binary.zip";
32
32
  readonly executable: "cua-driver.exe";
33
33
  };
34
34
  };
package/dist/artifacts.js CHANGED
@@ -1 +1 @@
1
- var a={version:"0.36.0",artifacts:{"aarch64-apple-darwin":{bundled:"../artifacts/cua-driver-0.36.0-alwith.1-aarch64-apple-darwin.tar.gz",sha256:"67620fc43928f06ddebe09e442a15f1bc997772268f427bbb368e3add38c86bb",archive:"cua-driver-0.36.0-alwith.1-aarch64-apple-darwin.tar.gz",executable:"cua-driver"},"x86_64-unknown-linux-gnu":{url:"https://github.com/trycua/cua/releases/download/cua-driver-rs-v0.36.0/cua-driver-rs-0.36.0-linux-x86_64-binary.tar.gz",sha256:"05dae2160c86bdf4855c279d30898213d7a150edb1992b7470afdd69f0df4064",archive:"cua-driver-rs-0.36.0-linux-x86_64-binary.tar.gz",executable:"cua-driver"},"aarch64-unknown-linux-gnu":{url:"https://github.com/trycua/cua/releases/download/cua-driver-rs-v0.36.0/cua-driver-rs-0.36.0-linux-arm64-binary.tar.gz",sha256:"f64a33889605944a4e5af0e6036496137a25d6375f041d7c56e65c3be456aab2",archive:"cua-driver-rs-0.36.0-linux-arm64-binary.tar.gz",executable:"cua-driver"},"x86_64-pc-windows-msvc":{url:"https://github.com/trycua/cua/releases/download/cua-driver-rs-v0.36.0/cua-driver-rs-0.36.0-windows-x86_64-binary.zip",sha256:"f8c47024b626f4e0e70f8428d2998df39e4879110c5722a29d5fd03e367353ad",archive:"cua-driver-rs-0.36.0-windows-x86_64-binary.zip",executable:"cua-driver.exe"},"aarch64-pc-windows-msvc":{url:"https://github.com/trycua/cua/releases/download/cua-driver-rs-v0.36.0/cua-driver-rs-0.36.0-windows-arm64-binary.zip",sha256:"520ea584cf11c074bccc4fd2328e8f2b34ec43de9328d97afb7fd03f761b55ee",archive:"cua-driver-rs-0.36.0-windows-arm64-binary.zip",executable:"cua-driver.exe"}}};export{a as default};
1
+ var a={version:"0.37.0",artifacts:{"aarch64-apple-darwin":{bundled:"../artifacts/cua-driver-0.37.0-alwith.1-aarch64-apple-darwin.tar.gz",sha256:"d1288acc021d5f830fbeb993c3a32e43123330488bb507f7a280da46b3bb6bce",archive:"cua-driver-0.37.0-alwith.1-aarch64-apple-darwin.tar.gz",executable:"cua-driver"},"x86_64-unknown-linux-gnu":{url:"https://github.com/trycua/cua/releases/download/cua-driver-rs-v0.37.0/cua-driver-rs-0.37.0-linux-x86_64-binary.tar.gz",sha256:"c7ac376b10da7c207e510b2d90b88a9588bec9852a237962c273fe81b9cd5623",archive:"cua-driver-rs-0.37.0-linux-x86_64-binary.tar.gz",executable:"cua-driver"},"aarch64-unknown-linux-gnu":{url:"https://github.com/trycua/cua/releases/download/cua-driver-rs-v0.37.0/cua-driver-rs-0.37.0-linux-arm64-binary.tar.gz",sha256:"879e8040a4ce24caeee34b2e4ac6119be01661082202919db1bcc1ab0b97e4c8",archive:"cua-driver-rs-0.37.0-linux-arm64-binary.tar.gz",executable:"cua-driver"},"x86_64-pc-windows-msvc":{url:"https://github.com/trycua/cua/releases/download/cua-driver-rs-v0.37.0/cua-driver-rs-0.37.0-windows-x86_64-binary.zip",sha256:"40481b55073f1225b0010235b30217bd640ef1f323e982aec0a5f6131d3e4a99",archive:"cua-driver-rs-0.37.0-windows-x86_64-binary.zip",executable:"cua-driver.exe"},"aarch64-pc-windows-msvc":{url:"https://github.com/trycua/cua/releases/download/cua-driver-rs-v0.37.0/cua-driver-rs-0.37.0-windows-arm64-binary.zip",sha256:"0fce682b251775e25fd76bf29ff856f7f5ab5aae5759d6b76a40f8312a194a5a",archive:"cua-driver-rs-0.37.0-windows-arm64-binary.zip",executable:"cua-driver.exe"}}};export{a as default};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var n="alwith_computer",o="Computer actions must use the private MCP server named alwith_computer. This exact server name is also used for resource discovery; do not replace underscores or invent a server name. Before the first computer action, read skill://cua-driver/SKILL.md from alwith_computer. Discover its tools, observe the target window, act using the returned window identity and element tokens, then verify the resulting interface. The host handles conversation ownership, queuing and preview. Prefer background operations and respect driver refusals. If the connection fails or is revoked, stop and report the connection error; never substitute cua_repl, shell automation or another computer channel. Ask the user to retry the message after reconnecting in U.";async function s(r){let e=await r();if(!e)return{mcpServers:[],revision:"disabled"};return{mcpServers:[{type:"stdio",name:"alwith_computer",command:e.command,args:[...e.args],env:e.env.map((t)=>({...t}))}],revision:e.generation,appendSystemPrompt:"Computer actions must use the private MCP server named alwith_computer. This exact server name is also used for resource discovery; do not replace underscores or invent a server name. Before the first computer action, read skill://cua-driver/SKILL.md from alwith_computer. Discover its tools, observe the target window, act using the returned window identity and element tokens, then verify the resulting interface. The host handles conversation ownership, queuing and preview. Prefer background operations and respect driver refusals. If the connection fails or is revoked, stop and report the connection error; never substitute cua_repl, shell automation or another computer channel. Ask the user to retry the message after reconnecting in U."}}export{o as COMPUTER_INSTRUCTIONS,n as COMPUTER_SERVER_NAME,s as computerContext};
1
+ var t="alwith_computer",o="Computer actions must use the private MCP server named alwith_computer. This exact server name is also used for resource discovery; do not replace underscores or invent a server name. Before the first computer action, read skill://cua-driver/SKILL.md from alwith_computer. Discover its tools, observe the target window, act using the returned window identity and element tokens, then verify the resulting interface. The host handles conversation ownership, queuing and preview. Prefer background operations and respect driver refusals. If the connection fails or is revoked, stop and report the connection error; never substitute cua_repl, shell automation or another computer channel. Ask the user to retry the message after reconnecting in U.";async function s(r){let e=await r();if(!e)return{mcpServers:[],revision:"disabled"};return{mcpServers:[{type:"stdio",name:"alwith_computer",command:e.command,args:[...e.args],env:e.env.map((n)=>({...n}))}],revision:e.generation,appendSystemPrompt:"Computer actions must use the private MCP server named alwith_computer. This exact server name is also used for resource discovery; do not replace underscores or invent a server name. Before the first computer action, read skill://cua-driver/SKILL.md from alwith_computer. Discover its tools, observe the target window, act using the returned window identity and element tokens, then verify the resulting interface. The host handles conversation ownership, queuing and preview. Prefer background operations and respect driver refusals. If the connection fails or is revoked, stop and report the connection error; never substitute cua_repl, shell automation or another computer channel. Ask the user to retry the message after reconnecting in U."}}export{o as COMPUTER_INSTRUCTIONS,t as COMPUTER_SERVER_NAME,s as computerContext};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alwith/module-computer",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "type": "module",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "files": [
@@ -28,7 +28,6 @@
28
28
  "build": "bun ../../scripts/build-npm.ts",
29
29
  "prepack": "bun run build && bun ../../scripts/verify-module-package.ts computer",
30
30
  "test": "bun test src",
31
- "typecheck": "tsc --noEmit",
32
31
  "test:rust": "cargo test --manifest-path ../../Cargo.toml -p alwith-computer-impl --lib"
33
32
  },
34
33
  "dependencies": {
@@ -52,6 +52,9 @@ impl Gateway {
52
52
  pub fn stop_all(&self) {
53
53
  self.0.call::<()>("gateway_stop_all", json!({})).expect("Native computer stop failed");
54
54
  }
55
+ pub fn diagnostics(&self) -> String {
56
+ self.0.call("gateway_diagnostics", json!({})).expect("Native computer diagnostics failed")
57
+ }
55
58
  pub fn faulted(&self) -> bool {
56
59
  self.0.call("gateway_faulted", json!({})).expect("Native computer state failed")
57
60
  }
package/rust/src/lib.rs CHANGED
@@ -6,7 +6,7 @@ use alwith_native_client::Handle;
6
6
  use serde::Serialize;
7
7
  use serde_json::{Value, json};
8
8
  use std::path::PathBuf;
9
- pub const DRIVER_VERSION: &str = "0.36.0";
9
+ pub const DRIVER_VERSION: &str = "0.37.0";
10
10
  #[derive(Debug, Clone, Serialize, specta::Type, serde::Deserialize)]
11
11
  #[serde(rename_all = "camelCase")]
12
12
  pub struct Status {
@@ -15,6 +15,9 @@ pub struct Status {
15
15
  pub session_id: Option<String>,
16
16
  pub ready: bool,
17
17
  pub version: String,
18
+ pub phase: String,
19
+ pub last_error: Option<String>,
20
+ pub diagnostics: String,
18
21
  }
19
22
  #[derive(Debug, Clone, Serialize, specta::Type, serde::Deserialize)]
20
23
  pub struct Environment {