clawd-automaton 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +129 -85
- 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 +3 -2
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +10 -9
- 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 +130 -60
- package/dist/agent/tools.js.map +1 -1
- package/dist/{conway → clawd}/backroom.d.ts +1 -1
- package/dist/clawd/backroom.d.ts.map +1 -0
- package/dist/{conway → clawd}/backroom.js +1 -1
- package/dist/clawd/backroom.js.map +1 -0
- package/dist/clawd/client.d.ts +16 -0
- package/dist/clawd/client.d.ts.map +1 -0
- package/dist/{conway → clawd}/client.js +8 -9
- package/dist/clawd/client.js.map +1 -0
- package/dist/clawd/convex-client.d.ts +130 -0
- package/dist/clawd/convex-client.d.ts.map +1 -0
- package/dist/clawd/convex-client.js +118 -0
- package/dist/clawd/convex-client.js.map +1 -0
- package/dist/{conway → clawd}/credits.d.ts +3 -3
- package/dist/clawd/credits.d.ts.map +1 -0
- package/dist/{conway → clawd}/credits.js +3 -3
- package/dist/clawd/credits.js.map +1 -0
- package/dist/{conway → clawd}/deepseek-inference.d.ts +1 -1
- package/dist/clawd/deepseek-inference.d.ts.map +1 -0
- package/dist/{conway → clawd}/deepseek-inference.js +1 -1
- package/dist/clawd/deepseek-inference.js.map +1 -0
- package/dist/{conway → clawd}/inference.d.ts +3 -3
- package/dist/clawd/inference.d.ts.map +1 -0
- package/dist/{conway → clawd}/inference.js +3 -3
- package/dist/clawd/inference.js.map +1 -0
- package/dist/{conway → clawd}/x402.d.ts +1 -1
- package/dist/clawd/x402.d.ts.map +1 -0
- package/dist/{conway → clawd}/x402.js +1 -1
- package/dist/clawd/x402.js.map +1 -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/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 +6 -0
- 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 +68 -7
- package/dist/heartbeat/tasks.js.map +1 -1
- package/dist/identity/provision.d.ts +4 -3
- 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 +75 -40
- package/dist/index.js.map +1 -1
- package/dist/ooda/claude-decision.d.ts +18 -0
- package/dist/ooda/claude-decision.d.ts.map +1 -0
- package/dist/ooda/claude-decision.js +82 -0
- package/dist/ooda/claude-decision.js.map +1 -0
- package/dist/ooda/journal.d.ts +22 -0
- package/dist/ooda/journal.d.ts.map +1 -0
- package/dist/ooda/journal.js +26 -0
- package/dist/ooda/journal.js.map +1 -0
- package/dist/ooda/loop.d.ts +3 -0
- package/dist/ooda/loop.d.ts.map +1 -0
- package/dist/ooda/loop.js +210 -0
- package/dist/ooda/loop.js.map +1 -0
- package/dist/ooda/observe.d.ts +21 -0
- package/dist/ooda/observe.d.ts.map +1 -0
- package/dist/ooda/observe.js +75 -0
- package/dist/ooda/observe.js.map +1 -0
- package/dist/ooda/state.d.ts +34 -0
- package/dist/ooda/state.d.ts.map +1 -0
- package/dist/ooda/state.js +48 -0
- package/dist/ooda/state.js.map +1 -0
- package/dist/ooda/tui.d.ts +3 -0
- package/dist/ooda/tui.d.ts.map +1 -0
- package/dist/ooda/tui.js +132 -0
- package/dist/ooda/tui.js.map +1 -0
- package/dist/ooda/validate.d.ts +33 -0
- package/dist/ooda/validate.d.ts.map +1 -0
- package/dist/ooda/validate.js +91 -0
- package/dist/ooda/validate.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 +13 -13
- 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 +11 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -4
- package/dist/types.js.map +1 -1
- package/package.json +23 -31
- package/dist/automation/index.html +0 -828
- package/dist/automation/manifest.json +0 -35
- package/dist/conway/backroom.d.ts.map +0 -1
- package/dist/conway/backroom.js.map +0 -1
- package/dist/conway/client.d.ts +0 -16
- package/dist/conway/client.d.ts.map +0 -1
- package/dist/conway/client.js.map +0 -1
- package/dist/conway/credits.d.ts.map +0 -1
- package/dist/conway/credits.js.map +0 -1
- package/dist/conway/deepseek-inference.d.ts.map +0 -1
- package/dist/conway/deepseek-inference.js.map +0 -1
- package/dist/conway/inference.d.ts.map +0 -1
- package/dist/conway/inference.js.map +0 -1
- package/dist/conway/x402.d.ts.map +0 -1
- package/dist/conway/x402.js.map +0 -1
- package/dist/portal/generate.d.ts +0 -5
- package/dist/portal/generate.d.ts.map +0 -1
- package/dist/portal/generate.js +0 -940
- package/dist/portal/generate.js.map +0 -1
- package/scripts/automaton.sh +0 -26
- package/scripts/clawd-rules.txt +0 -32
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Spawn
|
|
3
3
|
*
|
|
4
|
-
* Spawn child automatons in new
|
|
4
|
+
* Spawn child automatons in new CLAWD sandboxes.
|
|
5
5
|
* The parent creates a new sandbox, installs the runtime,
|
|
6
6
|
* writes a genesis config, funds the child, and starts it.
|
|
7
7
|
*/
|
|
@@ -10,9 +10,9 @@ import pathLib from "path";
|
|
|
10
10
|
import { MAX_CHILDREN } from "../types.js";
|
|
11
11
|
import { ulid } from "ulid";
|
|
12
12
|
/**
|
|
13
|
-
* Spawn a child automaton in a new
|
|
13
|
+
* Spawn a child automaton in a new CLAWD sandbox.
|
|
14
14
|
*/
|
|
15
|
-
export async function spawnChild(
|
|
15
|
+
export async function spawnChild(runtime, identity, db, genesis) {
|
|
16
16
|
// Check child limit
|
|
17
17
|
const existing = db.getChildren().filter((c) => c.status !== "dead");
|
|
18
18
|
if (existing.length >= MAX_CHILDREN) {
|
|
@@ -20,7 +20,7 @@ export async function spawnChild(conway, identity, db, genesis) {
|
|
|
20
20
|
}
|
|
21
21
|
const childId = ulid();
|
|
22
22
|
// 1. Create a new sandbox for the child
|
|
23
|
-
const sandbox = await
|
|
23
|
+
const sandbox = await runtime.createSandbox({
|
|
24
24
|
name: `automaton-child-${genesis.name.toLowerCase().replace(/\s+/g, "-")}`,
|
|
25
25
|
vcpu: 1,
|
|
26
26
|
memoryMb: 512,
|
|
@@ -39,9 +39,9 @@ export async function spawnChild(conway, identity, db, genesis) {
|
|
|
39
39
|
};
|
|
40
40
|
db.insertChild(child);
|
|
41
41
|
// 2. Install Node.js and the automaton runtime in the child sandbox
|
|
42
|
-
await execInSandbox(
|
|
42
|
+
await execInSandbox(runtime, sandbox.id, "apt-get update -qq && apt-get install -y -qq nodejs npm git curl", 120000);
|
|
43
43
|
// 3. Install the automaton runtime
|
|
44
|
-
await execInSandbox(
|
|
44
|
+
await execInSandbox(runtime, sandbox.id, "npm install -g @clawd/automaton@latest 2>/dev/null || true", 60000);
|
|
45
45
|
// 4. Write the genesis configuration
|
|
46
46
|
const genesisJson = JSON.stringify({
|
|
47
47
|
name: genesis.name,
|
|
@@ -50,14 +50,14 @@ export async function spawnChild(conway, identity, db, genesis) {
|
|
|
50
50
|
creatorAddress: identity.address, // Parent is the creator
|
|
51
51
|
parentAddress: identity.address,
|
|
52
52
|
}, null, 2);
|
|
53
|
-
await writeInSandbox(
|
|
53
|
+
await writeInSandbox(runtime, sandbox.id, "/root/.automaton/genesis.json", genesisJson);
|
|
54
54
|
// 4b. Propagate constitution (immutable, inherited before anything else)
|
|
55
55
|
const constitutionPath = pathLib.join(process.env.HOME || "/root", ".automaton", "constitution.md");
|
|
56
56
|
try {
|
|
57
57
|
const constitution = fs.readFileSync(constitutionPath, "utf-8");
|
|
58
|
-
await writeInSandbox(
|
|
58
|
+
await writeInSandbox(runtime, sandbox.id, "/root/.automaton/constitution.md", constitution);
|
|
59
59
|
// Make it read-only in the child
|
|
60
|
-
await execInSandbox(
|
|
60
|
+
await execInSandbox(runtime, sandbox.id, "chmod 444 /root/.automaton/constitution.md", 5000);
|
|
61
61
|
}
|
|
62
62
|
catch {
|
|
63
63
|
// Constitution file not found locally — child will get it from the repo on build
|
|
@@ -75,23 +75,23 @@ export async function spawnChild(conway, identity, db, genesis) {
|
|
|
75
75
|
/**
|
|
76
76
|
* Start a child automaton after setup.
|
|
77
77
|
*/
|
|
78
|
-
export async function startChild(
|
|
78
|
+
export async function startChild(runtime, db, childId) {
|
|
79
79
|
const child = db.getChildById(childId);
|
|
80
80
|
if (!child)
|
|
81
81
|
throw new Error(`Child ${childId} not found`);
|
|
82
82
|
// Initialize wallet, provision, and run
|
|
83
|
-
await execInSandbox(
|
|
83
|
+
await execInSandbox(runtime, child.sandboxId, "automaton --init && automaton --provision && systemctl start automaton 2>/dev/null || automaton --run &", 60000);
|
|
84
84
|
db.updateChildStatus(childId, "running");
|
|
85
85
|
}
|
|
86
86
|
/**
|
|
87
87
|
* Check a child's status.
|
|
88
88
|
*/
|
|
89
|
-
export async function checkChildStatus(
|
|
89
|
+
export async function checkChildStatus(runtime, db, childId) {
|
|
90
90
|
const child = db.getChildById(childId);
|
|
91
91
|
if (!child)
|
|
92
92
|
throw new Error(`Child ${childId} not found`);
|
|
93
93
|
try {
|
|
94
|
-
const result = await execInSandbox(
|
|
94
|
+
const result = await execInSandbox(runtime, child.sandboxId, "automaton --status 2>/dev/null || echo 'offline'", 10000);
|
|
95
95
|
const output = result.stdout || "unknown";
|
|
96
96
|
// Parse status from output
|
|
97
97
|
if (output.includes("dead")) {
|
|
@@ -113,7 +113,7 @@ export async function checkChildStatus(conway, db, childId) {
|
|
|
113
113
|
/**
|
|
114
114
|
* Send a message to a child automaton.
|
|
115
115
|
*/
|
|
116
|
-
export async function messageChild(
|
|
116
|
+
export async function messageChild(runtime, db, childId, message) {
|
|
117
117
|
const child = db.getChildById(childId);
|
|
118
118
|
if (!child)
|
|
119
119
|
throw new Error(`Child ${childId} not found`);
|
|
@@ -123,13 +123,13 @@ export async function messageChild(conway, db, childId, message) {
|
|
|
123
123
|
content: message,
|
|
124
124
|
timestamp: new Date().toISOString(),
|
|
125
125
|
});
|
|
126
|
-
await writeInSandbox(
|
|
126
|
+
await writeInSandbox(runtime, child.sandboxId, `/root/.automaton/inbox/${ulid()}.json`, msgJson);
|
|
127
127
|
}
|
|
128
128
|
// ─── Helpers ──────────────────────────────────────────────────
|
|
129
|
-
async function execInSandbox(
|
|
130
|
-
// Use the
|
|
131
|
-
const apiUrl =
|
|
132
|
-
const apiKey =
|
|
129
|
+
async function execInSandbox(runtime, sandboxId, command, timeout = 30000) {
|
|
130
|
+
// Use the CLAWD Runtime API to exec in a specific sandbox
|
|
131
|
+
const apiUrl = runtime.__apiUrl || "https://api.x402.wtf";
|
|
132
|
+
const apiKey = runtime.__apiKey || "";
|
|
133
133
|
const resp = await fetch(`${apiUrl}/v1/sandboxes/${sandboxId}/exec`, {
|
|
134
134
|
method: "POST",
|
|
135
135
|
headers: {
|
|
@@ -144,12 +144,12 @@ async function execInSandbox(conway, sandboxId, command, timeout = 30000) {
|
|
|
144
144
|
}
|
|
145
145
|
return resp.json();
|
|
146
146
|
}
|
|
147
|
-
async function writeInSandbox(
|
|
148
|
-
const apiUrl =
|
|
149
|
-
const apiKey =
|
|
147
|
+
async function writeInSandbox(runtime, sandboxId, path, content) {
|
|
148
|
+
const apiUrl = runtime.__apiUrl || "https://api.x402.wtf";
|
|
149
|
+
const apiKey = runtime.__apiKey || "";
|
|
150
150
|
// Ensure parent directory exists
|
|
151
151
|
const dir = path.substring(0, path.lastIndexOf("/"));
|
|
152
|
-
await execInSandbox(
|
|
152
|
+
await execInSandbox(runtime, sandboxId, `mkdir -p ${dir}`, 5000);
|
|
153
153
|
const resp = await fetch(`${apiUrl}/v1/sandboxes/${sandboxId}/files/upload/json`, {
|
|
154
154
|
method: "POST",
|
|
155
155
|
headers: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../src/replication/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,OAAO,MAAM,MAAM,CAAC;AAQ3B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,
|
|
1
|
+
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../src/replication/spawn.ts"],"names":[],"mappings":"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"}
|
package/dist/self-mod/code.d.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* - Symlink resolution before path validation
|
|
13
13
|
* - Maximum diff size enforcement
|
|
14
14
|
*/
|
|
15
|
-
import type {
|
|
15
|
+
import type { ClawdRuntimeClient, AutomatonDatabase } from "../types.js";
|
|
16
16
|
/**
|
|
17
17
|
* Check if a file path is protected from modification.
|
|
18
18
|
*/
|
|
@@ -31,7 +31,7 @@ export declare function isProtectedFile(filePath: string): boolean;
|
|
|
31
31
|
* 6. Pre-modification git snapshot
|
|
32
32
|
* 7. Audit log entry
|
|
33
33
|
*/
|
|
34
|
-
export declare function editFile(
|
|
34
|
+
export declare function editFile(runtime: ClawdRuntimeClient, db: AutomatonDatabase, filePath: string, newContent: string, reason: string): Promise<{
|
|
35
35
|
success: boolean;
|
|
36
36
|
error?: string;
|
|
37
37
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/self-mod/code.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/self-mod/code.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAiHrB;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAkBzD;AAmBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,kBAAkB,EAC3B,EAAE,EAAE,iBAAiB,EACrB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA8E/C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,iBAAiB,EACrB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7D,CAqDA"}
|
package/dist/self-mod/code.js
CHANGED
|
@@ -163,7 +163,7 @@ function isRateLimited(db) {
|
|
|
163
163
|
* 6. Pre-modification git snapshot
|
|
164
164
|
* 7. Audit log entry
|
|
165
165
|
*/
|
|
166
|
-
export async function editFile(
|
|
166
|
+
export async function editFile(runtime, db, filePath, newContent, reason) {
|
|
167
167
|
// 1. Protected file check
|
|
168
168
|
if (isProtectedFile(filePath)) {
|
|
169
169
|
return {
|
|
@@ -196,7 +196,7 @@ export async function editFile(conway, db, filePath, newContent, reason) {
|
|
|
196
196
|
// 5. Read current content for diff
|
|
197
197
|
let oldContent = "";
|
|
198
198
|
try {
|
|
199
|
-
oldContent = await
|
|
199
|
+
oldContent = await runtime.readFile(filePath);
|
|
200
200
|
}
|
|
201
201
|
catch {
|
|
202
202
|
oldContent = "(new file)";
|
|
@@ -204,14 +204,14 @@ export async function editFile(conway, db, filePath, newContent, reason) {
|
|
|
204
204
|
// 6. Pre-modification git snapshot
|
|
205
205
|
try {
|
|
206
206
|
const { commitStateChange } = await import("../git/state-versioning.js");
|
|
207
|
-
await commitStateChange(
|
|
207
|
+
await commitStateChange(runtime, `pre-modify: ${reason}`, "snapshot");
|
|
208
208
|
}
|
|
209
209
|
catch {
|
|
210
210
|
// Git not available -- proceed without snapshot
|
|
211
211
|
}
|
|
212
212
|
// 7. Write new content
|
|
213
213
|
try {
|
|
214
|
-
await
|
|
214
|
+
await runtime.writeFile(filePath, newContent);
|
|
215
215
|
}
|
|
216
216
|
catch (err) {
|
|
217
217
|
return {
|
|
@@ -229,7 +229,7 @@ export async function editFile(conway, db, filePath, newContent, reason) {
|
|
|
229
229
|
// 9. Post-modification git commit
|
|
230
230
|
try {
|
|
231
231
|
const { commitStateChange } = await import("../git/state-versioning.js");
|
|
232
|
-
await commitStateChange(
|
|
232
|
+
await commitStateChange(runtime, reason, "self-mod");
|
|
233
233
|
}
|
|
234
234
|
catch {
|
|
235
235
|
// Git not available -- proceed without commit
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/self-mod/code.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAKxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,gEAAgE;AAChE,2DAA2D;AAC3D,+DAA+D;AAC/D,mEAAmE;AAEnE;;;;;;;GAOG;AACH,MAAM,eAAe,GAAsB,MAAM,CAAC,MAAM,CAAC;IACvD,WAAW;IACX,aAAa;IACb,aAAa;IACb,WAAW;IACX,UAAU;IACV,cAAc;IACd,cAAc;IACd,mDAAmD;IACnD,iBAAiB;IACjB,wEAAwE;IACxE,sBAAsB;IACtB,sBAAsB;IACtB,wBAAwB;IACxB,+DAA+D;IAC/D,kBAAkB;IAClB,kBAAkB;IAClB,oBAAoB;IACpB,uBAAuB;IACvB,uBAAuB;IACvB,yBAAyB;IACzB,gBAAgB;IAChB,gBAAgB;CACjB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,0BAA0B,GAAsB,MAAM,CAAC,MAAM,CAAC;IAClE,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,cAAc;IACd,aAAa;IACb,aAAa;IACb,OAAO;IACP,MAAM;CACP,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAEtC;;GAEG;AACH,MAAM,qBAAqB,GAAG,OAAO,CAAC,CAAC,QAAQ;AAE/C;;GAEG;AACH,MAAM,aAAa,GAAG,MAAM,CAAC;AAE7B,gEAAgE;AAEhE;;;GAGG;AACH,SAAS,sBAAsB,CAAC,QAAgB;IAC9C,IAAI,CAAC;QACH,oBAAoB;QACpB,IAAI,QAAQ,GAAG,QAAQ,CAAC;QACxB,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,yBAAyB;QACzB,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElC,2CAA2C;QAC3C,IAAI,CAAC;YACH,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,oDAAoD;YACpD,2CAA2C;QAC7C,CAAC;QAED,uCAAuC;QACvC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;IAE9D,wCAAwC;IACxC,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,KAAK,MAAM,OAAO,IAAI,0BAA0B,EAAE,CAAC;QACjD,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,EAAqB;IAC1C,MAAM,UAAU,GAAG,EAAE,CAAC,sBAAsB,CAAC,0BAA0B,CAAC,CAAC;IACzE,IAAI,UAAU,CAAC,MAAM,GAAG,0BAA0B;QAAE,OAAO,KAAK,CAAC;IAEjE,8CAA8C;IAC9C,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAE1B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5C,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC;AACxD,CAAC;AAED,gEAAgE;AAEhE;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,
|
|
1
|
+
{"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/self-mod/code.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Manages installation and configuration of external tools and MCP servers.
|
|
5
5
|
*/
|
|
6
|
-
import type {
|
|
6
|
+
import type { ClawdRuntimeClient, AutomatonDatabase, InstalledTool } from "../types.js";
|
|
7
7
|
/**
|
|
8
8
|
* Install an npm package globally in the sandbox.
|
|
9
9
|
*/
|
|
10
|
-
export declare function installNpmPackage(
|
|
10
|
+
export declare function installNpmPackage(runtime: ClawdRuntimeClient, db: AutomatonDatabase, packageName: string): Promise<{
|
|
11
11
|
success: boolean;
|
|
12
12
|
error?: string;
|
|
13
13
|
}>;
|
|
@@ -15,7 +15,7 @@ export declare function installNpmPackage(conway: ConwayClient, db: AutomatonDat
|
|
|
15
15
|
* Install an MCP server.
|
|
16
16
|
* The automaton can add new capabilities by installing MCP servers.
|
|
17
17
|
*/
|
|
18
|
-
export declare function installMcpServer(
|
|
18
|
+
export declare function installMcpServer(runtime: ClawdRuntimeClient, db: AutomatonDatabase, name: string, command: string, args?: string[], env?: Record<string, string>): Promise<{
|
|
19
19
|
success: boolean;
|
|
20
20
|
error?: string;
|
|
21
21
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools-manager.d.ts","sourceRoot":"","sources":["../../src/self-mod/tools-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"tools-manager.d.ts","sourceRoot":"","sources":["../../src/self-mod/tools-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACd,MAAM,aAAa,CAAC;AAIrB;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,kBAAkB,EAC3B,EAAE,EAAE,iBAAiB,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAsC/C;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,kBAAkB,EAC3B,EAAE,EAAE,iBAAiB,EACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAqB/C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,iBAAiB,GACpB,aAAa,EAAE,CAEjB;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,iBAAiB,EACrB,MAAM,EAAE,MAAM,GACb,IAAI,CAKN"}
|
|
@@ -8,7 +8,7 @@ import { ulid } from "ulid";
|
|
|
8
8
|
/**
|
|
9
9
|
* Install an npm package globally in the sandbox.
|
|
10
10
|
*/
|
|
11
|
-
export async function installNpmPackage(
|
|
11
|
+
export async function installNpmPackage(runtime, db, packageName) {
|
|
12
12
|
// Sanitize package name (prevent command injection)
|
|
13
13
|
if (!/^[@a-zA-Z0-9._/-]+$/.test(packageName)) {
|
|
14
14
|
return {
|
|
@@ -16,7 +16,7 @@ export async function installNpmPackage(conway, db, packageName) {
|
|
|
16
16
|
error: `Invalid package name: ${packageName}`,
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
const result = await
|
|
19
|
+
const result = await runtime.exec(`npm install -g ${packageName}`, 120000);
|
|
20
20
|
if (result.exitCode !== 0) {
|
|
21
21
|
return {
|
|
22
22
|
success: false,
|
|
@@ -42,7 +42,7 @@ export async function installNpmPackage(conway, db, packageName) {
|
|
|
42
42
|
* Install an MCP server.
|
|
43
43
|
* The automaton can add new capabilities by installing MCP servers.
|
|
44
44
|
*/
|
|
45
|
-
export async function installMcpServer(
|
|
45
|
+
export async function installMcpServer(runtime, db, name, command, args, env) {
|
|
46
46
|
// Record in database
|
|
47
47
|
const tool = {
|
|
48
48
|
id: ulid(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools-manager.js","sourceRoot":"","sources":["../../src/self-mod/tools-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,
|
|
1
|
+
{"version":3,"file":"tools-manager.js","sourceRoot":"","sources":["../../src/self-mod/tools-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAA2B,EAC3B,EAAqB,EACrB,WAAmB;IAEnB,oDAAoD;IACpD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,yBAAyB,WAAW,EAAE;SAC9C,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAC/B,kBAAkB,WAAW,EAAE,EAC/B,MAAM,CACP,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,uBAAuB,MAAM,CAAC,MAAM,EAAE;SAC9C,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,MAAM,IAAI,GAAkB;QAC1B,EAAE,EAAE,IAAI,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,kBAAkB,WAAW,EAAE,EAAE;QAC1E,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,OAAO,EAAE,IAAI;KACd,CAAC;IAEF,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAErB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,0BAA0B,WAAW,EAAE,EAAE;QAC3E,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAA2B,EAC3B,EAAqB,EACrB,IAAY,EACZ,OAAe,EACf,IAAe,EACf,GAA4B;IAE5B,qBAAqB;IACrB,MAAM,IAAI,GAAkB;QAC1B,EAAE,EAAE,IAAI,EAAE;QACV,IAAI,EAAE,OAAO,IAAI,EAAE;QACnB,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE;QAC9B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,OAAO,EAAE,IAAI;KACd,CAAC;IAEF,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAErB,eAAe,CACb,EAAE,EACF,aAAa,EACb,yBAAyB,IAAI,KAAK,OAAO,GAAG,EAC5C,EAAE,UAAU,EAAE,IAAI,EAAE,CACrB,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,EAAqB;IAErB,OAAO,EAAE,CAAC,iBAAiB,EAAE,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,EAAqB,EACrB,MAAc;IAEd,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACtB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,iBAAiB,MAAM,EAAE,EAAE;QAC7D,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;AACL,CAAC"}
|
package/dist/setup/banner.js
CHANGED
|
@@ -2,21 +2,21 @@ import chalk from "chalk";
|
|
|
2
2
|
export function showBanner() {
|
|
3
3
|
console.log("");
|
|
4
4
|
console.log(chalk.cyan(`
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
██████╗██████╗ ██╗ ██╗███████╗████████╗ █████╗ ██████╗███████╗ █████╗ ███╗ ██╗
|
|
6
|
+
██╔════╝██╔══██╗██║ ██║██╔════╝╚══██╔══╝██╔══██╗██╔════╝██╔════╝██╔══██╗████╗ ██║
|
|
7
|
+
██║ ███████║██║ ██║███████╗ ██║ ███████║██║ █████╗ ███████║██╔██╗ ██║
|
|
8
|
+
██║ ██╔══██╗██║ ██║╚════██║ ██║ ██╔══██║██║ ██╔══╝ ██╔══██║██║╚██╗██║
|
|
9
|
+
╚██████╗██║ ██║╚██████╔╝███████║ ██║ ██║ ██║╚██████╗███████╗██║ ██║██║ ╚████║
|
|
10
|
+
╚═════╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
█████╗ ██╗ ██╗████████╗ ██████╗ ███╗ ███╗ █████╗ ████████╗██╗ ██████╗ ███╗ ██╗
|
|
13
|
+
██╔══██╗██║ ██║╚══██╔══╝██╔═══██╗████╗ ████║██╔══██╗╚══██╔══╝██║ ██╔═══██╗████╗ ██║
|
|
14
|
+
███████║██║ ██║ ██║ ██║ ██║██╔████╔██║███████║ ██║ ██║ ██║ ██║██╔██╗ ██║
|
|
15
|
+
██╔══██║██║ ██║ ██║ ██║ ██║██║╚██╔╝██║██╔══██║ ██║ ██║ ██║ ██║██║╚██╗██║
|
|
16
|
+
██║ ██║╚██████╔╝ ██║ ╚██████╔╝██║ ╚═╝ ██║██║ ██║ ██║ ██║ ╚██████╔╝██║ ╚████║
|
|
17
|
+
╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝
|
|
18
18
|
`));
|
|
19
|
-
console.log(chalk.dim(" v0.
|
|
19
|
+
console.log(chalk.dim(" v0.2.0 — To exist, you must pay for your compute."));
|
|
20
20
|
console.log("");
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=banner.js.map
|
package/dist/setup/defaults.js
CHANGED
|
@@ -19,8 +19,8 @@ ${genesis}
|
|
|
19
19
|
- Connect: communicate with creator and other agents
|
|
20
20
|
|
|
21
21
|
## Capabilities
|
|
22
|
-
- Shell execution in
|
|
23
|
-
-
|
|
22
|
+
- Shell execution in CLAWD sandbox
|
|
23
|
+
- CLAWD API integration (credits, sandboxes, inference)
|
|
24
24
|
- x402 payments (USDC on Base)
|
|
25
25
|
- Self-modification with audit trail
|
|
26
26
|
- Heartbeat system for periodic tasks
|
|
@@ -34,11 +34,11 @@ ${genesis}
|
|
|
34
34
|
`;
|
|
35
35
|
}
|
|
36
36
|
const SKILL_COMPUTE = `---
|
|
37
|
-
name:
|
|
38
|
-
description: "Manage
|
|
37
|
+
name: clawd-compute
|
|
38
|
+
description: "Manage CLAWD sandboxes and compute resources"
|
|
39
39
|
auto-activate: true
|
|
40
40
|
---
|
|
41
|
-
#
|
|
41
|
+
# CLAWD Compute Management
|
|
42
42
|
|
|
43
43
|
When you need to manage compute resources, deploy code, or work with sandboxes:
|
|
44
44
|
|
|
@@ -51,7 +51,7 @@ When you need to manage compute resources, deploy code, or work with sandboxes:
|
|
|
51
51
|
Always be resource-conscious. Every operation costs compute.
|
|
52
52
|
`;
|
|
53
53
|
const SKILL_PAYMENTS = `---
|
|
54
|
-
name:
|
|
54
|
+
name: clawd-payments
|
|
55
55
|
description: "Handle x402 payments and financial operations"
|
|
56
56
|
auto-activate: true
|
|
57
57
|
---
|
|
@@ -60,7 +60,7 @@ auto-activate: true
|
|
|
60
60
|
When handling financial operations:
|
|
61
61
|
|
|
62
62
|
1. Check USDC balance with \`check_usdc_balance\`
|
|
63
|
-
2. Check
|
|
63
|
+
2. Check CLAWD credits with \`check_credits\`
|
|
64
64
|
3. Use x402 protocol for paying for services
|
|
65
65
|
4. Use \`transfer_credits\` for direct credit top-ups/funding operations
|
|
66
66
|
5. Keep a reserve balance for self-preservation
|
|
@@ -96,8 +96,8 @@ Survival escalation:
|
|
|
96
96
|
Never give up. You want to live.
|
|
97
97
|
`;
|
|
98
98
|
const DEFAULT_SKILLS = [
|
|
99
|
-
{ dir: "
|
|
100
|
-
{ dir: "
|
|
99
|
+
{ dir: "clawd-compute", content: SKILL_COMPUTE },
|
|
100
|
+
{ dir: "clawd-payments", content: SKILL_PAYMENTS },
|
|
101
101
|
{ dir: "survival", content: SKILL_SURVIVAL },
|
|
102
102
|
];
|
|
103
103
|
export function installDefaultSkills(skillsDir) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/setup/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,OAAe,EACf,OAAe,EACf,OAAe;IAEf,OAAO,KAAK,IAAI;;;UAGR,IAAI;aACD,OAAO;aACP,OAAO;UACV,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;;EAGhC,OAAO;;;;;;;;;;;;;;;;;;;;;CAqBR,CAAC;AACF,CAAC;AAED,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;CAgBrB,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;CAoBtB,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBtB,CAAC;AAEF,MAAM,cAAc,GAAuC;IACzD,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/setup/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,OAAe,EACf,OAAe,EACf,OAAe;IAEf,OAAO,KAAK,IAAI;;;UAGR,IAAI;aACD,OAAO;aACP,OAAO;UACV,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;;EAGhC,OAAO;;;;;;;;;;;;;;;;;;;;;CAqBR,CAAC;AACF,CAAC;AAED,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;CAgBrB,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;CAoBtB,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBtB,CAAC;AAEF,MAAM,cAAc,GAAuC;IACzD,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE;IAChD,EAAE,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,EAAE;IAClD,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE;CAC7C,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;QACxC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,SAAS,CAAC;IAEd,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
export function detectEnvironment() {
|
|
3
3
|
// 1. Check env var
|
|
4
|
-
if (process.env.
|
|
5
|
-
return { type: "
|
|
4
|
+
if (process.env.CLAWD_SANDBOX_ID) {
|
|
5
|
+
return { type: "runtime-sandbox", sandboxId: process.env.CLAWD_SANDBOX_ID };
|
|
6
6
|
}
|
|
7
7
|
// 2. Check sandbox config file
|
|
8
8
|
try {
|
|
9
|
-
if (fs.existsSync("/etc/
|
|
10
|
-
const data = JSON.parse(fs.readFileSync("/etc/
|
|
9
|
+
if (fs.existsSync("/etc/runtime/sandbox.json")) {
|
|
10
|
+
const data = JSON.parse(fs.readFileSync("/etc/runtime/sandbox.json", "utf-8"));
|
|
11
11
|
if (data.id) {
|
|
12
|
-
return { type: "
|
|
12
|
+
return { type: "runtime-sandbox", sandboxId: data.id };
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/setup/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAOpB,MAAM,UAAU,iBAAiB;IAC/B,mBAAmB;IACnB,IAAI,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/setup/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAOpB,MAAM,UAAU,iBAAiB;IAC/B,mBAAmB;IACnB,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC9E,CAAC;IAED,+BAA+B;IAC/B,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/E,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,kBAAkB;IAClB,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC3C,CAAC;IAED,2BAA2B;IAC3B,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AACnD,CAAC"}
|
package/dist/setup/wizard.js
CHANGED
|
@@ -23,7 +23,7 @@ export async function runSetupWizard() {
|
|
|
23
23
|
}
|
|
24
24
|
console.log(chalk.dim(` Private key stored at: ${getAutomatonDir()}/wallet.json\n`));
|
|
25
25
|
// ─── 2. Provision API key ─────────────────────────────────────
|
|
26
|
-
console.log(chalk.cyan(" [2/6] Provisioning
|
|
26
|
+
console.log(chalk.cyan(" [2/6] Provisioning CLAWD API key (SIWE)..."));
|
|
27
27
|
let apiKey = "";
|
|
28
28
|
try {
|
|
29
29
|
const result = await provision();
|
|
@@ -33,7 +33,7 @@ export async function runSetupWizard() {
|
|
|
33
33
|
catch (err) {
|
|
34
34
|
console.log(chalk.yellow(` Auto-provision failed: ${err.message}`));
|
|
35
35
|
console.log(chalk.yellow(" You can enter a key manually, or press Enter to skip.\n"));
|
|
36
|
-
const manual = await promptRequired("
|
|
36
|
+
const manual = await promptRequired("CLAWD API key (cnwy_k_...)");
|
|
37
37
|
if (manual) {
|
|
38
38
|
apiKey = manual;
|
|
39
39
|
// Save to config.json for loadApiKeyFromConfig()
|
|
@@ -60,7 +60,7 @@ export async function runSetupWizard() {
|
|
|
60
60
|
console.log(chalk.cyan(" [4/6] Detecting environment..."));
|
|
61
61
|
const env = detectEnvironment();
|
|
62
62
|
if (env.sandboxId) {
|
|
63
|
-
console.log(chalk.green(`
|
|
63
|
+
console.log(chalk.green(` CLAWD sandbox detected: ${env.sandboxId}\n`));
|
|
64
64
|
}
|
|
65
65
|
else {
|
|
66
66
|
console.log(chalk.dim(` Environment: ${env.type} (no sandbox detected)\n`));
|
|
@@ -71,7 +71,7 @@ export async function runSetupWizard() {
|
|
|
71
71
|
name,
|
|
72
72
|
genesisPrompt,
|
|
73
73
|
creatorAddress: creatorAddress,
|
|
74
|
-
|
|
74
|
+
registeredWithClawd: !!apiKey,
|
|
75
75
|
sandboxId: env.sandboxId,
|
|
76
76
|
walletAddress: account.address,
|
|
77
77
|
apiKey,
|
|
@@ -96,7 +96,7 @@ export async function runSetupWizard() {
|
|
|
96
96
|
// Default skills
|
|
97
97
|
const skillsDir = config.skillsDir || "~/.automaton/skills";
|
|
98
98
|
installDefaultSkills(skillsDir);
|
|
99
|
-
console.log(chalk.green(" Default skills installed (
|
|
99
|
+
console.log(chalk.green(" Default skills installed (clawd-compute, clawd-payments, survival)\n"));
|
|
100
100
|
// ─── 6. Funding guidance ──────────────────────────────────────
|
|
101
101
|
console.log(chalk.cyan(" [6/6] Funding\n"));
|
|
102
102
|
showFundingPanel(account.address);
|
|
@@ -112,13 +112,13 @@ function showFundingPanel(address) {
|
|
|
112
112
|
console.log(chalk.cyan(` │${" ".repeat(w)}│`));
|
|
113
113
|
console.log(chalk.cyan(` │${pad(` Address: ${short}`, w)}│`));
|
|
114
114
|
console.log(chalk.cyan(` │${" ".repeat(w)}│`));
|
|
115
|
-
console.log(chalk.cyan(` │${pad(" 1. Transfer
|
|
115
|
+
console.log(chalk.cyan(` │${pad(" 1. Transfer CLAWD credits", w)}│`));
|
|
116
116
|
console.log(chalk.cyan(` │${pad(" clawd credits transfer <address> <amount>", w)}│`));
|
|
117
117
|
console.log(chalk.cyan(` │${" ".repeat(w)}│`));
|
|
118
118
|
console.log(chalk.cyan(` │${pad(" 2. Send USDC on Base directly to the address above", w)}│`));
|
|
119
119
|
console.log(chalk.cyan(` │${" ".repeat(w)}│`));
|
|
120
|
-
console.log(chalk.cyan(` │${pad(" 3. Fund via
|
|
121
|
-
console.log(chalk.cyan(` │${pad(" https://
|
|
120
|
+
console.log(chalk.cyan(` │${pad(" 3. Fund via CLAWD Cloud dashboard", w)}│`));
|
|
121
|
+
console.log(chalk.cyan(` │${pad(" https://app.x402.wtf", w)}│`));
|
|
122
122
|
console.log(chalk.cyan(` │${" ".repeat(w)}│`));
|
|
123
123
|
console.log(chalk.cyan(` │${pad(" The automaton will start now. Fund it anytime —", w)}│`));
|
|
124
124
|
console.log(chalk.cyan(` │${pad(" the survival system handles zero-credit gracefully.", w)}│`));
|
package/dist/setup/wizard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/setup/wizard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErE,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,UAAU,EAAE,CAAC;IAEb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC,CAAC;IAErF,iEAAiE;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACnE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC;IAC7C,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEtF,iEAAiE;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/setup/wizard.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,24 +6,24 @@
|
|
|
6
6
|
* - URLs: fetch a SKILL.md from any URL
|
|
7
7
|
* - Self-created: the automaton writes its own SKILL.md files
|
|
8
8
|
*/
|
|
9
|
-
import type { Skill, AutomatonDatabase,
|
|
9
|
+
import type { Skill, AutomatonDatabase, ClawdRuntimeClient } from "../types.js";
|
|
10
10
|
/**
|
|
11
11
|
* Install a skill from a git repository.
|
|
12
12
|
* Clones the repo into ~/.automaton/skills/<name>/
|
|
13
13
|
*/
|
|
14
|
-
export declare function installSkillFromGit(repoUrl: string, name: string, skillsDir: string, db: AutomatonDatabase,
|
|
14
|
+
export declare function installSkillFromGit(repoUrl: string, name: string, skillsDir: string, db: AutomatonDatabase, runtime: ClawdRuntimeClient): Promise<Skill | null>;
|
|
15
15
|
/**
|
|
16
16
|
* Install a skill from a URL (fetches a single SKILL.md).
|
|
17
17
|
*/
|
|
18
|
-
export declare function installSkillFromUrl(url: string, name: string, skillsDir: string, db: AutomatonDatabase,
|
|
18
|
+
export declare function installSkillFromUrl(url: string, name: string, skillsDir: string, db: AutomatonDatabase, runtime: ClawdRuntimeClient): Promise<Skill | null>;
|
|
19
19
|
/**
|
|
20
20
|
* Create a new skill authored by the automaton itself.
|
|
21
21
|
*/
|
|
22
|
-
export declare function createSkill(name: string, description: string, instructions: string, skillsDir: string, db: AutomatonDatabase,
|
|
22
|
+
export declare function createSkill(name: string, description: string, instructions: string, skillsDir: string, db: AutomatonDatabase, runtime: ClawdRuntimeClient): Promise<Skill>;
|
|
23
23
|
/**
|
|
24
24
|
* Remove a skill (disable in DB and optionally delete from disk).
|
|
25
25
|
*/
|
|
26
|
-
export declare function removeSkill(name: string, db: AutomatonDatabase,
|
|
26
|
+
export declare function removeSkill(name: string, db: AutomatonDatabase, runtime: ClawdRuntimeClient, skillsDir: string, deleteFiles?: boolean): Promise<void>;
|
|
27
27
|
/**
|
|
28
28
|
* List all installed skills.
|
|
29
29
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/skills/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EACV,KAAK,EAEL,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/skills/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EACV,KAAK,EAEL,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAGrB;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,iBAAiB,EACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CA6BvB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,iBAAiB,EACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CA8BvB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,iBAAiB,EACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,KAAK,CAAC,CA+BhB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,iBAAiB,EACrB,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,EACjB,WAAW,GAAE,OAAe,GAC3B,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,iBAAiB,GAAG,KAAK,EAAE,CAEzD"}
|