@weavetab/skills 2.5.0-beta.4 → 2.5.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/README.md +16 -16
- package/bin/cli.js +17 -17
- package/browser/dom-strategy.md +1 -1
- package/browser/form-automation.md +1 -1
- package/browser/interaction-pipeline.md +1 -1
- package/browser/tab-and-window.md +1 -1
- package/desktop/desktop-targeting.md +1 -1
- package/desktop/electron-discovery.md +1 -1
- package/developer/github-forensics.md +1 -1
- package/dist/bundled/weavetab-all.md +1704 -1699
- package/dist/bundled/weavetab-browser.md +1 -1
- package/dist/bundled/weavetab-desktop.md +1 -1
- package/dist/bundled/weavetab-developer.md +1 -1
- package/dist/bundled/weavetab-documents.md +1 -1
- package/dist/bundled/weavetab-memory.md +182 -182
- package/dist/bundled/weavetab-network-and-perf.md +2 -2
- package/dist/bundled/weavetab-plugins.md +37 -32
- package/dist/bundled/weavetab-resilience.md +1 -1
- package/dist/bundled/weavetab-security.md +1 -1
- package/dist/granular/browser_dom-strategy.md +1 -1
- package/dist/granular/browser_form-automation.md +1 -1
- package/dist/granular/browser_interaction-pipeline.md +1 -1
- package/dist/granular/browser_tab-and-window.md +1 -1
- package/dist/granular/desktop_desktop-targeting.md +1 -1
- package/dist/granular/desktop_electron-discovery.md +1 -1
- package/dist/granular/developer_github-forensics.md +1 -1
- package/dist/granular/documents_canvas-and-visual-capture.md +1 -1
- package/dist/granular/documents_office-document-ingestion.md +1 -1
- package/dist/granular/memory_selector-memory-system.md +1 -1
- package/dist/granular/memory_session-trail.md +2 -2
- package/dist/granular/memory_site-learning.md +1 -1
- package/dist/granular/network-and-perf_device-and-environment.md +1 -1
- package/dist/granular/network-and-perf_network-intercept-and-mock.md +2 -2
- package/dist/granular/network-and-perf_performance-and-vitals.md +1 -1
- package/dist/granular/plugins_hooks-and-overrides.md +2 -3
- package/dist/granular/plugins_plugin-runtime.md +41 -38
- package/dist/granular/resilience_loop-breaker.md +1 -1
- package/dist/granular/resilience_session-time-travel.md +1 -1
- package/dist/granular/resilience_stale-ref-recovery.md +1 -1
- package/dist/granular/security_rbac-and-policies.md +1 -1
- package/dist/granular/security_secret-containment-protocol.md +1 -1
- package/documents/canvas-and-visual-capture.md +1 -1
- package/documents/office-document-ingestion.md +1 -1
- package/evals/evaluator.js +2 -2
- package/evals/scenarios.json +8 -7
- package/memory/selector-memory-system.md +1 -1
- package/memory/session-trail.md +2 -2
- package/memory/site-learning.md +1 -1
- package/network-and-perf/device-and-environment.md +1 -1
- package/network-and-perf/network-intercept-and-mock.md +2 -2
- package/network-and-perf/performance-and-vitals.md +1 -1
- package/package.json +2 -2
- package/plugins/hooks-and-overrides.md +2 -3
- package/plugins/plugin-runtime.md +41 -38
- package/resilience/loop-breaker.md +1 -1
- package/resilience/session-time-travel.md +1 -1
- package/resilience/stale-ref-recovery.md +1 -1
- package/security/rbac-and-policies.md +1 -1
- package/security/secret-containment-protocol.md +1 -1
- package/skills.json +30 -35
|
@@ -1,196 +1,196 @@
|
|
|
1
1
|
# Weavetab Domain Profile: MEMORY
|
|
2
2
|
|
|
3
|
-
Generated for @weavetab/skills v2.5.0-beta.
|
|
3
|
+
Generated for @weavetab/skills v2.5.0-beta.5
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
## selector-memory-system
|
|
7
7
|
|
|
8
|
-
# Two-Tier Memory System
|
|
9
|
-
|
|
10
|
-
Weavetab operates a two-tier persistent memory system. Understanding both layers prevents wasted DOM traversals and makes agents dramatically faster across sessions.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Tier 1 — Selector Confidence Cache (`~/.weavetab-system/memory/`)
|
|
15
|
-
|
|
16
|
-
Per-domain JSON files (one per hostname) track individual element selectors and their interaction history.
|
|
17
|
-
|
|
18
|
-
Every time an element is located and interacted with, Weavetab calculates a confidence score based on:
|
|
19
|
-
1. **Attribute Stability**: Prefers `data-testid`, `id`, `aria-label`, and semantic roles over dynamic Tailwind/CSS-module class strings.
|
|
20
|
-
2. **Success Count**: Selectors that successfully trigger navigation or state changes gain reinforcement.
|
|
21
|
-
3. **Origin Isolation**: Learned selectors are strictly namespaced to the origin to prevent cross-site contamination.
|
|
22
|
-
|
|
23
|
-
### Strike Degradation
|
|
24
|
-
- **Strike 1**: Marked as degraded — falls back to secondary candidates or fuzzy label match.
|
|
25
|
-
- **Strike 2**: Deprecated — immediate fallback to full DOM inspection via `browser_find` or `browser_map`.
|
|
26
|
-
- **Strike 3**: Purged from memory cache to prevent stale lookups.
|
|
27
|
-
|
|
28
|
-
### Agent Discipline for Tier 1
|
|
29
|
-
1. **Rely on Native Tool Resolution**: When you pass a `ref`, Weavetab queries both the active volatile registry and the Tier 1 memory cache automatically.
|
|
30
|
-
2. **Don't Hardcode Fragile Selectors**: Never pass brittle absolute CSS paths like `div:nth-child(3) > ul > li:nth-child(2) > button`.
|
|
31
|
-
3. **Trust Heuristic Recovery**: If a button moves slightly on the page, the underlying engine re-anchors before reporting failure.
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## Tier 2 — Site Profiles & Workflow Patterns (`~/.weavetab-system/memory/sites/`)
|
|
36
|
-
|
|
37
|
-
One JSON file per origin stores named multi-step workflow patterns, site quirks, and reliability scores. This is the **Intelligent Memory** layer — agents learn entire flows, not just individual selectors.
|
|
38
|
-
|
|
39
|
-
### Checking a Site Profile at Session Start
|
|
40
|
-
Always call `browser_pattern_learn` with `action: "get"` when starting an automation session on a site you may have visited before:
|
|
41
|
-
|
|
42
|
-
```json
|
|
43
|
-
{ "origin": "https://github.com" }
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Response tells you:
|
|
47
|
-
- `known_patterns`: named flows with reliability scores and step counts
|
|
48
|
-
- `quirks`: known cookie banners, rate limits, modal popups to handle automatically
|
|
49
|
-
- `framework`: detected frontend stack
|
|
50
|
-
- `_hint`: compact hint string summarizing everything
|
|
51
|
-
|
|
52
|
-
### Fast-Path Decision Rule
|
|
53
|
-
| Reliability | Action |
|
|
54
|
-
|---|---|
|
|
55
|
-
| **≥ 0.8** | Use pattern steps directly via `browser_burst` — skip exploratory navigation |
|
|
56
|
-
| **0.5 – 0.79** | Attempt pattern but verify success indicator before moving on |
|
|
57
|
-
| **< 0.5 or strikes ≥ 3** | Ignore pattern, re-explore from scratch, then teach via `browser_pattern_learn` |
|
|
58
|
-
|
|
59
|
-
### Teaching a New Pattern After Completing a Workflow
|
|
60
|
-
After successfully completing a multi-step flow:
|
|
61
|
-
|
|
62
|
-
```json
|
|
63
|
-
{
|
|
64
|
-
"origin": "https://github.com",
|
|
65
|
-
"action": "learn",
|
|
66
|
-
"name": "login_flow",
|
|
67
|
-
"steps": [
|
|
68
|
-
{ "tool": "browser_click", "target": ".btn-login" },
|
|
69
|
-
{ "tool": "browser_fill", "target": "#login_field", "value": "{{username}}" },
|
|
70
|
-
{ "tool": "browser_fill", "target": "#password", "value": "{{password}}" },
|
|
71
|
-
{ "tool": "browser_click", "target": "[type=submit]" }
|
|
72
|
-
],
|
|
73
|
-
"success_indicator": "a[aria-label='Homepage']"
|
|
74
|
-
}
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### Recording Execution Outcomes (Reliability Upkeep)
|
|
78
|
-
After replaying a pattern, always report the outcome:
|
|
79
|
-
|
|
80
|
-
```json
|
|
81
|
-
{
|
|
82
|
-
"origin": "https://github.com",
|
|
83
|
-
"action": "record_execution",
|
|
84
|
-
"name": "login_flow",
|
|
85
|
-
"success": true,
|
|
86
|
-
"duration_ms": 3200
|
|
87
|
-
}
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
### Recording Site Quirks
|
|
91
|
-
When you discover a cookie banner or rate limit:
|
|
92
|
-
|
|
93
|
-
```json
|
|
94
|
-
{
|
|
95
|
-
"origin": "https://github.com",
|
|
96
|
-
"action": "record_quirk",
|
|
97
|
-
"quirk_key": "cookie_banner",
|
|
98
|
-
"quirk_data": { "selector": "#cookie-consent", "action": "click .accept-all", "appears": "first_visit" }
|
|
99
|
-
}
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
On future visits, the quirk is present in the profile so you can dismiss banners before starting your main workflow — zero wasted agent turns.
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## File Locations (Never Write to ~/.weavetab/)
|
|
107
|
-
|
|
108
|
-
| Tier | Path | Owner |
|
|
109
|
-
|---|---|---|
|
|
110
|
-
| Tier 1 selectors | `~/.weavetab-system/memory/<hostname>.json` | Engine (auto) |
|
|
111
|
-
| Tier 2 site profiles | `~/.weavetab-system/memory/sites/<origin>.json` | Engine via `browser_pattern_learn` |
|
|
112
|
-
| Knowledge hints | `~/.weavetab-system/knowledge/<hostname>.md` | Engine (auto, 20-token notes) |
|
|
8
|
+
# Two-Tier Memory System
|
|
9
|
+
|
|
10
|
+
Weavetab operates a two-tier persistent memory system. Understanding both layers prevents wasted DOM traversals and makes agents dramatically faster across sessions.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Tier 1 — Selector Confidence Cache (`~/.weavetab-system/memory/`)
|
|
15
|
+
|
|
16
|
+
Per-domain JSON files (one per hostname) track individual element selectors and their interaction history.
|
|
17
|
+
|
|
18
|
+
Every time an element is located and interacted with, Weavetab calculates a confidence score based on:
|
|
19
|
+
1. **Attribute Stability**: Prefers `data-testid`, `id`, `aria-label`, and semantic roles over dynamic Tailwind/CSS-module class strings.
|
|
20
|
+
2. **Success Count**: Selectors that successfully trigger navigation or state changes gain reinforcement.
|
|
21
|
+
3. **Origin Isolation**: Learned selectors are strictly namespaced to the origin to prevent cross-site contamination.
|
|
22
|
+
|
|
23
|
+
### Strike Degradation
|
|
24
|
+
- **Strike 1**: Marked as degraded — falls back to secondary candidates or fuzzy label match.
|
|
25
|
+
- **Strike 2**: Deprecated — immediate fallback to full DOM inspection via `browser_find` or `browser_map`.
|
|
26
|
+
- **Strike 3**: Purged from memory cache to prevent stale lookups.
|
|
27
|
+
|
|
28
|
+
### Agent Discipline for Tier 1
|
|
29
|
+
1. **Rely on Native Tool Resolution**: When you pass a `ref`, Weavetab queries both the active volatile registry and the Tier 1 memory cache automatically.
|
|
30
|
+
2. **Don't Hardcode Fragile Selectors**: Never pass brittle absolute CSS paths like `div:nth-child(3) > ul > li:nth-child(2) > button`.
|
|
31
|
+
3. **Trust Heuristic Recovery**: If a button moves slightly on the page, the underlying engine re-anchors before reporting failure.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Tier 2 — Site Profiles & Workflow Patterns (`~/.weavetab-system/memory/sites/`)
|
|
36
|
+
|
|
37
|
+
One JSON file per origin stores named multi-step workflow patterns, site quirks, and reliability scores. This is the **Intelligent Memory** layer — agents learn entire flows, not just individual selectors.
|
|
38
|
+
|
|
39
|
+
### Checking a Site Profile at Session Start
|
|
40
|
+
Always call `browser_pattern_learn` with `action: "get"` when starting an automation session on a site you may have visited before:
|
|
41
|
+
|
|
42
|
+
```json
|
|
43
|
+
{ "origin": "https://github.com" }
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Response tells you:
|
|
47
|
+
- `known_patterns`: named flows with reliability scores and step counts
|
|
48
|
+
- `quirks`: known cookie banners, rate limits, modal popups to handle automatically
|
|
49
|
+
- `framework`: detected frontend stack
|
|
50
|
+
- `_hint`: compact hint string summarizing everything
|
|
51
|
+
|
|
52
|
+
### Fast-Path Decision Rule
|
|
53
|
+
| Reliability | Action |
|
|
54
|
+
|---|---|
|
|
55
|
+
| **≥ 0.8** | Use pattern steps directly via `browser_burst` — skip exploratory navigation |
|
|
56
|
+
| **0.5 – 0.79** | Attempt pattern but verify success indicator before moving on |
|
|
57
|
+
| **< 0.5 or strikes ≥ 3** | Ignore pattern, re-explore from scratch, then teach via `browser_pattern_learn` |
|
|
58
|
+
|
|
59
|
+
### Teaching a New Pattern After Completing a Workflow
|
|
60
|
+
After successfully completing a multi-step flow:
|
|
61
|
+
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"origin": "https://github.com",
|
|
65
|
+
"action": "learn",
|
|
66
|
+
"name": "login_flow",
|
|
67
|
+
"steps": [
|
|
68
|
+
{ "tool": "browser_click", "target": ".btn-login" },
|
|
69
|
+
{ "tool": "browser_fill", "target": "#login_field", "value": "{{username}}" },
|
|
70
|
+
{ "tool": "browser_fill", "target": "#password", "value": "{{password}}" },
|
|
71
|
+
{ "tool": "browser_click", "target": "[type=submit]" }
|
|
72
|
+
],
|
|
73
|
+
"success_indicator": "a[aria-label='Homepage']"
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Recording Execution Outcomes (Reliability Upkeep)
|
|
78
|
+
After replaying a pattern, always report the outcome:
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"origin": "https://github.com",
|
|
83
|
+
"action": "record_execution",
|
|
84
|
+
"name": "login_flow",
|
|
85
|
+
"success": true,
|
|
86
|
+
"duration_ms": 3200
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Recording Site Quirks
|
|
91
|
+
When you discover a cookie banner or rate limit:
|
|
92
|
+
|
|
93
|
+
```json
|
|
94
|
+
{
|
|
95
|
+
"origin": "https://github.com",
|
|
96
|
+
"action": "record_quirk",
|
|
97
|
+
"quirk_key": "cookie_banner",
|
|
98
|
+
"quirk_data": { "selector": "#cookie-consent", "action": "click .accept-all", "appears": "first_visit" }
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
On future visits, the quirk is present in the profile so you can dismiss banners before starting your main workflow — zero wasted agent turns.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## File Locations (Never Write to ~/.weavetab/)
|
|
107
|
+
|
|
108
|
+
| Tier | Path | Owner |
|
|
109
|
+
|---|---|---|
|
|
110
|
+
| Tier 1 selectors | `~/.weavetab-system/memory/<hostname>.json` | Engine (auto) |
|
|
111
|
+
| Tier 2 site profiles | `~/.weavetab-system/memory/sites/<origin>.json` | Engine via `browser_pattern_learn` |
|
|
112
|
+
| Knowledge hints | `~/.weavetab-system/knowledge/<hostname>.md` | Engine (auto, 20-token notes) |
|
|
113
113
|
| User config | `~/.weavetab/config.json` | Human — never written by agents |
|
|
114
114
|
|
|
115
115
|
|
|
116
116
|
## session-trail
|
|
117
117
|
|
|
118
|
-
# Session Trails & Deterministic Macro Compilation
|
|
119
|
-
|
|
120
|
-
When an agent executes an exploratory workflow (e.g. logging into a dashboard, navigating to analytics, setting date filters, and downloading a CSV), re-running that flow autonomously in the future should not require 15 reasoning steps.
|
|
121
|
-
|
|
122
|
-
`browser_burst` with `compile_from_history: true` automatically converts recent successful session actions into a high-performance, deterministic execution script.
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
## 1. Compiling and Replaying Recent Actions (`browser_burst`)
|
|
127
|
-
|
|
128
|
-
Replay recent successful actions directly in a single turn:
|
|
129
|
-
|
|
130
|
-
```json
|
|
131
|
-
{
|
|
132
|
-
"compile_from_history": true
|
|
133
|
-
}
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
Or pass `dry_run: true` to inspect the compiled macro steps before running them:
|
|
137
|
-
|
|
138
|
-
```json
|
|
139
|
-
{
|
|
140
|
-
"compile_from_history": true,
|
|
141
|
-
"dry_run": true,
|
|
142
|
-
"history_limit": 15
|
|
143
|
-
}
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### Response Example:
|
|
147
|
-
```json
|
|
148
|
-
{
|
|
149
|
-
"success": true,
|
|
150
|
-
"steps_completed": 0,
|
|
151
|
-
"compiled_steps": [
|
|
152
|
-
{ "tool": "
|
|
153
|
-
{ "tool": "browser_fill", "args": { "ref": "w:12", "value": "metrics" } },
|
|
154
|
-
{ "tool": "click_and_wait", "args": { "ref": "w:15" } }
|
|
155
|
-
],
|
|
156
|
-
"message": "compiled 3 macro steps from history"
|
|
157
|
-
}
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
---
|
|
161
|
-
|
|
162
|
-
## 2. Parameterizing Variable Inputs
|
|
163
|
-
|
|
164
|
-
When `"parameterizeInputs": true` is passed:
|
|
165
|
-
- Text inputs and dates entered during the exploratory session are replaced with named parameters.
|
|
166
|
-
- Secrets entered via `browser_type_secret` are never hardcoded; they are replaced with environment variable or secret lookups.
|
|
167
|
-
|
|
168
|
-
---
|
|
169
|
-
|
|
170
|
-
## 3. Replaying Compiled Automations
|
|
171
|
-
|
|
172
|
-
Compiled macros can be executed in sub-second time without LLM inference overhead using `browser_automation`:
|
|
173
|
-
|
|
174
|
-
```json
|
|
175
|
-
{
|
|
176
|
-
"macroId": "macro_8f7b2c",
|
|
177
|
-
"parameters": {
|
|
178
|
-
"startDate": "2026-09-01",
|
|
179
|
-
"endDate": "2026-09-03"
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
---
|
|
185
|
-
|
|
186
|
-
## 4. Emitting Operational Thoughts (`browser_thoughts`)
|
|
187
|
-
|
|
188
|
-
Log agent rationale and internal reasoning directly to the Weavetab HUD and telemetry stream without bloating user chat responses:
|
|
189
|
-
|
|
190
|
-
```json
|
|
191
|
-
{
|
|
192
|
-
"thought": "Detected dynamic React hydration delay. Holding interaction until DOM mutation settles."
|
|
193
|
-
}
|
|
118
|
+
# Session Trails & Deterministic Macro Compilation
|
|
119
|
+
|
|
120
|
+
When an agent executes an exploratory workflow (e.g. logging into a dashboard, navigating to analytics, setting date filters, and downloading a CSV), re-running that flow autonomously in the future should not require 15 reasoning steps.
|
|
121
|
+
|
|
122
|
+
`browser_burst` with `compile_from_history: true` automatically converts recent successful session actions into a high-performance, deterministic execution script.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## 1. Compiling and Replaying Recent Actions (`browser_burst`)
|
|
127
|
+
|
|
128
|
+
Replay recent successful actions directly in a single turn:
|
|
129
|
+
|
|
130
|
+
```json
|
|
131
|
+
{
|
|
132
|
+
"compile_from_history": true
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Or pass `dry_run: true` to inspect the compiled macro steps before running them:
|
|
137
|
+
|
|
138
|
+
```json
|
|
139
|
+
{
|
|
140
|
+
"compile_from_history": true,
|
|
141
|
+
"dry_run": true,
|
|
142
|
+
"history_limit": 15
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Response Example:
|
|
147
|
+
```json
|
|
148
|
+
{
|
|
149
|
+
"success": true,
|
|
150
|
+
"steps_completed": 0,
|
|
151
|
+
"compiled_steps": [
|
|
152
|
+
{ "tool": "browser_navigate", "args": { "url": "https://analytics.example.com" } },
|
|
153
|
+
{ "tool": "browser_fill", "args": { "ref": "w:12", "value": "metrics" } },
|
|
154
|
+
{ "tool": "click_and_wait", "args": { "ref": "w:15" } }
|
|
155
|
+
],
|
|
156
|
+
"message": "compiled 3 macro steps from history"
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## 2. Parameterizing Variable Inputs
|
|
163
|
+
|
|
164
|
+
When `"parameterizeInputs": true` is passed:
|
|
165
|
+
- Text inputs and dates entered during the exploratory session are replaced with named parameters.
|
|
166
|
+
- Secrets entered via `browser_type_secret` are never hardcoded; they are replaced with environment variable or secret lookups.
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## 3. Replaying Compiled Automations
|
|
171
|
+
|
|
172
|
+
Compiled macros can be executed in sub-second time without LLM inference overhead using `browser_automation`:
|
|
173
|
+
|
|
174
|
+
```json
|
|
175
|
+
{
|
|
176
|
+
"macroId": "macro_8f7b2c",
|
|
177
|
+
"parameters": {
|
|
178
|
+
"startDate": "2026-09-01",
|
|
179
|
+
"endDate": "2026-09-03"
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## 4. Emitting Operational Thoughts (`browser_thoughts`)
|
|
187
|
+
|
|
188
|
+
Log agent rationale and internal reasoning directly to the Weavetab HUD and telemetry stream without bloating user chat responses:
|
|
189
|
+
|
|
190
|
+
```json
|
|
191
|
+
{
|
|
192
|
+
"thought": "Detected dynamic React hydration delay. Holding interaction until DOM mutation settles."
|
|
193
|
+
}
|
|
194
194
|
```
|
|
195
195
|
|
|
196
196
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Weavetab Domain Profile: NETWORK-AND-PERF
|
|
2
2
|
|
|
3
|
-
Generated for @weavetab/skills v2.5.0-beta.
|
|
3
|
+
Generated for @weavetab/skills v2.5.0-beta.5
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
## device-and-environment
|
|
@@ -129,7 +129,7 @@ Extract cryptographic handshake metadata, cipher suites, expiration dates, and m
|
|
|
129
129
|
```json
|
|
130
130
|
{
|
|
131
131
|
"action": "auditTls",
|
|
132
|
-
"url": "https://weavetab.
|
|
132
|
+
"url": "https://weavetab.dev"
|
|
133
133
|
}
|
|
134
134
|
```
|
|
135
135
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Weavetab Domain Profile: PLUGINS
|
|
2
2
|
|
|
3
|
-
Generated for @weavetab/skills v2.5.0-beta.
|
|
3
|
+
Generated for @weavetab/skills v2.5.0-beta.5
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
## hooks-and-overrides
|
|
@@ -31,48 +31,53 @@ When plugins are active, tool return payloads may include an optional `_pluginMe
|
|
|
31
31
|
|
|
32
32
|
## plugin-runtime
|
|
33
33
|
|
|
34
|
-
# Plugin Runtime:
|
|
34
|
+
# Plugin Runtime: Weavetab Plugin Architecture
|
|
35
35
|
|
|
36
|
-
Weavetab features an extensible plugin architecture powered by `@weavetab/sdk`.
|
|
36
|
+
Weavetab features an extensible plugin architecture powered by `@weavetab/sdk`. All installed plugins are loaded automatically at server startup — their tools appear directly in the MCP tool list alongside built-in tools. Agents never need to discover or activate plugins manually.
|
|
37
37
|
|
|
38
38
|
---
|
|
39
39
|
|
|
40
|
-
## 1.
|
|
40
|
+
## 1. How Plugin Tools Appear
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
Plugin tools are first-class MCP tools. If `@weavetab/plugin-recaptcha-solver` is installed, `captcha_solve_token` appears in the tool list immediately on startup — no discovery step needed.
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
```
|
|
44
|
+
There are **no** `list_plugins` or `load_plugin` tools. Managing plugins is a CLI operation:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# Install a plugin (restart required)
|
|
48
|
+
weavetab plugin add @weavetab/plugin-youtube
|
|
49
|
+
|
|
50
|
+
# Remove a plugin
|
|
51
|
+
weavetab plugin rm @weavetab/plugin-youtube
|
|
47
52
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
{
|
|
51
|
-
"plugins": [
|
|
52
|
-
{
|
|
53
|
-
"name": "@weavetab/plugin-recaptcha-solver",
|
|
54
|
-
"version": "1.2.0",
|
|
55
|
-
"status": "active",
|
|
56
|
-
"toolsProvided": ["captcha_solve_token"],
|
|
57
|
-
"hooks": ["beforeToolCall"]
|
|
58
|
-
}
|
|
59
|
-
]
|
|
60
|
-
}
|
|
53
|
+
# List installed plugins
|
|
54
|
+
weavetab plugin list
|
|
61
55
|
```
|
|
62
56
|
|
|
63
57
|
---
|
|
64
58
|
|
|
65
|
-
## 2.
|
|
59
|
+
## 2. Plugin Permission Model
|
|
66
60
|
|
|
67
|
-
|
|
61
|
+
Every plugin declares what it can do in `weavetab.json`. The runtime enforces this at load time:
|
|
68
62
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
63
|
+
| Permission | What it gates |
|
|
64
|
+
|---|---|
|
|
65
|
+
| `tools.add: true` | Plugin can register new MCP tools |
|
|
66
|
+
| `tools.override: ["browser_navigate"]` | Plugin can wrap/replace that built-in tool |
|
|
67
|
+
| `tools.remove: ["browser_pdf"]` | Plugin can disable that built-in tool |
|
|
68
|
+
| `hooks.onBeforeAction: true` | Plugin can intercept all tool calls before execution |
|
|
69
|
+
| `hooks.onAfterAction: true` | Plugin can inspect/transform all tool results |
|
|
70
|
+
|
|
71
|
+
Plugins that attempt to exceed their declared permissions are blocked with a stderr warning — they do not crash.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 3. Trust Tiers
|
|
76
|
+
|
|
77
|
+
| Tier | Badge | Condition |
|
|
78
|
+
|---|---|---|
|
|
79
|
+
| Official | `✚ [Official]` | `@weavetab/plugin-*` packages |
|
|
80
|
+
| Verified | `✔ [Verified]` | Listed in the Weavetab verified registry |
|
|
81
|
+
| Unverified | `⚠ [Unverified]` | Unknown community package |
|
|
74
82
|
|
|
75
|
-
|
|
76
|
-
- Plugins must implement the `@weavetab/sdk` standard interface.
|
|
77
|
-
- Loaded tools become immediately callable by the agent in subsequent turns.
|
|
78
|
-
- If an agent is in the `viewer` RBAC tier, `load_plugin` is rejected with `PERMISSION_DENIED`.
|
|
83
|
+
Unverified plugins are loaded but their permissions are logged visibly at startup for user review.
|