rowboat/apps/x/packages/shared
Gagan f270f39e35 feat(x): graceful wrap-up when a chat turn hits its model-call limit
Interactive turns no longer die with a raw 'Model call limit of N
reached' error. The final budgeted model call is composed as a wrap-up:
the durable request records wrapUp: true, and the composer strips tools
and appends a notice telling the model to answer with what it has,
state what's unfinished, and mention the limit is configurable in
Settings -> Advanced. The turn then completes normally with that answer.

Headless turns (and a wrap-up call that still emits tool calls) keep
the hard model-call-limit failure so automation retains the
machine-readable outcome; sub-agents already surface partial results.
If a hard limit failure still reaches the chat UI, the error bubble now
explains the limit and points at the setting instead of the raw error.
2026-07-21 15:50:04 +05:30
..
src feat(x): graceful wrap-up when a chat turn hits its model-call limit 2026-07-21 15:50:04 +05:30
.gitignore bootstrap new electron app 2026-01-16 12:05:33 +05:30
package.json ci(x): typecheck test files — the gap vitest and the build tsconfigs both miss 2026-07-10 16:30:26 +05:30
tsconfig.build.json feat(x/shared): turn + session event schemas and pure reducers (stage 1) 2026-07-02 14:20:44 +05:30
tsconfig.json bootstrap new electron app 2026-01-16 12:05:33 +05:30
vitest.config.ts feat(x/shared): turn + session event schemas and pure reducers (stage 1) 2026-07-02 14:20:44 +05:30