@zenalexa/unicli 0.207.1 → 0.208.0
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/AGENTS.md +4 -4
- package/README.md +30 -17
- package/dist/browser/observe.d.ts +80 -0
- package/dist/browser/observe.d.ts.map +1 -0
- package/dist/browser/observe.js +144 -0
- package/dist/browser/observe.js.map +1 -0
- package/dist/browser/snapshot.d.ts.map +1 -1
- package/dist/browser/snapshot.js +29 -9
- package/dist/browser/snapshot.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +53 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/eval.d.ts +112 -0
- package/dist/commands/eval.d.ts.map +1 -0
- package/dist/commands/eval.js +485 -0
- package/dist/commands/eval.js.map +1 -0
- package/dist/commands/mcp.d.ts +16 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +135 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/operate.d.ts.map +1 -1
- package/dist/commands/operate.js +66 -1
- package/dist/commands/operate.js.map +1 -1
- package/dist/commands/skills.d.ts +91 -0
- package/dist/commands/skills.d.ts.map +1 -0
- package/dist/commands/skills.js +266 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/commands/usage.d.ts +17 -0
- package/dist/commands/usage.d.ts.map +1 -0
- package/dist/commands/usage.js +87 -0
- package/dist/commands/usage.js.map +1 -0
- package/dist/discovery/loader.d.ts +8 -1
- package/dist/discovery/loader.d.ts.map +1 -1
- package/dist/discovery/loader.js +100 -6
- package/dist/discovery/loader.js.map +1 -1
- package/dist/engine/update-check.js +1 -1
- package/dist/engine/update-check.js.map +1 -1
- package/dist/engine/yaml-runner.d.ts.map +1 -1
- package/dist/engine/yaml-runner.js +35 -1
- package/dist/engine/yaml-runner.js.map +1 -1
- package/dist/main.d.ts +1 -4
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +1 -4
- package/dist/main.js.map +1 -1
- package/dist/manifest.json +117 -1
- package/dist/mcp/server.d.ts +19 -6
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +401 -115
- package/dist/mcp/server.js.map +1 -1
- package/dist/permissions/sensitive-paths.d.ts +92 -0
- package/dist/permissions/sensitive-paths.d.ts.map +1 -0
- package/dist/permissions/sensitive-paths.js +174 -0
- package/dist/permissions/sensitive-paths.js.map +1 -0
- package/dist/runtime/usage-ledger.d.ts +86 -0
- package/dist/runtime/usage-ledger.d.ts.map +1 -0
- package/dist/runtime/usage-ledger.js +173 -0
- package/dist/runtime/usage-ledger.js.map +1 -0
- package/package.json +8 -7
- package/src/adapters/autoagent/eval-run.yaml +36 -0
- package/src/adapters/cua/bench-list.yaml +20 -0
- package/src/adapters/cua/bench-run.yaml +32 -0
- package/src/adapters/godot/project-run.yaml +31 -0
- package/src/adapters/godot/scene-export.yaml +39 -0
- package/src/adapters/hermes/sessions-search.yaml +61 -0
- package/src/adapters/hermes/skills-list.yaml +30 -0
- package/src/adapters/hermes/skills-read.yaml +46 -0
- package/src/adapters/motion-studio/component-get.yaml +35 -0
- package/src/adapters/openharness/memory-read.yaml +51 -0
- package/src/adapters/openharness/skills-list.yaml +28 -0
- package/src/adapters/renderdoc/capture-list.yaml +42 -0
- package/src/adapters/renderdoc/frame-export.yaml +32 -0
- package/src/adapters/stagehand/wrap-observe.yaml +42 -0
package/AGENTS.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# Uni-CLI
|
|
2
2
|
|
|
3
3
|
<!-- IF YOU ARE AN AI AGENT: Read this file. It tells you everything you need.
|
|
4
|
-
Install: npm install -g unicli
|
|
4
|
+
Install: npm install -g @zenalexa/unicli
|
|
5
5
|
Run: unicli <site> <command> [args]
|
|
6
6
|
Output is JSON when piped. Errors are structured JSON to stderr.
|
|
7
7
|
You can fix broken adapters yourself — read the Self-Repair section. -->
|
|
8
8
|
|
|
9
|
-
>
|
|
9
|
+
> 134 sites, 711 commands, 35 pipeline steps. One CLI. `npm install -g @zenalexa/unicli`
|
|
10
10
|
|
|
11
11
|
## For AI Agents
|
|
12
12
|
|
|
@@ -22,7 +22,7 @@ unicli test [site] # Verify adapters work
|
|
|
22
22
|
## Install
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
|
-
npm install -g unicli
|
|
25
|
+
npm install -g @zenalexa/unicli
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
## What You Can Do
|
|
@@ -176,4 +176,4 @@ The engine auto-probes the first three on first run. `intercept` and `ui` requir
|
|
|
176
176
|
|
|
177
177
|
## Version
|
|
178
178
|
|
|
179
|
-
0.
|
|
179
|
+
0.208.0 — Vostok · Titov
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- AGENT: npm install -g unicli && unicli list |
|
|
1
|
+
<!-- AGENT: npm install -g @zenalexa/unicli && unicli list | 711 commands across 134 sites. JSON when piped. Self-repairing YAML adapters. unicli repair --loop for autonomous fix. See AGENTS.md -->
|
|
2
2
|
|
|
3
3
|
<h1 align="center">Uni-CLI</h1>
|
|
4
4
|
|
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
|
-
<a href="https://www.npmjs.com/package/unicli"><img src="https://img.shields.io/npm/v/unicli?style=flat-square" alt="npm"></a>
|
|
11
|
-
<a href="https://nodejs.org"><img src="https://img.shields.io/node/v/unicli?style=flat-square" alt="Node.js"></a>
|
|
10
|
+
<a href="https://www.npmjs.com/package/@zenalexa/unicli"><img src="https://img.shields.io/npm/v/@zenalexa/unicli?style=flat-square" alt="npm"></a>
|
|
11
|
+
<a href="https://nodejs.org"><img src="https://img.shields.io/node/v/@zenalexa/unicli?style=flat-square" alt="Node.js"></a>
|
|
12
12
|
<a href="./LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-blue?style=flat-square" alt="Apache-2.0"></a>
|
|
13
13
|
</p>
|
|
14
14
|
|
|
15
15
|
<p align="center">
|
|
16
|
-
|
|
16
|
+
134 sites · 711 commands · 35 pipeline steps · 29 template filters · Zero runtime dependencies beyond Node.js
|
|
17
17
|
</p>
|
|
18
18
|
|
|
19
19
|
---
|
|
@@ -23,7 +23,7 @@ Agents cannot draw in SolidWorks. Cannot design PCBs. Cannot run CFD simulations
|
|
|
23
23
|
Uni-CLI fixes this. One command, structured JSON output, self-repairing YAML adapters. **~80 tokens per invocation** — two orders of magnitude cheaper than MCP.
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
npm install -g unicli
|
|
26
|
+
npm install -g @zenalexa/unicli
|
|
27
27
|
unicli hackernews top --limit 5 # Public API
|
|
28
28
|
unicli bilibili hot # Chinese platform
|
|
29
29
|
unicli twitter search "AI agents" # Authenticated
|
|
@@ -31,6 +31,19 @@ unicli blender render scene.blend # Desktop software
|
|
|
31
31
|
unicli cursor ask "explain this code" # Electron app
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
+
## Compared to
|
|
35
|
+
|
|
36
|
+
> Source-level honest comparison. Numbers are from a 2026-04-07 audit of cloned reference repos under `ref/`. Full breakdown in [docs/COMPARE.md](./docs/COMPARE.md).
|
|
37
|
+
|
|
38
|
+
| Project | Shape | Best when | Where Uni-CLI fits |
|
|
39
|
+
| ----------------------------- | ---------------------------------- | ----------------------------------- | ---------------------------------------------------- |
|
|
40
|
+
| **opencli** (14K) | TypeScript adapter hub | The genome — Uni-CLI extends it | Uni-CLI = 35 pipeline steps vs 15, +eval, +repair |
|
|
41
|
+
| **CLI-Anything** (29K, HKUDS) | Python adapter hub + skill gen | Desktop-app coverage (44 harnesses) | Uni-CLI = 134 sites web breadth, single-binary |
|
|
42
|
+
| **browser-use** (86K) | Python library, LLM per step | Open-ended browser tasks | Different shape — embed vs invoke |
|
|
43
|
+
| **goose** (38K, MCP-first) | MCP-host runtime | MCP-only environments | `unicli mcp serve` mounts as MCP server |
|
|
44
|
+
| **hermes-agent** (30K) | Agent w/ memory + multi-platform | Long-running personal agent | Different category — hermes is agent, Uni-CLI = tool |
|
|
45
|
+
| **Stagehand** | Browser-only `observe/act/extract` | Vision-grounded web tasks | Uni-CLI v0.208 ships `unicli operate observe` |
|
|
46
|
+
|
|
34
47
|
## Why CLI
|
|
35
48
|
|
|
36
49
|
| Criterion | MCP | CLI (Uni-CLI) |
|
|
@@ -289,22 +302,22 @@ Following `sysexits.h`:
|
|
|
289
302
|
## Development
|
|
290
303
|
|
|
291
304
|
```bash
|
|
292
|
-
git clone https://github.com/
|
|
305
|
+
git clone https://github.com/olo-dot-io/Uni-CLI.git && cd Uni-CLI
|
|
293
306
|
npm install
|
|
294
307
|
npm run dev -- list # Test adapter loading
|
|
295
308
|
npm run verify # format + typecheck + lint + test + build
|
|
296
309
|
npm run test:adapter # Validate all 601 YAML/TS adapters
|
|
297
310
|
```
|
|
298
311
|
|
|
299
|
-
| Command | Purpose
|
|
300
|
-
| ---------------------- |
|
|
301
|
-
| `npm run dev` | Development run
|
|
302
|
-
| `npm run build` | Production build
|
|
303
|
-
| `npm run typecheck` | TypeScript strict check
|
|
304
|
-
| `npm run lint` | Oxlint
|
|
305
|
-
| `npm run test` | Unit tests (
|
|
306
|
-
| `npm run test:adapter` | Adapter validation
|
|
307
|
-
| `npm run verify` | Full pipeline
|
|
312
|
+
| Command | Purpose |
|
|
313
|
+
| ---------------------- | ----------------------- |
|
|
314
|
+
| `npm run dev` | Development run |
|
|
315
|
+
| `npm run build` | Production build |
|
|
316
|
+
| `npm run typecheck` | TypeScript strict check |
|
|
317
|
+
| `npm run lint` | Oxlint |
|
|
318
|
+
| `npm run test` | Unit tests (753) |
|
|
319
|
+
| `npm run test:adapter` | Adapter validation |
|
|
320
|
+
| `npm run verify` | Full pipeline |
|
|
308
321
|
|
|
309
322
|
## Technology
|
|
310
323
|
|
|
@@ -332,6 +345,6 @@ See [CONTRIBUTING.md](./CONTRIBUTING.md). The fastest way to contribute: write a
|
|
|
332
345
|
---
|
|
333
346
|
|
|
334
347
|
<p align="center">
|
|
335
|
-
<sub>v0.
|
|
336
|
-
<sub>
|
|
348
|
+
<sub>v0.208.0 — Vostok · Titov</sub><br>
|
|
349
|
+
<sub>134 sites · 711 commands · 35 pipeline steps · 29 filters · 753 unit tests</sub>
|
|
337
350
|
</p>
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Observe — preview ranked candidate browser actions before executing.
|
|
3
|
+
*
|
|
4
|
+
* Modeled on Stagehand's `observe()` (packages/core/lib/v3/v3.ts:540): the
|
|
5
|
+
* caller asks "what should I click to do X?" and gets back a small ranked
|
|
6
|
+
* list of `{action, ref, selector, confidence}` candidates. The agent (or
|
|
7
|
+
* human) then commits with `unicli operate click <ref>`.
|
|
8
|
+
*
|
|
9
|
+
* Why a separate verb (vs. just clicking the first match)?
|
|
10
|
+
* 1. **Self-healing**: when a selector breaks, the next-best candidate
|
|
11
|
+
* is one ref away.
|
|
12
|
+
* 2. **Auditability**: the candidates list goes into a JSONL cache so
|
|
13
|
+
* future runs can compare against past candidates and detect drift.
|
|
14
|
+
* 3. **LLM grounding (future)**: the heuristic ranker is good for
|
|
15
|
+
* obvious cases; ambiguous queries can later route through an LLM.
|
|
16
|
+
*
|
|
17
|
+
* The ranker here is intentionally pure (no DOM access) so it can be
|
|
18
|
+
* unit-tested. The browser-side code is responsible for snapshotting and
|
|
19
|
+
* extracting the candidate list — this file scores it.
|
|
20
|
+
*/
|
|
21
|
+
export interface ObserveCandidate {
|
|
22
|
+
/**
|
|
23
|
+
* Imperative action to take next. Defaults to `click` for non-input
|
|
24
|
+
* elements; the input verb is `type` for textboxes / textareas.
|
|
25
|
+
*/
|
|
26
|
+
action: "click" | "type" | "select" | "press";
|
|
27
|
+
/** Numeric ref from the snapshot — pass back to `operate click <ref>`. */
|
|
28
|
+
ref: number;
|
|
29
|
+
/** CSS selector for the same node. */
|
|
30
|
+
selector: string;
|
|
31
|
+
/** Original tag name (`a`, `button`, `input`, ...) */
|
|
32
|
+
tag: string;
|
|
33
|
+
/** Best human-readable label for the element (text or aria). */
|
|
34
|
+
label: string;
|
|
35
|
+
/** 0..1 confidence that this candidate matches the query. */
|
|
36
|
+
confidence: number;
|
|
37
|
+
/** Why we matched (token overlap, exact label, role match). */
|
|
38
|
+
reason: string;
|
|
39
|
+
}
|
|
40
|
+
/** A snapshot ref entry as produced by `generateSnapshotJs({ raw: true })`. */
|
|
41
|
+
export interface SnapshotRef {
|
|
42
|
+
ref: number;
|
|
43
|
+
tag: string;
|
|
44
|
+
text: string;
|
|
45
|
+
/** Optional attribute bag — populated when the snapshot was extended. */
|
|
46
|
+
attrs?: Record<string, string>;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Tokenize a query / label into lowercased word tokens. Strips most
|
|
50
|
+
* punctuation. Empty input returns []; the caller decides how to handle
|
|
51
|
+
* a no-tokens query (we treat it as "match nothing", which falls through
|
|
52
|
+
* to confidence 0).
|
|
53
|
+
*/
|
|
54
|
+
export declare function tokenize(s: string): string[];
|
|
55
|
+
/**
|
|
56
|
+
* Score a single candidate against the query tokens. Returns a number in
|
|
57
|
+
* 0..1 plus a short reason explaining the match strength.
|
|
58
|
+
*
|
|
59
|
+
* Scoring rules (additive, capped at 1):
|
|
60
|
+
* - Exact label match (case-insensitive) → 0.95
|
|
61
|
+
* - All query tokens present in label → 0.85
|
|
62
|
+
* - Some query tokens present in label → 0.4 + (matched/total) * 0.4
|
|
63
|
+
* - Query token matches the tag (e.g. "button") → +0.15
|
|
64
|
+
* - Query token matches the role attribute → +0.10
|
|
65
|
+
*/
|
|
66
|
+
export declare function scoreCandidate(ref: SnapshotRef, queryTokens: string[]): {
|
|
67
|
+
confidence: number;
|
|
68
|
+
reason: string;
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Pick the action verb based on tag. Inputs and textareas get `type`;
|
|
72
|
+
* selects get `select`; everything else gets `click`.
|
|
73
|
+
*/
|
|
74
|
+
export declare function actionForTag(tag: string): ObserveCandidate["action"];
|
|
75
|
+
/**
|
|
76
|
+
* Score every snapshot ref against the query and return top-K.
|
|
77
|
+
* Candidates with confidence == 0 are dropped.
|
|
78
|
+
*/
|
|
79
|
+
export declare function rankCandidates(refs: SnapshotRef[], query: string, topK?: number): ObserveCandidate[];
|
|
80
|
+
//# sourceMappingURL=observe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../../src/browser/observe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC9C,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,+EAA+E;AAC/E,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAO5C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,WAAW,EAChB,WAAW,EAAE,MAAM,EAAE,GACpB;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAqExC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAKpE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,WAAW,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,SAAI,GACP,gBAAgB,EAAE,CAkBpB"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Observe — preview ranked candidate browser actions before executing.
|
|
3
|
+
*
|
|
4
|
+
* Modeled on Stagehand's `observe()` (packages/core/lib/v3/v3.ts:540): the
|
|
5
|
+
* caller asks "what should I click to do X?" and gets back a small ranked
|
|
6
|
+
* list of `{action, ref, selector, confidence}` candidates. The agent (or
|
|
7
|
+
* human) then commits with `unicli operate click <ref>`.
|
|
8
|
+
*
|
|
9
|
+
* Why a separate verb (vs. just clicking the first match)?
|
|
10
|
+
* 1. **Self-healing**: when a selector breaks, the next-best candidate
|
|
11
|
+
* is one ref away.
|
|
12
|
+
* 2. **Auditability**: the candidates list goes into a JSONL cache so
|
|
13
|
+
* future runs can compare against past candidates and detect drift.
|
|
14
|
+
* 3. **LLM grounding (future)**: the heuristic ranker is good for
|
|
15
|
+
* obvious cases; ambiguous queries can later route through an LLM.
|
|
16
|
+
*
|
|
17
|
+
* The ranker here is intentionally pure (no DOM access) so it can be
|
|
18
|
+
* unit-tested. The browser-side code is responsible for snapshotting and
|
|
19
|
+
* extracting the candidate list — this file scores it.
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Tokenize a query / label into lowercased word tokens. Strips most
|
|
23
|
+
* punctuation. Empty input returns []; the caller decides how to handle
|
|
24
|
+
* a no-tokens query (we treat it as "match nothing", which falls through
|
|
25
|
+
* to confidence 0).
|
|
26
|
+
*/
|
|
27
|
+
export function tokenize(s) {
|
|
28
|
+
if (!s)
|
|
29
|
+
return [];
|
|
30
|
+
return s
|
|
31
|
+
.toLowerCase()
|
|
32
|
+
.replace(/[^\w\u4e00-\u9fff\s]+/g, " ")
|
|
33
|
+
.split(/\s+/)
|
|
34
|
+
.filter((t) => t.length > 0);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Score a single candidate against the query tokens. Returns a number in
|
|
38
|
+
* 0..1 plus a short reason explaining the match strength.
|
|
39
|
+
*
|
|
40
|
+
* Scoring rules (additive, capped at 1):
|
|
41
|
+
* - Exact label match (case-insensitive) → 0.95
|
|
42
|
+
* - All query tokens present in label → 0.85
|
|
43
|
+
* - Some query tokens present in label → 0.4 + (matched/total) * 0.4
|
|
44
|
+
* - Query token matches the tag (e.g. "button") → +0.15
|
|
45
|
+
* - Query token matches the role attribute → +0.10
|
|
46
|
+
*/
|
|
47
|
+
export function scoreCandidate(ref, queryTokens) {
|
|
48
|
+
if (queryTokens.length === 0)
|
|
49
|
+
return { confidence: 0, reason: "no query tokens" };
|
|
50
|
+
const labelTokens = tokenize(ref.text);
|
|
51
|
+
const labelStr = ref.text.toLowerCase().trim();
|
|
52
|
+
const queryStr = queryTokens.join(" ");
|
|
53
|
+
let confidence = 0;
|
|
54
|
+
const reasons = [];
|
|
55
|
+
// Exact match wins outright
|
|
56
|
+
if (labelStr && labelStr === queryStr) {
|
|
57
|
+
return { confidence: 0.95, reason: "exact label match" };
|
|
58
|
+
}
|
|
59
|
+
// All query tokens in label.
|
|
60
|
+
//
|
|
61
|
+
// Substring matching is only allowed for query tokens with length >= 3,
|
|
62
|
+
// otherwise short tokens like "on" produce false positives against any
|
|
63
|
+
// label containing "continue", "cancel", or similar. Short tokens fall
|
|
64
|
+
// back to exact equality, which is the strictest possible match.
|
|
65
|
+
const matched = queryTokens.filter((q) => {
|
|
66
|
+
if (q.length < 3) {
|
|
67
|
+
return labelTokens.some((l) => l === q);
|
|
68
|
+
}
|
|
69
|
+
return labelTokens.some((l) => l === q || l.includes(q) || (l.length >= 3 && q.includes(l)));
|
|
70
|
+
});
|
|
71
|
+
const ratio = matched.length / queryTokens.length;
|
|
72
|
+
if (ratio === 1 && queryTokens.length > 0) {
|
|
73
|
+
confidence = 0.85;
|
|
74
|
+
reasons.push("all query tokens in label");
|
|
75
|
+
}
|
|
76
|
+
else if (ratio > 0) {
|
|
77
|
+
confidence = 0.4 + ratio * 0.4;
|
|
78
|
+
reasons.push(`${matched.length}/${queryTokens.length} tokens in label`);
|
|
79
|
+
}
|
|
80
|
+
// Tag bonus — "button submit" boosts <button>
|
|
81
|
+
if (queryTokens.includes(ref.tag.toLowerCase())) {
|
|
82
|
+
confidence += 0.15;
|
|
83
|
+
reasons.push(`tag=${ref.tag}`);
|
|
84
|
+
}
|
|
85
|
+
// Role attr bonus
|
|
86
|
+
const role = ref.attrs?.role;
|
|
87
|
+
if (role && queryTokens.includes(role.toLowerCase())) {
|
|
88
|
+
confidence += 0.1;
|
|
89
|
+
reasons.push(`role=${role}`);
|
|
90
|
+
}
|
|
91
|
+
// Aria-label bonus — treat as label fallback
|
|
92
|
+
const aria = ref.attrs?.["aria-label"];
|
|
93
|
+
if (aria) {
|
|
94
|
+
const ariaTokens = tokenize(aria);
|
|
95
|
+
const ariaMatched = queryTokens.filter((q) => ariaTokens.includes(q));
|
|
96
|
+
if (ariaMatched.length > 0) {
|
|
97
|
+
confidence += 0.1;
|
|
98
|
+
reasons.push("aria-label match");
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (confidence > 1)
|
|
102
|
+
confidence = 1;
|
|
103
|
+
return {
|
|
104
|
+
confidence,
|
|
105
|
+
reason: reasons.length > 0 ? reasons.join(", ") : "no signal",
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Pick the action verb based on tag. Inputs and textareas get `type`;
|
|
110
|
+
* selects get `select`; everything else gets `click`.
|
|
111
|
+
*/
|
|
112
|
+
export function actionForTag(tag) {
|
|
113
|
+
const t = tag.toLowerCase();
|
|
114
|
+
if (t === "input" || t === "textarea")
|
|
115
|
+
return "type";
|
|
116
|
+
if (t === "select")
|
|
117
|
+
return "select";
|
|
118
|
+
return "click";
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Score every snapshot ref against the query and return top-K.
|
|
122
|
+
* Candidates with confidence == 0 are dropped.
|
|
123
|
+
*/
|
|
124
|
+
export function rankCandidates(refs, query, topK = 5) {
|
|
125
|
+
const queryTokens = tokenize(query);
|
|
126
|
+
const scored = [];
|
|
127
|
+
for (const ref of refs) {
|
|
128
|
+
const { confidence, reason } = scoreCandidate(ref, queryTokens);
|
|
129
|
+
if (confidence <= 0)
|
|
130
|
+
continue;
|
|
131
|
+
scored.push({
|
|
132
|
+
action: actionForTag(ref.tag),
|
|
133
|
+
ref: ref.ref,
|
|
134
|
+
selector: `[data-unicli-ref="${ref.ref}"]`,
|
|
135
|
+
tag: ref.tag,
|
|
136
|
+
label: ref.text || ref.attrs?.["aria-label"] || `<${ref.tag}>`,
|
|
137
|
+
confidence: Number(confidence.toFixed(3)),
|
|
138
|
+
reason,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
scored.sort((a, b) => b.confidence - a.confidence);
|
|
142
|
+
return scored.slice(0, topK);
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=observe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../../src/browser/observe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/browser/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/browser/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,MAAM,CA+MjE"}
|
package/dist/browser/snapshot.js
CHANGED
|
@@ -64,17 +64,29 @@ export function generateSnapshotJs(opts) {
|
|
|
64
64
|
return '(' + up.toFixed(1) + '\\u2191 ' + down.toFixed(1) + '\\u2193)';
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
|
|
68
|
-
const keep = [];
|
|
69
|
-
const tag = el.tagName.toLowerCase();
|
|
70
|
-
const attrNames = ['type', 'name', 'value', 'placeholder', 'href', 'role',
|
|
67
|
+
const ATTR_NAMES = ['type', 'name', 'value', 'placeholder', 'href', 'role',
|
|
71
68
|
'aria-label', 'aria-expanded', 'aria-checked', 'disabled',
|
|
72
69
|
'readonly', 'required', 'checked', 'selected'];
|
|
73
|
-
|
|
70
|
+
|
|
71
|
+
/** Build the { k: v } bag consumed by \`unicli operate observe\`. */
|
|
72
|
+
function collectAttrs(el) {
|
|
73
|
+
const bag = {};
|
|
74
|
+
for (const a of ATTR_NAMES) {
|
|
74
75
|
if (el.hasAttribute(a)) {
|
|
75
|
-
let val = el.getAttribute(a);
|
|
76
|
-
if (a === 'href' && val
|
|
77
|
-
|
|
76
|
+
let val = el.getAttribute(a) || '';
|
|
77
|
+
if (a === 'href' && val.length > 80) val = val.slice(0, 77) + '...';
|
|
78
|
+
bag[a] = val;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return bag;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function getAttrs(el) {
|
|
85
|
+
const bag = collectAttrs(el);
|
|
86
|
+
const keep = [];
|
|
87
|
+
for (const a of ATTR_NAMES) {
|
|
88
|
+
if (a in bag) {
|
|
89
|
+
keep.push(a + '="' + bag[a].replace(/"/g, '"') + '"');
|
|
78
90
|
}
|
|
79
91
|
}
|
|
80
92
|
return keep.length ? ' ' + keep.join(' ') : '';
|
|
@@ -131,7 +143,15 @@ export function generateSnapshotJs(opts) {
|
|
|
131
143
|
if (interactive) {
|
|
132
144
|
const ref = ++refCounter;
|
|
133
145
|
el.setAttribute('data-unicli-ref', String(ref));
|
|
134
|
-
|
|
146
|
+
// Refs carry the attribute bag so \`unicli operate observe\` can match
|
|
147
|
+
// role, aria-label, placeholder, etc. without re-parsing the rendered
|
|
148
|
+
// tree string. See src/browser/observe.ts scoreCandidate().
|
|
149
|
+
refs.push({
|
|
150
|
+
ref,
|
|
151
|
+
tag: tag.toLowerCase(),
|
|
152
|
+
text: textContent(el).slice(0, 50),
|
|
153
|
+
attrs: collectAttrs(el),
|
|
154
|
+
});
|
|
135
155
|
line += '[' + ref + ']';
|
|
136
156
|
}
|
|
137
157
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/browser/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAsB;IACvD,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,KAAK,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC;IAE/B,0EAA0E;IAC1E,OAAO;wBACe,WAAW,KAAK,IAAI;oBACxB,OAAO,KAAK,IAAI;sBACd,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC3E,GAAG,KAAK,IAAI
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/browser/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAsB;IACvD,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,KAAK,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC;IAE/B,0EAA0E;IAC1E,OAAO;wBACe,WAAW,KAAK,IAAI;oBACxB,OAAO,KAAK,IAAI;sBACd,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC3E,GAAG,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmMvB,CAAC;AACN,CAAC"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoCpC,wBAAsB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CA2hBlD"}
|
package/dist/cli.js
CHANGED
|
@@ -25,6 +25,11 @@ import { registerGenerateCommand } from "./commands/generate.js";
|
|
|
25
25
|
import { registerHealthCommand } from "./commands/health.js";
|
|
26
26
|
import { registerAgentsCommand } from "./commands/agents.js";
|
|
27
27
|
import { registerRepairCommand } from "./commands/repair.js";
|
|
28
|
+
import { registerSkillsCommand } from "./commands/skills.js";
|
|
29
|
+
import { registerUsageCommands } from "./commands/usage.js";
|
|
30
|
+
import { registerMcpCommand } from "./commands/mcp.js";
|
|
31
|
+
import { registerEvalCommand } from "./commands/eval.js";
|
|
32
|
+
import { recordUsage } from "./runtime/usage-ledger.js";
|
|
28
33
|
import { emitHook } from "./hooks.js";
|
|
29
34
|
import { checkForUpdates } from "./engine/update-check.js";
|
|
30
35
|
export async function createCli() {
|
|
@@ -33,7 +38,7 @@ export async function createCli() {
|
|
|
33
38
|
checkForUpdates();
|
|
34
39
|
program
|
|
35
40
|
.name("unicli")
|
|
36
|
-
.description("
|
|
41
|
+
.description("The universal interface between AI agents and the world's software")
|
|
37
42
|
.version(VERSION)
|
|
38
43
|
.option("-f, --format <format>", "output format: table, json, yaml, csv, md")
|
|
39
44
|
.option("-v, --verbose", "show pipeline debug steps");
|
|
@@ -192,6 +197,14 @@ export async function createCli() {
|
|
|
192
197
|
await emitHook("onStartup", { command: "__startup__", args: {} });
|
|
193
198
|
// Register repair command — self-repair broken adapters using AI
|
|
194
199
|
registerRepairCommand(program);
|
|
200
|
+
// Register skills command — export adapter SKILL.md files for agent registries
|
|
201
|
+
registerSkillsCommand(program);
|
|
202
|
+
// Register usage command — read the per-call cost ledger
|
|
203
|
+
registerUsageCommands(program);
|
|
204
|
+
// Register mcp command — MCP gateway server + health check
|
|
205
|
+
registerMcpCommand(program);
|
|
206
|
+
// Register eval command — declarative regression suites
|
|
207
|
+
registerEvalCommand(program);
|
|
195
208
|
// Register "test" command — run all commands for a site
|
|
196
209
|
program
|
|
197
210
|
.command("test [site]")
|
|
@@ -282,6 +295,7 @@ export async function createCli() {
|
|
|
282
295
|
}
|
|
283
296
|
}
|
|
284
297
|
subCmd.action(async (...actionArgs) => {
|
|
298
|
+
const startedAt = Date.now();
|
|
285
299
|
// Commander passes positional args first, then opts object, then Command
|
|
286
300
|
const opts = actionArgs[actionArgs.length - 2];
|
|
287
301
|
const positionals = actionArgs.slice(0, actionArgs.length - 2);
|
|
@@ -340,9 +354,28 @@ export async function createCli() {
|
|
|
340
354
|
else {
|
|
341
355
|
console.log(chalk.dim("No results"));
|
|
342
356
|
}
|
|
357
|
+
recordUsage({
|
|
358
|
+
site: adapter.name,
|
|
359
|
+
cmd: cmdName,
|
|
360
|
+
strategy: adapter.strategy ?? "unknown",
|
|
361
|
+
tokens: 0,
|
|
362
|
+
ms: Date.now() - startedAt,
|
|
363
|
+
bytes: 0,
|
|
364
|
+
exit: ExitCode.EMPTY_RESULT,
|
|
365
|
+
});
|
|
343
366
|
process.exit(ExitCode.EMPTY_RESULT);
|
|
344
367
|
}
|
|
345
|
-
|
|
368
|
+
const rendered = format(results, cmd.columns, fmt);
|
|
369
|
+
console.log(rendered);
|
|
370
|
+
recordUsage({
|
|
371
|
+
site: adapter.name,
|
|
372
|
+
cmd: cmdName,
|
|
373
|
+
strategy: adapter.strategy ?? "unknown",
|
|
374
|
+
tokens: 0,
|
|
375
|
+
ms: Date.now() - startedAt,
|
|
376
|
+
bytes: Buffer.byteLength(rendered, "utf-8"),
|
|
377
|
+
exit: ExitCode.SUCCESS,
|
|
378
|
+
});
|
|
346
379
|
}
|
|
347
380
|
catch (err) {
|
|
348
381
|
if (err instanceof PipelineError) {
|
|
@@ -363,6 +396,15 @@ export async function createCli() {
|
|
|
363
396
|
: agentError.errorType === "empty_result"
|
|
364
397
|
? ExitCode.EMPTY_RESULT
|
|
365
398
|
: ExitCode.GENERIC_ERROR;
|
|
399
|
+
recordUsage({
|
|
400
|
+
site: adapter.name,
|
|
401
|
+
cmd: cmdName,
|
|
402
|
+
strategy: adapter.strategy ?? "unknown",
|
|
403
|
+
tokens: 0,
|
|
404
|
+
ms: Date.now() - startedAt,
|
|
405
|
+
bytes: 0,
|
|
406
|
+
exit: exitCode,
|
|
407
|
+
});
|
|
366
408
|
process.exit(exitCode);
|
|
367
409
|
}
|
|
368
410
|
const message = err instanceof Error ? err.message : String(err);
|
|
@@ -372,6 +414,15 @@ export async function createCli() {
|
|
|
372
414
|
else {
|
|
373
415
|
console.error(chalk.red(`Error: ${message}`));
|
|
374
416
|
}
|
|
417
|
+
recordUsage({
|
|
418
|
+
site: adapter.name,
|
|
419
|
+
cmd: cmdName,
|
|
420
|
+
strategy: adapter.strategy ?? "unknown",
|
|
421
|
+
tokens: 0,
|
|
422
|
+
ms: Date.now() - startedAt,
|
|
423
|
+
bytes: 0,
|
|
424
|
+
exit: ExitCode.GENERIC_ERROR,
|
|
425
|
+
});
|
|
375
426
|
process.exit(ExitCode.GENERIC_ERROR);
|
|
376
427
|
}
|
|
377
428
|
});
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|