Move packages/ to lib/packages/ and update all references

Updated: package.json workspaces, tsconfig path alias, CI workflow
paths, Dockerfile COPY, AGENTS.md, and doc references.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Bryan Helmkamp 2026-03-09 13:13:56 -04:00
parent 9e3b73dbe4
commit c2b40b4cfc
183 changed files with 15 additions and 15 deletions

View file

@ -5,7 +5,7 @@ on:
branches: [main]
paths:
- "apps/**"
- "packages/**"
- "lib/packages/**"
- "package.json"
- "bun.lock"
- ".github/workflows/typescript.yml"
@ -13,7 +13,7 @@ on:
branches: [main]
paths:
- "apps/**"
- "packages/**"
- "lib/packages/**"
- "package.json"
- "bun.lock"
- ".github/workflows/typescript.yml"

View file

@ -30,7 +30,7 @@ The OpenAPI spec at `docs/api-reference/arc-api.yaml` is the source of truth for
2. `cargo build -p arc-types` — build.rs regenerates Rust types via typify
3. Write/update handler in `lib/crates/arc-api/src/server.rs`, add route to `build_router()`
4. `cargo test -p arc-api` — conformance test catches spec/router drift
5. `cd packages/arc-api-client && bun run generate` — regenerates TypeScript Axios client
5. `cd lib/packages/arc-api-client && bun run generate` — regenerates TypeScript Axios client
## Architecture
@ -53,9 +53,9 @@ Arc is an AI-powered workflow orchestration platform. Workflows are defined as D
- **arc-git-storage** — Git-based storage with branch store and snapshots
- **arc-util** — Shared utilities (redaction, telemetry, terminal formatting)
### TypeScript (`apps/` and `packages/`)
### TypeScript (`apps/` and `lib/packages/`)
- **apps/arc-web** — React 19 + React Router + Vite + Tailwind CSS frontend
- **packages/arc-api-client** — Auto-generated TypeScript Axios client from OpenAPI spec
- **lib/packages/arc-api-client** — Auto-generated TypeScript Axios client from OpenAPI spec
### Key design patterns
- **Sandbox trait** — Uniform interface for local, Docker, SSH (ExeSandbox), Sprites, and Daytona execution environments

View file

@ -17,7 +17,7 @@
"baseUrl": ".",
"paths": {
"~/*": ["./app/*"],
"@qltysh/arc-api-client": ["../../packages/arc-api-client/src/index.ts"]
"@qltysh/arc-api-client": ["../../lib/packages/arc-api-client/src/index.ts"]
},
"esModuleInterop": true,
"verbatimModuleSyntax": true,

View file

@ -54,7 +54,7 @@
"typescript": "^5.9.2",
},
},
"packages/arc-api-client": {
"lib/packages/arc-api-client": {
"name": "@qltysh/arc-api-client",
"version": "0.1.0",
"dependencies": {
@ -290,7 +290,7 @@
"@pierre/diffs": ["@pierre/diffs@1.0.11", "", { "dependencies": { "@shikijs/core": "^3.0.0", "@shikijs/engine-javascript": "^3.0.0", "@shikijs/transformers": "^3.0.0", "diff": "8.0.3", "hast-util-to-html": "9.0.5", "lru_map": "0.4.1", "shiki": "^3.0.0" }, "peerDependencies": { "react": "^18.3.1 || ^19.0.0", "react-dom": "^18.3.1 || ^19.0.0" } }, "sha512-j6zIEoyImQy1HfcJqbrDwP0O5I7V2VNXAaw53FqQ+SykRfaNwABeZHs9uibXO4supaXPmTx6LEH9Lffr03e1Tw=="],
"@qltysh/arc-api-client": ["@qltysh/arc-api-client@workspace:packages/arc-api-client"],
"@qltysh/arc-api-client": ["@qltysh/arc-api-client@workspace:lib/packages/arc-api-client"],
"@react-aria/focus": ["@react-aria/focus@3.21.4", "", { "dependencies": { "@react-aria/interactions": "^3.27.0", "@react-aria/utils": "^3.33.0", "@react-types/shared": "^3.33.0", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-6gz+j9ip0/vFRTKJMl3R30MHopn4i19HqqLfSQfElxJD+r9hBnYG1Q6Wd/kl/WRR1+CALn2F+rn06jUnf5sT8Q=="],

View file

@ -19,11 +19,11 @@ COPY --from=rust-builder /app/target/release/arc /usr/local/bin/arc
COPY package.json bun.lock ./
COPY apps/arc-web/package.json apps/arc-web/
COPY packages/arc-api-client/package.json packages/arc-api-client/
COPY lib/packages/arc-api-client/package.json lib/packages/arc-api-client/
RUN bun install --frozen-lockfile
COPY apps/arc-web apps/arc-web
COPY packages/arc-api-client packages/arc-api-client
COPY lib/packages/arc-api-client lib/packages/arc-api-client
COPY docs docs
COPY docker/entrypoint.ts .

View file

@ -14,11 +14,11 @@ The `@qltysh/arc-api-client` package is a fully typed HTTP client generated with
From the repository root:
```bash
cd packages/arc-api-client
cd lib/packages/arc-api-client
bun run generate
```
This runs `openapi-generator-cli` against `docs/api-reference/arc-api.yaml` and writes the generated source into `packages/arc-api-client/src/`.
This runs `openapi-generator-cli` against `docs/api-reference/arc-api.yaml` and writes the generated source into `lib/packages/arc-api-client/src/`.
### Usage

View file

@ -31,7 +31,7 @@ When credentials are missing or misconfigured, Arc provides specific error messa
**API response shapes have changed.** Flat fields are now nested into typed sub-objects (e.g. `model_id` becomes `model.id`), and relative time strings are replaced with ISO 8601 timestamps. Several endpoints were renamed: `retrieveRunSvg` is now `retrieveRunGraph`, `listRunCompare` is now `retrieveRunDiff`, and `RunListItemStatus` is now `BoardColumn`.
To migrate:
1. Regenerate your TypeScript client: `cd packages/arc-api-client && bun run generate`
1. Regenerate your TypeScript client: `cd lib/packages/arc-api-client && bun run generate`
2. Update any code that reads flat fields to use the new nested paths
3. Update any code that displays timestamps — the API now returns ISO 8601 strings instead of pre-formatted relative times
</Warning>

View file

@ -45,7 +45,7 @@ To migrate, update any scripts or aliases that reference the old command names.
**Verification API paths have changed.** `/verifications` is now split into `/verification/criteria` and `/verification/controls`. The run sub-resource moved from `/runs/{id}/verifications` to `/runs/{id}/verification`.
To migrate:
1. Regenerate your TypeScript client: `cd packages/arc-api-client && bun run generate`
1. Regenerate your TypeScript client: `cd lib/packages/arc-api-client && bun run generate`
2. Update any direct API calls to use the new paths
</Warning>

Some files were not shown because too many files have changed in this diff Show more