Skip to content

chore: v3 cleanup — janitorial + testing-app reshape#1397

Open
Huijiro wants to merge 9 commits intov3from
chore/v3-cleanup-low-risk
Open

chore: v3 cleanup — janitorial + testing-app reshape#1397
Huijiro wants to merge 9 commits intov3from
chore/v3-cleanup-low-risk

Conversation

@Huijiro
Copy link
Copy Markdown
Member

@Huijiro Huijiro commented Apr 18, 2026

Summary

Low-risk v3 cleanup pass on top of v3. Four commits removing dead weight left behind by the workbench/frontend/react/auth/evals/runtime package removals, plus reshaping the apps/testing/ framework demos so they're consistent with each other.

Commits

  1. chore: v3 low-risk cleanup — Stray artifacts: empty apps/testing/ husks (auth-package-app, cloud-deployment, webrtc-test, vite-rsc-app, standalone-agent), zombie node_modules-only dirs under packages/ (react, frontend, workbench, svelte, pi), orphaned eslint.config.mts (repo uses Biome, no ESLint deps installed), stale @agentuity/frontend path alias in integration-suite tsconfig, scripts/run-cloud-tests.sh, and old agentuity-claude-code.zip. Updates .vscode/settings.json to Biome.
  2. chore: remove obsolete e2e playwright suite — 2,560 lines of dead Playwright tests targeting removed features (workbench, frontend/React, runtime-injected analytics, WebRTC, RPC client, EventStream, Vite React preamble, runtime HMR). Target app apps/testing/e2e-web was already gutted to a toy Hono server that served none of the routes these tests expected. Drops playwright.config.ts, e2e/{global-setup,global-teardown}.ts, scripts/{run-e2e-tests,test-e2e}.sh, and related root test:e2e* / test:ci:e2e scripts. Framework-demo e2e (playwright.frameworks.config.ts) and e2e-web's own bun:test unit tests (wired directly into CI) are kept. See project memory feat(cli): add cloud redis show command #108 for the planned fresh v3 e2e suite.
  3. chore(testing): reshape apps/testing — svelte demo + queue rename — Deletes apps/testing/queues/ (duplicate @agentuity/server Queue API harness already covered by integration-suite), drops scripts/test-queues.sh and the queue-sdk-test CI job. Renames apps/testing/queueapps/testing/queue-client for clarity (the other exists only as the CLI test now). Rebuilds apps/testing/svelte-web as a proper SvelteKit 2 + Svelte 5 runes app with adapter-node, an AI-Gateway translation demo (@ai-sdk/openai + ai), /about route, and /api/health + /api/translate endpoints — mirroring the tanstack-start shape. Drops zombie @agentuity/runtime and @agentuity/schema deps. Wires svelte into scripts/test-dev.sh, scripts/test-framework-demos.sh (new --svelte-only flag), playwright.frameworks.config.ts, and apps/testing/package.json. Adds e2e/frameworks/svelte.pw.ts mirroring tanstack.pw.ts. Fixes broken build:tanstack/build:nextjs scripts in apps/testing/package.json (were calling nonexistent build:agent). Existing framework-demo-test CI job picks up svelte automatically.
  4. chore(testing): upgrade nextjs-app to AI Gateway translation demo — Brings nextjs-app to parity with tanstack-start and svelte-web. New app/about/page.tsx, new app/api/translate/route.ts using @ai-sdk/openai, new app/globals.css shared visual design, deps updated to add @ai-sdk/openai + ai and drop unused hono. Playwright spec expanded from 2 → 4 tests matching the other framework demos. First-time .gitignore added (no build artifacts had previously leaked into git — verified).

Result

Demo Home UI AI Gateway /about nav /api/health
tanstack-start
nextjs-app
svelte-web

Verification

  • bun run typecheck — ✓ all 4 apps + 29 packages
  • bun run typecheck:svelte (svelte-check) — ✓ 0 errors
  • bun test in each upgraded app — ✓ passes
  • bun run build in svelte-web and nextjs-app — ✓ produces adapter-node and standalone output
  • bunx biome check . — ✓ clean (only pre-existing version info notice)
  • Dev smoke for both svelte and nextjs (home, /about, /api/health) — ✓

