CHUNK #9: AI session storage layer (AgentController, AIStore, builders)

- Add packages/ai: AgentController (streaming + budget), SuggestionBuilder,
  NoteBuilder, AIStore (Dexie/IndexedDB), SuggestionMutation
- Fix createUlid to use monotonicFactory for reliable listSessions sort tiebreaker
- Extend outline system prompt with setting + characters context
- Add dexie dependency to packages/ai
- 188 tests passing (core 47, ui 5, editor 30, ai 71, exporters 22, web 13)
This commit is contained in:
Schwitzz
2026-10-29 07:31:25 -05:00
parent 4c4b83bb68
commit 1e16b0d5d2
15 changed files with 1859 additions and 3 deletions
+33
View File
@@ -25,6 +25,39 @@ export {
} from "./client.js";
export type { MeasuredBudget, StreamResult } from "./client.js";
// Agent orchestration (CHUNK #9)
export {
AgentController,
isRateLimitError,
DEFAULT_MAX_RETRIES,
DEFAULT_RETRY_BACKOFF_MS,
} from "./agent.js";
export type { AgentStatus, AgentCallbacks, AgentOptions } from "./agent.js";
// Suggestion + note builders
export { SuggestionBuilder } from "./suggestions.js";
export type {
SuggestionKind,
SuggestionContext,
SuggestionPrompt,
SuggestionResult,
} from "./suggestions.js";
export { NoteBuilder } from "./notes.js";
export type { NoteKind, NoteContext, NotePrompt, NoteResult } from "./notes.js";
// Suggestion mutation (apply/revert)
export { SuggestionMutation } from "./suggestion-mutation.js";
export type { MutationResult } from "./suggestion-mutation.js";
// AIStore — session/message/suggestion/note persistence (CHUNK #9)
export {
AIStore,
createIndexedDBPersistence,
createInMemoryPersistence,
} from "./ai-session.js";
export type { AISessionPersistence, SessionRow } from "./ai-session.js";
// Provider adapters + factory
export { getProvider } from "./providers/adapters.js";