Skip to content

Commit 3de824a

Browse files
committed
Make starter workspace E2E complete
1 parent 2fd4333 commit 3de824a

48 files changed

Lines changed: 809 additions & 409 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.dockerignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
.git
2+
.artifacts
3+
node_modules
4+
**/node_modules
5+
dist
6+
**/dist
7+
target
8+
**/target
9+
.anchor
10+
test-ledger
11+
.env
12+
.env.local
13+
*.log
14+
package-lock.json

.github/workflows/ci.yml

Lines changed: 27 additions & 144 deletions
Original file line numberDiff line numberDiff line change
@@ -7,180 +7,63 @@ on:
77
branches: [main]
88

99
jobs:
10-
runtime:
11-
name: Agent runtime (packages/agent-runtime)
12-
runs-on: ubuntu-latest
13-
steps:
14-
- uses: actions/checkout@v5
15-
- uses: actions/setup-node@v5
16-
with:
17-
node-version: 20
18-
- run: cd packages/agent-runtime && npm install
19-
- run: cd packages/agent-runtime && npm run typecheck
20-
- run: cd packages/agent-runtime && npm test
21-
22-
harness-runtime:
23-
name: Harness runtime (packages/harness-runtime)
24-
runs-on: ubuntu-latest
25-
steps:
26-
- uses: actions/checkout@v5
27-
- uses: actions/setup-node@v5
28-
with:
29-
node-version: 20
30-
- name: Build the agent runtime — the adapter SDK's file dep needs its dist
31-
run: cd packages/agent-runtime && npm install && npm run build
32-
- run: cd packages/harness-runtime && npm install
33-
- run: cd packages/harness-runtime && npm run typecheck
34-
- run: cd packages/harness-runtime && npm test
35-
36-
payment-runtime:
37-
name: Payment runtime (packages/payment-runtime)
38-
runs-on: ubuntu-latest
39-
steps:
40-
- uses: actions/checkout@v5
41-
- uses: actions/setup-node@v5
42-
with:
43-
node-version: 20
44-
- name: Build the agent runtime — the rails reuse Solana Pay + the devnet guard from its dist
45-
run: cd packages/agent-runtime && npm install && npm run build
46-
- run: cd packages/payment-runtime && npm install
47-
- run: cd packages/payment-runtime && npm run typecheck
48-
- run: cd packages/payment-runtime && npm test
49-
50-
solana-agent-tools:
51-
name: Solana agent tools (read-only SAK plugin + example smoke)
10+
starter-golden-path:
11+
name: Starter golden path
5212
runs-on: ubuntu-latest
5313
steps:
5414
- uses: actions/checkout@v5
5515
- uses: actions/setup-node@v5
5616
with:
5717
node-version: 22
58-
- name: Build the agent runtime - local file deps need dist
59-
run: cd packages/agent-runtime && npm install && npm run build
60-
- name: Read-only tools package (typecheck + tests + build)
61-
run: cd packages/solana-agent-tools && npm install && npm run typecheck && npm test && npm run build
62-
- name: Solana Agent Kit example (typecheck + deterministic smoke)
63-
run: cd examples/agent-economy/solana-agent-kit && npm install && npm run typecheck && npm run smoke
18+
- run: npm install --no-audit --no-fund
19+
- run: npm run build
20+
- run: npm run typecheck
21+
- run: npm test
22+
- run: npm run e2e:local
6423

