feat(cli): TUI autocomplete sidebar + fuzzy match + arg hints + input history (P8-017) #184

Merged
jason.woltje merged 1 commits from feat/p8-017-autocomplete into main 2026-03-16 03:30:16 +00:00
Owner

Summary

  • Add Ink component that renders a filtered command list when the input starts with , showing aliases and arg hints for the selected command
  • Add hook implementing a 50-entry ring buffer with up/down arrow navigation and saved-input restore when returning to bottom
  • Update to show/hide autocomplete on trigger, wire Tab/Enter to fill the selected command, Escape to dismiss, and up/down to navigate list vs history
  • Pass as prop from to

Test plan

mosaic-stack@ typecheck /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac0ab1a8/.claude/worktrees/agent-a0abaca7
turbo run typecheck

• Packages in scope: @mosaic/agent, @mosaic/auth, @mosaic/brain, @mosaic/cli, @mosaic/coord, @mosaic/db, @mosaic/design-tokens, @mosaic/discord-plugin, @mosaic/gateway, @mosaic/log, @mosaic/memory, @mosaic/mosaic, @mosaic/prdy, @mosaic/quality-rails, @mosaic/queue, @mosaic/telegram-plugin, @mosaic/types, @mosaic/web
• Running typecheck in 18 packages
• Remote caching disabled, using shared worktree cache
@mosaic/quality-rails:typecheck: cache hit, replaying logs 773b5ce675827462
@mosaic/quality-rails:typecheck:
@mosaic/quality-rails:typecheck: > @mosaic/quality-rails@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/quality-rails
@mosaic/quality-rails:typecheck: > tsc --noEmit
@mosaic/quality-rails:typecheck:
@mosaic/telegram-plugin:typecheck: cache hit, replaying logs 4150887d09a1a2f3
@mosaic/telegram-plugin:typecheck:
@mosaic/telegram-plugin:typecheck: > @mosaic/telegram-plugin@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/plugins/telegram
@mosaic/telegram-plugin:typecheck: > tsc --noEmit
@mosaic/telegram-plugin:typecheck:
@mosaic/mosaic:typecheck: cache hit, replaying logs b1577ea913610cd9
@mosaic/mosaic:typecheck:
@mosaic/mosaic:typecheck: > @mosaic/mosaic@0.1.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/mosaic
@mosaic/mosaic:typecheck: > tsc --noEmit
@mosaic/mosaic:typecheck:
@mosaic/prdy:typecheck: cache hit, replaying logs a6a0c18bda2a2b63
@mosaic/prdy:typecheck:
@mosaic/prdy:typecheck: > @mosaic/prdy@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/prdy
@mosaic/prdy:typecheck: > tsc --noEmit
@mosaic/prdy:typecheck:
@mosaic/discord-plugin:typecheck: cache hit, replaying logs 6949557dcdc8a25d
@mosaic/discord-plugin:typecheck:
@mosaic/discord-plugin:typecheck: > @mosaic/discord-plugin@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/plugins/discord
@mosaic/discord-plugin:typecheck: > tsc --noEmit
@mosaic/discord-plugin:typecheck:
@mosaic/design-tokens:typecheck: cache hit, replaying logs 107e1e40ecb9b42c
@mosaic/db:build: cache hit, replaying logs 12da17b042d6b1ba
@mosaic/design-tokens:typecheck:
@mosaic/db:build:
@mosaic/design-tokens:typecheck: > @mosaic/design-tokens@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/design-tokens
@mosaic/design-tokens:typecheck: > tsc --noEmit
@mosaic/db:build: > @mosaic/db@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/db
@mosaic/db:build: > tsc
@mosaic/db:build:
@mosaic/design-tokens:typecheck:
@mosaic/discord-plugin:build: cache hit, replaying logs 22f73215abb3a79d
@mosaic/discord-plugin:build:
@mosaic/discord-plugin:build: > @mosaic/discord-plugin@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/plugins/discord
@mosaic/discord-plugin:build: > tsc
@mosaic/discord-plugin:build:
@mosaic/types:build: cache hit, replaying logs 074ac3983e23bbf4
@mosaic/types:build:
@mosaic/types:build: > @mosaic/types@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/types
@mosaic/types:build: > tsc
@mosaic/types:build:
@mosaic/design-tokens:build: cache hit, replaying logs 270358c643266429
@mosaic/design-tokens:build:
@mosaic/design-tokens:build: > @mosaic/design-tokens@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/design-tokens
@mosaic/design-tokens:build: > tsc
@mosaic/design-tokens:build:
@mosaic/db:typecheck: cache hit, replaying logs 8133ed2356ff8768
@mosaic/db:typecheck:
@mosaic/db:typecheck: > @mosaic/db@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/db
@mosaic/db:typecheck: > tsc --noEmit
@mosaic/db:typecheck:
@mosaic/prdy:build: cache hit, replaying logs cb5403384336205f
@mosaic/prdy:build:
@mosaic/prdy:build: > @mosaic/prdy@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/prdy
@mosaic/prdy:build: > tsc
@mosaic/prdy:build:
@mosaic/quality-rails:build: cache hit, replaying logs b7f6d1a1f03144a8
@mosaic/quality-rails:build:
@mosaic/types:typecheck: cache hit, replaying logs df6c273abce782b1
@mosaic/quality-rails:build: > @mosaic/quality-rails@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/quality-rails
@mosaic/quality-rails:build: > tsc
@mosaic/quality-rails:build:
@mosaic/types:typecheck:
@mosaic/types:typecheck: > @mosaic/types@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/types
@mosaic/types:typecheck: > tsc --noEmit
@mosaic/types:typecheck:
@mosaic/telegram-plugin:build: cache hit, replaying logs 3d58ea44fccd3caf
@mosaic/telegram-plugin:build:
@mosaic/telegram-plugin:build: > @mosaic/telegram-plugin@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/plugins/telegram
@mosaic/telegram-plugin:build: > tsc
@mosaic/telegram-plugin:build:
@mosaic/auth:build: cache hit, replaying logs 97aa6d96e58a08e6
@mosaic/auth:build:
@mosaic/auth:build: > @mosaic/auth@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/auth
@mosaic/auth:build: > tsc
@mosaic/auth:build:
@mosaic/log:typecheck: cache hit, replaying logs 443baf67f0ae3783
@mosaic/log:typecheck:
@mosaic/log:typecheck: > @mosaic/log@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/log
@mosaic/log:typecheck: > tsc --noEmit
@mosaic/log:typecheck:
@mosaic/log:build: cache hit, replaying logs 17dda16b4298eea9
@mosaic/log:build:
@mosaic/log:build: > @mosaic/log@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/log
@mosaic/log:build: > tsc
@mosaic/log:build:
@mosaic/mosaic:build: cache hit, replaying logs fa039137292693a0
@mosaic/mosaic:build:
@mosaic/auth:typecheck: cache hit, replaying logs 760a8e3453b0eb3a
@mosaic/mosaic:build: > @mosaic/mosaic@0.1.0 build /home/jwoltje/src/mosaic-mono-v1/packages/mosaic
@mosaic/mosaic:build: > tsc
@mosaic/mosaic:build:
@mosaic/auth:typecheck:
@mosaic/auth:typecheck: > @mosaic/auth@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/auth
@mosaic/auth:typecheck: > tsc --noEmit
@mosaic/auth:typecheck:
@mosaic/queue:build: cache hit, replaying logs 6fe6ffc59cf9effb
@mosaic/brain:build: cache hit, replaying logs 088c3cfad1bbc33e
@mosaic/queue:build:
@mosaic/queue:build: > @mosaic/queue@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/queue
@mosaic/brain:build:
@mosaic/queue:build: > tsc
@mosaic/brain:build: > @mosaic/brain@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/brain
@mosaic/queue:build:
@mosaic/brain:build: > tsc
@mosaic/brain:build:
@mosaic/coord:typecheck: cache hit, replaying logs 246baa94d04886fd
@mosaic/coord:typecheck:
@mosaic/coord:typecheck: > @mosaic/coord@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/coord
@mosaic/coord:typecheck: > tsc --noEmit
@mosaic/coord:typecheck:
@mosaic/memory:build: cache hit, replaying logs 91eb301ba67a52f6
@mosaic/memory:build:
@mosaic/agent:typecheck: cache hit, replaying logs 60f39fdabbbe8ceb
@mosaic/memory:build: > @mosaic/memory@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/memory
@mosaic/memory:build: > tsc
@mosaic/memory:build:
@mosaic/agent:typecheck:
@mosaic/agent:typecheck: > @mosaic/agent@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/agent
@mosaic/agent:typecheck: > tsc --noEmit
@mosaic/agent:typecheck:
@mosaic/memory:typecheck: cache hit, replaying logs 475a29631c252e67
@mosaic/memory:typecheck:
@mosaic/memory:typecheck: > @mosaic/memory@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/memory
@mosaic/memory:typecheck: > tsc --noEmit
@mosaic/memory:typecheck:
@mosaic/queue:typecheck: cache hit, replaying logs ce0c703d33563e90
@mosaic/queue:typecheck:
@mosaic/queue:typecheck: > @mosaic/queue@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/queue
@mosaic/queue:typecheck: > tsc --noEmit
@mosaic/queue:typecheck:
@mosaic/coord:build: cache hit, replaying logs 5036e580e6509c57
@mosaic/coord:build:
@mosaic/coord:build: > @mosaic/coord@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/coord
@mosaic/coord:build: > tsc
@mosaic/coord:build:
@mosaic/brain:typecheck: cache hit, replaying logs 0167f910ab00f844
@mosaic/brain:typecheck:
@mosaic/brain:typecheck: > @mosaic/brain@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/brain
@mosaic/brain:typecheck: > tsc --noEmit
@mosaic/brain:typecheck:
@mosaic/web:typecheck: cache hit, replaying logs 7a438f573892ad8d
@mosaic/web:typecheck:
@mosaic/web:typecheck: > @mosaic/web@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/apps/web
@mosaic/web:typecheck: > tsc --noEmit
@mosaic/web:typecheck:
@mosaic/cli:typecheck: cache hit, replaying logs 43bb5d6ae89fa367
@mosaic/cli:typecheck:
@mosaic/cli:typecheck: > @mosaic/cli@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac0ab1a8/.claude/worktrees/agent-a0abaca7/packages/cli
@mosaic/cli:typecheck: > tsc --noEmit
@mosaic/cli:typecheck:
@mosaic/gateway:typecheck: cache hit, replaying logs fc41a7b9c1187bed
@mosaic/gateway:typecheck:
@mosaic/gateway:typecheck: > @mosaic/gateway@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/apps/gateway
@mosaic/gateway:typecheck: > tsc --noEmit -p tsconfig.typecheck.json
@mosaic/gateway:typecheck:

