Skip to content

feat(telemetry): add reusable human eval helpers #329

feat(telemetry): add reusable human eval helpers

feat(telemetry): add reusable human eval helpers #329

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
ci:
name: Build, Test & Typecheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
- run: npm ci
# Build all packages in dependency order before tests/typecheck. dist/ is
# no longer committed (see chore/untrack-dist-artifacts), so every
# workspace consumer needs its dep's dist on disk before tsc/vitest can
# resolve `@agent-assistant/*` imports.
#
# Topological order:
# traits, routing, connectivity, memory, vfs — leaves
# core (traits), coordination (connectivity, routing)
# surfaces, sessions, policy
# harness (traits, core, connectivity, coordination, vfs)
# turn-context (traits, harness, memory)
# proactive (surfaces), inbox (turn-context), continuation
# telemetry (harness), specialists (coordination, vfs)
# sdk (re-exports), webhook-runtime (specialists)
- name: Build packages in dependency order
shell: bash
run: |
set -euo pipefail
ORDER=(
traits routing connectivity memory vfs
core coordination
surfaces sessions policy
harness
turn-context
proactive inbox continuation
telemetry specialists
sdk webhook-runtime
)
for pkg in "${ORDER[@]}"; do
if [ -f "packages/$pkg/package.json" ] && jq -e '.scripts.build' "packages/$pkg/package.json" >/dev/null; then
echo "==> Building $pkg"
npm run build -w "@agent-assistant/$pkg"
fi
done
# Tests — publishable packages only
- name: Run tests — traits
working-directory: packages/traits
run: npx vitest run
- name: Run tests — core
working-directory: packages/core
run: npx vitest run
- name: Run tests — sessions
working-directory: packages/sessions
run: npx vitest run
- name: Run tests — surfaces
working-directory: packages/surfaces
run: npx vitest run
- name: Run tests — vfs
working-directory: packages/vfs
run: npx vitest run
- name: Run tests — harness
working-directory: packages/harness
run: npx vitest run
- name: Run tests — telemetry
working-directory: packages/telemetry
run: npx vitest run
- name: Run tests — proactive
working-directory: packages/proactive
run: npx vitest run
# Typecheck — runs after the dependency-ordered build above so all
# workspace dist/ folders are populated.
- name: Typecheck — traits
working-directory: packages/traits
run: npx tsc --noEmit -p tsconfig.json
- name: Typecheck — core
working-directory: packages/core
run: npx tsc --noEmit -p tsconfig.json
- name: Typecheck — sessions
working-directory: packages/sessions
run: npx tsc --noEmit -p tsconfig.json
- name: Typecheck — surfaces
working-directory: packages/surfaces
run: npx tsc --noEmit -p tsconfig.json
- name: Typecheck — proactive
working-directory: packages/proactive
run: npx tsc --noEmit -p tsconfig.json
- name: Typecheck — vfs
working-directory: packages/vfs
run: npx tsc --noEmit -p tsconfig.json
- name: Typecheck — telemetry
working-directory: packages/telemetry
run: npx tsc --noEmit -p tsconfig.json
- name: Verify no test artifacts in dist
run: |
FAIL=0
for pkg in traits core sessions surfaces vfs telemetry; do
if find "packages/$pkg/dist" -name '*.test.*' 2>/dev/null | grep -q .; then
echo "ERROR: test artifacts found in packages/$pkg/dist/"
find "packages/$pkg/dist" -name '*.test.*'
FAIL=1
fi
done
if [ "$FAIL" -eq 1 ]; then exit 1; fi
echo "No test artifacts in dist — OK"