What was intentionally not touched

Tracked as project memory, to be handled separately:

Branching

Targets v3, not main.

Huijiro added 4 commits April 18, 2026 16:22
Prune stale artifacts left over from removed packages and test apps:

- Delete empty apps/testing husks: auth-package-app, cloud-deployment,
  webrtc-test, vite-rsc-app, standalone-agent
- Drop vite-rsc references from apps/testing/package.json,
  scripts/test-framework-demos.sh, and playwright.frameworks.config.ts
- Remove scripts/run-cloud-tests.sh (targeted deleted cloud-deployment app)
- Remove @agentuity/frontend path alias from integration-suite tsconfig
- Delete e2e/frameworks/vite-rsc.pw.ts
- Delete stray packages/agentuity-claude-code.zip artifact
- Delete orphaned eslint.config.mts (repo uses Biome, no eslint deps)
- Update .vscode/settings.json to use Biome (dropped ESLint/Prettier hints)

Typecheck, build, and lint all pass.
Every test in e2e/*.pw.ts targeted features that no longer exist in v3
(workbench, frontend/React, runtime-injected analytics, WebRTC signaling,
RPC client, EventStream manager, Vite React preamble, runtime HMR). The
target app apps/testing/e2e-web was also gutted to a toy Hono server that
serves none of the routes the tests expected, so coverage was 0%.

A fresh framework-agnostic e2e suite is planned; tracked in project
memory.

Changes:
- Delete e2e/{basic,analytics,debug-analytics,debug-beacon,hmr,preamble,
  rpc,streams,webrtc,workbench}.pw.ts
- Delete e2e/global-setup.ts, e2e/global-teardown.ts
- Delete playwright.config.ts (playwright.frameworks.config.ts stays)
- Delete scripts/run-e2e-tests.sh, scripts/test-e2e.sh
- Drop test:e2e, test:e2e:ui, test:e2e:headed, test:ci:e2e from root
  package.json
- Drop run-e2e-tests.sh from test:ci; drop run-cloud-tests.sh (already
  removed) and run-e2e-tests.sh calls from test-ci-all.sh
- Remove playwright.config.ts from root tsconfig.json exclude list
- Update scripts/README.md and scripts/prepare-sdk-for-testing.sh hints

Kept:
- apps/testing/e2e-web (has real bun:test unit tests wired into CI
  directly via package-smoke-test.yaml)
- playwright.frameworks.config.ts + e2e/frameworks/ (tanstack + nextjs
  demo tests, still valid)

Typecheck + lint clean.
Test-app consolidation:

1. Delete apps/testing/queues (the @agentuity/server Queue API test). We
   already exercise that surface from the integration-suite; this was a
   duplicate standalone harness.
   - Delete apps/testing/queues/
   - Delete scripts/test-queues.sh
   - Drop test:queues from root package.json
   - Drop queue-sdk-test job from .github/workflows/package-smoke-test.yaml
   (queue-cli-test which exercises CLI commands stays.)

2. Rename apps/testing/queue -> apps/testing/queue-client, package name
   queue-test -> queue-client-test, and update test:services:queue script.
   Unambiguous now that queues/ is gone, and consistent with other
   service-client test apps.

3. Rebuild apps/testing/svelte-web as a proper SvelteKit demo that mirrors
   tanstack-start:
   - SvelteKit 2 + svelte 5 runes
   - @sveltejs/adapter-node for buildpack pipeline
   - Translation demo via @ai-sdk/openai + ai, routed through Agentuity
     AI Gateway (OPENAI_BASE_URL injected by agentuity dev)
   - Routes: / (translate UI), /about, /api/translate, /api/health
   - Drops @agentuity/runtime and @agentuity/schema deps
   - bunfig.toml scopes bun test to ./test/ so build output doesn't
     confuse test discovery
   - .gitignore so .svelte-kit/, build/ etc. don't get linted/checked

4. Wire svelte-web into the demo pipeline:
   - scripts/test-dev.sh adds svelte-web to ALL_APPS
   - scripts/test-framework-demos.sh adds --svelte-only and runs the
     SvelteKit block (mirrors tanstack/nextjs)
   - playwright.frameworks.config.ts adds svelte project
   - e2e/frameworks/svelte.pw.ts mirrors tanstack.pw.ts (translate UI +
     AI Gateway + /about navigation)
   - apps/testing/package.json: test:frameworks:svelte, fix broken
     build:tanstack/nextjs scripts (were calling nonexistent build:agent)

The existing framework-demo-test GitHub Actions job picks up svelte
automatically via the updated test-framework-demos.sh.

Typecheck, svelte-check, bun test, biome check, and vite dev all clean.
Brings nextjs-app to parity with tanstack-start and svelte-web so all
three framework demos exercise the same AI Gateway translation flow via
agentuity dev.

Changes:
- app/page.tsx: client component with translation UI (same textarea +
  two selects + translate button + .output result) matching tanstack
  and svelte selectors
- app/about/page.tsx: new /about route with <Link href="/">Home</Link>
- app/api/translate/route.ts: new POST handler using @ai-sdk/openai +
  ai, prompt-style translation returning {translation, tokens, model,
  toLanguage}
- app/api/health/route.ts: kept as-is
- app/api/echo/route.ts: deleted (unused)
- app/layout.tsx: imports app/globals.css + adds metadata
- app/globals.css: new, shared visual style matching tanstack/svelte
- package.json: adds @ai-sdk/openai ^3.0.0 and ai ^6.0.0; drops unused
  hono
- test/index.test.ts: expands structure checks to 6 tests covering new
  routes
- e2e/frameworks/nextjs.pw.ts: expanded from 2 tests to 4 to mirror
  tanstack.pw.ts (home translate UI, AI Gateway translation, /about
  navigation) plus the existing /api/health check
- tsconfig.json: reformatted by biome

New: apps/testing/nextjs-app/.gitignore (Next.js defaults — .next, out,
next-env.d.ts, .env.local, etc.). Verified no build artifacts were
previously committed (only 8 source files were tracked).

Verification:
- bunx tsc --noEmit  ✓
- bun test           ✓ 6 pass, 3 skip
- bun run build      ✓ standalone output, 4 routes (/, /about,
                       /api/translate, /api/health)
- dev smoke          ✓ /, /about, /api/health respond on :3099
- bunx biome check . ✓ clean
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 18, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: ed14fdd1-85d6-4d36-9496-74cff9ae1a8c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 18, 2026

📦 Canary Packages Published

version: 3.0.0-alpha.6-c05857f

Packages
Package Version URL
@agentuity/adapter 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-adapter-3.0.0-alpha.6-c05857f.tgz
@agentuity/webhook 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-webhook-3.0.0-alpha.6-c05857f.tgz
@agentuity/runtime 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-runtime-3.0.0-alpha.6-c05857f.tgz
@agentuity/vector 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-vector-3.0.0-alpha.6-c05857f.tgz
@agentuity/sandbox 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-sandbox-3.0.0-alpha.6-c05857f.tgz
@agentuity/hono 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-hono-3.0.0-alpha.6-c05857f.tgz
@agentuity/schedule 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-schedule-3.0.0-alpha.6-c05857f.tgz
@agentuity/opencode 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-opencode-3.0.0-alpha.6-c05857f.tgz
@agentuity/postgres 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-postgres-3.0.0-alpha.6-c05857f.tgz
@agentuity/local 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-local-3.0.0-alpha.6-c05857f.tgz
@agentuity/db 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-db-3.0.0-alpha.6-c05857f.tgz
@agentuity/cli 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-cli-3.0.0-alpha.6-c05857f.tgz
@agentuity/coder 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-coder-3.0.0-alpha.6-c05857f.tgz
@agentuity/server 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-server-3.0.0-alpha.6-c05857f.tgz
@agentuity/schema 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-schema-3.0.0-alpha.6-c05857f.tgz
@agentuity/core 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-core-3.0.0-alpha.6-c05857f.tgz
@agentuity/analytics 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-analytics-3.0.0-alpha.6-c05857f.tgz
@agentuity/queue 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-queue-3.0.0-alpha.6-c05857f.tgz
@agentuity/stream 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-stream-3.0.0-alpha.6-c05857f.tgz
@agentuity/telemetry 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-telemetry-3.0.0-alpha.6-c05857f.tgz
@agentuity/email 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-email-3.0.0-alpha.6-c05857f.tgz
create-agentuity 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/create-agentuity-3.0.0-alpha.6-c05857f.tgz
@agentuity/keyvalue 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-keyvalue-3.0.0-alpha.6-c05857f.tgz
@agentuity/coder-tui 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-coder-tui-3.0.0-alpha.6-c05857f.tgz
@agentuity/drizzle 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-drizzle-3.0.0-alpha.6-c05857f.tgz
@agentuity/task 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-task-3.0.0-alpha.6-c05857f.tgz
@agentuity/migrate 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-migrate-3.0.0-alpha.6-c05857f.tgz
@agentuity/claude-code 3.0.0-alpha.6-c05857f https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-claude-code-3.0.0-alpha.6-c05857f.tgz
Install

Add to your package.json:

{
  "dependencies": {
    "@agentuity/adapter": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-adapter-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/webhook": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-webhook-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/runtime": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-runtime-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/vector": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-vector-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/sandbox": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-sandbox-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/hono": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-hono-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/schedule": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-schedule-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/opencode": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-opencode-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/postgres": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-postgres-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/local": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-local-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/db": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-db-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/cli": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-cli-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/coder": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-coder-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/server": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-server-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/schema": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-schema-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/core": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-core-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/analytics": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-analytics-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/queue": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-queue-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/stream": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-stream-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/telemetry": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-telemetry-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/email": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-email-3.0.0-alpha.6-c05857f.tgz",
    "create-agentuity": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/create-agentuity-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/keyvalue": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-keyvalue-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/coder-tui": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-coder-tui-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/drizzle": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-drizzle-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/task": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-task-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/migrate": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-migrate-3.0.0-alpha.6-c05857f.tgz",
    "@agentuity/claude-code": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-claude-code-3.0.0-alpha.6-c05857f.tgz"
  }
}

Or install directly:

bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-adapter-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-webhook-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-runtime-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-vector-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-sandbox-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-hono-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-schedule-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-opencode-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-postgres-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-local-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-db-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-cli-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-coder-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-server-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-schema-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-core-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-analytics-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-queue-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-stream-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-telemetry-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-email-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/create-agentuity-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-keyvalue-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-coder-tui-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-drizzle-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-task-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-migrate-3.0.0-alpha.6-c05857f.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.0.0-alpha.6-c05857f/agentuity-claude-code-3.0.0-alpha.6-c05857f.tgz

Huijiro added 4 commits April 18, 2026 16:58
The vite-react-app was a static SPA demo wired only to local
scripts/test-dev.sh — no Playwright coverage, no CI, no unique value
beyond what tanstack-start and the other framework demos already
exercise. If we later want a dedicated 'static SPA + injected static
server' demo for the buildpack pipeline, it should be scaffolded
fresh with a clearer purpose.

- Delete apps/testing/vite-react-app/
- Drop vite-react-app from scripts/test-dev.sh ALL_APPS
Restructures the testing layout:

  apps/testing/**     -> tests/frameworks/ | tests/services/ | tests/integration/
  e2e/frameworks/*.pw.ts -> tests/frameworks/<app>/tests/e2e.pw.ts (colocated)

New shape:

  tests/
    frameworks/   tanstack-start, nextjs-app, svelte-web (full e2e demos)
    services/    db, email, keyvalue, vector, queue, sandbox, schedule, task, webhook
    integration/ e2e-web, integration-suite, oauth, standalone-backend
    package.json, README.md

Playwright specs now live next to the app they target. structure.test.ts
(was test/index.test.ts) lives in the same tests/ folder.

Renamed apps/testing/queue-client -> tests/services/queue (suffix no longer
needed now that the queue-API duplicate was deleted earlier in this branch).

Also removes broken plumbing that was never wired to CI:
- scripts/run-integration-tests.sh (called a nonexistent ci-test.sh)
- scripts/test-integration-suite.sh (same)
- scripts/test-ci-all.sh (called the above)
- root package.json: test:ci, test:ci:all, test:ci:integration, test:ci:prepare
- 'bun run test:ci' removed from the 'all' script

New CI coverage — wires each service client into a new
service-client-test job in .github/workflows/package-smoke-test.yaml,
running each tests/services/<svc>/index.ts against the live cloud using
AGENTUITY_SDK_KEY. Also extends testing-apps-test to run the new
structure.test.ts files in nextjs-app and svelte-web.

Path updates:
- package.json: workspaces adds tests/**; typecheck:apps, build:apps,
  test:services:*, test:standalone, clean now point at tests/*
- tests/package.json: internal scripts rewritten for new subtrees
- playwright.frameworks.config.ts: testDir ./tests/frameworks,
  per-project testMatch tests/<app>/tests/e2e.pw.ts
- tsconfig.json: exclude 'e2e' -> 'tests'
- scripts/test-framework-demos.sh, scripts/test-dev.sh,
  scripts/install-sdk-tarballs.sh: apps/testing/ -> tests/
- scripts/README.md: rewritten to reflect the new tree and CI matrix
- .github/workflows/package-smoke-test.yaml: testing-apps-test paths +
  new service-client-test job
- packages/cli/src/runtime-bootstrap.md, packages/opencode/src/agents/{scout,expert-backend}.ts,
  packages/vscode/{README.md,.vscode/launch.json}, examples/README.md:
  update stale path refs (launch.json and vscode README targeted a
  nonexistent auth-app — now point at tests/integration/standalone-backend)

apps/ now contains only create-agentuity and docs.

Verification:
- bun install               ✓
- bun run build             ✓
- bun run typecheck         ✓ all 4 apps + 29 packages
- bun test (all 6 targets)  ✓ 28 pass across integration + frameworks
- playwright --list         ✓ 10 tests across tanstack/nextjs/svelte
- bunx biome check .        ✓ clean
- bash -n on all scripts    ✓ clean
Restructures the top-level directory tree now that 'apps/' only held two
unrelated things:

  apps/create-agentuity  ->  packages/create-agentuity  (it's a package)
  apps/docs              ->  docs                        (it's the site)
  apps/                  ->  deleted

And removes the old top-level docs/ dir of design notes, which had stale
content for removed packages:

  docs/webrtc-architecture.md        (removed `@agentuity/frontend` WebRTC)
  docs/webrtc-scaling-sfu.md         (same)
  docs/webrtc-turn-configuration.md  (same)
  docs/async-thread-state.md         (orphan design doc, no inbound links)
  docs/recipes/auth0.md              (removed `@agentuity/auth`)
  docs/recipes/clerk.md              (same)
  docs/recipes/drizzle-integration.md (orphan, superseded by apps/docs site)
  docs/testing.md                    (176-line guide — its conventions are
                                      now inlined into root AGENTS.md)

Resulting top-level:

  .github/   biome.json   bunfig.toml   docs/         examples/
  package.json   packages/   README.md   scripts/     snapshots/
  tests/   tsconfig.json   ...

Path updates:

- package.json: workspaces ["packages/*", "docs", "tests/**"]
  (was packages/*, apps/**, tests/**)
- AGENTS.md: replaces the docs/testing.md link with an inline testing
  section covering test/ location convention, tsconfig.test.json split,
  @agentuity/test-utils usage, and a pointer to the tests/ tree.
  (Leaves the stale architecture table alone — that's docs rewrite
  territory, memory #105.)
- scripts/publish.ts: drops the appsDir constant and the three apps/*
  iteration loops (version bump, workspace-restore, publishable scan).
  Removes apps/*/package.json from the git-checkout revert path. The
  create-agentuity-publishes-last ordering is preserved via the existing
  sort in getPublishablePackages() — create-agentuity is just a package
  now.
