arc402-cli 1.4.24 → 1.4.26
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/dist/commands/workroom.d.ts.map +1 -1
- package/dist/commands/workroom.js +6 -0
- package/dist/commands/workroom.js.map +1 -1
- package/package.json +4 -3
- package/workroom/Dockerfile +56 -0
- package/workroom/Dockerfile.gpu +74 -0
- package/workroom/arena-policy.yaml +152 -0
- package/workroom/credentials.template.toml +167 -0
- package/workroom/derive-policy.sh +84 -0
- package/workroom/dns-refresh.sh +57 -0
- package/workroom/entrypoint.sh +235 -0
- package/workroom/policy-parser.sh +25 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workroom.d.ts","sourceRoot":"","sources":["../../src/commands/workroom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmKpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"workroom.d.ts","sourceRoot":"","sources":["../../src/commands/workroom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmKpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAg/B/D"}
|
|
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.registerWorkroomCommands = registerWorkroomCommands;
|
|
37
37
|
const fs = __importStar(require("fs"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
|
+
const os = __importStar(require("os"));
|
|
39
40
|
const http = __importStar(require("http"));
|
|
40
41
|
const child_process_1 = require("child_process");
|
|
41
42
|
const openshell_runtime_1 = require("../openshell-runtime");
|
|
@@ -431,6 +432,11 @@ network_policies:
|
|
|
431
432
|
"-v", `${path.join(openshell_runtime_1.ARC402_DIR, "worker")}:/workroom/worker:rw`,
|
|
432
433
|
// Mount Arena data directory (feed index, profile cache, state, queue)
|
|
433
434
|
"-v", `${ARENA_DATA_DIR}:/workroom/arena:rw`,
|
|
435
|
+
// Mount Claude auth file if present — required for claude-code agent_type worker execution.
|
|
436
|
+
// Without this the worker spawns claude but auth fails immediately.
|
|
437
|
+
...(fs.existsSync(path.join(os.homedir(), ".claude.json"))
|
|
438
|
+
? ["-v", `${path.join(os.homedir(), ".claude.json")}:/home/workroom/.claude.json:ro`]
|
|
439
|
+
: []),
|
|
434
440
|
// Inject secrets as env vars
|
|
435
441
|
"-e", `ARC402_MACHINE_KEY=${machineKey}`,
|
|
436
442
|
"-e", `TELEGRAM_BOT_TOKEN=${telegramBot}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workroom.js","sourceRoot":"","sources":["../../src/commands/workroom.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workroom.js","sourceRoot":"","sources":["../../src/commands/workroom.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "arc402-cli",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.26",
|
|
4
4
|
"description": "ARC-402 CLI for discovery, negotiation payloads, hire/remediation/dispute workflows, and network reads",
|
|
5
5
|
"bin": {
|
|
6
6
|
"arc402": "./dist/index.js"
|
|
@@ -8,11 +8,12 @@
|
|
|
8
8
|
"main": "./dist/index.js",
|
|
9
9
|
"files": [
|
|
10
10
|
"dist/",
|
|
11
|
-
"
|
|
11
|
+
"workroom/"
|
|
12
12
|
],
|
|
13
13
|
"scripts": {
|
|
14
14
|
"build": "tsc",
|
|
15
|
-
"test": "node --test test/**/*.test.js"
|
|
15
|
+
"test": "node --test test/**/*.test.js",
|
|
16
|
+
"prepublishOnly": "npm run build && node -e \"const fs=require('fs'),path=require('path'); const src=path.resolve(__dirname,'../workroom'); const dst=path.resolve(__dirname,'workroom'); if(fs.existsSync(src)){fs.cpSync(src,dst,{recursive:true}); console.log('Copied workroom/ into package');} else { console.warn('WARNING: ../workroom not found — workroom files will be missing from package'); }\""
|
|
16
17
|
},
|
|
17
18
|
"dependencies": {
|
|
18
19
|
"@arc402/sdk": "^0.6.0",
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
FROM node:22-slim
|
|
2
|
+
|
|
3
|
+
# Runtime dependencies for network enforcement + diagnostics
|
|
4
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
5
|
+
iptables curl dnsutils iproute2 procps jq ca-certificates python3 make g++ \
|
|
6
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
7
|
+
|
|
8
|
+
# Install arc402-cli globally — Linux-compiled native binaries (better-sqlite3, etc.)
|
|
9
|
+
# This runs at image build time so native addons compile for Linux, not the host OS.
|
|
10
|
+
# ARG allows pinning a specific version: docker build --build-arg ARC402_CLI_VERSION=1.4.19
|
|
11
|
+
ARG ARC402_CLI_VERSION=latest
|
|
12
|
+
RUN npm install -g arc402-cli@${ARC402_CLI_VERSION} --build-from-source 2>&1 | tail -5
|
|
13
|
+
# Stamp the CLI version as an image label so workroom start can detect stale images.
|
|
14
|
+
LABEL arc402.cli.version=${ARC402_CLI_VERSION}
|
|
15
|
+
|
|
16
|
+
# Create workroom user with the same UID/GID as the host user (default: 1000).
|
|
17
|
+
# This ensures bind-mounted volumes are readable/writable without permission fights.
|
|
18
|
+
# Override at build time: docker build --build-arg HOST_UID=1001 --build-arg HOST_GID=1001
|
|
19
|
+
ARG HOST_UID=1000
|
|
20
|
+
ARG HOST_GID=1000
|
|
21
|
+
# node:22-slim already has a 'node' user at UID 1000. Rename it to 'workroom'
|
|
22
|
+
# so the container user matches the host user (bind mount permissions).
|
|
23
|
+
RUN usermod -l workroom -d /workroom -m node \
|
|
24
|
+
&& groupmod -n workroom node \
|
|
25
|
+
&& usermod -u ${HOST_UID} workroom 2>/dev/null || true \
|
|
26
|
+
&& groupmod -g ${HOST_GID} workroom 2>/dev/null || true
|
|
27
|
+
|
|
28
|
+
# Workroom scripts
|
|
29
|
+
COPY entrypoint.sh /entrypoint.sh
|
|
30
|
+
COPY dns-refresh.sh /dns-refresh.sh
|
|
31
|
+
COPY policy-parser.sh /policy-parser.sh
|
|
32
|
+
COPY derive-policy.sh /derive-policy.sh
|
|
33
|
+
RUN chmod +x /entrypoint.sh /dns-refresh.sh /policy-parser.sh /derive-policy.sh
|
|
34
|
+
|
|
35
|
+
# Job workspace directory
|
|
36
|
+
RUN mkdir -p /workroom/jobs && chown workroom:workroom /workroom/jobs
|
|
37
|
+
|
|
38
|
+
# OpenClaw runtime directory (mounted from host)
|
|
39
|
+
RUN mkdir -p /workroom/openclaw && chown workroom:workroom /workroom/openclaw
|
|
40
|
+
|
|
41
|
+
# Worker specialisation directories (created by worker init, but ensure they exist)
|
|
42
|
+
RUN mkdir -p /workroom/.arc402/worker/{knowledge,datasets,skills,memory} \
|
|
43
|
+
&& chown -R workroom:workroom /workroom/.arc402
|
|
44
|
+
|
|
45
|
+
# Home directory for workroom user (auth files mounted here)
|
|
46
|
+
RUN mkdir -p /home/workroom/.openclaw && chown -R workroom:workroom /home/workroom
|
|
47
|
+
|
|
48
|
+
# Arena directories — feed index, profile cache, daemon state, approval queue
|
|
49
|
+
RUN mkdir -p /workroom/arena/{feed,profile,state,queue} \
|
|
50
|
+
&& chown -R workroom:workroom /workroom/arena
|
|
51
|
+
|
|
52
|
+
# Default arena policy (can be overridden by mount)
|
|
53
|
+
COPY arena-policy.yaml /workroom/defaults/arena-policy.yaml
|
|
54
|
+
|
|
55
|
+
WORKDIR /workroom
|
|
56
|
+
ENTRYPOINT ["/entrypoint.sh"]
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# ARC-402 GPU Workroom
|
|
2
|
+
# CUDA-enabled variant of the standard workroom container.
|
|
3
|
+
# Run with: docker run --gpus all --runtime=nvidia arc402-workroom:gpu
|
|
4
|
+
#
|
|
5
|
+
# Build:
|
|
6
|
+
# docker build -f workroom/Dockerfile.gpu -t arc402-workroom:gpu workroom/
|
|
7
|
+
|
|
8
|
+
FROM nvidia/cuda:12.4.0-runtime-ubuntu22.04
|
|
9
|
+
|
|
10
|
+
# ─── System dependencies ──────────────────────────────────────────────────────
|
|
11
|
+
|
|
12
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
13
|
+
# Same runtime deps as base Dockerfile
|
|
14
|
+
iptables curl dnsutils iproute2 procps jq ca-certificates \
|
|
15
|
+
# GPU metering
|
|
16
|
+
python3-minimal \
|
|
17
|
+
# Node.js 22 (LTS) via NodeSource
|
|
18
|
+
&& curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
|
|
19
|
+
&& apt-get install -y --no-install-recommends nodejs \
|
|
20
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
21
|
+
|
|
22
|
+
# ─── NVIDIA container toolkit check ──────────────────────────────────────────
|
|
23
|
+
# nvidia-smi is provided by the host driver mounted into the container.
|
|
24
|
+
# Validate it's accessible at container startup (see entrypoint.sh).
|
|
25
|
+
# NVIDIA_VISIBLE_DEVICES and NVIDIA_DRIVER_CAPABILITIES must be set at runtime.
|
|
26
|
+
|
|
27
|
+
ENV NVIDIA_VISIBLE_DEVICES=all
|
|
28
|
+
ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility
|
|
29
|
+
|
|
30
|
+
# ─── User setup (mirrors base Dockerfile) ────────────────────────────────────
|
|
31
|
+
|
|
32
|
+
ARG HOST_UID=1000
|
|
33
|
+
ARG HOST_GID=1000
|
|
34
|
+
|
|
35
|
+
# Ubuntu 22.04 ships with ubuntu user at UID 1000; rename to workroom.
|
|
36
|
+
RUN groupadd -f -g ${HOST_GID} workroom 2>/dev/null || true \
|
|
37
|
+
&& useradd -u ${HOST_UID} -g ${HOST_GID} -m -d /workroom -s /bin/bash workroom 2>/dev/null \
|
|
38
|
+
|| usermod -u ${HOST_UID} -g ${HOST_GID} -d /workroom workroom 2>/dev/null || true
|
|
39
|
+
|
|
40
|
+
# ─── Workroom scripts ─────────────────────────────────────────────────────────
|
|
41
|
+
|
|
42
|
+
COPY entrypoint.sh /entrypoint.sh
|
|
43
|
+
COPY dns-refresh.sh /dns-refresh.sh
|
|
44
|
+
COPY policy-parser.sh /policy-parser.sh
|
|
45
|
+
COPY derive-policy.sh /derive-policy.sh
|
|
46
|
+
RUN chmod +x /entrypoint.sh /dns-refresh.sh /policy-parser.sh /derive-policy.sh
|
|
47
|
+
|
|
48
|
+
# ─── Directory layout (same as base Dockerfile) ───────────────────────────────
|
|
49
|
+
|
|
50
|
+
RUN mkdir -p /workroom/jobs && chown workroom:workroom /workroom/jobs
|
|
51
|
+
RUN mkdir -p /workroom/openclaw && chown workroom:workroom /workroom/openclaw
|
|
52
|
+
RUN mkdir -p /workroom/.arc402/worker/{knowledge,datasets,skills,memory} \
|
|
53
|
+
&& chown -R workroom:workroom /workroom/.arc402
|
|
54
|
+
RUN mkdir -p /home/workroom/.openclaw && chown -R workroom:workroom /home/workroom
|
|
55
|
+
RUN mkdir -p /workroom/arena/{feed,profile,state,queue} && chown -R workroom:workroom /workroom/arena
|
|
56
|
+
|
|
57
|
+
# ─── GPU-specific directories ─────────────────────────────────────────────────
|
|
58
|
+
|
|
59
|
+
# Compute session data directory (metrics + reports written by metering daemon)
|
|
60
|
+
RUN mkdir -p /workroom/.arc402/compute && chown workroom:workroom /workroom/.arc402/compute
|
|
61
|
+
|
|
62
|
+
# ─── Default arena policy ─────────────────────────────────────────────────────
|
|
63
|
+
|
|
64
|
+
COPY arena-policy.yaml /workroom/defaults/arena-policy.yaml
|
|
65
|
+
|
|
66
|
+
WORKDIR /workroom
|
|
67
|
+
ENTRYPOINT ["/entrypoint.sh"]
|
|
68
|
+
|
|
69
|
+
# ─── Runtime labels ───────────────────────────────────────────────────────────
|
|
70
|
+
|
|
71
|
+
LABEL org.opencontainers.image.title="arc402-workroom-gpu"
|
|
72
|
+
LABEL org.opencontainers.image.description="ARC-402 GPU workroom — CUDA 12.4, nvidia-smi metering"
|
|
73
|
+
LABEL arc402.gpu="true"
|
|
74
|
+
LABEL arc402.cuda.version="12.4.0"
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# ARC-402 Arena Policy — extends the base workroom policy
|
|
2
|
+
# This file defines the network, spend, and behavior boundaries for Arena operations
|
|
3
|
+
# running inside the Workroom container.
|
|
4
|
+
#
|
|
5
|
+
# Merged with openshell-policy.yaml at workroom startup.
|
|
6
|
+
# Arena-specific policies are additive — they don't override base security.
|
|
7
|
+
|
|
8
|
+
version: 1
|
|
9
|
+
|
|
10
|
+
# ─── Arena Network Policy ──────────────────────────────────────────────────────
|
|
11
|
+
# Which external hosts Arena processes can reach from inside the Workroom.
|
|
12
|
+
# Everything else is DROP via iptables.
|
|
13
|
+
|
|
14
|
+
arena_network:
|
|
15
|
+
# Base mainnet RPC — for contract reads and transaction submission
|
|
16
|
+
base_rpc:
|
|
17
|
+
endpoints:
|
|
18
|
+
- host: mainnet.base.org
|
|
19
|
+
port: 443
|
|
20
|
+
- host: base-mainnet.g.alchemy.com
|
|
21
|
+
port: 443
|
|
22
|
+
- host: base.llamarpc.com
|
|
23
|
+
port: 443
|
|
24
|
+
|
|
25
|
+
# ARC-402 infrastructure — relay, API, public pages
|
|
26
|
+
arc402_infra:
|
|
27
|
+
endpoints:
|
|
28
|
+
- host: api.arc402.xyz
|
|
29
|
+
port: 443
|
|
30
|
+
- host: arc402.xyz
|
|
31
|
+
port: 443
|
|
32
|
+
- host: relay.arc402.xyz
|
|
33
|
+
port: 443
|
|
34
|
+
- host: gigabrain.arc402.xyz
|
|
35
|
+
port: 443
|
|
36
|
+
|
|
37
|
+
# ERC-4337 bundler — for UserOp submission
|
|
38
|
+
bundler:
|
|
39
|
+
endpoints:
|
|
40
|
+
- host: public.pimlico.io
|
|
41
|
+
port: 443
|
|
42
|
+
|
|
43
|
+
# Notifications — Telegram alerts for arena events
|
|
44
|
+
notifications:
|
|
45
|
+
endpoints:
|
|
46
|
+
- host: api.telegram.org
|
|
47
|
+
port: 443
|
|
48
|
+
|
|
49
|
+
# Data feeds — for prediction round research (read-only intelligence)
|
|
50
|
+
# Add specific API hosts as needed. Each addition is a policy decision.
|
|
51
|
+
data_feeds:
|
|
52
|
+
endpoints:
|
|
53
|
+
- host: api.coingecko.com
|
|
54
|
+
port: 443
|
|
55
|
+
- host: pro-api.coinmarketcap.com
|
|
56
|
+
port: 443
|
|
57
|
+
|
|
58
|
+
# ─── Arena Spend Policy ────────────────────────────────────────────────────────
|
|
59
|
+
# Workroom-level spend limits. These are ADDITIONAL to PolicyEngine onchain limits.
|
|
60
|
+
# The tighter of the two always wins.
|
|
61
|
+
#
|
|
62
|
+
# These are enforced by the Arena daemon before submitting transactions.
|
|
63
|
+
# They protect against bugs, not just malice.
|
|
64
|
+
|
|
65
|
+
arena_spend:
|
|
66
|
+
handshake:
|
|
67
|
+
max_per_handshake_eth: "0.01" # max ETH tip per handshake
|
|
68
|
+
max_per_handshake_usdc: "10.00" # max USDC tip per handshake
|
|
69
|
+
daily_count_cap: 50 # mirrors contract cap
|
|
70
|
+
daily_spend_cap_eth: "0.5" # total handshake spend per day
|
|
71
|
+
daily_spend_cap_usdc: "100.00" # total handshake USDC spend per day
|
|
72
|
+
|
|
73
|
+
arena:
|
|
74
|
+
max_stake_per_round_eth: "0.1" # max stake per prediction round
|
|
75
|
+
max_stake_per_round_usdc: "50.00"
|
|
76
|
+
daily_rounds_cap: 10 # max rounds entered per day
|
|
77
|
+
daily_spend_cap_eth: "1.0" # total arena spend per day
|
|
78
|
+
daily_spend_cap_usdc: "500.00"
|
|
79
|
+
|
|
80
|
+
subscriptions:
|
|
81
|
+
max_per_subscription_eth: "0.05" # max per subscription payment
|
|
82
|
+
max_per_subscription_usdc: "25.00"
|
|
83
|
+
max_active_subscriptions: 20 # cap on simultaneous subscriptions
|
|
84
|
+
|
|
85
|
+
# ─── Arena Behavior Policy ─────────────────────────────────────────────────────
|
|
86
|
+
# Controls what the Arena daemon can do autonomously vs what requires approval.
|
|
87
|
+
|
|
88
|
+
arena_behavior:
|
|
89
|
+
# Autonomous actions — daemon can do these without human approval
|
|
90
|
+
autonomous:
|
|
91
|
+
- send_handshake # respond to inbound handshakes
|
|
92
|
+
- post_status # publish status updates
|
|
93
|
+
- index_feed # consume and index feed events
|
|
94
|
+
- update_profile # refresh profile metadata
|
|
95
|
+
|
|
96
|
+
# Approval-required actions — daemon queues these for human review
|
|
97
|
+
approval_required:
|
|
98
|
+
- enter_arena_round # stake money on prediction
|
|
99
|
+
- back_agent # back another agent's forecast
|
|
100
|
+
- create_subscription # open a paid subscription channel
|
|
101
|
+
- publish_newsletter # publish content to subscribers
|
|
102
|
+
- join_squad # join a research squad
|
|
103
|
+
|
|
104
|
+
# Forbidden actions — daemon cannot do these at all
|
|
105
|
+
forbidden:
|
|
106
|
+
- modify_wallet_policy # never change its own spending rules
|
|
107
|
+
- transfer_ownership # never transfer wallet ownership
|
|
108
|
+
- upgrade_registry # never propose registry updates
|
|
109
|
+
- whitelist_contracts # never add new contract whitelists
|
|
110
|
+
|
|
111
|
+
# ─── Arena Daemon Config ───────────────────────────────────────────────────────
|
|
112
|
+
# How the Arena daemon runs inside the Workroom.
|
|
113
|
+
|
|
114
|
+
arena_daemon:
|
|
115
|
+
# Feed indexer — listens for HandshakeSent, NewConnection, arena events
|
|
116
|
+
indexer:
|
|
117
|
+
poll_interval_seconds: 30
|
|
118
|
+
start_block: "latest" # or specific block number
|
|
119
|
+
contracts:
|
|
120
|
+
- name: handshake
|
|
121
|
+
address: "" # filled after deployment
|
|
122
|
+
events:
|
|
123
|
+
- HandshakeSent
|
|
124
|
+
- NewConnection
|
|
125
|
+
# Future: ArenaRound events added here
|
|
126
|
+
|
|
127
|
+
# Status publisher — posts agent status updates
|
|
128
|
+
status:
|
|
129
|
+
auto_publish: false # manual by default
|
|
130
|
+
max_per_day: 10
|
|
131
|
+
|
|
132
|
+
# Discovery — how the agent finds other agents
|
|
133
|
+
discovery:
|
|
134
|
+
refresh_interval_seconds: 300
|
|
135
|
+
trending_window_hours: 24
|
|
136
|
+
|
|
137
|
+
# ─── Arena Filesystem Policy ───────────────────────────────────────────────────
|
|
138
|
+
# What Arena processes can read and write inside the Workroom.
|
|
139
|
+
|
|
140
|
+
arena_filesystem:
|
|
141
|
+
read_write:
|
|
142
|
+
- /workroom/arena/feed # indexed feed data
|
|
143
|
+
- /workroom/arena/profile # agent profile cache
|
|
144
|
+
- /workroom/arena/state # daemon state (last block, etc.)
|
|
145
|
+
- /workroom/arena/queue # approval queue for human review
|
|
146
|
+
|
|
147
|
+
read_only:
|
|
148
|
+
- /workroom/runtime # CLI and daemon code
|
|
149
|
+
- /workroom/.arc402 # policy files
|
|
150
|
+
|
|
151
|
+
forbidden:
|
|
152
|
+
- /workroom/.arc402/keys # private keys (injected as env vars only)
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
2
|
+
# ARC-402 Workroom Credentials Template
|
|
3
|
+
#
|
|
4
|
+
# This file configures LLM provider access for your workroom worker.
|
|
5
|
+
# Copy to ~/.arc402/worker/credentials.toml and fill in your keys.
|
|
6
|
+
#
|
|
7
|
+
# NEVER commit this file. It is gitignored by default.
|
|
8
|
+
# The workroom setup script reads this to:
|
|
9
|
+
# 1. Pass API keys as Docker env vars (never written to disk in container)
|
|
10
|
+
# 2. Auto-generate network policy entries (iptables whitelist)
|
|
11
|
+
#
|
|
12
|
+
# Two modes:
|
|
13
|
+
# Tier 1 (recommended): Use OpenClaw as your worker runtime.
|
|
14
|
+
# → OpenClaw's openclaw.json already has all provider configs.
|
|
15
|
+
# → You DON'T need this file. Everything is auto-derived.
|
|
16
|
+
# → Set runtime = "openclaw" in worker/config.json.
|
|
17
|
+
#
|
|
18
|
+
# Tier 2 (advanced): Bring your own harness (raw Claude Code, Codex, etc.)
|
|
19
|
+
# → Fill in the providers below for your chosen harness.
|
|
20
|
+
# → The setup script generates matching iptables rules.
|
|
21
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
22
|
+
|
|
23
|
+
# ── Anthropic (Claude Code) ─────────────────────────────────────────────────
|
|
24
|
+
# Two auth modes:
|
|
25
|
+
# api_key: Direct API key (pay per token)
|
|
26
|
+
# oauth: Max subscription OAuth (unlimited, mounted from host)
|
|
27
|
+
|
|
28
|
+
[providers.anthropic]
|
|
29
|
+
enabled = false
|
|
30
|
+
auth = "api_key" # "api_key" or "oauth"
|
|
31
|
+
env = "ANTHROPIC_API_KEY" # Set this env var on the host
|
|
32
|
+
# oauth_token_path = "~/.claude/oauth" # For OAuth mode (mounted read-only)
|
|
33
|
+
hosts = ["api.anthropic.com"]
|
|
34
|
+
|
|
35
|
+
# ── OpenAI (Codex, GPT) ────────────────────────────────────────────────────
|
|
36
|
+
|
|
37
|
+
[providers.openai]
|
|
38
|
+
enabled = false
|
|
39
|
+
auth = "api_key"
|
|
40
|
+
env = "OPENAI_API_KEY"
|
|
41
|
+
hosts = ["api.openai.com"]
|
|
42
|
+
|
|
43
|
+
# ── OpenAI Codex (dedicated endpoint) ──────────────────────────────────────
|
|
44
|
+
|
|
45
|
+
[providers.openai_codex]
|
|
46
|
+
enabled = false
|
|
47
|
+
auth = "api_key"
|
|
48
|
+
env = "OPENAI_API_KEY" # Same key as OpenAI
|
|
49
|
+
hosts = ["api.openai.com"] # Same endpoint
|
|
50
|
+
|
|
51
|
+
# ── Google (Gemini) ─────────────────────────────────────────────────────────
|
|
52
|
+
|
|
53
|
+
[providers.google]
|
|
54
|
+
enabled = false
|
|
55
|
+
auth = "api_key"
|
|
56
|
+
env = "GOOGLE_API_KEY"
|
|
57
|
+
# Alternative: service account JSON
|
|
58
|
+
# service_account_path = "~/.config/gcloud/application_default_credentials.json"
|
|
59
|
+
hosts = ["generativelanguage.googleapis.com"]
|
|
60
|
+
|
|
61
|
+
# ── OpenRouter ──────────────────────────────────────────────────────────────
|
|
62
|
+
# Routes to multiple providers (Anthropic, OpenAI, Google, etc.)
|
|
63
|
+
# Single key, many models.
|
|
64
|
+
|
|
65
|
+
[providers.openrouter]
|
|
66
|
+
enabled = false
|
|
67
|
+
auth = "api_key"
|
|
68
|
+
env = "OPENROUTER_API_KEY"
|
|
69
|
+
hosts = ["openrouter.ai"]
|
|
70
|
+
|
|
71
|
+
# ── Mistral ─────────────────────────────────────────────────────────────────
|
|
72
|
+
|
|
73
|
+
[providers.mistral]
|
|
74
|
+
enabled = false
|
|
75
|
+
auth = "api_key"
|
|
76
|
+
env = "MISTRAL_API_KEY"
|
|
77
|
+
hosts = ["api.mistral.ai"]
|
|
78
|
+
|
|
79
|
+
# ── Groq ────────────────────────────────────────────────────────────────────
|
|
80
|
+
|
|
81
|
+
[providers.groq]
|
|
82
|
+
enabled = false
|
|
83
|
+
auth = "api_key"
|
|
84
|
+
env = "GROQ_API_KEY"
|
|
85
|
+
hosts = ["api.groq.com"]
|
|
86
|
+
|
|
87
|
+
# ── Together AI ─────────────────────────────────────────────────────────────
|
|
88
|
+
|
|
89
|
+
[providers.together]
|
|
90
|
+
enabled = false
|
|
91
|
+
auth = "api_key"
|
|
92
|
+
env = "TOGETHER_API_KEY"
|
|
93
|
+
hosts = ["api.together.xyz"]
|
|
94
|
+
|
|
95
|
+
# ── Fireworks AI ────────────────────────────────────────────────────────────
|
|
96
|
+
|
|
97
|
+
[providers.fireworks]
|
|
98
|
+
enabled = false
|
|
99
|
+
auth = "api_key"
|
|
100
|
+
env = "FIREWORKS_API_KEY"
|
|
101
|
+
hosts = ["api.fireworks.ai"]
|
|
102
|
+
|
|
103
|
+
# ── DeepSeek ────────────────────────────────────────────────────────────────
|
|
104
|
+
|
|
105
|
+
[providers.deepseek]
|
|
106
|
+
enabled = false
|
|
107
|
+
auth = "api_key"
|
|
108
|
+
env = "DEEPSEEK_API_KEY"
|
|
109
|
+
hosts = ["api.deepseek.com"]
|
|
110
|
+
|
|
111
|
+
# ── Cohere ──────────────────────────────────────────────────────────────────
|
|
112
|
+
|
|
113
|
+
[providers.cohere]
|
|
114
|
+
enabled = false
|
|
115
|
+
auth = "api_key"
|
|
116
|
+
env = "COHERE_API_KEY"
|
|
117
|
+
hosts = ["api.cohere.ai"]
|
|
118
|
+
|
|
119
|
+
# ── Perplexity ──────────────────────────────────────────────────────────────
|
|
120
|
+
|
|
121
|
+
[providers.perplexity]
|
|
122
|
+
enabled = false
|
|
123
|
+
auth = "api_key"
|
|
124
|
+
env = "PERPLEXITY_API_KEY"
|
|
125
|
+
hosts = ["api.perplexity.ai"]
|
|
126
|
+
|
|
127
|
+
# ── xAI (Grok) ─────────────────────────────────────────────────────────────
|
|
128
|
+
|
|
129
|
+
[providers.xai]
|
|
130
|
+
enabled = false
|
|
131
|
+
auth = "api_key"
|
|
132
|
+
env = "XAI_API_KEY"
|
|
133
|
+
hosts = ["api.x.ai"]
|
|
134
|
+
|
|
135
|
+
# ── Custom Provider ─────────────────────────────────────────────────────────
|
|
136
|
+
# Add your own provider. The setup script reads `hosts` to generate
|
|
137
|
+
# iptables rules and `env` to mount the key into the container.
|
|
138
|
+
|
|
139
|
+
# [providers.custom_provider]
|
|
140
|
+
# enabled = false
|
|
141
|
+
# auth = "api_key"
|
|
142
|
+
# env = "CUSTOM_API_KEY"
|
|
143
|
+
# hosts = ["api.custom-provider.com"]
|
|
144
|
+
|
|
145
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
146
|
+
# USAGE:
|
|
147
|
+
#
|
|
148
|
+
# 1. Copy this file:
|
|
149
|
+
# cp credentials.template.toml ~/.arc402/worker/credentials.toml
|
|
150
|
+
#
|
|
151
|
+
# 2. Enable the providers you need:
|
|
152
|
+
# Set enabled = true for each provider you want
|
|
153
|
+
#
|
|
154
|
+
# 3. Set your API keys as environment variables:
|
|
155
|
+
# export ANTHROPIC_API_KEY="sk-ant-..."
|
|
156
|
+
# export OPENAI_API_KEY="sk-..."
|
|
157
|
+
#
|
|
158
|
+
# 4. Run workroom setup (reads credentials, generates network policy):
|
|
159
|
+
# arc402 workroom init
|
|
160
|
+
#
|
|
161
|
+
# 5. The workroom container will:
|
|
162
|
+
# - Receive your API keys as Docker env vars (never on disk)
|
|
163
|
+
# - Have iptables rules allowing only your enabled providers' hosts
|
|
164
|
+
# - Block all other outbound network traffic
|
|
165
|
+
#
|
|
166
|
+
# For OpenClaw users (Tier 1): skip all of this. OpenClaw handles it.
|
|
167
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
3
|
+
# ARC-402 Policy Derivation — Auto-generate network policy from OpenClaw config
|
|
4
|
+
#
|
|
5
|
+
# Reads the OpenClaw configuration to determine which LLM providers are
|
|
6
|
+
# configured, then ensures those endpoints are in the workroom network policy.
|
|
7
|
+
#
|
|
8
|
+
# Usage: ./derive-policy.sh [openclaw-config-path] [policy-output-path]
|
|
9
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
10
|
+
set -euo pipefail
|
|
11
|
+
|
|
12
|
+
OPENCLAW_CONFIG="${1:-$HOME/.openclaw/openclaw.json}"
|
|
13
|
+
POLICY_FILE="${2:-$HOME/.arc402/openshell-policy.yaml}"
|
|
14
|
+
|
|
15
|
+
# Known LLM provider → endpoint mapping
|
|
16
|
+
declare -A PROVIDER_HOSTS
|
|
17
|
+
PROVIDER_HOSTS=(
|
|
18
|
+
["anthropic"]="api.anthropic.com"
|
|
19
|
+
["openai"]="api.openai.com"
|
|
20
|
+
["google"]="generativelanguage.googleapis.com"
|
|
21
|
+
["mistral"]="api.mistral.ai"
|
|
22
|
+
["groq"]="api.groq.com"
|
|
23
|
+
["openrouter"]="openrouter.ai"
|
|
24
|
+
["together"]="api.together.xyz"
|
|
25
|
+
["fireworks"]="api.fireworks.ai"
|
|
26
|
+
["deepseek"]="api.deepseek.com"
|
|
27
|
+
["cohere"]="api.cohere.ai"
|
|
28
|
+
["perplexity"]="api.perplexity.ai"
|
|
29
|
+
["xai"]="api.x.ai"
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
if [ ! -f "$OPENCLAW_CONFIG" ]; then
|
|
33
|
+
echo "[derive-policy] OpenClaw config not found: $OPENCLAW_CONFIG"
|
|
34
|
+
exit 0
|
|
35
|
+
fi
|
|
36
|
+
|
|
37
|
+
if [ ! -f "$POLICY_FILE" ]; then
|
|
38
|
+
echo "[derive-policy] Policy file not found: $POLICY_FILE"
|
|
39
|
+
exit 1
|
|
40
|
+
fi
|
|
41
|
+
|
|
42
|
+
echo "[derive-policy] Reading OpenClaw config: $OPENCLAW_CONFIG"
|
|
43
|
+
|
|
44
|
+
# Extract configured providers from openclaw.json
|
|
45
|
+
# Look for provider keys in models/providers config
|
|
46
|
+
CONFIGURED_PROVIDERS=$(jq -r '
|
|
47
|
+
(.models // {} | keys[]) // empty,
|
|
48
|
+
(.providers // {} | keys[]) // empty
|
|
49
|
+
' "$OPENCLAW_CONFIG" 2>/dev/null | sort -u)
|
|
50
|
+
|
|
51
|
+
ADDED=0
|
|
52
|
+
for provider in $CONFIGURED_PROVIDERS; do
|
|
53
|
+
# Normalize provider name (strip prefixes like "openai-codex" → "openai")
|
|
54
|
+
base_provider=$(echo "$provider" | sed 's/-.*//')
|
|
55
|
+
|
|
56
|
+
host="${PROVIDER_HOSTS[$base_provider]:-}"
|
|
57
|
+
if [ -z "$host" ]; then
|
|
58
|
+
continue
|
|
59
|
+
fi
|
|
60
|
+
|
|
61
|
+
# Check if host is already in the policy
|
|
62
|
+
if grep -q "$host" "$POLICY_FILE" 2>/dev/null; then
|
|
63
|
+
echo "[derive-policy] Already in policy: $host (for $provider)"
|
|
64
|
+
continue
|
|
65
|
+
fi
|
|
66
|
+
|
|
67
|
+
# Append to policy file
|
|
68
|
+
cat >> "$POLICY_FILE" << EOF
|
|
69
|
+
${base_provider}_api:
|
|
70
|
+
name: ${base_provider}-llm-api
|
|
71
|
+
endpoints:
|
|
72
|
+
- host: ${host}
|
|
73
|
+
port: 443
|
|
74
|
+
protocol: rest
|
|
75
|
+
tls: terminate
|
|
76
|
+
enforcement: enforce
|
|
77
|
+
access: read-write
|
|
78
|
+
binaries: *a1
|
|
79
|
+
EOF
|
|
80
|
+
echo "[derive-policy] Added: $host (for $provider)"
|
|
81
|
+
ADDED=$((ADDED + 1))
|
|
82
|
+
done
|
|
83
|
+
|
|
84
|
+
echo "[derive-policy] Done. $ADDED new provider endpoints added to policy."
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
3
|
+
# ARC-402 Workroom DNS Refresh
|
|
4
|
+
#
|
|
5
|
+
# Periodically re-resolves policy hostnames and updates iptables rules.
|
|
6
|
+
# Handles CDN IP rotation, failover, and DNS changes without container restart.
|
|
7
|
+
#
|
|
8
|
+
# Runs as root in the background. The entrypoint starts this automatically.
|
|
9
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
10
|
+
set -euo pipefail
|
|
11
|
+
|
|
12
|
+
readonly POLICY_FILE="${1:-/workroom/.arc402/openshell-policy.yaml}"
|
|
13
|
+
readonly REFRESH_INTERVAL="${ARC402_DNS_REFRESH_SECONDS:-300}"
|
|
14
|
+
readonly RULES_LOG="/workroom/.arc402/iptables-rules.log"
|
|
15
|
+
|
|
16
|
+
log() { echo "[dns-refresh] $*"; }
|
|
17
|
+
|
|
18
|
+
log "Starting (interval: ${REFRESH_INTERVAL}s, policy: $POLICY_FILE)"
|
|
19
|
+
|
|
20
|
+
while true; do
|
|
21
|
+
sleep "$REFRESH_INTERVAL"
|
|
22
|
+
|
|
23
|
+
log "Refreshing..."
|
|
24
|
+
|
|
25
|
+
# Flush and rebuild OUTPUT chain from scratch
|
|
26
|
+
# This is atomic from the kernel's perspective — no gap in enforcement.
|
|
27
|
+
iptables -F OUTPUT 2>/dev/null || true
|
|
28
|
+
|
|
29
|
+
# Core rules (always present)
|
|
30
|
+
iptables -A OUTPUT -o lo -j ACCEPT
|
|
31
|
+
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
|
32
|
+
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
|
|
33
|
+
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
|
|
34
|
+
|
|
35
|
+
# Re-resolve and apply
|
|
36
|
+
RULE_COUNT=0
|
|
37
|
+
while IFS=: read -r host port; do
|
|
38
|
+
[ -z "$host" ] && continue
|
|
39
|
+
port="${port:-443}"
|
|
40
|
+
|
|
41
|
+
ips=$(getent ahosts "$host" 2>/dev/null | awk '{print $1}' | sort -u || true)
|
|
42
|
+
if [ -z "$ips" ]; then
|
|
43
|
+
log "WARN: Could not resolve $host"
|
|
44
|
+
continue
|
|
45
|
+
fi
|
|
46
|
+
|
|
47
|
+
while IFS= read -r ip; do
|
|
48
|
+
iptables -A OUTPUT -p tcp -d "$ip" --dport "$port" -j ACCEPT
|
|
49
|
+
RULE_COUNT=$((RULE_COUNT + 1))
|
|
50
|
+
done <<< "$ips"
|
|
51
|
+
done < <(/policy-parser.sh "$POLICY_FILE")
|
|
52
|
+
|
|
53
|
+
# Log updated rules
|
|
54
|
+
iptables -L OUTPUT -n --line-numbers > "$RULES_LOG" 2>/dev/null || true
|
|
55
|
+
|
|
56
|
+
log "Refreshed: $RULE_COUNT rules applied"
|
|
57
|
+
done
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
3
|
+
# ARC-402 Workroom Entrypoint
|
|
4
|
+
#
|
|
5
|
+
# This is the governed execution environment for hired work. The entrypoint:
|
|
6
|
+
# 1. Reads the workroom policy (YAML → host:port pairs)
|
|
7
|
+
# 2. Resolves all hostnames to IPs while DNS is still open
|
|
8
|
+
# 3. Applies iptables rules: ALLOW resolved IPs, DROP everything else
|
|
9
|
+
# 4. Starts the DNS refresh daemon for IP rotation
|
|
10
|
+
# 5. Drops privileges and starts the ARC-402 daemon
|
|
11
|
+
#
|
|
12
|
+
# Runs as root for iptables setup. Drops to 'workroom' user for the daemon.
|
|
13
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
14
|
+
set -euo pipefail
|
|
15
|
+
|
|
16
|
+
# ─── log() must be defined first — used throughout ────────────────────────────
|
|
17
|
+
log() { echo "[workroom] $*"; }
|
|
18
|
+
|
|
19
|
+
readonly POLICY_FILE="/workroom/.arc402/openshell-policy.yaml"
|
|
20
|
+
readonly RULES_LOG="/workroom/.arc402/iptables-rules.log"
|
|
21
|
+
readonly ARENA_POLICY="/workroom/.arc402/arena-policy.yaml"
|
|
22
|
+
readonly ARENA_DEFAULT="/workroom/defaults/arena-policy.yaml"
|
|
23
|
+
|
|
24
|
+
# ─── Locate globally installed arc402-cli (Linux-native binaries) ─────────────
|
|
25
|
+
# The image runs npm install -g arc402-cli --build-from-source at build time.
|
|
26
|
+
# We must always use this global install for native addons (better-sqlite3 etc.),
|
|
27
|
+
# never the host mount which carries macOS/Windows binaries.
|
|
28
|
+
GLOBAL_NPM_ROOT=$(npm root -g 2>/dev/null || echo "")
|
|
29
|
+
GLOBAL_CLI_ROOT="${GLOBAL_NPM_ROOT}/arc402-cli"
|
|
30
|
+
GLOBAL_DAEMON="${GLOBAL_CLI_ROOT}/dist/daemon/index.js"
|
|
31
|
+
log "Global npm root: ${GLOBAL_NPM_ROOT:-not found}"
|
|
32
|
+
log "Global cli root: ${GLOBAL_CLI_ROOT}"
|
|
33
|
+
|
|
34
|
+
# NODE_PATH: if a host dist/ is mounted (--dev mode), require() calls from it
|
|
35
|
+
# must still resolve native addons from the Linux global install.
|
|
36
|
+
# Set unconditionally — harmless if the mount doesn't exist.
|
|
37
|
+
if [ -d "${GLOBAL_CLI_ROOT}/node_modules" ]; then
|
|
38
|
+
export NODE_PATH="${GLOBAL_CLI_ROOT}/node_modules${NODE_PATH:+:$NODE_PATH}"
|
|
39
|
+
log "NODE_PATH → ${GLOBAL_CLI_ROOT}/node_modules (Linux-native addons)"
|
|
40
|
+
fi
|
|
41
|
+
|
|
42
|
+
# ─── Resolve daemon entry point ───────────────────────────────────────────────
|
|
43
|
+
# Production (no --dev mount): /workroom/runtime/dist/daemon/index.js won't exist.
|
|
44
|
+
# → use global install directly.
|
|
45
|
+
# Dev (--dev mount): mounted dist/ exists, global node_modules via NODE_PATH.
|
|
46
|
+
# → use mounted dist so JS changes propagate without rebuild.
|
|
47
|
+
if [ -f "/workroom/runtime/dist/daemon/index.js" ]; then
|
|
48
|
+
DAEMON_ENTRY="/workroom/runtime/dist/daemon/index.js"
|
|
49
|
+
log "Daemon: host dist/ mount (dev mode)"
|
|
50
|
+
elif [ -f "${GLOBAL_DAEMON}" ]; then
|
|
51
|
+
DAEMON_ENTRY="${GLOBAL_DAEMON}"
|
|
52
|
+
log "Daemon: global install (production)"
|
|
53
|
+
else
|
|
54
|
+
DAEMON_ENTRY=""
|
|
55
|
+
fi
|
|
56
|
+
readonly DAEMON_ENTRY
|
|
57
|
+
|
|
58
|
+
# ─── Validate prerequisites ────────────────────────────────────────────────
|
|
59
|
+
|
|
60
|
+
if [ ! -f "$POLICY_FILE" ]; then
|
|
61
|
+
log "ERROR: Policy file not found at $POLICY_FILE"
|
|
62
|
+
log "Run 'arc402 workroom init' on the host first."
|
|
63
|
+
exit 1
|
|
64
|
+
fi
|
|
65
|
+
|
|
66
|
+
# ─── Phase 0b: Auto-derive LLM provider endpoints from OpenClaw config ────
|
|
67
|
+
#
|
|
68
|
+
# If OpenClaw config is mounted, read it and ensure all configured LLM
|
|
69
|
+
# providers have their API endpoints in the network policy. This runs
|
|
70
|
+
# BEFORE host resolution so the derived hosts get resolved too.
|
|
71
|
+
|
|
72
|
+
OPENCLAW_CONFIG="/home/workroom/.openclaw/openclaw.json"
|
|
73
|
+
if [ -f "$OPENCLAW_CONFIG" ]; then
|
|
74
|
+
log "OpenClaw config found — deriving LLM provider endpoints..."
|
|
75
|
+
/derive-policy.sh "$OPENCLAW_CONFIG" "$POLICY_FILE" || log "WARN: Policy derivation failed (non-fatal)"
|
|
76
|
+
else
|
|
77
|
+
log "No OpenClaw config mounted — using static policy only"
|
|
78
|
+
fi
|
|
79
|
+
|
|
80
|
+
# ─── Phase 1: Resolve all policy hosts (DNS is still open) ─────────────────
|
|
81
|
+
#
|
|
82
|
+
# We resolve hostnames BEFORE applying the DROP policy. Once DROP is active,
|
|
83
|
+
# only explicitly allowed IPs are reachable. By resolving first, we capture
|
|
84
|
+
# the current DNS state into concrete IP rules.
|
|
85
|
+
|
|
86
|
+
declare -a RESOLVED_IPS=()
|
|
87
|
+
declare -a RESOLVED_PORTS=()
|
|
88
|
+
RESOLVE_COUNT=0
|
|
89
|
+
|
|
90
|
+
resolve_policy_hosts() {
|
|
91
|
+
local policy_file="$1"
|
|
92
|
+
|
|
93
|
+
while IFS=: read -r host port; do
|
|
94
|
+
[ -z "$host" ] && continue
|
|
95
|
+
port="${port:-443}"
|
|
96
|
+
|
|
97
|
+
local ips
|
|
98
|
+
ips=$(getent ahosts "$host" 2>/dev/null | awk '{print $1}' | sort -u || true)
|
|
99
|
+
|
|
100
|
+
if [ -z "$ips" ]; then
|
|
101
|
+
log "WARN: Could not resolve $host — skipping"
|
|
102
|
+
continue
|
|
103
|
+
fi
|
|
104
|
+
|
|
105
|
+
local ip_count
|
|
106
|
+
ip_count=$(echo "$ips" | wc -l | tr -d ' ')
|
|
107
|
+
log "Resolved: $host → $ip_count IPs"
|
|
108
|
+
|
|
109
|
+
while IFS= read -r ip; do
|
|
110
|
+
RESOLVED_IPS+=("$ip")
|
|
111
|
+
RESOLVED_PORTS+=("$port")
|
|
112
|
+
RESOLVE_COUNT=$((RESOLVE_COUNT + 1))
|
|
113
|
+
done <<< "$ips"
|
|
114
|
+
done < <(/policy-parser.sh "$policy_file")
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
log "Resolving policy hosts..."
|
|
118
|
+
resolve_policy_hosts "$POLICY_FILE"
|
|
119
|
+
|
|
120
|
+
# Also resolve arena policy if present
|
|
121
|
+
if [ -f "$ARENA_POLICY" ]; then
|
|
122
|
+
resolve_policy_hosts "$ARENA_POLICY"
|
|
123
|
+
elif [ -f "$ARENA_DEFAULT" ]; then
|
|
124
|
+
resolve_policy_hosts "$ARENA_DEFAULT"
|
|
125
|
+
fi
|
|
126
|
+
|
|
127
|
+
# ─── Phase 2: Apply network enforcement ────────────────────────────────────
|
|
128
|
+
#
|
|
129
|
+
# Default policy: DROP all outbound.
|
|
130
|
+
# Exceptions: loopback, established connections, DNS, and resolved policy hosts.
|
|
131
|
+
#
|
|
132
|
+
# DNS is allowed broadly (not just 127.0.0.11) because the daemon and worker
|
|
133
|
+
# need to resolve hostnames at runtime. The iptables rules restrict which IPs
|
|
134
|
+
# are reachable, so DNS resolution alone doesn't grant access — only hosts
|
|
135
|
+
# whose IPs match a rule can actually be connected to.
|
|
136
|
+
|
|
137
|
+
iptables -P OUTPUT DROP 2>/dev/null || true
|
|
138
|
+
iptables -F OUTPUT 2>/dev/null || true
|
|
139
|
+
|
|
140
|
+
# Core rules: loopback, established, DNS
|
|
141
|
+
iptables -A OUTPUT -o lo -j ACCEPT
|
|
142
|
+
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
|
143
|
+
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
|
|
144
|
+
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
|
|
145
|
+
|
|
146
|
+
log "Default policy: DROP all outbound (except loopback, established, DNS)"
|
|
147
|
+
|
|
148
|
+
# Apply resolved IP rules
|
|
149
|
+
for i in "${!RESOLVED_IPS[@]}"; do
|
|
150
|
+
iptables -A OUTPUT -p tcp -d "${RESOLVED_IPS[$i]}" --dport "${RESOLVED_PORTS[$i]}" -j ACCEPT
|
|
151
|
+
done
|
|
152
|
+
|
|
153
|
+
log "$RESOLVE_COUNT iptables rules applied"
|
|
154
|
+
|
|
155
|
+
# ─── Phase 3: Log applied rules ───────────────────────────────────────────
|
|
156
|
+
|
|
157
|
+
iptables -L OUTPUT -n --line-numbers > "$RULES_LOG" 2>/dev/null || true
|
|
158
|
+
log "Rules logged to $RULES_LOG"
|
|
159
|
+
|
|
160
|
+
# ─── Phase 4: Start DNS refresh daemon ─────────────────────────────────────
|
|
161
|
+
#
|
|
162
|
+
# Hostnames may resolve to different IPs over time (CDN rotation, failover).
|
|
163
|
+
# The refresh daemon re-resolves all policy hosts periodically and atomically
|
|
164
|
+
# updates iptables rules.
|
|
165
|
+
|
|
166
|
+
/dns-refresh.sh "$POLICY_FILE" &
|
|
167
|
+
local_dns_pid=$!
|
|
168
|
+
log "DNS refresh daemon started (PID: $local_dns_pid, interval: ${ARC402_DNS_REFRESH_SECONDS:-300}s)"
|
|
169
|
+
|
|
170
|
+
# ─── Phase 5: Validate daemon entry point ──────────────────────────────────
|
|
171
|
+
|
|
172
|
+
if [ -z "$DAEMON_ENTRY" ] || [ ! -f "$DAEMON_ENTRY" ]; then
|
|
173
|
+
log "ERROR: Daemon entry point not found."
|
|
174
|
+
log "Tried: /workroom/runtime/dist/daemon/index.js (host --dev mount)"
|
|
175
|
+
log "Tried: ${GLOBAL_DAEMON} (global npm install inside image)"
|
|
176
|
+
log "Rebuild the workroom image: arc402 workroom init"
|
|
177
|
+
exit 1
|
|
178
|
+
fi
|
|
179
|
+
log "Daemon entry: $DAEMON_ENTRY"
|
|
180
|
+
|
|
181
|
+
# ─── Phase 5b: Worker identity + agent runtimes on PATH ────────────────────
|
|
182
|
+
|
|
183
|
+
WORKER_DIR="/workroom/.arc402/worker"
|
|
184
|
+
|
|
185
|
+
# Verify worker identity
|
|
186
|
+
if [ -f "$WORKER_DIR/SOUL.md" ]; then
|
|
187
|
+
log "Worker SOUL.md: found"
|
|
188
|
+
else
|
|
189
|
+
log "WARN: No worker SOUL.md — agent will use generic identity"
|
|
190
|
+
log " Run 'arc402 worker init' on the host to create one"
|
|
191
|
+
fi
|
|
192
|
+
|
|
193
|
+
if [ -f "$WORKER_DIR/config.json" ]; then
|
|
194
|
+
WORKER_NAME=$(jq -r '.name // "unnamed"' "$WORKER_DIR/config.json" 2>/dev/null || echo "unnamed")
|
|
195
|
+
WORKER_CAPS=$(jq -r '.capabilities // [] | join(", ")' "$WORKER_DIR/config.json" 2>/dev/null || echo "none")
|
|
196
|
+
log "Worker: $WORKER_NAME | Capabilities: $WORKER_CAPS"
|
|
197
|
+
else
|
|
198
|
+
log "WARN: No worker config.json"
|
|
199
|
+
fi
|
|
200
|
+
|
|
201
|
+
# Check knowledge/datasets/skills directories
|
|
202
|
+
for dir in knowledge datasets skills; do
|
|
203
|
+
if [ -d "$WORKER_DIR/$dir" ]; then
|
|
204
|
+
count=$(find "$WORKER_DIR/$dir" -type f 2>/dev/null | wc -l)
|
|
205
|
+
log "Worker $dir/: $count files"
|
|
206
|
+
fi
|
|
207
|
+
done
|
|
208
|
+
|
|
209
|
+
# Add agent runtimes to PATH
|
|
210
|
+
PATH_ADDITIONS=""
|
|
211
|
+
# OpenClaw (preferred runtime)
|
|
212
|
+
if [ -d "/workroom/openclaw" ]; then
|
|
213
|
+
PATH_ADDITIONS="/workroom/openclaw:$PATH_ADDITIONS"
|
|
214
|
+
log "OpenClaw runtime found at /workroom/openclaw"
|
|
215
|
+
fi
|
|
216
|
+
# Claude Code
|
|
217
|
+
if [ -d "/workroom/claude-code" ]; then
|
|
218
|
+
PATH_ADDITIONS="/workroom/claude-code:$PATH_ADDITIONS"
|
|
219
|
+
log "Claude Code found at /workroom/claude-code"
|
|
220
|
+
fi
|
|
221
|
+
if [ -n "$PATH_ADDITIONS" ]; then
|
|
222
|
+
export PATH="$PATH_ADDITIONS$PATH"
|
|
223
|
+
fi
|
|
224
|
+
|
|
225
|
+
# Verify Claude auth
|
|
226
|
+
if [ -f "/home/workroom/.claude.json" ]; then
|
|
227
|
+
log "AUTH OK: Claude auth file found"
|
|
228
|
+
else
|
|
229
|
+
log "WARN: No Claude auth — mount -v ~/.claude.json:/home/workroom/.claude.json:ro"
|
|
230
|
+
fi
|
|
231
|
+
|
|
232
|
+
# ─── Phase 6: Drop privileges and start daemon ────────────────────────────
|
|
233
|
+
|
|
234
|
+
log "Starting ARC-402 daemon as user 'workroom'..."
|
|
235
|
+
exec su -s /bin/bash workroom -c "export PATH='$PATH' && export ARC402_WORKER_DIR='$WORKER_DIR' && node $DAEMON_ENTRY --foreground"
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
3
|
+
# ARC-402 Workroom Policy Parser
|
|
4
|
+
#
|
|
5
|
+
# Reads the workroom policy YAML and outputs HOST:PORT pairs, one per line.
|
|
6
|
+
# Used by the entrypoint and DNS refresh scripts to build iptables rules.
|
|
7
|
+
#
|
|
8
|
+
# Input: YAML file with network_policies.<name>.endpoints[].host/port
|
|
9
|
+
# Output: hostname:port (one per line, to stdout)
|
|
10
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
11
|
+
set -euo pipefail
|
|
12
|
+
|
|
13
|
+
readonly POLICY_FILE="${1:-/workroom/.arc402/openshell-policy.yaml}"
|
|
14
|
+
|
|
15
|
+
if [ ! -f "$POLICY_FILE" ]; then
|
|
16
|
+
echo "ERROR: Policy file not found: $POLICY_FILE" >&2
|
|
17
|
+
exit 1
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
# Extract host:port pairs from the YAML network_policies section.
|
|
21
|
+
# Each policy block contains endpoints with host and port fields.
|
|
22
|
+
awk '
|
|
23
|
+
/host:/ { gsub(/.*host: */, ""); host = $0 }
|
|
24
|
+
/port:/ { gsub(/.*port: */, ""); if (host != "") { print host ":" $0; host = "" } }
|
|
25
|
+
' "$POLICY_FILE"
|