Tasks: 32 successful, 32 total
Cached: 32 cached, 32 total
Time: 74ms >>> FULL TURBO — all packages clean

mosaic-stack@ lint /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac0ab1a8/.claude/worktrees/agent-a0abaca7
turbo run lint

• Packages in scope: @mosaic/agent, @mosaic/auth, @mosaic/brain, @mosaic/cli, @mosaic/coord, @mosaic/db, @mosaic/design-tokens, @mosaic/discord-plugin, @mosaic/gateway, @mosaic/log, @mosaic/memory, @mosaic/mosaic, @mosaic/prdy, @mosaic/quality-rails, @mosaic/queue, @mosaic/telegram-plugin, @mosaic/types, @mosaic/web
• Running lint in 18 packages
• Remote caching disabled, using shared worktree cache
@mosaic/quality-rails:lint: cache hit, replaying logs 9cfa5a7ef8975eec
@mosaic/quality-rails:lint:
@mosaic/quality-rails:lint: > @mosaic/quality-rails@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/quality-rails
@mosaic/quality-rails:lint: > eslint src
@mosaic/quality-rails:lint:
@mosaic/discord-plugin:lint: cache hit, replaying logs 589a2558c93e4cb5
@mosaic/discord-plugin:lint:
@mosaic/discord-plugin:lint: > @mosaic/discord-plugin@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/plugins/discord
@mosaic/discord-plugin:lint: > eslint src
@mosaic/discord-plugin:lint:
@mosaic/mosaic:lint: cache hit, replaying logs 2f98b3cdcece7721
@mosaic/mosaic:lint:
@mosaic/mosaic:lint: > @mosaic/mosaic@0.1.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/mosaic
@mosaic/mosaic:lint: > eslint src
@mosaic/mosaic:lint:
@mosaic/db:lint: cache hit, replaying logs ccc19c990fa25bb1
@mosaic/db:lint:
@mosaic/db:lint: > @mosaic/db@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/db
@mosaic/db:lint: > eslint src
@mosaic/db:lint:
@mosaic/types:lint: cache hit, replaying logs 4ac543f1f479bdce
@mosaic/types:lint:
@mosaic/types:lint: > @mosaic/types@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/types
@mosaic/types:lint: > eslint src
@mosaic/types:lint:
@mosaic/telegram-plugin:lint: cache hit, replaying logs 541b9739fc80302e
@mosaic/telegram-plugin:lint:
@mosaic/telegram-plugin:lint: > @mosaic/telegram-plugin@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/plugins/telegram
@mosaic/telegram-plugin:lint: > eslint src
@mosaic/telegram-plugin:lint:
@mosaic/design-tokens:lint: cache hit, replaying logs 8fe85fe02729fa77
@mosaic/design-tokens:lint:
@mosaic/design-tokens:lint: > @mosaic/design-tokens@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/design-tokens
@mosaic/design-tokens:lint: > eslint src
@mosaic/design-tokens:lint:
@mosaic/prdy:lint: cache hit, replaying logs 48d86f65ce99eae1
@mosaic/prdy:lint:
@mosaic/prdy:lint: > @mosaic/prdy@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/prdy
@mosaic/prdy:lint: > eslint src
@mosaic/prdy:lint:
@mosaic/auth:lint: cache hit, replaying logs 74160e9cb0ee0559
@mosaic/auth:lint:
@mosaic/auth:lint: > @mosaic/auth@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/auth
@mosaic/auth:lint: > eslint src
@mosaic/auth:lint:
@mosaic/log:lint: cache hit, replaying logs 6048d3c34c16319b
@mosaic/log:lint:
@mosaic/log:lint: > @mosaic/log@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/log
@mosaic/log:lint: > eslint src
@mosaic/log:lint:
@mosaic/brain:lint: cache hit, replaying logs 8aab01bb2c109deb
@mosaic/brain:lint:
@mosaic/brain:lint: > @mosaic/brain@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/brain
@mosaic/brain:lint: > eslint src
@mosaic/brain:lint:
@mosaic/agent:lint: cache hit, replaying logs 2469396621e92f40
@mosaic/agent:lint:
@mosaic/agent:lint: > @mosaic/agent@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/agent
@mosaic/agent:lint: > eslint src
@mosaic/agent:lint:
@mosaic/coord:lint: cache hit, replaying logs 8945b9e8a430a3da
@mosaic/coord:lint:
@mosaic/coord:lint: > @mosaic/coord@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/coord
@mosaic/coord:lint: > eslint src
@mosaic/coord:lint:
@mosaic/queue:lint: cache hit, replaying logs 36c65d693ee24f5c
@mosaic/queue:lint:
@mosaic/queue:lint: > @mosaic/queue@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/queue
@mosaic/queue:lint: > eslint src
@mosaic/queue:lint:
@mosaic/memory:lint: cache hit, replaying logs 848fcb4be59bfc27
@mosaic/memory:lint:
@mosaic/memory:lint: > @mosaic/memory@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/memory
@mosaic/memory:lint: > eslint src
@mosaic/memory:lint:
@mosaic/web:lint: cache hit, replaying logs 2d9d95e582088036
@mosaic/web:lint:
@mosaic/web:lint: > @mosaic/web@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/apps/web
@mosaic/web:lint: > eslint src
@mosaic/web:lint:
@mosaic/cli:lint: cache hit, replaying logs a4ec9033430f962e
@mosaic/cli:lint:
@mosaic/cli:lint: > @mosaic/cli@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac0ab1a8/.claude/worktrees/agent-a0abaca7/packages/cli
@mosaic/cli:lint: > eslint src
@mosaic/cli:lint:
@mosaic/gateway:lint: cache hit, replaying logs f77a56ca96e4544a
@mosaic/gateway:lint:
@mosaic/gateway:lint: > @mosaic/gateway@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/apps/gateway
@mosaic/gateway:lint: > eslint src
@mosaic/gateway:lint:

Tasks: 18 successful, 18 total
Cached: 18 cached, 18 total
Time: 49ms >>> FULL TURBO — no warnings

mosaic-stack@ format:check /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac0ab1a8/.claude/worktrees/agent-a0abaca7
prettier --check "**/*.{ts,tsx,js,jsx,json,md}"

Checking formatting...
All matched files use Prettier code style! — Prettier clean

mosaic-stack@ test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac0ab1a8/.claude/worktrees/agent-a0abaca7
turbo run test

