haltija 1.3.0 → 1.3.1

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
@@ -61,18 +61,24 @@ Full API: `hj docs` — or `hj api` for complete reference
61
61
 
62
62
  ---
63
63
 
64
- ## Why Not Playwright / Puppeteer?
65
-
66
- | | Haltija | Playwright MCP |
67
- |---|---------|----------------|
68
- | **Browser** | Your real browser | Separate headless instance |
69
- | **State** | Already logged in, cookies, extensions | Clean slate every time |
70
- | **Setup** | `bunx haltija` | Install Playwright, configure MCP |
71
- | **Protocol** | Simple REST/curl | Complex CDP |
72
- | **Feedback** | "Button hidden by modal" | `TimeoutError: element not found` |
73
- | **Visibility** | Watch it happen live | Background process |
74
-
75
- Haltija connects to the browser you're already using. The one with the bug, the active session, and the weird cookie state. No reproduction script required.
64
+ ## Haltija vs. Playwright
65
+
66
+ Playwright is a mature, cross-browser automation framework with deep tooling (trace viewer, codegen, test runner, fixtures) and an official MCP that hands agents a structured accessibility snapshot. Reach for it when you want cross-browser coverage or a full test framework. Haltija aims at something narrower: letting an agent drive **a browser you're already running**, over plain HTTP — or spawn its own when you'd rather it did.
67
+
68
+ | | Haltija | Playwright (+ MCP) |
69
+ |---|---|---|
70
+ | Browser | Attach to your real, already-open browser — *or* spawn its own | Usually its own managed context; can connect to an existing browser over CDP |
71
+ | Cross-browser | ⚠️ Chromium only | Chromium, Firefox, WebKit |
72
+ | Session / auth | Uses your live logged-in session as-is | Fresh context by default; reusable via `storageState` / persistent context |
73
+ | How an agent drives it | Plain HTTP/REST — curl, any language, no client library | Playwright client library, or the MCP tools |
74
+ | Page model | DOM tree with stable ref IDs + `eval` | Accessibility-tree snapshot with ref IDs (MCP), or the full API in code |
75
+ | Interaction | Per-character, framework-triggering synthetic events you can steer live over HTTP | Trusted CDP-level input |
76
+ | Feedback when a step can't proceed | **Fails fast** — reports what's blocking it (missing / hidden / covered) right away | **Auto-waits to a timeout** (tens of seconds) — smooths over races, but a genuinely broken step burns the full timeout before failing |
77
+ | Test generation | record→replay → JSON tests | codegen → Playwright code |
78
+ | Debugging | Live widget, console capture, semantic events, click diff | Trace viewer — time-travel step snapshots |
79
+ | Embed in your app | ✅ Ship the widget inside your own product | Not designed for that |
80
+
81
+ **The short version:** they're complementary, and this project uses both — Playwright for cross-browser smoke checks, Haltija for the fast end-to-end pass. Reach for Haltija when you want to point an agent at the browser (and logged-in session) you already have, or embed agent-control into your own app — over nothing more than HTTP.
76
82
 
77
83
  ---
78
84
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "haltija-desktop",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "private": true,
5
5
  "description": "Haltija Desktop - God Mode Browser for AI Agents",
6
6
  "homepage": "https://github.com/tonioloewald/haltija",
@@ -46,7 +46,7 @@
46
46
  });
47
47
 
48
48
  // src/version.ts
49
- var VERSION = "1.3.0";
49
+ var VERSION = "1.3.1";
50
50
 
51
51
  // src/text-selector.ts
52
52
  var TEXT_PSEUDO_RE = /:(?:text-is|has-text|text)\(/;
@@ -20,7 +20,7 @@
20
20
  * - Option+Tab toggles visibility (but active state always shows briefly)
21
21
  * - Localhost only by default
22
22
  */
23
- export declare const VERSION = "1.3.0";
23
+ export declare const VERSION = "1.3.1";
24
24
  export declare class DevChannel extends HTMLElement {
25
25
  static get tagName(): string;
26
26
  static elementCreator(): () => DevChannel;
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var VERSION = "1.3.0";
2
+ var VERSION = "1.3.1";
3
3
 
4
4
  // src/text-selector.ts
5
5
  var TEXT_PSEUDO_RE = /:(?:text-is|has-text|text)\(/;
package/dist/component.js CHANGED
@@ -46,7 +46,7 @@
46
46
  });
47
47
 
48
48
  // src/version.ts
49
- var VERSION = "1.3.0";
49
+ var VERSION = "1.3.1";
50
50
 
51
51
  // src/text-selector.ts
52
52
  var TEXT_PSEUDO_RE = /:(?:text-is|has-text|text)\(/;
package/dist/index.js CHANGED
@@ -674,7 +674,7 @@ var injectorCode = `
674
674
  `;
675
675
 
676
676
  // src/version.ts
677
- var VERSION = "1.3.0";
677
+ var VERSION = "1.3.1";
678
678
 
679
679
  // src/embedded-assets.ts
680
680
  var APP_MD = `# Haltija App
@@ -3019,7 +3019,7 @@ var COMPONENT_JS = `(() => {
3019
3019
  });
3020
3020
 
3021
3021
  // src/version.ts
3022
- var VERSION = "1.3.0";
3022
+ var VERSION = "1.3.1";
3023
3023
 
3024
3024
  // src/text-selector.ts
3025
3025
  var TEXT_PSEUDO_RE = /:(?:text-is|has-text|text)\\(/;
package/dist/server.js CHANGED
@@ -674,7 +674,7 @@ var injectorCode = `
674
674
  `;
675
675
 
676
676
  // src/version.ts
677
- var VERSION = "1.3.0";
677
+ var VERSION = "1.3.1";
678
678
 
679
679
  // src/embedded-assets.ts
680
680
  var APP_MD = `# Haltija App
@@ -3019,7 +3019,7 @@ var COMPONENT_JS = `(() => {
3019
3019
  });
3020
3020
 
3021
3021
  // src/version.ts
3022
- var VERSION = "1.3.0";
3022
+ var VERSION = "1.3.1";
3023
3023
 
3024
3024
  // src/text-selector.ts
3025
3025
  var TEXT_PSEUDO_RE = /:(?:text-is|has-text|text)\\(/;
package/dist/version.d.ts CHANGED
@@ -8,4 +8,4 @@
8
8
  * ⚠️ AUTO-GENERATED FROM package.json - DO NOT EDIT THIS FILE
9
9
  * ⚠️ To change the version, update package.json and run: bun run build
10
10
  */
11
- export declare const VERSION = "1.3.0";
11
+ export declare const VERSION = "1.3.1";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "haltija",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "Browser control for AI agents - query DOM, click, type, run JS, watch mutations",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",