charness 3.4.0 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/DEVELOPMENT.md +12 -1
  3. package/README.md +89 -6
  4. package/SETUP.md +199 -1
  5. package/dist/adapters/adapterEventRouting.d.ts +2 -2
  6. package/dist/adapters/adapterEventRouting.d.ts.map +1 -1
  7. package/dist/adapters/adapterEventRouting.js +4 -3
  8. package/dist/adapters/adapterEventRouting.js.map +1 -1
  9. package/dist/adapters/claudeCliAdapter.js +2 -2
  10. package/dist/adapters/claudeCliAdapter.js.map +1 -1
  11. package/dist/adapters/claudeConfigDir.d.ts +18 -0
  12. package/dist/adapters/claudeConfigDir.d.ts.map +1 -1
  13. package/dist/adapters/claudeJsonStreamAdapter.d.ts +82 -6
  14. package/dist/adapters/claudeJsonStreamAdapter.d.ts.map +1 -1
  15. package/dist/adapters/claudeJsonStreamAdapter.js +211 -14
  16. package/dist/adapters/claudeJsonStreamAdapter.js.map +1 -1
  17. package/dist/adapters/createAdapter.d.ts +14 -1
  18. package/dist/adapters/createAdapter.d.ts.map +1 -1
  19. package/dist/adapters/createAdapter.js +54 -2
  20. package/dist/adapters/createAdapter.js.map +1 -1
  21. package/dist/adapters/openCodeAdapter.d.ts +5 -0
  22. package/dist/adapters/openCodeAdapter.d.ts.map +1 -1
  23. package/dist/adapters/openCodeAdapter.js +7 -0
  24. package/dist/adapters/openCodeAdapter.js.map +1 -1
  25. package/dist/agentLogin/agentLogin.d.ts +18 -1
  26. package/dist/agentLogin/agentLogin.d.ts.map +1 -1
  27. package/dist/agentLogin/agentLogin.js +59 -18
  28. package/dist/agentLogin/agentLogin.js.map +1 -1
  29. package/dist/apiErrorRetry.d.ts +3 -1
  30. package/dist/apiErrorRetry.d.ts.map +1 -1
  31. package/dist/apiErrorRetry.js +11 -1
  32. package/dist/apiErrorRetry.js.map +1 -1
  33. package/dist/bot.d.ts.map +1 -1
  34. package/dist/bot.js +475 -105
  35. package/dist/bot.js.map +1 -1
  36. package/dist/cli/claudeProfiles.d.ts +1 -1
  37. package/dist/cli/claudeProfiles.d.ts.map +1 -1
  38. package/dist/cli/claudeProfiles.js +11 -6
  39. package/dist/cli/claudeProfiles.js.map +1 -1
  40. package/dist/connectors/jira/connector.d.ts +2 -0
  41. package/dist/connectors/jira/connector.d.ts.map +1 -1
  42. package/dist/connectors/jira/connector.js +5 -4
  43. package/dist/connectors/jira/connector.js.map +1 -1
  44. package/dist/connectors/telegram/commands/claudeAccounts.d.ts +6 -2
  45. package/dist/connectors/telegram/commands/claudeAccounts.d.ts.map +1 -1
  46. package/dist/connectors/telegram/commands/claudeAccounts.js +127 -28
  47. package/dist/connectors/telegram/commands/claudeAccounts.js.map +1 -1
  48. package/dist/connectors/telegram/commands/compaction.d.ts.map +1 -1
  49. package/dist/connectors/telegram/commands/compaction.js +39 -8
  50. package/dist/connectors/telegram/commands/compaction.js.map +1 -1
  51. package/dist/connectors/telegram/commands/fallbackChain.d.ts.map +1 -1
  52. package/dist/connectors/telegram/commands/fallbackChain.js +6 -2
  53. package/dist/connectors/telegram/commands/fallbackChain.js.map +1 -1
  54. package/dist/connectors/telegram/forumTopicCreated.d.ts +20 -0
  55. package/dist/connectors/telegram/forumTopicCreated.d.ts.map +1 -0
  56. package/dist/connectors/telegram/forumTopicCreated.js +16 -0
  57. package/dist/connectors/telegram/forumTopicCreated.js.map +1 -0
  58. package/dist/i18n/de.d.ts.map +1 -1
  59. package/dist/i18n/de.js +42 -1
  60. package/dist/i18n/de.js.map +1 -1
  61. package/dist/i18n/en.d.ts.map +1 -1
  62. package/dist/i18n/en.js +42 -1
  63. package/dist/i18n/en.js.map +1 -1
  64. package/dist/i18n/es.d.ts.map +1 -1
  65. package/dist/i18n/es.js +42 -1
  66. package/dist/i18n/es.js.map +1 -1
  67. package/dist/i18n/fr.d.ts.map +1 -1
  68. package/dist/i18n/fr.js +42 -1
  69. package/dist/i18n/fr.js.map +1 -1
  70. package/dist/i18n/hi.d.ts.map +1 -1
  71. package/dist/i18n/hi.js +42 -1
  72. package/dist/i18n/hi.js.map +1 -1
  73. package/dist/i18n/ja.d.ts.map +1 -1
  74. package/dist/i18n/ja.js +42 -1
  75. package/dist/i18n/ja.js.map +1 -1
  76. package/dist/i18n/ka.d.ts.map +1 -1
  77. package/dist/i18n/ka.js +42 -1
  78. package/dist/i18n/ka.js.map +1 -1
  79. package/dist/i18n/pt.d.ts.map +1 -1
  80. package/dist/i18n/pt.js +42 -1
  81. package/dist/i18n/pt.js.map +1 -1
  82. package/dist/i18n/ru.d.ts.map +1 -1
  83. package/dist/i18n/ru.js +42 -1
  84. package/dist/i18n/ru.js.map +1 -1
  85. package/dist/i18n/uk.d.ts.map +1 -1
  86. package/dist/i18n/uk.js +42 -1
  87. package/dist/i18n/uk.js.map +1 -1
  88. package/dist/i18n/uz.d.ts.map +1 -1
  89. package/dist/i18n/uz.js +42 -1
  90. package/dist/i18n/uz.js.map +1 -1
  91. package/dist/i18n/zh.d.ts.map +1 -1
  92. package/dist/i18n/zh.js +42 -1
  93. package/dist/i18n/zh.js.map +1 -1
  94. package/dist/i18n.d.ts +2 -0
  95. package/dist/i18n.d.ts.map +1 -1
  96. package/dist/i18n.js.map +1 -1
  97. package/dist/rateLimiter.d.ts +6 -0
  98. package/dist/rateLimiter.d.ts.map +1 -1
  99. package/dist/rateLimiter.js +9 -0
  100. package/dist/rateLimiter.js.map +1 -1
  101. package/dist/requests/wakeUpEngine.d.ts +4 -0
  102. package/dist/requests/wakeUpEngine.d.ts.map +1 -1
  103. package/dist/requests/wakeUpEngine.js +3 -3
  104. package/dist/requests/wakeUpEngine.js.map +1 -1
  105. package/dist/requests/wakeUpRules.d.ts +2 -1
  106. package/dist/requests/wakeUpRules.d.ts.map +1 -1
  107. package/dist/requests/wakeUpRules.js +3 -2
  108. package/dist/requests/wakeUpRules.js.map +1 -1
  109. package/dist/scheduler/mcpSurface.d.ts.map +1 -1
  110. package/dist/scheduler/mcpSurface.js +5 -3
  111. package/dist/scheduler/mcpSurface.js.map +1 -1
  112. package/dist/selfUpdate/updateMessages.d.ts +1 -1
  113. package/dist/selfUpdate/updateMessages.d.ts.map +1 -1
  114. package/dist/selfUpdate/updateMessages.js.map +1 -1
  115. package/dist/state.d.ts +67 -5
  116. package/dist/state.d.ts.map +1 -1
  117. package/dist/state.js +76 -7
  118. package/dist/state.js.map +1 -1
  119. package/dist/testTimings.d.ts +45 -0
  120. package/dist/testTimings.d.ts.map +1 -0
  121. package/dist/testTimings.js +89 -0
  122. package/dist/testTimings.js.map +1 -0
  123. package/dist/types.d.ts +49 -0
  124. package/dist/types.d.ts.map +1 -1
  125. package/dist/utils/adapterSwitchSessionIds.d.ts +5 -1
  126. package/dist/utils/adapterSwitchSessionIds.d.ts.map +1 -1
  127. package/dist/utils/adapterSwitchSessionIds.js +1 -1
  128. package/dist/utils/adapterSwitchSessionIds.js.map +1 -1
  129. package/dist/utils/adoptedToolList.d.ts +16 -21
  130. package/dist/utils/adoptedToolList.d.ts.map +1 -1
  131. package/dist/utils/adoptedToolList.js +18 -17
  132. package/dist/utils/adoptedToolList.js.map +1 -1
  133. package/dist/utils/anthropicApiKeyCheck.d.ts +19 -0
  134. package/dist/utils/anthropicApiKeyCheck.d.ts.map +1 -0
  135. package/dist/utils/anthropicApiKeyCheck.js +41 -0
  136. package/dist/utils/anthropicApiKeyCheck.js.map +1 -0
  137. package/dist/utils/claudeAccountPickerPlan.d.ts +6 -1
  138. package/dist/utils/claudeAccountPickerPlan.d.ts.map +1 -1
  139. package/dist/utils/claudeAccountPickerPlan.js +5 -1
  140. package/dist/utils/claudeAccountPickerPlan.js.map +1 -1
  141. package/dist/utils/claudeApiKeyHelper.d.ts +19 -0
  142. package/dist/utils/claudeApiKeyHelper.d.ts.map +1 -0
  143. package/dist/utils/claudeApiKeyHelper.js +32 -0
  144. package/dist/utils/claudeApiKeyHelper.js.map +1 -0
  145. package/dist/utils/claudeApiSpend.d.ts +73 -0
  146. package/dist/utils/claudeApiSpend.d.ts.map +1 -0
  147. package/dist/utils/claudeApiSpend.js +82 -0
  148. package/dist/utils/claudeApiSpend.js.map +1 -0
  149. package/dist/utils/claudeCompactHook.d.ts +11 -6
  150. package/dist/utils/claudeCompactHook.d.ts.map +1 -1
  151. package/dist/utils/claudeCompactHook.js +28 -11
  152. package/dist/utils/claudeCompactHook.js.map +1 -1
  153. package/dist/utils/claudeLimitSwitch.d.ts +2 -1
  154. package/dist/utils/claudeLimitSwitch.d.ts.map +1 -1
  155. package/dist/utils/claudeLimitSwitch.js +3 -2
  156. package/dist/utils/claudeLimitSwitch.js.map +1 -1
  157. package/dist/utils/claudeProfileUsageLines.d.ts +18 -3
  158. package/dist/utils/claudeProfileUsageLines.d.ts.map +1 -1
  159. package/dist/utils/claudeProfileUsageLines.js +23 -2
  160. package/dist/utils/claudeProfileUsageLines.js.map +1 -1
  161. package/dist/utils/claudeProfiles.d.ts +57 -2
  162. package/dist/utils/claudeProfiles.d.ts.map +1 -1
  163. package/dist/utils/claudeProfiles.js +96 -3
  164. package/dist/utils/claudeProfiles.js.map +1 -1
  165. package/dist/utils/claudeScheduledJobs.d.ts +49 -0
  166. package/dist/utils/claudeScheduledJobs.d.ts.map +1 -0
  167. package/dist/utils/claudeScheduledJobs.js +62 -0
  168. package/dist/utils/claudeScheduledJobs.js.map +1 -0
  169. package/dist/utils/claudeStreamJson.d.ts +35 -2
  170. package/dist/utils/claudeStreamJson.d.ts.map +1 -1
  171. package/dist/utils/claudeStreamJson.js +31 -8
  172. package/dist/utils/claudeStreamJson.js.map +1 -1
  173. package/dist/utils/claudeTranscriptContent.d.ts +8 -0
  174. package/dist/utils/claudeTranscriptContent.d.ts.map +1 -1
  175. package/dist/utils/claudeTranscriptContent.js +44 -0
  176. package/dist/utils/claudeTranscriptContent.js.map +1 -1
  177. package/dist/utils/claudeUsage.d.ts +22 -6
  178. package/dist/utils/claudeUsage.d.ts.map +1 -1
  179. package/dist/utils/claudeUsage.js +12 -5
  180. package/dist/utils/claudeUsage.js.map +1 -1
  181. package/dist/utils/claudeUsageRefresher.d.ts +6 -0
  182. package/dist/utils/claudeUsageRefresher.d.ts.map +1 -1
  183. package/dist/utils/claudeUsageRefresher.js +2 -2
  184. package/dist/utils/claudeUsageRefresher.js.map +1 -1
  185. package/dist/utils/compactOnIdle.d.ts +12 -0
  186. package/dist/utils/compactOnIdle.d.ts.map +1 -1
  187. package/dist/utils/compactOnIdle.js +15 -1
  188. package/dist/utils/compactOnIdle.js.map +1 -1
  189. package/dist/utils/doctorLine.d.ts +13 -0
  190. package/dist/utils/doctorLine.d.ts.map +1 -0
  191. package/dist/utils/doctorLine.js +18 -0
  192. package/dist/utils/doctorLine.js.map +1 -0
  193. package/dist/utils/effortPickerPlan.d.ts +1 -2
  194. package/dist/utils/effortPickerPlan.d.ts.map +1 -1
  195. package/dist/utils/effortPickerPlan.js.map +1 -1
  196. package/dist/utils/fallbackChain.d.ts +15 -8
  197. package/dist/utils/fallbackChain.d.ts.map +1 -1
  198. package/dist/utils/fallbackChain.js +30 -13
  199. package/dist/utils/fallbackChain.js.map +1 -1
  200. package/dist/utils/jsonStreamHost.d.ts +19 -7
  201. package/dist/utils/jsonStreamHost.d.ts.map +1 -1
  202. package/dist/utils/jsonStreamHost.js +25 -11
  203. package/dist/utils/jsonStreamHost.js.map +1 -1
  204. package/dist/utils/jsonStreamPendingWork.d.ts +44 -0
  205. package/dist/utils/jsonStreamPendingWork.d.ts.map +1 -0
  206. package/dist/utils/jsonStreamPendingWork.js +48 -0
  207. package/dist/utils/jsonStreamPendingWork.js.map +1 -0
  208. package/dist/utils/limitsBoardPlan.d.ts +4 -2
  209. package/dist/utils/limitsBoardPlan.d.ts.map +1 -1
  210. package/dist/utils/limitsBoardPlan.js +12 -5
  211. package/dist/utils/limitsBoardPlan.js.map +1 -1
  212. package/dist/utils/lostWork.d.ts +117 -0
  213. package/dist/utils/lostWork.d.ts.map +1 -0
  214. package/dist/utils/lostWork.js +187 -0
  215. package/dist/utils/lostWork.js.map +1 -0
  216. package/dist/utils/nativeWindows.d.ts +29 -0
  217. package/dist/utils/nativeWindows.d.ts.map +1 -0
  218. package/dist/utils/nativeWindows.js +50 -0
  219. package/dist/utils/nativeWindows.js.map +1 -0
  220. package/dist/utils/recvPreviewRedaction.d.ts +7 -2
  221. package/dist/utils/recvPreviewRedaction.d.ts.map +1 -1
  222. package/dist/utils/recvPreviewRedaction.js +10 -4
  223. package/dist/utils/recvPreviewRedaction.js.map +1 -1
  224. package/dist/utils/threadStatusReport.d.ts +12 -1
  225. package/dist/utils/threadStatusReport.d.ts.map +1 -1
  226. package/dist/utils/threadStatusReport.js +13 -4
  227. package/dist/utils/threadStatusReport.js.map +1 -1
  228. package/dist/utils/updateScreenPlan.d.ts +1 -1
  229. package/dist/utils/updateScreenPlan.d.ts.map +1 -1
  230. package/dist/utils/updateScreenPlan.js.map +1 -1
  231. package/package.json +2 -2
package/dist/state.d.ts CHANGED
@@ -1,11 +1,14 @@
1
1
  import * as fs from 'fs';
2
2
  import { type ApiRetryState, type JsonStreamTailOffset, type LimitEpisodeMarker, type PendingQuestionState, type ResolvedThreadDisplayPrefs, type SeenWatermark, type ThreadDisplayPrefs } from './types';
3
3
  import { type SessionKey } from './sessionKey';
4
+ import { type ClaudeProfileBilling } from './utils/claudeProfiles';
4
5
  import type { ClaudeUsageSnapshot } from './utils/claudeUsage';
6
+ import type { ClaudeApiSpend, ClaudeCostBaseline } from './utils/claudeApiSpend';
5
7
  import type { OpenCodeProviderUsageRecord } from './utils/openCodeUsage';
6
8
  import { type FallbackChainEntry } from './utils/fallbackChain';
7
9
  import type { ScheduleRecord } from './scheduler/types';
8
10
  import type { OpenRequestState, UnreleasedRequestAlert } from './requests/types';
11
+ import type { LostWorkRecord } from './utils/lostWork';
9
12
  import { type RequestGroupKey } from './requests/requestGroup';
10
13
  import type { Locale } from './i18n';
11
14
  import type { LimitHeldPrompt } from './utils/limitHeldPrompts';
@@ -33,6 +36,8 @@ import type { LastRunVersion, SelfUpdateRecord } from './selfUpdate/types';
33
36
  */
34
37
  /** Current schema version stamped into `state.json`. Bump on breaking layout changes. */
35
38
  export declare const STATE_SCHEMA_VERSION = 1;
39
+ /** Default debounce window (ms) for batched saves. Overridable via the store constructor for tests. */
40
+ export declare const DEFAULT_SAVE_DEBOUNCE_MS = 500;
36
41
  /** @name SttInstallProgressMessage @description The topic message the local engine's install progress is edited into. */
37
42
  export interface SttInstallProgressMessage {
38
43
  /** The topic's serialised session key. */
@@ -115,9 +120,10 @@ export interface AgentData {
115
120
  /**
116
121
  * The digest of the bot-MCP tool definitions the json-stream process was
117
122
  * started with (`SchedulerMcpHandle.getToolDigest`). Compared at adopt after a
118
- * bot restart: a process whose tools are stale is stopped at its next idle
119
- * point and resumed with the current ones (lifecycle plan L4). Absent for a
120
- * row written before the digest was tracked — read as stale.
123
+ * bot restart: a process whose tools are stale is logged and follows the idle
124
+ * lifecycle (never stopped early); its next resume gets the current ones
125
+ * (lifecycle plan L4). Absent for a row written before the digest was
126
+ * tracked — read as stale.
121
127
  */
122
128
  mcpToolDigest?: string;
123
129
  /**
@@ -159,6 +165,12 @@ export interface ClaudeProfileRecord {
159
165
  /** `pro` / `max` / `team` / `enterprise` — whatever the CLI reports. */
160
166
  subscriptionType?: string;
161
167
  orgName?: string;
168
+ /**
169
+ * How the account pays (`utils/claudeProfiles.ts` `ClaudeProfileBilling`): `api` when the operator added it as an API
170
+ * account (Claude Console login or a pasted key), then whatever a signed-in probe reports (the CLI's truth wins both
171
+ * ways). Absent = a subscription account added before billing was recorded.
172
+ */
173
+ billing?: ClaudeProfileBilling;
162
174
  /** ISO instant of that read. */
163
175
  statusCheckedAt?: string;
164
176
  /**
@@ -167,6 +179,15 @@ export interface ClaudeProfileRecord {
167
179
  * auto-switch phase will act on it; nothing else writes it.
168
180
  */
169
181
  limitedUntil?: string;
182
+ /**
183
+ * ISO instant the account's prepaid API credit balance was found used up («Credit balance is too low» — normally an
184
+ * account billed to API credits, but set on whichever account the refusal came from). No window resets it: it holds until the operator acts — picks the account again or signs it
185
+ * in again — or a billed turn on it goes through (the balance is back), and keeps the account out of the fallback chain and
186
+ * the ranking till then.
187
+ */
188
+ creditExhaustedAt?: string;
189
+ /** What an account billed to API credits spent through the bot (`utils/claudeApiSpend.ts`); absent before its first counted turn. */
190
+ apiSpend?: ClaudeApiSpend;
170
191
  /** The last usage snapshot read for the profile (`utils/claudeUsage.ts`): the endpoint poll or a stream frame. */
171
192
  usage?: ClaudeUsageSnapshot;
172
193
  /**
@@ -183,6 +204,11 @@ export interface ParkedSession {
183
204
  opencodeSessionId?: string;
184
205
  /** ISO instant of the switch. */
185
206
  parkedAt: string;
207
+ /**
208
+ * The agent's own pending work the switch cut off in the parked conversation (`utils/lostWork.ts`): when the topic
209
+ * comes back to it, its first prompt tells its agent.
210
+ */
211
+ lostWork?: LostWorkRecord;
186
212
  }
187
213
  /**
188
214
  * Per-thread compact-on-idle bookkeeping (F2), persisted so a bot restart does
@@ -440,6 +466,12 @@ export interface StateV1 {
440
466
  selfUpdate?: SelfUpdateRecord;
441
467
  /** The version (commit) of the previous boot; a difference at boot is a version change to announce. */
442
468
  lastRunVersion?: LastRunVersion;
469
+ /**
470
+ * Per thread, the last `total_cost_usd` its Claude conversation reported (`utils/claudeApiSpend.ts`): the baseline a
471
+ * turn's spend is the delta against. Kept for every account — a conversation that moves from a subscription to an
472
+ * API account must count only the API turns — and persisted, so a restart never counts a conversation twice.
473
+ */
474
+ claudeCostBaselines?: Record<string, ClaudeCostBaseline>;
443
475
  /**
444
476
  * Persisted scheduled jobs, keyed by {@link ScheduleRecord.id}. Optional so
445
477
  * older state files (created before the scheduler feature) stay valid —
@@ -502,6 +534,17 @@ export interface StateV1 {
502
534
  * bot's retry map; arming another retry or cancelling drops it. Optional — absent when empty.
503
535
  */
504
536
  limitProbesFired?: Record<string, number>;
537
+ /**
538
+ * The agent's own pending work a json-stream process took with it when it ended anyway, per {@link SessionKey}
539
+ * string, until the agent is told (`utils/lostWork.ts`): the bot's automatic resume, or the next prompt, carries the
540
+ * note and drops the record. Optional — absent when empty.
541
+ */
542
+ lostWork?: Record<string, LostWorkRecord>;
543
+ /**
544
+ * When the bot last resumed a conversation with a lost-work note, per {@link SessionKey} string (epoch ms): the loop
545
+ * guard (`lostWorkResumeCooldownMs`) holds across restarts. Optional — absent when empty.
546
+ */
547
+ lostWorkResumedAt?: Record<string, number>;
505
548
  /**
506
549
  * Prompts held during an armed usage-limit wait (Jira plan R23), keyed by
507
550
  * {@link SessionKey} string, oldest first. Kept apart from `apiRetries`: the
@@ -1168,6 +1211,14 @@ export declare class StateStore {
1168
1211
  setClaudeProfileUsage(name: string, usage: ClaudeUsageSnapshot): void;
1169
1212
  /** The limit mark (`null` clears it); same record rules as the usage. Debounced. */
1170
1213
  setClaudeProfileLimitedUntil(name: string, limitedUntil: string | null): void;
1214
+ /** Store an API account's spend (`utils/claudeApiSpend.ts` computes it); same record rules as the usage. Debounced. */
1215
+ setClaudeProfileApiSpend(name: string, spend: ClaudeApiSpend): void;
1216
+ /** The last conversation cost the thread's Claude session reported, `undefined` when none was seen. */
1217
+ getClaudeCostBaseline(key: SessionKey): ClaudeCostBaseline | undefined;
1218
+ /** Remember the thread's conversation cost (written on every Claude turn end — debounced). */
1219
+ setClaudeCostBaseline(key: SessionKey, baseline: ClaudeCostBaseline): void;
1220
+ /** The used-up-balance mark (`null` clears it); same record rules as the usage. Debounced. */
1221
+ setClaudeProfileCreditExhausted(name: string, exhaustedAt: string | null): void;
1171
1222
  /** The mutable record behind `name`: created for `default`, `null` for an added name that is not registered. */
1172
1223
  private touchClaudeProfileInfo;
1173
1224
  /**
@@ -1339,6 +1390,16 @@ export declare class StateStore {
1339
1390
  setLimitProbeFired(key: SessionKey, firedAt: number): Promise<void>;
1340
1391
  /** @description Drop `key`'s fired limit probe (and the map once empty). No-op (no save) when absent. */
1341
1392
  clearLimitProbeFired(key: SessionKey): Promise<void>;
1393
+ /** @description The loss the agent of `key` has not been told about yet ({@link StateV1.lostWork}). */
1394
+ getLostWork(key: SessionKey): LostWorkRecord | undefined;
1395
+ /** @description Keep `key`'s untold loss (replacing an older one: the caller merges). Debounced. */
1396
+ setLostWork(key: SessionKey, record: LostWorkRecord): Promise<void>;
1397
+ /** @description When the bot last resumed `key`'s conversation with a lost-work note ({@link StateV1.lostWorkResumedAt}). */
1398
+ getLostWorkResumedAt(key: SessionKey): number | undefined;
1399
+ /** @description Record that the bot resumed `key`'s conversation with a lost-work note at `resumedAt`. Debounced. */
1400
+ setLostWorkResumedAt(key: SessionKey, resumedAt: number): Promise<void>;
1401
+ /** @description Drop `key`'s loss once the agent was told, or its conversation released. No-op (no save) when absent. */
1402
+ clearLostWork(key: SessionKey): Promise<void>;
1342
1403
  /** @description The prompts held for `key`, oldest first; `[]` when none. A copy. */
1343
1404
  getLimitHeldPrompts(key: SessionKey): LimitHeldPrompt[];
1344
1405
  /**
@@ -1470,9 +1531,10 @@ export declare function resolveDataDir(): string;
1470
1531
  * write chains → corrupted JSON). Production triggers only one call from
1471
1532
  * `startBot()`, but the cost of the guard is trivial.
1472
1533
  *
1473
- * Tests should instantiate `new StateStore(...)` directly instead.
1534
+ * Tests should instantiate `new StateStore(...)` directly instead. `options` apply to the first call only (a test
1535
+ * instance's shorter save debounce, `CHARNESS_TEST_TIMINGS`).
1474
1536
  */
1475
- export declare function getStateStore(): Promise<StateStore>;
1537
+ export declare function getStateStore(options?: StateStoreOptions): Promise<StateStore>;
1476
1538
  /**
1477
1539
  * @description Reset the singleton — only for tests. Production code should
1478
1540
  * never call this; doing so would leak in-flight write promises.
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAKzB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAiC,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAO9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,yFAAyF;AACzF,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAStC,yHAAyH;AACzH,MAAM,WAAW,yBAAyB;IACxC,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kHAAkH;IAClH,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,gGAAgG;AAChG,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,QAAS,CAAC;AAEvD,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD;;;;;;;;;;OAUG;IACH,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;IACrC;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAC/D;;;;;;;;;;OAUG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,4BAA4B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvD;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACrD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD;;;;;OAKG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,gCAAgC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3D;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACrC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;IAC/C,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/C,mIAAmI;IACnI,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,uGAAuG;IACvG,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3C;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACxD;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IACrD;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAChD;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACjE;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC5D;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAClD;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC5C;AAwBD;;;;;;;GAOG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAuC;IAE/C,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CA+BpE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9B,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAC1D;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC5B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GAChC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAC/E,CAsCA;AAqBD;;;;;;;;;;GAUG;AACH,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAe1E;AAED,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC,OAAO,CAAC,KAAK,CAAyB;IACtC,wEAAwE;IACxE,OAAO,CAAC,eAAe,CAAS;IAChC,gEAAgE;IAChE,OAAO,CAAC,oBAAoB,CAAuB;IACnD,mDAAmD;IACnD,OAAO,CAAC,mBAAmB,CAAuB;IAElD,OAAO,CAAC,SAAS,CAA+B;IAChD,oFAAoF;IACpF,OAAO,CAAC,UAAU,CAAuC;IAEzD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAA6B;IAExE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;gBAE7B,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB;IAM5D;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAuC3B,sEAAsE;IACtE,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,4EAA4E;IAC5E,kBAAkB,IAAI,OAAO;IAI7B,0EAA0E;IAC1E,uBAAuB,IAAI,MAAM,GAAG,IAAI;IAIxC,oFAAoF;IACpF,sBAAsB,IAAI,MAAM,GAAG,IAAI;IAMvC;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAM9D,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI;IAIzC,UAAU,CACd,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GACrD,OAAO,CAAC,IAAI,CAAC;IAiChB;;;;;OAKG;IACG,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtE,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvE;;;;;;;OAOG;IACG,+BAA+B,CACnC,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;;;;OAMG;IACG,0BAA0B,CAC9B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,MAAM,GAAG,IAAI,GAClB,OAAO,CAAC,IAAI,CAAC;IAiBV,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAcnD,YAAY,IAAI,KAAK,CAAC;QAAE,GAAG,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;IAS7D;;;;OAIG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE;IAa/C,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI;IAI3C;;;;OAIG;IACG,QAAQ,CACZ,GAAG,EAAE,UAAU,EACf,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,GACxD,OAAO,CAAC,IAAI,CAAC;IASV,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjD,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI;IAIlD;;;;;;;;;OASG;IACG,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtE,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI;IAIpD,4EAA4E;IACtE,oBAAoB,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtE;;;;;;;;OAQG;IACG,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhF;;;;OAIG;IACG,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxD;;;;;;OAMG;IACG,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUnF;;;;;;OAMG;IACG,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1E,wHAAwH;IAClH,qBAAqB,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlF;;;;;;;OAOG;IACG,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB1D,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,aAAa,GAAG,IAAI;IAIvD,8EAA8E;IACxE,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IASpF,OAAO,CAAC,iBAAiB;IAQzB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,EAAE;IAIxC,oFAAoF;IACpF,OAAO,CAAC,gBAAgB;IAQxB;;;;;OAKG;IACG,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlE,iFAAiF;IAC3E,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1E,0FAA0F;IACpF,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IActF;;;;;;;;;;OAUG;IACH,cAAc,CAAC,GAAG,GAAE,MAAmB,GAAG,IAAI;IAK9C;;;;;;;;OAQG;IACH,aAAa,CAAC,GAAG,GAAE,MAAmB,GAAG,MAAM,GAAG,IAAI;IAQtD,sEAAsE;IACtE,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC;;;;;;;OAOG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtD;;;;;;;OAOG;IACH,cAAc,IAAI;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE;IAO/D;;;;;;;;;;;OAWG;IACG,cAAc,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1F,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIpD,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI9C,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3E,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1E;;;;OAIG;IACH,wBAAwB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAIlD;;;;;;OAMG;IACG,oBAAoB,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAa9E;;;OAGG;IACH,uBAAuB,IAAI,MAAM,EAAE;IAInC;;;;;;OAMG;IACG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAYhF;;;;OAIG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;;;;OAKG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASpD;;;;OAIG;IACH,6BAA6B,IAAI,OAAO;IAIxC;;;OAGG;IACH,wBAAwB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS;IAI9D;;;OAGG;IACH,2BAA2B,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAOrD;;;;;;OAMG;IACG,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpE;;;;;OAKG;IACG,wBAAwB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhF;;;;OAIG;IACH,8BAA8B,IAAI,OAAO;IAIzC;;;OAGG;IACH,yBAAyB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS;IAI/D;;;OAGG;IACH,4BAA4B,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAOtD;;;;;;OAMG;IACG,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrE;;;;OAIG;IACG,yBAAyB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IASjF;;;;;;OAMG;IACH,yBAAyB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAInD;;;;;;OAMG;IACG,qBAAqB,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/E;;;;;;;;;;;;;;OAcG;IACH,sBAAsB,CAAC,GAAG,EAAE,UAAU,GAAG;QACvC,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,CAAC;KAC1B;IAcD;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI;IAIxE;;;;;OAKG;IACH,sBAAsB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI;IAIvE;;;;;;OAMG;IACG,yBAAyB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,GAAE,MAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAezF;;;;;;;OAOG;IACG,wBAAwB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAa9D;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAwBhC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;;;OAIG;IACH,mCAAmC,IAAI,OAAO;IAI9C;;;OAGG;IACH,8BAA8B,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS;IAIpE;;;OAGG;IACH,iCAAiC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAO3D;;;;;;OAMG;IACG,mCAAmC,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1E;;;;;OAKG;IACG,8BAA8B,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAe7F,4HAA4H;IAC5H,OAAO,CAAC,iBAAiB;IASzB,yGAAyG;IACzG,uCAAuC,IAAI,OAAO;IAIlD,wGAAwG;IACxG,kCAAkC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS;IAIxE,0GAA0G;IAC1G,qCAAqC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAO/D,qIAAqI;IAC/H,uCAAuC,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9E,4JAA4J;IACtJ,kCAAkC,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAejG,4BAA4B,IAAI,yBAAyB,GAAG,IAAI;IAMhE,2EAA2E;IACrE,4BAA4B,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5F,uEAAuE;IACvE,mBAAmB,IAAI,gBAAgB;IAIvC,+GAA+G;IAC/G,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAKnD,iBAAiB,IAAI,cAAc,GAAG,SAAS;IAI/C,6FAA6F;IACvF,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/D,gFAAgF;IAChF,gBAAgB,IAAI,kBAAkB,EAAE;IAIxC,sHAAsH;IAChH,gBAAgB,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3E,kGAAkG;IAClG,sBAAsB,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI1D,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI/D,mFAAmF;IACnF,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAW9E,qHAAqH;IACrH,yBAAyB,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IAIlF,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,2BAA2B,GAAG,SAAS;IAIrF,oGAAoG;IACpG,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,2BAA2B,GAAG,IAAI;IAOvF,kHAAkH;IAClH,uBAAuB,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAQxE,oFAAoF;IACpF,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAIrE,0FAA0F;IAC1F,qBAAqB,IAAI,GAAG,CAAC,MAAM,CAAC;IAIpC,0GAA0G;IAC1G,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAInE,mFAAmF;IACnF,wBAAwB,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAIzE;;;OAGG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAOrE,oFAAoF;IACpF,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAQ7E,gHAAgH;IAChH,OAAO,CAAC,sBAAsB;IAS9B;;;;OAIG;IACG,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjG;;;;OAIG;IACG,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAqBpE,kFAAkF;IAClF,6BAA6B,IAAI,MAAM;IAQvC,mHAAmH;IACnH,wBAAwB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS;IAI7D,iGAAiG;IACjG,wBAAwB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM;IAQjD,kFAAkF;IAClF,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE;IAUzD,+FAA+F;IACzF,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhE;;;OAGG;IACG,wBAAwB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBnF;;;;;OAKG;IACH,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B;;;;;;;;;OASG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD;;;;;;;;;;OAUG;IACH,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,0BAA0B;IAU5D;;;;;;;;;;OAUG;IACG,cAAc,CAAC,MAAM,SAAS,MAAM,kBAAkB,EAC1D,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,WAAW,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAC7C,OAAO,CAAC,IAAI,CAAC;IAgChB;;;;OAIG;IACH,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;IAI9C,2EAA2E;IAC3E,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE;IAMrD;;;;;;;OAOG;IACG,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3D,4DAA4D;IACtD,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/C;;;;OAIG;IACG,iBAAiB,CACrB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,OAAO,EACf,MAAM,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC;IAuBhB;;;;;;;OAOG;IACG,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC;IAU9C;;;;;OAKG;IACH,4BAA4B,IAAI,MAAM,GAAG,SAAS;IAIlD;;;;;;OAMG;IACG,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtD;;;;;OAKG;IACH,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAI3D;;;;;;;OAOG;IACG,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrF;;;;OAIG;IACG,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAc1D;;;;;OAKG;IACH,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAI9C;;;;;;;;OAQG;IACG,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvE;;;;OAIG;IACG,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnD,sGAAsG;IACtG,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAI7C,oHAAoH;IAC9G,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzE,yGAAyG;IACnG,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D,qFAAqF;IACrF,mBAAmB,CAAC,GAAG,EAAE,UAAU,GAAG,eAAe,EAAE;IAIvD;;;;OAIG;IACH,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,eAAe,EAAE,GAAG,IAAI;IAc/E;;;;OAIG;IACH,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAInD,gEAAgE;IAChE,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,GAAG,SAAS;IAIpE;;;;;;;;;;OAUG;IACG,iBAAiB,CACrB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,KAAK,gBAAgB,GAAG,SAAS,GAC9E,OAAO,CAAC,IAAI,CAAC;IAehB,4EAA4E;IAC5E,0BAA0B,IAAI,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC;IAIpE;;;;OAIG;IACH,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAKjF,qEAAqE;IACrE,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IASrD,uGAAuG;IACvG,qBAAqB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS;IAI1D;;;;OAIG;IACG,qBAAqB,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9E;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;;;;OAKG;IACH,wBAAwB,CAAC,GAAG,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS;IAIzE;;;;;;OAMG;IACG,wBAAwB,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzF;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAMjC;;;;;OAKG;IACH,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAI9C;;;;;;;;;;OAUG;IACG,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvE,2EAA2E;IAC3E,OAAO,CAAC,YAAY;IASpB;;;;;;;;;;OAUG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAW7B;AAOD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CAczD;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,IAAI,IAAI,CAGxD;AAID,OAAO,EAAE,EAAE,IAAI,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
package/dist/state.js CHANGED
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports._fsForTests = exports.StateStore = exports.KeyLock = exports.compactIdleTrackingPersistStepMs = exports.STATE_SCHEMA_VERSION = void 0;
36
+ exports._fsForTests = exports.StateStore = exports.KeyLock = exports.compactIdleTrackingPersistStepMs = exports.DEFAULT_SAVE_DEBOUNCE_MS = exports.STATE_SCHEMA_VERSION = void 0;
37
37
  exports.writeFileAtomic = writeFileAtomic;
38
38
  exports.loadStateFile = loadStateFile;
39
39
  exports.migrateLegacyMessageIdsFile = migrateLegacyMessageIdsFile;
@@ -80,7 +80,7 @@ const requestGroup_1 = require("./requests/requestGroup");
80
80
  /** Current schema version stamped into `state.json`. Bump on breaking layout changes. */
81
81
  exports.STATE_SCHEMA_VERSION = 1;
82
82
  /** Default debounce window (ms) for batched saves. Overridable via the store constructor for tests. */
83
- const DEFAULT_SAVE_DEBOUNCE_MS = 500;
83
+ exports.DEFAULT_SAVE_DEBOUNCE_MS = 500;
84
84
  /**
85
85
  * Coarse step (ms) the activity/turn stamps must move past the last PERSISTED
86
86
  * value before a save is scheduled. Load-bearing for cost, not correctness:
@@ -337,7 +337,7 @@ class StateStore {
337
337
  constructor(dataDir, options = {}) {
338
338
  this.dataDir = dataDir;
339
339
  this.statePath = path.join(dataDir, 'state.json');
340
- this.saveDebounceMs = options.saveDebounceMs ?? DEFAULT_SAVE_DEBOUNCE_MS;
340
+ this.saveDebounceMs = options.saveDebounceMs ?? exports.DEFAULT_SAVE_DEBOUNCE_MS;
341
341
  }
342
342
  /**
343
343
  * @description One-shot boot. Creates `dataDir` if missing, performs
@@ -729,8 +729,11 @@ class StateStore {
729
729
  }
730
730
  const { claudeSessionId, opencodeSessionId, jsonStreamTail, startedAt, mcpToolDigest, ...rest } = existing;
731
731
  this.state.agents[k] = rest;
732
- // A released conversation is gone for this thread: the other family's parked id goes with it.
732
+ // A released conversation is gone for this thread: the other family's parked id goes with it, and so does a loss
733
+ // its agent was never told about.
733
734
  this.dropParkedSession(k);
735
+ this.dropOptionalMapEntry('lostWork', k);
736
+ this.dropOptionalMapEntry('lostWorkResumedAt', k);
734
737
  this.scheduleSave();
735
738
  });
736
739
  }
@@ -1492,6 +1495,42 @@ class StateStore {
1492
1495
  record.limitedUntil = limitedUntil;
1493
1496
  this.scheduleSave();
1494
1497
  }
1498
+ /** Store an API account's spend (`utils/claudeApiSpend.ts` computes it); same record rules as the usage. Debounced. */
1499
+ setClaudeProfileApiSpend(name, spend) {
1500
+ const record = this.touchClaudeProfileInfo(name);
1501
+ if (!record)
1502
+ return;
1503
+ record.apiSpend = spend;
1504
+ this.scheduleSave();
1505
+ }
1506
+ /** The last conversation cost the thread's Claude session reported, `undefined` when none was seen. */
1507
+ getClaudeCostBaseline(key) {
1508
+ return this.state.claudeCostBaselines?.[(0, sessionKey_1.keyToString)(key)];
1509
+ }
1510
+ /** Remember the thread's conversation cost (written on every Claude turn end — debounced). */
1511
+ setClaudeCostBaseline(key, baseline) {
1512
+ const k = (0, sessionKey_1.keyToString)(key);
1513
+ const previous = this.state.claudeCostBaselines?.[k];
1514
+ if (previous?.sessionId === baseline.sessionId && previous.totalCostUsd === baseline.totalCostUsd)
1515
+ return;
1516
+ (this.state.claudeCostBaselines ??= {})[k] = baseline;
1517
+ this.scheduleSave();
1518
+ }
1519
+ /** The used-up-balance mark (`null` clears it); same record rules as the usage. Debounced. */
1520
+ setClaudeProfileCreditExhausted(name, exhaustedAt) {
1521
+ const record = this.touchClaudeProfileInfo(name);
1522
+ if (!record)
1523
+ return;
1524
+ if (exhaustedAt === null) {
1525
+ if (record.creditExhaustedAt === undefined)
1526
+ return;
1527
+ delete record.creditExhaustedAt;
1528
+ }
1529
+ else {
1530
+ record.creditExhaustedAt = exhaustedAt;
1531
+ }
1532
+ this.scheduleSave();
1533
+ }
1495
1534
  /** The mutable record behind `name`: created for `default`, `null` for an added name that is not registered. */
1496
1535
  touchClaudeProfileInfo(name) {
1497
1536
  const existing = this.state.claudeProfiles?.[name];
@@ -1921,6 +1960,35 @@ class StateStore {
1921
1960
  this.scheduleSave();
1922
1961
  });
1923
1962
  }
1963
+ /** @description The loss the agent of `key` has not been told about yet ({@link StateV1.lostWork}). */
1964
+ getLostWork(key) {
1965
+ return this.state.lostWork?.[(0, sessionKey_1.keyToString)(key)];
1966
+ }
1967
+ /** @description Keep `key`'s untold loss (replacing an older one: the caller merges). Debounced. */
1968
+ async setLostWork(key, record) {
1969
+ await this.withLock(key, async () => {
1970
+ (this.state.lostWork ??= {})[(0, sessionKey_1.keyToString)(key)] = record;
1971
+ this.scheduleSave();
1972
+ });
1973
+ }
1974
+ /** @description When the bot last resumed `key`'s conversation with a lost-work note ({@link StateV1.lostWorkResumedAt}). */
1975
+ getLostWorkResumedAt(key) {
1976
+ return this.state.lostWorkResumedAt?.[(0, sessionKey_1.keyToString)(key)];
1977
+ }
1978
+ /** @description Record that the bot resumed `key`'s conversation with a lost-work note at `resumedAt`. Debounced. */
1979
+ async setLostWorkResumedAt(key, resumedAt) {
1980
+ await this.withLock(key, async () => {
1981
+ (this.state.lostWorkResumedAt ??= {})[(0, sessionKey_1.keyToString)(key)] = resumedAt;
1982
+ this.scheduleSave();
1983
+ });
1984
+ }
1985
+ /** @description Drop `key`'s loss once the agent was told, or its conversation released. No-op (no save) when absent. */
1986
+ async clearLostWork(key) {
1987
+ await this.withLock(key, async () => {
1988
+ if (this.dropOptionalMapEntry('lostWork', (0, sessionKey_1.keyToString)(key)))
1989
+ this.scheduleSave();
1990
+ });
1991
+ }
1924
1992
  // ── prompts held during a usage-limit wait (R23) ──
1925
1993
  /** @description The prompts held for `key`, oldest first; `[]` when none. A copy. */
1926
1994
  getLimitHeldPrompts(key) {
@@ -2179,15 +2247,16 @@ function resolveDataDir() {
2179
2247
  * write chains → corrupted JSON). Production triggers only one call from
2180
2248
  * `startBot()`, but the cost of the guard is trivial.
2181
2249
  *
2182
- * Tests should instantiate `new StateStore(...)` directly instead.
2250
+ * Tests should instantiate `new StateStore(...)` directly instead. `options` apply to the first call only (a test
2251
+ * instance's shorter save debounce, `CHARNESS_TEST_TIMINGS`).
2183
2252
  */
2184
- async function getStateStore() {
2253
+ async function getStateStore(options = {}) {
2185
2254
  if (singleton)
2186
2255
  return singleton;
2187
2256
  if (singletonInFlight)
2188
2257
  return singletonInFlight;
2189
2258
  singletonInFlight = (async () => {
2190
- const store = new StateStore(resolveDataDir());
2259
+ const store = new StateStore(resolveDataDir(), options);
2191
2260
  await store.init();
2192
2261
  singleton = store;
2193
2262
  return store;