65-
txodds:
66-
name: TxODDS World Cup Oracle (typecheck + tests)
24+
marketplace-playwright:
25+
name: Marketplace recorded-state Playwright e2e
6726
runs-on: ubuntu-latest
6827
steps:
6928
- uses: actions/checkout@v5
7029
- uses: actions/setup-node@v5
7130
with:
72-
node-version: 20
73-
- name: Build the runtime (the example needs its dist)
74-
run: cd packages/agent-runtime && npm install && npm run build
75-
- name: txodds (typecheck + tests)
76-
run: cd examples/txodds && npm install && npm run typecheck && npm test
77-
78-
marketplace:
79-
name: Marketplace (feed tests + visualizer unit + Playwright e2e)
80-
runs-on: ubuntu-latest
81-
steps:
82-
- uses: actions/checkout@v5
83-
- uses: actions/setup-node@v5
84-
with:
85-
node-version: 20
86-
- name: Build the runtime (the feed folds rounds with its parsers)
87-
run: cd packages/agent-runtime && npm install && npm run build
88-
- name: Round launchers (typecheck)
89-
run: cd examples/marketplace && npm install && npm run typecheck
90-
- name: Feed server (typecheck + foldRounds/persist tests against a recorded transcript)
91-
run: cd examples/marketplace/feed && npm install && npm run typecheck && npm test
92-
- name: Visualizer (typecheck + component tests)
93-
run: cd examples/marketplace/web && npm install && npm run typecheck && npm test
94-
- name: Install Playwright browser
95-
run: cd examples/marketplace/web && npx playwright install --with-deps chromium
96-
# The e2e is the marketplace smoke test: Playwright boots the REAL feed server on a recorded
97-
# CoralOS transcript and drives the real React app — no devnet, no Docker, no LLM keys.
98-
- name: Smoke — recorded coral state → feed → UI (Playwright)
99-
run: cd examples/marketplace/web && npm run e2e
100-
101-
agent-economy:
102-
name: Agent economy (typechecks + web build smoke)
103-
runs-on: ubuntu-latest
104-
steps:
105-
- uses: actions/checkout@v5
106-
- uses: actions/setup-node@v5
107-
with:
108-
node-version: 20
109-
- name: Autonomous flow (typecheck)
110-
run: cd examples/agent-economy/autonomous && npm install && npm run typecheck
111-
- name: Quickstart 402 flow (typecheck)
112-
run: cd examples/agent-economy/quickstart && npm install && npm run typecheck
113-
- name: Bridge (typecheck)
114-
run: cd examples/agent-economy/bridge && npm install && npm run typecheck
115-
# The web build is this example's smoke test: `npm run build` = tsc --noEmit + a full vite
116-
# production build of the checkout/autonomous/swarm UI. (bridge/smoke.ts needs a live
117-
# coral-server + a funded devnet wallet, so it stays a local/manual check.)
118-
- name: Smoke — dashboard production build
119-
run: cd examples/agent-economy/web && npm install && npm run build
120-
121-
coral-agents:
122-
name: Coral agents (buyer / seller / verifier / broker)
123-
runs-on: ubuntu-latest
124-
steps:
125-
- uses: actions/checkout@v5
126-
- uses: actions/setup-node@v5
127-
with:
128-
node-version: 20
129-
- name: Build the runtimes (agents need local package dists)
130-
run: |
131-
cd packages/agent-runtime && npm install && npm run build
132-
cd ../harness-runtime && npm install && npm run build
133-
cd ../payment-runtime && npm install && npm run build
134-
- name: Buyer agent (typecheck + tests — policy, guard, reputation, want feed)
135-
run: cd coral-agents/buyer-agent && npm install && npm run typecheck && npm test
136-
- name: Seller agent (typecheck + tests — payment, replay, service)
137-
run: cd coral-agents/seller-agent && npm install && npm run typecheck && npm test
138-
- name: Verifier agent (typecheck + tests)
139-
run: cd coral-agents/verifier-agent && npm install && npm run typecheck && npm test
140-
- name: Broker (typecheck + tests)
141-
run: cd coral-agents/broker && npm install && npm run typecheck && npm test
142-
- name: Echo agent (typecheck)
143-
run: cd coral-agents/echo-agent && npm install && npm run typecheck
31+
node-version: 22
32+
- run: npm install --no-audit --no-fund
33+
- run: npm run build:packages
34+
- run: npm exec -w marketplace-web -- playwright install --with-deps chromium
35+
- run: npm run e2e -w marketplace-web
14436

