rowboat/apps/x/packages/core
Ramnique Singh b0000a10d9 feat(x): rowboat config IPC + model recommendations plumbing
- RowboatApiConfig gains optional modelRecommendations (one model per
  provider FLAVOR, native id format) matching the merged backend payload;
  optional so older API deployments and failed fetches never break parsing
- new rowboat:getConfig IPC serves the unauthenticated /v1/config bootstrap
  independent of sign-in (signed-out BYOK users need recommendations when
  connecting a provider); account:getRowboat is back to pure account state
  (signedIn/accessToken) — config is no longer a property of the account
- renderer useRowboatConfig() hook: one shared store for all config
  consumers (appUrl dialogs/sidebar/settings), plus imperative
  fetchRowboatConfig() for event-time consumers (voice, meeting) that must
  await the value when starting a session
- selectInitialModel(flavor, models, recommendations): pure spec-ordered
  initial pick (recommendation if listed, else first, else null) — runs
  only when a provider is first connected, never over a saved choice

Inert plumbing: nothing calls selectInitialModel yet.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 13:36:20 +05:30
..
docs refactor(x): drop limits DI, read setting at default site; async fs 2026-07-21 20:58:53 +05:30
scripts Code mode: make packaged builds work via managed engine provisioning (#625) 2026-06-17 21:53:15 +05:30
src feat(x): rowboat config IPC + model recommendations plumbing 2026-07-24 13:36:20 +05:30
.gitignore bootstrap new electron app 2026-01-16 12:05:33 +05:30
package.json chore(x): migrate to AI SDK 7 2026-07-13 16:22:36 +05:30
tsconfig.build.json Refactor builtin file tools beyond workspace scope 2026-05-25 16:21:51 +05:30
tsconfig.json feat: extract presentation generator into executable code with builtin tool 2026-01-30 13:30:06 +05:30
vitest.config.ts Refactor builtin file tools beyond workspace scope 2026-05-25 16:21:51 +05:30