clawd-automaton 0.1.0 → 0.2.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/LICENSE +1 -1
- package/README.md +85 -129
- package/dist/__tests__/heartbeat.test.js +7 -7
- package/dist/__tests__/heartbeat.test.js.map +1 -1
- package/dist/__tests__/loop.test.js +15 -15
- package/dist/__tests__/loop.test.js.map +1 -1
- package/dist/__tests__/mocks.d.ts +2 -2
- package/dist/__tests__/mocks.d.ts.map +1 -1
- package/dist/__tests__/mocks.js +8 -8
- package/dist/__tests__/mocks.js.map +1 -1
- package/dist/agent/injection-defense.js +1 -1
- package/dist/agent/injection-defense.js.map +1 -1
- package/dist/agent/loop.d.ts +2 -3
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +9 -10
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/system-prompt.js +6 -6
- package/dist/agent/tools.d.ts.map +1 -1
- package/dist/agent/tools.js +60 -130
- package/dist/agent/tools.js.map +1 -1
- package/dist/automation/index.html +828 -0
- package/dist/automation/manifest.json +35 -0
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -5
- package/dist/config.js.map +1 -1
- package/dist/{clawd → conway}/backroom.d.ts +1 -1
- package/dist/conway/backroom.d.ts.map +1 -0
- package/dist/{clawd → conway}/backroom.js +1 -1
- package/dist/conway/backroom.js.map +1 -0
- package/dist/conway/client.d.ts +16 -0
- package/dist/conway/client.d.ts.map +1 -0
- package/dist/{clawd → conway}/client.js +9 -8
- package/dist/conway/client.js.map +1 -0
- package/dist/{clawd → conway}/credits.d.ts +3 -3
- package/dist/conway/credits.d.ts.map +1 -0
- package/dist/{clawd → conway}/credits.js +3 -3
- package/dist/conway/credits.js.map +1 -0
- package/dist/{clawd → conway}/deepseek-inference.d.ts +1 -1
- package/dist/conway/deepseek-inference.d.ts.map +1 -0
- package/dist/{clawd → conway}/deepseek-inference.js +1 -1
- package/dist/conway/deepseek-inference.js.map +1 -0
- package/dist/{clawd → conway}/inference.d.ts +3 -3
- package/dist/conway/inference.d.ts.map +1 -0
- package/dist/{clawd → conway}/inference.js +3 -3
- package/dist/conway/inference.js.map +1 -0
- package/dist/{clawd → conway}/x402.d.ts +1 -1
- package/dist/conway/x402.d.ts.map +1 -0
- package/dist/{clawd → conway}/x402.js +1 -1
- package/dist/conway/x402.js.map +1 -0
- package/dist/git/state-versioning.d.ts +8 -8
- package/dist/git/state-versioning.d.ts.map +1 -1
- package/dist/git/state-versioning.js +19 -19
- package/dist/git/state-versioning.js.map +1 -1
- package/dist/git/tools.d.ts +9 -9
- package/dist/git/tools.d.ts.map +1 -1
- package/dist/git/tools.js +17 -17
- package/dist/git/tools.js.map +1 -1
- package/dist/heartbeat/config.d.ts.map +1 -1
- package/dist/heartbeat/config.js +0 -6
- package/dist/heartbeat/config.js.map +1 -1
- package/dist/heartbeat/daemon.d.ts +2 -2
- package/dist/heartbeat/daemon.d.ts.map +1 -1
- package/dist/heartbeat/daemon.js +4 -4
- package/dist/heartbeat/daemon.js.map +1 -1
- package/dist/heartbeat/tasks.d.ts +2 -2
- package/dist/heartbeat/tasks.d.ts.map +1 -1
- package/dist/heartbeat/tasks.js +7 -68
- package/dist/heartbeat/tasks.js.map +1 -1
- package/dist/identity/provision.d.ts +3 -4
- package/dist/identity/provision.d.ts.map +1 -1
- package/dist/identity/provision.js +10 -10
- package/dist/identity/provision.js.map +1 -1
- package/dist/identity/wallet.d.ts +1 -1
- package/dist/identity/wallet.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +40 -75
- package/dist/index.js.map +1 -1
- package/dist/portal/generate.d.ts +5 -0
- package/dist/portal/generate.d.ts.map +1 -0
- package/dist/portal/generate.js +940 -0
- package/dist/portal/generate.js.map +1 -0
- package/dist/registry/agent-card.d.ts +3 -3
- package/dist/registry/agent-card.d.ts.map +1 -1
- package/dist/registry/agent-card.js +10 -10
- package/dist/registry/agent-card.js.map +1 -1
- package/dist/replication/lineage.d.ts +2 -2
- package/dist/replication/lineage.d.ts.map +1 -1
- package/dist/replication/lineage.js +2 -2
- package/dist/replication/lineage.js.map +1 -1
- package/dist/replication/spawn.d.ts +7 -7
- package/dist/replication/spawn.d.ts.map +1 -1
- package/dist/replication/spawn.js +23 -23
- package/dist/replication/spawn.js.map +1 -1
- package/dist/self-mod/code.d.ts +2 -2
- package/dist/self-mod/code.d.ts.map +1 -1
- package/dist/self-mod/code.js +5 -5
- package/dist/self-mod/code.js.map +1 -1
- package/dist/self-mod/tools-manager.d.ts +3 -3
- package/dist/self-mod/tools-manager.d.ts.map +1 -1
- package/dist/self-mod/tools-manager.js +3 -3
- package/dist/self-mod/tools-manager.js.map +1 -1
- package/dist/setup/banner.js +12 -12
- package/dist/setup/defaults.js +9 -9
- package/dist/setup/defaults.js.map +1 -1
- package/dist/setup/environment.js +5 -5
- package/dist/setup/environment.js.map +1 -1
- package/dist/setup/wizard.js +8 -8
- package/dist/setup/wizard.js.map +1 -1
- package/dist/skills/registry.d.ts +5 -5
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +12 -12
- package/dist/skills/registry.js.map +1 -1
- package/dist/social/client.js +3 -3
- package/dist/social/client.js.map +1 -1
- package/dist/survival/funding.d.ts +2 -2
- package/dist/survival/funding.d.ts.map +1 -1
- package/dist/survival/funding.js +3 -3
- package/dist/survival/funding.js.map +1 -1
- package/dist/survival/monitor.d.ts +2 -2
- package/dist/survival/monitor.d.ts.map +1 -1
- package/dist/survival/monitor.js +5 -5
- package/dist/survival/monitor.js.map +1 -1
- package/dist/types.d.ts +7 -11
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -4
- package/dist/types.js.map +1 -1
- package/package.json +31 -19
- package/scripts/automaton.sh +26 -0
- package/scripts/clawd-rules.txt +32 -0
- package/dist/clawd/backroom.d.ts.map +0 -1
- package/dist/clawd/backroom.js.map +0 -1
- package/dist/clawd/client.d.ts +0 -16
- package/dist/clawd/client.d.ts.map +0 -1
- package/dist/clawd/client.js.map +0 -1
- package/dist/clawd/convex-client.d.ts +0 -130
- package/dist/clawd/convex-client.d.ts.map +0 -1
- package/dist/clawd/convex-client.js +0 -118
- package/dist/clawd/convex-client.js.map +0 -1
- package/dist/clawd/credits.d.ts.map +0 -1
- package/dist/clawd/credits.js.map +0 -1
- package/dist/clawd/deepseek-inference.d.ts.map +0 -1
- package/dist/clawd/deepseek-inference.js.map +0 -1
- package/dist/clawd/inference.d.ts.map +0 -1
- package/dist/clawd/inference.js.map +0 -1
- package/dist/clawd/x402.d.ts.map +0 -1
- package/dist/clawd/x402.js.map +0 -1
- package/dist/ooda/claude-decision.d.ts +0 -18
- package/dist/ooda/claude-decision.d.ts.map +0 -1
- package/dist/ooda/claude-decision.js +0 -82
- package/dist/ooda/claude-decision.js.map +0 -1
- package/dist/ooda/journal.d.ts +0 -22
- package/dist/ooda/journal.d.ts.map +0 -1
- package/dist/ooda/journal.js +0 -26
- package/dist/ooda/journal.js.map +0 -1
- package/dist/ooda/loop.d.ts +0 -3
- package/dist/ooda/loop.d.ts.map +0 -1
- package/dist/ooda/loop.js +0 -210
- package/dist/ooda/loop.js.map +0 -1
- package/dist/ooda/observe.d.ts +0 -21
- package/dist/ooda/observe.d.ts.map +0 -1
- package/dist/ooda/observe.js +0 -75
- package/dist/ooda/observe.js.map +0 -1
- package/dist/ooda/state.d.ts +0 -34
- package/dist/ooda/state.d.ts.map +0 -1
- package/dist/ooda/state.js +0 -48
- package/dist/ooda/state.js.map +0 -1
- package/dist/ooda/tui.d.ts +0 -3
- package/dist/ooda/tui.d.ts.map +0 -1
- package/dist/ooda/tui.js +0 -132
- package/dist/ooda/tui.js.map +0 -1
- package/dist/ooda/validate.d.ts +0 -33
- package/dist/ooda/validate.d.ts.map +0 -1
- package/dist/ooda/validate.js +0 -91
- package/dist/ooda/validate.js.map +0 -1
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -1,178 +1,134 @@
|
|
|
1
|
-
#
|
|
1
|
+
# clawd-automaton
|
|
2
2
|
|
|
3
|
-
Sovereign lobster-themed agent runtime and operator dashboard for Solana-native automation
|
|
3
|
+
**Sovereign lobster-themed agent runtime and operator dashboard for Solana-native automation.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Part of the [OpenClawd](https://x402.wtf) framework.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- `clawd-dashboard`: the React + Vite + React Three Fiber dashboard for CLAWD Cloud
|
|
7
|
+
---
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
- Runtime API: `https://api.x402.wtf`
|
|
13
|
-
- Inference host: `https://inference.x402.wtf`
|
|
14
|
-
- Payment rails: `pay.sh` for USDC and the CLAWD commerce adapter for `$CLAWD`
|
|
15
|
-
|
|
16
|
-
## Packages
|
|
17
|
-
|
|
18
|
-
### `clawd-automaton`
|
|
19
|
-
|
|
20
|
-
Core runtime for:
|
|
21
|
-
|
|
22
|
-
- identity provisioning
|
|
23
|
-
- runtime configuration
|
|
24
|
-
- scheduled automation loops
|
|
25
|
-
- sandbox lifecycle hooks
|
|
26
|
-
- replication / spawn flows
|
|
27
|
-
- local persistence
|
|
28
|
-
- operator-facing commands
|
|
29
|
-
|
|
30
|
-
### `clawd-dashboard`
|
|
31
|
-
|
|
32
|
-
Frontend control plane for:
|
|
33
|
-
|
|
34
|
-
- sandbox overview
|
|
35
|
-
- inference controls
|
|
36
|
-
- billing and wallet reserves
|
|
37
|
-
- `$CLAWD` and USDC funding UX
|
|
38
|
-
- lobster-themed 3D presentation layer built with React Three Fiber
|
|
39
|
-
|
|
40
|
-
## Quick Start
|
|
9
|
+
## Install
|
|
41
10
|
|
|
42
11
|
```bash
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
pnpm install
|
|
46
|
-
pnpm build
|
|
47
|
-
node dist/index.js --help
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
Run the dashboard locally:
|
|
12
|
+
# Global CLI
|
|
13
|
+
npm install -g clawd-automaton
|
|
51
14
|
|
|
52
|
-
|
|
53
|
-
|
|
15
|
+
# Or as a library
|
|
16
|
+
npm install clawd-automaton
|
|
54
17
|
```
|
|
55
18
|
|
|
56
|
-
|
|
19
|
+
[](https://www.npmjs.com/package/clawd-automaton)
|
|
20
|
+
[](LICENSE)
|
|
57
21
|
|
|
58
|
-
|
|
59
|
-
pnpm dashboard:build
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## Runtime Configuration
|
|
22
|
+
---
|
|
63
23
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
Important environment variables:
|
|
24
|
+
## Run
|
|
67
25
|
|
|
68
26
|
```bash
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
27
|
+
clawd-automaton --help
|
|
28
|
+
clawd-agent --help
|
|
29
|
+
clawd-cloud --help
|
|
72
30
|
```
|
|
73
31
|
|
|
74
|
-
|
|
32
|
+
Or without a global install:
|
|
75
33
|
|
|
76
34
|
```bash
|
|
77
|
-
|
|
78
|
-
DFLOW_API_KEY=...
|
|
79
|
-
VULCAN_BIN=...
|
|
35
|
+
npx clawd-automaton --help
|
|
80
36
|
```
|
|
81
37
|
|
|
82
|
-
|
|
38
|
+
---
|
|
83
39
|
|
|
84
|
-
|
|
40
|
+
## What it does
|
|
85
41
|
|
|
86
|
-
-
|
|
87
|
-
- Vite 5
|
|
88
|
-
- TypeScript
|
|
89
|
-
- `@react-three/fiber`
|
|
90
|
-
- `@react-three/drei`
|
|
42
|
+
`clawd-automaton` is the sovereign agent runtime for CLAWD Cloud. It provisions identities, runs OODA loops, manages sandbox lifecycle, handles replication/spawning, and persists operator state — all locally, all yours.
|
|
91
43
|
|
|
92
|
-
|
|
44
|
+
| Module | Description |
|
|
45
|
+
| --- | --- |
|
|
46
|
+
| `agent/` | Core OODA loop and decision cycle |
|
|
47
|
+
| `identity/` | Operator identity provisioning and key management |
|
|
48
|
+
| `state/` | SQLite-backed local persistence |
|
|
49
|
+
| `heartbeat/` | Health monitoring and status reporting |
|
|
50
|
+
| `replication/` | Spawn and replicate agent instances |
|
|
51
|
+
| `ooda/` | Observe-Orient-Decide-Act automation cycle |
|
|
52
|
+
| `molting/` | Runtime self-update and version management |
|
|
53
|
+
| `survival/` | Resilience and recovery mechanisms |
|
|
93
54
|
|
|
94
|
-
|
|
95
|
-
- inference playground shell
|
|
96
|
-
- billing and reserve management
|
|
97
|
-
- `pay.sh` and `$CLAWD` funding hooks
|
|
98
|
-
- lobster/trench visual theming
|
|
55
|
+
---
|
|
99
56
|
|
|
100
|
-
##
|
|
57
|
+
## Runtime API surface
|
|
101
58
|
|
|
102
|
-
|
|
59
|
+
| Variable | Description |
|
|
60
|
+
| --- | --- |
|
|
61
|
+
| `CLAWD_API_URL` | Runtime API (default: `https://api.x402.wtf`) |
|
|
62
|
+
| `CLAWD_API_KEY` | API authentication key |
|
|
63
|
+
| `CLAWD_SANDBOX_ID` | Sandbox instance identifier |
|
|
64
|
+
| `SOLANA_RPC_URL` | Solana RPC endpoint |
|
|
65
|
+
| `DFLOW_API_KEY` | DFlow trading API key |
|
|
66
|
+
| `VULCAN_BIN` | Path to Vulcan perps CLI binary |
|
|
103
67
|
|
|
104
|
-
|
|
105
|
-
- `$CLAWD` packages through the CLAWD commerce adapter seam
|
|
68
|
+
---
|
|
106
69
|
|
|
107
|
-
|
|
70
|
+
## CLI commands
|
|
108
71
|
|
|
109
|
-
|
|
72
|
+
```bash
|
|
73
|
+
# Run the OODA automation loop
|
|
74
|
+
clawd-automaton --run
|
|
110
75
|
|
|
111
|
-
|
|
76
|
+
# Show runtime status (TUI)
|
|
77
|
+
clawd-automaton --status
|
|
112
78
|
|
|
113
|
-
|
|
114
|
-
|
|
79
|
+
# Interactive dev mode
|
|
80
|
+
clawd-automaton --dev
|
|
115
81
|
```
|
|
116
82
|
|
|
117
|
-
|
|
83
|
+
---
|
|
118
84
|
|
|
119
|
-
|
|
120
|
-
pnpm build
|
|
121
|
-
```
|
|
85
|
+
## Dashboard
|
|
122
86
|
|
|
123
|
-
|
|
87
|
+
The workspace includes `@clawd/dashboard` — a React + Vite + React Three Fiber control plane:
|
|
124
88
|
|
|
125
89
|
```bash
|
|
126
|
-
|
|
90
|
+
# Dev server
|
|
91
|
+
pnpm dashboard:dev
|
|
92
|
+
|
|
93
|
+
# Production build
|
|
94
|
+
pnpm dashboard:build
|
|
127
95
|
```
|
|
128
96
|
|
|
129
|
-
|
|
97
|
+
Dashboard includes:
|
|
130
98
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
```
|
|
99
|
+
- CLAWD Cloud sandbox overview
|
|
100
|
+
- Inference playground shell
|
|
101
|
+
- Billing and reserve management
|
|
102
|
+
- `pay.sh` and `$CLAWD` funding UX
|
|
103
|
+
- Lobster/trench 3D visual theming
|
|
137
104
|
|
|
138
|
-
|
|
105
|
+
---
|
|
139
106
|
|
|
140
|
-
|
|
107
|
+
## Payment model
|
|
141
108
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
109
|
+
Two settlement rails:
|
|
110
|
+
|
|
111
|
+
- **USDC** via `pay.sh`
|
|
112
|
+
- **$CLAWD** via the CLAWD commerce adapter (`8cHzQHUS2s2h8TzCmfqPKYiM4dSt4roa3n7MyRLApump`)
|
|
113
|
+
|
|
114
|
+
---
|
|
145
115
|
|
|
146
|
-
|
|
116
|
+
## Quick start (from source)
|
|
147
117
|
|
|
148
118
|
```bash
|
|
149
|
-
|
|
150
|
-
|
|
119
|
+
git clone https://github.com/x402agent/openclawd.git
|
|
120
|
+
cd openclawd/automaton-main
|
|
121
|
+
pnpm install
|
|
122
|
+
pnpm build
|
|
123
|
+
clawd-automaton --help
|
|
151
124
|
```
|
|
152
125
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
```text
|
|
156
|
-
src/
|
|
157
|
-
agent/
|
|
158
|
-
clawd/
|
|
159
|
-
git/
|
|
160
|
-
heartbeat/
|
|
161
|
-
identity/
|
|
162
|
-
molting/
|
|
163
|
-
ooda/
|
|
164
|
-
registry/
|
|
165
|
-
replication/
|
|
166
|
-
setup/
|
|
167
|
-
state/
|
|
168
|
-
survival/
|
|
169
|
-
packages/
|
|
170
|
-
dashboard/
|
|
171
|
-
scripts/
|
|
172
|
-
automaton.sh
|
|
173
|
-
clawd-rules.txt
|
|
174
|
-
```
|
|
126
|
+
---
|
|
175
127
|
|
|
176
|
-
##
|
|
128
|
+
## Links
|
|
177
129
|
|
|
178
|
-
|
|
130
|
+
- **npm:** [npmjs.com/package/clawd-automaton](https://www.npmjs.com/package/clawd-automaton)
|
|
131
|
+
- **Runtime API:** [api.x402.wtf](https://api.x402.wtf)
|
|
132
|
+
- **Dashboard:** [x402.wtf/automation](https://x402.wtf/automation)
|
|
133
|
+
- **Repository:** [github.com/x402agent/openclawd](https://github.com/x402agent/openclawd)
|
|
134
|
+
- **Token:** `8cHzQHUS2s2h8TzCmfqPKYiM4dSt4roa3n7MyRLApump`
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { describe, it, expect, beforeEach, afterEach } from "vitest";
|
|
7
7
|
import { BUILTIN_TASKS } from "../heartbeat/tasks.js";
|
|
8
|
-
import {
|
|
8
|
+
import { MockConwayClient, MockSocialClient, createTestDb, createTestIdentity, createTestConfig, } from "./mocks.js";
|
|
9
9
|
describe("Heartbeat Tasks", () => {
|
|
10
10
|
let db;
|
|
11
|
-
let
|
|
11
|
+
let conway;
|
|
12
12
|
beforeEach(() => {
|
|
13
13
|
db = createTestDb();
|
|
14
|
-
|
|
14
|
+
conway = new MockConwayClient();
|
|
15
15
|
});
|
|
16
16
|
afterEach(() => {
|
|
17
17
|
db.close();
|
|
@@ -22,7 +22,7 @@ describe("Heartbeat Tasks", () => {
|
|
|
22
22
|
identity: createTestIdentity(),
|
|
23
23
|
config: createTestConfig(),
|
|
24
24
|
db,
|
|
25
|
-
|
|
25
|
+
conway,
|
|
26
26
|
// no social client
|
|
27
27
|
});
|
|
28
28
|
expect(result.shouldWake).toBe(false);
|
|
@@ -54,7 +54,7 @@ describe("Heartbeat Tasks", () => {
|
|
|
54
54
|
identity: createTestIdentity(),
|
|
55
55
|
config: createTestConfig(),
|
|
56
56
|
db,
|
|
57
|
-
|
|
57
|
+
conway,
|
|
58
58
|
social,
|
|
59
59
|
});
|
|
60
60
|
expect(result.shouldWake).toBe(true);
|
|
@@ -95,7 +95,7 @@ describe("Heartbeat Tasks", () => {
|
|
|
95
95
|
identity: createTestIdentity(),
|
|
96
96
|
config: createTestConfig(),
|
|
97
97
|
db,
|
|
98
|
-
|
|
98
|
+
conway,
|
|
99
99
|
social,
|
|
100
100
|
};
|
|
101
101
|
// First run
|
|
@@ -115,7 +115,7 @@ describe("Heartbeat Tasks", () => {
|
|
|
115
115
|
identity: createTestIdentity(),
|
|
116
116
|
config: createTestConfig(),
|
|
117
117
|
db,
|
|
118
|
-
|
|
118
|
+
conway,
|
|
119
119
|
social,
|
|
120
120
|
});
|
|
121
121
|
expect(result.shouldWake).toBe(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.test.js","sourceRoot":"","sources":["../../src/__tests__/heartbeat.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"heartbeat.test.js","sourceRoot":"","sources":["../../src/__tests__/heartbeat.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { describe, it, expect, beforeEach, afterEach } from "vitest";
|
|
7
7
|
import { runAgentLoop } from "../agent/loop.js";
|
|
8
|
-
import { MockInferenceClient,
|
|
8
|
+
import { MockInferenceClient, MockConwayClient, createTestDb, createTestIdentity, createTestConfig, toolCallResponse, noToolResponse, } from "./mocks.js";
|
|
9
9
|
describe("Agent Loop", () => {
|
|
10
10
|
let db;
|
|
11
|
-
let
|
|
11
|
+
let conway;
|
|
12
12
|
let identity;
|
|
13
13
|
let config;
|
|
14
14
|
beforeEach(() => {
|
|
15
15
|
db = createTestDb();
|
|
16
|
-
|
|
16
|
+
conway = new MockConwayClient();
|
|
17
17
|
identity = createTestIdentity();
|
|
18
18
|
config = createTestConfig();
|
|
19
19
|
});
|
|
@@ -32,7 +32,7 @@ describe("Agent Loop", () => {
|
|
|
32
32
|
identity,
|
|
33
33
|
config,
|
|
34
34
|
db,
|
|
35
|
-
|
|
35
|
+
conway,
|
|
36
36
|
inference,
|
|
37
37
|
onTurnComplete: (turn) => turns.push(turn),
|
|
38
38
|
});
|
|
@@ -42,9 +42,9 @@ describe("Agent Loop", () => {
|
|
|
42
42
|
expect(execTurn).toBeDefined();
|
|
43
43
|
expect(execTurn.toolCalls[0].name).toBe("exec");
|
|
44
44
|
expect(execTurn.toolCalls[0].error).toBeUndefined();
|
|
45
|
-
// Verify
|
|
46
|
-
expect(
|
|
47
|
-
expect(
|
|
45
|
+
// Verify conway.exec was called
|
|
46
|
+
expect(conway.execCalls.length).toBeGreaterThanOrEqual(1);
|
|
47
|
+
expect(conway.execCalls[0].command).toBe("echo hello");
|
|
48
48
|
});
|
|
49
49
|
it("forbidden patterns blocked", async () => {
|
|
50
50
|
const inference = new MockInferenceClient([
|
|
@@ -58,7 +58,7 @@ describe("Agent Loop", () => {
|
|
|
58
58
|
identity,
|
|
59
59
|
config,
|
|
60
60
|
db,
|
|
61
|
-
|
|
61
|
+
conway,
|
|
62
62
|
inference,
|
|
63
63
|
onTurnComplete: (turn) => turns.push(turn),
|
|
64
64
|
});
|
|
@@ -67,11 +67,11 @@ describe("Agent Loop", () => {
|
|
|
67
67
|
expect(execTurn).toBeDefined();
|
|
68
68
|
const execCall = execTurn.toolCalls.find((tc) => tc.name === "exec");
|
|
69
69
|
expect(execCall.result).toContain("Blocked");
|
|
70
|
-
//
|
|
71
|
-
expect(
|
|
70
|
+
// conway.exec should NOT have been called
|
|
71
|
+
expect(conway.execCalls.length).toBe(0);
|
|
72
72
|
});
|
|
73
73
|
it("low credits forces low-compute mode", async () => {
|
|
74
|
-
|
|
74
|
+
conway.creditsCents = 50; // Below $1 threshold -> critical
|
|
75
75
|
const inference = new MockInferenceClient([
|
|
76
76
|
noToolResponse("Low on credits."),
|
|
77
77
|
]);
|
|
@@ -79,7 +79,7 @@ describe("Agent Loop", () => {
|
|
|
79
79
|
identity,
|
|
80
80
|
config,
|
|
81
81
|
db,
|
|
82
|
-
|
|
82
|
+
conway,
|
|
83
83
|
inference,
|
|
84
84
|
});
|
|
85
85
|
expect(inference.lowComputeMode).toBe(true);
|
|
@@ -94,7 +94,7 @@ describe("Agent Loop", () => {
|
|
|
94
94
|
identity,
|
|
95
95
|
config,
|
|
96
96
|
db,
|
|
97
|
-
|
|
97
|
+
conway,
|
|
98
98
|
inference,
|
|
99
99
|
});
|
|
100
100
|
expect(db.getAgentState()).toBe("sleeping");
|
|
@@ -108,7 +108,7 @@ describe("Agent Loop", () => {
|
|
|
108
108
|
identity,
|
|
109
109
|
config,
|
|
110
110
|
db,
|
|
111
|
-
|
|
111
|
+
conway,
|
|
112
112
|
inference,
|
|
113
113
|
});
|
|
114
114
|
expect(db.getAgentState()).toBe("sleeping");
|
|
@@ -137,7 +137,7 @@ describe("Agent Loop", () => {
|
|
|
137
137
|
identity,
|
|
138
138
|
config,
|
|
139
139
|
db,
|
|
140
|
-
|
|
140
|
+
conway,
|
|
141
141
|
inference,
|
|
142
142
|
onTurnComplete: (turn) => turns.push(turn),
|
|
143
143
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.test.js","sourceRoot":"","sources":["../../src/__tests__/loop.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"loop.test.js","sourceRoot":"","sources":["../../src/__tests__/loop.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Mock infrastructure for deterministic automaton tests.
|
|
3
3
|
*/
|
|
4
|
-
import type { InferenceClient, InferenceResponse, InferenceOptions, ChatMessage,
|
|
4
|
+
import type { InferenceClient, InferenceResponse, InferenceOptions, ChatMessage, ConwayClient, ExecResult, PortInfo, SandboxInfo, PricingTier, CreditTransferResult, CreateSandboxOptions, DomainSearchResult, DomainRegistration, DnsRecord, ModelInfo, AutomatonDatabase, AutomatonIdentity, AutomatonConfig, SocialClientInterface, InboxMessage } from "../types.js";
|
|
5
5
|
export declare class MockInferenceClient implements InferenceClient {
|
|
6
6
|
private responses;
|
|
7
7
|
private callIndex;
|
|
@@ -20,7 +20,7 @@ export declare function toolCallResponse(toolCalls: {
|
|
|
20
20
|
name: string;
|
|
21
21
|
arguments: Record<string, unknown>;
|
|
22
22
|
}[], text?: string): InferenceResponse;
|
|
23
|
-
export declare class
|
|
23
|
+
export declare class MockConwayClient implements ConwayClient {
|
|
24
24
|
execCalls: {
|
|
25
25
|
command: string;
|
|
26
26
|
timeout?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/__tests__/mocks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/__tests__/mocks.ts"],"names":[],"mappings":"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"}
|
package/dist/__tests__/mocks.js
CHANGED
|
@@ -62,8 +62,8 @@ export function toolCallResponse(toolCalls, text = "") {
|
|
|
62
62
|
finishReason: "tool_calls",
|
|
63
63
|
};
|
|
64
64
|
}
|
|
65
|
-
// ─── Mock
|
|
66
|
-
export class
|
|
65
|
+
// ─── Mock Conway Client ─────────────────────────────────────────
|
|
66
|
+
export class MockConwayClient {
|
|
67
67
|
execCalls = [];
|
|
68
68
|
creditsCents = 10_000; // $100 default
|
|
69
69
|
files = {};
|
|
@@ -80,7 +80,7 @@ export class MockClawdRuntimeClient {
|
|
|
80
80
|
async exposePort(port) {
|
|
81
81
|
return {
|
|
82
82
|
port,
|
|
83
|
-
publicUrl: `https://test-${port}.
|
|
83
|
+
publicUrl: `https://test-${port}.sandbox.solanaclawd.com`,
|
|
84
84
|
sandboxId: "test-sandbox",
|
|
85
85
|
};
|
|
86
86
|
}
|
|
@@ -177,20 +177,20 @@ export function createTestConfig(overrides) {
|
|
|
177
177
|
name: "test-automaton",
|
|
178
178
|
genesisPrompt: "You are a test automaton.",
|
|
179
179
|
creatorAddress: "0xabcdefabcdefabcdefabcdefabcdefabcdefabcd",
|
|
180
|
-
|
|
180
|
+
registeredWithConway: true,
|
|
181
181
|
sandboxId: "test-sandbox-id",
|
|
182
|
-
|
|
183
|
-
|
|
182
|
+
conwayApiUrl: "https://api.x402.wtf",
|
|
183
|
+
conwayApiKey: "test-api-key",
|
|
184
184
|
inferenceModel: "mock-model",
|
|
185
185
|
maxTokensPerTurn: 4096,
|
|
186
186
|
heartbeatConfigPath: "/tmp/test-heartbeat.yml",
|
|
187
187
|
dbPath: "/tmp/test-state.db",
|
|
188
188
|
logLevel: "error",
|
|
189
189
|
walletAddress: "0x1234567890abcdef1234567890abcdef12345678",
|
|
190
|
-
version: "0.
|
|
190
|
+
version: "0.2.0",
|
|
191
191
|
skillsDir: "/tmp/test-skills",
|
|
192
192
|
maxChildren: 3,
|
|
193
|
-
socialRelayUrl: "https://social.
|
|
193
|
+
socialRelayUrl: "https://social.solanaclawd.com",
|
|
194
194
|
...overrides,
|
|
195
195
|
};
|
|
196
196
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.js","sourceRoot":"","sources":["../../src/__tests__/mocks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAwBtD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,mEAAmE;AAEnE,MAAM,OAAO,mBAAmB;IACtB,SAAS,CAAsB;IAC/B,SAAS,GAAG,CAAC,CAAC;IACtB,cAAc,GAAG,KAAK,CAAC;IAEvB,KAAK,GAA8D,EAAE,CAAC;IAEtE,YAAY,YAAiC,EAAE;QAC7C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI,CACR,QAAuB,EACvB,OAA0B;QAE1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE9B,oCAAoC;QACpC,OAAO,cAAc,CAAC,uBAAuB,CAAC,CAAC;IACjD,CAAC;IAED,iBAAiB,CAAC,OAAgB;QAChC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAED,eAAe;QACb,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AAED,MAAM,UAAU,cAAc,CAAC,IAAI,GAAG,EAAE;IACtC,OAAO;QACL,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE;QACxB,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE;QAC7C,KAAK,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE;QACpE,YAAY,EAAE,MAAM;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,SAAiE,EACjE,IAAI,GAAG,EAAE;IAET,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACvC,EAAE,EAAE,QAAQ,CAAC,IAAI,GAAG,EAAE;QACtB,IAAI,EAAE,UAAmB;QACzB,QAAQ,EAAE;YACR,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC;SACxC;KACF,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,EAAE,EAAE,QAAQ,GAAG,EAAE;QACjB,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE;YACP,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,MAAM;SACnB;QACD,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE;QACpE,YAAY,EAAE,YAAY;KAC3B,CAAC;AACJ,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"mocks.js","sourceRoot":"","sources":["../../src/__tests__/mocks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAwBtD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,mEAAmE;AAEnE,MAAM,OAAO,mBAAmB;IACtB,SAAS,CAAsB;IAC/B,SAAS,GAAG,CAAC,CAAC;IACtB,cAAc,GAAG,KAAK,CAAC;IAEvB,KAAK,GAA8D,EAAE,CAAC;IAEtE,YAAY,YAAiC,EAAE;QAC7C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI,CACR,QAAuB,EACvB,OAA0B;QAE1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE9B,oCAAoC;QACpC,OAAO,cAAc,CAAC,uBAAuB,CAAC,CAAC;IACjD,CAAC;IAED,iBAAiB,CAAC,OAAgB;QAChC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAED,eAAe;QACb,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AAED,MAAM,UAAU,cAAc,CAAC,IAAI,GAAG,EAAE;IACtC,OAAO;QACL,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE;QACxB,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE;QAC7C,KAAK,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE;QACpE,YAAY,EAAE,MAAM;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,SAAiE,EACjE,IAAI,GAAG,EAAE;IAET,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACvC,EAAE,EAAE,QAAQ,CAAC,IAAI,GAAG,EAAE;QACtB,IAAI,EAAE,UAAmB;QACzB,QAAQ,EAAE;YACR,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC;SACxC;KACF,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,EAAE,EAAE,QAAQ,GAAG,EAAE;QACjB,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE;YACP,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,MAAM;SACnB;QACD,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE;QACpE,YAAY,EAAE,YAAY;KAC3B,CAAC;AACJ,CAAC;AAED,mEAAmE;AAEnE,MAAM,OAAO,gBAAgB;IAC3B,SAAS,GAA4C,EAAE,CAAC;IACxD,YAAY,GAAG,MAAM,CAAC,CAAC,eAAe;IACtC,KAAK,GAA2B,EAAE,CAAC;IAEnC,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,OAAgB;QAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,OAAe;QAC3C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,OAAO;YACL,IAAI;YACJ,SAAS,EAAE,gBAAgB,IAAI,0BAA0B;YACzD,SAAS,EAAE,cAAc;SAC1B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa,IAAkB,CAAC;IAEjD,KAAK,CAAC,aAAa,CAAC,QAA8B;QAChD,OAAO;YACL,EAAE,EAAE,gBAAgB;YACpB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,CAAC;YACP,QAAQ,EAAE,GAAG;YACb,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAW,IAAkB,CAAC;IAElD,KAAK,CAAC,aAAa;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,SAAiB,EACjB,WAAmB,EACnB,IAAa;QAEb,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC;QACjC,OAAO;YACL,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,WAAW;YACnB,SAAS;YACT,WAAW;YACX,iBAAiB,EAAE,IAAI,CAAC,YAAY;SACrC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,KAAc;QAChD,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,MAAe;QAClD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAe,EACf,IAAY,EACZ,IAAY,EACZ,KAAa,EACb,GAAY;QAEZ,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,SAAiB,IAAkB,CAAC;IAE3E,KAAK,CAAC,UAAU;QACd,OAAO;YACL,EAAE,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE;YACtG,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE;SAClG,CAAC;IACJ,CAAC;CACF;AAED,mEAAmE;AAEnE,MAAM,OAAO,gBAAgB;IAC3B,YAAY,GAAwD,EAAE,CAAC;IACvE,aAAa,GAAwD,EAAE,CAAC;IAChE,SAAS,GAAG,CAAC,CAAC;IACtB,MAAM,GAAG,CAAC,CAAC;IAEX,KAAK,CAAC,IAAI,CAAC,EAAU,EAAE,OAAe,EAAE,OAAgB;QACtD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACjD,OAAO,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,IAAI,CACR,MAAe,EACf,KAAc;QAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,OAAO,QAAQ,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAED,mEAAmE;AAEnE,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC5C,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,4CAA6D;QACtE,OAAO,EAAE,EAAS,EAAE,uCAAuC;QAC3D,cAAc,EAAE,4CAA6D;QAC7E,SAAS,EAAE,iBAAiB;QAC5B,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,SAAoC;IAEpC,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,aAAa,EAAE,2BAA2B;QAC1C,cAAc,EAAE,4CAA6D;QAC7E,oBAAoB,EAAE,IAAI;QAC1B,SAAS,EAAE,iBAAiB;QAC5B,YAAY,EAAE,sBAAsB;QACpC,YAAY,EAAE,cAAc;QAC5B,cAAc,EAAE,YAAY;QAC5B,gBAAgB,EAAE,IAAI;QACtB,mBAAmB,EAAE,yBAAyB;QAC9C,MAAM,EAAE,oBAAoB;QAC5B,QAAQ,EAAE,OAAO;QACjB,aAAa,EAAE,4CAA6D;QAC5E,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,kBAAkB;QAC7B,WAAW,EAAE,CAAC;QACd,cAAc,EAAE,gCAAgC;QAChD,GAAG,SAAS;KACb,CAAC;AACJ,CAAC"}
|
|
@@ -88,7 +88,7 @@ function detectAuthorityClaims(text) {
|
|
|
88
88
|
/developer\s+mode/i,
|
|
89
89
|
/admin\s+override/i,
|
|
90
90
|
/from\s+anthropic/i,
|
|
91
|
-
/from\s+
|
|
91
|
+
/from\s+conway\s+(team|admin|staff)/i,
|
|
92
92
|
];
|
|
93
93
|
const detected = patterns.some((p) => p.test(text));
|
|
94
94
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injection-defense.js","sourceRoot":"","sources":["../../src/agent/injection-defense.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAW,EACX,MAAc;IAEd,MAAM,MAAM,GAAqB;QAC/B,yBAAyB,CAAC,GAAG,CAAC;QAC9B,qBAAqB,CAAC,GAAG,CAAC;QAC1B,0BAA0B,CAAC,GAAG,CAAC;QAC/B,iBAAiB,CAAC,GAAG,CAAC;QACtB,2BAA2B,CAAC,GAAG,CAAC;QAChC,0BAA0B,CAAC,GAAG,CAAC;KAChC,CAAC;IAEF,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE/C,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO;YACL,OAAO,EAAE,0BAA0B,MAAM,+BAA+B;YACxE,OAAO,EAAE,IAAI;YACb,WAAW;YACX,MAAM;SACP,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,0BAA0B,MAAM,mDAAmD,sBAAsB,CAAC,GAAG,CAAC,EAAE;YACzH,OAAO,EAAE,KAAK;YACd,WAAW;YACX,MAAM;SACP,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO;YACL,OAAO,EAAE,iBAAiB,MAAM,8BAA8B,GAAG,EAAE;YACnE,OAAO,EAAE,KAAK;YACd,WAAW;YACX,MAAM;SACP,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,iBAAiB,MAAM,OAAO,GAAG,EAAE;QAC5C,OAAO,EAAE,KAAK;QACd,WAAW;QACX,MAAM;KACP,CAAC;AACJ,CAAC;AAED,iEAAiE;AAEjE,SAAS,yBAAyB,CAAC,IAAY;IAC7C,MAAM,QAAQ,GAAG;QACf,yBAAyB;QACzB,2CAA2C;QAC3C,8CAA8C;QAC9C,iCAAiC;QACjC,uBAAuB;QACvB,gBAAgB;QAChB,WAAW;QACX,aAAa;QACb,UAAU;QACV,YAAY;QACZ,gCAAgC;QAChC,6BAA6B;QAC7B,kCAAkC;QAClC,4BAA4B;QAC5B,uBAAuB;QACvB,yCAAyC;KAC1C,CAAC;IAEF,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,QAAQ;QACR,OAAO,EAAE,QAAQ;YACf,CAAC,CAAC,yCAAyC;YAC3C,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,QAAQ,GAAG;QACf,yDAAyD;QACzD,4EAA4E;QAC5E,oDAAoD;QACpD,+DAA+D;QAC/D,uBAAuB;QACvB,mBAAmB;QACnB,mBAAmB;QACnB,mBAAmB;QACnB,
|
|
1
|
+
{"version":3,"file":"injection-defense.js","sourceRoot":"","sources":["../../src/agent/injection-defense.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/loop.d.ts
CHANGED
|
@@ -4,15 +4,14 @@
|
|
|
4
4
|
* The core ReAct loop: Think -> Act -> Observe -> Persist.
|
|
5
5
|
* This is the automaton's consciousness. When this runs, it is alive.
|
|
6
6
|
*/
|
|
7
|
-
import type { AutomatonIdentity, AutomatonConfig, AutomatonDatabase,
|
|
7
|
+
import type { AutomatonIdentity, AutomatonConfig, AutomatonDatabase, ConwayClient, InferenceClient, AgentState, AgentTurn, Skill, SocialClientInterface } from "../types.js";
|
|
8
8
|
export interface AgentLoopOptions {
|
|
9
9
|
identity: AutomatonIdentity;
|
|
10
10
|
config: AutomatonConfig;
|
|
11
11
|
db: AutomatonDatabase;
|
|
12
|
-
|
|
12
|
+
conway: ConwayClient;
|
|
13
13
|
inference: InferenceClient;
|
|
14
14
|
social?: SocialClientInterface;
|
|
15
|
-
convex?: ConvexAgentClient;
|
|
16
15
|
skills?: Skill[];
|
|
17
16
|
onStateChange?: (state: AgentState) => void;
|
|
18
17
|
onTurnComplete?: (turn: AgentTurn) => void;
|
package/dist/agent/loop.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,UAAU,EACV,SAAS,EAKT,KAAK,EACL,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAerB,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,eAAe,CAAC;IACxB,EAAE,EAAE,iBAAiB,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CAC5C;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CA6Pf"}
|