- .github/workflows/sync-docs.yml: paths trigger 'apps/docs/src/web/content/**'
  -> 'docs/src/web/content/**'; bin/*.sh script paths updated
- .github/workflows/sync-docs-full.yml: same bin/*.sh updates
- .github/workflows/snapshot.yaml: 'cd apps/docs && ... && cd ../..'
  -> 'cd docs && ... && cd ..'
- snapshots/sdk-explorer.yaml: 'dir: apps/docs' -> 'dir: docs'
- docs/AGENTS.md, docs/package.json, docs/bin/*.sh,
  docs/src/web/components/HandlerContextDemo.tsx: internal apps/docs
  self-references -> docs

Verification:
- bun install            ✓
- bun run build          ✓
- bun run typecheck      ✓ all packages + 4 integration apps
- bun test in all 7 test targets       ✓ 38 pass, 17 skip
- bunx biome check .     ✓ clean (pre-existing version info notice only)
- bunx playwright test --list  ✓ 10 tests in 3 framework specs
- Search for stray apps/ references    ✓ none outside .next/ and
  opencode/dist/ (build artifacts)
Adds a repo-scoped pi skill under .agents/skills/service-docs-sync that
reminds contributors to update the matching docs page whenever they
edit a service-client package.

Scope: just the service-client packages (keyvalue, vector, stream,
queue, email, db, schedule, task, webhook, sandbox). Not general-purpose
docs maintenance — that's memory #105 territory.

The skill:
- Lists each package -> docs page mapping explicitly
- Describes 'almost always user-facing' categories (new exports,
  changed signatures, changed defaults, new errors, new env vars,
  wire format changes)
- Describes 'sometimes user-facing' and 'not user-facing' categories
- Provides a 6-step workflow (diff -> read docs -> decide -> update ->
  verify -> commit)
- Calls out common anti-patterns ('I'll do it later', 'someone else
  owns docs', 'only a bug fix')

Also drops the obsolete .gitignore block that was hiding all
.agents/skills/* with per-skill allowlist exceptions — the allowlist
no longer matches current skill structure (github-issue was tracked
but not excepted, new skills would have been silently ignored).
@agentuity-agent
Copy link
Copy Markdown

agentuity-agent bot commented Apr 18, 2026

The latest Agentuity deployment details.

Project Deployment Preview Updated (UTC)
docs 🔴 Failed (deploy_3eade0ae5f83272dcbd14b28b8d12c7e) - 2026-04-18T21:25:05Z

create-agentuity was the only package with bin.js / bin.test.js at the
root and a no-op build, which broke scripts/build-sdk.sh's dist/
verification. Converting it to a standard TS package brings it in line
with every other package and lets tsc --build handle it.

Structure:
- src/index.ts    — exports getCliVersionSpecifier
- src/bin.ts      — the #!/usr/bin/env node entry (spawns bunx
                    @agentuity/cli@<tag>)
- test/index.test.ts — same 14 tests, now imports from src/
- tsconfig.json   — standard shape (extends tsconfig.base.json)

package.json changes:
- bin: ./bin.js -> ./dist/bin.js
- adds main + types + exports fields pointing at dist/
- files: ["bin.js"] -> ["dist", "README.md"]
- scripts: no-op build -> real bunx tsc --build; adds clean, typecheck,
  prepublishOnly matching other packages
- devDeps: adds @types/bun, typescript

Runtime note: dist/bin.js reads its own package.json via
readFileSync(resolve(__dirname, '..', 'package.json'), 'utf8') instead
of createRequire, which is simpler and Node-native. Users installing
create-agentuity via 'bun create agentuity' still get the same behaviour
— package.json sits one level up from dist/ in the published tarball.

Root tsconfig.json adds packages/create-agentuity to its references so
'bunx tsc --build' picks it up.

Verification:
- bun install                     ✓ (bun.lock updated)
- bun run build                   ✓
- bun run typecheck               ✓ 29 packages + 4 apps clean
- bash scripts/build-sdk.sh       ✓ now lists 'All 28 packages built
                                    successfully' (create-agentuity
                                    now produces dist/)
- cd packages/create-agentuity && bun test  ✓ 14/14 pass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant