Mohamed Boudra
5a63bc56f4
refactor(app): make use-agent-input-draft storage injectable ( #716 )
...
Extract DraftStorage interface and createAgentInputDraftCore factory
to a new use-agent-input-draft-core.ts. Pure helper functions (resolveDraftKey,
resolveEffectiveComposerModelId, etc.) move there too, breaking the test
file's transitive dependency on AsyncStorage and useAgentFormState.
The test now imports directly from the core module, uses a Map-backed
in-memory storage, and has zero vi.mock calls. Tests assert behavior
("save then load returns the same draft") rather than call counts.
2026-05-05 19:58:55 +07:00
..
2026-04-22 19:16:28 +07:00
2026-03-21 20:22:15 +07:00
2026-03-21 20:22:15 +07:00
2026-04-10 09:53:38 +07:00
2026-04-10 09:53:38 +07:00
2026-04-24 12:26:10 +08:00
2026-04-01 18:20:02 +07:00
2026-04-20 18:06:09 +07:00
2026-04-18 16:03:01 +07:00
2026-04-15 09:16:09 +07:00
2026-04-28 20:43:38 +08:00
2026-04-28 20:25:04 +08:00
2026-04-28 20:25:04 +08:00
2026-04-25 14:00:38 +07:00
2026-05-05 19:56:26 +07:00
2026-05-05 19:56:26 +07:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-05-03 19:12:36 +07:00
2026-05-03 19:12:36 +07:00
2026-05-05 19:58:55 +07:00
2026-04-17 11:36:08 +07:00
2026-05-05 19:58:55 +07:00
2026-05-05 19:58:55 +07:00
2026-04-05 11:10:49 +07:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-04-02 10:55:54 +07:00
2026-04-13 13:24:00 +07:00
2026-04-22 19:16:28 +07:00
2026-04-22 19:16:28 +07:00
2025-11-23 14:32:08 +01:00
2026-05-05 19:58:16 +07:00
2026-05-05 19:56:26 +07:00
2026-03-21 20:22:15 +07:00
2026-04-24 12:26:10 +08:00
2026-04-07 10:22:20 +08:00
2026-04-07 10:22:20 +08:00
2026-04-30 10:38:07 +07:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-04-19 22:35:26 +07:00
2026-04-24 12:26:10 +08:00
2026-04-22 14:03:59 +07:00
2026-03-21 20:22:15 +07:00
2026-03-21 20:22:15 +07:00
2026-05-05 19:56:26 +07:00
2026-04-22 22:18:11 +07:00
2026-04-22 22:18:11 +07:00
2026-04-12 09:56:05 +08:00
2026-03-21 20:22:15 +07:00
2026-03-21 20:22:15 +07:00
2026-04-24 12:26:10 +08:00
2026-05-05 19:56:26 +07:00
2026-05-02 19:13:31 +07:00
2026-05-02 19:13:31 +07:00
2026-04-30 21:35:58 +08:00
2026-04-24 12:26:10 +08:00
2026-04-20 16:38:12 +07:00
2026-04-19 20:19:45 +07:00
2026-04-24 12:26:10 +08:00
2026-05-02 14:02:27 +08:00
2026-04-10 09:53:38 +07:00
2026-04-12 09:56:05 +08:00
2026-04-30 12:56:09 +08:00
2026-04-24 12:26:10 +08:00
2026-04-22 18:22:20 +07:00
2026-04-17 14:07:15 +07:00
2026-04-20 17:23:17 +07:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-03-02 12:23:04 +07:00
2026-04-12 09:56:05 +08:00
2026-04-22 12:52:47 +07:00
2026-05-05 19:56:26 +07:00
2026-05-03 20:15:19 +07:00
2026-05-03 20:15:19 +07:00
2026-05-02 19:53:50 +08:00
2026-05-02 19:53:50 +08:00
2026-03-21 20:22:15 +07:00
2026-04-30 21:36:41 +08:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-05-05 19:56:26 +07:00
2026-04-09 18:56:02 +07:00
2026-04-07 10:25:25 +08:00
2026-03-20 19:16:06 +07:00
2026-05-05 19:56:51 +07:00
2026-05-05 19:56:51 +07:00
2026-04-25 14:00:38 +07:00
2026-04-22 10:52:19 +07:00
2026-04-24 12:26:10 +08:00
2026-05-03 15:38:01 +07:00
2026-05-05 19:56:26 +07:00
2026-04-01 13:37:51 +07:00
2026-04-12 12:00:45 +07:00
2026-04-21 14:01:16 +07:00
2026-04-30 21:36:41 +08:00
2026-05-03 23:22:54 +07:00
2026-03-23 10:45:48 +07:00
2026-04-16 10:59:31 +08:00
2026-04-16 10:59:31 +08:00
2026-04-16 10:59:31 +08:00
2026-04-20 16:14:22 +07:00
2026-04-20 16:14:22 +07:00