learning_ai_common_plat/packages
saravanakumardb1 e2eea086dc feat(packages): Wave 2 v0.4 + Wave 3 v0.1 — ai-ui expanded, command-palette new
═══════════════════════════════════════════════════════════════════════
@bytelyst/ai-ui  bump 0.1.0 → 0.4.0
═══════════════════════════════════════════════════════════════════════
Folds three more roadmap milestones into the flagship package.

  0.2: <ToolCallCard>   — disclosure card; status pill, JSON preview
       <CitationChip>   — inline citation marker + hover preview
       useToolCalls()   — per-turn tool-invocation state machine
                          (begin/update/settle/clear); preserves insertion
                          order across updates; auto-computes durationMs
  0.3: <AgentTimeline>  — vertical think→act→observe→respond trace;
                          embeds ToolCallCard for kind='tool_call' steps
       <ModelPicker>    — model dropdown with capability chips, cost,
                          latency, context window, disabled gating
  0.4: <ToolPalette>    — searchable tool list with MCP-style discovery
                          (source can be ToolDescriptor[] OR an
                          'mcp://...' URL resolved via a discover
                          adapter; default adapter is fetch+JSON)

Types extended:
  - ToolInvocation, ToolCallStatus, Citation added
  - Message gains optional toolInvocations + citations

Tests: 53/53 (27 old + 26 new) · typecheck clean · 7.65 KB / 35 KB

═══════════════════════════════════════════════════════════════════════
NEW PACKAGE: @bytelyst/command-palette@0.1.0
═══════════════════════════════════════════════════════════════════════
Wave 3 deliverable — Cmd-K dialog with three modes and pluggable command
registration. Roadmap §Wave 3 of ROADMAP_2026.md.

What's exported:
  <CommandRegistryProvider>  — wrap your app once
  <CommandPalette>           — the dialog (Cmd-K / Ctrl-K)
  useRegisterCommands()      — contribute commands for component lifetime
  useCommands()              — read snapshot
  useCommandRegistry()       — imperative access
  useCommandPalette()        — open/close state + global hotkey
  fuzzyScore / scoreCommand  — exposed for tests + custom UIs

Three modes:
  actions   — invoke a registered run()
  navigate  — jump to href via onNavigate or window.location
  ask-ai    — host-supplied askAiPanel; default renders an 'Ask AI: <q>'
              suggestion that products can wire to <ChatStream>

Keyboard:
  ↑ ↓     navigate selection
  Enter   activate
  Tab     cycle mode tabs (Shift+Tab reverses)
  Esc     close

Niceties:
  - Fuzzy matcher (substring + subsequence with light scoring)
  - localStorage-backed recents float to top of actions mode
  - requires() gate hides commands wholesale (auth / feature-flag)
  - aria-haspopup, role=dialog, role=listbox, role=option, aria-selected
  - Backdrop click closes; Esc handler at document level
  - Hotkey suppressed by Cmd-K / Ctrl-K default; configurable

Tests: 26/26 · typecheck clean · 3.91 KB / 15 KB

═══════════════════════════════════════════════════════════════════════
CI plumbing
═══════════════════════════════════════════════════════════════════════
  - .size-limit.cjs gains @bytelyst/command-palette entry
  - .gitea/workflows/size-limit.yml build filter expanded
  - All 8 measured packages comfortably under budget

Refs:
  learning_ai_uxui_web/docs/ROADMAP_2026.md §Wave 2 (0.2/0.3/0.4)
  learning_ai_uxui_web/docs/ROADMAP_2026.md §Wave 3 (Command palette)
  docs/ROADMAP_2026_DECISIONS.md §10 (Vercel AI SDK shape continues)
2026-05-27 12:43:23 -07:00
..
accessibility fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
ai-ui feat(packages): Wave 2 v0.4 + Wave 3 v0.1 — ai-ui expanded, command-palette new 2026-05-27 12:43:23 -07:00
api-client fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
auth fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
auth-client fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
auth-ui fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
backend-config fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
backend-flags fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
backend-telemetry fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
billing-client fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
blob fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
blob-client fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
broadcast-client fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
celebrations fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
client-encrypt fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
command-palette feat(packages): Wave 2 v0.4 + Wave 3 v0.1 — ai-ui expanded, command-palette new 2026-05-27 12:43:23 -07:00
config chore: record gitea package backfill 2026-05-27 18:27:43 +00:00
cosmos fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
create-app fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
dashboard-components fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
dashboard-shell feat(packages): close ROADMAP TODOs #1, #2, #3 — density tier, react-auth fix, routePrefix 2026-05-27 11:49:20 -07:00
datastore fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
design-tokens feat(packages): close ROADMAP TODOs #1, #2, #3 — density tier, react-auth fix, routePrefix 2026-05-27 11:49:20 -07:00
devops fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
diagnostics-client fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
errors fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
event-store fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
events fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
extraction fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
fastify-auth fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
fastify-core fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
fastify-sse fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
feature-flag-client chore: record gitea package backfill 2026-05-27 18:27:43 +00:00
feedback-client fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
field-encrypt fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
gentle-notifications fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
kill-switch-client chore: record gitea package backfill 2026-05-27 18:27:43 +00:00
kotlin-platform-sdk feat(native-sdks): add Keychain/SecureStore key derivation to BLFieldEncrypt 2026-03-21 11:10:02 -07:00
llm fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
llm-router fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
logger fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
marketplace-client fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
mcp-client chore: record gitea package backfill 2026-05-27 18:27:43 +00:00
monitoring fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
offline-queue fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
ollama-client fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
org-client fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
palace fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
platform-client chore: record gitea package backfill 2026-05-27 18:27:43 +00:00
push fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
queue fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
quick-actions fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
react-auth feat(packages): close ROADMAP TODOs #1, #2, #3 — density tier, react-auth fix, routePrefix 2026-05-27 11:49:20 -07:00
react-native-platform-sdk chore: remove embedded Gitea package registry 2026-05-08 21:10:03 -07:00
referral-client fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
secure-storage-web fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
speech fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
storage fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
subscription-client fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
survey-client fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
swift-diagnostics fix(swift-diagnostics): T5.2 \u2014 replace print() with os.Logger 2026-05-23 15:21:39 -07:00
swift-platform-sdk feat(native-sdks): add Keychain/SecureStore key derivation to BLFieldEncrypt 2026-03-21 11:10:02 -07:00
sync fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
telemetry-client fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
testing fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
time-references fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
ui chore: record gitea package backfill 2026-05-27 18:27:43 +00:00
use-keyboard-shortcuts fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
use-theme fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00
webhook-dispatch fix(gitea): set ROOT_URL=host.docker.internal, NO_PROXY for host (F17) 2026-05-27 01:51:43 -07:00