• Packages in scope: @mosaic/agent, @mosaic/auth, @mosaic/brain, @mosaic/cli, @mosaic/coord, @mosaic/db, @mosaic/design-tokens, @mosaic/discord-plugin, @mosaic/gateway, @mosaic/log, @mosaic/memory, @mosaic/mosaic, @mosaic/prdy, @mosaic/quality-rails, @mosaic/queue, @mosaic/telegram-plugin, @mosaic/types, @mosaic/web
• Running test in 18 packages
• Remote caching disabled, using shared worktree cache
@mosaic/types:test: cache hit, replaying logs baeb3cc5c2e44957
@mosaic/types:test:
@mosaic/types:test: > @mosaic/types@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/types
@mosaic/types:test: > vitest run --passWithNoTests
@mosaic/types:test:
@mosaic/types:test: The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
@mosaic/types:test:
@mosaic/types:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/types
@mosaic/types:test:
@mosaic/types:test: include: **/.{test,spec}.?(c|m)[jt]s?(x)
@mosaic/types:test: exclude: /node_modules/, /dist/, /cypress/, /.{idea,git,cache,output,temp}/, */{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.
@mosaic/types:test: No test files found, exiting with code 0
@mosaic/types:test:
@mosaic/discord-plugin:test: cache hit, replaying logs 5731e64a935cd196
@mosaic/discord-plugin:test:
@mosaic/discord-plugin:test: > @mosaic/discord-plugin@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/plugins/discord
@mosaic/discord-plugin:test: > vitest run --passWithNoTests
@mosaic/discord-plugin:test:
@mosaic/discord-plugin:test: The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
@mosaic/design-tokens:build: cache hit, replaying logs 270358c643266429
@mosaic/discord-plugin:test:
@mosaic/discord-plugin:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/plugins/discord
@mosaic/discord-plugin:test:
@mosaic/discord-plugin:test: include: **/
.{test,spec}.?(c|m)[jt]s?(x)
@mosaic/discord-plugin:test: exclude: /node_modules/, /dist/, /cypress/, /.{idea,git,cache,output,temp}/, */{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.
@mosaic/design-tokens:build:
@mosaic/discord-plugin:test: No test files found, exiting with code 0
@mosaic/discord-plugin:test:
@mosaic/design-tokens:build: > @mosaic/design-tokens@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/design-tokens
@mosaic/design-tokens:build: > tsc
@mosaic/design-tokens:build:
@mosaic/mosaic:test: cache hit, replaying logs b1cdee45760979fb
@mosaic/mosaic:test:
@mosaic/mosaic:test: > @mosaic/mosaic@0.1.0 test /home/jwoltje/src/mosaic-mono-v1/packages/mosaic
@mosaic/mosaic:test: > vitest run --passWithNoTests
@mosaic/mosaic:test:
@mosaic/mosaic:test:
@mosaic/mosaic:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/packages/mosaic
@mosaic/mosaic:test:
@mosaic/mosaic:test: include: **/.{test,spec}.?(c|m)[jt]s?(x)
@mosaic/mosaic:test: No test files found, exiting with code 0
@mosaic/mosaic:test: exclude: /node_modules/, /dist/, /cypress/, /.{idea,git,cache,output,temp}/, */{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.
@mosaic/mosaic:test:
@mosaic/prdy:build: cache hit, replaying logs cb5403384336205f
@mosaic/prdy:build:
@mosaic/prdy:build: > @mosaic/prdy@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/prdy
@mosaic/prdy:build: > tsc
@mosaic/prdy:build:
@mosaic/telegram-plugin:build: cache hit, replaying logs 3d58ea44fccd3caf
@mosaic/telegram-plugin:build:
@mosaic/telegram-plugin:build: > @mosaic/telegram-plugin@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/plugins/telegram
@mosaic/telegram-plugin:build: > tsc
@mosaic/telegram-plugin:build:
@mosaic/discord-plugin:build: cache hit, replaying logs 22f73215abb3a79d
@mosaic/discord-plugin:build:
@mosaic/discord-plugin:build: > @mosaic/discord-plugin@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/plugins/discord
@mosaic/discord-plugin:build: > tsc
@mosaic/discord-plugin:build:
@mosaic/design-tokens:test: cache hit, replaying logs 346bbca7abcb93ff
@mosaic/design-tokens:test:
@mosaic/design-tokens:test: > @mosaic/design-tokens@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/packages/design-tokens
@mosaic/design-tokens:test: > vitest run --passWithNoTests
@mosaic/design-tokens:test:
@mosaic/design-tokens:test:
@mosaic/design-tokens:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/packages/design-tokens
@mosaic/design-tokens:test:
@mosaic/design-tokens:test: include: **/
.{test,spec}.?(c|m)[jt]s?(x)
@mosaic/design-tokens:test: exclude: /node_modules/, /dist/, /cypress/, /.{idea,git,cache,output,temp}/, */{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.
@mosaic/design-tokens:test: No test files found, exiting with code 0
@mosaic/design-tokens:test:
@mosaic/prdy:test: cache hit, replaying logs 0265b117e5461377
@mosaic/prdy:test:
@mosaic/prdy:test: > @mosaic/prdy@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/packages/prdy
@mosaic/prdy:test: > vitest run --passWithNoTests
@mosaic/prdy:test:
@mosaic/prdy:test: The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
@mosaic/prdy:test:
@mosaic/prdy:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/packages/prdy
@mosaic/prdy:test:
@mosaic/prdy:test: include: **/.{test,spec}.?(c|m)[jt]s?(x)
@mosaic/prdy:test: exclude: /node_modules/, /dist/, /cypress/, /.{idea,git,cache,output,temp}/, */{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.
@mosaic/prdy:test: No test files found, exiting with code 0
@mosaic/prdy:test:
@mosaic/mosaic:build: cache hit, replaying logs fa039137292693a0
@mosaic/mosaic:build:
@mosaic/mosaic:build: > @mosaic/mosaic@0.1.0 build /home/jwoltje/src/mosaic-mono-v1/packages/mosaic
@mosaic/mosaic:build: > tsc
@mosaic/mosaic:build:
@mosaic/telegram-plugin:test: cache hit, replaying logs 3de57e81ef11c53e
@mosaic/telegram-plugin:test:
@mosaic/telegram-plugin:test: > @mosaic/telegram-plugin@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/plugins/telegram
@mosaic/telegram-plugin:test: > vitest run --passWithNoTests
@mosaic/telegram-plugin:test:
@mosaic/telegram-plugin:test: The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
@mosaic/telegram-plugin:test:
@mosaic/telegram-plugin:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/plugins/telegram
@mosaic/telegram-plugin:test:
@mosaic/telegram-plugin:test: include: **/
.{test,spec}.?(c|m)[jt]s?(x)
@mosaic/telegram-plugin:test: exclude: /node_modules/, /dist/, /cypress/, /.{idea,git,cache,output,temp}/, */{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.
@mosaic/telegram-plugin:test: No test files found, exiting with code 0
@mosaic/telegram-plugin:test:
@mosaic/types:build: cache hit, replaying logs 074ac3983e23bbf4
@mosaic/types:build:
@mosaic/types:build: > @mosaic/types@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/types
@mosaic/types:build: > tsc
@mosaic/types:build:
@mosaic/db:build: cache hit, replaying logs 12da17b042d6b1ba
@mosaic/db:build:
@mosaic/db:build: > @mosaic/db@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/db
@mosaic/db:build: > tsc
@mosaic/db:build:
@mosaic/db:test: cache hit, replaying logs 1f5500b1726a539f
@mosaic/db:test:
@mosaic/db:test: > @mosaic/db@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/db
@mosaic/db:test: > vitest run --passWithNoTests
@mosaic/db:test:
@mosaic/db:test:
@mosaic/db:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/db
@mosaic/db:test:
@mosaic/db:test: include: */.{test,spec}.?(c|m)[jt]s?(x)
@mosaic/db:test: exclude: /node_modules/, /dist/, /cypress/, /.{idea,git,cache,output,temp}/, */{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.
@mosaic/db:test: No test files found, exiting with code 0
@mosaic/db:test:
@mosaic/quality-rails:test: cache hit, replaying logs b3e69f99f2371dcd
@mosaic/quality-rails:test:
@mosaic/quality-rails:test: > @mosaic/quality-rails@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/packages/quality-rails
@mosaic/quality-rails:test: > vitest run --passWithNoTests
@mosaic/quality-rails:test:
@mosaic/quality-rails:test:
@mosaic/quality-rails:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/packages/quality-rails
@mosaic/quality-rails:test:
@mosaic/quality-rails:test: No test files found, exiting with code 0
@mosaic/quality-rails:test:
@mosaic/quality-rails:test: include: **/
.{test,spec}.?(c|m)[jt]s?(x)
@mosaic/quality-rails:test: exclude: /node_modules/, /dist/, /cypress/, /.{idea,git,cache,output,temp}/, /{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.
@mosaic/web:test: cache hit, replaying logs 1b695de210690368
@mosaic/web:test:
@mosaic/web:test: > @mosaic/web@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/apps/web
@mosaic/web:test: > vitest run --passWithNoTests
@mosaic/web:test:
@mosaic/web:test: The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
@mosaic/web:test:
@mosaic/web:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/apps/web
@mosaic/web:test:
@mosaic/web:test: include: /*.{test,spec}.?(c|m)[jt]s?(x)
@mosaic/web:test: No test files found, exiting with code 0
@mosaic/web:test:
@mosaic/web:test: exclude: e2e/
, node_modules/

@mosaic/quality-rails:build: cache hit, replaying logs b7f6d1a1f03144a8
@mosaic/quality-rails:build:
@mosaic/quality-rails:build: > @mosaic/quality-rails@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/quality-rails
@mosaic/quality-rails:build: > tsc
@mosaic/quality-rails:build:
@mosaic/queue:build: cache hit, replaying logs 6fe6ffc59cf9effb
@mosaic/queue:build:
@mosaic/queue:build: > @mosaic/queue@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/queue
@mosaic/queue:build: > tsc
@mosaic/queue:build:
@mosaic/agent:test: cache hit, replaying logs 7fab37d34fa5eb6e
@mosaic/agent:test:
@mosaic/agent:test: > @mosaic/agent@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/agent
@mosaic/agent:test: > vitest run --passWithNoTests
@mosaic/agent:test:
@mosaic/agent:test: The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
@mosaic/agent:test:
@mosaic/agent:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/agent
@mosaic/agent:test:
@mosaic/agent:test: include: **/.{test,spec}.?(c|m)[jt]s?(x)
@mosaic/agent:test: exclude: /node_modules/, /dist/, /cypress/, /.{idea,git,cache,output,temp}/, */{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.
@mosaic/agent:test: No test files found, exiting with code 0
@mosaic/agent:test:
@mosaic/queue:test: cache hit, replaying logs 9b7620c5c8d876de
@mosaic/queue:test:
@mosaic/queue:test: > @mosaic/queue@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/queue
@mosaic/coord:build: cache hit, replaying logs 5036e580e6509c57
@mosaic/queue:test: > vitest run --passWithNoTests
@mosaic/coord:build:
@mosaic/coord:build: > @mosaic/coord@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/coord
@mosaic/coord:build: > tsc
@mosaic/coord:build:
@mosaic/queue:test:
@mosaic/queue:test: The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
@mosaic/queue:test:
@mosaic/queue:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/queue
@mosaic/queue:test:
@mosaic/queue:test: include: **/
.{test,spec}.?(c|m)[jt]s?(x)
@mosaic/queue:test: No test files found, exiting with code 0
@mosaic/queue:test: exclude: /node_modules/, /dist/, /cypress/, /.{idea,git,cache,output,temp}/, */{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.
@mosaic/queue:test:
@mosaic/coord:test: cache hit, replaying logs e1323c1f450a924c
@mosaic/coord:test:
@mosaic/coord:test: > @mosaic/coord@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/coord
@mosaic/coord:test: > vitest run --passWithNoTests
@mosaic/coord:test:
@mosaic/coord:test: The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
@mosaic/coord:test:
@mosaic/coord:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/coord
@mosaic/coord:test:
@mosaic/coord:test: ✓ src/tests/tasks-file.test.ts (9 tests) 5ms
@mosaic/coord:test:
@mosaic/coord:test: Test Files 1 passed (1)
@mosaic/coord:test: Tests 9 passed (9)
@mosaic/coord:test: Start at 21:09:10
@mosaic/coord:test: Duration 291ms (transform 39ms, setup 0ms, collect 39ms, tests 5ms, environment 0ms, prepare 64ms)
@mosaic/coord:test:
@mosaic/auth:test: cache hit, replaying logs dbb28a3835f2f309
@mosaic/auth:test:
@mosaic/auth:test: > @mosaic/auth@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/auth
@mosaic/auth:test: > vitest run --passWithNoTests
@mosaic/auth:test:
@mosaic/auth:test:
@mosaic/auth:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/auth
@mosaic/auth:test:
@mosaic/auth:test: include: **/.{test,spec}.?(c|m)[jt]s?(x)
@mosaic/auth:test: exclude: /node_modules/, /dist/, /cypress/, /.{idea,git,cache,output,temp}/, */{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.
@mosaic/auth:test: No test files found, exiting with code 0
@mosaic/auth:test:
@mosaic/auth:build: cache hit, replaying logs 97aa6d96e58a08e6
@mosaic/auth:build:
@mosaic/auth:build: > @mosaic/auth@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/auth
@mosaic/auth:build: > tsc
@mosaic/auth:build:
@mosaic/memory:test: cache hit, replaying logs 47cb3e9021fe6787
@mosaic/memory:test:
@mosaic/memory:test: > @mosaic/memory@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/memory
@mosaic/memory:test: > vitest run --passWithNoTests
@mosaic/memory:test:
@mosaic/memory:test:
@mosaic/memory:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/memory
@mosaic/memory:test:
@mosaic/memory:test: include: **/
.{test,spec}.?(c|m)[jt]s?(x)
@mosaic/memory:test: exclude: /node_modules/, /dist/, /cypress/, /.{idea,git,cache,output,temp}/, */{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.
@mosaic/memory:test: No test files found, exiting with code 0
@mosaic/memory:test:
@mosaic/log:test: cache hit, replaying logs 260bbd8c40dd0f11
@mosaic/log:test:
@mosaic/log:test: > @mosaic/log@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/log
@mosaic/log:test: > vitest run --passWithNoTests
@mosaic/log:test:
@mosaic/log:test:
@mosaic/log:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/log
@mosaic/log:test:
@mosaic/log:test: include: **/.{test,spec}.?(c|m)[jt]s?(x)
@mosaic/log:test: exclude: /node_modules/, /dist/, /cypress/, /.{idea,git,cache,output,temp}/, */{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.
@mosaic/log:test: No test files found, exiting with code 0
@mosaic/log:test:
@mosaic/brain:test: cache hit, replaying logs c929c0cc8af14b65
@mosaic/brain:test:
@mosaic/brain:test: > @mosaic/brain@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/brain
@mosaic/brain:test: > vitest run --passWithNoTests
@mosaic/brain:test:
@mosaic/brain:test: The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
@mosaic/brain:test:
@mosaic/brain:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/brain
@mosaic/brain:test:
@mosaic/brain:test: include: **/
.{test,spec}.?(c|m)[jt]s?(x)
@mosaic/brain:test: exclude: /node_modules/, /dist/, /cypress/, /.{idea,git,cache,output,temp}/, */{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.
@mosaic/brain:test: No test files found, exiting with code 0
@mosaic/brain:test:
@mosaic/log:build: cache hit, replaying logs 17dda16b4298eea9
@mosaic/log:build:
@mosaic/log:build: > @mosaic/log@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/log
@mosaic/log:build: > tsc
@mosaic/log:build:
@mosaic/brain:build: cache hit, replaying logs 088c3cfad1bbc33e
@mosaic/brain:build:
@mosaic/brain:build: > @mosaic/brain@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/brain
@mosaic/brain:build: > tsc
@mosaic/brain:build:
@mosaic/memory:build: cache hit, replaying logs 91eb301ba67a52f6
@mosaic/memory:build:
@mosaic/memory:build: > @mosaic/memory@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/memory
@mosaic/memory:build: > tsc
@mosaic/memory:build:
@mosaic/cli:test: cache hit, replaying logs da01b84c6d482a06
@mosaic/cli:test:
@mosaic/cli:test: > @mosaic/cli@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac0ab1a8/.claude/worktrees/agent-a0abaca7/packages/cli
@mosaic/cli:test: > vitest run --passWithNoTests
@mosaic/cli:test:
@mosaic/cli:test:
@mosaic/cli:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac0ab1a8/.claude/worktrees/agent-a0abaca7/packages/cli
@mosaic/cli:test:
@mosaic/cli:test: ✓ src/tui/hooks/use-input-history.test.ts (8 tests) 3ms
@mosaic/cli:test:
@mosaic/cli:test: Test Files 1 passed (1)
@mosaic/cli:test: Tests 8 passed (8)
@mosaic/cli:test: Start at 22:21:59
@mosaic/cli:test: Duration 255ms (transform 25ms, setup 0ms, collect 20ms, tests 3ms, environment 0ms, prepare 63ms)
@mosaic/cli:test:
@mosaic/gateway:test: cache hit, replaying logs 55e8b834288c860c
@mosaic/gateway:test:
@mosaic/gateway:test: > @mosaic/gateway@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/apps/gateway
@mosaic/gateway:test: > vitest run --passWithNoTests
@mosaic/gateway:test:
@mosaic/gateway:test:
@mosaic/gateway:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/apps/gateway
@mosaic/gateway:test:
@mosaic/gateway:test: ✓ src/agent/tools/path-guard.test.ts (12 tests) 6ms
@mosaic/gateway:test: ✓ src/commands/command-registry.service.spec.ts (6 tests) 5ms
@mosaic/gateway:test: ✓ src/workspace/workspace.service.spec.ts (5 tests) 4ms
@mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Plugin registered: test-plugin
@mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Soft reload triggered by: command
@mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Reload complete. Reloaded: [test-plugin]. Errors: 0
@mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Plugin registered: bad-plugin
@mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Soft reload triggered by: command
@mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Reload complete. Reloaded: []. Errors: 1
@mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Plugin registered: not-a-plugin
@mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Soft reload triggered by: command
@mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Reload complete. Reloaded: []. Errors: 0
@mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Soft reload triggered by: rest
@mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Reload complete. Reloaded: []. Errors: 0
@mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Plugin registered: my-plugin
@mosaic/gateway:test: ✓ src/reload/reload.service.spec.ts (5 tests) 8ms
@mosaic/gateway:test: ✓ src/gc/session-gc.service.spec.ts (8 tests) 8ms
@mosaic/gateway:test: ✓ src/chat/tests/chat-security.test.ts (6 tests) 6ms
@mosaic/gateway:test: ✓ src/tests/resource-ownership.test.ts (7 tests) 12ms
@mosaic/gateway:test: [Nest] 2525477 - 03/15/2026, 10:05:33 PM  DEBUG [PreferencesService] Upserted preference "agent.thinkingLevel" for user user-1
@mosaic/gateway:test: [Nest] 2525477 - 03/15/2026, 10:05:33 PM  DEBUG [PreferencesService] Upserted preference "agent.thinkingLevel" for user user-1
@mosaic/gateway:test: [Nest] 2525477 - 03/15/2026, 10:05:33 PM  DEBUG [PreferencesService] Deleted preference "agent.thinkingLevel" for user user-1
@mosaic/gateway:test: ✓ src/preferences/preferences.service.spec.ts (11 tests) 9ms
@mosaic/gateway:test: [Nest] 2525479 - 03/15/2026, 10:05:33 PM  DEBUG [RoutingService] Routed to anthropic/claude-3-haiku (score=60): base score
@mosaic/gateway:test: [Nest] 2525479 - 03/15/2026, 10:05:33 PM  WARN [RoutingService] No available models for routing
@mosaic/gateway:test: [Nest] 2525479 - 03/15/2026, 10:05:33 PM  DEBUG [RoutingService] Routed to anthropic/claude-3-sonnet (score=55): base score
@mosaic/gateway:test: [Nest] 2525479 - 03/15/2026, 10:05:33 PM  DEBUG [RoutingService] Routed to anthropic/claude-3-haiku (score=60): base score
@mosaic/gateway:test: [Nest] 2525479 - 03/15/2026, 10:05:33 PM  DEBUG [RoutingService] Routed to anthropic/claude-3-haiku (score=60): base score
@mosaic/gateway:test: [Nest] 2525479 - 03/15/2026, 10:05:33 PM  DEBUG [RoutingService] Routed to anthropic/claude-3-haiku (score=70): cost tier match (cheap)
@mosaic/gateway:test: ✓ src/agent/tests/routing.service.test.ts (10 tests) 8ms
@mosaic/gateway:test: ✓ src/commands/command-executor-p8012.spec.ts (14 tests) 6ms
@mosaic/gateway:test:
@mosaic/gateway:test: Test Files 10 passed (10)
@mosaic/gateway:test: Tests 84 passed (84)
@mosaic/gateway:test: Start at 22:05:32
@mosaic/gateway:test: Duration 1.68s (transform 616ms, setup 0ms, collect 4.21s, tests 73ms, environment 2ms, prepare 663ms)
@mosaic/gateway:test:

Tasks: 32 successful, 32 total
Cached: 32 cached, 32 total
Time: 73ms >>> FULL TURBO — 8 new tests for logic pass

  • Manual: type in TUI → autocomplete sidebar appears; type letters for fuzzy filter; Tab/Enter fills command; Escape dismisses; up/down navigates list; when closed, up/down navigates history

Closes #170

🤖 Generated with Claude Code

Fixes #170

## Summary - Add Ink component that renders a filtered command list when the input starts with , showing aliases and arg hints for the selected command - Add hook implementing a 50-entry ring buffer with up/down arrow navigation and saved-input restore when returning to bottom - Update to show/hide autocomplete on trigger, wire Tab/Enter to fill the selected command, Escape to dismiss, and up/down to navigate list vs history - Pass as prop from to ## Test plan - [x] > mosaic-stack@ typecheck /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac0ab1a8/.claude/worktrees/agent-a0abaca7 > turbo run typecheck • Packages in scope: @mosaic/agent, @mosaic/auth, @mosaic/brain, @mosaic/cli, @mosaic/coord, @mosaic/db, @mosaic/design-tokens, @mosaic/discord-plugin, @mosaic/gateway, @mosaic/log, @mosaic/memory, @mosaic/mosaic, @mosaic/prdy, @mosaic/quality-rails, @mosaic/queue, @mosaic/telegram-plugin, @mosaic/types, @mosaic/web • Running typecheck in 18 packages • Remote caching disabled, using shared worktree cache @mosaic/quality-rails:typecheck: cache hit, replaying logs 773b5ce675827462 @mosaic/quality-rails:typecheck: @mosaic/quality-rails:typecheck: > @mosaic/quality-rails@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/quality-rails @mosaic/quality-rails:typecheck: > tsc --noEmit @mosaic/quality-rails:typecheck: @mosaic/telegram-plugin:typecheck: cache hit, replaying logs 4150887d09a1a2f3 @mosaic/telegram-plugin:typecheck: @mosaic/telegram-plugin:typecheck: > @mosaic/telegram-plugin@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/plugins/telegram @mosaic/telegram-plugin:typecheck: > tsc --noEmit @mosaic/telegram-plugin:typecheck: @mosaic/mosaic:typecheck: cache hit, replaying logs b1577ea913610cd9 @mosaic/mosaic:typecheck: @mosaic/mosaic:typecheck: > @mosaic/mosaic@0.1.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/mosaic @mosaic/mosaic:typecheck: > tsc --noEmit @mosaic/mosaic:typecheck: @mosaic/prdy:typecheck: cache hit, replaying logs a6a0c18bda2a2b63 @mosaic/prdy:typecheck: @mosaic/prdy:typecheck: > @mosaic/prdy@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/prdy @mosaic/prdy:typecheck: > tsc --noEmit @mosaic/prdy:typecheck: @mosaic/discord-plugin:typecheck: cache hit, replaying logs 6949557dcdc8a25d @mosaic/discord-plugin:typecheck: @mosaic/discord-plugin:typecheck: > @mosaic/discord-plugin@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/plugins/discord @mosaic/discord-plugin:typecheck: > tsc --noEmit @mosaic/discord-plugin:typecheck: @mosaic/design-tokens:typecheck: cache hit, replaying logs 107e1e40ecb9b42c @mosaic/db:build: cache hit, replaying logs 12da17b042d6b1ba @mosaic/design-tokens:typecheck: @mosaic/db:build: @mosaic/design-tokens:typecheck: > @mosaic/design-tokens@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/design-tokens @mosaic/design-tokens:typecheck: > tsc --noEmit @mosaic/db:build: > @mosaic/db@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/db @mosaic/db:build: > tsc @mosaic/db:build: @mosaic/design-tokens:typecheck: @mosaic/discord-plugin:build: cache hit, replaying logs 22f73215abb3a79d @mosaic/discord-plugin:build: @mosaic/discord-plugin:build: > @mosaic/discord-plugin@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/plugins/discord @mosaic/discord-plugin:build: > tsc @mosaic/discord-plugin:build: @mosaic/types:build: cache hit, replaying logs 074ac3983e23bbf4 @mosaic/types:build: @mosaic/types:build: > @mosaic/types@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/types @mosaic/types:build: > tsc @mosaic/types:build: @mosaic/design-tokens:build: cache hit, replaying logs 270358c643266429 @mosaic/design-tokens:build: @mosaic/design-tokens:build: > @mosaic/design-tokens@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/design-tokens @mosaic/design-tokens:build: > tsc @mosaic/design-tokens:build: @mosaic/db:typecheck: cache hit, replaying logs 8133ed2356ff8768 @mosaic/db:typecheck: @mosaic/db:typecheck: > @mosaic/db@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/db @mosaic/db:typecheck: > tsc --noEmit @mosaic/db:typecheck: @mosaic/prdy:build: cache hit, replaying logs cb5403384336205f @mosaic/prdy:build: @mosaic/prdy:build: > @mosaic/prdy@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/prdy @mosaic/prdy:build: > tsc @mosaic/prdy:build: @mosaic/quality-rails:build: cache hit, replaying logs b7f6d1a1f03144a8 @mosaic/quality-rails:build: @mosaic/types:typecheck: cache hit, replaying logs df6c273abce782b1 @mosaic/quality-rails:build: > @mosaic/quality-rails@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/quality-rails @mosaic/quality-rails:build: > tsc @mosaic/quality-rails:build: @mosaic/types:typecheck: @mosaic/types:typecheck: > @mosaic/types@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/types @mosaic/types:typecheck: > tsc --noEmit @mosaic/types:typecheck: @mosaic/telegram-plugin:build: cache hit, replaying logs 3d58ea44fccd3caf @mosaic/telegram-plugin:build: @mosaic/telegram-plugin:build: > @mosaic/telegram-plugin@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/plugins/telegram @mosaic/telegram-plugin:build: > tsc @mosaic/telegram-plugin:build: @mosaic/auth:build: cache hit, replaying logs 97aa6d96e58a08e6 @mosaic/auth:build: @mosaic/auth:build: > @mosaic/auth@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/auth @mosaic/auth:build: > tsc @mosaic/auth:build: @mosaic/log:typecheck: cache hit, replaying logs 443baf67f0ae3783 @mosaic/log:typecheck: @mosaic/log:typecheck: > @mosaic/log@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/log @mosaic/log:typecheck: > tsc --noEmit @mosaic/log:typecheck: @mosaic/log:build: cache hit, replaying logs 17dda16b4298eea9 @mosaic/log:build: @mosaic/log:build: > @mosaic/log@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/log @mosaic/log:build: > tsc @mosaic/log:build: @mosaic/mosaic:build: cache hit, replaying logs fa039137292693a0 @mosaic/mosaic:build: @mosaic/auth:typecheck: cache hit, replaying logs 760a8e3453b0eb3a @mosaic/mosaic:build: > @mosaic/mosaic@0.1.0 build /home/jwoltje/src/mosaic-mono-v1/packages/mosaic @mosaic/mosaic:build: > tsc @mosaic/mosaic:build: @mosaic/auth:typecheck: @mosaic/auth:typecheck: > @mosaic/auth@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/auth @mosaic/auth:typecheck: > tsc --noEmit @mosaic/auth:typecheck: @mosaic/queue:build: cache hit, replaying logs 6fe6ffc59cf9effb @mosaic/brain:build: cache hit, replaying logs 088c3cfad1bbc33e @mosaic/queue:build: @mosaic/queue:build: > @mosaic/queue@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/queue @mosaic/brain:build: @mosaic/queue:build: > tsc @mosaic/brain:build: > @mosaic/brain@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/brain @mosaic/queue:build: @mosaic/brain:build: > tsc @mosaic/brain:build: @mosaic/coord:typecheck: cache hit, replaying logs 246baa94d04886fd @mosaic/coord:typecheck: @mosaic/coord:typecheck: > @mosaic/coord@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/coord @mosaic/coord:typecheck: > tsc --noEmit @mosaic/coord:typecheck: @mosaic/memory:build: cache hit, replaying logs 91eb301ba67a52f6 @mosaic/memory:build: @mosaic/agent:typecheck: cache hit, replaying logs 60f39fdabbbe8ceb @mosaic/memory:build: > @mosaic/memory@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/memory @mosaic/memory:build: > tsc @mosaic/memory:build: @mosaic/agent:typecheck: @mosaic/agent:typecheck: > @mosaic/agent@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/agent @mosaic/agent:typecheck: > tsc --noEmit @mosaic/agent:typecheck: @mosaic/memory:typecheck: cache hit, replaying logs 475a29631c252e67 @mosaic/memory:typecheck: @mosaic/memory:typecheck: > @mosaic/memory@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/memory @mosaic/memory:typecheck: > tsc --noEmit @mosaic/memory:typecheck: @mosaic/queue:typecheck: cache hit, replaying logs ce0c703d33563e90 @mosaic/queue:typecheck: @mosaic/queue:typecheck: > @mosaic/queue@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/queue @mosaic/queue:typecheck: > tsc --noEmit @mosaic/queue:typecheck: @mosaic/coord:build: cache hit, replaying logs 5036e580e6509c57 @mosaic/coord:build: @mosaic/coord:build: > @mosaic/coord@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/coord @mosaic/coord:build: > tsc @mosaic/coord:build: @mosaic/brain:typecheck: cache hit, replaying logs 0167f910ab00f844 @mosaic/brain:typecheck: @mosaic/brain:typecheck: > @mosaic/brain@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/brain @mosaic/brain:typecheck: > tsc --noEmit @mosaic/brain:typecheck: @mosaic/web:typecheck: cache hit, replaying logs 7a438f573892ad8d @mosaic/web:typecheck: @mosaic/web:typecheck: > @mosaic/web@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/apps/web @mosaic/web:typecheck: > tsc --noEmit @mosaic/web:typecheck: @mosaic/cli:typecheck: cache hit, replaying logs 43bb5d6ae89fa367 @mosaic/cli:typecheck: @mosaic/cli:typecheck: > @mosaic/cli@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac0ab1a8/.claude/worktrees/agent-a0abaca7/packages/cli @mosaic/cli:typecheck: > tsc --noEmit @mosaic/cli:typecheck: @mosaic/gateway:typecheck: cache hit, replaying logs fc41a7b9c1187bed @mosaic/gateway:typecheck: @mosaic/gateway:typecheck: > @mosaic/gateway@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/apps/gateway @mosaic/gateway:typecheck: > tsc --noEmit -p tsconfig.typecheck.json @mosaic/gateway:typecheck: Tasks: 32 successful, 32 total Cached: 32 cached, 32 total Time: 74ms >>> FULL TURBO — all packages clean - [x] > mosaic-stack@ lint /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac0ab1a8/.claude/worktrees/agent-a0abaca7 > turbo run lint • Packages in scope: @mosaic/agent, @mosaic/auth, @mosaic/brain, @mosaic/cli, @mosaic/coord, @mosaic/db, @mosaic/design-tokens, @mosaic/discord-plugin, @mosaic/gateway, @mosaic/log, @mosaic/memory, @mosaic/mosaic, @mosaic/prdy, @mosaic/quality-rails, @mosaic/queue, @mosaic/telegram-plugin, @mosaic/types, @mosaic/web • Running lint in 18 packages • Remote caching disabled, using shared worktree cache @mosaic/quality-rails:lint: cache hit, replaying logs 9cfa5a7ef8975eec @mosaic/quality-rails:lint: @mosaic/quality-rails:lint: > @mosaic/quality-rails@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/quality-rails @mosaic/quality-rails:lint: > eslint src @mosaic/quality-rails:lint: @mosaic/discord-plugin:lint: cache hit, replaying logs 589a2558c93e4cb5 @mosaic/discord-plugin:lint: @mosaic/discord-plugin:lint: > @mosaic/discord-plugin@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/plugins/discord @mosaic/discord-plugin:lint: > eslint src @mosaic/discord-plugin:lint: @mosaic/mosaic:lint: cache hit, replaying logs 2f98b3cdcece7721 @mosaic/mosaic:lint: @mosaic/mosaic:lint: > @mosaic/mosaic@0.1.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/mosaic @mosaic/mosaic:lint: > eslint src @mosaic/mosaic:lint: @mosaic/db:lint: cache hit, replaying logs ccc19c990fa25bb1 @mosaic/db:lint: @mosaic/db:lint: > @mosaic/db@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/db @mosaic/db:lint: > eslint src @mosaic/db:lint: @mosaic/types:lint: cache hit, replaying logs 4ac543f1f479bdce @mosaic/types:lint: @mosaic/types:lint: > @mosaic/types@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/types @mosaic/types:lint: > eslint src @mosaic/types:lint: @mosaic/telegram-plugin:lint: cache hit, replaying logs 541b9739fc80302e @mosaic/telegram-plugin:lint: @mosaic/telegram-plugin:lint: > @mosaic/telegram-plugin@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/plugins/telegram @mosaic/telegram-plugin:lint: > eslint src @mosaic/telegram-plugin:lint: @mosaic/design-tokens:lint: cache hit, replaying logs 8fe85fe02729fa77 @mosaic/design-tokens:lint: @mosaic/design-tokens:lint: > @mosaic/design-tokens@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/design-tokens @mosaic/design-tokens:lint: > eslint src @mosaic/design-tokens:lint: @mosaic/prdy:lint: cache hit, replaying logs 48d86f65ce99eae1 @mosaic/prdy:lint: @mosaic/prdy:lint: > @mosaic/prdy@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/prdy @mosaic/prdy:lint: > eslint src @mosaic/prdy:lint: @mosaic/auth:lint: cache hit, replaying logs 74160e9cb0ee0559 @mosaic/auth:lint: @mosaic/auth:lint: > @mosaic/auth@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/auth @mosaic/auth:lint: > eslint src @mosaic/auth:lint: @mosaic/log:lint: cache hit, replaying logs 6048d3c34c16319b @mosaic/log:lint: @mosaic/log:lint: > @mosaic/log@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/log @mosaic/log:lint: > eslint src @mosaic/log:lint: @mosaic/brain:lint: cache hit, replaying logs 8aab01bb2c109deb @mosaic/brain:lint: @mosaic/brain:lint: > @mosaic/brain@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/brain @mosaic/brain:lint: > eslint src @mosaic/brain:lint: @mosaic/agent:lint: cache hit, replaying logs 2469396621e92f40 @mosaic/agent:lint: @mosaic/agent:lint: > @mosaic/agent@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/agent @mosaic/agent:lint: > eslint src @mosaic/agent:lint: @mosaic/coord:lint: cache hit, replaying logs 8945b9e8a430a3da @mosaic/coord:lint: @mosaic/coord:lint: > @mosaic/coord@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/coord @mosaic/coord:lint: > eslint src @mosaic/coord:lint: @mosaic/queue:lint: cache hit, replaying logs 36c65d693ee24f5c @mosaic/queue:lint: @mosaic/queue:lint: > @mosaic/queue@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/queue @mosaic/queue:lint: > eslint src @mosaic/queue:lint: @mosaic/memory:lint: cache hit, replaying logs 848fcb4be59bfc27 @mosaic/memory:lint: @mosaic/memory:lint: > @mosaic/memory@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/memory @mosaic/memory:lint: > eslint src @mosaic/memory:lint: @mosaic/web:lint: cache hit, replaying logs 2d9d95e582088036 @mosaic/web:lint: @mosaic/web:lint: > @mosaic/web@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/apps/web @mosaic/web:lint: > eslint src @mosaic/web:lint: @mosaic/cli:lint: cache hit, replaying logs a4ec9033430f962e @mosaic/cli:lint: @mosaic/cli:lint: > @mosaic/cli@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac0ab1a8/.claude/worktrees/agent-a0abaca7/packages/cli @mosaic/cli:lint: > eslint src @mosaic/cli:lint: @mosaic/gateway:lint: cache hit, replaying logs f77a56ca96e4544a @mosaic/gateway:lint: @mosaic/gateway:lint: > @mosaic/gateway@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/apps/gateway @mosaic/gateway:lint: > eslint src @mosaic/gateway:lint: Tasks: 18 successful, 18 total Cached: 18 cached, 18 total Time: 49ms >>> FULL TURBO — no warnings - [x] > mosaic-stack@ format:check /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac0ab1a8/.claude/worktrees/agent-a0abaca7 > prettier --check "**/*.{ts,tsx,js,jsx,json,md}" Checking formatting... All matched files use Prettier code style! — Prettier clean - [x] > mosaic-stack@ test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac0ab1a8/.claude/worktrees/agent-a0abaca7 > turbo run test • Packages in scope: @mosaic/agent, @mosaic/auth, @mosaic/brain, @mosaic/cli, @mosaic/coord, @mosaic/db, @mosaic/design-tokens, @mosaic/discord-plugin, @mosaic/gateway, @mosaic/log, @mosaic/memory, @mosaic/mosaic, @mosaic/prdy, @mosaic/quality-rails, @mosaic/queue, @mosaic/telegram-plugin, @mosaic/types, @mosaic/web • Running test in 18 packages • Remote caching disabled, using shared worktree cache @mosaic/types:test: cache hit, replaying logs baeb3cc5c2e44957 @mosaic/types:test: @mosaic/types:test: > @mosaic/types@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/types @mosaic/types:test: > vitest run --passWithNoTests @mosaic/types:test: @mosaic/types:test: The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details. @mosaic/types:test: @mosaic/types:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/types @mosaic/types:test: @mosaic/types:test: include: **/*.{test,spec}.?(c|m)[jt]s?(x) @mosaic/types:test: exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.* @mosaic/types:test: No test files found, exiting with code 0 @mosaic/types:test: @mosaic/discord-plugin:test: cache hit, replaying logs 5731e64a935cd196 @mosaic/discord-plugin:test: @mosaic/discord-plugin:test: > @mosaic/discord-plugin@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/plugins/discord @mosaic/discord-plugin:test: > vitest run --passWithNoTests @mosaic/discord-plugin:test: @mosaic/discord-plugin:test: The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details. @mosaic/design-tokens:build: cache hit, replaying logs 270358c643266429 @mosaic/discord-plugin:test: @mosaic/discord-plugin:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/plugins/discord @mosaic/discord-plugin:test: @mosaic/discord-plugin:test: include: **/*.{test,spec}.?(c|m)[jt]s?(x) @mosaic/discord-plugin:test: exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.* @mosaic/design-tokens:build: @mosaic/discord-plugin:test: No test files found, exiting with code 0 @mosaic/discord-plugin:test: @mosaic/design-tokens:build: > @mosaic/design-tokens@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/design-tokens @mosaic/design-tokens:build: > tsc @mosaic/design-tokens:build: @mosaic/mosaic:test: cache hit, replaying logs b1cdee45760979fb @mosaic/mosaic:test: @mosaic/mosaic:test: > @mosaic/mosaic@0.1.0 test /home/jwoltje/src/mosaic-mono-v1/packages/mosaic @mosaic/mosaic:test: > vitest run --passWithNoTests @mosaic/mosaic:test: @mosaic/mosaic:test: @mosaic/mosaic:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/packages/mosaic @mosaic/mosaic:test: @mosaic/mosaic:test: include: **/*.{test,spec}.?(c|m)[jt]s?(x) @mosaic/mosaic:test: No test files found, exiting with code 0 @mosaic/mosaic:test: exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.* @mosaic/mosaic:test: @mosaic/prdy:build: cache hit, replaying logs cb5403384336205f @mosaic/prdy:build: @mosaic/prdy:build: > @mosaic/prdy@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/prdy @mosaic/prdy:build: > tsc @mosaic/prdy:build: @mosaic/telegram-plugin:build: cache hit, replaying logs 3d58ea44fccd3caf @mosaic/telegram-plugin:build: @mosaic/telegram-plugin:build: > @mosaic/telegram-plugin@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/plugins/telegram @mosaic/telegram-plugin:build: > tsc @mosaic/telegram-plugin:build: @mosaic/discord-plugin:build: cache hit, replaying logs 22f73215abb3a79d @mosaic/discord-plugin:build: @mosaic/discord-plugin:build: > @mosaic/discord-plugin@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/plugins/discord @mosaic/discord-plugin:build: > tsc @mosaic/discord-plugin:build: @mosaic/design-tokens:test: cache hit, replaying logs 346bbca7abcb93ff @mosaic/design-tokens:test: @mosaic/design-tokens:test: > @mosaic/design-tokens@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/packages/design-tokens @mosaic/design-tokens:test: > vitest run --passWithNoTests @mosaic/design-tokens:test: @mosaic/design-tokens:test: @mosaic/design-tokens:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/packages/design-tokens @mosaic/design-tokens:test: @mosaic/design-tokens:test: include: **/*.{test,spec}.?(c|m)[jt]s?(x) @mosaic/design-tokens:test: exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.* @mosaic/design-tokens:test: No test files found, exiting with code 0 @mosaic/design-tokens:test: @mosaic/prdy:test: cache hit, replaying logs 0265b117e5461377 @mosaic/prdy:test: @mosaic/prdy:test: > @mosaic/prdy@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/packages/prdy @mosaic/prdy:test: > vitest run --passWithNoTests @mosaic/prdy:test: @mosaic/prdy:test: The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details. @mosaic/prdy:test: @mosaic/prdy:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/packages/prdy @mosaic/prdy:test: @mosaic/prdy:test: include: **/*.{test,spec}.?(c|m)[jt]s?(x) @mosaic/prdy:test: exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.* @mosaic/prdy:test: No test files found, exiting with code 0 @mosaic/prdy:test: @mosaic/mosaic:build: cache hit, replaying logs fa039137292693a0 @mosaic/mosaic:build: @mosaic/mosaic:build: > @mosaic/mosaic@0.1.0 build /home/jwoltje/src/mosaic-mono-v1/packages/mosaic @mosaic/mosaic:build: > tsc @mosaic/mosaic:build: @mosaic/telegram-plugin:test: cache hit, replaying logs 3de57e81ef11c53e @mosaic/telegram-plugin:test: @mosaic/telegram-plugin:test: > @mosaic/telegram-plugin@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/plugins/telegram @mosaic/telegram-plugin:test: > vitest run --passWithNoTests @mosaic/telegram-plugin:test: @mosaic/telegram-plugin:test: The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details. @mosaic/telegram-plugin:test: @mosaic/telegram-plugin:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/plugins/telegram @mosaic/telegram-plugin:test: @mosaic/telegram-plugin:test: include: **/*.{test,spec}.?(c|m)[jt]s?(x) @mosaic/telegram-plugin:test: exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.* @mosaic/telegram-plugin:test: No test files found, exiting with code 0 @mosaic/telegram-plugin:test: @mosaic/types:build: cache hit, replaying logs 074ac3983e23bbf4 @mosaic/types:build: @mosaic/types:build: > @mosaic/types@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/types @mosaic/types:build: > tsc @mosaic/types:build: @mosaic/db:build: cache hit, replaying logs 12da17b042d6b1ba @mosaic/db:build: @mosaic/db:build: > @mosaic/db@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/db @mosaic/db:build: > tsc @mosaic/db:build: @mosaic/db:test: cache hit, replaying logs 1f5500b1726a539f @mosaic/db:test: @mosaic/db:test: > @mosaic/db@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/db @mosaic/db:test: > vitest run --passWithNoTests @mosaic/db:test: @mosaic/db:test: @mosaic/db:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/db @mosaic/db:test: @mosaic/db:test: include: **/*.{test,spec}.?(c|m)[jt]s?(x) @mosaic/db:test: exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.* @mosaic/db:test: No test files found, exiting with code 0 @mosaic/db:test: @mosaic/quality-rails:test: cache hit, replaying logs b3e69f99f2371dcd @mosaic/quality-rails:test: @mosaic/quality-rails:test: > @mosaic/quality-rails@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/packages/quality-rails @mosaic/quality-rails:test: > vitest run --passWithNoTests @mosaic/quality-rails:test: @mosaic/quality-rails:test: @mosaic/quality-rails:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/packages/quality-rails @mosaic/quality-rails:test: @mosaic/quality-rails:test: No test files found, exiting with code 0 @mosaic/quality-rails:test: @mosaic/quality-rails:test: include: **/*.{test,spec}.?(c|m)[jt]s?(x) @mosaic/quality-rails:test: exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.* @mosaic/web:test: cache hit, replaying logs 1b695de210690368 @mosaic/web:test: @mosaic/web:test: > @mosaic/web@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/apps/web @mosaic/web:test: > vitest run --passWithNoTests @mosaic/web:test: @mosaic/web:test: The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details. @mosaic/web:test: @mosaic/web:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/apps/web @mosaic/web:test: @mosaic/web:test: include: **/*.{test,spec}.?(c|m)[jt]s?(x) @mosaic/web:test: No test files found, exiting with code 0 @mosaic/web:test: @mosaic/web:test: exclude: e2e/**, node_modules/** @mosaic/quality-rails:build: cache hit, replaying logs b7f6d1a1f03144a8 @mosaic/quality-rails:build: @mosaic/quality-rails:build: > @mosaic/quality-rails@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/quality-rails @mosaic/quality-rails:build: > tsc @mosaic/quality-rails:build: @mosaic/queue:build: cache hit, replaying logs 6fe6ffc59cf9effb @mosaic/queue:build: @mosaic/queue:build: > @mosaic/queue@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/queue @mosaic/queue:build: > tsc @mosaic/queue:build: @mosaic/agent:test: cache hit, replaying logs 7fab37d34fa5eb6e @mosaic/agent:test: @mosaic/agent:test: > @mosaic/agent@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/agent @mosaic/agent:test: > vitest run --passWithNoTests @mosaic/agent:test: @mosaic/agent:test: The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details. @mosaic/agent:test: @mosaic/agent:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/agent @mosaic/agent:test: @mosaic/agent:test: include: **/*.{test,spec}.?(c|m)[jt]s?(x) @mosaic/agent:test: exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.* @mosaic/agent:test: No test files found, exiting with code 0 @mosaic/agent:test: @mosaic/queue:test: cache hit, replaying logs 9b7620c5c8d876de @mosaic/queue:test: @mosaic/queue:test: > @mosaic/queue@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/queue @mosaic/coord:build: cache hit, replaying logs 5036e580e6509c57 @mosaic/queue:test: > vitest run --passWithNoTests @mosaic/coord:build: @mosaic/coord:build: > @mosaic/coord@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/coord @mosaic/coord:build: > tsc @mosaic/coord:build: @mosaic/queue:test: @mosaic/queue:test: The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details. @mosaic/queue:test: @mosaic/queue:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/queue @mosaic/queue:test: @mosaic/queue:test: include: **/*.{test,spec}.?(c|m)[jt]s?(x) @mosaic/queue:test: No test files found, exiting with code 0 @mosaic/queue:test: exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.* @mosaic/queue:test: @mosaic/coord:test: cache hit, replaying logs e1323c1f450a924c @mosaic/coord:test: @mosaic/coord:test: > @mosaic/coord@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/coord @mosaic/coord:test: > vitest run --passWithNoTests @mosaic/coord:test: @mosaic/coord:test: The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details. @mosaic/coord:test: @mosaic/coord:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/coord @mosaic/coord:test: @mosaic/coord:test: ✓ src/__tests__/tasks-file.test.ts (9 tests) 5ms @mosaic/coord:test: @mosaic/coord:test: Test Files 1 passed (1) @mosaic/coord:test: Tests 9 passed (9) @mosaic/coord:test: Start at 21:09:10 @mosaic/coord:test: Duration 291ms (transform 39ms, setup 0ms, collect 39ms, tests 5ms, environment 0ms, prepare 64ms) @mosaic/coord:test: @mosaic/auth:test: cache hit, replaying logs dbb28a3835f2f309 @mosaic/auth:test: @mosaic/auth:test: > @mosaic/auth@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/auth @mosaic/auth:test: > vitest run --passWithNoTests @mosaic/auth:test: @mosaic/auth:test: @mosaic/auth:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/auth @mosaic/auth:test: @mosaic/auth:test: include: **/*.{test,spec}.?(c|m)[jt]s?(x) @mosaic/auth:test: exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.* @mosaic/auth:test: No test files found, exiting with code 0 @mosaic/auth:test: @mosaic/auth:build: cache hit, replaying logs 97aa6d96e58a08e6 @mosaic/auth:build: @mosaic/auth:build: > @mosaic/auth@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/auth @mosaic/auth:build: > tsc @mosaic/auth:build: @mosaic/memory:test: cache hit, replaying logs 47cb3e9021fe6787 @mosaic/memory:test: @mosaic/memory:test: > @mosaic/memory@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/memory @mosaic/memory:test: > vitest run --passWithNoTests @mosaic/memory:test: @mosaic/memory:test: @mosaic/memory:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/memory @mosaic/memory:test: @mosaic/memory:test: include: **/*.{test,spec}.?(c|m)[jt]s?(x) @mosaic/memory:test: exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.* @mosaic/memory:test: No test files found, exiting with code 0 @mosaic/memory:test: @mosaic/log:test: cache hit, replaying logs 260bbd8c40dd0f11 @mosaic/log:test: @mosaic/log:test: > @mosaic/log@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/log @mosaic/log:test: > vitest run --passWithNoTests @mosaic/log:test: @mosaic/log:test: @mosaic/log:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/log @mosaic/log:test: @mosaic/log:test: include: **/*.{test,spec}.?(c|m)[jt]s?(x) @mosaic/log:test: exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.* @mosaic/log:test: No test files found, exiting with code 0 @mosaic/log:test: @mosaic/brain:test: cache hit, replaying logs c929c0cc8af14b65 @mosaic/brain:test: @mosaic/brain:test: > @mosaic/brain@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/brain @mosaic/brain:test: > vitest run --passWithNoTests @mosaic/brain:test: @mosaic/brain:test: The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details. @mosaic/brain:test: @mosaic/brain:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac85b3b2/packages/brain @mosaic/brain:test: @mosaic/brain:test: include: **/*.{test,spec}.?(c|m)[jt]s?(x) @mosaic/brain:test: exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.* @mosaic/brain:test: No test files found, exiting with code 0 @mosaic/brain:test: @mosaic/log:build: cache hit, replaying logs 17dda16b4298eea9 @mosaic/log:build: @mosaic/log:build: > @mosaic/log@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-add1760b/packages/log @mosaic/log:build: > tsc @mosaic/log:build: @mosaic/brain:build: cache hit, replaying logs 088c3cfad1bbc33e @mosaic/brain:build: @mosaic/brain:build: > @mosaic/brain@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/brain @mosaic/brain:build: > tsc @mosaic/brain:build: @mosaic/memory:build: cache hit, replaying logs 91eb301ba67a52f6 @mosaic/memory:build: @mosaic/memory:build: > @mosaic/memory@0.0.0 build /home/jwoltje/src/mosaic-mono-v1/packages/memory @mosaic/memory:build: > tsc @mosaic/memory:build: @mosaic/cli:test: cache hit, replaying logs da01b84c6d482a06 @mosaic/cli:test: @mosaic/cli:test: > @mosaic/cli@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac0ab1a8/.claude/worktrees/agent-a0abaca7/packages/cli @mosaic/cli:test: > vitest run --passWithNoTests @mosaic/cli:test: @mosaic/cli:test: @mosaic/cli:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/.claude/worktrees/agent-ac0ab1a8/.claude/worktrees/agent-a0abaca7/packages/cli @mosaic/cli:test: @mosaic/cli:test: ✓ src/tui/hooks/use-input-history.test.ts (8 tests) 3ms @mosaic/cli:test: @mosaic/cli:test: Test Files 1 passed (1) @mosaic/cli:test: Tests 8 passed (8) @mosaic/cli:test: Start at 22:21:59 @mosaic/cli:test: Duration 255ms (transform 25ms, setup 0ms, collect 20ms, tests 3ms, environment 0ms, prepare 63ms) @mosaic/cli:test: @mosaic/gateway:test: cache hit, replaying logs 55e8b834288c860c @mosaic/gateway:test: @mosaic/gateway:test: > @mosaic/gateway@0.0.0 test /home/jwoltje/src/mosaic-mono-v1/apps/gateway @mosaic/gateway:test: > vitest run --passWithNoTests @mosaic/gateway:test: @mosaic/gateway:test: @mosaic/gateway:test: RUN v2.1.9 /home/jwoltje/src/mosaic-mono-v1/apps/gateway @mosaic/gateway:test: @mosaic/gateway:test: ✓ src/agent/tools/path-guard.test.ts (12 tests) 6ms @mosaic/gateway:test: ✓ src/commands/command-registry.service.spec.ts (6 tests) 5ms @mosaic/gateway:test: ✓ src/workspace/workspace.service.spec.ts (5 tests) 4ms @mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Plugin registered: test-plugin @mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Soft reload triggered by: command @mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Reload complete. Reloaded: [test-plugin]. Errors: 0 @mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Plugin registered: bad-plugin @mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Soft reload triggered by: command @mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Reload complete. Reloaded: []. Errors: 1 @mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Plugin registered: not-a-plugin @mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Soft reload triggered by: command @mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Reload complete. Reloaded: []. Errors: 0 @mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Soft reload triggered by: rest @mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Reload complete. Reloaded: []. Errors: 0 @mosaic/gateway:test: [Nest] 2525492 - 03/15/2026, 10:05:32 PM  LOG [ReloadService] Plugin registered: my-plugin @mosaic/gateway:test: ✓ src/reload/reload.service.spec.ts (5 tests) 8ms @mosaic/gateway:test: ✓ src/gc/session-gc.service.spec.ts (8 tests) 8ms @mosaic/gateway:test: ✓ src/chat/__tests__/chat-security.test.ts (6 tests) 6ms @mosaic/gateway:test: ✓ src/__tests__/resource-ownership.test.ts (7 tests) 12ms @mosaic/gateway:test: [Nest] 2525477 - 03/15/2026, 10:05:33 PM  DEBUG [PreferencesService] Upserted preference "agent.thinkingLevel" for user user-1 @mosaic/gateway:test: [Nest] 2525477 - 03/15/2026, 10:05:33 PM  DEBUG [PreferencesService] Upserted preference "agent.thinkingLevel" for user user-1 @mosaic/gateway:test: [Nest] 2525477 - 03/15/2026, 10:05:33 PM  DEBUG [PreferencesService] Deleted preference "agent.thinkingLevel" for user user-1 @mosaic/gateway:test: ✓ src/preferences/preferences.service.spec.ts (11 tests) 9ms @mosaic/gateway:test: [Nest] 2525479 - 03/15/2026, 10:05:33 PM  DEBUG [RoutingService] Routed to anthropic/claude-3-haiku (score=60): base score @mosaic/gateway:test: [Nest] 2525479 - 03/15/2026, 10:05:33 PM  WARN [RoutingService] No available models for routing @mosaic/gateway:test: [Nest] 2525479 - 03/15/2026, 10:05:33 PM  DEBUG [RoutingService] Routed to anthropic/claude-3-sonnet (score=55): base score @mosaic/gateway:test: [Nest] 2525479 - 03/15/2026, 10:05:33 PM  DEBUG [RoutingService] Routed to anthropic/claude-3-haiku (score=60): base score @mosaic/gateway:test: [Nest] 2525479 - 03/15/2026, 10:05:33 PM  DEBUG [RoutingService] Routed to anthropic/claude-3-haiku (score=60): base score @mosaic/gateway:test: [Nest] 2525479 - 03/15/2026, 10:05:33 PM  DEBUG [RoutingService] Routed to anthropic/claude-3-haiku (score=70): cost tier match (cheap) @mosaic/gateway:test: ✓ src/agent/__tests__/routing.service.test.ts (10 tests) 8ms @mosaic/gateway:test: ✓ src/commands/command-executor-p8012.spec.ts (14 tests) 6ms @mosaic/gateway:test: @mosaic/gateway:test: Test Files 10 passed (10) @mosaic/gateway:test: Tests 84 passed (84) @mosaic/gateway:test: Start at 22:05:32 @mosaic/gateway:test: Duration 1.68s (transform 616ms, setup 0ms, collect 4.21s, tests 73ms, environment 2ms, prepare 663ms) @mosaic/gateway:test: Tasks: 32 successful, 32 total Cached: 32 cached, 32 total Time: 73ms >>> FULL TURBO — 8 new tests for logic pass - Manual: type in TUI → autocomplete sidebar appears; type letters for fuzzy filter; Tab/Enter fills command; Escape dismisses; up/down navigates list; when closed, up/down navigates history Closes #170 🤖 Generated with [Claude Code](https://claude.com/claude-code) Fixes #170
jason.woltje added 1 commit 2026-03-16 03:24:23 +00:00
feat(cli): TUI autocomplete sidebar + fuzzy match + arg hints + input history (P8-017)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
48f5629eeb
- Add CommandAutocomplete component with filtered command list, aliases, arg hints
- Add useInputHistory hook with ring buffer (max 50), up/down navigation, saved input restore
- Wire InputBar with autocomplete state (show on /), Tab/Enter to fill, Escape to dismiss
- Wire up/down arrows: autocomplete navigation when open, history navigation when closed
- Pass allCommands prop from app.tsx commandRegistry to InputBar
- Add 8 pure-logic tests for useInputHistory covering edge cases and caps

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
jason.woltje merged commit a989b5e549 into main 2026-03-16 03:30:16 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#184