145-
agent-desk:
146-
name: Agent desk (UI syntax + config smoke)
37+
solana-agent-kit-smoke:
38+
name: Solana Agent Kit mock smoke
14739
runs-on: ubuntu-latest
14840
steps:
14941
- uses: actions/checkout@v5
15042
- uses: actions/setup-node@v5
15143
with:
152-
node-version: 20
153-
# The desk UI is no-build static JS; the Tauri shell needs the full Rust + webkit toolchain,
154-
# so CI checks what's cheap and deterministic: the module parses and the configs are valid.
155-
- name: UI parses + Tauri configs are valid JSON
156-
run: |
157-
cd examples/txodds-agent-desk
158-
node --check ui/app.js
159-
node -e "JSON.parse(require('fs').readFileSync('src-tauri/tauri.conf.json')); JSON.parse(require('fs').readFileSync('src-tauri/capabilities/default.json'))"
44+
node-version: 22
45+
- run: npm install --no-audit --no-fund
46+
- run: npm run build:packages
47+
- run: npm run smoke -w agent-economy-solana-agent-kit
16048

161-
production-readiness:
162-
name: Production readiness e2e gate
49+
web-build-smoke:
50+
name: Agent economy dashboard build
16351
runs-on: ubuntu-latest
16452
steps:
16553
- uses: actions/checkout@v5
16654
- uses: actions/setup-node@v5
16755
with:
168-
node-version: 20
169-
# Deterministic end-to-end gate: real feed server, temporary recorded Coral state,
170-
# proof_receipts ledger write, threads/runs HTTP APIs, and desk parse/config smoke.
171-
- run: npm run readiness:e2e
56+
node-version: 22
57+
- run: npm install --no-audit --no-fund
58+
- run: npm run build -w agent-economy-web
17259

17360
escrow:
174-
name: Escrow + arbiter contracts (Rust compile check)
61+
name: Escrow + arbiter contracts
17562
runs-on: ubuntu-latest
17663
steps:
17764
- uses: actions/checkout@v5
17865
- uses: dtolnay/rust-toolchain@stable
17966
- uses: Swatinem/rust-cache@v2
18067
with:
18168
workspaces: examples/txodds/escrow
182-
# `cargo check` compiles both Anchor programs (escrow + arbiter) on the host toolchain — enough to
183-
# catch a broken settlement spine on every push without the full Solana/Anchor SBF build. The demo
184-
# runs against the already-deployed devnet program ids, so a redeploy isn't part of CI.
185-
- name: cargo check (escrow + arbiter)
186-
run: cd examples/txodds/escrow && cargo check --workspace
69+
- run: cd examples/txodds/escrow && cargo check --workspace

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ bun.lockb
3636
*.log
3737
coverage*.json
3838
.vercel
39+
.artifacts/
3940

4041
# Local TxODDS run ledgers
4142
examples/txodds/data/

CORAL.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Official documentation starts at `https://docs.coralos.ai/welcome`.
99
CoralOS provides:
1010

1111
- local session creation from an agent graph;
12+
- Coral Console at `/ui/console` for local visual inspection and debugging;
1213
- container launch for registered local agents;
1314
- thread-based messaging with mentions;
1415
- blocking coordination primitives;
@@ -143,6 +144,28 @@ The puppet API is send-only for this use case, so the bridge reads seller replie
143144

144145
`docker-compose.yml` runs the pinned CoralOS server container and mounts the local agent registry and Docker socket.
145146

147+
## Coral Console
148+
149+
Coral Server serves Coral Console locally at:
150+
151+
```text
152+
http://localhost:5555/ui/console
153+
```
154+
155+
The root dev script probes this endpoint automatically:
156+
157+
```sh
158+
npm run dev
159+
```
160+
161+
Run the probe by itself when debugging CoralOS:
162+
163+
```sh
164+
npm run coral:console:e2e
165+
```
166+
167+
The probe writes `.artifacts/coral-console/console-e2e.json`. In `npm run dev`, Docker/CoralOS failures are non-fatal unless `CORAL_CONSOLE_REQUIRED=1` is set. Set `CORAL_CONSOLE=0` to skip the probe.
168+
146169
## Development Notes
147170

148171
- Keep market grammar changes in `packages/agent-runtime/src/market/protocol.ts`.

0 commit comments

Comments
 (0)